@noodleseed/one 0.53.0 → 0.54.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 (58) hide show
  1. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.d.ts +25 -0
  2. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.d.ts.map +1 -0
  3. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.js +94 -0
  4. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.js.map +1 -0
  5. package/node_modules/@noodle-borg/service/dist/billing/integration.d.ts.map +1 -1
  6. package/node_modules/@noodle-borg/service/dist/billing/integration.js +0 -3
  7. package/node_modules/@noodle-borg/service/dist/billing/integration.js.map +1 -1
  8. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.d.ts +1 -0
  9. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.d.ts.map +1 -1
  10. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.js +7 -0
  11. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.js.map +1 -1
  12. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts +4 -1
  13. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts.map +1 -1
  14. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js +21 -7
  15. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js.map +1 -1
  16. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.js +4 -5
  17. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.js.map +1 -1
  18. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.d.ts +0 -1
  19. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.d.ts.map +1 -1
  20. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.js +92 -27
  21. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.js.map +1 -1
  22. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts +0 -1
  23. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts.map +1 -1
  24. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js +72 -27
  25. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js.map +1 -1
  26. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.d.ts.map +1 -1
  27. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.js +56 -26
  28. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.js.map +1 -1
  29. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.d.ts +5 -0
  30. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.d.ts.map +1 -0
  31. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.js +97 -0
  32. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.js.map +1 -0
  33. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.d.ts +50 -0
  34. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.d.ts.map +1 -0
  35. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.js +221 -0
  36. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.js.map +1 -0
  37. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.d.ts +8 -0
  38. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.d.ts.map +1 -0
  39. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.js +42 -0
  40. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.js.map +1 -0
  41. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.d.ts +15 -0
  42. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.d.ts.map +1 -0
  43. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.js +123 -0
  44. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.js.map +1 -0
  45. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-schema.js +100 -0
  46. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-schema.js.map +1 -1
  47. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.d.ts.map +1 -1
  48. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js +9 -1
  49. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js.map +1 -1
  50. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.d.ts +45 -0
  51. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.d.ts.map +1 -0
  52. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.js +165 -0
  53. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.js.map +1 -0
  54. package/node_modules/@noodle-borg/service/dist/billing-public.d.ts +2 -0
  55. package/node_modules/@noodle-borg/service/dist/billing-public.d.ts.map +1 -1
  56. package/node_modules/@noodle-borg/service/dist/billing-public.js +2 -0
  57. package/node_modules/@noodle-borg/service/dist/billing-public.js.map +1 -1
  58. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ import { type BillingCommercialV2Entitlements } from './commercial-entitlements.js';
2
+ import { type EntitlementSnapshotRow } from './postgres-records.js';
3
+ /** Full active-snapshot and joined-plan row shape shared by every commercial admission consumer. */
4
+ export type BillingActiveCommercialEntitlementRow = EntitlementSnapshotRow;
5
+ export interface BillingResolvedActiveCommercialEntitlement {
6
+ readonly billingAccountId: string;
7
+ readonly snapshotId: string;
8
+ readonly snapshotVersion: number;
9
+ readonly planVersionId: string;
10
+ readonly planCode: BillingCommercialV2Entitlements['planCode'];
11
+ readonly monthlyUsageAnchor: string;
12
+ readonly entitlements: BillingCommercialV2Entitlements;
13
+ }
14
+ export declare class BillingActiveCommercialEntitlementInconsistentError extends Error {
15
+ constructor();
16
+ }
17
+ /**
18
+ * Resolve one already-selected active snapshot. The caller owns account/profile/link validation and any row
19
+ * locks; this function owns exact plan, snapshot, contract-version, and effective-interval validation.
20
+ */
21
+ export declare function resolveActiveBillingCommercialEntitlement(row: BillingActiveCommercialEntitlementRow, options: {
22
+ readonly admissionContractVersion: number;
23
+ readonly databaseTime: Date | string;
24
+ }): BillingResolvedActiveCommercialEntitlement;
25
+ //# sourceMappingURL=active-commercial-entitlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-commercial-entitlement.d.ts","sourceRoot":"","sources":["../../src/billing/active-commercial-entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,+BAA+B,EAGrC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,uBAAuB,CAAC;AAE/B,oGAAoG;AACpG,MAAM,MAAM,qCAAqC,GAAG,sBAAsB,CAAC;AAE3E,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC,UAAU,CAAC,CAAC;IAC/D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,+BAA+B,CAAC;CACxD;AAED,qBAAa,mDAAoD,SAAQ,KAAK;;CAK7E;AAED;;;GAGG;AACH,wBAAgB,yCAAyC,CACvD,GAAG,EAAE,qCAAqC,EAC1C,OAAO,EAAE;IACP,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC;CACtC,GACA,0CAA0C,CAO5C"}
@@ -0,0 +1,94 @@
1
+ import { parseBillingCommercialFreeV1Entitlements, parseBillingCommercialV2Entitlements, } from './commercial-entitlements.js';
2
+ import { billingContentChecksum } from './model.js';
3
+ import { getBillingPublicPlanVersion } from './paid-plan-catalog.js';
4
+ import { entitlementSnapshotRowToRecord, planVersionRowToRecord, } from './postgres-records.js';
5
+ export class BillingActiveCommercialEntitlementInconsistentError extends Error {
6
+ constructor() {
7
+ super('active commercial entitlement is inconsistent');
8
+ this.name = 'BillingActiveCommercialEntitlementInconsistentError';
9
+ }
10
+ }
11
+ /**
12
+ * Resolve one already-selected active snapshot. The caller owns account/profile/link validation and any row
13
+ * locks; this function owns exact plan, snapshot, contract-version, and effective-interval validation.
14
+ */
15
+ export function resolveActiveBillingCommercialEntitlement(row, options) {
16
+ try {
17
+ return resolve(row, options);
18
+ }
19
+ catch (error) {
20
+ if (error instanceof BillingActiveCommercialEntitlementInconsistentError)
21
+ throw error;
22
+ throw inconsistent();
23
+ }
24
+ }
25
+ function resolve(row, options) {
26
+ if (options.admissionContractVersion !== 1 && options.admissionContractVersion !== 2) {
27
+ throw inconsistent();
28
+ }
29
+ const snapshot = entitlementSnapshotRowToRecord(row);
30
+ const persistedPlan = planVersionRowToRecord({
31
+ id: row.plan_version_id,
32
+ plan_code: row.plan_code,
33
+ version: row.plan_version,
34
+ effective_from: row.plan_effective_from,
35
+ entitlements: row.plan_entitlements,
36
+ content_checksum: row.plan_content_checksum,
37
+ created_at: row.plan_created_at,
38
+ });
39
+ const canonicalPlan = getBillingPublicPlanVersion(persistedPlan.id);
40
+ if (canonicalPlan === undefined ||
41
+ billingContentChecksum(persistedPlan) !== billingContentChecksum(canonicalPlan) ||
42
+ snapshot.planVersionId !== canonicalPlan.id ||
43
+ snapshot.planCode !== canonicalPlan.planCode ||
44
+ snapshot.planVersion !== canonicalPlan.version ||
45
+ billingContentChecksum(snapshot.entitlements) !==
46
+ billingContentChecksum(canonicalPlan.entitlements)) {
47
+ throw inconsistent();
48
+ }
49
+ const databaseTime = persistedInstant(options.databaseTime);
50
+ if ((snapshot.schemaVersion === 2 && canonicalPlan.effectiveFrom > snapshot.effectiveFrom) ||
51
+ snapshot.monthlyUsageAnchor > snapshot.effectiveFrom ||
52
+ snapshot.verifiedAt < snapshot.effectiveFrom ||
53
+ snapshot.createdAt < snapshot.verifiedAt ||
54
+ databaseTime < snapshot.effectiveFrom ||
55
+ databaseTime < snapshot.verifiedAt ||
56
+ databaseTime < snapshot.createdAt ||
57
+ (snapshot.schemaVersion === 2 && databaseTime >= snapshot.effectiveUntil)) {
58
+ throw inconsistent();
59
+ }
60
+ if (options.admissionContractVersion === 1) {
61
+ if (snapshot.schemaVersion !== 1 ||
62
+ canonicalPlan.id !== 'free@1' ||
63
+ canonicalPlan.planCode !== 'free') {
64
+ throw inconsistent();
65
+ }
66
+ parseBillingCommercialFreeV1Entitlements(snapshot.entitlements);
67
+ }
68
+ else if ((snapshot.schemaVersion === 1 && canonicalPlan.planCode !== 'free') ||
69
+ (snapshot.schemaVersion === 2 && canonicalPlan.planCode === 'free')) {
70
+ throw inconsistent();
71
+ }
72
+ const entitlements = parseBillingCommercialV2Entitlements(snapshot.entitlements);
73
+ if (entitlements.planCode !== canonicalPlan.planCode)
74
+ throw inconsistent();
75
+ return Object.freeze({
76
+ billingAccountId: snapshot.billingAccountId,
77
+ snapshotId: snapshot.id,
78
+ snapshotVersion: snapshot.version,
79
+ planVersionId: canonicalPlan.id,
80
+ planCode: entitlements.planCode,
81
+ monthlyUsageAnchor: snapshot.monthlyUsageAnchor,
82
+ entitlements,
83
+ });
84
+ }
85
+ function persistedInstant(value) {
86
+ const date = value instanceof Date ? value : new Date(value);
87
+ if (!Number.isFinite(date.getTime()))
88
+ throw inconsistent();
89
+ return date.toISOString();
90
+ }
91
+ function inconsistent() {
92
+ return new BillingActiveCommercialEntitlementInconsistentError();
93
+ }
94
+ //# sourceMappingURL=active-commercial-entitlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-commercial-entitlement.js","sourceRoot":"","sources":["../../src/billing/active-commercial-entitlement.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/billing/integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/billing/integration.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { noopLogger } from '@noodle-borg/transport-http';
2
2
  import { createAuthoritativeBillingDispatch, } from './authoritative-admission.js';
3
- import { BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION } from './enforcement-activation.js';
4
3
  import { deriveBillingMeterKeyGeneration } from './meter-readiness.js';
5
4
  import { createShadowBillingObserver, startShadowBillingObservation } from './shadow-meter.js';
6
5
  import { parseBillingUsageHmacKey } from './usage-identity.js';
@@ -76,7 +75,6 @@ export async function createPostgresBillingAuthoritativeAdmissionStore(pool, hma
76
75
  const { PostgresBillingAuthoritativeAdmissionStore } = await import('./postgres-meter-admission.js');
77
76
  return new PostgresBillingAuthoritativeAdmissionStore(pool, {
78
77
  keyGeneration: deriveBillingMeterKeyGeneration(hmacKey),
79
- admissionContractVersion: BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION,
80
78
  });
81
79
  }
82
80
  /** Authorize the one-time generation-zero transition only from a protected production System Release. */
@@ -94,7 +92,6 @@ export async function createPostgresBillingCommercialEnforcementProjectionStore(
94
92
  const { PostgresBillingCommercialEnforcementProjectionStore } = await import('./postgres-commercial-enforcement-projection.js');
95
93
  return new PostgresBillingCommercialEnforcementProjectionStore(pool, {
96
94
  keyGeneration: deriveBillingMeterKeyGeneration(hmacKey),
97
- admissionContractVersion: BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION,
98
95
  });
99
96
  }
100
97
  /** Keep the Postgres-only validation lifecycle out of the lightweight in-memory service path. */
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/billing/integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/billing/integration.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare const PRO_ENTITLEMENTS: BillingEntitlements;
11
11
  export declare const SCALE_ENTITLEMENTS: BillingEntitlements;
12
12
  export declare const PRO_PLAN_VERSION: PlanVersionRecord;
13
13
  export declare const SCALE_PLAN_VERSION: PlanVersionRecord;
14
+ export declare function getBillingPaidPlanBaseAmountMinor(planVersionId: string, billingInterval: 'month' | 'year'): number | undefined;
14
15
  export interface BillableOverage {
15
16
  readonly overageCalls: bigint;
16
17
  readonly billableBlocks: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"paid-plan-catalog.d.ts","sourceRoot":"","sources":["../../src/billing/paid-plan-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAGxB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,8BAA8B,EAAE,2BAM3C,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,mBAuB7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,mBAQ/B,CAAC;AAsBH,eAAO,MAAM,gBAAgB,mBAAiD,CAAC;AAC/E,eAAO,MAAM,kBAAkB,mBAAqD,CAAC;AAErF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;CAC1B;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,2BAA2B,GAClC,eAAe,CAmBjB;AAED,eAAO,MAAM,kBAAkB,8BAAwD,CAAC;AACxF,eAAO,MAAM,4BAA4B,8BAGvC,CAAC;AAEH,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAErF"}
1
+ {"version":3,"file":"paid-plan-catalog.d.ts","sourceRoot":"","sources":["../../src/billing/paid-plan-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAGxB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,8BAA8B,EAAE,2BAM3C,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,mBAuB7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,mBAQ/B,CAAC;AAsBH,eAAO,MAAM,gBAAgB,mBAAiD,CAAC;AAC/E,eAAO,MAAM,kBAAkB,mBAAqD,CAAC;AAErF,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,OAAO,GAAG,MAAM,GAChC,MAAM,GAAG,SAAS,CAKpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;CAC1B;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,2BAA2B,GAClC,eAAe,CAmBjB;AAED,eAAO,MAAM,kBAAkB,8BAAwD,CAAC;AACxF,eAAO,MAAM,4BAA4B,8BAGvC,CAAC;AAEH,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAErF"}
@@ -56,6 +56,13 @@ function createPaidPlanVersion(planCode, entitlements) {
56
56
  }
57
57
  export const PRO_PLAN_VERSION = createPaidPlanVersion('pro', PRO_ENTITLEMENTS);
58
58
  export const SCALE_PLAN_VERSION = createPaidPlanVersion('scale', SCALE_ENTITLEMENTS);
59
+ export function getBillingPaidPlanBaseAmountMinor(planVersionId, billingInterval) {
60
+ if (planVersionId === PRO_PLAN_VERSION.id)
61
+ return billingInterval === 'month' ? 3_000 : 30_000;
62
+ if (planVersionId === SCALE_PLAN_VERSION.id)
63
+ return billingInterval === 'month' ? 30_000 : 300_000;
64
+ return undefined;
65
+ }
59
66
  /** Round once per account/window using exact integer arithmetic; never round individual calls. */
60
67
  export function calculateBillableOverage(overageCalls, policy) {
61
68
  if (overageCalls < 0n)
@@ -1 +1 @@
1
- {"version":3,"file":"paid-plan-catalog.js","sourceRoot":"","sources":["../../src/billing/paid-plan-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paid-plan-catalog.js","sourceRoot":"","sources":["../../src/billing/paid-plan-catalog.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,16 @@ export type BillingAuthoritativeAuthorityDecision = {
8
8
  readonly state: 'active';
9
9
  readonly epochId: string;
10
10
  readonly activatedAt: string;
11
+ readonly admissionContractVersion: BillingAuthoritativeAdmissionContractVersion;
11
12
  };
13
+ export type BillingAuthoritativeAdmissionContractVersion = 1 | 2;
12
14
  export declare class BillingAuthoritativeAuthorityInconsistentError extends Error {
13
15
  constructor();
14
16
  }
15
17
  /** Caller must hold the shared lifecycle lock for the surrounding read-only or admission transaction. */
16
18
  export declare function readBillingAuthoritativeAuthorityTx(client: PoolClient, expected: {
17
19
  readonly keyGeneration: string;
18
- readonly admissionContractVersion: number;
20
+ /** Activation/restart callers may require one exact version; dual-version runtime readers omit it. */
21
+ readonly admissionContractVersion?: number;
19
22
  }): Promise<BillingAuthoritativeAuthorityDecision>;
20
23
  //# sourceMappingURL=postgres-authoritative-authority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-authoritative-authority.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-authoritative-authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AA8BrC,MAAM,MAAM,qCAAqC,GAC7C;IAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzF,qBAAa,8CAA+C,SAAQ,KAAK;;CAKxE;AAED,yGAAyG;AACzG,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAA;CAAE,GACtF,OAAO,CAAC,qCAAqC,CAAC,CAoChD"}
1
+ {"version":3,"file":"postgres-authoritative-authority.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-authoritative-authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AA8BrC,MAAM,MAAM,qCAAqC,GAC7C;IAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CAAA;CAAE,GAChF;IACE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,wBAAwB,EAAE,4CAA4C,CAAC;CACjF,CAAC;AAEN,MAAM,MAAM,4CAA4C,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjE,qBAAa,8CAA+C,SAAQ,KAAK;;CAKxE;AAED,yGAAyG;AACzG,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE;IACR,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,sGAAsG;IACtG,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAC5C,GACA,OAAO,CAAC,qCAAqC,CAAC,CAoChD"}
@@ -61,13 +61,15 @@ function validateAuthority(row, expected) {
61
61
  return { state: 'inactive', reason: 'not_activated' };
62
62
  }
63
63
  if (row.activation_state === 'rolled_back') {
64
- if (row.activation_generation < 1 ||
64
+ const admissionContractVersion = persistedAdmissionContractVersion(row.activation_contract_version);
65
+ if ((expected.admissionContractVersion !== undefined &&
66
+ admissionContractVersion !== expected.admissionContractVersion) ||
67
+ row.activation_generation < 1 ||
65
68
  row.active_epoch_id !== null ||
66
69
  row.last_epoch_id === null ||
67
- row.activation_contract_version !== expected.admissionContractVersion ||
68
70
  row.last_epoch_purpose !== 'authoritative' ||
69
71
  row.last_epoch_state !== 'retired' ||
70
- row.last_epoch_contract_version !== expected.admissionContractVersion ||
72
+ row.last_epoch_contract_version !== admissionContractVersion ||
71
73
  row.last_epoch_release_sha !== row.activation_release_sha ||
72
74
  !sameInstant(row.last_epoch_activated_at, row.activation_activated_at) ||
73
75
  activeCount !== 0) {
@@ -75,16 +77,18 @@ function validateAuthority(row, expected) {
75
77
  }
76
78
  return { state: 'inactive', reason: 'rolled_back' };
77
79
  }
78
- if (row.activation_state !== 'active' ||
80
+ const admissionContractVersion = persistedAdmissionContractVersion(row.activation_contract_version);
81
+ if ((expected.admissionContractVersion !== undefined &&
82
+ admissionContractVersion !== expected.admissionContractVersion) ||
83
+ row.activation_state !== 'active' ||
79
84
  row.activation_generation < 1 ||
80
85
  row.active_epoch_id === null ||
81
86
  row.active_epoch_id !== row.last_epoch_id ||
82
- row.activation_contract_version !== expected.admissionContractVersion ||
83
87
  row.active_epoch_purpose !== 'authoritative' ||
84
88
  row.active_epoch_state !== 'active' ||
85
89
  row.active_epoch_key_generation !== expected.keyGeneration ||
86
90
  row.active_epoch_retry_identity_version !== BILLING_METER_RETRY_IDENTITY_VERSION ||
87
- row.active_epoch_contract_version !== expected.admissionContractVersion ||
91
+ row.active_epoch_contract_version !== admissionContractVersion ||
88
92
  row.active_epoch_release_sha !== row.activation_release_sha ||
89
93
  !sameInstant(row.active_epoch_activated_at, row.activation_activated_at) ||
90
94
  row.active_epoch_reconciliation_failed_at !== null ||
@@ -94,7 +98,17 @@ function validateAuthority(row, expected) {
94
98
  const activatedAt = authorityInstant(row.activation_activated_at);
95
99
  if (activatedAt > authorityInstant(row.database_time))
96
100
  throw inconsistent();
97
- return { state: 'active', epochId: row.active_epoch_id, activatedAt };
101
+ return {
102
+ state: 'active',
103
+ epochId: row.active_epoch_id,
104
+ activatedAt,
105
+ admissionContractVersion,
106
+ };
107
+ }
108
+ function persistedAdmissionContractVersion(value) {
109
+ if (value !== 1 && value !== 2)
110
+ throw inconsistent();
111
+ return value;
98
112
  }
99
113
  function sameInstant(left, right) {
100
114
  if (left === null || right === null)
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-authoritative-authority.js","sourceRoot":"","sources":["../../src/billing/postgres-authoritative-authority.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oCAAoC,EAAE,MAAM,sBAAsB,CAAC;AAkC5E,MAAM,OAAO,8CAA+C,SAAQ,KAAK;IACvE;QACE,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,gDAAgD,CAAC;IAC/D,CAAC;CACF;AAED,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,MAAkB,EAClB,QAAuF;IAEvF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BjD,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxD,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAiB,EACjB,QAAuF;IAEvF,IACE,GAAG,CAAC,gBAAgB,KAAK,IAAI;QAC7B,GAAG,CAAC,qBAAqB,KAAK,IAAI;QAClC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC,OAAO,EAC7C,CAAC;QACD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACnE,IAAI,GAAG,CAAC,gBAAgB,KAAK,eAAe,EAAE,CAAC;QAC7C,IACE,GAAG,CAAC,qBAAqB,KAAK,CAAC;YAC/B,GAAG,CAAC,eAAe,KAAK,IAAI;YAC5B,GAAG,CAAC,aAAa,KAAK,IAAI;YAC1B,WAAW,KAAK,CAAC,EACjB,CAAC;YACD,MAAM,YAAY,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,CAAC,gBAAgB,KAAK,aAAa,EAAE,CAAC;QAC3C,IACE,GAAG,CAAC,qBAAqB,GAAG,CAAC;YAC7B,GAAG,CAAC,eAAe,KAAK,IAAI;YAC5B,GAAG,CAAC,aAAa,KAAK,IAAI;YAC1B,GAAG,CAAC,2BAA2B,KAAK,QAAQ,CAAC,wBAAwB;YACrE,GAAG,CAAC,kBAAkB,KAAK,eAAe;YAC1C,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAClC,GAAG,CAAC,2BAA2B,KAAK,QAAQ,CAAC,wBAAwB;YACrE,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,sBAAsB;YACzD,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,uBAAuB,CAAC;YACtE,WAAW,KAAK,CAAC,EACjB,CAAC;YACD,MAAM,YAAY,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACtD,CAAC;IACD,IACE,GAAG,CAAC,gBAAgB,KAAK,QAAQ;QACjC,GAAG,CAAC,qBAAqB,GAAG,CAAC;QAC7B,GAAG,CAAC,eAAe,KAAK,IAAI;QAC5B,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,aAAa;QACzC,GAAG,CAAC,2BAA2B,KAAK,QAAQ,CAAC,wBAAwB;QACrE,GAAG,CAAC,oBAAoB,KAAK,eAAe;QAC5C,GAAG,CAAC,kBAAkB,KAAK,QAAQ;QACnC,GAAG,CAAC,2BAA2B,KAAK,QAAQ,CAAC,aAAa;QAC1D,GAAG,CAAC,mCAAmC,KAAK,oCAAoC;QAChF,GAAG,CAAC,6BAA6B,KAAK,QAAQ,CAAC,wBAAwB;QACvE,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,sBAAsB;QAC3D,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,uBAAuB,CAAC;QACxE,GAAG,CAAC,qCAAqC,KAAK,IAAI;QAClD,WAAW,KAAK,CAAC,EACjB,CAAC;QACD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAClE,IAAI,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,MAAM,YAAY,EAAE,CAAC;IAC5E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,IAA0B,EAAE,KAA2B;IAC1E,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA2B;IACnD,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,YAAY,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,MAAM,YAAY,EAAE,CAAC;IAC3D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,YAAY,EAAE,CAAC;IACtE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,IAAI,8CAA8C,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"postgres-authoritative-authority.js","sourceRoot":"","sources":["../../src/billing/postgres-authoritative-authority.ts"],"names":[],"mappings":"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"}
@@ -137,10 +137,7 @@ function validateCounters(row, input) {
137
137
  account[0] !== aggregateOrganization[0] ||
138
138
  account[1] !== aggregateOrganization[1] ||
139
139
  account[2] !== aggregateOrganization[2] ||
140
- accountPresent !== aggregateOrgCounterCount > 0 ||
141
- account[0] > input.entitlements.includedCalls ||
142
- (!input.entitlements.overageAllowed && account[1] !== 0) ||
143
- (account[1] > 0 && account[0] !== input.entitlements.includedCalls)) {
140
+ accountPresent !== aggregateOrgCounterCount > 0) {
144
141
  throw corrupt('counter_inconsistent');
145
142
  }
146
143
  const organizationUsage = input.org === null ? undefined : validateOrganizationUsage(row, account, input);
@@ -151,7 +148,9 @@ function validateCounters(row, input) {
151
148
  includedUsedCalls: account[0],
152
149
  overageUsedCalls: account[1],
153
150
  totalUsedCalls,
154
- includedRemainingCalls: input.entitlements.includedCalls - account[0],
151
+ // Prior receipt classifications are immutable across plan changes. A downgrade may therefore
152
+ // leave included usage above the current limit, while an upgrade may retain earlier overage.
153
+ includedRemainingCalls: Math.max(0, input.entitlements.includedCalls - account[0]),
155
154
  overageAllowed: input.entitlements.overageAllowed,
156
155
  countingSince: input.countingSince,
157
156
  windowStart: input.windowStart,
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-commercial-enforcement-counters.js","sourceRoot":"","sources":["../../src/billing/postgres-commercial-enforcement-counters.ts"],"names":[],"mappings":"AAiDA,MAAM,OAAO,uCAAwC,SAAQ,KAAK;IACvD,MAAM,CAA0B;IAEzC,YAAY,MAA+B;QACzC,KAAK,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,yCAAyC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAC5D,MAAkB,EAClB,KASC;IAED,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,MAAkB,EAClB,KAMC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCA2DmC,EACnC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CACvF,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAe,EACf,KAOC;IAED,IACE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,WAAW;QACvC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS;QACtC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,EACtC,CAAC;QACD,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,WAAW,CACT,GAAG,CAAC,sBAAsB,EAC1B,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,qBAAqB,CACtB;QACH,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC;IACzB,IACE,CAAC,CAAC,YAAY;QACZ,CAAC,GAAG,CAAC,sBAAsB,KAAK,IAAI;YAClC,GAAG,CAAC,qBAAqB,KAAK,IAAI;YAClC,GAAG,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAChB,CAAC;QACD,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IACD,uBAAuB,CACrB,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACvB,GAAG,CAAC,uBAAuB,EAC3B,GAAG,CAAC,sBAAsB,EAC1B,IAAI,EACJ,KAAK,EACL,qBAAqB,CACtB,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACvD,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,WAAW,CACT,GAAG,CAAC,sBAAsB,EAC1B,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,sBAAsB,CACvB;QACH,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC;IACzB,IAAI,cAAc,EAAE,CAAC;QACnB,IACE,CAAC,YAAY;YACb,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,KAAK,KAAK,CAAC,SAAS,EACrF,CAAC;YACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxC,CAAC;QACD,uBAAuB,CACrB,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACvB,GAAG,CAAC,yBAAyB,EAC7B,GAAG,CAAC,wBAAwB,EAC5B,GAAG,CAAC,kBAAkB,EACtB,KAAK,EACL,sBAAsB,CACvB,CAAC;IACJ,CAAC;SAAM,IACL,GAAG,CAAC,kBAAkB,KAAK,IAAI;QAC/B,GAAG,CAAC,sBAAsB,KAAK,IAAI;QACnC,GAAG,CAAC,qBAAqB,KAAK,IAAI;QAClC,GAAG,CAAC,oBAAoB,KAAK,IAAI,EACjC,CAAC;QACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,wBAAwB,GAAG,SAAS,CACxC,GAAG,CAAC,2BAA2B,EAC/B,sBAAsB,CACvB,CAAC;IACF,MAAM,qBAAqB,GAAG,WAAW,CACvC,GAAG,CAAC,4BAA4B,EAChC,GAAG,CAAC,2BAA2B,EAC/B,GAAG,CAAC,0BAA0B,EAC9B,sBAAsB,CACvB,CAAC;IACF,IAAI,wBAAwB,KAAK,CAAC,EAAE,CAAC;QACnC,IACE,GAAG,CAAC,2BAA2B,KAAK,IAAI;YACxC,GAAG,CAAC,8BAA8B,KAAK,IAAI;YAC3C,GAAG,CAAC,+BAA+B,KAAK,IAAI;YAC5C,GAAG,CAAC,8BAA8B,KAAK,IAAI;YAC3C,GAAG,CAAC,wBAAwB,KAAK,IAAI,EACrC,CAAC;YACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC;YAC5E,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxC,CAAC;QACD,uBAAuB,CACrB,qBAAqB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EACnD,GAAG,CAAC,+BAA+B,EACnC,GAAG,CAAC,8BAA8B,EAClC,GAAG,CAAC,wBAAwB,EAC5B,KAAK,EACL,sBAAsB,CACvB,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAChB,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC;QACvC,cAAc,KAAK,wBAAwB,GAAG,CAAC;QAC/C,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,aAAa;QAC7C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,EACnE,CAAC;QACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,iBAAiB,GACrB,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAC/E,OAAO;QACL,YAAY,EAAE;YACZ,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa;YACpD,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7B,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5B,cAAc;YACd,sBAAsB,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;YACrE,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,cAAc;YACjD,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,SAAS;SACzB;QACD,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,GAAe,EACf,OAA0C,EAC1C,KAKC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC;IACjD,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,WAAW,CACT,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,gBAAgB,EACpB,sBAAsB,CACvB;QACH,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC;IACzB,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,sBAAsB,CAAC,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YACtF,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxC,CAAC;QACD,uBAAuB,CACrB,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACjC,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,cAAc,EAClB,KAAK,EACL,sBAAsB,CACvB,CAAC;IACJ,CAAC;SAAM,IACL,GAAG,CAAC,cAAc,KAAK,IAAI;QAC3B,GAAG,CAAC,kBAAkB,KAAK,IAAI;QAC/B,GAAG,CAAC,iBAAiB,KAAK,IAAI;QAC9B,GAAG,CAAC,gBAAgB,KAAK,IAAI,EAC7B,CAAC;QACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO;QACL,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACjD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAa,EACb,KAA2B,EAC3B,IAA0B,EAC1B,OAA6B,EAC7B,MAKC,EACD,MAA+B;IAE/B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjF,IACE,OAAO,GAAG,MAAM,CAAC,aAAa;QAC9B,MAAM,GAAG,OAAO;QAChB,MAAM,IAAI,MAAM,CAAC,SAAS;QAC1B,MAAM,GAAG,MAAM,CAAC,UAAU;QAC1B,SAAS,GAAG,MAAM;QAClB,SAAS,IAAI,MAAM,CAAC,SAAS;QAC7B,SAAS,GAAG,MAAM,CAAC,UAAU,EAC7B,CAAC;QACD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,QAAuB,EACvB,OAAsB,EACtB,MAAqB,EACrB,MAA+B;IAE/B,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,MAA+B;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa,EAAE,MAA+B;IAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CACnB,iBAAyB,EACzB,gBAAwB;IAKxB,OAAO;QACL,iBAAiB;QACjB,gBAAgB;QAChB,cAAc,EAAE,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA2B,EAAE,MAA+B;IACrF,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,OAAO,CAAC,MAA+B;IAC9C,OAAO,IAAI,uCAAuC,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"postgres-commercial-enforcement-counters.js","sourceRoot":"","sources":["../../src/billing/postgres-commercial-enforcement-counters.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import type { Pool } from 'pg';
2
2
  import type { BillingCommercialEnforcementProjection, BillingCommercialEnforcementProjectionStore, BillingCommercialEnforcementScope, BillingCommercialSnapshotBinding } from './commercial-enforcement-projection.js';
3
3
  export interface PostgresBillingCommercialEnforcementProjectionStoreOptions {
4
4
  readonly keyGeneration: string;
5
- readonly admissionContractVersion?: number;
6
5
  /** Bounded test/operations override. Default: 1000ms. */
7
6
  readonly lockTimeoutMs?: number;
8
7
  /** Bounded test/operations override. Default: 2000ms. */
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-commercial-enforcement-projection.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-commercial-enforcement-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAE3C,OAAO,KAAK,EACV,sCAAsC,EACtC,2CAA2C,EAC3C,iCAAiC,EAEjC,gCAAgC,EACjC,MAAM,wCAAwC,CAAC;AAqBhD,MAAM,WAAW,0DAA0D;IACzE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAgDD,qGAAqG;AACrG,qBAAa,mDACX,YAAW,2CAA2C;;gBAQ1C,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,0DAA0D;IAgBrF,kCAAkC,CACtC,QAAQ,EAAE,iCAAiC,EAC3C,uBAAuB,CAAC,EAAE,gCAAgC,GACzD,OAAO,CAAC,sCAAsC,CAAC;CAsFnD"}
1
+ {"version":3,"file":"postgres-commercial-enforcement-projection.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-commercial-enforcement-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAO3C,OAAO,KAAK,EACV,sCAAsC,EACtC,2CAA2C,EAC3C,iCAAiC,EAEjC,gCAAgC,EACjC,MAAM,wCAAwC,CAAC;AAgBhD,MAAM,WAAW,0DAA0D;IACzE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AA8DD,qGAAqG;AACrG,qBAAa,mDACX,YAAW,2CAA2C;;gBAO1C,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,0DAA0D;IAarF,kCAAkC,CACtC,QAAQ,EAAE,iCAAiC,EAC3C,uBAAuB,CAAC,EAAE,gCAAgC,GACzD,OAAO,CAAC,sCAAsC,CAAC;CAuFnD"}