@noodleseed/one 0.53.0 → 0.55.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/dist/commands/billing-enforcement-activation-ops.js +3 -0
  2. package/dist/commands/billing-enforcement-activation-ops.js.map +1 -1
  3. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.d.ts +25 -0
  4. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.d.ts.map +1 -0
  5. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.js +94 -0
  6. package/node_modules/@noodle-borg/service/dist/billing/active-commercial-entitlement.js.map +1 -0
  7. package/node_modules/@noodle-borg/service/dist/billing/enforcement-release-config.d.ts +1 -1
  8. package/node_modules/@noodle-borg/service/dist/billing/enforcement-release-config.d.ts.map +1 -1
  9. package/node_modules/@noodle-borg/service/dist/billing/enforcement-release-config.js +2 -5
  10. package/node_modules/@noodle-borg/service/dist/billing/enforcement-release-config.js.map +1 -1
  11. package/node_modules/@noodle-borg/service/dist/billing/integration.d.ts +2 -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 +2 -5
  14. package/node_modules/@noodle-borg/service/dist/billing/integration.js.map +1 -1
  15. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.d.ts +1 -0
  16. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.d.ts.map +1 -1
  17. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.js +7 -0
  18. package/node_modules/@noodle-borg/service/dist/billing/paid-plan-catalog.js.map +1 -1
  19. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts +4 -1
  20. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts.map +1 -1
  21. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js +21 -7
  22. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js.map +1 -1
  23. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-contract-cutover.d.ts +27 -0
  24. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-contract-cutover.d.ts.map +1 -0
  25. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-contract-cutover.js +284 -0
  26. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-contract-cutover.js.map +1 -0
  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-enforcement-activation-schema.d.ts.map +1 -1
  34. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-schema.js +55 -0
  35. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-schema.js.map +1 -1
  36. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-release-activation.d.ts +4 -7
  37. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-release-activation.d.ts.map +1 -1
  38. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-release-activation.js +34 -4
  39. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-release-activation.js.map +1 -1
  40. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts +0 -1
  41. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts.map +1 -1
  42. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js +72 -27
  43. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js.map +1 -1
  44. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.d.ts.map +1 -1
  45. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.js +56 -26
  46. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.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.js +100 -0
  64. package/node_modules/@noodle-borg/service/dist/billing/postgres-subscription-schema.js.map +1 -1
  65. package/node_modules/@noodle-borg/service/dist/billing/service-enforcement-release.d.ts.map +1 -1
  66. package/node_modules/@noodle-borg/service/dist/billing/service-enforcement-release.js +4 -1
  67. package/node_modules/@noodle-borg/service/dist/billing/service-enforcement-release.js.map +1 -1
  68. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.d.ts.map +1 -1
  69. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js +9 -1
  70. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js.map +1 -1
  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 +2 -0
  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 +2 -0
  78. package/node_modules/@noodle-borg/service/dist/billing-public.js.map +1 -1
  79. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-activation-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-activation-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,0GAA0G;AAC1G,wBAAsB,wCAAwC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHxF"}
1
+ {"version":3,"file":"postgres-enforcement-activation-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-activation-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,0GAA0G;AAC1G,wBAAsB,wCAAwC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2KxF"}
@@ -71,6 +71,61 @@ export async function ensureBillingEnforcementActivationSchema(pool) {
71
71
  (action = 'rollback' AND validation_epoch_id IS NULL AND preview_checksum IS NULL)
72
72
  )
73
73
  )
74
+ `);
75
+ await pool.query(`
76
+ CREATE TABLE IF NOT EXISTS billing_commercial_contract_transitions (
77
+ singleton boolean PRIMARY KEY DEFAULT true CHECK (singleton),
78
+ operation_id text NOT NULL UNIQUE,
79
+ schema_version integer NOT NULL CHECK (schema_version = 1),
80
+ activation_state_singleton boolean NOT NULL DEFAULT true
81
+ REFERENCES billing_enforcement_activation_state(singleton) ON DELETE RESTRICT,
82
+ from_admission_contract_version integer NOT NULL
83
+ CHECK (from_admission_contract_version = 1),
84
+ to_admission_contract_version integer NOT NULL
85
+ CHECK (to_admission_contract_version = 2),
86
+ generation integer NOT NULL CHECK (generation > 0),
87
+ epoch_id text NOT NULL UNIQUE
88
+ REFERENCES billing_meter_epochs(id) ON DELETE RESTRICT,
89
+ activation_service_release_sha text NOT NULL
90
+ CHECK (activation_service_release_sha ~ '^[0-9a-f]{40}$'),
91
+ activation_approval_checksum text NOT NULL
92
+ CHECK (activation_approval_checksum ~ '^[0-9a-f]{64}$'),
93
+ transition_service_release_sha text NOT NULL
94
+ CHECK (transition_service_release_sha ~ '^[0-9a-f]{40}$'),
95
+ system_release_id text NOT NULL CHECK (system_release_id ~ '^r[1-9][0-9]*$'),
96
+ manifest_checksum text NOT NULL
97
+ CHECK (manifest_checksum ~ '^sha256:[0-9a-f]{64}$'),
98
+ service_origin text NOT NULL,
99
+ transition_checksum text NOT NULL UNIQUE
100
+ CHECK (transition_checksum ~ '^[0-9a-f]{64}$'),
101
+ transitioned_at timestamptz NOT NULL,
102
+ CHECK (activation_state_singleton = singleton)
103
+ )
104
+ `);
105
+ await pool.query(`
106
+ CREATE OR REPLACE FUNCTION reject_billing_commercial_contract_transition_mutation()
107
+ RETURNS trigger LANGUAGE plpgsql AS $$
108
+ BEGIN
109
+ RAISE EXCEPTION 'billing commercial contract transitions are append-only'
110
+ USING ERRCODE = '55000';
111
+ END
112
+ $$
113
+ `);
114
+ await pool.query(`
115
+ DO $billing_commercial_contract_transition_append_only$
116
+ BEGIN
117
+ IF NOT EXISTS (
118
+ SELECT 1 FROM pg_trigger
119
+ WHERE tgname = 'billing_commercial_contract_transitions_append_only'
120
+ AND tgrelid = 'billing_commercial_contract_transitions'::regclass
121
+ AND NOT tgisinternal
122
+ ) THEN
123
+ CREATE TRIGGER billing_commercial_contract_transitions_append_only
124
+ BEFORE UPDATE OR DELETE ON billing_commercial_contract_transitions
125
+ FOR EACH ROW EXECUTE FUNCTION reject_billing_commercial_contract_transition_mutation();
126
+ END IF;
127
+ END
128
+ $billing_commercial_contract_transition_append_only$
74
129
  `);
75
130
  await pool.query(`
76
131
  CREATE OR REPLACE FUNCTION initialize_billing_enforcement_activation_state()
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-activation-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-activation-schema.ts"],"names":[],"mappings":"AAEA,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAAC,IAAU;IACvE,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0ChB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,wGAAwG;IACxG,0FAA0F;IAC1F,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"postgres-enforcement-activation-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-activation-schema.ts"],"names":[],"mappings":"AAEA,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAAC,IAAU;IACvE,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0ChB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;GAQhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,wGAAwG;IACxG,0FAA0F;IAC1F,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;AACL,CAAC"}
@@ -1,13 +1,9 @@
1
1
  import type { Pool } from 'pg';
2
2
  import { type BillingEnforcementActivationSignals } from './enforcement-activation.js';
3
+ import { type ReleaseManagedBillingContractOptions, type ReleaseManagedBillingContractResult } from './postgres-commercial-contract-cutover.js';
3
4
  export declare const RELEASE_MANAGED_FREE_V1_ACTIVATION_BLOCKERS: readonly ["cohort_not_sealed", "cohort_seal_mismatch", "billing_attribution_incomplete", "unprofiled_billing_accounts", "activation_state_mismatch", "active_epoch_exists", "invalid_enforced_entitlements", "enforced_account_not_free_v1", "enforced_account_over_capacity"];
4
5
  type ReleaseManagedFreeV1ActivationBlocker = (typeof RELEASE_MANAGED_FREE_V1_ACTIVATION_BLOCKERS)[number];
5
- export interface ReleaseManagedFreeV1ActivationResult {
6
- readonly state: 'active' | 'rolled_back';
7
- readonly generation: number;
8
- readonly activeEpochId: string | null;
9
- readonly activated: boolean;
10
- }
6
+ export type ReleaseManagedFreeV1ActivationResult = ReleaseManagedBillingContractResult;
11
7
  export declare function releaseManagedFreeV1ActivationBlockers(signals: BillingEnforcementActivationSignals): readonly ReleaseManagedFreeV1ActivationBlocker[];
12
8
  /**
13
9
  * Perform the one-time production System Release transition. PostgreSQL remains the sole runtime switch;
@@ -19,9 +15,10 @@ export declare function ensurePostgresReleaseManagedFreeV1Activation(pool: Pool,
19
15
  readonly systemReleaseId: string;
20
16
  readonly manifestChecksum: string;
21
17
  readonly keyGeneration: string;
22
- readonly admissionContractVersion?: number;
23
18
  readonly lockTimeoutMs?: number;
24
19
  readonly id?: () => string;
25
20
  }): Promise<ReleaseManagedFreeV1ActivationResult>;
21
+ /** Select the protected generation-zero or same-epoch path from the exact release mode. */
22
+ export declare function ensurePostgresReleaseManagedBillingContract(pool: Pool, options: ReleaseManagedBillingContractOptions): Promise<ReleaseManagedBillingContractResult>;
26
23
  export {};
27
24
  //# sourceMappingURL=postgres-enforcement-release-activation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-release-activation.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-release-activation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAkB,MAAM,IAAI,CAAC;AAC/C,OAAO,EAGL,KAAK,mCAAmC,EAEzC,MAAM,6BAA6B,CAAC;AAqBrC,eAAO,MAAM,2CAA2C,gRAU9C,CAAC;AAEX,KAAK,qCAAqC,GACxC,CAAC,OAAO,2CAA2C,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAQD,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,mCAAmC,GAC3C,SAAS,qCAAqC,EAAE,CAkBlD;AAED;;;GAGG;AACH,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IACP,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,oCAAoC,CAAC,CA0M/C"}
1
+ {"version":3,"file":"postgres-enforcement-release-activation.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-release-activation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAkB,MAAM,IAAI,CAAC;AAC/C,OAAO,EAGL,KAAK,mCAAmC,EAEzC,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAIL,KAAK,oCAAoC,EACzC,KAAK,mCAAmC,EACzC,MAAM,2CAA2C,CAAC;AAgBnD,eAAO,MAAM,2CAA2C,gRAU9C,CAAC;AAEX,KAAK,qCAAqC,GACxC,CAAC,OAAO,2CAA2C,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,MAAM,oCAAoC,GAAG,mCAAmC,CAAC;AAQvF,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,mCAAmC,GAC3C,SAAS,qCAAqC,EAAE,CAkBlD;AAED;;;GAGG;AACH,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IACP,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,oCAAoC,CAAC,CA8N/C;AAED,2FAA2F;AAC3F,wBAAgB,2CAA2C,CACzD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,mCAAmC,CAAC,CAK9C"}
@@ -6,6 +6,7 @@ import { BILLING_METER_RETRY_IDENTITY_VERSION } from './meter-readiness.js';
6
6
  import { BILLING_METER_VALIDATION_WRITER_CONTRACT_VERSION } from './meter-validation-epoch.js';
7
7
  import { billingContentChecksum } from './model.js';
8
8
  import { readBillingAuthoritativeAuthorityTx } from './postgres-authoritative-authority.js';
9
+ import { assertCommercialContractTransitionEvidenceTx, assertNoCommercialContractTransitionEvidenceTx, ensurePostgresReleaseManagedPaidV2Contract, } from './postgres-commercial-contract-cutover.js';
9
10
  import { BILLING_ENFORCEMENT_ACTIVATION_LOCK_TIMEOUT_MS, validateActivationLockTimeout, withBillingEnforcementActivationTransaction, } from './postgres-enforcement-activation-locks.js';
10
11
  import { readPostgresBillingEnforcementActivationSignalsTx } from './postgres-enforcement-activation-preflight.js';
11
12
  import { requireActivationState, requireActiveAuthoritativeEpoch, stateRowToStatus, validateAdmissionContractVersion, validateReleaseSha, } from './postgres-enforcement-activation-support.js';
@@ -57,7 +58,7 @@ export function ensurePostgresReleaseManagedFreeV1Activation(pool, options) {
57
58
  if (!/^[0-9a-f]{64}$/.test(options.keyGeneration)) {
58
59
  throw new Error('release-managed Free-v1 activation key generation is invalid');
59
60
  }
60
- const admissionContractVersion = validateAdmissionContractVersion(options.admissionContractVersion ?? BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION);
61
+ const admissionContractVersion = validateAdmissionContractVersion(BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION);
61
62
  const lockTimeoutMs = validateActivationLockTimeout(options.lockTimeoutMs ?? BILLING_ENFORCEMENT_ACTIVATION_LOCK_TIMEOUT_MS);
62
63
  const id = options.id ?? randomUUID;
63
64
  return withBillingEnforcementActivationTransaction(pool, lockTimeoutMs, async (client) => {
@@ -65,24 +66,30 @@ export function ensurePostgresReleaseManagedFreeV1Activation(pool, options) {
65
66
  if (state.state === 'rolled_back') {
66
67
  const authority = await readBillingAuthoritativeAuthorityTx(client, {
67
68
  keyGeneration: options.keyGeneration,
68
- admissionContractVersion,
69
69
  });
70
70
  if (authority.state !== 'inactive' || authority.reason !== 'rolled_back') {
71
71
  throw new BillingEnforcementActivationConflictError('activation_configuration_unavailable', 'rolled-back billing enforcement authority is inconsistent');
72
72
  }
73
73
  const status = stateRowToStatus(state);
74
+ if (status.admissionContractVersion === 2) {
75
+ await assertCommercialContractTransitionEvidenceTx(client, state);
76
+ }
77
+ else {
78
+ await assertNoCommercialContractTransitionEvidenceTx(client);
79
+ }
74
80
  return {
75
81
  state: 'rolled_back',
76
82
  generation: status.generation,
77
83
  activeEpochId: null,
84
+ admissionContractVersion: status.admissionContractVersion,
78
85
  activated: false,
86
+ contractTransitioned: false,
79
87
  };
80
88
  }
81
89
  if (state.state === 'active') {
82
90
  const status = stateRowToStatus(state);
83
91
  const authority = await readBillingAuthoritativeAuthorityTx(client, {
84
92
  keyGeneration: options.keyGeneration,
85
- admissionContractVersion,
86
93
  });
87
94
  if (authority.state !== 'active' || authority.epochId !== status.activeEpochId) {
88
95
  throw new BillingEnforcementActivationConflictError('activation_configuration_unavailable', 'active billing enforcement authority is inconsistent');
@@ -91,13 +98,22 @@ export function ensurePostgresReleaseManagedFreeV1Activation(pool, options) {
91
98
  if (activeEpoch.writer_contract_version !== BILLING_METER_VALIDATION_WRITER_CONTRACT_VERSION) {
92
99
  throw new BillingEnforcementActivationConflictError('activation_configuration_unavailable', 'active billing enforcement is incompatible with this release');
93
100
  }
101
+ if (authority.admissionContractVersion === 2) {
102
+ await assertCommercialContractTransitionEvidenceTx(client, state);
103
+ }
104
+ else {
105
+ await assertNoCommercialContractTransitionEvidenceTx(client);
106
+ }
94
107
  return {
95
108
  state: 'active',
96
109
  generation: status.generation,
97
110
  activeEpochId: status.activeEpochId,
111
+ admissionContractVersion: authority.admissionContractVersion,
98
112
  activated: false,
113
+ contractTransitioned: false,
99
114
  };
100
115
  }
116
+ await assertNoCommercialContractTransitionEvidenceTx(client);
101
117
  const activatedAt = await readBillingMeterTransactionTime(client);
102
118
  const signals = await readPostgresBillingEnforcementActivationSignalsTx(client, activatedAt, {
103
119
  serviceOrigin,
@@ -192,7 +208,21 @@ export function ensurePostgresReleaseManagedFreeV1Activation(pool, options) {
192
208
  approvalChecksum,
193
209
  },
194
210
  }, { now: () => new Date(activatedAt) });
195
- return { state: 'active', generation, activeEpochId, activated: true };
211
+ return {
212
+ state: 'active',
213
+ generation,
214
+ activeEpochId,
215
+ admissionContractVersion: 1,
216
+ activated: true,
217
+ contractTransitioned: false,
218
+ };
196
219
  });
197
220
  }
221
+ /** Select the protected generation-zero or same-epoch path from the exact release mode. */
222
+ export function ensurePostgresReleaseManagedBillingContract(pool, options) {
223
+ if (options.mode === 'paid_v2') {
224
+ return ensurePostgresReleaseManagedPaidV2Contract(pool, options);
225
+ }
226
+ return ensurePostgresReleaseManagedFreeV1Activation(pool, options);
227
+ }
198
228
  //# sourceMappingURL=postgres-enforcement-release-activation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-release-activation.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-release-activation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-enforcement-release-activation.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-release-activation.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"}
@@ -1,7 +1,6 @@
1
1
  import { DEPLOYMENT_ID_PATTERN, validateSlug } from '../store/validate.js';
2
+ import { BillingActiveCommercialEntitlementInconsistentError, resolveActiveBillingCommercialEntitlement, } from './active-commercial-entitlement.js';
2
3
  import { BillingAuthoritativeAdmissionUnavailableError, BillingAuthoritativeIdempotencyConflictError, } from './authoritative-admission.js';
3
- import { BillingCommercialEntitlementError, parseBillingCommercialFreeV1Entitlements, } from './commercial-entitlements.js';
4
- import { BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION } from './enforcement-activation.js';
5
4
  import { billingContentChecksum } from './model.js';
6
5
  import { BillingAuthoritativeAuthorityInconsistentError, readBillingAuthoritativeAuthorityTx, } from './postgres-authoritative-authority.js';
7
6
  import { findAuthoritativeDuplicate, lockAuthoritativeDedupeIdentity, readAuthoritativeIncludedCalls, recordAuthoritativeAdmission, } from './postgres-meter-admission-ledger.js';
@@ -14,13 +13,11 @@ const DEFAULT_STATEMENT_TIMEOUT_MS = 2_000;
14
13
  export class PostgresBillingAuthoritativeAdmissionStore {
15
14
  #pool;
16
15
  #keyGeneration;
17
- #admissionContractVersion;
18
16
  #lockTimeoutMs;
19
17
  #statementTimeoutMs;
20
18
  constructor(pool, options) {
21
19
  this.#pool = pool;
22
20
  this.#keyGeneration = validateFingerprint('billing meter key generation', options.keyGeneration);
23
- this.#admissionContractVersion = validateAdmissionContractVersion(options.admissionContractVersion ?? BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION);
24
21
  this.#lockTimeoutMs = boundedTimeout('billing authoritative admission lock timeout', options.lockTimeoutMs ?? DEFAULT_LOCK_TIMEOUT_MS);
25
22
  this.#statementTimeoutMs = boundedTimeout('billing authoritative admission statement timeout', options.statementTimeoutMs ?? DEFAULT_STATEMENT_TIMEOUT_MS);
26
23
  }
@@ -38,7 +35,6 @@ export class PostgresBillingAuthoritativeAdmissionStore {
38
35
  try {
39
36
  authority = await readBillingAuthoritativeAuthorityTx(client, {
40
37
  keyGeneration: this.#keyGeneration,
41
- admissionContractVersion: this.#admissionContractVersion,
42
38
  });
43
39
  }
44
40
  catch (error) {
@@ -61,35 +57,37 @@ export class PostgresBillingAuthoritativeAdmissionStore {
61
57
  const initialAttribution = await readAttribution(client, input.org, false);
62
58
  if (initialAttribution === undefined)
63
59
  throw unavailable();
64
- validateAttribution(initialAttribution);
65
- const initialWindow = resolveUtcMonthlyUsageWindow(toIso(initialAttribution.monthly_usage_anchor), recordedAt);
66
60
  if (initialAttribution.profile_mode === 'legacy_internal_exempt') {
61
+ validateLegacyAttribution(initialAttribution);
67
62
  const lockedExemption = await readAttribution(client, input.org, true);
68
63
  if (lockedExemption === undefined ||
69
- !validAttribution(lockedExemption) ||
64
+ !validLegacyAttribution(lockedExemption) ||
70
65
  !sameAttribution(initialAttribution, lockedExemption)) {
71
66
  throw unavailable();
72
67
  }
73
68
  await client.query('COMMIT');
74
69
  return { outcome: 'bypass', reason: 'legacy_internal_exempt' };
75
70
  }
71
+ const initialEntitlement = resolveEnforcedAttribution(initialAttribution, authority.admissionContractVersion, recordedAt);
72
+ const initialWindow = resolveUtcMonthlyUsageWindow(initialEntitlement.monthlyUsageAnchor, recordedAt);
76
73
  await lockAuthoritativeDedupeIdentity(client, authority.epochId, input);
77
74
  await client.query('SELECT pg_advisory_xact_lock(hashtextextended($1, 0))', [
78
75
  accountWindowLockKey(authority.epochId, initialAttribution.billing_account_id, initialWindow.start),
79
76
  ]);
80
77
  const attribution = await readAttribution(client, input.org, true);
81
- if (attribution === undefined ||
82
- !validAttribution(attribution) ||
83
- !sameAttribution(initialAttribution, attribution)) {
78
+ if (attribution === undefined || !sameAttribution(initialAttribution, attribution)) {
84
79
  throw unavailable();
85
80
  }
86
81
  if (attribution.profile_mode === 'legacy_internal_exempt') {
87
82
  await client.query('COMMIT');
88
83
  return { outcome: 'bypass', reason: 'legacy_internal_exempt' };
89
84
  }
90
- if (attribution.profile_mode !== 'enforced')
85
+ const resolvedEntitlement = resolveEnforcedAttribution(attribution, authority.admissionContractVersion, recordedAt);
86
+ if (resolvedEntitlement.snapshotId !== initialEntitlement.snapshotId ||
87
+ resolvedEntitlement.snapshotVersion !== initialEntitlement.snapshotVersion) {
91
88
  throw unavailable();
92
- const entitlements = parseBillingCommercialFreeV1Entitlements(attribution.entitlements);
89
+ }
90
+ const entitlements = resolvedEntitlement.entitlements;
93
91
  const duplicate = await findAuthoritativeDuplicate(client, {
94
92
  epochId: authority.epochId,
95
93
  input,
@@ -148,11 +146,13 @@ async function proveLegacyExemption(client, org) {
148
146
  const initial = await readAttribution(client, org, false);
149
147
  if (initial === undefined)
150
148
  return false;
151
- validateAttribution(initial);
152
149
  if (initial.profile_mode !== 'legacy_internal_exempt')
153
150
  return false;
151
+ validateLegacyAttribution(initial);
154
152
  const locked = await readAttribution(client, org, true);
155
- if (locked === undefined || !validAttribution(locked) || !sameAttribution(initial, locked)) {
153
+ if (locked === undefined ||
154
+ !validLegacyAttribution(locked) ||
155
+ !sameAttribution(initial, locked)) {
156
156
  throw unavailable();
157
157
  }
158
158
  return true;
@@ -160,6 +160,16 @@ async function proveLegacyExemption(client, org) {
160
160
  async function readAttribution(client, org, lock) {
161
161
  const { rows } = await client.query(`SELECT link.billing_account_id, link.version AS link_version,
162
162
  account.state AS account_state, account.created_at AS account_created_at,
163
+ snapshot.id, snapshot.version, snapshot.plan_version_id,
164
+ plan.plan_code, plan.version AS plan_version,
165
+ plan.effective_from AS plan_effective_from,
166
+ plan.entitlements AS plan_entitlements,
167
+ plan.content_checksum AS plan_content_checksum,
168
+ plan.created_at AS plan_created_at,
169
+ snapshot.schema_version, snapshot.source_kind, snapshot.generation_reason,
170
+ snapshot.verification_status, snapshot.effective_from, snapshot.effective_until,
171
+ snapshot.source_subscription_id, snapshot.source_subscription_version,
172
+ snapshot.verified_at, snapshot.created_at, snapshot.content_checksum,
163
173
  snapshot.id AS snapshot_id, snapshot.version AS snapshot_version,
164
174
  snapshot.plan_version_id AS snapshot_plan_version_id,
165
175
  snapshot.verification_status AS snapshot_verification_status,
@@ -178,6 +188,7 @@ async function readAttribution(client, org, lock) {
178
188
  JOIN billing_entitlement_snapshots AS snapshot
179
189
  ON snapshot.billing_account_id = active_snapshot.billing_account_id
180
190
  AND snapshot.id = active_snapshot.snapshot_id
191
+ JOIN billing_plan_versions AS plan ON plan.id = snapshot.plan_version_id
181
192
  JOIN billing_account_active_enforcement_profiles AS active_profile
182
193
  ON active_profile.billing_account_id = link.billing_account_id
183
194
  JOIN billing_account_enforcement_profiles AS profile
@@ -185,7 +196,9 @@ async function readAttribution(client, org, lock) {
185
196
  AND profile.version = active_profile.profile_version
186
197
  JOIN billing_enforcement_cohort_seals AS seal ON seal.singleton = true
187
198
  WHERE link.org_slug = $1 AND link.active
188
- ${lock ? 'FOR SHARE OF link, account, active_snapshot, snapshot, active_profile, profile, seal' : ''}`, [org]);
199
+ ${lock
200
+ ? 'FOR SHARE OF link, account, active_snapshot, snapshot, plan, active_profile, profile, seal'
201
+ : ''}`, [org]);
189
202
  return rows[0];
190
203
  }
191
204
  function sameAttribution(initial, locked) {
@@ -200,6 +213,19 @@ function sameAttribution(initial, locked) {
200
213
  toIso(initial.snapshot_effective_from) === toIso(locked.snapshot_effective_from) &&
201
214
  initial.snapshot_content_checksum === locked.snapshot_content_checksum &&
202
215
  toIso(initial.monthly_usage_anchor) === toIso(locked.monthly_usage_anchor) &&
216
+ initial.schema_version === locked.schema_version &&
217
+ initial.source_kind === locked.source_kind &&
218
+ initial.generation_reason === locked.generation_reason &&
219
+ toOptionalIso(initial.effective_until) === toOptionalIso(locked.effective_until) &&
220
+ initial.source_subscription_id === locked.source_subscription_id &&
221
+ initial.source_subscription_version === locked.source_subscription_version &&
222
+ toIso(initial.verified_at) === toIso(locked.verified_at) &&
223
+ toIso(initial.created_at) === toIso(locked.created_at) &&
224
+ initial.plan_code === locked.plan_code &&
225
+ initial.plan_version === locked.plan_version &&
226
+ toIso(initial.plan_effective_from) === toIso(locked.plan_effective_from) &&
227
+ initial.plan_content_checksum === locked.plan_content_checksum &&
228
+ toIso(initial.plan_created_at) === toIso(locked.plan_created_at) &&
203
229
  initial.profile_version === locked.profile_version &&
204
230
  initial.profile_mode === locked.profile_mode &&
205
231
  initial.profile_source === locked.profile_source &&
@@ -208,7 +234,7 @@ function sameAttribution(initial, locked) {
208
234
  initial.cohort_seal_id === locked.cohort_seal_id &&
209
235
  toIso(initial.cohort_sealed_at) === toIso(locked.cohort_sealed_at));
210
236
  }
211
- function validateAttribution(row) {
237
+ function validateAttributionProfile(row) {
212
238
  const profileEffectiveFrom = toIso(row.profile_effective_from);
213
239
  const cohortSealedAt = toIso(row.cohort_sealed_at);
214
240
  const validLegacyProfile = row.profile_mode === 'legacy_internal_exempt' &&
@@ -219,7 +245,13 @@ function validateAttribution(row) {
219
245
  profileEffectiveFrom >= cohortSealedAt;
220
246
  if (row.account_state !== 'active' ||
221
247
  row.profile_cohort_seal_id !== row.cohort_seal_id ||
222
- (!validLegacyProfile && !validEnforcedProfile) ||
248
+ (!validLegacyProfile && !validEnforcedProfile)) {
249
+ throw unavailable();
250
+ }
251
+ }
252
+ function validateLegacyAttribution(row) {
253
+ validateAttributionProfile(row);
254
+ if (row.profile_mode !== 'legacy_internal_exempt' ||
223
255
  row.snapshot_verification_status !== 'verified' ||
224
256
  !Number.isSafeInteger(row.snapshot_version) ||
225
257
  row.snapshot_version < 1) {
@@ -238,9 +270,9 @@ function validateAttribution(row) {
238
270
  if (row.snapshot_content_checksum !== expectedChecksum)
239
271
  throw unavailable();
240
272
  }
241
- function validAttribution(row) {
273
+ function validLegacyAttribution(row) {
242
274
  try {
243
- validateAttribution(row);
275
+ validateLegacyAttribution(row);
244
276
  return true;
245
277
  }
246
278
  catch (error) {
@@ -249,6 +281,22 @@ function validAttribution(row) {
249
281
  throw error;
250
282
  }
251
283
  }
284
+ function resolveEnforcedAttribution(row, admissionContractVersion, databaseTime) {
285
+ validateAttributionProfile(row);
286
+ if (row.profile_mode !== 'enforced')
287
+ throw unavailable();
288
+ try {
289
+ return resolveActiveBillingCommercialEntitlement(row, {
290
+ admissionContractVersion,
291
+ databaseTime,
292
+ });
293
+ }
294
+ catch (error) {
295
+ if (error instanceof BillingActiveCommercialEntitlementInconsistentError)
296
+ throw unavailable();
297
+ throw error;
298
+ }
299
+ }
252
300
  function normalizeInput(input) {
253
301
  const deploymentId = input.deploymentId.trim();
254
302
  if (deploymentId.length === 0 ||
@@ -280,12 +328,6 @@ function validateFingerprint(label, value) {
280
328
  throw new Error(`${label} must be a SHA-256 digest`);
281
329
  return value;
282
330
  }
283
- function validateAdmissionContractVersion(value) {
284
- if (value !== BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION) {
285
- throw new Error('billing authoritative admission contract version is unsupported');
286
- }
287
- return value;
288
- }
289
331
  function boundedTimeout(label, value) {
290
332
  if (!Number.isSafeInteger(value) || value < 1 || value > 5_000) {
291
333
  throw new Error(`${label} must be between 1 and 5000 milliseconds`);
@@ -295,7 +337,7 @@ function boundedTimeout(label, value) {
295
337
  function translateAdmissionError(error) {
296
338
  if (error instanceof BillingAuthoritativeAuthorityInconsistentError)
297
339
  return unavailable();
298
- if (error instanceof BillingCommercialEntitlementError)
340
+ if (error instanceof BillingActiveCommercialEntitlementInconsistentError)
299
341
  return unavailable();
300
342
  if (error instanceof BillingAuthoritativeAdmissionUnavailableError ||
301
343
  error instanceof BillingAuthoritativeIdempotencyConflictError) {
@@ -312,6 +354,9 @@ function toIso(value) {
312
354
  throw unavailable();
313
355
  return date.toISOString();
314
356
  }
357
+ function toOptionalIso(value) {
358
+ return value === null ? null : toIso(value);
359
+ }
315
360
  function unavailable() {
316
361
  return new BillingAuthoritativeAdmissionUnavailableError();
317
362
  }
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-meter-admission.js","sourceRoot":"","sources":["../../src/billing/postgres-meter-admission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-meter-admission.js","sourceRoot":"","sources":["../../src/billing/postgres-meter-admission.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-production-app-admission.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-production-app-admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,sCAAsC,gDAAgD,CAAC;AAIpG,MAAM,MAAM,sCAAsC,GAC9C,+BAA+B,GAC/B,iCAAiC,CAAC;AAEtC,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,EAAE,sCAAsC,CAAC;gBAE1C,IAAI,EAAE,sCAAsC;CASzD;AAED,MAAM,MAAM,oCAAoC,GAC5C;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AA8CN,kGAAkG;AAClG,wBAAsB,uCAAuC,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/F;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC,oCAAoC,CAAC,CAgB/C;AAiED,+FAA+F;AAC/F,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
1
+ {"version":3,"file":"postgres-production-app-admission.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-production-app-admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AASrD;;;GAGG;AACH,eAAO,MAAM,sCAAsC,gDAAgD,CAAC;AAEpG,MAAM,MAAM,sCAAsC,GAC9C,+BAA+B,GAC/B,iCAAiC,CAAC;AAEtC,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,EAAE,sCAAsC,CAAC;gBAE1C,IAAI,EAAE,sCAAsC;CASzD;AAED,MAAM,MAAM,oCAAoC,GAC5C;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AA8CN,kGAAkG;AAClG,wBAAsB,uCAAuC,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/F;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC,oCAAoC,CAAC,CAkB/C;AA4FD,+FAA+F;AAC/F,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,IAAI,CAAC,CA6Bf"}