@arnaudjnn/billing-tools 2.19.0 → 3.1.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 (82) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/workos-org.d.ts +23 -0
  3. package/dist/adapters/workos-org.d.ts.map +1 -1
  4. package/dist/adapters/workos-org.js +4 -2
  5. package/dist/adapters/workos-org.js.map +1 -1
  6. package/dist/bound-api.d.ts +173 -0
  7. package/dist/bound-api.d.ts.map +1 -0
  8. package/dist/bound-api.js +152 -0
  9. package/dist/bound-api.js.map +1 -0
  10. package/dist/cli/commands.js +25 -0
  11. package/dist/cli/commands.js.map +1 -1
  12. package/dist/create-billing.d.ts +128 -41
  13. package/dist/create-billing.d.ts.map +1 -1
  14. package/dist/create-billing.js +24 -14
  15. package/dist/create-billing.js.map +1 -1
  16. package/dist/doctor.d.ts +31 -0
  17. package/dist/doctor.d.ts.map +1 -1
  18. package/dist/doctor.js +63 -0
  19. package/dist/doctor.js.map +1 -1
  20. package/dist/entries/agent-auth.d.ts +5 -0
  21. package/dist/entries/agent-auth.d.ts.map +1 -0
  22. package/dist/entries/agent-auth.js +17 -0
  23. package/dist/entries/agent-auth.js.map +1 -0
  24. package/dist/entries/plans.d.ts +4 -0
  25. package/dist/entries/plans.d.ts.map +1 -0
  26. package/dist/entries/plans.js +36 -0
  27. package/dist/entries/plans.js.map +1 -0
  28. package/dist/entries/routes.d.ts +5 -0
  29. package/dist/entries/routes.d.ts.map +1 -0
  30. package/dist/entries/routes.js +17 -0
  31. package/dist/entries/routes.js.map +1 -0
  32. package/dist/entries/tools.d.ts +6 -0
  33. package/dist/entries/tools.d.ts.map +1 -0
  34. package/dist/entries/tools.js +20 -0
  35. package/dist/entries/tools.js.map +1 -0
  36. package/dist/index.d.ts +7 -8
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +42 -16
  39. package/dist/index.js.map +1 -1
  40. package/dist/metering.d.ts +4 -3
  41. package/dist/metering.d.ts.map +1 -1
  42. package/dist/metering.js.map +1 -1
  43. package/dist/plan-model.d.ts +58 -3
  44. package/dist/plan-model.d.ts.map +1 -1
  45. package/dist/plan-model.js +61 -4
  46. package/dist/plan-model.js.map +1 -1
  47. package/dist/plans.d.ts +2 -2
  48. package/dist/plans.d.ts.map +1 -1
  49. package/dist/plans.js +1 -1
  50. package/dist/plans.js.map +1 -1
  51. package/dist/tools/billing.d.ts +2 -1
  52. package/dist/tools/billing.d.ts.map +1 -1
  53. package/dist/tools/billing.js +185 -64
  54. package/dist/tools/billing.js.map +1 -1
  55. package/dist/tools/management.d.ts +2 -1
  56. package/dist/tools/management.d.ts.map +1 -1
  57. package/dist/tools/management.js +210 -187
  58. package/dist/tools/management.js.map +1 -1
  59. package/dist/tools/register.d.ts +13 -1
  60. package/dist/tools/register.d.ts.map +1 -1
  61. package/dist/tools/register.js +28 -6
  62. package/dist/tools/register.js.map +1 -1
  63. package/dist/tools/subscription.d.ts +2 -1
  64. package/dist/tools/subscription.d.ts.map +1 -1
  65. package/dist/tools/subscription.js +115 -108
  66. package/dist/tools/subscription.js.map +1 -1
  67. package/dist/usage-ledger.d.ts +15 -37
  68. package/dist/usage-ledger.d.ts.map +1 -1
  69. package/dist/usage-ledger.js +24 -119
  70. package/dist/usage-ledger.js.map +1 -1
  71. package/dist/usage-scopes.d.ts +55 -0
  72. package/dist/usage-scopes.d.ts.map +1 -0
  73. package/dist/usage-scopes.js +284 -0
  74. package/dist/usage-scopes.js.map +1 -0
  75. package/dist/util/clearout.d.ts.map +1 -1
  76. package/dist/util/clearout.js +15 -3
  77. package/dist/util/clearout.js.map +1 -1
  78. package/package.json +21 -1
  79. package/dist/usage-counters.d.ts +0 -104
  80. package/dist/usage-counters.d.ts.map +0 -1
  81. package/dist/usage-counters.js +0 -214
  82. package/dist/usage-counters.js.map +0 -1
@@ -6,8 +6,7 @@ import { type AgentAuthBranding, type AgentAuthPaths, type AgentAuthPolicy, type
6
6
  import type { ClaimStore } from "./agent-auth/claim-store.js";
7
7
  import { type MachinePaymentOptions } from "./machine-payment/index.js";
8
8
  import { type OAuthProxyOptions } from "./oauth-proxy/index.js";
9
- import { type UsageCounterStore } from "./usage-counters.js";
10
- import { type SqlClient, type UsageLedger } from "./usage-ledger.js";
9
+ import { type UsageLedger } from "./usage-ledger.js";
11
10
  import type { PlanCatalog } from "./plans.js";
12
11
  export interface CreateBillingOptions {
13
12
  /** Storage adapter (WorkOSOrgAdapter or your own). */
@@ -95,52 +94,140 @@ export interface CreateBillingOptions {
95
94
  * windows are all org-scoped — `cap: pool`, `cap: wallet`, `scope: "org"`
96
95
  * limits — needs no store at all.
97
96
  *
98
- * Pass `db` (or one of your own) when a window is both INCLUDED and
99
- * PER-MEMBER: a seat pack, or a `scope: "caller"` limit. Nothing in Stripe can
100
- * count that pair, and without a store it reads 0 forever.
97
+ * When a window is both INCLUDED and PER-MEMBER a seat pack, or a
98
+ * `scope: "caller"` limit the default cannot see it, and it reads 0 forever.
99
+ * Pass `stripeUsageLedger({ perCaller: stripeScopeUsageLedger() })`, which
100
+ * counts that pair in Stripe too, with no store: each usage scope gets a Stripe
101
+ * Customer of its own, which is the only second grouping key Stripe offers.
102
+ * It is opt-in rather than default because creating those customers is a side
103
+ * effect a consumer should choose. `checkPlansConfig` names the plans that
104
+ * need it, and `createMeter` warns at boot.
101
105
  */
102
106
  ledger?: UsageLedger;
103
- /**
104
- * A Postgres-compatible client, used as the composite's PER-CALLER leg.
105
- *
106
- * Given one, per-member windows are counted in `usage_events` via
107
- * `postgresUsageLedger` — exact, per-caller, and able to see INCLUDED usage,
108
- * which is the pair no Stripe primitive offers. Org-wide windows still go to
109
- * the Stripe meter, so they are answered without scanning those rows.
110
- *
111
- * Run `ensureUsageLedgerTable(db)` once from your migrations first.
112
- *
113
- * `ledger` wins if both are given, for a consumer with their own store, and
114
- * `counters` below wins over this — it answers the same questions without the
115
- * per-call row.
116
- */
117
- db?: SqlClient;
118
- /**
119
- * A COUNTER store for the per-caller leg — the scale-correct choice, and the
120
- * one that does not need SQL.
121
- *
122
- * `db` above keeps one row per metered call and answers a window by aggregating
123
- * a range of them on the hot path. Counters keep one row per (org, scope, hour),
124
- * so a caller making a thousand calls in an hour writes ONE row and every read
125
- * is a point lookup: the store stops growing with traffic, and the read stops
126
- * scaling with it. At the volumes a plan actually declares — an Enterprise
127
- * window of 200 000 credits a week — that is the difference between a bounded
128
- * working set and a partitioning project.
129
- *
130
- * `sqlUsageCounters(pool)` uses the database you already have;
131
- * `redisUsageCounters(client)` needs no SQL at all (`redis`, `ioredis`,
132
- * `@upstash/redis` and Vercel KV all satisfy the duck type). Run
133
- * `ensureUsageCountersTable(pool)` from your migrations for the SQL one.
134
- *
135
- * What it gives up: per-action history. A counter cannot say WHICH actions made
136
- * up a total — pass `db` instead if you want that trail.
137
- */
138
- counters?: UsageCounterStore;
139
107
  };
140
108
  }
141
109
  export declare function createBilling(opts: CreateBillingOptions): {
142
110
  adapter: BillingAdapter;
143
111
  config: import("./types.js").ResolvedConfig;
112
+ /** The bound, org-scoped API: `api.invoices.list(orgId)`, `api.usage.summary(orgId)`, … */
113
+ api: {
114
+ customerId: (orgId: string, email?: string) => Promise<string>;
115
+ customerIdIfAny: (orgId: string) => Promise<string | null>;
116
+ isInternal: (orgId: string) => Promise<boolean>;
117
+ plan: (orgId: string) => Promise<string | null>;
118
+ profile: {
119
+ get: (orgId: string) => Promise<import("./billing-profile.js").BillingProfile>;
120
+ update: (orgId: string, patch: Parameters<typeof import("./billing-profile.js").updateBillingProfile>[2]) => Promise<import("./billing-profile.js").BillingProfile>;
121
+ };
122
+ taxIds: {
123
+ list: (orgId: string) => Promise<import("./tax-ids.js").CustomerTaxId[]>;
124
+ set: (orgId: string, input: Parameters<typeof import("./tax-ids.js").setCustomerTaxId>[2]) => Promise<import("./tax-ids.js").CustomerTaxId | null>;
125
+ };
126
+ cards: {
127
+ list: (orgId: string) => Promise<import("./payment-methods.js").SavedCard[]>;
128
+ setDefault: (orgId: string, paymentMethodId: string) => Promise<void>;
129
+ remove: (orgId: string, paymentMethodId: string) => Promise<void>;
130
+ setupIntent: (orgId: string, opts: Parameters<typeof import("./payment-methods.js").createCardSetupIntent>[2]) => Promise<{
131
+ clientSecret: string;
132
+ customerId: string;
133
+ }>;
134
+ setupCheckout: (orgId: string, opts: Parameters<typeof import("./payment-methods.js").createCardSetupCheckoutSession>[2]) => Promise<{
135
+ clientSecret: string;
136
+ sessionId: string;
137
+ }>;
138
+ };
139
+ invoices: {
140
+ list: (orgId: string, limit?: number) => Promise<import("./billing.js").InvoiceEntry[]>;
141
+ get: (orgId: string, invoiceId: string) => Promise<import("./billing.js").InvoiceEntry | null>;
142
+ pdfUrl: (orgId: string, invoiceId: string) => Promise<string | null>;
143
+ };
144
+ subscription: {
145
+ get: (orgId: string) => Promise<{
146
+ plan: string | null;
147
+ status: string | null;
148
+ subscriptionId: string | null;
149
+ periodEnd: string | null;
150
+ }>;
151
+ change: (orgId: string, to: Parameters<typeof import("./subscription.js").changePlan>[2]["to"], opts?: Omit<Parameters<typeof import("./subscription.js").changePlan>[2], "plans" | "to" | "config" | "currency">) => Promise<import("./subscription.js").PlanChangeResult>;
152
+ preview: (orgId: string, to: Parameters<typeof import("./subscription.js").previewPlanChange>[2]["to"], opts?: Omit<Parameters<typeof import("./subscription.js").previewPlanChange>[2], "plans" | "to" | "currency">) => Promise<import("./subscription.js").PlanChangePreview>;
153
+ cancel: (orgId: string, opts?: Omit<Parameters<typeof import("./subscription.js").cancelPlan>[2], "plans" | "currency">) => Promise<import("./subscription.js").PlanChangeResult>;
154
+ };
155
+ seats: {
156
+ list: (orgId: string) => Promise<{
157
+ [x: string]: string;
158
+ }>;
159
+ get: (orgId: string, memberId: string) => Promise<string | null>;
160
+ assign: (orgId: string, memberId: string, seatType: string | null) => Promise<void>;
161
+ };
162
+ usage: {
163
+ summary: (orgId: string, opts?: {
164
+ caller?: {
165
+ kind: "user" | "api";
166
+ id?: string;
167
+ seatType?: string;
168
+ };
169
+ locale?: Parameters<typeof import("./usage.js").usageSummary>[2]["locale"];
170
+ now?: number;
171
+ }) => Promise<import("./usage.js").UsageSummary>;
172
+ byMember: (orgId: string, members: Parameters<typeof import("./usage.js").memberUsage>[2]["members"], opts?: {
173
+ now?: number;
174
+ }) => Promise<import("./usage.js").MemberUsage[]>;
175
+ allowance: (orgId: string, opts?: Omit<Parameters<typeof import("./allowance.js").resolveAllowance>[2], "orgId" | "plans" | "plan" | "ledger">) => Promise<import("./allowance.js").AllowanceState>;
176
+ cycle: (orgId: string, opts?: {
177
+ now?: number;
178
+ }) => Promise<import("./plan-model.js").CycleWindow>;
179
+ };
180
+ topUps: {
181
+ list: (orgId: string) => Promise<import("./topup.js").TopUpRequest[]>;
182
+ request: (orgId: string, req: {
183
+ memberId: string;
184
+ amount: number;
185
+ id?: string;
186
+ cycle?: string;
187
+ }) => Promise<{
188
+ id: string;
189
+ cycle: string;
190
+ }>;
191
+ approve: (orgId: string, requestId: string) => Promise<{
192
+ ok: boolean;
193
+ reason?: "not_found";
194
+ }>;
195
+ deny: (orgId: string, requestId: string) => Promise<{
196
+ ok: boolean;
197
+ reason?: "not_found";
198
+ }>;
199
+ grant: (orgId: string, input: Parameters<typeof import("./topup.js").grantTopUp>[2]) => Promise<{
200
+ ok: boolean;
201
+ total: number;
202
+ reason?: "invalid_amount" | "duplicate";
203
+ }>;
204
+ grantExtra: (orgId: string, memberId: string, opts?: {
205
+ percent?: number;
206
+ grantedBy?: string;
207
+ id?: string;
208
+ }) => Promise<{
209
+ ok: boolean;
210
+ total?: number;
211
+ granted?: number;
212
+ packSize?: number;
213
+ cycle?: string;
214
+ reason?: "invalid_amount" | "not_capped" | "duplicate";
215
+ }>;
216
+ granted: (orgId: string, memberId: string, cycle: string) => Promise<number>;
217
+ };
218
+ auth: {
219
+ access: () => Promise<import("./types.js").ToolErrorResult | {
220
+ authorized: true;
221
+ orgId: string;
222
+ }>;
223
+ admin: (action: string) => Promise<import("./types.js").ToolErrorResult | {
224
+ authorized: true;
225
+ orgId: string;
226
+ principal: import("./auth.js").Principal | null;
227
+ }>;
228
+ credits: (orgId: string, toolName: string, cost: number) => Promise<import("./types.js").ToolErrorResult | null>;
229
+ };
230
+ };
144
231
  register: (server: McpServer) => void;
145
232
  dispatcher: {
146
233
  dispatchTool: (name: string, args: Record<string, unknown>) => Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"create-billing.d.ts","sourceRoot":"","sources":["../src/create-billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-billing.d.ts","sourceRoot":"","sources":["../src/create-billing.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ import { CLAIM_GRANT_TYPE, createAgentAuth, } from "./agent-auth/index.js";
8
8
  import { createMachinePaymentHandler, createPaymentMd } from "./machine-payment/index.js";
9
9
  import { createOAuthProxy } from "./oauth-proxy/index.js";
10
10
  import { createMeter, createApiMeterGuard } from "./metering.js";
11
- import { counterUsageLedger } from "./usage-counters.js";
12
- import { defaultUsageLedger, postgresUsageLedger, stripeUsageLedger, } from "./usage-ledger.js";
11
+ import { defaultUsageLedger } from "./usage-ledger.js";
12
+ import { createBoundApi } from "./bound-api.js";
13
13
  export function createBilling(opts) {
14
14
  const resolved = resolveConfig(opts.config);
15
15
  // MCP OAuth 2.1 + DCR proxy (opt-in). Built first so agentAuth can advertise
@@ -99,23 +99,20 @@ export function createBilling(opts) {
99
99
  currency: opts.machinePayment.currency ?? resolved.currency,
100
100
  })
101
101
  : undefined;
102
- // The ledger, resolved once: an explicit one wins, then a database as the
103
- // per-caller leg, then the composite on its own.
102
+ // The ledger, resolved once: an explicit one wins, otherwise the composite.
104
103
  //
105
104
  // The composite is the default because it counts every ORG-wide window in
106
105
  // Stripe — included usage too, one request per window at any volume — so a
107
- // config whose windows are all org-scoped needs no database at all. That was
106
+ // config whose windows are all org-scoped needs nothing else. That was
108
107
  // previously impossible: the old default was the debits themselves, so an
109
108
  // included call counted as 0 and every window read 0%.
110
- const ledger = opts.meter?.ledger ??
111
- (opts.meter?.counters
112
- ? // Counters answer a per-member window with a point read instead of a range
113
- // aggregate, so they are the scale-correct per-caller leg. Org-wide windows
114
- // still go to the Stripe meter, which needs no store at any volume.
115
- stripeUsageLedger({ perCaller: counterUsageLedger(opts.meter.counters) })
116
- : opts.meter?.db
117
- ? stripeUsageLedger({ perCaller: postgresUsageLedger(opts.meter.db) })
118
- : defaultUsageLedger());
109
+ //
110
+ // A per-MEMBER included window (a seat pack, a `scope: "caller"` limit) is the
111
+ // one case the default cannot see, and the answer is `ledger` above with
112
+ // `stripeScopeUsageLedger()` as the per-caller leg — still no store. There is
113
+ // no longer a `db` or `counters` shortcut: they existed only for that case, and
114
+ // a database is no longer the way to solve it.
115
+ const ledger = opts.meter?.ledger ?? defaultUsageLedger();
119
116
  // What the wired ledger cannot count is warned about by `createMeter` below,
120
117
  // which every metered call goes through whichever constructor composed the app —
121
118
  // so the rule lives in one place (`warnLedgerGaps`) instead of once per entry
@@ -138,9 +135,22 @@ export function createBilling(opts) {
138
135
  const meterRequest = meter
139
136
  ? createApiMeterGuard(opts.adapter, meter, { realm: opts.realm })
140
137
  : undefined;
138
+ // Every org-scoped library function, with adapter/config/plans/ledger/resolvePlan
139
+ // already applied. This is what removes the ~40 hand-written pass-throughs each
140
+ // consumer used to need before writing any product code — and, more importantly,
141
+ // removes the place where a wrapper could file a grant against the wrong cycle.
142
+ const api = createBoundApi({
143
+ adapter: opts.adapter,
144
+ config: resolved,
145
+ plans: opts.plans,
146
+ ledger,
147
+ resolvePlan: opts.resolvePlan ?? opts.meter?.resolvePlan,
148
+ });
141
149
  return {
142
150
  adapter: opts.adapter,
143
151
  config: resolved,
152
+ /** The bound, org-scoped API: `api.invoices.list(orgId)`, `api.usage.summary(orgId)`, … */
153
+ api,
144
154
  register,
145
155
  dispatcher,
146
156
  /** MCP transport: mount `export const { GET, POST } = mcp` in app/[transport]/route.ts. */
@@ -1 +1 @@
1
- {"version":3,"file":"create-billing.js","sourceRoot":"","sources":["../src/create-billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-billing.js","sourceRoot":"","sources":["../src/create-billing.ts"],"names":[],"mappings":"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"}
package/dist/doctor.d.ts CHANGED
@@ -90,4 +90,35 @@ export declare function formatDoctorResult(result: DoctorResult): {
90
90
  text: string;
91
91
  exitCode: number;
92
92
  };
93
+ export interface RunDoctorOptions {
94
+ /** The app's catalogue. Checked FIRST: it needs no network, and a config mistake
95
+ * explains most account-level symptoms. */
96
+ plans?: PlanCatalog;
97
+ /** The app's `BillingConfig`. Supplies currency and the tax mode, so the doctor
98
+ * reads the same declaration the engine does rather than being told twice. */
99
+ config?: BillingConfig;
100
+ /** What the wired ledger can count — pass the ledger's own `covers`. */
101
+ usageLedger?: boolean | LedgerCoverage;
102
+ /** True when a checkout is mounted, so self-serve plans are not flagged as
103
+ * advertised-but-unbuyable. */
104
+ hasCheckout?: boolean;
105
+ /** The deployed endpoint, used unless `--url` or `--no-webhook` says otherwise. */
106
+ webhookUrl?: string;
107
+ /** Defaults to `process.argv.slice(2)`. */
108
+ argv?: string[];
109
+ /** Defaults to `process.exit`. Injectable so this is testable. */
110
+ exit?: (code: number) => never;
111
+ log?: (line: string) => void;
112
+ }
113
+ /**
114
+ * Run both doctors, print them, and exit non-zero when something is actually wrong.
115
+ *
116
+ * Flags: `--url <url>` checks a different endpoint, `--no-webhook` skips the webhook
117
+ * check entirely (correct locally, where by design there IS no endpoint).
118
+ *
119
+ * Exits 2 with a clear message when `STRIPE_SECRET_KEY` is unset, because that
120
+ * variable decides WHICH environment is being checked — a doctor run against the
121
+ * wrong account is worse than no run.
122
+ */
123
+ export declare function runBillingDoctor(opts?: RunDoctorOptions): Promise<void>;
93
124
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAehD,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;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,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,CA2R7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;IACR;;oCAEgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;CACxC,GACA,YAAY,CAgSd;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,EAIL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAehD,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;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,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,CAgS7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;IACR;;oCAEgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;CACxC,GACA,YAAY,CAgSd;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAc3F;AA2BD,MAAM,WAAW,gBAAgB;IAC/B;gDAC4C;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;mFAC+E;IAC/E,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACvC;oCACgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;IAC/B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDjF"}
package/dist/doctor.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { getStripe } from "./billing.js";
2
2
  import { ledgerGaps, normalizePlans, poolSizeOf, } from "./plan-model.js";
3
+ import { USAGE_SCOPE_KIND } from "./usage-scopes.js";
3
4
  import { BILLING_WEBHOOK_EVENTS } from "./webhook-setup.js";
4
5
  import { taxModeOf } from "./tax.js";
5
6
  /**
@@ -152,6 +153,12 @@ export async function checkBillingSetup(opts = {}) {
152
153
  const reloadNoCard = [];
153
154
  let seen = 0;
154
155
  for await (const customer of stripe.customers.list({ limit: 100 })) {
156
+ // A per-caller usage scope is a COUNTER wearing a customer's shape
157
+ // (`stripeScopeUsageLedger`): it buys nothing, is never invoiced and has no
158
+ // currency to be pinned to. Counting them would dilute the ratio below and
159
+ // could exhaust the 500-customer sample without looking at a real one.
160
+ if (customer.metadata?.bt_kind === USAGE_SCOPE_KIND)
161
+ continue;
155
162
  seen++;
156
163
  if (customer.currency && customer.currency !== want) {
157
164
  if (sample.length < 5)
@@ -544,4 +551,60 @@ export function formatDoctorResult(result) {
544
551
  : `${failed} problem(s) in ${result.livemode ? "LIVE" : "test"} mode.`);
545
552
  return { text: lines.join("\n"), exitCode: failed === 0 ? 0 : 1 };
546
553
  }
554
+ /**
555
+ * Run both doctors, print them, and exit non-zero when something is actually wrong.
556
+ *
557
+ * Flags: `--url <url>` checks a different endpoint, `--no-webhook` skips the webhook
558
+ * check entirely (correct locally, where by design there IS no endpoint).
559
+ *
560
+ * Exits 2 with a clear message when `STRIPE_SECRET_KEY` is unset, because that
561
+ * variable decides WHICH environment is being checked — a doctor run against the
562
+ * wrong account is worse than no run.
563
+ */
564
+ export async function runBillingDoctor(opts = {}) {
565
+ const argv = opts.argv ?? process.argv.slice(2);
566
+ const log = opts.log ?? ((line) => console.log(line));
567
+ const exit = opts.exit ?? ((code) => process.exit(code));
568
+ if (!process.env.STRIPE_SECRET_KEY) {
569
+ console.error("STRIPE_SECRET_KEY is not set — it decides which environment is checked");
570
+ return exit(2);
571
+ }
572
+ const urlFlag = argv.indexOf("--url");
573
+ const webhookUrl = argv.includes("--no-webhook")
574
+ ? undefined
575
+ : urlFlag !== -1
576
+ ? argv[urlFlag + 1]
577
+ : opts.webhookUrl;
578
+ // The config check first: no network, and it explains most of what the account
579
+ // check would otherwise report as a symptom.
580
+ let planExit = 0;
581
+ if (opts.plans) {
582
+ const plans = formatDoctorResult(checkPlansConfig(opts.plans, {
583
+ hasCheckout: opts.hasCheckout,
584
+ usageLedger: opts.usageLedger,
585
+ }));
586
+ log(plans.text);
587
+ planExit = plans.exitCode;
588
+ }
589
+ // The account half TALKS TO STRIPE, so it can fail outright rather than report a
590
+ // failing check — an invalid key, a revoked one, no network. Both hand-written
591
+ // copies of this caught that at the top level and printed a raw error; here it
592
+ // becomes a legible line and a non-zero exit, and crucially it does not discard
593
+ // the config report already printed above. That report is the half that needs no
594
+ // network and the half Stripe can never tell you about.
595
+ let accountExit = 0;
596
+ try {
597
+ const account = formatDoctorResult(await checkBillingSetup({ webhookUrl, config: opts.config }));
598
+ log(account.text);
599
+ accountExit = account.exitCode;
600
+ }
601
+ catch (e) {
602
+ log(`✗ Stripe: ${e instanceof Error ? e.message : String(e)}`);
603
+ log(" → check STRIPE_SECRET_KEY, and that this machine can reach api.stripe.com");
604
+ accountExit = 1;
605
+ }
606
+ // Either failing fails the run: a good account with a broken catalogue is still
607
+ // broken, and it is the half that never shows up in Stripe.
608
+ return exit(accountExit || planExit);
609
+ }
547
610
  //# sourceMappingURL=doctor.js.map
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ export { createAgentAuth, CLAIM_GRANT_TYPE, type AgentAuthOptions, type AgentAuthBranding, type AgentAuthPaths, type AgentAuthPolicy, type AgentIdentityType, } from "../agent-auth/index.js";
2
+ export { inMemoryClaimStore, type ClaimStore, type ClaimStatus, type ClaimReadResult, } from "../agent-auth/claim-store.js";
3
+ export { createMachinePaymentHandler, createPaymentMd, type MachinePaymentOptions, type MachinePaymentMethod, type PaymentChallenge, type SettleFn, type PaymentMdOptions, } from "../machine-payment/index.js";
4
+ export { createOAuthProxy, type OAuthProxy, type OAuthProxyOptions, type OAuthProxyPaths, type ClaimGrantChain, } from "../oauth-proxy/index.js";
5
+ //# sourceMappingURL=agent-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-auth.d.ts","sourceRoot":"","sources":["../../src/entries/agent-auth.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,17 @@
1
+ // `@arnaudjnn/billing-tools/agent-auth` — the two agent-facing protocols and the
2
+ // OAuth proxy that fronts them.
3
+ //
4
+ // auth.md (WorkOS agent self-registration) and MPP (Stripe's 402 machine-payment
5
+ // challenge) are siblings: one gets an agent an identity, the other gets it a paid
6
+ // resource. Grouped in one entry because an app that mounts either almost always
7
+ // mounts both, and neither is on the path of an app that only sells to humans —
8
+ // which is the reason they should not have been in the root barrel.
9
+ // auth.md — agent self-registration protocol (framework-agnostic handlers).
10
+ export { createAgentAuth, CLAIM_GRANT_TYPE, } from "../agent-auth/index.js";
11
+ export { inMemoryClaimStore, } from "../agent-auth/claim-store.js";
12
+ // MPP — 402 + WWW-Authenticate: Payment. Settlement is injected, so the challenge
13
+ // side is offline-testable without a machine-payments-eligible Stripe account.
14
+ export { createMachinePaymentHandler, createPaymentMd, } from "../machine-payment/index.js";
15
+ // MCP OAuth 2.1 + Dynamic Client Registration proxy.
16
+ export { createOAuthProxy, } from "../oauth-proxy/index.js";
17
+ //# sourceMappingURL=agent-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-auth.js","sourceRoot":"","sources":["../../src/entries/agent-auth.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,gCAAgC;AAChC,EAAE;AACF,iFAAiF;AACjF,mFAAmF;AACnF,iFAAiF;AACjF,gFAAgF;AAChF,oEAAoE;AAEpE,4EAA4E;AAC5E,OAAO,EACL,eAAe,EACf,gBAAgB,GAMjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,GAInB,MAAM,8BAA8B,CAAC;AAEtC,kFAAkF;AAClF,+EAA+E;AAC/E,OAAO,EACL,2BAA2B,EAC3B,eAAe,GAMhB,MAAM,6BAA6B,CAAC;AAErC,qDAAqD;AACrD,OAAO,EACL,gBAAgB,GAKjB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "../plan-model.js";
2
+ export * from "../i18n.js";
3
+ export * from "../types.js";
4
+ //# sourceMappingURL=plans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/entries/plans.ts"],"names":[],"mappings":"AA0BA,cAAc,kBAAkB,CAAC;AAKjC,cAAc,YAAY,CAAC;AAM3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,36 @@
1
+ // `@arnaudjnn/billing-tools/plans` — the plan catalogue and its arithmetic, with
2
+ // NOTHING behind it.
3
+ //
4
+ // The root barrel re-exports 45 modules, so `import { planModel } from
5
+ // "@arnaudjnn/billing-tools"` in a Server Component pulls in the MCP SDK,
6
+ // mcp-handler, authkit-nextjs, Stripe, WorkOS and sales-tax to answer a question
7
+ // about a plain object. This leaf is the same three modules the pricing entry
8
+ // already proves can stand alone: `plan-model.ts`, `i18n.ts` and `types.ts` import
9
+ // no external package at all, so this graph is pure TypeScript.
10
+ //
11
+ // What that buys, beyond bundle size: a config file, a docs generator, a pricing
12
+ // page and a test can all read the catalogue without a Stripe key in the
13
+ // environment. `test/conventions.test.mjs` asserts the purity, because the way it
14
+ // would be lost is one convenient re-export at a time.
15
+ //
16
+ // NOT here, deliberately:
17
+ // • `ensurePlans`, `planPriceId`, `migrateSubscriptions` — they MINT Stripe
18
+ // prices, which is the whole reason `plans.ts` imports Stripe.
19
+ // • `checkPlansConfig` — it lives in `doctor.ts` beside the account audit, which
20
+ // reads Stripe. Import it from the root; it is a deploy-time call, not one a
21
+ // page makes.
22
+ // Both stay available from the root barrel.
23
+ // The five axes, the normalised model, and everything derived from it:
24
+ // definePlans, planModel, normalizePlans, poolSizeOf, packSizeOf, capCovers,
25
+ // rateLimitsOf, cycleWindowFor, validateBasket, toolCapabilities, …
26
+ export * from "../plan-model.js";
27
+ // Localisation of app-authored strings (`Localized`, `resolveLocalized`) and the
28
+ // library's own English defaults (`DEFAULT_MESSAGES`). A plan's display copy is
29
+ // localised, so the plan model cannot be read without these.
30
+ export * from "../i18n.js";
31
+ // The storage seam and the config shape: `BillingAdapter`, `BillingConfig`,
32
+ // `resolveConfig`, `internalDomainsFromEnv`. Deliberately SDK-independent — that
33
+ // abstraction is exactly what lets a non-WorkOS adapter satisfy the interface, and
34
+ // it is why they belong in a pure entry.
35
+ export * from "../types.js";
36
+ //# sourceMappingURL=plans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/entries/plans.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qBAAqB;AACrB,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,iFAAiF;AACjF,8EAA8E;AAC9E,mFAAmF;AACnF,gEAAgE;AAChE,EAAE;AACF,iFAAiF;AACjF,yEAAyE;AACzE,kFAAkF;AAClF,uDAAuD;AACvD,EAAE;AACF,0BAA0B;AAC1B,8EAA8E;AAC9E,mEAAmE;AACnE,mFAAmF;AACnF,iFAAiF;AACjF,kBAAkB;AAClB,4CAA4C;AAE5C,uEAAuE;AACvE,6EAA6E;AAC7E,oEAAoE;AACpE,cAAc,kBAAkB,CAAC;AAEjC,iFAAiF;AACjF,gFAAgF;AAChF,6DAA6D;AAC7D,cAAc,YAAY,CAAC;AAE3B,4EAA4E;AAC5E,iFAAiF;AACjF,mFAAmF;AACnF,yCAAyC;AACzC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { createToolListHandler, createToolDispatchHandler, type Dispatcher } from "../routes/rest.js";
2
+ export { createMcpTransport, type McpTransportOptions } from "../routes/mcp.js";
3
+ export { createStripeWebhookHandler, type WebhookOptions } from "../routes/webhook.js";
4
+ export { ensureWebhookEndpoint, BILLING_WEBHOOK_EVENTS, type EnsureWebhookResult, } from "../webhook-setup.js";
5
+ //# sourceMappingURL=routes.d.ts.map