diff --git a/apps/sdk-test/sdk.ts b/apps/sdk-test/sdk.ts index a98df4707..b4d5a88f7 100644 --- a/apps/sdk-test/sdk.ts +++ b/apps/sdk-test/sdk.ts @@ -9,27 +9,6 @@ const res = await autumn.plans.create({ amount: 10, interval: "month", }, - items: [ - { - featureId: "messages", - included: 100, - - price: { - amount: 0.5, - interval: "month", - billingUnits: 100, - billingMethod: "usage_based", - }, - }, - { - featureId: "users", - price: { - interval: "month", - amount: 10, - billingMethod: "prepaid", - }, - }, - ], }); console.log(JSON.stringify(res, null, 2)); diff --git a/apps/sdk-test/tsconfig.json b/apps/sdk-test/tsconfig.json index fc1f1d571..03c7df6c4 100644 --- a/apps/sdk-test/tsconfig.json +++ b/apps/sdk-test/tsconfig.json @@ -36,6 +36,8 @@ "@sdk": ["../../packages/autumn-js/src/sdk/index.ts"], "@sdk/*": ["../../packages/autumn-js/src/sdk/*"], "@utils/*": ["../../packages/autumn-js/src/utils/*"], + "@useautumn/sdk": ["../../packages/sdk/src/index.ts"], + "@useautumn/sdk/*": ["../../packages/sdk/src/*"], "autumn-js": ["../../packages/autumn-js/src/sdk/index.ts"], "autumn-js/react": ["../../packages/autumn-js/src/react/index.ts"], "autumn-js/next": [ diff --git a/bun.lock b/bun.lock index d66ac2ec6..e3c9c72c5 100644 --- a/bun.lock +++ b/bun.lock @@ -101,7 +101,7 @@ }, "packages/autumn-js": { "name": "autumn-js", - "version": "1.0.0-beta.3", + "version": "1.0.0-beta.4", "dependencies": { "query-string": "^9.2.2", "rou3": "^0.6.1", diff --git a/server/src/internal/products/productUtils/detectProductVariant.ts b/server/src/internal/products/productUtils/detectProductVariant.ts index 9e7eef4bc..298a9fe5d 100644 --- a/server/src/internal/products/productUtils/detectProductVariant.ts +++ b/server/src/internal/products/productUtils/detectProductVariant.ts @@ -97,7 +97,7 @@ export const detectBaseVariant = async ({ `; const { object } = await generateObject({ - model: anthropic("claude-3-5-haiku-latest"), + model: anthropic("claude-haiku-4-5"), schema: z.object({ base_variant_id: z.string().nullable() }), prompt: `${prompt}\n\n${variables}`, }); diff --git a/server/tests/_temp/temp.test.ts b/server/tests/_temp/temp.test.ts index 325e3aec9..55531d7e8 100644 --- a/server/tests/_temp/temp.test.ts +++ b/server/tests/_temp/temp.test.ts @@ -1,63 +1,44 @@ import { test } from "bun:test"; -import { ApiVersion, FreeTrialDuration, ResetInterval } from "@autumn/shared"; -import { TestFeature } from "@tests/setup/v2Features"; +import { ApiVersion } from "@autumn/shared"; +import { items } from "@tests/utils/fixtures/items"; +import { products } from "@tests/utils/fixtures/products"; +import { advanceTestClock } from "@tests/utils/stripeUtils"; import ctx from "@tests/utils/testInitUtils/createTestContext.js"; +import { initScenario, s } from "@tests/utils/testInitUtils/initScenario"; import chalk from "chalk"; import { AutumnInt } from "@/external/autumn/autumnCli.js"; const autumnV2_1 = new AutumnInt({ version: ApiVersion.V2_1 }); const { db, org, env } = ctx; +const customerId = "temp-test"; + test.concurrent(`${chalk.yellowBright("temp: rest update then rpc inverse update returns product to baseline")}`, async () => { - const productId = `temp_rpc_roundtrip_${Date.now()}`; - const baselineGroup = `baseline_group_${productId}`; - const changedGroup = `changed_group_${productId}`; + const consumableMessagesItem = items.consumableMessages({ + includedUsage: 100, + }); + const proProduct = products.base({ + id: "pro", + items: [consumableMessagesItem, items.annualPrice({ price: 200 })], + }); - const baseline = { - name: "Temp RPC Baseline", - description: "baseline description", - group: baselineGroup, - add_on: false, - auto_enable: false, - items: [ - { - feature_id: TestFeature.Messages, - included: 100, - reset: { interval: ResetInterval.Month }, - }, + const { autumnV1, testClockId } = await initScenario({ + customerId, + setup: [ + s.customer({ testClock: true, paymentMethod: "success" }), + s.products({ list: [proProduct] }), ], - free_trial: { - duration_type: FreeTrialDuration.Day, - duration_length: 7, - card_required: false, - }, - }; + actions: [], + }); - const restUpdates = { - name: "Temp RPC Changed", - group: changedGroup, - add_on: true, - auto_enable: true, - items: [ - { - feature_id: TestFeature.Messages, - included: 250, - reset: { interval: ResetInterval.Month }, - }, - ], - free_trial: { - duration_type: FreeTrialDuration.Day, - duration_length: 14, - card_required: true, - }, - }; + await autumnV1.attach({ + customer_id: customerId, + product_id: proProduct.id, + }); - try { - await autumnV2_1.products.delete(productId); - } catch (_error) {} - - await autumnV2_1.products.create({ - id: productId, - ...baseline, + await advanceTestClock({ + stripeCli: ctx.stripeCli, + testClockId: testClockId!, + numberOfWeeks: 6, }); });