@adonis-agora/payments 0.17.0 → 0.18.0

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.
Files changed (44) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/assets/spa/assets/index-CmP4DYhG.js +10 -0
  3. package/dist/assets/spa/assets/index-CmP4DYhG.js.map +1 -0
  4. package/dist/assets/spa/index.html +1 -1
  5. package/dist/src/billing/billing_store.d.ts +26 -2
  6. package/dist/src/billing/billing_store.d.ts.map +1 -1
  7. package/dist/src/billing/billing_store.js.map +1 -1
  8. package/dist/src/billing/lucid_billing_store.d.ts +3 -1
  9. package/dist/src/billing/lucid_billing_store.d.ts.map +1 -1
  10. package/dist/src/billing/lucid_billing_store.js +9 -1
  11. package/dist/src/billing/lucid_billing_store.js.map +1 -1
  12. package/dist/src/billing/managed_subscriptions.d.ts +12 -0
  13. package/dist/src/billing/managed_subscriptions.d.ts.map +1 -1
  14. package/dist/src/billing/managed_subscriptions.js +13 -3
  15. package/dist/src/billing/managed_subscriptions.js.map +1 -1
  16. package/dist/src/billing/mixins/with_subscription.d.ts +5 -1
  17. package/dist/src/billing/mixins/with_subscription.d.ts.map +1 -1
  18. package/dist/src/billing/mixins/with_subscription.js.map +1 -1
  19. package/dist/src/billing/mixins/with_usage_event.d.ts +8 -0
  20. package/dist/src/billing/mixins/with_usage_event.d.ts.map +1 -1
  21. package/dist/src/billing/mixins/with_usage_event.js +6 -0
  22. package/dist/src/billing/mixins/with_usage_event.js.map +1 -1
  23. package/dist/src/billing/schema.d.ts.map +1 -1
  24. package/dist/src/billing/schema.js +15 -0
  25. package/dist/src/billing/schema.js.map +1 -1
  26. package/dist/src/billing/usage.d.ts +121 -0
  27. package/dist/src/billing/usage.d.ts.map +1 -0
  28. package/dist/src/billing/usage.js +123 -0
  29. package/dist/src/billing/usage.js.map +1 -0
  30. package/dist/src/index.d.ts +4 -2
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/src/index.js +2 -1
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/payments_manager.d.ts +19 -0
  35. package/dist/src/payments_manager.d.ts.map +1 -1
  36. package/dist/src/payments_manager.js +28 -0
  37. package/dist/src/payments_manager.js.map +1 -1
  38. package/dist/src/testing/in_memory_billing_store.d.ts +5 -1
  39. package/dist/src/testing/in_memory_billing_store.d.ts.map +1 -1
  40. package/dist/src/testing/in_memory_billing_store.js +6 -0
  41. package/dist/src/testing/in_memory_billing_store.js.map +1 -1
  42. package/package.json +5 -5
  43. package/dist/assets/spa/assets/index-C1ih3Kth.js +0 -10
  44. package/dist/assets/spa/assets/index-C1ih3Kth.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/billing/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG,SAAS,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC7D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YACzB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,CACd,CAAC;AAEX,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAQnE;AAsFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4R1E;AAaD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5E"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/billing/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG,SAAS,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC7D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YACzB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,CACd,CAAC;AAEX,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAQnE;AAsFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkT1E;AAaD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5E"}
@@ -226,6 +226,8 @@ export async function createBillingTables(db) {
226
226
  id VARCHAR(36) PRIMARY KEY,
227
227
  subscription_id VARCHAR(255),
228
228
  customer_id VARCHAR(255),
229
+ scope_type VARCHAR(255),
230
+ scope_id VARCHAR(255),
229
231
  meter VARCHAR(255),
230
232
  quantity INTEGER DEFAULT 1,
231
233
  metadata ${t.json},
@@ -286,6 +288,16 @@ export async function createBillingTables(db) {
286
288
  await addColumn(db, dialect, 'billing_subscriptions', 'last_renewal_error', 'VARCHAR(500)');
287
289
  await addColumn(db, dialect, 'billing_subscriptions', 'last_renewal_attempt_at', t.timestamp);
288
290
  await addColumn(db, dialect, 'billing_subscriptions', 'renewal_failure_count', 'INTEGER');
291
+ // 0.18.0 — usage metered against something that is neither the subscription nor the
292
+ // customer: a project shared by several members, a workspace, an environment, a site. Before
293
+ // this the only place to put it was `metadata`, and aggregating meant `metadata->>'projectId'`
294
+ // — unindexed, and spelled differently on every dialect this package supports.
295
+ //
296
+ // A generic `(type, id)` pair rather than a `project_id`: the library has no business knowing
297
+ // the app's domain, and a pair lets several kinds of scope coexist under one subscription.
298
+ // Nullable: an app that meters per subscription or per customer never sets them.
299
+ await addColumn(db, dialect, 'billing_usage_events', 'scope_type', 'VARCHAR(255)');
300
+ await addColumn(db, dialect, 'billing_usage_events', 'scope_id', 'VARCHAR(255)');
289
301
  // ── Indexes ───────────────────────────────────────────────────────────────────────────
290
302
  //
291
303
  // Last, and that is load-bearing twice over. Every table above has to exist, and so does
@@ -306,6 +318,9 @@ export async function createBillingTables(db) {
306
318
  await createIndex(db, dialect, 'billing_audit_events_subject_idx', 'billing_audit_events', 'subject_type, subject_id');
307
319
  await createIndex(db, dialect, 'billing_usage_subscription_meter_idx', 'billing_usage_events', 'subscription_id, meter');
308
320
  await createIndex(db, dialect, 'billing_usage_customer_meter_idx', 'billing_usage_events', 'customer_id, meter');
321
+ // The scoped read — "how much of this meter has THIS project used" — names exactly these
322
+ // three columns. Needs the 0.18.0 ALTERs above on an older install.
323
+ await createIndex(db, dialect, 'billing_usage_scope_meter_idx', 'billing_usage_events', 'scope_type, scope_id, meter');
309
324
  // The renewal runner's working set: every tick asks "which managed subscriptions are due".
310
325
  // Unindexed, that is a full scan of every subscription ever created, on a schedule.
311
326
  await createIndex(db, dialect, 'billing_subscriptions_due_idx', 'billing_subscriptions', 'managed, status, next_charge_at');
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/billing/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/billing/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAgCH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,wBAAwB;IACxB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;CACd,CAAC;AAEX,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,EAAiB;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;QACnE,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAA2B;IAC7C,OAAO,CAAC,CAAC,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,OAAO,CAAC,OAA2B;IAC1C,OAAO,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAUD,SAAS,QAAQ,CAAC,OAA2B;IAC3C,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC5E,IAAI,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrE,yFAAyF;IACzF,0FAA0F;IAC1F,mBAAmB;IACnB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,WAAW,CACxB,EAAiB,EACjB,OAA2B,EAC3B,IAAY,EACZ,KAAa,EACb,OAAe;IAEf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,IAAI,OAAO,KAAK,KAAK,OAAO,GAAG,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,IAAI,OAAO,KAAK,KAAK,OAAO,GAAG,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,MAAM,KAAK,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,SAAS,CACtB,EAAiB,EACjB,OAA2B,EAC3B,KAAa,EACb,MAAc,EACd,IAAY;IAEZ,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,KAAK,6BAA6B,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,KAAK,eAAe,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,MAAM,KAAK,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAiB;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE9C,MAAM,GAAG,CACP;;;;;;;;;iBASa,CAAC,CAAC,IAAI;mBACJ,CAAC,CAAC,SAAS;mBACX,CAAC,CAAC,SAAS;MACxB,CACH,CAAC;IAEF,MAAM,GAAG,CACP;;;;;;;sBAOkB,CAAC,CAAC,SAAS;gBACjB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI;mBACH,CAAC,CAAC,SAAS;mBACX,CAAC,CAAC,SAAS;MACxB,CACH,CAAC;IAEF,MAAM,GAAG,CACP;;;;;;;;;;;gBAWY,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS;mBACR,CAAC,CAAC,SAAS;mBACX,CAAC,CAAC,SAAS;MACxB,CACH,CAAC;IAEF,0FAA0F;IAC1F,sFAAsF;IAEtF,MAAM,GAAG,CACP;;;;;;gBAMY,CAAC,CAAC,IAAI;mBACH,CAAC,CAAC,IAAI;;mBAEN,CAAC,CAAC,SAAS;mBACX,CAAC,CAAC,SAAS;MACxB,CACH,CAAC;IAEF,MAAM,GAAG,CACP;;;;;;;;;wBASoB,CAAC,CAAC,SAAS;;kBAEjB,CAAC,CAAC,SAAS;kBACX,CAAC,CAAC,SAAS;gBACb,CAAC,CAAC,IAAI;mBACH,CAAC,CAAC,SAAS;mBACX,CAAC,CAAC,SAAS;MACxB,CACH,CAAC;IACF,0FAA0F;IAC1F,oCAAoC;IAEpC,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,4CAA4C;IAC5C,MAAM,GAAG,CACP;;;;;;;;;;iBAUa,CAAC,CAAC,IAAI;mBACJ,CAAC,CAAC,SAAS;mBACX,CAAC,CAAC,SAAS;MACxB,CACH,CAAC;IAEF,MAAM,GAAG,CACP;;;;;;;;iBAQa,CAAC,CAAC,IAAI;oBACH,CAAC,CAAC,SAAS;mBACZ,CAAC,CAAC,SAAS;MACxB,CACH,CAAC;IAEF,0FAA0F;IAC1F,EAAE;IACF,yFAAyF;IACzF,uFAAuF;IACvF,wFAAwF;IACxF,yFAAyF;IACzF,uCAAuC;IACvC,EAAE;IACF,4FAA4F;IAC5F,4FAA4F;IAC5F,uFAAuF;IACvF,eAAe;IACf,EAAE;IACF,wFAAwF;IACxF,iFAAiF;IAEjF,4FAA4F;IAC5F,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IACvF,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE7E,sFAAsF;IACtF,qFAAqF;IACrF,4FAA4F;IAC5F,mFAAmF;IACnF,uFAAuF;IACvF,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAE9E,sFAAsF;IACtF,0FAA0F;IAC1F,4FAA4F;IAC5F,mFAAmF;IACnF,sDAAsD;IACtD,EAAE;IACF,2FAA2F;IAC3F,aAAa;IACb,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAChF,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC9E,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC/E,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACrF,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC5F,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACzF,+EAA+E;IAC/E,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC;IAEzF,yDAAyD;IACzD,EAAE;IACF,0FAA0F;IAC1F,wFAAwF;IACxF,sFAAsF;IACtF,sFAAsF;IACtF,uDAAuD;IACvD,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC5F,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9F,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAE1F,oFAAoF;IACpF,6FAA6F;IAC7F,+FAA+F;IAC/F,+EAA+E;IAC/E,EAAE;IACF,8FAA8F;IAC9F,2FAA2F;IAC3F,iFAAiF;IACjF,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACnF,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAEjF,yFAAyF;IACzF,EAAE;IACF,yFAAyF;IACzF,0FAA0F;IAC1F,0FAA0F;IAC1F,uFAAuF;IACvF,iDAAiD;IACjD,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,6BAA6B,EAC7B,mBAAmB,EACnB,sBAAsB,CACvB,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,oCAAoC,EACpC,uBAAuB,EACvB,aAAa,CACd,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,+BAA+B,EAC/B,kBAAkB,EAClB,aAAa,CACd,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,mCAAmC,EACnC,kBAAkB,EAClB,iBAAiB,CAClB,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,yCAAyC,EACzC,kBAAkB,EAClB,oBAAoB,CACrB,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,8BAA8B,EAC9B,kBAAkB,EAClB,oBAAoB,CACrB,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,+BAA+B,EAC/B,kBAAkB,EAClB,yBAAyB,CAC1B,CAAC;IACF,uFAAuF;IACvF,gFAAgF;IAChF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,iCAAiC,EACjC,sBAAsB,EACtB,oBAAoB,CACrB,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,kCAAkC,EAClC,sBAAsB,EACtB,0BAA0B,CAC3B,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,sCAAsC,EACtC,sBAAsB,EACtB,wBAAwB,CACzB,CAAC;IACF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,kCAAkC,EAClC,sBAAsB,EACtB,oBAAoB,CACrB,CAAC;IACF,yFAAyF;IACzF,oEAAoE;IACpE,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,+BAA+B,EAC/B,sBAAsB,EACtB,6BAA6B,CAC9B,CAAC;IACF,2FAA2F;IAC3F,oFAAoF;IACpF,MAAM,WAAW,CACf,EAAE,EACF,OAAO,EACP,+BAA+B,EAC/B,uBAAuB,EACvB,iCAAiC,CAClC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAiB;IAC1D,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,GAAG,EAAE;QACV,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAiB;IACvD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,iBAAiB;QAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAAiB;IAC3D,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,uFAAuF;QACvF,uFAAuF;QACvF,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CACL,+EAA+E,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7F,wDAAwD;QACvD,KAA2B,EAAE,IAAI,KAAK,OAAO;QAC7C,KAA4B,EAAE,KAAK,KAAK,IAAI,CAC9C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,121 @@
1
+ import type { BillingStore, UsageScope } from './billing_store.js';
2
+ /**
3
+ * The slice of a store the usage helpers read. Row types are `unknown` so the Lucid store and
4
+ * `InMemoryBillingStore` both satisfy it — the subscription row is read structurally below.
5
+ */
6
+ export type UsageStore = Pick<BillingStore<unknown, unknown, unknown, unknown, unknown, unknown>, 'recordUsage' | 'usageReport' | 'findSubscriptionById' | 'findSubscriptionByGatewayId'>;
7
+ /**
8
+ * The window usage is summed over.
9
+ *
10
+ * - `{ from, to }` — explicit. Either end may be omitted; both omitted means all time.
11
+ * - `{ subscription, at }` — the billing cycle of that subscription that contains `at`
12
+ * (default: now). `subscription` is the local row id, or the gateway id as a fallback. It is
13
+ * ONLY the source of the window, not a filter: a project's usage is summed over the owner's
14
+ * cycle without having to carry the owner's subscription id.
15
+ */
16
+ export type UsagePeriod = {
17
+ from?: Date;
18
+ to?: Date;
19
+ } | {
20
+ subscription: string;
21
+ at?: Date;
22
+ };
23
+ /** What to sum. Every filter is exact and they combine — see {@link BillingStore.usageReport}. */
24
+ export interface UsageQuery {
25
+ meter: string;
26
+ scope?: UsageScope;
27
+ subscriptionId?: string;
28
+ customerId?: string;
29
+ /** Omit for all time. */
30
+ period?: UsagePeriod;
31
+ }
32
+ /** A meter's consumption against a limit, over a resolved window. */
33
+ export interface UsageAllowance {
34
+ meter: string;
35
+ used: number;
36
+ limit: number;
37
+ /** `limit - used`, never below zero. */
38
+ remaining: number;
39
+ /** Whether `used` went PAST the limit. Reaching it exactly is not exceeding it. */
40
+ exceeded: boolean;
41
+ /** The window that was summed — `null` on an open end. */
42
+ from: Date | null;
43
+ to: Date | null;
44
+ }
45
+ /** The subset of a subscription row the window is derived from, whatever the store. */
46
+ interface PeriodSourceRow {
47
+ cycle?: string | null;
48
+ currentPeriodStart?: Date | {
49
+ toJSDate(): Date;
50
+ } | null;
51
+ currentPeriodEnd?: Date | {
52
+ toJSDate(): Date;
53
+ } | null;
54
+ createdAt?: Date | {
55
+ toJSDate(): Date;
56
+ } | null;
57
+ }
58
+ /**
59
+ * The billing cycle of a subscription row that contains `at`.
60
+ *
61
+ * In order of preference:
62
+ *
63
+ * 1. The stored `currentPeriodStart`/`currentPeriodEnd`, when `at` falls inside them — what a
64
+ * managed subscription's renewal pass keeps current.
65
+ * 2. Stepped by `cycle` from `currentPeriodStart`, or from `createdAt` when there is no stored
66
+ * period. This is what makes a FREE plan work: nothing renews a row no gateway backs, so its
67
+ * stored period goes stale after the first cycle, while its anchor and cycle stay true. For a
68
+ * gateway-owned row it is an approximation — the gateway may anchor the cycle differently —
69
+ * and an app that needs the gateway's exact window should pass `{ from, to }`.
70
+ * 3. The stored period as-is, when there is no cycle to step by.
71
+ *
72
+ * Throws when the row carries none of it: guessing a window would let a quota silently reset
73
+ * on the wrong day.
74
+ */
75
+ export declare function usagePeriodFor(row: PeriodSourceRow, at?: Date): {
76
+ from: Date;
77
+ to: Date;
78
+ };
79
+ /**
80
+ * How much of one meter was consumed, optionally per scope and over a billing cycle.
81
+ *
82
+ * ```ts
83
+ * const used = await usageTotal(store, {
84
+ * meter: 'ai_chat',
85
+ * scope: { type: 'project', id: project.id },
86
+ * period: { subscription: ownerSubscription.id },
87
+ * })
88
+ * ```
89
+ *
90
+ * In an application, `payments.usage().total(...)` is the same call with the store resolved.
91
+ */
92
+ export declare function usageTotal(store: UsageStore, query: UsageQuery): Promise<number>;
93
+ /**
94
+ * How much of one meter is left under `limit`, over the same window {@link usageTotal} sums.
95
+ *
96
+ * The limit is the app's: plans and their quotas are product logic and live in the app's own
97
+ * catalog, not in this library.
98
+ */
99
+ export declare function usageRemaining(store: UsageStore, query: UsageQuery & {
100
+ limit: number;
101
+ }): Promise<UsageAllowance>;
102
+ /**
103
+ * The usage helpers with the store already resolved — what `payments.usage()` returns.
104
+ */
105
+ export interface UsageApi {
106
+ /** Record one event. Same input as {@link BillingStore.recordUsage}. */
107
+ record(event: Parameters<UsageStore['recordUsage']>[0]): Promise<void>;
108
+ total(query: UsageQuery): Promise<number>;
109
+ remaining(query: UsageQuery & {
110
+ limit: number;
111
+ }): Promise<UsageAllowance>;
112
+ /** The billing cycle {@link UsagePeriod} `{ subscription, at }` resolves to. */
113
+ period(subscription: string, at?: Date): Promise<{
114
+ from: Date;
115
+ to: Date;
116
+ }>;
117
+ }
118
+ /** Bind the usage helpers to a (lazily resolved) store. */
119
+ export declare function createUsageApi(store: () => UsageStore): UsageApi;
120
+ export {};
121
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/billing/usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { advancePeriodBy, toDate } from './managed_subscriptions.js';
2
+ /**
3
+ * The billing cycle of a subscription row that contains `at`.
4
+ *
5
+ * In order of preference:
6
+ *
7
+ * 1. The stored `currentPeriodStart`/`currentPeriodEnd`, when `at` falls inside them — what a
8
+ * managed subscription's renewal pass keeps current.
9
+ * 2. Stepped by `cycle` from `currentPeriodStart`, or from `createdAt` when there is no stored
10
+ * period. This is what makes a FREE plan work: nothing renews a row no gateway backs, so its
11
+ * stored period goes stale after the first cycle, while its anchor and cycle stay true. For a
12
+ * gateway-owned row it is an approximation — the gateway may anchor the cycle differently —
13
+ * and an app that needs the gateway's exact window should pass `{ from, to }`.
14
+ * 3. The stored period as-is, when there is no cycle to step by.
15
+ *
16
+ * Throws when the row carries none of it: guessing a window would let a quota silently reset
17
+ * on the wrong day.
18
+ */
19
+ export function usagePeriodFor(row, at = new Date()) {
20
+ const start = toDate(row.currentPeriodStart);
21
+ const end = toDate(row.currentPeriodEnd);
22
+ if (start !== null && end !== null && start <= at && at < end)
23
+ return { from: start, to: end };
24
+ const anchor = start ?? toDate(row.createdAt);
25
+ const cycle = row.cycle ?? null;
26
+ if (anchor !== null && cycle !== null) {
27
+ // Anchored arithmetic (see `advancePeriodBy`), so a cycle starting on the 31st does not
28
+ // drift. A rough estimate first, then corrected by a step or two either way — never a walk
29
+ // from the anchor, which would be thousands of iterations for a weekly plan years old.
30
+ if (at < anchor)
31
+ return { from: anchor, to: advancePeriodBy(anchor, cycle, 1) };
32
+ const roughLength = advancePeriodBy(anchor, cycle, 1).getTime() - anchor.getTime();
33
+ let n = Math.max(0, Math.floor((at.getTime() - anchor.getTime()) / roughLength));
34
+ while (n > 0 && advancePeriodBy(anchor, cycle, n) > at)
35
+ n--;
36
+ while (advancePeriodBy(anchor, cycle, n + 1) <= at)
37
+ n++;
38
+ return { from: advancePeriodBy(anchor, cycle, n), to: advancePeriodBy(anchor, cycle, n + 1) };
39
+ }
40
+ if (start !== null && end !== null)
41
+ return { from: start, to: end };
42
+ throw new Error('[payments] Cannot derive a usage period from this subscription: it has no `cycle` and no ' +
43
+ 'stored current period. Pass `period: { from, to }` instead.');
44
+ }
45
+ async function resolvePeriod(store, period) {
46
+ if (period === undefined)
47
+ return { from: null, to: null };
48
+ if (!('subscription' in period))
49
+ return { from: period.from ?? null, to: period.to ?? null };
50
+ const row = (await store.findSubscriptionById(period.subscription)) ??
51
+ (await store.findSubscriptionByGatewayId(period.subscription));
52
+ if (row === null || row === undefined) {
53
+ throw new Error(`[payments] No subscription ${period.subscription} to derive a usage period from.`);
54
+ }
55
+ return usagePeriodFor(row, period.at ?? new Date());
56
+ }
57
+ /**
58
+ * How much of one meter was consumed, optionally per scope and over a billing cycle.
59
+ *
60
+ * ```ts
61
+ * const used = await usageTotal(store, {
62
+ * meter: 'ai_chat',
63
+ * scope: { type: 'project', id: project.id },
64
+ * period: { subscription: ownerSubscription.id },
65
+ * })
66
+ * ```
67
+ *
68
+ * In an application, `payments.usage().total(...)` is the same call with the store resolved.
69
+ */
70
+ export async function usageTotal(store, query) {
71
+ const window = await resolvePeriod(store, query.period);
72
+ return sumMeter(store, query, window);
73
+ }
74
+ /**
75
+ * How much of one meter is left under `limit`, over the same window {@link usageTotal} sums.
76
+ *
77
+ * The limit is the app's: plans and their quotas are product logic and live in the app's own
78
+ * catalog, not in this library.
79
+ */
80
+ export async function usageRemaining(store, query) {
81
+ const window = await resolvePeriod(store, query.period);
82
+ const used = await sumMeter(store, query, window);
83
+ return {
84
+ meter: query.meter,
85
+ used,
86
+ limit: query.limit,
87
+ remaining: Math.max(0, query.limit - used),
88
+ exceeded: used > query.limit,
89
+ from: window.from,
90
+ to: window.to,
91
+ };
92
+ }
93
+ async function sumMeter(store, query, window) {
94
+ const lines = await store.usageReport({
95
+ meter: query.meter,
96
+ ...(query.scope !== undefined ? { scope: query.scope } : {}),
97
+ ...(query.subscriptionId !== undefined ? { subscriptionId: query.subscriptionId } : {}),
98
+ ...(query.customerId !== undefined ? { customerId: query.customerId } : {}),
99
+ ...(window.from !== null ? { from: window.from } : {}),
100
+ ...(window.to !== null ? { to: window.to } : {}),
101
+ });
102
+ return lines.reduce((sum, line) => sum + line.quantity, 0);
103
+ }
104
+ /** Bind the usage helpers to a (lazily resolved) store. */
105
+ export function createUsageApi(store) {
106
+ return {
107
+ async record(event) {
108
+ await store().recordUsage(event);
109
+ },
110
+ // `async`, so a missing store surfaces as a rejection like every other failure here
111
+ // rather than a synchronous throw from a method that returns a promise.
112
+ total: async (query) => usageTotal(store(), query),
113
+ remaining: async (query) => usageRemaining(store(), query),
114
+ async period(subscription, at) {
115
+ const window = await resolvePeriod(store(), {
116
+ subscription,
117
+ ...(at !== undefined ? { at } : {}),
118
+ });
119
+ return window;
120
+ },
121
+ };
122
+ }
123
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/billing/usage.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,14 @@ export type { BillingHealth, BillingHealthCheck, BillingHealthOptions, } from '.
5
5
  export { billingHealth } from './billing/billing_health.js';
6
6
  export type { BillingOverview, BillingOverviewMetric } from './billing/billing_overview.js';
7
7
  export { billingOverview } from './billing/billing_overview.js';
8
- export type { AuditEventCountQuery, AuditEventListItem, AuditEventQuery, BillingCountQuery, BillingListQuery, BillingStore, CustomerListItem, CustomerListQuery, DisputeDeadlineQuery, DisputeListItem, OpenDisputeQuery, PaymentListItem, PaymentListQuery, SubscriptionListItem, SubscriptionListQuery, WebhookEventBreakdownLine, WebhookEventListItem, WebhookEventListQuery, } from './billing/billing_store.js';
8
+ export type { AuditEventCountQuery, AuditEventListItem, AuditEventQuery, BillingCountQuery, BillingListQuery, BillingStore, CustomerListItem, CustomerListQuery, DisputeDeadlineQuery, DisputeListItem, OpenDisputeQuery, PaymentListItem, PaymentListQuery, SubscriptionListItem, SubscriptionListQuery, UsageScope, WebhookEventBreakdownLine, WebhookEventListItem, WebhookEventListQuery, } from './billing/billing_store.js';
9
9
  export { AUDIT_ACTIONS, OPEN_DISPUTE_STATUSES } from './billing/billing_store.js';
10
10
  export { withBillable, withPayment, withSubscription, } from './billing/index.js';
11
11
  export { BILLING_LIST_DEFAULT_SIZE, BILLING_LIST_MAX_SIZE, } from './billing/list_query.js';
12
12
  export type { BillingModels } from './billing/lucid_billing_store.js';
13
13
  export { LucidBillingStore, lucidBillingStore } from './billing/lucid_billing_store.js';
14
14
  export type { ManagedCycle, RenewalOutcome } from './billing/managed_subscriptions.js';
15
- export { advancePeriod, cancelManagedSubscription, createManagedSubscription, cycleIdempotencyKey, renewDueManagedSubscriptions, resumeManagedSubscription, updateManagedSubscription, } from './billing/managed_subscriptions.js';
15
+ export { advancePeriod, advancePeriodBy, cancelManagedSubscription, createManagedSubscription, cycleIdempotencyKey, renewDueManagedSubscriptions, resumeManagedSubscription, updateManagedSubscription, } from './billing/managed_subscriptions.js';
16
16
  export type { MeteredBill, MeteredBillLine, MeterRate } from './billing/metered_bill.js';
17
17
  export { meteredBill, meteredBillForSubscription } from './billing/metered_bill.js';
18
18
  export { BillingAuditEvent } from './billing/mixins/with_audit_event.js';
@@ -22,6 +22,8 @@ export { BillingUsageEvent } from './billing/mixins/with_usage_event.js';
22
22
  export { resolveBillingStore } from './billing/resolve_store.js';
23
23
  export type { LucidDatabase, LucidQueryBindings, LucidQueryClient, } from './billing/schema.js';
24
24
  export { BILLING_TABLES, createBillingTables, dropBillingTables, truncateBillingTables, } from './billing/schema.js';
25
+ export type { UsageAllowance, UsageApi, UsagePeriod, UsageQuery, UsageStore, } from './billing/usage.js';
26
+ export { createUsageApi, usagePeriodFor, usageRemaining, usageTotal, } from './billing/usage.js';
25
27
  /**
26
28
  * The shapes a driver normalizes `event.data` onto. Exported because an app's own webhook
27
29
  * handler receives a `WebhookEvent` and needs to read `externalReference` off its payload —
@@ -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":"AAAA,OAAO,yBAAyB,CAAC;AAEjC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EACL,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACxF,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EACL,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B;;;;;GAKG;AACH,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC;;;;;;GAMG;AACH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpF,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,gCAAgC,EAChC,yBAAyB,EACzB,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,aAAa,EACb,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvF,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACxE,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EACV,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,OAAO,EACP,cAAc,EACd,YAAY,EACZ,KAAK,EACL,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
package/dist/src/index.js CHANGED
@@ -6,7 +6,7 @@ export { AUDIT_ACTIONS, OPEN_DISPUTE_STATUSES } from './billing/billing_store.js
6
6
  export { withBillable, withPayment, withSubscription, } from './billing/index.js';
7
7
  export { BILLING_LIST_DEFAULT_SIZE, BILLING_LIST_MAX_SIZE, } from './billing/list_query.js';
8
8
  export { LucidBillingStore, lucidBillingStore } from './billing/lucid_billing_store.js';
9
- export { advancePeriod, cancelManagedSubscription, createManagedSubscription, cycleIdempotencyKey, renewDueManagedSubscriptions, resumeManagedSubscription, updateManagedSubscription, } from './billing/managed_subscriptions.js';
9
+ export { advancePeriod, advancePeriodBy, cancelManagedSubscription, createManagedSubscription, cycleIdempotencyKey, renewDueManagedSubscriptions, resumeManagedSubscription, updateManagedSubscription, } from './billing/managed_subscriptions.js';
10
10
  export { meteredBill, meteredBillForSubscription } from './billing/metered_bill.js';
11
11
  export { BillingAuditEvent } from './billing/mixins/with_audit_event.js';
12
12
  export { BillingCustomer } from './billing/mixins/with_customer.js';
@@ -14,6 +14,7 @@ export { BillingDispute } from './billing/mixins/with_dispute.js';
14
14
  export { BillingUsageEvent } from './billing/mixins/with_usage_event.js';
15
15
  export { resolveBillingStore } from './billing/resolve_store.js';
16
16
  export { BILLING_TABLES, createBillingTables, dropBillingTables, truncateBillingTables, } from './billing/schema.js';
17
+ export { createUsageApi, usagePeriodFor, usageRemaining, usageTotal, } from './billing/usage.js';
17
18
  /**
18
19
  * The canonical event types, as a value and as a type.
19
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type Arrears, type ArrearsQuery } from './billing/arrears.js';
2
2
  import type { BillingStore } from './billing/billing_store.js';
3
+ import { type UsageApi } from './billing/usage.js';
3
4
  import type { PaymentsConfig } from './define_config.js';
4
5
  import type { PaymentsDriver } from './driver.js';
5
6
  import type { InvoiceManager } from './invoice/invoice_manager.js';
@@ -47,6 +48,24 @@ export declare class PaymentsManager {
47
48
  * from the START of the current failure run and not from the newest retry.
48
49
  */
49
50
  arrears(query: Omit<ArrearsQuery, 'store'>): Promise<Arrears>;
51
+ /**
52
+ * Record metered usage and read it back against a quota, per subscription, per customer or
53
+ * per application resource (`scope`), over a subscription's billing cycle:
54
+ *
55
+ * ```ts
56
+ * const usage = getPayments().usage()
57
+ * await usage.record({ meter: 'ai_chat', quantity: 1, scope: { type: 'project', id } })
58
+ * const { remaining } = await usage.remaining({
59
+ * meter: 'ai_chat',
60
+ * scope: { type: 'project', id },
61
+ * limit: plan.aiChatLimit,
62
+ * period: { subscription: owner.subscriptionId },
63
+ * })
64
+ * ```
65
+ *
66
+ * The store is resolved on each call, not here, so asking for the API never fails on its own.
67
+ */
68
+ usage(): UsageApi;
50
69
  /**
51
70
  * Every configured driver, by the name it was configured under.
52
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"payments_manager.d.ts","sourceRoot":"","sources":["../../src/payments_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAW,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,mFAAmF;IACnF,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;;IAgB1B,YAAY,OAAO,EAAE,sBAAsB,EAmB1C;IAED;;;OAGG;IACH,aAAa,IAAI,gBAAgB,CAoBhC;IAED;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE;IAED;;;;;OAKG;IACH,IAAI,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAEjD;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,cAAc,CA4ChE;IAuGD;;;OAGG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,gDAOpB;IAED;;;OAGG;IACH,gBAAgB,CACd,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,kBAAkB,GACrF,IAAI,CAgBN;IAED;;;;;;;;;OASG;IACH,kCAAkC,CAChC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,qBAAqB,GAC/B,IAAI,CAON;CAsDF;AAED,4EAA4E;AAC5E,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAiBtC"}
1
+ {"version":3,"file":"payments_manager.d.ts","sourceRoot":"","sources":["../../src/payments_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAW,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,mFAAmF;IACnF,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;;IAgB1B,YAAY,OAAO,EAAE,sBAAsB,EAmB1C;IAED;;;OAGG;IACH,aAAa,IAAI,gBAAgB,CAoBhC;IAED;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,IAAI,QAAQ,CAWhB;IAED;;;;;OAKG;IACH,IAAI,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAEjD;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,cAAc,CA4ChE;IAuGD;;;OAGG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,gDAOpB;IAED;;;OAGG;IACH,gBAAgB,CACd,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,kBAAkB,GACrF,IAAI,CAgBN;IAED;;;;;;;;;OASG;IACH,kCAAkC,CAChC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,qBAAqB,GAC/B,IAAI,CAON;CAsDF;AAED,4EAA4E;AAC5E,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAiBtC"}
@@ -1,4 +1,5 @@
1
1
  import { arrears } from './billing/arrears.js';
2
+ import { createUsageApi } from './billing/usage.js';
2
3
  import { gatewayPerforms } from './subscription_lifecycle.js';
3
4
  import { resolveSubscriptionMode } from './subscription_mode.js';
4
5
  import { SubscriptionsApi } from './subscriptions_api.js';
@@ -79,6 +80,33 @@ export class PaymentsManager {
79
80
  }
80
81
  return arrears({ ...query, store });
81
82
  }
83
+ /**
84
+ * Record metered usage and read it back against a quota, per subscription, per customer or
85
+ * per application resource (`scope`), over a subscription's billing cycle:
86
+ *
87
+ * ```ts
88
+ * const usage = getPayments().usage()
89
+ * await usage.record({ meter: 'ai_chat', quantity: 1, scope: { type: 'project', id } })
90
+ * const { remaining } = await usage.remaining({
91
+ * meter: 'ai_chat',
92
+ * scope: { type: 'project', id },
93
+ * limit: plan.aiChatLimit,
94
+ * period: { subscription: owner.subscriptionId },
95
+ * })
96
+ * ```
97
+ *
98
+ * The store is resolved on each call, not here, so asking for the API never fails on its own.
99
+ */
100
+ usage() {
101
+ return createUsageApi(() => {
102
+ const store = this.#store?.();
103
+ if (store === undefined) {
104
+ throw new Error('[payments] Metered usage needs the billing store, and none is configured. ' +
105
+ 'Enable `billing` in config/payments.ts.');
106
+ }
107
+ return store;
108
+ });
109
+ }
82
110
  /**
83
111
  * Every configured driver, by the name it was configured under.
84
112
  *
@@ -1 +1 @@
1
- {"version":3,"file":"payments_manager.js","sourceRoot":"","sources":["../../src/payments_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payments_manager.js","sourceRoot":"","sources":["../../src/payments_manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type AuditEventCountQuery, type AuditEventListItem, type AuditEventQuery, type BillingCountQuery, type BillingListQuery, type BillingStore, type CustomerListItem, type CustomerListQuery, type DisputeDeadlineQuery, type DisputeListItem, type ManagedSubscriptionInput, type ManagedSubscriptionPatch, type OpenDisputeQuery, type PaymentListItem, type PaymentListQuery, type SubscriptionCycleTotal, type SubscriptionListItem, type SubscriptionListQuery, type WebhookEventBreakdownLine, type WebhookEventListItem, type WebhookEventListQuery } from '../billing/billing_store.js';
1
+ import { type AuditEventCountQuery, type AuditEventListItem, type AuditEventQuery, type BillingCountQuery, type BillingListQuery, type BillingStore, type CustomerListItem, type CustomerListQuery, type DisputeDeadlineQuery, type DisputeListItem, type ManagedSubscriptionInput, type ManagedSubscriptionPatch, type OpenDisputeQuery, type PaymentListItem, type PaymentListQuery, type SubscriptionCycleTotal, type SubscriptionListItem, type SubscriptionListQuery, type UsageScope, type WebhookEventBreakdownLine, type WebhookEventListItem, type WebhookEventListQuery } from '../billing/billing_store.js';
2
2
  /** A plain in-memory customer-mapping row (mirrors the Lucid model's columns). */
3
3
  export interface InMemoryCustomerRow {
4
4
  id: string;
@@ -114,6 +114,8 @@ export interface InMemoryUsageEventRow {
114
114
  id: string;
115
115
  subscriptionId: string | null;
116
116
  customerId: string | null;
117
+ scopeType: string | null;
118
+ scopeId: string | null;
117
119
  meter: string;
118
120
  quantity: number;
119
121
  metadata?: Record<string, unknown>;
@@ -247,6 +249,7 @@ export declare class InMemoryBillingStore implements BillingStore<InMemorySubscr
247
249
  recordUsage(event: {
248
250
  subscriptionId?: string | null;
249
251
  customerId?: string;
252
+ scope?: UsageScope | null;
250
253
  meter: string;
251
254
  quantity: number;
252
255
  metadata?: Record<string, unknown>;
@@ -255,6 +258,7 @@ export declare class InMemoryBillingStore implements BillingStore<InMemorySubscr
255
258
  usageReport(query: {
256
259
  subscriptionId?: string;
257
260
  customerId?: string;
261
+ scope?: UsageScope;
258
262
  meter?: string;
259
263
  from?: Date;
260
264
  to?: Date;