@noodleseed/one 0.52.1 → 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 (79) 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/commercial-entitlements.d.ts +8 -0
  6. package/node_modules/@noodle-borg/service/dist/billing/commercial-entitlements.d.ts.map +1 -1
  7. package/node_modules/@noodle-borg/service/dist/billing/commercial-entitlements.js +49 -0
  8. package/node_modules/@noodle-borg/service/dist/billing/commercial-entitlements.js.map +1 -1
  9. package/node_modules/@noodle-borg/service/dist/billing/in-memory.d.ts.map +1 -1
  10. package/node_modules/@noodle-borg/service/dist/billing/in-memory.js +3 -2
  11. package/node_modules/@noodle-borg/service/dist/billing/in-memory.js.map +1 -1
  12. package/node_modules/@noodle-borg/service/dist/billing/integration.d.ts.map +1 -1
  13. package/node_modules/@noodle-borg/service/dist/billing/integration.js +0 -3
  14. package/node_modules/@noodle-borg/service/dist/billing/integration.js.map +1 -1
  15. package/node_modules/@noodle-borg/service/dist/billing/model.d.ts +16 -3
  16. package/node_modules/@noodle-borg/service/dist/billing/model.d.ts.map +1 -1
  17. package/node_modules/@noodle-borg/service/dist/billing/model.js +1 -0
  18. package/node_modules/@noodle-borg/service/dist/billing/model.js.map +1 -1
  19. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.d.ts +26 -0
  20. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.d.ts.map +1 -0
  21. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.js +94 -0
  22. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.js.map +1 -0
  23. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts +4 -1
  24. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts.map +1 -1
  25. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js +21 -7
  26. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js.map +1 -1
  27. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.js +4 -5
  28. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.js.map +1 -1
  29. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.d.ts +0 -1
  30. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.d.ts.map +1 -1
  31. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.js +92 -27
  32. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.js.map +1 -1
  33. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts +0 -1
  34. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts.map +1 -1
  35. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js +72 -27
  36. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js.map +1 -1
  37. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.d.ts.map +1 -1
  38. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.js +56 -26
  39. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.js.map +1 -1
  40. package/node_modules/@noodle-borg/service/dist/billing/postgres-records.d.ts +4 -0
  41. package/node_modules/@noodle-borg/service/dist/billing/postgres-records.d.ts.map +1 -1
  42. package/node_modules/@noodle-borg/service/dist/billing/postgres-records.js +38 -9
  43. package/node_modules/@noodle-borg/service/dist/billing/postgres-records.js.map +1 -1
  44. package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.d.ts.map +1 -1
  45. package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.js +28 -21
  46. package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.js.map +1 -1
  47. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.d.ts +5 -0
  48. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.d.ts.map +1 -0
  49. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.js +97 -0
  50. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-authority.js.map +1 -0
  51. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.d.ts +50 -0
  52. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.d.ts.map +1 -0
  53. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.js +221 -0
  54. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-persistence.js.map +1 -0
  55. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.d.ts +8 -0
  56. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.d.ts.map +1 -0
  57. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.js +42 -0
  58. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation-support.js.map +1 -0
  59. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.d.ts +15 -0
  60. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.d.ts.map +1 -0
  61. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.js +123 -0
  62. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-reconciliation.js.map +1 -0
  63. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-schema.d.ts +4 -0
  64. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-schema.d.ts.map +1 -0
  65. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-schema.js +419 -0
  66. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-schema.js.map +1 -0
  67. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.d.ts +40 -0
  68. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.d.ts.map +1 -0
  69. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js +388 -0
  70. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js.map +1 -0
  71. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.d.ts +45 -0
  72. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.d.ts.map +1 -0
  73. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.js +165 -0
  74. package/node_modules/@noodle-borg/service/dist/billing/subscription-reconciliation.js.map +1 -0
  75. package/node_modules/@noodle-borg/service/dist/billing-public.d.ts +6 -1
  76. package/node_modules/@noodle-borg/service/dist/billing-public.d.ts.map +1 -1
  77. package/node_modules/@noodle-borg/service/dist/billing-public.js +5 -0
  78. package/node_modules/@noodle-borg/service/dist/billing-public.js.map +1 -1
  79. package/package.json +1 -1
@@ -0,0 +1,94 @@
1
+ import { billingContentChecksum, FREE_PLAN_VERSION, } from './model.js';
2
+ export const BILLING_STARTED_OVERAGE_POLICY = Object.freeze({
3
+ kind: 'started-blocks',
4
+ blockCalls: 1_000_000,
5
+ blockAmountMinor: 500,
6
+ currency: 'usd',
7
+ rounding: 'up',
8
+ });
9
+ export const PRO_ENTITLEMENTS = Object.freeze({
10
+ 'usage.mcp_calls.included': 10_000_000,
11
+ 'usage.mcp_calls.overage': BILLING_STARTED_OVERAGE_POLICY.kind,
12
+ 'usage.mcp_calls.overage.block_calls': BILLING_STARTED_OVERAGE_POLICY.blockCalls,
13
+ 'usage.mcp_calls.overage.block_amount_minor': BILLING_STARTED_OVERAGE_POLICY.blockAmountMinor,
14
+ 'usage.mcp_calls.overage.currency': BILLING_STARTED_OVERAGE_POLICY.currency,
15
+ 'usage.mcp_calls.overage.rounding': BILLING_STARTED_OVERAGE_POLICY.rounding,
16
+ 'apps.production.max': 5,
17
+ 'access.owner_or_public': true,
18
+ 'access.org_members': true,
19
+ 'config.managed_secrets': true,
20
+ 'deploy.history_rollback': true,
21
+ 'assets.packaged': true,
22
+ 'domains.custom': false,
23
+ 'governance.policy': false,
24
+ 'governance.audit': false,
25
+ 'support.email': true,
26
+ 'support.priority': false,
27
+ 'deployment.dedicated': false,
28
+ 'deployment.byo_cloud': false,
29
+ 'identity.sso_scim': false,
30
+ 'connectivity.private': false,
31
+ sla: false,
32
+ });
33
+ export const SCALE_ENTITLEMENTS = Object.freeze({
34
+ ...PRO_ENTITLEMENTS,
35
+ 'usage.mcp_calls.included': 100_000_000,
36
+ 'apps.production.max': 25,
37
+ 'domains.custom': true,
38
+ 'governance.policy': true,
39
+ 'governance.audit': true,
40
+ 'support.priority': true,
41
+ });
42
+ const PAID_PLAN_EFFECTIVE_FROM = '2026-07-17T00:00:00.000Z';
43
+ function createPaidPlanVersion(planCode, entitlements) {
44
+ const content = {
45
+ id: `${planCode}@1`,
46
+ planCode,
47
+ version: 1,
48
+ effectiveFrom: PAID_PLAN_EFFECTIVE_FROM,
49
+ entitlements,
50
+ };
51
+ return Object.freeze({
52
+ ...content,
53
+ contentChecksum: billingContentChecksum(content),
54
+ createdAt: content.effectiveFrom,
55
+ });
56
+ }
57
+ export const PRO_PLAN_VERSION = createPaidPlanVersion('pro', PRO_ENTITLEMENTS);
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
+ }
66
+ /** Round once per account/window using exact integer arithmetic; never round individual calls. */
67
+ export function calculateBillableOverage(overageCalls, policy) {
68
+ if (overageCalls < 0n)
69
+ throw new Error('overage calls must be non-negative');
70
+ if (policy.kind !== BILLING_STARTED_OVERAGE_POLICY.kind ||
71
+ policy.blockCalls !== BILLING_STARTED_OVERAGE_POLICY.blockCalls ||
72
+ policy.blockAmountMinor !== BILLING_STARTED_OVERAGE_POLICY.blockAmountMinor ||
73
+ policy.currency !== BILLING_STARTED_OVERAGE_POLICY.currency ||
74
+ policy.rounding !== BILLING_STARTED_OVERAGE_POLICY.rounding) {
75
+ throw new Error('overage policy is invalid');
76
+ }
77
+ const blockCalls = BigInt(policy.blockCalls);
78
+ const billableBlocks = overageCalls === 0n ? 0n : (overageCalls - 1n) / blockCalls + 1n;
79
+ return {
80
+ overageCalls,
81
+ billableBlocks,
82
+ amountMinor: billableBlocks * BigInt(policy.blockAmountMinor),
83
+ currency: policy.currency,
84
+ };
85
+ }
86
+ export const PAID_PLAN_VERSIONS = Object.freeze([PRO_PLAN_VERSION, SCALE_PLAN_VERSION]);
87
+ export const BILLING_PUBLIC_PLAN_VERSIONS = Object.freeze([
88
+ FREE_PLAN_VERSION,
89
+ ...PAID_PLAN_VERSIONS,
90
+ ]);
91
+ export function getBillingPublicPlanVersion(id) {
92
+ return BILLING_PUBLIC_PLAN_VERSIONS.find((plan) => plan.id === id);
93
+ }
94
+ //# sourceMappingURL=paid-plan-catalog.js.map
@@ -0,0 +1 @@
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":"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"}
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":"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"}
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"}
@@ -1,6 +1,5 @@
1
1
  import { validateSlug } from '../store/validate.js';
2
- import { BillingCommercialEntitlementError, parseBillingCommercialFreeV1Entitlements, } from './commercial-entitlements.js';
3
- import { BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION } from './enforcement-activation.js';
2
+ import { BillingActiveCommercialEntitlementInconsistentError, resolveActiveBillingCommercialEntitlement, } from './active-commercial-entitlement.js';
4
3
  import { billingContentChecksum, validateBillingAccountId } from './model.js';
5
4
  import { BillingAuthoritativeAuthorityInconsistentError, readBillingAuthoritativeAuthorityTx, } from './postgres-authoritative-authority.js';
6
5
  import { readBillingCommercialProductionAppCountsTx } from './postgres-commercial-enforcement-apps.js';
@@ -22,13 +21,11 @@ class ProjectionCorruptionError extends Error {
22
21
  export class PostgresBillingCommercialEnforcementProjectionStore {
23
22
  #pool;
24
23
  #keyGeneration;
25
- #admissionContractVersion;
26
24
  #lockTimeoutMs;
27
25
  #statementTimeoutMs;
28
26
  constructor(pool, options) {
29
27
  this.#pool = pool;
30
28
  this.#keyGeneration = validateFingerprint(options.keyGeneration);
31
- this.#admissionContractVersion = validateAdmissionContractVersion(options.admissionContractVersion ?? BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION);
32
29
  this.#lockTimeoutMs = boundedTimeout('billing commercial projection lock timeout', options.lockTimeoutMs ?? DEFAULT_LOCK_TIMEOUT_MS);
33
30
  this.#statementTimeoutMs = boundedTimeout('billing commercial projection statement timeout', options.statementTimeoutMs ?? DEFAULT_STATEMENT_TIMEOUT_MS);
34
31
  }
@@ -41,7 +38,6 @@ export class PostgresBillingCommercialEnforcementProjectionStore {
41
38
  }, async (client) => {
42
39
  const authority = await readBillingAuthoritativeAuthorityTx(client, {
43
40
  keyGeneration: this.#keyGeneration,
44
- admissionContractVersion: this.#admissionContractVersion,
45
41
  });
46
42
  if (authority.state === 'unconfigured')
47
43
  return { state: 'unconfigured', scope };
@@ -49,7 +45,7 @@ export class PostgresBillingCommercialEnforcementProjectionStore {
49
45
  return { state: 'inactive', reason: authority.reason, scope };
50
46
  }
51
47
  const recordedAt = await readBillingMeterTransactionTime(client);
52
- const resolved = validateResolution(await readResolution(client, scope), expectedSnapshotBinding);
48
+ const resolved = validateResolution(await readResolution(client, scope), expectedSnapshotBinding, authority.admissionContractVersion, recordedAt);
53
49
  if (resolved.profileMode === 'legacy_internal_exempt') {
54
50
  return { state: 'exempt', reason: 'legacy_internal_exempt', scope };
55
51
  }
@@ -132,7 +128,17 @@ async function readResolution(client, scope) {
132
128
  snapshot.effective_from AS snapshot_effective_from,
133
129
  snapshot.monthly_usage_anchor AS snapshot_monthly_usage_anchor,
134
130
  snapshot.entitlements AS snapshot_entitlements,
135
- snapshot.content_checksum AS snapshot_content_checksum
131
+ snapshot.content_checksum AS snapshot_content_checksum,
132
+ snapshot.schema_version, snapshot.source_kind, snapshot.generation_reason,
133
+ snapshot.effective_until, snapshot.source_subscription_id,
134
+ snapshot.source_subscription_version,
135
+ snapshot.verified_at AS snapshot_verified_at,
136
+ snapshot.created_at AS snapshot_created_at,
137
+ plan.plan_code, plan.version AS plan_version,
138
+ plan.effective_from AS plan_effective_from,
139
+ plan.entitlements AS plan_entitlements,
140
+ plan.content_checksum AS plan_content_checksum,
141
+ plan.created_at AS plan_created_at
136
142
  ${targetJoin}
137
143
  LEFT JOIN billing_account_active_enforcement_profiles AS active_profile
138
144
  ON active_profile.billing_account_id = account.id
@@ -144,13 +150,14 @@ async function readResolution(client, scope) {
144
150
  LEFT JOIN billing_entitlement_snapshots AS snapshot
145
151
  ON snapshot.billing_account_id = active_snapshot.billing_account_id
146
152
  AND snapshot.id = active_snapshot.snapshot_id
153
+ LEFT JOIN billing_plan_versions AS plan ON plan.id = snapshot.plan_version_id
147
154
  LEFT JOIN billing_enforcement_cohort_seals AS seal ON seal.singleton = true`, [value]);
148
155
  const row = rows[0];
149
156
  if (row === undefined)
150
157
  throw corrupt('profile_inconsistent');
151
158
  return row;
152
159
  }
153
- function validateResolution(row, expectedSnapshotBinding) {
160
+ function validateResolution(row, expectedSnapshotBinding, admissionContractVersion, databaseTime) {
154
161
  const profileEffectiveFrom = projectionInstant(row.profile_effective_from, 'profile_inconsistent');
155
162
  const cohortSealedAt = projectionInstant(row.cohort_sealed_at, 'profile_inconsistent');
156
163
  const validLegacyProfile = row.profile_mode === 'legacy_internal_exempt' &&
@@ -174,23 +181,34 @@ function validateResolution(row, expectedSnapshotBinding) {
174
181
  row.snapshot_verification_status !== 'verified' ||
175
182
  row.snapshot_effective_from === null ||
176
183
  row.snapshot_monthly_usage_anchor === null ||
177
- row.snapshot_content_checksum === null) {
184
+ row.snapshot_content_checksum === null ||
185
+ row.schema_version === null ||
186
+ row.source_kind === null ||
187
+ row.generation_reason === null ||
188
+ row.snapshot_verified_at === null ||
189
+ row.snapshot_created_at === null ||
190
+ row.plan_code === null ||
191
+ row.plan_version === null ||
192
+ row.plan_effective_from === null ||
193
+ row.plan_content_checksum === null ||
194
+ row.plan_created_at === null) {
178
195
  throw corrupt('snapshot_inconsistent');
179
196
  }
180
197
  const effectiveFrom = projectionInstant(row.snapshot_effective_from, 'snapshot_inconsistent');
181
198
  const monthlyUsageAnchor = projectionInstant(row.snapshot_monthly_usage_anchor, 'snapshot_inconsistent');
182
- const expectedChecksum = billingContentChecksum({
183
- billingAccountId: row.account_id,
184
- version: row.snapshot_version,
185
- planVersionId: row.snapshot_plan_version_id,
186
- effectiveFrom,
187
- monthlyUsageAnchor,
188
- entitlements: row.snapshot_entitlements,
189
- });
190
- if (row.snapshot_content_checksum !== expectedChecksum)
191
- throw corrupt('snapshot_inconsistent');
192
199
  const billingAccountId = validateBillingAccountId(row.account_id);
193
200
  if (row.profile_mode === 'legacy_internal_exempt') {
201
+ const expectedChecksum = billingContentChecksum({
202
+ billingAccountId: row.account_id,
203
+ version: row.snapshot_version,
204
+ planVersionId: row.snapshot_plan_version_id,
205
+ effectiveFrom,
206
+ monthlyUsageAnchor,
207
+ entitlements: row.snapshot_entitlements,
208
+ });
209
+ if (row.snapshot_content_checksum !== expectedChecksum) {
210
+ throw corrupt('snapshot_inconsistent');
211
+ }
194
212
  return { billingAccountId, profileMode: row.profile_mode };
195
213
  }
196
214
  const snapshotBinding = {
@@ -204,10 +222,13 @@ function validateResolution(row, expectedSnapshotBinding) {
204
222
  }
205
223
  let entitlements;
206
224
  try {
207
- entitlements = parseBillingCommercialFreeV1Entitlements(row.snapshot_entitlements);
225
+ entitlements = resolveActiveBillingCommercialEntitlement(activeEntitlementRow(row), {
226
+ admissionContractVersion,
227
+ databaseTime,
228
+ }).entitlements;
208
229
  }
209
230
  catch (error) {
210
- if (error instanceof BillingCommercialEntitlementError) {
231
+ if (error instanceof BillingActiveCommercialEntitlementInconsistentError) {
211
232
  throw corrupt('snapshot_inconsistent');
212
233
  }
213
234
  throw error;
@@ -220,6 +241,53 @@ function validateResolution(row, expectedSnapshotBinding) {
220
241
  snapshotBinding,
221
242
  };
222
243
  }
244
+ function activeEntitlementRow(row) {
245
+ if (row.account_id === null ||
246
+ row.snapshot_id === null ||
247
+ row.snapshot_version === null ||
248
+ row.snapshot_plan_version_id === null ||
249
+ row.snapshot_verification_status === null ||
250
+ row.snapshot_effective_from === null ||
251
+ row.snapshot_monthly_usage_anchor === null ||
252
+ row.snapshot_content_checksum === null ||
253
+ row.schema_version === null ||
254
+ row.source_kind === null ||
255
+ row.generation_reason === null ||
256
+ row.snapshot_verified_at === null ||
257
+ row.snapshot_created_at === null ||
258
+ row.plan_code === null ||
259
+ row.plan_version === null ||
260
+ row.plan_effective_from === null ||
261
+ row.plan_content_checksum === null ||
262
+ row.plan_created_at === null) {
263
+ throw corrupt('snapshot_inconsistent');
264
+ }
265
+ return {
266
+ id: row.snapshot_id,
267
+ billing_account_id: row.account_id,
268
+ version: row.snapshot_version,
269
+ plan_version_id: row.snapshot_plan_version_id,
270
+ plan_code: row.plan_code,
271
+ plan_version: row.plan_version,
272
+ plan_effective_from: row.plan_effective_from,
273
+ plan_entitlements: row.plan_entitlements,
274
+ plan_content_checksum: row.plan_content_checksum,
275
+ plan_created_at: row.plan_created_at,
276
+ schema_version: row.schema_version,
277
+ source_kind: row.source_kind,
278
+ generation_reason: row.generation_reason,
279
+ verification_status: row.snapshot_verification_status,
280
+ effective_from: row.snapshot_effective_from,
281
+ effective_until: row.effective_until,
282
+ monthly_usage_anchor: row.snapshot_monthly_usage_anchor,
283
+ entitlements: row.snapshot_entitlements,
284
+ content_checksum: row.snapshot_content_checksum,
285
+ source_subscription_id: row.source_subscription_id,
286
+ source_subscription_version: row.source_subscription_version,
287
+ verified_at: row.snapshot_verified_at,
288
+ created_at: row.snapshot_created_at,
289
+ };
290
+ }
223
291
  function sameSnapshotBinding(current, expected) {
224
292
  return (current.snapshotId === expected.snapshotId &&
225
293
  current.version === expected.version &&
@@ -240,6 +308,9 @@ function unavailableReason(error) {
240
308
  if (error instanceof BillingAuthoritativeAuthorityInconsistentError) {
241
309
  return 'authority_inconsistent';
242
310
  }
311
+ if (error instanceof BillingActiveCommercialEntitlementInconsistentError) {
312
+ return 'snapshot_inconsistent';
313
+ }
243
314
  if (error instanceof BillingCommercialCounterProjectionError)
244
315
  return error.reason;
245
316
  if (error instanceof ProjectionCorruptionError)
@@ -260,12 +331,6 @@ function validateFingerprint(value) {
260
331
  }
261
332
  return value;
262
333
  }
263
- function validateAdmissionContractVersion(value) {
264
- if (value !== BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION) {
265
- throw new Error('billing commercial projection admission contract version is unsupported');
266
- }
267
- return value;
268
- }
269
334
  function boundedTimeout(label, value) {
270
335
  if (!Number.isSafeInteger(value) || value < 1 || value > 5_000) {
271
336
  throw new Error(`${label} must be between 1 and 5000 milliseconds`);
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-commercial-enforcement-projection.js","sourceRoot":"","sources":["../../src/billing/postgres-commercial-enforcement-projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-commercial-enforcement-projection.js","sourceRoot":"","sources":["../../src/billing/postgres-commercial-enforcement-projection.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import { type BillingAuthoritativeAdmissionInput, type BillingAuthoritativeAdmis
3
3
  export interface PostgresBillingAuthoritativeAdmissionStoreOptions {
4
4
  /** One-way key-generation marker; never the raw HMAC key. */
5
5
  readonly keyGeneration: string;
6
- readonly admissionContractVersion?: number;
7
6
  /** Bounded test/operations override. Default: 1000ms. */
8
7
  readonly lockTimeoutMs?: number;
9
8
  /** Bounded test/operations override. Default: 2000ms. */
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-meter-admission.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-meter-admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAE3C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EAGxC,MAAM,8BAA8B,CAAC;AAsBtC,MAAM,WAAW,iDAAiD;IAChE,6DAA6D;IAC7D,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;AAmCD,yEAAyE;AACzE,qBAAa,0CACX,YAAW,kCAAkC;;gBAQjC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,iDAAiD;IAmB5E,KAAK,CACT,QAAQ,EAAE,kCAAkC,GAC3C,OAAO,CAAC,mCAAmC,CAAC;CAqIhD"}
1
+ {"version":3,"file":"postgres-meter-admission.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-meter-admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAQ3C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EAGxC,MAAM,8BAA8B,CAAC;AAiBtC,MAAM,WAAW,iDAAiD;IAChE,6DAA6D;IAC7D,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;AAmCD,yEAAyE;AACzE,qBAAa,0CACX,YAAW,kCAAkC;;gBAOjC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,iDAAiD;IAgB5E,KAAK,CACT,QAAQ,EAAE,kCAAkC,GAC3C,OAAO,CAAC,mCAAmC,CAAC;CA+IhD"}