@arnaudjnn/billing-tools 0.55.0 → 0.57.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 (59) hide show
  1. package/dist/adapters/workos-org.d.ts +2 -0
  2. package/dist/adapters/workos-org.d.ts.map +1 -1
  3. package/dist/adapters/workos-org.js +4 -0
  4. package/dist/adapters/workos-org.js.map +1 -1
  5. package/dist/allowance.d.ts +81 -0
  6. package/dist/allowance.d.ts.map +1 -0
  7. package/dist/allowance.js +130 -0
  8. package/dist/allowance.js.map +1 -0
  9. package/dist/billing.d.ts.map +1 -1
  10. package/dist/billing.js +4 -0
  11. package/dist/billing.js.map +1 -1
  12. package/dist/doctor.d.ts +11 -0
  13. package/dist/doctor.d.ts.map +1 -1
  14. package/dist/doctor.js +109 -0
  15. package/dist/doctor.js.map +1 -1
  16. package/dist/index.d.ts +7 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +18 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/metering.d.ts +38 -14
  21. package/dist/metering.d.ts.map +1 -1
  22. package/dist/metering.js +65 -42
  23. package/dist/metering.js.map +1 -1
  24. package/dist/plan-model.d.ts +395 -0
  25. package/dist/plan-model.d.ts.map +1 -0
  26. package/dist/plan-model.js +342 -0
  27. package/dist/plan-model.js.map +1 -0
  28. package/dist/plans.d.ts +25 -53
  29. package/dist/plans.d.ts.map +1 -1
  30. package/dist/plans.js +55 -34
  31. package/dist/plans.js.map +1 -1
  32. package/dist/pricing.d.ts +130 -0
  33. package/dist/pricing.d.ts.map +1 -0
  34. package/dist/pricing.js +260 -0
  35. package/dist/pricing.js.map +1 -0
  36. package/dist/sync.d.ts +3 -16
  37. package/dist/sync.d.ts.map +1 -1
  38. package/dist/sync.js +45 -26
  39. package/dist/sync.js.map +1 -1
  40. package/dist/tax-ids.d.ts +26 -0
  41. package/dist/tax-ids.d.ts.map +1 -0
  42. package/dist/tax-ids.js +50 -0
  43. package/dist/tax-ids.js.map +1 -0
  44. package/dist/types.d.ts +5 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/dist/types.js.map +1 -1
  47. package/dist/ui/index.d.ts +1 -0
  48. package/dist/ui/index.d.ts.map +1 -1
  49. package/dist/ui/index.js +2 -0
  50. package/dist/ui/index.js.map +1 -1
  51. package/dist/ui/tax-id-types.d.ts +10 -0
  52. package/dist/ui/tax-id-types.d.ts.map +1 -0
  53. package/dist/ui/tax-id-types.js +140 -0
  54. package/dist/ui/tax-id-types.js.map +1 -0
  55. package/dist/usage-ledger.d.ts +87 -0
  56. package/dist/usage-ledger.d.ts.map +1 -0
  57. package/dist/usage-ledger.js +117 -0
  58. package/dist/usage-ledger.js.map +1 -0
  59. package/package.json +6 -1
@@ -73,6 +73,7 @@ export declare class WorkOSOrgAdapter implements BillingAdapter {
73
73
  plan: string | null;
74
74
  status: string | null;
75
75
  subscriptionId: string | null;
76
+ periodStart: string | null;
76
77
  periodEnd: string | null;
77
78
  }>;
78
79
  /** Write subscription state onto the org metadata. `plan: undefined` leaves
@@ -81,6 +82,7 @@ export declare class WorkOSOrgAdapter implements BillingAdapter {
81
82
  plan?: string | null;
82
83
  status: string | null;
83
84
  subscriptionId: string | null;
85
+ periodStart?: string | null;
84
86
  periodEnd: string | null;
85
87
  }): Promise<void>;
86
88
  getOrgMetadata(orgId: string): Promise<Record<string, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"workos-org.d.ts","sourceRoot":"","sources":["../../src/adapters/workos-org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workos-org.d.ts","sourceRoot":"","sources":["../../src/adapters/workos-org.ts"],"names":[],"mappings":"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"}
@@ -203,6 +203,9 @@ export class WorkOSOrgAdapter {
203
203
  plan: m.plan ?? null,
204
204
  status: m.subscriptionStatus ?? null,
205
205
  subscriptionId: m.stripeSubscriptionId ?? null,
206
+ // An included allowance is measured over the subscription window, so the
207
+ // START matters as much as the renewal date.
208
+ periodStart: m.subscriptionPeriodStart ?? null,
206
209
  periodEnd: m.subscriptionPeriodEnd ?? null,
207
210
  };
208
211
  }
@@ -222,6 +225,7 @@ export class WorkOSOrgAdapter {
222
225
  };
223
226
  set("subscriptionStatus", sub.status);
224
227
  set("stripeSubscriptionId", sub.subscriptionId);
228
+ set("subscriptionPeriodStart", sub.periodStart);
225
229
  set("subscriptionPeriodEnd", sub.periodEnd);
226
230
  set("plan", sub.plan);
227
231
  await this.workos.organizations.updateOrganization({ organization: wid, metadata });
@@ -1 +1 @@
1
- {"version":3,"file":"workos-org.js","sourceRoot":"","sources":["../../src/adapters/workos-org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workos-org.js","sourceRoot":"","sources":["../../src/adapters/workos-org.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { type CycleWindow, type PlanCatalog, type PlanModel } from "./plan-model.js";
2
+ import type { BillingAdapter, ResolvedConfig } from "./types.js";
3
+ import { type FundingSource, type UsageLedger } from "./usage-ledger.js";
4
+ export interface AllowanceState {
5
+ plan: string | null;
6
+ cycle: CycleWindow;
7
+ /** The org-wide included window, when the plan has one. */
8
+ pool: {
9
+ size: number;
10
+ used: number;
11
+ remaining: number;
12
+ } | null;
13
+ /** The caller's seat pack, when the plan caps per seat and the caller has one. */
14
+ pack: {
15
+ seatType: string;
16
+ size: number;
17
+ used: number;
18
+ /** Owner-approved top-up for this member, this cycle. */
19
+ extra: number;
20
+ remaining: number;
21
+ } | null;
22
+ /** Prepaid balance, in the configured currency. Clamped at 0 for display. */
23
+ wallet: number;
24
+ }
25
+ export interface AllowanceInput {
26
+ orgId: string;
27
+ plans: PlanCatalog;
28
+ /** Resolved plan key, or null for an org with no plan (a pure wallet). */
29
+ plan?: string | null;
30
+ caller?: {
31
+ kind: "user" | "api";
32
+ id?: string;
33
+ seatType?: string;
34
+ };
35
+ /** Defaults to the customer on the adapter. */
36
+ customerId?: string;
37
+ /** Overrides the window derived from the subscription period. */
38
+ cycle?: CycleWindow;
39
+ ledger?: UsageLedger;
40
+ /** Skip the wallet read — for a caller that only needs the entitlement. */
41
+ skipWallet?: boolean;
42
+ }
43
+ /**
44
+ * Everything needed to decide whether a call is allowed, read in as few round
45
+ * trips as the shape requires.
46
+ *
47
+ * The window comes from the SUBSCRIPTION period when one is known, not the
48
+ * calendar month: an annual package measured monthly would reset twelve times and
49
+ * hand out twelve packages. The calendar month remains the fallback for an org
50
+ * with no subscription, which is what this library always did.
51
+ */
52
+ export declare function resolveAllowance(adapter: BillingAdapter, config: ResolvedConfig, input: AllowanceInput): Promise<AllowanceState>;
53
+ export type DenialReason = "pool_exhausted" | "seat_allowance_reached" | "insufficient_balance";
54
+ export interface FundingDecision {
55
+ ok: boolean;
56
+ source: FundingSource | null;
57
+ reason?: DenialReason;
58
+ }
59
+ /**
60
+ * Which allowance pays for `cost` — or why nothing does.
61
+ *
62
+ * PURE: no Stripe, no adapter, no clock. The order is the point:
63
+ *
64
+ * 1. the org's included window, if the plan has one;
65
+ * 2. the caller's seat pack, if the plan caps per seat;
66
+ * 3. the prepaid wallet.
67
+ *
68
+ * An exhausted window either blocks or falls through to the wallet, per the
69
+ * plan's `onExhausted`. Blocking even when the wallet could pay is the right
70
+ * default for a committed package (its overage is a renegotiation, not a silent
71
+ * charge) and for a free plan; falling through is right where top-ups are the
72
+ * product. Checking the wallet LAST is also what stops a pooled org being told
73
+ * "insufficient balance" when the truth is "your package is used up".
74
+ */
75
+ export declare function fundingFor(state: AllowanceState, model: PlanModel | null, cost: number, caller?: {
76
+ kind: "user" | "api";
77
+ seatType?: string;
78
+ }): FundingDecision;
79
+ /** Human-readable, for a 402 body or a tool result. */
80
+ export declare function describeDenial(reason: DenialReason, state: AllowanceState): string;
81
+ //# sourceMappingURL=allowance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.d.ts","sourceRoot":"","sources":["../src/allowance.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAA4B,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWnG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;IACnB,2DAA2D;IAC3D,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,kFAAkF;IAClF,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,yDAAyD;QACzD,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,cAAc,CAAC,CA2DzB;AAmBD,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,eAAe,CAmBjB;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CASlF"}
@@ -0,0 +1,130 @@
1
+ import { getBillingCustomerId, getTokenBalance } from "./billing.js";
2
+ import { cycleWindowFor, exhaustedPolicy, packSizeOf, planModel, poolSizeOf, } from "./plan-model.js";
3
+ import { extraAllowance } from "./topup.js";
4
+ import { stripeBalanceUsageLedger } from "./usage-ledger.js";
5
+ /**
6
+ * Everything needed to decide whether a call is allowed, read in as few round
7
+ * trips as the shape requires.
8
+ *
9
+ * The window comes from the SUBSCRIPTION period when one is known, not the
10
+ * calendar month: an annual package measured monthly would reset twelve times and
11
+ * hand out twelve packages. The calendar month remains the fallback for an org
12
+ * with no subscription, which is what this library always did.
13
+ */
14
+ export async function resolveAllowance(adapter, config, input) {
15
+ const model = planModel(input.plans, input.plan ?? null);
16
+ const customerId = input.customerId ?? (await getBillingCustomerId(adapter, input.orgId));
17
+ const period = await subscriptionPeriod(adapter, input.orgId, model);
18
+ const cycle = input.cycle ?? cycleWindowFor(model, period);
19
+ const ledger = input.ledger ?? stripeBalanceUsageLedger();
20
+ if (!customerId) {
21
+ return { plan: model?.key ?? null, cycle, pool: null, pack: null, wallet: 0 };
22
+ }
23
+ const poolSize = poolSizeOf(model);
24
+ const packSize = packSizeOf(model, input.caller?.seatType);
25
+ const [wallet, poolUsed, packUsed, extra] = await Promise.all([
26
+ input.skipWallet ? Promise.resolve(0) : getTokenBalance(customerId, config.currency),
27
+ poolSize == null
28
+ ? Promise.resolve(0)
29
+ : ledger.total({ orgId: input.orgId, customerId, start: cycle.start, end: cycle.end ?? undefined }),
30
+ packSize == null
31
+ ? Promise.resolve(0)
32
+ : ledger.total({
33
+ orgId: input.orgId,
34
+ customerId,
35
+ start: cycle.start,
36
+ end: cycle.end ?? undefined,
37
+ // A pack belongs to a caller, so it is measured per caller. An api
38
+ // caller's usage is summed across the org — there is one shared seat.
39
+ filter: input.caller?.kind === "api"
40
+ ? { callerKind: "api" }
41
+ : { callerKind: "user", callerId: input.caller?.id },
42
+ }),
43
+ // Top-up grants raise a member's pack for the cycle, and are keyed by the
44
+ // same cycle identity the window produces, so the two can't drift.
45
+ packSize == null || input.caller?.kind !== "user" || !input.caller.id
46
+ ? Promise.resolve(0)
47
+ : extraAllowance(adapter, input.orgId, input.caller.id, cycle.key),
48
+ ]);
49
+ return {
50
+ plan: model?.key ?? null,
51
+ cycle,
52
+ pool: poolSize == null
53
+ ? null
54
+ : { size: poolSize, used: poolUsed, remaining: Math.max(0, poolSize - poolUsed) },
55
+ pack: packSize == null || !input.caller?.seatType
56
+ ? null
57
+ : {
58
+ seatType: input.caller.seatType,
59
+ size: packSize,
60
+ used: packUsed,
61
+ extra,
62
+ remaining: Math.max(0, packSize + extra - packUsed),
63
+ },
64
+ wallet: Math.max(0, wallet),
65
+ };
66
+ }
67
+ /** The subscription's current period, when the adapter can tell us and the plan
68
+ * actually needs it (only a window does). */
69
+ async function subscriptionPeriod(adapter, orgId, model) {
70
+ if (!model || model.cap.kind === "wallet")
71
+ return null;
72
+ if (!adapter.getSubscription)
73
+ return null;
74
+ try {
75
+ const sub = await adapter.getSubscription(orgId);
76
+ return { start: sub.periodStart ?? null, end: sub.periodEnd ?? null };
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ }
82
+ /**
83
+ * Which allowance pays for `cost` — or why nothing does.
84
+ *
85
+ * PURE: no Stripe, no adapter, no clock. The order is the point:
86
+ *
87
+ * 1. the org's included window, if the plan has one;
88
+ * 2. the caller's seat pack, if the plan caps per seat;
89
+ * 3. the prepaid wallet.
90
+ *
91
+ * An exhausted window either blocks or falls through to the wallet, per the
92
+ * plan's `onExhausted`. Blocking even when the wallet could pay is the right
93
+ * default for a committed package (its overage is a renegotiation, not a silent
94
+ * charge) and for a free plan; falling through is right where top-ups are the
95
+ * product. Checking the wallet LAST is also what stops a pooled org being told
96
+ * "insufficient balance" when the truth is "your package is used up".
97
+ */
98
+ export function fundingFor(state, model, cost, caller) {
99
+ if (cost <= 0)
100
+ return { ok: true, source: null };
101
+ if (state.pool) {
102
+ if (state.pool.remaining >= cost)
103
+ return { ok: true, source: "pool" };
104
+ if (exhaustedPolicy(model, caller) === "block") {
105
+ return { ok: false, source: null, reason: "pool_exhausted" };
106
+ }
107
+ }
108
+ if (state.pack) {
109
+ if (state.pack.remaining >= cost)
110
+ return { ok: true, source: "pack" };
111
+ if (exhaustedPolicy(model, caller) === "block") {
112
+ return { ok: false, source: null, reason: "seat_allowance_reached" };
113
+ }
114
+ }
115
+ if (state.wallet >= cost)
116
+ return { ok: true, source: "wallet" };
117
+ return { ok: false, source: null, reason: "insufficient_balance" };
118
+ }
119
+ /** Human-readable, for a 402 body or a tool result. */
120
+ export function describeDenial(reason, state) {
121
+ switch (reason) {
122
+ case "pool_exhausted":
123
+ return `Plan allowance used up for this cycle (${state.pool?.size ?? 0} tokens). Contact us to extend the package.`;
124
+ case "seat_allowance_reached":
125
+ return "Seat token allowance reached for this cycle. Ask an owner for a top-up, or buy tokens.";
126
+ case "insufficient_balance":
127
+ return `Insufficient tokens (balance ${state.wallet}). Buy tokens to continue.`;
128
+ }
129
+ }
130
+ //# sourceMappingURL=allowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.js","sourceRoot":"","sources":["../src/allowance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjE,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAQD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAoBD;;0BAE0B;AAC1B,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAWrE;AAED;;;;6EAI6E;AAC7E,wBAAsB,wBAAwB,CAC5C,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAsB7B;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAED;;;;;;kCAMkC;AAClC,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC,CASD;AAID,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED,wBAAsB,YAAY,CAChC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM;AAChB;+EAC+E;AAC/E,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,IAAI,CAAC,CAWf;AAOD,wBAAsB,UAAU,CAC9B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,YAAY,CAChC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;AAChB;2EAC2E;AAC3E,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,0BAA0B,CAC9C,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;iEAEiE;AACjE,wBAAsB,0BAA0B,CAC9C,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAAC,CAUR;AAED,wBAAsB,qBAAqB,CACzC,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,aAAa,CACjC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAsB,YAAY,CAChC,gBAAgB,EAAE,MAAM,EACxB,KAAK,SAAK,GACT,OAAO,CACR,KAAK,CAAC;IACJ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC,CACH,CAkCA"}
package/dist/billing.js CHANGED
@@ -194,6 +194,10 @@ export async function usageSince(stripeCustomerId, since, filter) {
194
194
  break;
195
195
  if (tx.amount <= 0)
196
196
  continue; // credits/grants aren't usage
197
+ // A correcting debit (a refund reversal, a manual adjustment) moves money
198
+ // but is not something the customer USED, so it must not eat their pack.
199
+ if (tx.metadata?.kind === "adjustment")
200
+ continue;
197
201
  if (filter?.callerKind && tx.metadata?.caller_kind !== filter.callerKind)
198
202
  continue;
199
203
  if (filter?.callerId && tx.metadata?.caller_id !== filter.callerId)
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,oEAAoE;AAEpE,0EAA0E;AAC1E,iEAAiE;AACjE,IAAI,OAAO,GAAkB,IAAI,CAAC;AAClC,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAkB,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACzC,CAAC;AAoBD,SAAS,aAAa,CAAC,CAAe;IACpC,MAAM,OAAO,GACX,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC;QACrE,CAAC,CAAE,CAAC,CAAC,OAA0B;QAC/B,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAClC,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;QAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;QAC5B,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,IAAI,IAAI;QACvC,aAAa,EAAE,CAAC,CAAC,SAAS,EAAE,cAAc,IAAI,IAAI;KACnD,CAAC;AACJ,CAAC;AAED;;0BAE0B;AAC1B,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,CAAC,cAAc,CAAC;KACzB,CAAC,EAAE,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;6EAI6E;AAC7E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAiD,EAAE;IAEnD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC,cAAc,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC3C,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,KAAa;IAEb,OAAO,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;kCAMkC;AAClC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAuB,EACvB,KAAa;IAOb,OAAO,CACL,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI;QAC1C,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;KAChB,CACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,KAAa,EACb,KAAyB,EACzB,MAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,KAAK;QACL,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QAC3B,oEAAoE;QACpE,GAAG,CAAC,MAAM,CAAC,aAAa;YACtB,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC1B,wEAAwE;QACxE,kDAAkD;QAClD,MAAM,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAC7C,QAAQ,CAAC,EAAE,EACX;YACE,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU;YAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,kBAAkB,MAAM,CAAC,UAAU,cAAc;SAC/D,EACD,EAAE,cAAc,EAAE,WAAW,KAAK,EAAE,EAAE,CACvC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,gBAAwB,EACxB,QAAiB;IAEjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IAE/B,MAAM,IAAI,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC;IACrC,6EAA6E;IAC7E,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,4BAA4B;IACxD,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,2CAA2C;IAC3C,EAAE;IACF,yEAAyE;IACzE,wEAAwE;IACxE,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;QAChF,KAAK,EAAE,GAAG;KACX,CAAC,EAAE,CAAC;QACH,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC;QACpD,IAAI,EAAE,OAAO,IAAI,GAAG;YAAE,MAAM;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,gBAAwB,EACxB,QAAgB,EAChB,IAAY,EACZ,QAAgB;AAChB;+EAC+E;AAC/E,MAAsC;IAEtC,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;QACrE,MAAM,EAAE,IAAI,EAAE,mBAAmB;QACjC,QAAQ;QACR,WAAW,EAAE,cAAc,QAAQ,KAAK,IAAI,UAAU;QACtD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;KACF,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,gBAAwB,EACxB,KAAa,EACb,MAAmD;IAEnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;QACrF,KAAK,EAAE,GAAG;KACX,CAAC,EAAE,CAAC;QACH,IAAI,EAAE,CAAC,OAAO,GAAG,KAAK;YAAE,MAAM;QAC9B,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS,CAAC,8BAA8B;QAC5D,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY;YAAE,SAAS;QACjD,IAAI,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QACnF,IAAI,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,CAAC,QAAQ;YAAE,SAAS;QAC7E,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,gBAAwB,EACxB,MAAc,EACd,WAAmB,EACnB,QAAgB;AAChB;2EAC2E;AAC3E,cAAuB;IAEvB,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAClD,gBAAgB,EAChB;QACE,MAAM,EAAE,CAAC,MAAM,EAAE,oBAAoB;QACrC,QAAQ;QACR,WAAW;KACZ,EACD,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,MAAsB;IAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,yBAAyB;IACrD,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzD,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,SAAS;QACf,6EAA6E;QAC7E,4EAA4E;QAC5E,UAAU,EAAE;YACV;gBACE,UAAU,EAAE;oBACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE;wBACZ,IAAI,EAAE,GAAG,MAAM,SAAS;wBACxB,WAAW,EAAE,GAAG,WAAW,MAAM,MAAM,SAAS;qBACjD;oBACD,WAAW,EAAE,WAAW;iBACzB;gBACD,QAAQ,EAAE,CAAC;aACZ;SACF;QACD,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACnC,mBAAmB,EAAE;YACnB,kBAAkB,EAAE,aAAa;YACjC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;SACpD;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;QACnD,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,2BAA2B,MAAM,EAAE;QACjE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,iBAAiB;KAC/C,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAI,CAAC;AACtB,CAAC;AAED;;iEAEiE;AACjE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,gBAAwB,EACxB,SAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9D,QAAQ,EAAE,gBAAgB;QAC1B,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,gBAAwB;IAKlE,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC/B,IAAI,IAAI,CAAC,mBAAmB,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,IAAI,GAAG,EAAE,EAAE,CAAC;QAC1D,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,EAAE,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,gBAAwB,EACxB,SAAiB,EACjB,QAAgB,EAChB,OAAgB;IAEhB,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE;QACnD,QAAQ,EAAE;YACR,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC;YACpC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC;YACxC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;SACjC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAAwB,EACxB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO;IAE3C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,OAAO,GAAG,QAAQ,CAAC,SAAS;QAAE,OAAO;IAEzC,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;IAClD,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QAC3C,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;YAC5C,MAAM,EAAE,YAAY;YACpB,QAAQ;YACR,QAAQ,EAAE,gBAAgB;YAC1B,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9B,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,gBAAgB,YAAY,SAAS;YAClD,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;SAChE,CAAC,CAAC;QACH,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,YAAY,CAAC,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,YAAY,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,gBAAwB,EACxB,KAAK,GAAG,EAAE;IAaV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;KAC3D,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,EAAE,EAAE,GAAG,CAAC,EAAG;QACX,IAAI,EAAE,UAAmB;QACzB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,WAAW;QACvB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;QACnD,WAAW,EAAE,GAAG,CAAC,kBAAkB,IAAI,IAAI;QAC3C,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;KACrC,CAAC,CAAC,CAAC;IAEJ,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI;SACnC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC;SAChF,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACZ,EAAE,EAAE,EAAE,CAAC,EAAG;QACV,IAAI,EAAE,aAAsB;QAC5B,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;QAClD,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI;QACnC,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,iBAAiB,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SAC7E,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC"}
package/dist/doctor.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type PlanCatalog } from "./plan-model.js";
1
2
  export type CheckLevel = "ok" | "warn" | "error";
2
3
  export type Check = {
3
4
  level: CheckLevel;
@@ -25,7 +26,17 @@ export declare function checkBillingSetup(opts?: {
25
26
  /** `config.currency`. Pass it to check for customers pinned to another one —
26
27
  * the half-applied currency change that produces no error anywhere. */
27
28
  currency?: string;
29
+ /** Flag customers with more than one ACTIVE subscription (double billing).
30
+ * Default true. */
31
+ expectSingleSubscription?: boolean;
28
32
  }): Promise<DoctorResult>;
33
+ /**
34
+ * Inspect a plans config for the mistakes that don't announce themselves.
35
+ *
36
+ * Static: no Stripe call, so it can run in CI next to a typecheck. Separate from
37
+ * `checkBillingSetup` because it asks about the CONFIG rather than the account.
38
+ */
39
+ export declare function checkPlansConfig(plans: PlanCatalog): DoctorResult;
29
40
  /** Render a DoctorResult for a terminal. Returns the exit code to use. */
30
41
  export declare function formatDoctorResult(result: DoctorResult): {
31
42
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;4EACwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,YAAY,CAAC,CA0K7B;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAc3F"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgB/E,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;4EACwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;wBACoB;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC,YAAY,CAAC,CA8M7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CA2EjE;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAc3F"}
package/dist/doctor.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { getStripe } from "./billing.js";
2
+ import { normalizePlans, poolSizeOf } from "./plan-model.js";
2
3
  import { BILLING_WEBHOOK_EVENTS } from "./webhook-setup.js";
3
4
  /**
4
5
  * Inspect a Stripe environment for the misconfigurations that fail silently.
@@ -148,8 +149,116 @@ export async function checkBillingSetup(opts = {}) {
148
149
  "on the old currency deliberately",
149
150
  });
150
151
  }
152
+ // ── More than one live subscription per customer ───────────────────────────
153
+ //
154
+ // Belongs here for the file's stated reason: it costs real money and produces
155
+ // no error. A flow that opens a fresh Checkout Session for every plan or seat
156
+ // change leaves the previous subscription running — the customer is billed
157
+ // twice, both subscriptions renew, and the app's own pointer names only one of
158
+ // them, so nothing downstream notices.
159
+ if (opts.expectSingleSubscription ?? true) {
160
+ const perCustomer = new Map();
161
+ let scanned = 0;
162
+ for await (const sub of stripe.subscriptions.list({ status: "active", limit: 100 })) {
163
+ const id = typeof sub.customer === "string" ? sub.customer : sub.customer.id;
164
+ perCustomer.set(id, (perCustomer.get(id) ?? 0) + 1);
165
+ if (++scanned >= 500)
166
+ break;
167
+ }
168
+ const doubled = [...perCustomer.entries()].filter(([, n]) => n > 1);
169
+ checks.push(doubled.length === 0
170
+ ? {
171
+ level: "ok",
172
+ title: "One subscription per customer",
173
+ detail: `${scanned} active subscription(s), none doubled up`,
174
+ }
175
+ : {
176
+ level: "error",
177
+ title: "One subscription per customer",
178
+ detail: `${doubled.length} customer(s) have more than one ACTIVE subscription and are being ` +
179
+ `billed twice: ${doubled.slice(0, 5).map(([c, n]) => `${c} (${n})`).join(", ")}`,
180
+ fix: "Reconcile with findDuplicateSubscriptions(), and route every plan/seat change through " +
181
+ "one entry point that UPDATES the live subscription instead of opening a second one",
182
+ });
183
+ }
151
184
  return { livemode, checks, healthy: !checks.some((c) => c.level === "error") };
152
185
  }
186
+ /**
187
+ * Inspect a plans config for the mistakes that don't announce themselves.
188
+ *
189
+ * Static: no Stripe call, so it can run in CI next to a typecheck. Separate from
190
+ * `checkBillingSetup` because it asks about the CONFIG rather than the account.
191
+ */
192
+ export function checkPlansConfig(plans) {
193
+ const checks = [];
194
+ const models = normalizePlans(plans);
195
+ const legacy = models.filter((m) => m.legacy);
196
+ if (legacy.length) {
197
+ checks.push({
198
+ level: "warn",
199
+ title: "Legacy plan shape",
200
+ detail: `${legacy.map((m) => m.key).join(", ")} use the pre-0.54 shape, so \`sale\` was GUESSED from whether any price exists`,
201
+ fix: "Declare `sells`/`cap`/`sale` explicitly (see definePlans). Guessing `sale` is what lets a " +
202
+ "quote-only plan be bought at its placeholder price",
203
+ });
204
+ }
205
+ for (const m of models) {
206
+ // The defect this release exists to fix: crediting an allowance discounts the
207
+ // invoice that allowance came with.
208
+ const invoiced = m.sells.kind !== "nothing";
209
+ if (invoiced && m.grant.kind !== "none") {
210
+ checks.push({
211
+ level: "error",
212
+ title: `Plan "${m.key}" credits its own invoice`,
213
+ detail: `it is invoiced (${m.sells.kind}) AND credits tokens (grant: ${m.grant.kind}). A Stripe credit ` +
214
+ "balance auto-applies to the next invoice, so this discounts the plan's own renewal — measured " +
215
+ "at ~48% off a seat whose pack was one month's tokens",
216
+ fix: "Set `grant: { kind: \"none\" }` and express the included allowance as a `cap` (per_seat or pool), " +
217
+ "which is counted rather than credited. Keep `grant` only for a plan that literally sells credit",
218
+ });
219
+ }
220
+ if (m.cap.kind === "pool" && poolSizeOf(m) === 0) {
221
+ checks.push({
222
+ level: "warn",
223
+ title: `Plan "${m.key}" has an empty pool`,
224
+ detail: "cap is a pool but no `tokens` were set, so every metered call is refused",
225
+ fix: "Set `cap.tokens` to the package size",
226
+ });
227
+ }
228
+ if (m.grant.kind === "purchased_seats" && m.seatTypes.every((s) => s.includedTokens === 0)) {
229
+ checks.push({
230
+ level: "warn",
231
+ title: `Plan "${m.key}" grants nothing`,
232
+ detail: "it grants per purchased seat, but every seat type includes 0 tokens",
233
+ fix: "Set `includedTokens` per seat type, or say `grant: { kind: \"none\" }` and use a `cap`",
234
+ });
235
+ }
236
+ for (const s of m.seatTypes.filter((s) => s.shared && s.max === null)) {
237
+ checks.push({
238
+ level: "warn",
239
+ title: `Plan "${m.key}" shared seat "${s.key}" is unbounded`,
240
+ detail: "a shared (agent) seat is normally one per workspace, but any quantity can be bought",
241
+ fix: `Set max: 1 on seatTypes.${s.key}`,
242
+ });
243
+ }
244
+ if (m.sale === "self_serve" && m.sells.kind === "nothing") {
245
+ checks.push({
246
+ level: "warn",
247
+ title: `Plan "${m.key}" is self-serve but sells nothing`,
248
+ detail: "no Stripe price exists for it, so a checkout for it cannot succeed",
249
+ fix: 'Use sale: "free"',
250
+ });
251
+ }
252
+ }
253
+ if (checks.length === 0) {
254
+ checks.push({ level: "ok", title: "Plans config", detail: `${models.length} plan(s), nothing to flag` });
255
+ }
256
+ return {
257
+ livemode: false,
258
+ checks,
259
+ healthy: !checks.some((c) => c.level === "error"),
260
+ };
261
+ }
153
262
  /** Render a DoctorResult for a terminal. Returns the exit code to use. */
154
263
  export function formatDoctorResult(result) {
155
264
  const icon = { ok: "✓", warn: "!", error: "✗" };
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}