@arnaudjnn/billing-tools 16.0.0 → 18.0.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.
package/README.md CHANGED
@@ -362,7 +362,7 @@ Stripe objects get minted.
362
362
  | `sells` | `nothing` \| `seats` \| `flat` | what Stripe charges for |
363
363
  | `grant` | `none` \| `purchased_seats` \| `per_member` \| `fixed` | what is CREDITED as money on `invoice.paid` |
364
364
  | `cap` | `wallet` \| `per_seat` \| `pool` | what is INCLUDED, as a counted window |
365
- | `replenish` | `{purchase?, autoReload?, request?}` | how to get more |
365
+ | `replenish` | `{purchase?, autoReload?, request?}` | how to get more. `purchase.min`/`max` bound ONE purchase (default 5 / 200 000 currency units); `request.percent` / `maxPercent` / `presets` / `step` bound and shape one grant (default 25 / 500 / `[25,50,100]` / 25). Read them with `purchaseBounds(model)` / `requestBounds(model)` so a buy form and the tool that refuses it cannot disagree |
366
366
  | `sale` | `free` \| `self_serve` \| `quote` \| `legacy` | whether it can be bought. Required, never inferred |
367
367
 
368
368
  Every example below is typechecked against the published types in CI.
@@ -634,6 +634,7 @@ parameter is typed structurally (`CommandLike`).
634
634
  | `currency` | `"usd"` | Stripe currency |
635
635
  | `freeCredits` | `100` | Welcome credit on first customer creation |
636
636
  | `internalDomains` | `[]` | Orgs with these **verified** WorkOS domains are unmetered (see `internalDomainsFromEnv`) |
637
+ | `roles.purchase` | `"admin"` | Who may spend the workspace's money (`buy_credits`, `set_auto_reload`). `"member"` for a product whose members hold their own cards. Also what `usageAction` reads to decide "buy this" vs "ask an owner" |
637
638
  | `tax.origin` | unset | Where you're established (`"IT"`). Decides domestic vs cross-border, which is the whole question a VAT rate turns on. Unset falls back to the Stripe account's country — `mode: "none"` is how you opt out of tax entirely |
638
639
  | `tax.mode` | derived | `"local"` \| `"stripe"` \| `"none"`. Overrides what `origin` implies |
639
640
 
@@ -110,16 +110,32 @@ export declare function createBoundApi(deps: BoundApiDeps): {
110
110
  * top-up gets a few days and is in the same place next week, which is the mistake
111
111
  * this exists to prevent.
112
112
  */
113
- next: (orgId: string, memberId: string) => Promise<{
114
- ask: "seat";
113
+ next: (orgId: string, memberId: string, actor?: {
114
+ isAdmin?: boolean;
115
+ }) => Promise<{
116
+ rung: "seat" | "credits" | "usage" | "plan";
115
117
  to: string;
118
+ actor: "self" | "admin";
119
+ action: import("./ladder.js").UsageActionTool;
120
+ ask: "seat";
116
121
  } | {
122
+ rung: "seat" | "credits" | "usage" | "plan";
123
+ to?: string;
124
+ actor: "self" | "admin";
125
+ action: import("./ladder.js").UsageActionTool;
117
126
  ask: "credits";
118
127
  } | {
128
+ rung: "seat" | "credits" | "usage" | "plan";
129
+ to?: string;
130
+ actor: "self" | "admin";
131
+ action: import("./ladder.js").UsageActionTool;
119
132
  ask: "usage";
120
133
  } | {
121
- ask: "plan";
134
+ rung: "seat" | "credits" | "usage" | "plan";
122
135
  to: string;
136
+ actor: "self" | "admin";
137
+ action: import("./ladder.js").UsageActionTool;
138
+ ask: "plan";
123
139
  } | null>;
124
140
  resolve: (orgId: string, requestId: string, decision: "done" | "denied") => Promise<import("./ladder.js").PlanRequest | null>;
125
141
  /** Has the workspace already reached what this asked for? */
@@ -1 +1 @@
1
- {"version":3,"file":"bound-api.d.ts","sourceRoot":"","sources":["../src/bound-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bound-api.d.ts","sourceRoot":"","sources":["../src/bound-api.ts"],"names":[],"mappings":"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"}
package/dist/bound-api.js CHANGED
@@ -39,7 +39,7 @@ import { cancelPlan, changePlan, previewPlanChange } from "./subscription.js";
39
39
  import { approveTopUp, denyTopUp, extraAllowance, grantExtraAllowance, grantTopUp, listTopUpRequests, pendingTopUpFor, requestExtraAllowance, requestTopUp, } from "./topup.js";
40
40
  import { closeWorkspace, findOrphanedSubscriptions } from "./close-workspace.js";
41
41
  import { topUpTargetOf } from "./allowance.js";
42
- import { defaultSeatOf, seatLadder, seatTypeExists, isSatisfied, listPlanRequests, nextUsageAsk, pendingPlanRequest, requestPlanChange, requestSeatChange, resolvePlanRequest, } from "./plan-request.js";
42
+ import { defaultSeatOf, seatLadder, seatTypeExists, isSatisfied, listPlanRequests, nextUsageAsk, usageAction, pendingPlanRequest, requestPlanChange, requestSeatChange, resolvePlanRequest, } from "./plan-request.js";
43
43
  import { currentCycle, resolveAllowance } from "./allowance.js";
44
44
  import { callerWithSeat, memberUsage, usageSummary } from "./usage.js";
45
45
  import { planModel } from "./plans.js";
@@ -152,7 +152,10 @@ export function createBoundApi(deps) {
152
152
  * top-up gets a few days and is in the same place next week, which is the mistake
153
153
  * this exists to prevent.
154
154
  */
155
- next: async (orgId, memberId) => {
155
+ next: async (orgId, memberId,
156
+ /** Who is asking. Omit and the answer is owner-level, the reading an org API key
157
+ * with no principal behind it already gets from `enforceAdmin`. */
158
+ actor) => {
156
159
  const plan = await planOf(orgId);
157
160
  const model = planModel(plans, plan);
158
161
  // The same resolved caller the usage SCREEN uses, so the ladder and the bars cannot
@@ -163,14 +166,23 @@ export function createBoundApi(deps) {
163
166
  caller: { kind: "user", id: memberId, seatType: undefined },
164
167
  });
165
168
  const state = await resolveAllowance(adapter, config, { orgId, plans, plan, ledger, caller });
166
- return nextUsageAsk(model, {
169
+ const input = {
167
170
  blocked: topUpTargetOf(state),
168
171
  // The RESOLVED seat, not the raw assignment: an unassigned member draws the
169
172
  // default seat, so the rung above is measured from there.
170
173
  seatType: caller?.seatType ?? null,
171
174
  plans,
172
175
  currentPlan: plan,
173
- });
176
+ };
177
+ const ask = nextUsageAsk(model, input);
178
+ // The rung AND who may act on it. The second half used to be the consumer's, and
179
+ // every consumer worked it out again in the component that draws the button — so
180
+ // an agent hitting the same wall got the rung and no idea whether buying was its
181
+ // call. `action` names the next tool, which is the whole answer for a headless
182
+ // caller and one branch for a UI.
183
+ return ask
184
+ ? { ...ask, ...usageAction(model, { ...input, actor, purchase: config.roles.purchase }) }
185
+ : null;
174
186
  },
175
187
  resolve: (orgId, requestId, decision) => resolvePlanRequest(adapter, orgId, requestId, decision),
176
188
  /** Has the workspace already reached what this asked for? */
@@ -1 +1 @@
1
- {"version":3,"file":"bound-api.js","sourceRoot":"","sources":["../src/bound-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bound-api.js","sourceRoot":"","sources":["../src/bound-api.ts"],"names":[],"mappings":"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"}
@@ -209,16 +209,32 @@ export declare function createBilling(opts: CreateBillingOptions): {
209
209
  pending?: import("./ladder.js").PlanRequest;
210
210
  reason?: "no_upgrade" | "unknown_plan" | "already_pending" | "already_on_it" | "queue_full";
211
211
  }>;
212
- next: (orgId: string, memberId: string) => Promise<{
213
- ask: "seat";
212
+ next: (orgId: string, memberId: string, actor?: {
213
+ isAdmin?: boolean;
214
+ }) => Promise<{
215
+ rung: "seat" | "credits" | "usage" | "plan";
214
216
  to: string;
217
+ actor: "self" | "admin";
218
+ action: import("./ladder.js").UsageActionTool;
219
+ ask: "seat";
215
220
  } | {
221
+ rung: "seat" | "credits" | "usage" | "plan";
222
+ to?: string;
223
+ actor: "self" | "admin";
224
+ action: import("./ladder.js").UsageActionTool;
216
225
  ask: "credits";
217
226
  } | {
227
+ rung: "seat" | "credits" | "usage" | "plan";
228
+ to?: string;
229
+ actor: "self" | "admin";
230
+ action: import("./ladder.js").UsageActionTool;
218
231
  ask: "usage";
219
232
  } | {
220
- ask: "plan";
233
+ rung: "seat" | "credits" | "usage" | "plan";
221
234
  to: string;
235
+ actor: "self" | "admin";
236
+ action: import("./ladder.js").UsageActionTool;
237
+ ask: "plan";
222
238
  } | null>;
223
239
  resolve: (orgId: string, requestId: string, decision: "done" | "denied") => Promise<import("./ladder.js").PlanRequest | null>;
224
240
  satisfied: (orgId: string, request: Parameters<typeof import("./ladder.js").isSatisfied>[0]) => Promise<boolean>;
@@ -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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"}
package/dist/ladder.d.ts CHANGED
@@ -142,4 +142,50 @@ export declare function nextUsageAsk(model: PlanModel | null, input: {
142
142
  ask: "plan";
143
143
  to: string;
144
144
  } | null;
145
+ /** Which tool carries out (or asks for) a rung. Tool names, deliberately: the answer to
146
+ * "I am blocked, now what" should name the next call, not a UI concept a headless caller
147
+ * has to translate. */
148
+ export type UsageActionTool = "assign_seat_type" | "buy_credits" | "grant_top_up" | "change_plan" | "request_seat_change" | "request_top_up" | "request_plan_change";
149
+ export interface UsageAction {
150
+ /** The rung, from `nextUsageAsk`. */
151
+ rung: "seat" | "credits" | "usage" | "plan";
152
+ /** What the rung points at: a seat type, or a plan key. Absent for `credits`/`usage`. */
153
+ to?: string;
154
+ /** Whether the person looking at this can carry it out, or has to ask an admin. */
155
+ actor: "self" | "admin";
156
+ /** The call that does it — the action itself when `actor` is "self", the request when not. */
157
+ action: UsageActionTool;
158
+ }
159
+ /**
160
+ * The rung, and WHO may act on it. `nextUsageAsk` answers the first half; this answers both.
161
+ *
162
+ * The second half used to be the consumer's, and the note here said so. It came back as a
163
+ * gap: every act on a rung is an owner action — `change_plan`, `assign_seat_type` (a seat is
164
+ * a price), `grant_top_up` — so a member's only route is a request, and each app worked that
165
+ * out again in a React component. Scartoffie's lived in the component that renders the
166
+ * button, which meant an agent hitting the same wall through the API got the rung and no
167
+ * idea that buying was not its call.
168
+ *
169
+ * `purchase` is the one part that is genuinely a deployment's choice (`config.roles.purchase`),
170
+ * because a product whose members hold their own cards is a real arrangement. Everything else
171
+ * follows from gates this library already enforces, so it is read rather than configured
172
+ * twice — and `buy_credits` enforces the same value, which is what makes this answer true
173
+ * rather than advisory.
174
+ */
175
+ export declare function usageAction(model: PlanModel | null, input: {
176
+ blocked: {
177
+ kind: "rate" | "pack";
178
+ covers?: "all" | "included";
179
+ } | null;
180
+ seatType?: string | null;
181
+ plans: PlanCatalog;
182
+ currentPlan?: string | null;
183
+ /** The person asking. An org API key with no principal behind it IS the org, so it is
184
+ * owner-level — the same reading `enforceAdmin` applies. */
185
+ actor?: {
186
+ isAdmin?: boolean;
187
+ };
188
+ /** `config.roles.purchase`. Defaults to the config default, not to permissive. */
189
+ purchase?: "admin" | "member";
190
+ }): UsageAction | null;
145
191
  //# sourceMappingURL=ladder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ladder.d.ts","sourceRoot":"","sources":["../src/ladder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ladder.d.ts","sourceRoot":"","sources":["../src/ladder.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAoBzB;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAInE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAE7D;AAED;oDACoD;AACpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI1E;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAGnF;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAE5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1E;AAID;8FAC8F;AAC9F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAWjD;AAED,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;oEACgE;IAChE,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAiBvF;AAID,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,MAAM,GAAG,IAAI;AAC1B,kEAAkE;AAClE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,OAAO,CAUT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,KAAK,EAAE;IACL,+FAA+F;IAC/F,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,GACA;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmC1G;AAED;;wBAEwB;AACxB,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,aAAa,GACb,qBAAqB,GACrB,gBAAgB,GAChB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5C,yFAAyF;IACzF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,8FAA8F;IAC9F,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,KAAK,EAAE;IACL,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;iEAC6D;IAC7D,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B,GACA,WAAW,GAAG,IAAI,CA6BpB"}
package/dist/ladder.js CHANGED
@@ -85,10 +85,17 @@ export function seatTypeExists(model, seatType) {
85
85
  export function planRank(model) {
86
86
  if (model.sale === "quote")
87
87
  return Number.MAX_SAFE_INTEGER;
88
- const basket = defaultBasket(model);
89
88
  if (model.sells.kind === "flat")
90
89
  return model.sells.price.monthly;
91
- return model.seatTypes.reduce((sum, s) => sum + (basket[s.key] ?? 0) * s.price.monthly, 0);
90
+ const basket = defaultBasket(model);
91
+ const priced = model.seatTypes.reduce((sum, s) => sum + (basket[s.key] ?? 0) * s.price.monthly, 0);
92
+ // A seat plan whose types declare no `min` has an EMPTY default basket, which priced the
93
+ // plan at zero — so it tied with the free tier and `planActions` reported no upgrade
94
+ // above it. "There is nothing better than free" is not something a catalogue should be
95
+ // able to say by omission, so an empty basket falls back to one seat at the entry price.
96
+ if (priced > 0)
97
+ return priced;
98
+ return seatLadder(model)[0]?.price.monthly ?? 0;
92
99
  }
93
100
  /**
94
101
  * Which of upgrade / downgrade / cancel apply to an org on `currentPlan`.
@@ -193,4 +200,49 @@ export function nextUsageAsk(model, input) {
193
200
  const up = planActions(input.plans, input.currentPlan ?? null).upgradeTo;
194
201
  return up ? { ask: "plan", to: up } : null;
195
202
  }
203
+ /**
204
+ * The rung, and WHO may act on it. `nextUsageAsk` answers the first half; this answers both.
205
+ *
206
+ * The second half used to be the consumer's, and the note here said so. It came back as a
207
+ * gap: every act on a rung is an owner action — `change_plan`, `assign_seat_type` (a seat is
208
+ * a price), `grant_top_up` — so a member's only route is a request, and each app worked that
209
+ * out again in a React component. Scartoffie's lived in the component that renders the
210
+ * button, which meant an agent hitting the same wall through the API got the rung and no
211
+ * idea that buying was not its call.
212
+ *
213
+ * `purchase` is the one part that is genuinely a deployment's choice (`config.roles.purchase`),
214
+ * because a product whose members hold their own cards is a real arrangement. Everything else
215
+ * follows from gates this library already enforces, so it is read rather than configured
216
+ * twice — and `buy_credits` enforces the same value, which is what makes this answer true
217
+ * rather than advisory.
218
+ */
219
+ export function usageAction(model, input) {
220
+ const ask = nextUsageAsk(model, input);
221
+ if (!ask)
222
+ return null;
223
+ const isAdmin = input.actor?.isAdmin ?? true;
224
+ const mayBuy = isAdmin || (input.purchase ?? "admin") === "member";
225
+ switch (ask.ask) {
226
+ case "seat":
227
+ return isAdmin
228
+ ? { rung: "seat", to: ask.to, actor: "admin", action: "assign_seat_type" }
229
+ : { rung: "seat", to: ask.to, actor: "self", action: "request_seat_change" };
230
+ case "credits":
231
+ // The one rung where the answer is money rather than permission, so it is the one
232
+ // rung `roles.purchase` can move.
233
+ return mayBuy
234
+ ? { rung: "credits", actor: "admin", action: "buy_credits" }
235
+ : { rung: "credits", actor: "self", action: "request_top_up" };
236
+ case "usage":
237
+ // Nothing to buy: this window is the product's own pace, and only an exception lifts
238
+ // it. The member asks, an admin grants.
239
+ return isAdmin
240
+ ? { rung: "usage", actor: "admin", action: "grant_top_up" }
241
+ : { rung: "usage", actor: "self", action: "request_top_up" };
242
+ case "plan":
243
+ return isAdmin
244
+ ? { rung: "plan", to: ask.to, actor: "admin", action: "change_plan" }
245
+ : { rung: "plan", to: ask.to, actor: "self", action: "request_plan_change" };
246
+ }
247
+ }
196
248
  //# sourceMappingURL=ladder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ladder.js","sourceRoot":"","sources":["../src/ladder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ladder.js","sourceRoot":"","sources":["../src/ladder.ts"],"names":[],"mappings":"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"}
@@ -240,9 +240,19 @@ export type Cap =
240
240
  onExhausted?: Exhausted;
241
241
  };
242
242
  export interface Replenish {
243
- /** Self-serve credit purchase. */
243
+ /**
244
+ * Self-serve credit purchase.
245
+ *
246
+ * `min`/`max` are what ONE purchase may be, in currency units — the bounds `buy_credits`
247
+ * and `preview_credit_purchase` enforce. They were literals in the tool schema (5 and
248
+ * 200 000) and again in every consumer's buy form, which is two places for one rule and
249
+ * exactly the kind that drifts silently: a UI that lets someone type 3 gets a 400 from a
250
+ * tool whose own description promised 5.
251
+ */
244
252
  purchase?: {
245
253
  packs?: readonly Money[];
254
+ min?: Money;
255
+ max?: Money;
246
256
  };
247
257
  /**
248
258
  * Threshold-triggered card charge. These are the DEFAULTS the plan offers;
@@ -270,8 +280,44 @@ export interface Replenish {
270
280
  request?: {
271
281
  percent?: number;
272
282
  maxPerCycle?: Money;
283
+ /**
284
+ * The most one grant may be worth, as a share of the member's pack. Default 500.
285
+ *
286
+ * A ceiling exists because this is a number an owner types: `percent: 2500` is a typo
287
+ * that hands out 25× a seat, silently and for free. The consuming app clamped it in its
288
+ * own server action and again in its number input, and the tool accepted 1000 — three
289
+ * answers, and the one an agent hit was the loosest.
290
+ */
291
+ maxPercent?: number;
292
+ /** The percentages a UI offers as one-tap choices. Default `[25, 50, 100]`. */
293
+ presets?: readonly number[];
294
+ /** Step for a custom percentage input. Default 25. */
295
+ step?: number;
273
296
  };
274
297
  }
298
+ /** What one credit purchase may be, for this plan: the bounds the tools enforce and the
299
+ * ones a buy form must not contradict. Currency units, not credits. */
300
+ export declare function purchaseBounds(model: PlanModel | null): {
301
+ min: number;
302
+ max: number;
303
+ };
304
+ /** What one grant/ask may be worth, for this plan, plus what a UI should offer. */
305
+ export declare function requestBounds(model: PlanModel | null): {
306
+ percent: number;
307
+ maxPercent: number;
308
+ presets: readonly number[];
309
+ step: number;
310
+ };
311
+ /** One purchase, in currency units. Stripe's own floor is well below this; 5 is the point
312
+ * where the processing fee stops eating the purchase. */
313
+ export declare const DEFAULT_PURCHASE_MIN = 5;
314
+ export declare const DEFAULT_PURCHASE_MAX = 200000;
315
+ /** What one ask is worth when the plan does not say: a quarter of the member's pack. */
316
+ export declare const DEFAULT_REQUEST_PERCENT = 25;
317
+ /** And the most any single grant may be, so a mistyped 2500 cannot hand out 25× a seat. */
318
+ export declare const DEFAULT_MAX_PERCENT = 500;
319
+ export declare const DEFAULT_PERCENT_PRESETS: readonly number[];
320
+ export declare const DEFAULT_PERCENT_STEP = 25;
275
321
  export type Sale =
276
322
  /** No money. The plan a workspace lands on. */
277
323
  "free"
@@ -1 +1 @@
1
- {"version":3,"file":"plan-model.d.ts","sourceRoot":"","sources":["../src/plan-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-model.d.ts","sourceRoot":"","sources":["../src/plan-model.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,34 @@ export const INTERVALS = ["monthly", "yearly"];
43
43
  // ── Axis 1: what Stripe SELLS ───────────────────────────────────────────────
44
44
  /** The seat type a member is assumed to hold when nothing says otherwise. */
45
45
  export const DEFAULT_SEAT_TYPE = "standard";
46
+ /** What one credit purchase may be, for this plan: the bounds the tools enforce and the
47
+ * ones a buy form must not contradict. Currency units, not credits. */
48
+ export function purchaseBounds(model) {
49
+ return {
50
+ min: model?.replenish.purchase?.min ?? DEFAULT_PURCHASE_MIN,
51
+ max: model?.replenish.purchase?.max ?? DEFAULT_PURCHASE_MAX,
52
+ };
53
+ }
54
+ /** What one grant/ask may be worth, for this plan, plus what a UI should offer. */
55
+ export function requestBounds(model) {
56
+ const r = model?.replenish.request;
57
+ return {
58
+ percent: r?.percent ?? DEFAULT_REQUEST_PERCENT,
59
+ maxPercent: r?.maxPercent ?? DEFAULT_MAX_PERCENT,
60
+ presets: r?.presets ?? DEFAULT_PERCENT_PRESETS,
61
+ step: r?.step ?? DEFAULT_PERCENT_STEP,
62
+ };
63
+ }
64
+ /** One purchase, in currency units. Stripe's own floor is well below this; 5 is the point
65
+ * where the processing fee stops eating the purchase. */
66
+ export const DEFAULT_PURCHASE_MIN = 5;
67
+ export const DEFAULT_PURCHASE_MAX = 200_000;
68
+ /** What one ask is worth when the plan does not say: a quarter of the member's pack. */
69
+ export const DEFAULT_REQUEST_PERCENT = 25;
70
+ /** And the most any single grant may be, so a mistyped 2500 cannot hand out 25× a seat. */
71
+ export const DEFAULT_MAX_PERCENT = 500;
72
+ export const DEFAULT_PERCENT_PRESETS = [25, 50, 100];
73
+ export const DEFAULT_PERCENT_STEP = 25;
46
74
  /**
47
75
  * Identity helper for a plans config.
48
76
  *