fix: variant detector llm
This commit is contained in:
@@ -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));
|
||||
|
||||
@@ -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": [
|
||||
|
||||
2
bun.lock
2
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",
|
||||
|
||||
@@ -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}`,
|
||||
});
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user