@farm.js/autumn 0.1.17 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +119 -98
- package/package.json +3 -3
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,10 @@ function getReportedUsageEvent(key) {
|
|
|
24
24
|
}
|
|
25
25
|
return entry.result;
|
|
26
26
|
}
|
|
27
|
+
// Reports still being applied, keyed like the replay cache. The replay cache
|
|
28
|
+
// is only written once a report finishes, so without this a retry that
|
|
29
|
+
// arrives while the first attempt is in flight would apply the usage again.
|
|
30
|
+
const inFlightUsageReports = new Map();
|
|
27
31
|
function setReportedUsageEvent(key, result) {
|
|
28
32
|
reportedUsageEvents.set(key, { at: Date.now(), result });
|
|
29
33
|
if (reportedUsageEvents.size > REPORTED_USAGE_EVENT_LIMIT) {
|
|
@@ -1162,28 +1166,100 @@ export function autumn(input) {
|
|
|
1162
1166
|
if (replayed) {
|
|
1163
1167
|
return Response.json(replayed);
|
|
1164
1168
|
}
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
const
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
const
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1169
|
+
// A concurrent retry with the same key waits for the report already
|
|
1170
|
+
// in flight instead of applying the usage a second time.
|
|
1171
|
+
const inFlight = inFlightUsageReports.get(idempotencyCacheKey);
|
|
1172
|
+
if (inFlight) {
|
|
1173
|
+
return (await inFlight).clone();
|
|
1174
|
+
}
|
|
1175
|
+
const report = (async () => {
|
|
1176
|
+
const active = resolveActiveProduct(resolved.customer, products);
|
|
1177
|
+
const planId = active.product?.planId ?? "free";
|
|
1178
|
+
const plan = plans[planId] ?? {};
|
|
1179
|
+
const livePlan = active.product?.autumnPlanId
|
|
1180
|
+
? await sdk.plans.get({ planId: active.product.autumnPlanId })
|
|
1181
|
+
: null;
|
|
1182
|
+
const currentUsed = getProjectedUsage({
|
|
1183
|
+
externalCustomerId: resolved.externalCustomerId,
|
|
1184
|
+
featureId,
|
|
1185
|
+
currentPeriodEnd: currentPeriodEnd(active.subscription),
|
|
1186
|
+
currentPeriodUsed: resolved.customer.balances?.[featureId]?.usage ?? 0,
|
|
1187
|
+
});
|
|
1188
|
+
const includedLimit = plan.limits?.[body.key] ?? resolved.customer.balances?.[featureId]?.granted ?? null;
|
|
1189
|
+
const softLimit = resolveSoftLimit(plans, planId, body.key, includedLimit, meter.guard);
|
|
1190
|
+
const hardLimit = resolveHardLimit(planId, includedLimit, meter.guard);
|
|
1191
|
+
const projectedCurrentPeriodUsed = projectMeterUsage({
|
|
1192
|
+
aggregation: meter.aggregation,
|
|
1193
|
+
currentUsed,
|
|
1194
|
+
quantity: body.quantity,
|
|
1195
|
+
});
|
|
1196
|
+
if (typeof hardLimit === "number" && projectedCurrentPeriodUsed > hardLimit) {
|
|
1197
|
+
return Response.json({
|
|
1198
|
+
key: body.key,
|
|
1199
|
+
quantity: body.quantity,
|
|
1200
|
+
customerId: resolved.customer.id,
|
|
1201
|
+
eventName: meter.eventName ?? featureId,
|
|
1202
|
+
eventIdentifier: body.idempotencyKey,
|
|
1203
|
+
occurredAt: body.occurredAt ?? new Date().toISOString(),
|
|
1204
|
+
currentPeriodUsed: currentUsed,
|
|
1205
|
+
projectedCurrentPeriodUsed,
|
|
1206
|
+
softLimit,
|
|
1207
|
+
hardLimit,
|
|
1208
|
+
state: "hard_limit_reached",
|
|
1209
|
+
warning: "The configured metered hard cap has been reached for the current billing period. Reported usage is blocked until the next cycle or a plan change.",
|
|
1210
|
+
});
|
|
1211
|
+
}
|
|
1212
|
+
if (isPrepaidFeatureQuantity({ livePlan, product: active.product, featureId })) {
|
|
1213
|
+
if (!active.product?.autumnPlanId) {
|
|
1214
|
+
return new Response("Autumn prepaid quantity updates require an active subscription product.", { status: 409 });
|
|
1215
|
+
}
|
|
1216
|
+
const customizedItems = mergeAutumnProductItems(livePlan, active.product);
|
|
1217
|
+
await sdk.billing.update({
|
|
1218
|
+
customerId: resolved.customer.id ?? resolved.externalCustomerId,
|
|
1219
|
+
planId: active.product.autumnPlanId,
|
|
1220
|
+
featureQuantities: [
|
|
1221
|
+
{
|
|
1222
|
+
featureId,
|
|
1223
|
+
quantity: body.quantity,
|
|
1224
|
+
},
|
|
1225
|
+
],
|
|
1226
|
+
customize: customizedItems.length > 0
|
|
1227
|
+
? {
|
|
1228
|
+
items: customizedItems,
|
|
1229
|
+
}
|
|
1230
|
+
: undefined,
|
|
1231
|
+
prorationBehavior: "prorate_immediately",
|
|
1232
|
+
redirectMode: "never",
|
|
1233
|
+
});
|
|
1234
|
+
}
|
|
1235
|
+
else {
|
|
1236
|
+
// Autumn's current SDK/runtime track path is inconsistent across the published
|
|
1237
|
+
// types/docs and the actual endpoint behavior. Update the balance usage directly so
|
|
1238
|
+
// the example remains functional and type-safe for metered demos.
|
|
1239
|
+
await sdk.balances.update({
|
|
1240
|
+
customerId: resolved.customer.id ?? resolved.externalCustomerId,
|
|
1241
|
+
featureId,
|
|
1242
|
+
usage: projectedCurrentPeriodUsed,
|
|
1243
|
+
});
|
|
1244
|
+
}
|
|
1245
|
+
const nextUsed = projectedCurrentPeriodUsed;
|
|
1246
|
+
setProjectedUsage({
|
|
1247
|
+
externalCustomerId: resolved.externalCustomerId,
|
|
1248
|
+
featureId,
|
|
1249
|
+
currentPeriodEnd: currentPeriodEnd(active.subscription),
|
|
1250
|
+
projectedUsage: nextUsed,
|
|
1251
|
+
});
|
|
1252
|
+
await billing.hooks?.onUsageReported?.({
|
|
1253
|
+
owner: resolved.owner,
|
|
1254
|
+
key: body.key,
|
|
1255
|
+
quantity: body.quantity,
|
|
1256
|
+
idempotencyKey: body.idempotencyKey,
|
|
1257
|
+
occurredAt: body.occurredAt ?? new Date().toISOString(),
|
|
1258
|
+
eventName: meter.eventName ?? featureId,
|
|
1259
|
+
customerId: resolved.customer.id,
|
|
1260
|
+
projectedCurrentPeriodUsed: nextUsed,
|
|
1261
|
+
}, resolved.tools);
|
|
1262
|
+
const result = {
|
|
1187
1263
|
key: body.key,
|
|
1188
1264
|
quantity: body.quantity,
|
|
1189
1265
|
customerId: resolved.customer.id,
|
|
@@ -1191,87 +1267,32 @@ export function autumn(input) {
|
|
|
1191
1267
|
eventIdentifier: body.idempotencyKey,
|
|
1192
1268
|
occurredAt: body.occurredAt ?? new Date().toISOString(),
|
|
1193
1269
|
currentPeriodUsed: currentUsed,
|
|
1194
|
-
projectedCurrentPeriodUsed,
|
|
1270
|
+
projectedCurrentPeriodUsed: nextUsed,
|
|
1195
1271
|
softLimit,
|
|
1196
1272
|
hardLimit,
|
|
1197
|
-
state: "
|
|
1198
|
-
|
|
1199
|
-
|
|
1273
|
+
state: typeof hardLimit === "number" && nextUsed >= hardLimit
|
|
1274
|
+
? "hard_limit_reached"
|
|
1275
|
+
: typeof softLimit === "number" && nextUsed >= softLimit
|
|
1276
|
+
? "soft_limit_reached"
|
|
1277
|
+
: "ok",
|
|
1278
|
+
warning: typeof hardLimit === "number" && nextUsed >= hardLimit
|
|
1279
|
+
? "The configured metered hard cap has been reached for the current billing period."
|
|
1280
|
+
: typeof softLimit === "number" && nextUsed >= softLimit
|
|
1281
|
+
? "Included usage has been exhausted. Additional usage is billable."
|
|
1282
|
+
: null,
|
|
1283
|
+
};
|
|
1284
|
+
setReportedUsageEvent(idempotencyCacheKey, result);
|
|
1285
|
+
return Response.json(result);
|
|
1286
|
+
})();
|
|
1287
|
+
inFlightUsageReports.set(idempotencyCacheKey, report);
|
|
1288
|
+
try {
|
|
1289
|
+
return (await report).clone();
|
|
1200
1290
|
}
|
|
1201
|
-
|
|
1202
|
-
if (
|
|
1203
|
-
|
|
1291
|
+
finally {
|
|
1292
|
+
if (inFlightUsageReports.get(idempotencyCacheKey) === report) {
|
|
1293
|
+
inFlightUsageReports.delete(idempotencyCacheKey);
|
|
1204
1294
|
}
|
|
1205
|
-
const customizedItems = mergeAutumnProductItems(livePlan, active.product);
|
|
1206
|
-
await sdk.billing.update({
|
|
1207
|
-
customerId: resolved.customer.id ?? resolved.externalCustomerId,
|
|
1208
|
-
planId: active.product.autumnPlanId,
|
|
1209
|
-
featureQuantities: [
|
|
1210
|
-
{
|
|
1211
|
-
featureId,
|
|
1212
|
-
quantity: body.quantity,
|
|
1213
|
-
},
|
|
1214
|
-
],
|
|
1215
|
-
customize: customizedItems.length > 0
|
|
1216
|
-
? {
|
|
1217
|
-
items: customizedItems,
|
|
1218
|
-
}
|
|
1219
|
-
: undefined,
|
|
1220
|
-
prorationBehavior: "prorate_immediately",
|
|
1221
|
-
redirectMode: "never",
|
|
1222
|
-
});
|
|
1223
|
-
}
|
|
1224
|
-
else {
|
|
1225
|
-
// Autumn's current SDK/runtime track path is inconsistent across the published
|
|
1226
|
-
// types/docs and the actual endpoint behavior. Update the balance usage directly so
|
|
1227
|
-
// the example remains functional and type-safe for metered demos.
|
|
1228
|
-
await sdk.balances.update({
|
|
1229
|
-
customerId: resolved.customer.id ?? resolved.externalCustomerId,
|
|
1230
|
-
featureId,
|
|
1231
|
-
usage: projectedCurrentPeriodUsed,
|
|
1232
|
-
});
|
|
1233
1295
|
}
|
|
1234
|
-
const nextUsed = projectedCurrentPeriodUsed;
|
|
1235
|
-
setProjectedUsage({
|
|
1236
|
-
externalCustomerId: resolved.externalCustomerId,
|
|
1237
|
-
featureId,
|
|
1238
|
-
currentPeriodEnd: currentPeriodEnd(active.subscription),
|
|
1239
|
-
projectedUsage: nextUsed,
|
|
1240
|
-
});
|
|
1241
|
-
await billing.hooks?.onUsageReported?.({
|
|
1242
|
-
owner: resolved.owner,
|
|
1243
|
-
key: body.key,
|
|
1244
|
-
quantity: body.quantity,
|
|
1245
|
-
idempotencyKey: body.idempotencyKey,
|
|
1246
|
-
occurredAt: body.occurredAt ?? new Date().toISOString(),
|
|
1247
|
-
eventName: meter.eventName ?? featureId,
|
|
1248
|
-
customerId: resolved.customer.id,
|
|
1249
|
-
projectedCurrentPeriodUsed: nextUsed,
|
|
1250
|
-
}, resolved.tools);
|
|
1251
|
-
const result = {
|
|
1252
|
-
key: body.key,
|
|
1253
|
-
quantity: body.quantity,
|
|
1254
|
-
customerId: resolved.customer.id,
|
|
1255
|
-
eventName: meter.eventName ?? featureId,
|
|
1256
|
-
eventIdentifier: body.idempotencyKey,
|
|
1257
|
-
occurredAt: body.occurredAt ?? new Date().toISOString(),
|
|
1258
|
-
currentPeriodUsed: currentUsed,
|
|
1259
|
-
projectedCurrentPeriodUsed: nextUsed,
|
|
1260
|
-
softLimit,
|
|
1261
|
-
hardLimit,
|
|
1262
|
-
state: typeof hardLimit === "number" && nextUsed >= hardLimit
|
|
1263
|
-
? "hard_limit_reached"
|
|
1264
|
-
: typeof softLimit === "number" && nextUsed >= softLimit
|
|
1265
|
-
? "soft_limit_reached"
|
|
1266
|
-
: "ok",
|
|
1267
|
-
warning: typeof hardLimit === "number" && nextUsed >= hardLimit
|
|
1268
|
-
? "The configured metered hard cap has been reached for the current billing period."
|
|
1269
|
-
: typeof softLimit === "number" && nextUsed >= softLimit
|
|
1270
|
-
? "Included usage has been exhausted. Additional usage is billable."
|
|
1271
|
-
: null,
|
|
1272
|
-
};
|
|
1273
|
-
setReportedUsageEvent(idempotencyCacheKey, result);
|
|
1274
|
-
return Response.json(result);
|
|
1275
1296
|
},
|
|
1276
1297
|
}),
|
|
1277
1298
|
integrationRoute.post(checkPath, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farm.js/autumn",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "Autumn billing integration for Farm.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"autumn-js": "^1.2.7",
|
|
33
33
|
"standardwebhooks": "^1.0.0",
|
|
34
|
-
"@farm.js/integration-utils": "0.1.
|
|
35
|
-
"@farm.js/core": "0.1.
|
|
34
|
+
"@farm.js/integration-utils": "0.1.19",
|
|
35
|
+
"@farm.js/core": "0.1.19"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc",
|