@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.
- package/README.md +1 -1
- package/dist/adapters/workos-org.d.ts +23 -0
- package/dist/adapters/workos-org.d.ts.map +1 -1
- package/dist/adapters/workos-org.js +4 -2
- package/dist/adapters/workos-org.js.map +1 -1
- package/dist/bound-api.d.ts +173 -0
- package/dist/bound-api.d.ts.map +1 -0
- package/dist/bound-api.js +152 -0
- package/dist/bound-api.js.map +1 -0
- package/dist/cli/commands.js +25 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/create-billing.d.ts +128 -41
- package/dist/create-billing.d.ts.map +1 -1
- package/dist/create-billing.js +24 -14
- package/dist/create-billing.js.map +1 -1
- package/dist/doctor.d.ts +31 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +63 -0
- package/dist/doctor.js.map +1 -1
- package/dist/entries/agent-auth.d.ts +5 -0
- package/dist/entries/agent-auth.d.ts.map +1 -0
- package/dist/entries/agent-auth.js +17 -0
- package/dist/entries/agent-auth.js.map +1 -0
- package/dist/entries/plans.d.ts +4 -0
- package/dist/entries/plans.d.ts.map +1 -0
- package/dist/entries/plans.js +36 -0
- package/dist/entries/plans.js.map +1 -0
- package/dist/entries/routes.d.ts +5 -0
- package/dist/entries/routes.d.ts.map +1 -0
- package/dist/entries/routes.js +17 -0
- package/dist/entries/routes.js.map +1 -0
- package/dist/entries/tools.d.ts +6 -0
- package/dist/entries/tools.d.ts.map +1 -0
- package/dist/entries/tools.js +20 -0
- package/dist/entries/tools.js.map +1 -0
- package/dist/index.d.ts +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -16
- package/dist/index.js.map +1 -1
- package/dist/metering.d.ts +4 -3
- package/dist/metering.d.ts.map +1 -1
- package/dist/metering.js.map +1 -1
- package/dist/plan-model.d.ts +58 -3
- package/dist/plan-model.d.ts.map +1 -1
- package/dist/plan-model.js +61 -4
- package/dist/plan-model.js.map +1 -1
- package/dist/plans.d.ts +2 -2
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +1 -1
- package/dist/plans.js.map +1 -1
- package/dist/tools/billing.d.ts +2 -1
- package/dist/tools/billing.d.ts.map +1 -1
- package/dist/tools/billing.js +185 -64
- package/dist/tools/billing.js.map +1 -1
- package/dist/tools/management.d.ts +2 -1
- package/dist/tools/management.d.ts.map +1 -1
- package/dist/tools/management.js +210 -187
- package/dist/tools/management.js.map +1 -1
- package/dist/tools/register.d.ts +13 -1
- package/dist/tools/register.d.ts.map +1 -1
- package/dist/tools/register.js +28 -6
- package/dist/tools/register.js.map +1 -1
- package/dist/tools/subscription.d.ts +2 -1
- package/dist/tools/subscription.d.ts.map +1 -1
- package/dist/tools/subscription.js +115 -108
- package/dist/tools/subscription.js.map +1 -1
- package/dist/usage-ledger.d.ts +15 -37
- package/dist/usage-ledger.d.ts.map +1 -1
- package/dist/usage-ledger.js +24 -119
- package/dist/usage-ledger.js.map +1 -1
- package/dist/usage-scopes.d.ts +55 -0
- package/dist/usage-scopes.d.ts.map +1 -0
- package/dist/usage-scopes.js +284 -0
- package/dist/usage-scopes.js.map +1 -0
- package/dist/util/clearout.d.ts.map +1 -1
- package/dist/util/clearout.js +15 -3
- package/dist/util/clearout.js.map +1 -1
- package/package.json +21 -1
- package/dist/usage-counters.d.ts +0 -104
- package/dist/usage-counters.d.ts.map +0 -1
- package/dist/usage-counters.js +0 -214
- package/dist/usage-counters.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/entries/routes.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIvF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// `@arnaudjnn/billing-tools/routes` — the Next route factories.
|
|
2
|
+
//
|
|
3
|
+
// One import per file you mount: the REST list + dispatch handlers, the MCP
|
|
4
|
+
// transport, and the Stripe webhook. Carries Stripe and mcp-handler because those
|
|
5
|
+
// ARE the surfaces; carries no WorkOS, no authkit and no React.
|
|
6
|
+
//
|
|
7
|
+
// `createBilling` is deliberately absent — it composes these three plus the tools,
|
|
8
|
+
// the agent-auth handlers and the MPP handler, so it needs the whole graph and
|
|
9
|
+
// stays at the root, where it also guarantees the single module instance its shared
|
|
10
|
+
// AsyncLocalStorage depends on.
|
|
11
|
+
export { createToolListHandler, createToolDispatchHandler } from "../routes/rest.js";
|
|
12
|
+
export { createMcpTransport } from "../routes/mcp.js";
|
|
13
|
+
export { createStripeWebhookHandler } from "../routes/webhook.js";
|
|
14
|
+
// Registering the endpoint from a deploy script rather than the Dashboard: the
|
|
15
|
+
// signing secret Stripe returns once, at creation, is why this cannot be lazy.
|
|
16
|
+
export { ensureWebhookEndpoint, BILLING_WEBHOOK_EVENTS, } from "../webhook-setup.js";
|
|
17
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/entries/routes.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,4EAA4E;AAC5E,kFAAkF;AAClF,gEAAgE;AAChE,EAAE;AACF,mFAAmF;AACnF,+EAA+E;AAC/E,oFAAoF;AACpF,gCAAgC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAmB,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAA4B,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAuB,MAAM,sBAAsB,CAAC;AAEvF,+EAA+E;AAC/E,+EAA+E;AAC/E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { registerBillingTools, installInputLogging, BILLING_TOOL_NAMES, type RegisterBillingToolsOptions, } from "../tools/register.js";
|
|
2
|
+
export type { TopUpToolOptions } from "../tools/billing.js";
|
|
3
|
+
export type { SubscriptionToolOptions } from "../tools/subscription.js";
|
|
4
|
+
export { toolCapabilities, ALL_TOOL_CAPABILITIES, type ToolCapabilities, } from "../plan-model.js";
|
|
5
|
+
export { createDispatcher, ToolValidationError, type RegisterFn } from "../dispatch.js";
|
|
6
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/entries/tools.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,2BAA2B,GACjC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAKxE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// `@arnaudjnn/billing-tools/tools` — registering the billing tool surface, and the
|
|
2
|
+
// REST bridge that turns it into endpoints.
|
|
3
|
+
//
|
|
4
|
+
// Carries the MCP SDK, zod, Stripe and WorkOS (the handlers move money and read
|
|
5
|
+
// the org), which is unavoidable. What it does NOT carry is mcp-handler or
|
|
6
|
+
// authkit-nextjs — those belong to the transports and the UI, and the root barrel
|
|
7
|
+
// reaches both, so an app that only registers tools was resolving two peer deps it
|
|
8
|
+
// never called.
|
|
9
|
+
//
|
|
10
|
+
// `createDispatcher` is here rather than under `/routes` because it is what makes
|
|
11
|
+
// the parity rule structural — it monkey-patches `server.tool`, so every tool
|
|
12
|
+
// registered here is a REST endpoint with no extra wiring, and the route factories
|
|
13
|
+
// are just its HTTP shell.
|
|
14
|
+
export { registerBillingTools, installInputLogging, BILLING_TOOL_NAMES, } from "../tools/register.js";
|
|
15
|
+
// Which groups the catalogue can satisfy. Exported here as well as from the pure
|
|
16
|
+
// `/plans` leaf because it is the argument `registerBillingTools` reads, and an app
|
|
17
|
+
// overriding a group wants both names from one import.
|
|
18
|
+
export { toolCapabilities, ALL_TOOL_CAPABILITIES, } from "../plan-model.js";
|
|
19
|
+
export { createDispatcher, ToolValidationError } from "../dispatch.js";
|
|
20
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/entries/tools.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,4CAA4C;AAC5C,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,kFAAkF;AAClF,mFAAmF;AACnF,gBAAgB;AAChB,EAAE;AACF,kFAAkF;AAClF,8EAA8E;AAC9E,mFAAmF;AACnF,2BAA2B;AAE3B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAI9B,iFAAiF;AACjF,oFAAoF;AACpF,uDAAuD;AACvD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAmB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { resolveConfig, internalDomainsFromEnv } from "./types.js";
|
|
1
|
+
export * from "./entries/plans.js";
|
|
3
2
|
export { authContext, runWithAuth, runWithResolvedOrg, runWithPrincipal, currentPrincipal, enforceAccess, enforceAdmin, type Principal, enforceCredits, } from "./auth.js";
|
|
4
3
|
export { getWorkOS } from "./workos.js";
|
|
5
4
|
export { createWorkOSOrgMirror, ALL_MEMBERSHIP_STATUSES, type WorkOSOrgMirror, type WorkOSOrgMirrorOptions, } from "./org-mirror.js";
|
|
6
5
|
export { getStripe, stripeConfigured, ensureStripeCustomer, getBillingCustomerId, getOrgSubscription, getCreditBalance, deductCredits, grantCredits, usageSince, createCreditCheckoutSession, quoteCreditPurchase, invalidateCreditQuotes, type CreditQuote, createBillingPortalSession, getAutoReloadSettings, setAutoReloadSettings, getSpendControls, setSpendControls, spendControlsOf, type SpendControls, tryAutoReload, autoReloadFor, type TopUpCheckoutOptions, listInvoices, getInvoice, invoicePdfUrl, listOrgInvoices, getOrgInvoice, orgInvoicePdfUrl, listSubscriptionPrices, resolveSubscriptionPrice, type InvoiceEntry, type StripePrice, } from "./billing.js";
|
|
7
|
-
export { ensurePlans, resolvePlanPrices, invalidatePlanPrices, migrateSubscriptions, planPriceId, planForPriceId, seatTypeForPriceId, seatLimit, seatTypeLimit, planSale,
|
|
8
|
-
export { changePlan, cancelPlan, planActions, planRank, PlanChangeError, type PlanChangeResult, type PlanChangeKind, type PlanChangeTiming, type PlanChangeErrorCode, type ProrationPolicy, type PlanActions, } from "./subscription.js";
|
|
9
|
-
export { resolveLocalized, resolveLocalizedList, resolveMessages, formatMessage, DEFAULT_MESSAGES, type Localized, type LocalizedList, type LocaleOptions, type Messages, type PartialMessages, } from "./i18n.js";
|
|
6
|
+
export { ensurePlans, resolvePlanPrices, invalidatePlanPrices, migrateSubscriptions, planPriceId, planForPriceId, seatTypeForPriceId, seatLimit, seatTypeLimit, planSale, includedCredits, includedCreditsByType, lookupKeyFor, DEFAULT_SEAT_TYPES, type EnsuredPrice, type PlanPrices, type MigratedSubscription, type MigrateSubscriptionsResult, type Quantities as PlanQuantities, } from "./plans.js";
|
|
7
|
+
export { changePlan, cancelPlan, planActions, planRank, previewPlanChange, PlanChangeError, type PlanChangePreview, type PlanChangeResult, type PlanChangeKind, type PlanChangeTiming, type PlanChangeErrorCode, type ProrationPolicy, type PlanActions, } from "./subscription.js";
|
|
10
8
|
export { derivePlanViews, derivePlanView, renderPlansMarkdown, renderRateCardMarkdown, defineCompare, deriveCompareTable, compareRowLabels, type PlanView, type PlanPriceView, type SeatRowView, type CtaView, type MoneyView, type DerivePlanViewsOptions, type MarkdownOptions, type CompareConfig, type CompareSection, type CompareGroup, type CompareRow, type CompareValue, type CompareSource, type CompareCell, type CompareTableView, type CompareSectionView, type CompareGroupView, type CompareRowView, type DeriveCompareOptions, } from "./pricing.js";
|
|
11
9
|
export { resolveAllowance, fundingFor, describeDenial, currentCycle, type AllowanceState, type AllowanceInput, type FundingDecision, type DenialReason, type LimitState, } from "./allowance.js";
|
|
12
10
|
export { usageSummary, memberUsage, resolveSeat, type UsageSummary, type UsageSummaryInput, type UsageWindow, type UsageSeat, type MemberUsage, } from "./usage.js";
|
|
13
|
-
export { stripeBalanceUsageLedger,
|
|
14
|
-
export {
|
|
11
|
+
export { stripeBalanceUsageLedger, stripeMeterUsageLedger, stripeUsageLedger, defaultUsageLedger, warnLedgerGaps, ensureMeters, invalidateMeters, USAGE_METER_EVENT, type UsageLedger, type UsageEvent, type UsageQuery, type FundingSource, } from "./usage-ledger.js";
|
|
12
|
+
export { stripeScopeUsageLedger, invalidateUsageScopes, scopeOf, scopesFor, SCOPE_METER_EVENT, USAGE_SCOPE_KIND, USAGE_SCOPE_KEY, type ScopeLedgerOptions, } from "./usage-scopes.js";
|
|
15
13
|
export { meterUsage, createMeter, createApiMeterGuard, type MeterCaller, type MeterInput, type MeterResult, type MeterConfig, type MeterCallOpts, type Meter, type ApiMeterGuard, } from "./metering.js";
|
|
16
14
|
export { requestTopUp, listTopUpRequests, approveTopUp, denyTopUp, grantTopUp, grantExtraAllowance, extraAllowance, trimRequestsToBudget, METADATA_VALUE_LIMIT, type TopUpRequest, } from "./topup.js";
|
|
17
15
|
export { assignSeatType, listSeatAssignments, getSeatType, } from "./seats.js";
|
|
@@ -24,6 +22,7 @@ export { registerBillingTools, installInputLogging, BILLING_TOOL_NAMES, type Reg
|
|
|
24
22
|
export type { TopUpToolOptions } from "./tools/billing.js";
|
|
25
23
|
export { createDispatcher, ToolValidationError, type RegisterFn } from "./dispatch.js";
|
|
26
24
|
export { createBilling, type CreateBillingOptions } from "./create-billing.js";
|
|
25
|
+
export { createBoundApi, type BillingApi, type BoundApiDeps } from "./bound-api.js";
|
|
27
26
|
export { createAgentAuth, CLAIM_GRANT_TYPE, type AgentAuthOptions, type AgentAuthBranding, type AgentAuthPaths, type AgentAuthPolicy, type AgentIdentityType, } from "./agent-auth/index.js";
|
|
28
27
|
export { inMemoryClaimStore, type ClaimStore, type ClaimStatus, type ClaimReadResult, } from "./agent-auth/claim-store.js";
|
|
29
28
|
export { createMachinePaymentHandler, createPaymentMd, type MachinePaymentOptions, type MachinePaymentMethod, type PaymentChallenge, type SettleFn, type PaymentMdOptions, } from "./machine-payment/index.js";
|
|
@@ -34,7 +33,7 @@ export { createStripeWebhookHandler, type WebhookOptions } from "./routes/webhoo
|
|
|
34
33
|
export { ensureWebhookEndpoint, BILLING_WEBHOOK_EVENTS, type EnsureWebhookResult, } from "./webhook-setup.js";
|
|
35
34
|
export { resolveTax, ensureStripeTaxRate, invalidateTaxRates, taxRatesFor, updateCheckoutSessionTaxRates, taxFor, taxModeOf, type TaxMode, type TaxDecision, } from "./tax.js";
|
|
36
35
|
export { ensureTaxSetup, type TaxRegistrationSpec, type TaxSetupResult, } from "./tax-setup.js";
|
|
37
|
-
export { checkBillingSetup, checkPlansConfig, formatDoctorResult, type Check, type CheckLevel, type DoctorResult, } from "./doctor.js";
|
|
36
|
+
export { checkBillingSetup, checkPlansConfig, formatDoctorResult, runBillingDoctor, type RunDoctorOptions, type Check, type CheckLevel, type DoctorResult, } from "./doctor.js";
|
|
38
37
|
export { setupBilling, formatSetupReport, type SetupOptions, type SetupResult, type SetupStep, } from "./setup.js";
|
|
39
38
|
export { registerBillingCommands } from "./cli/commands.js";
|
|
40
39
|
export { callTool, listTools, type ApiClientConfig } from "./cli/client.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
// billing-tools — make your Stripe + WorkOS app ready to get paid.
|
|
2
|
-
|
|
2
|
+
// The whole PURE half of the library, in one line: the plan model and its five
|
|
3
|
+
// axes, the storage seam (`BillingAdapter`, `BillingConfig`, `resolveConfig`) and
|
|
4
|
+
// the i18n helpers. It is re-exported wholesale from the `/plans` leaf rather than
|
|
5
|
+
// re-listed here, because a hand-maintained list of 89 names is a list that drifts
|
|
6
|
+
// — `list_plans` sat in `BILLING_TOOL_NAMES`-adjacent limbo for exactly that
|
|
7
|
+
// reason, registered and unadvertised. The leaf is curated, so `export *` widens
|
|
8
|
+
// nothing that was not already intended public.
|
|
9
|
+
export * from "./entries/plans.js";
|
|
3
10
|
// Auth engine
|
|
4
11
|
export { authContext, runWithAuth, runWithResolvedOrg, runWithPrincipal, currentPrincipal, enforceAccess, enforceAdmin, enforceCredits, } from "./auth.js";
|
|
5
12
|
// The two SDK clients. Both are memoised singletons that read the env lazily,
|
|
@@ -13,18 +20,20 @@ export { createWorkOSOrgMirror, ALL_MEMBERSHIP_STATUSES, } from "./org-mirror.js
|
|
|
13
20
|
// Billing engine (Stripe math)
|
|
14
21
|
export { getStripe, stripeConfigured, ensureStripeCustomer, getBillingCustomerId, getOrgSubscription, getCreditBalance, deductCredits, grantCredits, usageSince, createCreditCheckoutSession, quoteCreditPurchase, invalidateCreditQuotes, createBillingPortalSession, getAutoReloadSettings, setAutoReloadSettings, getSpendControls, setSpendControls, spendControlsOf, tryAutoReload, autoReloadFor, listInvoices, getInvoice, invoicePdfUrl, listOrgInvoices, getOrgInvoice, orgInvoicePdfUrl, listSubscriptionPrices, resolveSubscriptionPrice, } from "./billing.js";
|
|
15
22
|
// Declarative plans (auto-provision Stripe products/prices from config)
|
|
16
|
-
export {
|
|
17
|
-
// The
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
definePlans, isLegacyPlan, normalizePlan, normalizePlans, planModel, plansWhere, selfServePlans, defaultBasket, validateBasket, describeBasketProblem, grantFor, poolSizeOf, poolIsPerSeat, packSizeOf, exhaustedPolicy, capCovers, cycleWindowFor, rateWindowFor, rateLimitsOf, ledgerGaps, coverageNeededBy, includedCredits, includedCreditsByType, lookupKeyFor, DEFAULT_SEAT_TYPES, } from "./plans.js";
|
|
23
|
+
export {
|
|
24
|
+
// The Stripe-touching half of the catalogue: minting prices, reading them back,
|
|
25
|
+
// and repricing live subscribers. The pure model comes from the leaf above.
|
|
26
|
+
ensurePlans, resolvePlanPrices, invalidatePlanPrices, migrateSubscriptions, planPriceId, planForPriceId, seatTypeForPriceId, seatLimit, seatTypeLimit, planSale, includedCredits, includedCreditsByType, lookupKeyFor, DEFAULT_SEAT_TYPES, } from "./plans.js";
|
|
21
27
|
// The subscription lifecycle: one entry point for up, down and off. Before this,
|
|
22
28
|
// every plan or seat change opened a fresh Checkout Session and created a SECOND
|
|
23
29
|
// subscription, so the customer was billed twice.
|
|
24
|
-
export { changePlan, cancelPlan, planActions, planRank,
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
|
|
30
|
+
export { changePlan, cancelPlan, planActions, planRank,
|
|
31
|
+
// The READ side of the same arithmetic, and it was missing from this barrel:
|
|
32
|
+
// `preview_plan_change` used it internally, so an agent could quote a change and
|
|
33
|
+
// a server action could not. That is the parity rule inverted — a confirm dialog
|
|
34
|
+
// saying "nothing is charged today" with no way to say what the NEXT invoice comes
|
|
35
|
+
// to is the surprise `nextInvoiceAt` + `nextInvoiceTotal` exist to remove.
|
|
36
|
+
previewPlanChange, PlanChangeError, } from "./subscription.js";
|
|
28
37
|
// Pricing view models: the plan config turned into what a surface renders. Also
|
|
29
38
|
// available as the leaf entry point `@arnaudjnn/billing-tools/pricing`, which
|
|
30
39
|
// pulls in neither Stripe nor WorkOS — so a client component and a docs
|
|
@@ -45,11 +54,19 @@ currentCycle, } from "./allowance.js";
|
|
|
45
54
|
// per member, from the numbers the meter itself enforces.
|
|
46
55
|
export { usageSummary, memberUsage, resolveSeat, } from "./usage.js";
|
|
47
56
|
// Counting usage separately from moving money — the seam an included window needs.
|
|
48
|
-
export { stripeBalanceUsageLedger,
|
|
49
|
-
//
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
|
|
57
|
+
export { stripeBalanceUsageLedger, stripeMeterUsageLedger, stripeUsageLedger, defaultUsageLedger, warnLedgerGaps, ensureMeters, invalidateMeters, USAGE_METER_EVENT, } from "./usage-ledger.js";
|
|
58
|
+
// The per-caller leg, and the reason this library ships no store at all any more:
|
|
59
|
+
// one Stripe Customer per usage SCOPE, so the one window Stripe supposedly cannot
|
|
60
|
+
// count — INCLUDED and PER-MEMBER — is counted by Stripe after all. Wallet-funded
|
|
61
|
+
// usage still comes from the debits, which is why a caller-scoped rate limit keeps
|
|
62
|
+
// its zero lag while a seat pack tolerates the meter's.
|
|
63
|
+
//
|
|
64
|
+
// The Postgres and Redis backends that used to fill this gap
|
|
65
|
+
// (`postgresUsageLedger`, `counterUsageLedger`, `sqlUsageCounters`,
|
|
66
|
+
// `redisUsageCounters`, and the `meter.db` / `meter.counters` shortcuts) are GONE.
|
|
67
|
+
// They existed for exactly this question, and a database is no longer the answer
|
|
68
|
+
// to it. Bring your own `ledger` if you want the per-action history a store keeps.
|
|
69
|
+
export { stripeScopeUsageLedger, invalidateUsageScopes, scopeOf, scopesFor, SCOPE_METER_EVENT, USAGE_SCOPE_KIND, USAGE_SCOPE_KEY, } from "./usage-scopes.js";
|
|
53
70
|
// Per-execution metering engine (prepaid balance; per-seat packs or a global
|
|
54
71
|
// pool; usage summed from Stripe balance-transaction metadata — no new backend).
|
|
55
72
|
export { meterUsage, createMeter, createApiMeterGuard, } from "./metering.js";
|
|
@@ -79,6 +96,12 @@ export { registerBillingTools, installInputLogging, BILLING_TOOL_NAMES, } from "
|
|
|
79
96
|
export { createDispatcher, ToolValidationError } from "./dispatch.js";
|
|
80
97
|
// One-call composition helper (mount every surface from one config)
|
|
81
98
|
export { createBilling } from "./create-billing.js";
|
|
99
|
+
// The org-scoped API with adapter/config/plans/ledger already applied — what
|
|
100
|
+
// `createBilling().api` returns. Exported standalone for a consumer composing the
|
|
101
|
+
// factories by hand: 37 functions here take the adapter first, and re-binding them
|
|
102
|
+
// per app is ~40 files of mechanical wrappers AND the one place a grant can be
|
|
103
|
+
// filed against the wrong cycle.
|
|
104
|
+
export { createBoundApi } from "./bound-api.js";
|
|
82
105
|
// auth.md — agent self-registration protocol (framework-agnostic handlers)
|
|
83
106
|
export { createAgentAuth, CLAIM_GRANT_TYPE, } from "./agent-auth/index.js";
|
|
84
107
|
export { inMemoryClaimStore, } from "./agent-auth/claim-store.js";
|
|
@@ -102,7 +125,10 @@ taxFor, taxModeOf, } from "./tax.js";
|
|
|
102
125
|
export { ensureTaxSetup, } from "./tax-setup.js";
|
|
103
126
|
// Preflight for the misconfigurations that fail silently (zero tax, unspecified
|
|
104
127
|
// tax_behavior, a missing or disabled endpoint, duplicates).
|
|
105
|
-
export { checkBillingSetup, checkPlansConfig, formatDoctorResult,
|
|
128
|
+
export { checkBillingSetup, checkPlansConfig, formatDoctorResult,
|
|
129
|
+
// The CLI around the two checks. Both consumers hand-wrote the same argv parsing
|
|
130
|
+
// and exit-code arithmetic (64 and 75 lines, 87 of them differing, same job).
|
|
131
|
+
runBillingDoctor, } from "./doctor.js";
|
|
106
132
|
// Provision + verify one Stripe environment in one call — the deploy-time twin of
|
|
107
133
|
// the lazy provisioning the request path does. `billing-tools dev` / `doctor` (the
|
|
108
134
|
// bin) cover the parts that need no app config.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,+EAA+E;AAC/E,kFAAkF;AAClF,mFAAmF;AACnF,mFAAmF;AACnF,6EAA6E;AAC7E,iFAAiF;AACjF,gDAAgD;AAChD,cAAc,oBAAoB,CAAC;AAEnC,cAAc;AACd,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,YAAY,EAEZ,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,gFAAgF;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,6EAA6E;AAC7E,6EAA6E;AAC7E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GAGxB,MAAM,iBAAiB,CAAC;AAEzB,+BAA+B;AAC/B,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EAEtB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEf,aAAa,EACb,aAAa,EAEb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,GAGzB,MAAM,cAAc,CAAC;AAEtB,wEAAwE;AACxE,OAAO;AACL,gFAAgF;AAChF,4EAA4E;AAC5E,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GAOnB,MAAM,YAAY,CAAC;AAEpB,iFAAiF;AACjF,iFAAiF;AACjF,kDAAkD;AAClD,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ;AACR,6EAA6E;AAC7E,iFAAiF;AACjF,iFAAiF;AACjF,mFAAmF;AACnF,2EAA2E;AAC3E,iBAAiB,EACjB,eAAe,GAQhB,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,8EAA8E;AAC9E,wEAAwE;AACxE,8BAA8B;AAC9B,OAAO,EACL,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,sBAAsB;AACtB,+EAA+E;AAC/E,gFAAgF;AAChF,oDAAoD;AACpD,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GAoBjB,MAAM,cAAc,CAAC;AAEtB,kFAAkF;AAClF,2EAA2E;AAC3E,qEAAqE;AACrE,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,cAAc;AACd,8EAA8E;AAC9E,4EAA4E;AAC5E,YAAY,GAMb,MAAM,gBAAgB,CAAC;AACxB,kFAAkF;AAClF,0DAA0D;AAC1D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,GAMZ,MAAM,YAAY,CAAC;AACpB,mFAAmF;AACnF,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAKlB,MAAM,mBAAmB,CAAC;AAE3B,kFAAkF;AAClF,kFAAkF;AAClF,kFAAkF;AAClF,mFAAmF;AACnF,wDAAwD;AACxD,EAAE;AACF,6DAA6D;AAC7D,oEAAoE;AACpE,mFAAmF;AACnF,iFAAiF;AACjF,mFAAmF;AACnF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAE3B,6EAA6E;AAC7E,iFAAiF;AACjF,OAAO,EACL,UAAU,EACV,WAAW,EACX,mBAAmB,GAQpB,MAAM,eAAe,CAAC;AAEvB,gFAAgF;AAChF,gFAAgF;AAChF,kFAAkF;AAClF,wEAAwE;AACxE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,YAAY,CAAC;AAEpB,kEAAkE;AAClE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEjE,8DAA8D;AAC9D,OAAO,EACL,uBAAuB,GAMxB,MAAM,kBAAkB,CAAC;AAE1B,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAElF,gFAAgF;AAChF,OAAO,EACL,iBAAiB,EACjB,eAAe;AACf,2EAA2E;AAC3E,oDAAoD;AACpD,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,GAIjB,MAAM,WAAW,CAAC;AAEnB,4EAA4E;AAC5E,OAAO,EACL,YAAY,GAKb,MAAM,aAAa,CAAC;AAErB,oBAAoB;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAG7B,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAmB,MAAM,eAAe,CAAC;AAEvF,oEAAoE;AACpE,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAC/E,6EAA6E;AAC7E,kFAAkF;AAClF,mFAAmF;AACnF,+EAA+E;AAC/E,iCAAiC;AACjC,OAAO,EAAE,cAAc,EAAsC,MAAM,gBAAgB,CAAC;AAEpF,2EAA2E;AAC3E,OAAO,EACL,eAAe,EACf,gBAAgB,GAMjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,GAInB,MAAM,6BAA6B,CAAC;AAErC,8DAA8D;AAC9D,OAAO,EACL,2BAA2B,EAC3B,eAAe,GAMhB,MAAM,4BAA4B,CAAC;AAEpC,gEAAgE;AAChE,gDAAgD;AAChD,OAAO,EACL,gBAAgB,GAKjB,MAAM,wBAAwB,CAAC;AAEhC,uBAAuB;AACvB,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAmB,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAA4B,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAuB,MAAM,qBAAqB,CAAC;AACtF,uEAAuE;AACvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oBAAoB,CAAC;AAC5B,+EAA+E;AAC/E,mEAAmE;AACnE,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,6BAA6B;AAC7B,0EAA0E;AAC1E,MAAM,EACN,SAAS,GAGV,MAAM,UAAU,CAAC;AAClB,8EAA8E;AAC9E,OAAO,EACL,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,gFAAgF;AAChF,6DAA6D;AAC7D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB;AAClB,iFAAiF;AACjF,8EAA8E;AAC9E,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AACrB,kFAAkF;AAClF,mFAAmF;AACnF,gDAAgD;AAChD,OAAO,EACL,YAAY,EACZ,iBAAiB,GAIlB,MAAM,YAAY,CAAC;AAEpB,cAAc;AACd,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAGL,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,0EAA0E;AAC1E,6EAA6E;AAC7E,kDAAkD;AAClD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,kFAAkF;AAClF,kEAAkE;AAClE,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,GAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/metering.d.ts
CHANGED
|
@@ -95,9 +95,10 @@ export interface MeterConfig<R extends Record<string, number> = Record<string, n
|
|
|
95
95
|
* ORG-wide window on a Stripe meter (included usage too, one request at any
|
|
96
96
|
* volume) and per-CALLER windows from balance-transaction metadata.
|
|
97
97
|
*
|
|
98
|
-
* Pass one
|
|
99
|
-
*
|
|
100
|
-
*
|
|
98
|
+
* Pass one for the pair the bare composite can't see: a window that is both
|
|
99
|
+
* INCLUDED and PER-MEMBER (`cap: per_seat`, a `scope: "caller"` limit) —
|
|
100
|
+
* `stripeUsageLedger({ perCaller: stripeScopeUsageLedger() })`, which counts it
|
|
101
|
+
* in Stripe too rather than in a database.
|
|
101
102
|
*/
|
|
102
103
|
ledger?: UsageLedger;
|
|
103
104
|
}
|
package/dist/metering.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metering.d.ts","sourceRoot":"","sources":["../src/metering.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAA6B,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B;;0CAEsC;IACtC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,gFAAgF;IAChF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;iFAC6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,kEAAkE;IAClE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;6EACyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;wBACoB;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;gFAC4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;oEACgE;IAChE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAA;CAAE,GACxD;IACE,EAAE,EAAE,KAAK,CAAA;IACT;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,YAAY,GAAG,YAAY,CAAA;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAUL,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC,CAuEtB;AAWD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACpF,mDAAmD;IACnD,KAAK,EAAE,WAAW,CAAA;IAClB;2DACuD;IACvD,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ;;+CAE2C;IAC3C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACtD;0CACsC;IACtC,YAAY,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C;2EACuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,CAAA;IACzB;;kEAE8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAA;IACvB
|
|
1
|
+
{"version":3,"file":"metering.d.ts","sourceRoot":"","sources":["../src/metering.ts"],"names":[],"mappings":"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"}
|
package/dist/metering.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metering.js","sourceRoot":"","sources":["../src/metering.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metering.js","sourceRoot":"","sources":["../src/metering.ts"],"names":[],"mappings":"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"}
|
package/dist/plan-model.d.ts
CHANGED
|
@@ -450,6 +450,40 @@ export declare function planModel(plans: PlanCatalog, key: string | null | undef
|
|
|
450
450
|
export declare function plansWhere(plans: PlanCatalog, predicate: (model: PlanModel) => boolean): string[];
|
|
451
451
|
/** Plans a customer can buy without talking to anyone. */
|
|
452
452
|
export declare const selfServePlans: (plans: PlanCatalog) => string[];
|
|
453
|
+
/**
|
|
454
|
+
* Which groups of billing tools a catalogue can actually satisfy.
|
|
455
|
+
*
|
|
456
|
+
* Every precondition here is already declared on the plan, so registration can
|
|
457
|
+
* read it instead of taking a boolean per group. The failure this closes: an app
|
|
458
|
+
* whose plans sell no seats and accept no top-up REQUESTS still registered
|
|
459
|
+
* `list_seats`, `assign_seat_type` and the five top-up tools — seven tools that
|
|
460
|
+
* answered `seat_types: []`, refused with "(none configured)", or queued a grant
|
|
461
|
+
* against an allowance the plan does not have. An agent cannot tell a tool that
|
|
462
|
+
* will always fail from one it is holding wrong, so a dead tool is not merely
|
|
463
|
+
* wasted context; it is a false advertisement of what the product does.
|
|
464
|
+
*
|
|
465
|
+
* The union across plans is deliberate: a tool must exist for a caller on ANY
|
|
466
|
+
* plan to discover it, and the per-call decision still belongs to the engine
|
|
467
|
+
* (`enforceAccess`, then that org's own plan). This says what the catalogue can
|
|
468
|
+
* ever need, not what today's caller may do.
|
|
469
|
+
*/
|
|
470
|
+
export interface ToolCapabilities {
|
|
471
|
+
/** `buy_credits`, `preview_credit_purchase` — any plan sells top-ups. */
|
|
472
|
+
purchase: boolean;
|
|
473
|
+
/** `set_auto_reload` — any plan offers threshold-triggered reloading. */
|
|
474
|
+
autoReload: boolean;
|
|
475
|
+
/** The five top-up tools — any plan lets a member ask and an owner approve. */
|
|
476
|
+
request: boolean;
|
|
477
|
+
/** `list_seats`, `assign_seat_type` — any plan sells seats to assign. */
|
|
478
|
+
seats: boolean;
|
|
479
|
+
/** `change_plan` and friends — any plan can be bought without a salesperson. */
|
|
480
|
+
lifecycle: boolean;
|
|
481
|
+
/** `get_usage`, `get_usage_limits` — any plan includes or paces usage. */
|
|
482
|
+
usage: boolean;
|
|
483
|
+
}
|
|
484
|
+
/** Every group on. What a consumer that passes no catalogue keeps getting. */
|
|
485
|
+
export declare const ALL_TOOL_CAPABILITIES: ToolCapabilities;
|
|
486
|
+
export declare function toolCapabilities(plans: PlanCatalog): ToolCapabilities;
|
|
453
487
|
export type Quantities = Record<string, number>;
|
|
454
488
|
/** Where a seat stepper starts: each type's `min`, with the plan's `minSeats`
|
|
455
489
|
* absorbed by the first non-shared type so the default basket is already valid. */
|
|
@@ -602,9 +636,30 @@ export type LedgerCoverage = {
|
|
|
602
636
|
* (`cap: per_seat`, `scope: "caller"` limits). */
|
|
603
637
|
callerIncluded: boolean;
|
|
604
638
|
};
|
|
605
|
-
/**
|
|
606
|
-
*
|
|
607
|
-
*
|
|
639
|
+
/**
|
|
640
|
+
* Every window a ledger must be able to count for this plan to be enforceable.
|
|
641
|
+
* A `cap: wallet` plan needs neither: nothing is included, so every call moves
|
|
642
|
+
* money and the debits are their own record.
|
|
643
|
+
*
|
|
644
|
+
* The `callerIncluded` half asks TWO questions, because it used to ask one and
|
|
645
|
+
* was wrong in both directions against the reads `resolveAllowance` actually
|
|
646
|
+
* issues (`allowance.ts`):
|
|
647
|
+
*
|
|
648
|
+
* 1. is the read CALLER-FILTERED? `scope: "caller"` is not the only way — an
|
|
649
|
+
* org-scoped limit carrying `callerKind` is summed across the workspace but
|
|
650
|
+
* still filtered to that kind, so it is issued as `{callerKind}` and routed
|
|
651
|
+
* to the per-caller leg. Asking only about `scope` filed it under
|
|
652
|
+
* `orgIncluded`, so it passed every check and then read 0 forever: a limit
|
|
653
|
+
* that never applies, which looks like generosity rather than a fault.
|
|
654
|
+
*
|
|
655
|
+
* 2. can the usage behind it be INCLUDED? A caller-filtered read over usage the
|
|
656
|
+
* wallet always funds is answered exactly, and with no lag, by the debits —
|
|
657
|
+
* no store required. That is the case for every `cap: wallet` plan, and for
|
|
658
|
+
* an `api` caller under `cap.covers: "users"`, which excludes machines from
|
|
659
|
+
* the included window and funds them from the wallet on their first call.
|
|
660
|
+
* Asking only about `scope` rejected those configs, demanding a store for a
|
|
661
|
+
* question Stripe already answers.
|
|
662
|
+
*/
|
|
608
663
|
export declare function coverageNeededBy(model: PlanModel): LedgerCoverage;
|
|
609
664
|
/**
|
|
610
665
|
* The plans whose included windows `covers` cannot count, split by cause.
|
package/dist/plan-model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-model.d.ts","sourceRoot":"","sources":["../src/plan-model.ts"],"names":[],"mappings":"AA+CA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AAInB,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnD,6EAA6E;AAC7E,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;CACf;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,eAAe,EAA0B,CAAC;AAa3E,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,EAAE,SAAS,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,IAAI,EAAE,SAAS,CAAC;IAChB,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,6EAA6E;IAC7E,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC;IAChD,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,KAAK,EAAE,aAAa,CAAC;IACrB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,KAAK;AACf,4EAA4E;AAC1E;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB,yEAAyE;GACvE;IACE,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACxC;AACH;;;;;;;GAOG;GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,CAAC;AAInF,MAAM,MAAM,KAAK;AACf;;;;GAIG;AACD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,2DAA2D;GACzD;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE;AAC7B,qCAAqC;GACnC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE;AACxC,+EAA+E;GAC7E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAItC,0DAA0D;AAC1D,MAAM,MAAM,SAAS;AACnB;;;;GAIG;AACD,OAAO;AACT,yEAAyE;GACvE,QAAQ,CAAC;AAEb;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAExC,MAAM,MAAM,GAAG;AACb;;;;GAIG;AACD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE;AACpB,oEAAoE;GAClE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,SAAS,CAAA;CAAE;AACvF;;;GAGG;GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;4EACwE;IACxE,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAQN,MAAM,WAAW,SAAS;IACxB,kCAAkC;IAClC,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,KAAK,EAAE,CAAA;KAAE,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/E;+CAC2C;IAC3C,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC;CACnC;AAID,MAAM,MAAM,IAAI;AACd,+CAA+C;AAC7C,MAAM;AACR,2BAA2B;GACzB,YAAY;AACd,iFAAiF;GAC/E,OAAO;AACT,4DAA4D;GAC1D,QAAQ,CAAC;AAiBb,+EAA+E;AAC/E,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CAC7B;AAID,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,KAAK,CAAC;IACb;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;2EACuE;IACvE,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;OAMG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;CACpD;AAQD,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,KAAK,EAAE,aAAa,CAAC;IACrB,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,mDAAmD;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,EAAE,aAAa,CAAC;IACrB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CACvC;AAED,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,GAAG,OAAO,GAAG,QAAQ,KAAG,CAAC,IAAI,OAA0B,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErF;AAID,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;KAAE,CAAC;IAC/D,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B;0EACsE;IACtE,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IACtC,mDAAmD;IACnD,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC;;;OAGG;IACH,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D,gCAAgC;IAChC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,8EAA8E;IAC9E,MAAM,EAAE,OAAO,CAAC;CACjB;AAoCD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAoE9E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,SAAS,EAAE,CAEvE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAI9F;AAED;iFACiF;AACjF,wBAAgB,UAAU,CACxB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,GACvC,MAAM,EAAE,CAIV;AAED,0DAA0D;AAC1D,eAAO,MAAM,cAAc,GAAI,OAAO,WAAW,KAAG,MAAM,EACuB,CAAC;AAIlF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD;oFACoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAW1D;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;+BAC2B;IAC3B,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC9B,GACA,aAAa,EAAE,CAsCjB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EACtB,QAAQ,CAAC,EAAE,eAAe,GACzB,MAAM,CAwBR;AAID;8DAC8D;AAC9D,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,GAAG,EAAE;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,MAAM,CAkBR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,MAAM,GAAG,IAAI,CA8Bf;AAED;sDACsD;AACtD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAE9D;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAI/F;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,GACpD,SAAS,CAUX;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,GACpD,OAAO,CAUT;AAID,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;CACb;AAOD;;;;;;;;;;;GAWG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,GAAG,GAAE,MAAmB,EACxB,KAAK,CAAC,EAAE,WAAW,GAClB,WAAW,CA4Bb;AAeD;+EAC+E;AAC/E,MAAM,MAAM,cAAc,GAAG;IAC3B;iEAC6D;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB;uDACmD;IACnD,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"plan-model.d.ts","sourceRoot":"","sources":["../src/plan-model.ts"],"names":[],"mappings":"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"}
|
package/dist/plan-model.js
CHANGED
|
@@ -167,6 +167,31 @@ export function plansWhere(plans, predicate) {
|
|
|
167
167
|
}
|
|
168
168
|
/** Plans a customer can buy without talking to anyone. */
|
|
169
169
|
export const selfServePlans = (plans) => plansWhere(plans, (p) => p.sale === "self_serve" && p.sells.kind !== "nothing");
|
|
170
|
+
/** Every group on. What a consumer that passes no catalogue keeps getting. */
|
|
171
|
+
export const ALL_TOOL_CAPABILITIES = {
|
|
172
|
+
purchase: true,
|
|
173
|
+
autoReload: true,
|
|
174
|
+
request: true,
|
|
175
|
+
seats: true,
|
|
176
|
+
lifecycle: true,
|
|
177
|
+
usage: true,
|
|
178
|
+
};
|
|
179
|
+
export function toolCapabilities(plans) {
|
|
180
|
+
const models = normalizePlans(plans);
|
|
181
|
+
const any = (predicate) => models.some(predicate);
|
|
182
|
+
return {
|
|
183
|
+
purchase: any((m) => Boolean(m.replenish.purchase)),
|
|
184
|
+
autoReload: any((m) => Boolean(m.replenish.autoReload)),
|
|
185
|
+
request: any((m) => Boolean(m.replenish.request)),
|
|
186
|
+
seats: any((m) => m.sells.kind === "seats"),
|
|
187
|
+
lifecycle: any((m) => m.sale === "self_serve"),
|
|
188
|
+
// A `wallet` cap includes nothing and so has no window to report — but a rate
|
|
189
|
+
// limit is a window too, and it is the one refusal a caller can wait out, so
|
|
190
|
+
// a plan that paces an uncapped wallet still needs the usage tools to say
|
|
191
|
+
// when. Enterprise (`cap: wallet` + a weekly limit) is exactly that shape.
|
|
192
|
+
usage: any((m) => m.cap.kind !== "wallet" || m.limits.rate.length > 0),
|
|
193
|
+
};
|
|
194
|
+
}
|
|
170
195
|
/** Where a seat stepper starts: each type's `min`, with the plan's `minSeats`
|
|
171
196
|
* absorbed by the first non-shared type so the default basket is already valid. */
|
|
172
197
|
export function defaultBasket(model) {
|
|
@@ -449,13 +474,45 @@ export function rateWindowFor(every, now = Date.now(), cycle) {
|
|
|
449
474
|
return cycle ?? { start: Date.UTC(y, mo, 1), end: Date.UTC(y, mo + 1, 1), key: `m:${iso(Date.UTC(y, mo, 1)).slice(0, 7)}` };
|
|
450
475
|
}
|
|
451
476
|
}
|
|
452
|
-
/**
|
|
453
|
-
*
|
|
454
|
-
*
|
|
477
|
+
/**
|
|
478
|
+
* Every window a ledger must be able to count for this plan to be enforceable.
|
|
479
|
+
* A `cap: wallet` plan needs neither: nothing is included, so every call moves
|
|
480
|
+
* money and the debits are their own record.
|
|
481
|
+
*
|
|
482
|
+
* The `callerIncluded` half asks TWO questions, because it used to ask one and
|
|
483
|
+
* was wrong in both directions against the reads `resolveAllowance` actually
|
|
484
|
+
* issues (`allowance.ts`):
|
|
485
|
+
*
|
|
486
|
+
* 1. is the read CALLER-FILTERED? `scope: "caller"` is not the only way — an
|
|
487
|
+
* org-scoped limit carrying `callerKind` is summed across the workspace but
|
|
488
|
+
* still filtered to that kind, so it is issued as `{callerKind}` and routed
|
|
489
|
+
* to the per-caller leg. Asking only about `scope` filed it under
|
|
490
|
+
* `orgIncluded`, so it passed every check and then read 0 forever: a limit
|
|
491
|
+
* that never applies, which looks like generosity rather than a fault.
|
|
492
|
+
*
|
|
493
|
+
* 2. can the usage behind it be INCLUDED? A caller-filtered read over usage the
|
|
494
|
+
* wallet always funds is answered exactly, and with no lag, by the debits —
|
|
495
|
+
* no store required. That is the case for every `cap: wallet` plan, and for
|
|
496
|
+
* an `api` caller under `cap.covers: "users"`, which excludes machines from
|
|
497
|
+
* the included window and funds them from the wallet on their first call.
|
|
498
|
+
* Asking only about `scope` rejected those configs, demanding a store for a
|
|
499
|
+
* question Stripe already answers.
|
|
500
|
+
*/
|
|
455
501
|
export function coverageNeededBy(model) {
|
|
502
|
+
const included = (kind) => {
|
|
503
|
+
if (model.cap.kind === "wallet")
|
|
504
|
+
return false;
|
|
505
|
+
// `covers: "users"` skips the window entirely for a machine caller, so its
|
|
506
|
+
// usage is wallet-funded from the first call. With no `callerKind` the limit
|
|
507
|
+
// reaches people too, and theirs is included.
|
|
508
|
+
if (kind === "api" && !capCovers(model, { kind: "api" }))
|
|
509
|
+
return false;
|
|
510
|
+
return true;
|
|
511
|
+
};
|
|
456
512
|
return {
|
|
457
513
|
orgIncluded: model.cap.kind === "pool" || model.limits.rate.some((l) => (l.scope ?? "org") === "org"),
|
|
458
|
-
callerIncluded: model.cap.kind === "per_seat" ||
|
|
514
|
+
callerIncluded: model.cap.kind === "per_seat" ||
|
|
515
|
+
model.limits.rate.some((l) => ((l.scope ?? "org") === "caller" || l.callerKind != null) && included(l.callerKind)),
|
|
459
516
|
};
|
|
460
517
|
}
|
|
461
518
|
/**
|