@codelitdev/billing 0.9.0 → 0.11.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
@@ -38,7 +38,7 @@ The engine is mechanical. It will not infer product policy from plan names.
38
38
  | Paid offers | `offers` + `requiredOfferKeys` at `createBilling`; exact set, no `"free"` in `planIds` |
39
39
  | Trial eligibility | `trialDays` on checkout (0 if ineligible). Claims, HMAC, school trials stay in your tables |
40
40
  | Upgrade vs downgrade | `startPlanChange({ effectiveAt, prorationMode })`. The package does not rank Pro/Business |
41
- | What a plan unlocks | Your entitlements resolver. `commercialState()` is paid snapshot only |
41
+ | What a plan unlocks | `planFeatures` at `createBilling`, read with `hasFeature()`; anything finer is your entitlements resolver |
42
42
  | Entity lifecycle | `getBillableEntityBillingBlockers` / `getPayerBillingResponsibilities`; you choose the user-facing error |
43
43
  | Product side effects | `afterProjection` on the **engine transaction** (`store.getTransaction() ?? db`) |
44
44
 
@@ -355,6 +355,26 @@ await db.transaction(async (tx) => {
355
355
 
356
356
  `commercialState` is the source of truth for paid access. It re-checks the clock, so a scheduled cancellation stops counting as paid once `paidThroughAt` passes, even before the provider's final event or `runDeadlineBatch`. Decide what a plan unlocks from it; do not copy paid status into product tables and re-derive it.
357
357
 
358
+ ### Features on plans
359
+
360
+ Declare which feature keys each paid plan includes with `planFeatures`, then gate with `hasFeature`:
361
+
362
+ ```ts
363
+ const billing = createBilling({
364
+ // ...
365
+ planFeatures: { business: ["learner_sso"] },
366
+ });
367
+
368
+ if (await billing.hasFeature(schoolId, "learner_sso")) {
369
+ // the school's entitled paid plan includes the feature
370
+ }
371
+ ```
372
+
373
+ - Keys are plan ids from `offers`; in `cloud` mode a key with no offer throws `plan_features_invalid` at composition. Plans do not inherit: list a feature on every plan that includes it.
374
+ - `cloud` mode: true only when `commercialState(...).activePaidPlan` includes the feature, so grace and cancellation rules are exactly those of `activePaidPlan`. No paid plan, or an unknown feature, is false.
375
+ - `oss` mode: always true. `planFeatures` is ignored.
376
+ - Any error reading state returns false (fail closed). Like `commercialState`, it takes `{ transaction }` to read inside an open transaction.
377
+
358
378
  Compose those with your trial, Free plan, quotas, and `canManageBilling`. `projectionVersion` is a cache key; equivalent webhook replays update freshness only and do not increment it.
359
379
 
360
380
  Before close / delete / owner demotion, call `getBillableEntityBillingBlockers` / `getPayerBillingResponsibilities` in the same transaction as the mutation. The package reports blockers; you decide the user-facing error.
@@ -7,6 +7,7 @@ import { FakeBillingProvider } from "../providers/fake/index.js";
7
7
  export declare function createBillingFrom(store: MemoryBillingStore, fake: FakeBillingProvider, now: Date, offers: BillingOffer[], extras?: {
8
8
  authorization?: MemoryAuthorizationPort;
9
9
  audit?: MemoryAuditHook;
10
+ planFeatures?: Record<string, readonly string[]>;
10
11
  }): {
11
12
  store: import("../persistence/store.js").BillingStore;
12
13
  startCheckout: (input: {
@@ -106,6 +107,9 @@ export declare function createBillingFrom(store: MemoryBillingStore, fake: FakeB
106
107
  commercialState: (entityId: string, readOptions?: {
107
108
  transaction?: unknown;
108
109
  }) => Promise<import("../workflows/engine.js").CommercialBillingState>;
110
+ hasFeature: (entityId: string, feature: string, readOptions?: {
111
+ transaction?: unknown;
112
+ }) => Promise<boolean>;
109
113
  publicCatalog: () => Promise<import("../catalog/types.js").PublicBillingCatalog | null>;
110
114
  recordRequestedCatalog: () => Promise<import("../persistence/store.js").CatalogRevisionRow | null>;
111
115
  verifyRequestedCatalog: () => Promise<{
@@ -138,6 +142,7 @@ export declare function createBillingFrom(store: MemoryBillingStore, fake: FakeB
138
142
  export declare function createWorkflowHarness(now?: Date, options?: {
139
143
  seedLocalCatalog?: boolean;
140
144
  offers?: BillingOffer[];
145
+ planFeatures?: Record<string, readonly string[]>;
141
146
  }): {
142
147
  billing: {
143
148
  store: import("../persistence/store.js").BillingStore;
@@ -238,6 +243,9 @@ export declare function createWorkflowHarness(now?: Date, options?: {
238
243
  commercialState: (entityId: string, readOptions?: {
239
244
  transaction?: unknown;
240
245
  }) => Promise<import("../workflows/engine.js").CommercialBillingState>;
246
+ hasFeature: (entityId: string, feature: string, readOptions?: {
247
+ transaction?: unknown;
248
+ }) => Promise<boolean>;
241
249
  publicCatalog: () => Promise<import("../catalog/types.js").PublicBillingCatalog | null>;
242
250
  recordRequestedCatalog: () => Promise<import("../persistence/store.js").CatalogRevisionRow | null>;
243
251
  verifyRequestedCatalog: () => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-harness.d.ts","sourceRoot":"","sources":["../../src/testing/workflow-harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,YAAY,EAAE,EACtB,MAAM,GAAE;IACN,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC;CACpB;;;;;;;;;iBAgE2lqB,CAAC;yBAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAA854C,CAAC;;;;aAA87B,CAAC;gBAAsB,CAAC;;;;aAA86C,CAAC;;;;aAAs9C,CAAC;;;;;;;;aAAj6G,CAAC;;;;;;;;;;;;yBAAos6B,CAAC;;;;;mBAAn3V,CAAC;;;;;;;;;;;;;;;;;;;;yBAAx0hE,CAAC;2BAAwC,CAAC;sBAAmC,CAAC;0BAAuC,CAAC;iBAA8B,CAAC;;;;;;EAjD9nnB;AAED,wBAAgB,qBAAqB,CACnC,GAAG,OAAuC,EAC1C,OAAO,GAAE;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACpB;;;;;;;;;;qBA0C2lqB,CAAC;6BAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA854C,CAAC;;;;iBAA87B,CAAC;oBAAsB,CAAC;;;;iBAA86C,CAAC;;;;iBAAs9C,CAAC;;;;;;;;iBAAj6G,CAAC;;;;;;;;;;;;6BAAos6B,CAAC;;;;;uBAAn3V,CAAC;;;;;;;;;;;;;;;;;;;;6BAAx0hE,CAAC;+BAAwC,CAAC;0BAAmC,CAAC;8BAAuC,CAAC;qBAA8B,CAAC;;;;;;;;;;;;;;EAD9nnB"}
1
+ {"version":3,"file":"workflow-harness.d.ts","sourceRoot":"","sources":["../../src/testing/workflow-harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,YAAY,EAAE,EACtB,MAAM,GAAE;IACN,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CAC7C;;;;;;;;;iBAmEq1rB,CAAC;yBAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAA854C,CAAC;;;;aAA87B,CAAC;gBAAsB,CAAC;;;;aAA86C,CAAC;;;;aAAs9C,CAAC;;;;;;;;aAAj6G,CAAC;;;;;;;;;;;;yBAA817B,CAAC;;;;;mBAA7gX,CAAC;;;mBAAkzD,CAAC;;;;;;;;;;;;;;;;;;;;yBAA3nlE,CAAC;2BAAwC,CAAC;sBAAmC,CAAC;0BAAuC,CAAC;iBAA8B,CAAC;;;;;;EAnDx3oB;AAED,wBAAgB,qBAAqB,CACnC,GAAG,OAAuC,EAC1C,OAAO,GAAE;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CAC7C;;;;;;;;;;qBA2Cq1rB,CAAC;6BAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA854C,CAAC;;;;iBAA87B,CAAC;oBAAsB,CAAC;;;;iBAA86C,CAAC;;;;iBAAs9C,CAAC;;;;;;;;iBAAj6G,CAAC;;;;;;;;;;;;6BAA817B,CAAC;;;;;uBAA7gX,CAAC;;;uBAAkzD,CAAC;;;;;;;;;;;;;;;;;;;;6BAA3nlE,CAAC;+BAAwC,CAAC;0BAAmC,CAAC;8BAAuC,CAAC;qBAA8B,CAAC;;;;;;;;;;;;;;EADx3oB"}
@@ -18,6 +18,7 @@ export function createBillingFrom(store, fake, now, offers, extras = {}) {
18
18
  requestedRevision: offers[0].revision,
19
19
  requiredOfferKeys: [...COURSELIT_OFFER_KEYS],
20
20
  offers,
21
+ planFeatures: extras.planFeatures,
21
22
  returnUrlValidator: (url) => url.startsWith("https://app.test/"),
22
23
  });
23
24
  }
@@ -49,6 +50,7 @@ export function createWorkflowHarness(now = new Date("2026-01-01T00:00:00.000Z")
49
50
  requestedRevision: offers[0].revision,
50
51
  requiredOfferKeys: [...COURSELIT_OFFER_KEYS],
51
52
  offers,
53
+ planFeatures: options.planFeatures,
52
54
  returnUrlValidator: (url) => url.startsWith("https://app.test/"),
53
55
  });
54
56
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-harness.js","sourceRoot":"","sources":["../../src/testing/workflow-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-harness.js","sourceRoot":"","sources":["../../src/testing/workflow-harness.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,12 @@ export type CreateBillingOptions = {
44
44
  requestedRevision: number | null;
45
45
  requiredOfferKeys: string[];
46
46
  offers?: BillingOffer[];
47
+ /**
48
+ * Feature keys each paid plan includes, e.g. `{ business: ["learner_sso"] }`.
49
+ * Cloud mode requires every key to be a plan of `offers`. Read with
50
+ * `hasFeature`; `oss` mode ignores it and grants every feature.
51
+ */
52
+ planFeatures?: Record<string, readonly string[]>;
47
53
  webhookRetrieveCurrent?: boolean;
48
54
  /** How long work may sit before `runReconciliationBatch` treats it as stuck. */
49
55
  reconciliation?: {
@@ -168,6 +174,9 @@ export declare function createBilling(options: CreateBillingOptions): {
168
174
  commercialState: (entityId: string, readOptions?: {
169
175
  transaction?: unknown;
170
176
  }) => Promise<CommercialBillingState>;
177
+ hasFeature: (entityId: string, feature: string, readOptions?: {
178
+ transaction?: unknown;
179
+ }) => Promise<boolean>;
171
180
  publicCatalog: () => Promise<PublicBillingCatalog | null>;
172
181
  recordRequestedCatalog: () => Promise<import("../persistence/store.js").CatalogRevisionRow | null>;
173
182
  verifyRequestedCatalog: () => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,20 @@ export function createBilling(options) {
45
45
  !registry.has(options.checkoutProvider))) {
46
46
  throw new BillingCompositionError("cloud_billing_configuration_incomplete");
47
47
  }
48
+ if (options.planFeatures !== undefined) {
49
+ const plans = new Set((options.offers ?? []).map((offer) => offer.plan));
50
+ for (const [plan, features] of Object.entries(options.planFeatures)) {
51
+ if (!Array.isArray(features) ||
52
+ features.some((feature) => typeof feature !== "string" || feature === "") ||
53
+ (options.mode === "cloud" && !plans.has(plan))) {
54
+ throw new BillingCompositionError("plan_features_invalid");
55
+ }
56
+ }
57
+ }
58
+ const planFeatures = new Map(Object.entries(options.planFeatures ?? {}).map(([plan, features]) => [
59
+ plan,
60
+ new Set(features),
61
+ ]));
48
62
  const requestedOffers = options.mode === "cloud"
49
63
  ? validateCatalog({
50
64
  offers: options.offers,
@@ -2055,6 +2069,24 @@ export function createBilling(options) {
2055
2069
  projectionVersion: state.projectionVersion,
2056
2070
  };
2057
2071
  }
2072
+ /**
2073
+ * Whether the entity's currently entitled paid plan includes `feature`.
2074
+ * Uses the same entitlement rules as `commercialState().activePaidPlan`.
2075
+ * `oss` mode grants every feature; any read error answers false.
2076
+ */
2077
+ async function hasFeature(entityId, feature, readOptions = {}) {
2078
+ if (options.mode === "oss")
2079
+ return true;
2080
+ try {
2081
+ const { activePaidPlan } = await commercialState(entityId, readOptions);
2082
+ if (!activePaidPlan)
2083
+ return false;
2084
+ return planFeatures.get(activePaidPlan)?.has(feature) ?? false;
2085
+ }
2086
+ catch {
2087
+ return false;
2088
+ }
2089
+ }
2058
2090
  /** Stops a subscription whose paid access has lapsed from granting entitlement. */
2059
2091
  async function releaseLapsedEntitlement(subscriptionId, actorId) {
2060
2092
  await store.withTransaction(() => releaseLapsedEntitlementInTransaction(subscriptionId, actorId));
@@ -2299,6 +2331,7 @@ export function createBilling(options) {
2299
2331
  getBillableEntityBillingBlockers,
2300
2332
  getPayerBillingResponsibilities,
2301
2333
  commercialState,
2334
+ hasFeature,
2302
2335
  publicCatalog,
2303
2336
  recordRequestedCatalog,
2304
2337
  verifyRequestedCatalog,
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflows/engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codelitdev/billing",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "Provider-neutral billing engine for CodeLit products",
5
5
  "author": "CodeLit",
6
6
  "type": "module",