@noodleseed/one 0.59.0 → 0.61.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 (38) hide show
  1. package/dist/commands/billing-stripe-ops.js +1 -0
  2. package/dist/commands/billing-stripe-ops.js.map +1 -1
  3. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  4. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.d.ts +7 -0
  5. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.d.ts.map +1 -0
  6. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.js +247 -0
  7. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.js.map +1 -0
  8. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.d.ts.map +1 -1
  9. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.js +14 -0
  10. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.js.map +1 -1
  11. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.d.ts +4 -4
  12. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.d.ts.map +1 -1
  13. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.js +10 -99
  14. package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.js.map +1 -1
  15. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.d.ts +6 -0
  16. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.d.ts.map +1 -1
  17. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.js +1 -0
  18. package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.js.map +1 -1
  19. package/node_modules/@noodle-borg/service/dist/billing/stripe-lifecycle.js +35 -6
  20. package/node_modules/@noodle-borg/service/dist/billing/stripe-lifecycle.js.map +1 -1
  21. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.d.ts +5 -0
  22. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.d.ts.map +1 -1
  23. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.js +39 -0
  24. package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.js.map +1 -1
  25. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.d.ts +5 -4
  26. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.d.ts.map +1 -1
  27. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.js +120 -44
  28. package/node_modules/@noodle-borg/service/dist/billing/stripe-service.js.map +1 -1
  29. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.d.ts +35 -5
  30. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.d.ts.map +1 -1
  31. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.js +8 -1
  32. package/node_modules/@noodle-borg/service/dist/billing/stripe-store.js.map +1 -1
  33. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js +1 -1
  34. package/node_modules/@noodle-borg/service/dist/billing/subscription-model.js.map +1 -1
  35. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.d.ts.map +1 -1
  36. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js +4 -2
  37. package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js.map +1 -1
  38. package/package.json +1 -1
@@ -47,6 +47,7 @@ function printCheckout(response, service, json) {
47
47
  console.log('Stripe Checkout is ready:');
48
48
  console.log(response.data.url);
49
49
  console.log(`Expires: ${response.data.expiresAt}`);
50
+ console.log(`Outcome: ${response.data.outcome}`);
50
51
  }
51
52
  function printPortal(response, service, json) {
52
53
  if (json) {
@@ -1 +1 @@
1
- {"version":3,"file":"billing-stripe-ops.js","sourceRoot":"","sources":["../../src/commands/billing-stripe-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing-stripe-ops.js","sourceRoot":"","sources":["../../src/commands/billing-stripe-ops.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodle-borg/agent-kit",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -0,0 +1,7 @@
1
+ import type { Pool, PoolClient } from 'pg';
2
+ import { type BillingStripeCheckoutClaim, type BillingStripeCheckoutOperation, type BillingStripeCheckoutRecord } from './stripe-store.js';
3
+ export declare function claimPostgresBillingStripeCheckout(pool: Pool, keyGeneration: string, operation: BillingStripeCheckoutOperation): Promise<BillingStripeCheckoutClaim>;
4
+ export declare function completePostgresBillingStripeCheckout(pool: Pool, operation: BillingStripeCheckoutOperation, record: BillingStripeCheckoutRecord): Promise<BillingStripeCheckoutRecord>;
5
+ export declare function releasePostgresBillingStripeCheckoutClaim(pool: Pool, operation: BillingStripeCheckoutOperation): Promise<void>;
6
+ export declare function lockBillingStripeAccount(client: PoolClient, billingAccountId: string): Promise<void>;
7
+ //# sourceMappingURL=postgres-stripe-checkouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-stripe-checkouts.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-stripe-checkouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAe3C,OAAO,EACL,KAAK,0BAA0B,EAE/B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EACjC,MAAM,mBAAmB,CAAC;AAoB3B,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,8BAA8B,GACxC,OAAO,CAAC,0BAA0B,CAAC,CAkGrC;AAgBD,wBAAsB,qCAAqC,CACzD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,8BAA8B,EACzC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CAyDtC;AAED,wBAAsB,yCAAyC,CAC7D,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,8BAA8B,GACxC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,UAAU,EAClB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -0,0 +1,247 @@
1
+ import { postgresStripeTimestamp, stripeCheckoutRecord, } from './postgres-stripe-records.js';
2
+ import { requireActiveBillingAccount, requireEnforcedBillingAccount, requirePaidAuthority, } from './postgres-subscription-reconciliation-authority.js';
3
+ import { rollbackQuietly, translateTransactionError, } from './postgres-subscription-reconciliation-support.js';
4
+ import { BillingStripeCheckoutEligibilityError, } from './stripe-store.js';
5
+ import { BillingSubscriptionReconciliationConflictError } from './subscription-reconciliation.js';
6
+ const CHECKOUT_LEASE_MINUTES = 5;
7
+ export async function claimPostgresBillingStripeCheckout(pool, keyGeneration, operation) {
8
+ validateOperation(operation);
9
+ const client = await pool.connect();
10
+ try {
11
+ await client.query('BEGIN');
12
+ await lockBillingStripeAccount(client, operation.billingAccountId);
13
+ await requireCheckoutEligibility(client, keyGeneration, operation.billingAccountId);
14
+ await client.query(`UPDATE billing_stripe_checkout_operations
15
+ SET active = false
16
+ WHERE mode = $1 AND billing_account_id = $2 AND active AND expires_at <= $3`, [operation.mode, operation.billingAccountId, operation.claimedAt]);
17
+ const existingClaim = await readClaimForUpdate(client, operation.mode, operation.billingAccountId);
18
+ const activeCheckout = await readActiveCheckoutForUpdate(client, operation.mode, operation.billingAccountId);
19
+ if (existingClaim !== undefined) {
20
+ if (timestamp(existingClaim.lease_expires_at) > timestamp(operation.claimedAt)) {
21
+ await client.query('COMMIT');
22
+ return { state: 'in_progress' };
23
+ }
24
+ await client.query(`UPDATE billing_stripe_checkout_claims
25
+ SET lease_expires_at = $3::timestamptz + interval '${CHECKOUT_LEASE_MINUTES} minutes',
26
+ updated_at = $3
27
+ WHERE mode = $1 AND billing_account_id = $2`, [operation.mode, operation.billingAccountId, operation.claimedAt]);
28
+ const recovered = operationFromClaim(existingClaim, operation.claimedAt);
29
+ await client.query('COMMIT');
30
+ return {
31
+ state: 'recover',
32
+ operation: recovered,
33
+ ...(activeCheckout === undefined ? {} : { previousCheckout: activeCheckout }),
34
+ };
35
+ }
36
+ const exactCheckout = await readCheckoutByHashForUpdate(client, operation.mode, operation.idempotencyKeyHash);
37
+ if (exactCheckout !== undefined) {
38
+ if (exactCheckout.billing_account_id !== operation.billingAccountId ||
39
+ exactCheckout.request_fingerprint !== operation.requestFingerprint) {
40
+ throw new BillingStripeCheckoutEligibilityError('billing_idempotency_conflict', 'billing checkout idempotency key was already used for another request');
41
+ }
42
+ if (!exactCheckout.active) {
43
+ throw new BillingStripeCheckoutEligibilityError('billing_checkout_expired', 'the previous billing checkout is no longer active; retry with a new idempotency key');
44
+ }
45
+ await client.query('COMMIT');
46
+ return { state: 'replay', checkout: stripeCheckoutRecord(exactCheckout) };
47
+ }
48
+ if (activeCheckout?.requestFingerprint === operation.requestFingerprint) {
49
+ await client.query('COMMIT');
50
+ return { state: 'resume', checkout: activeCheckout };
51
+ }
52
+ await client.query(`INSERT INTO billing_stripe_checkout_claims
53
+ (mode, billing_account_id, idempotency_key_hash, request_fingerprint, plan,
54
+ billing_interval, lease_expires_at, created_at, updated_at)
55
+ VALUES
56
+ ($1, $2, $3, $4, $5, $6,
57
+ $7::timestamptz + interval '${CHECKOUT_LEASE_MINUTES} minutes', $7, $7)`, [
58
+ operation.mode,
59
+ operation.billingAccountId,
60
+ operation.idempotencyKeyHash,
61
+ operation.requestFingerprint,
62
+ operation.plan,
63
+ operation.interval,
64
+ operation.claimedAt,
65
+ ]);
66
+ await client.query('COMMIT');
67
+ return activeCheckout === undefined
68
+ ? { state: 'create', operation }
69
+ : { state: 'replace', operation, previousCheckout: activeCheckout };
70
+ }
71
+ catch (error) {
72
+ await rollbackQuietly(client);
73
+ throw checkoutClaimError(error);
74
+ }
75
+ finally {
76
+ client.release();
77
+ }
78
+ }
79
+ async function readCheckoutByHashForUpdate(client, mode, idempotencyKeyHash) {
80
+ const { rows } = await client.query(`SELECT * FROM billing_stripe_checkout_operations
81
+ WHERE mode = $1 AND idempotency_key_hash = $2
82
+ FOR UPDATE`, [mode, idempotencyKeyHash]);
83
+ return rows[0];
84
+ }
85
+ export async function completePostgresBillingStripeCheckout(pool, operation, record) {
86
+ validateOperation(operation);
87
+ validateCompletion(operation, record);
88
+ const client = await pool.connect();
89
+ try {
90
+ await client.query('BEGIN');
91
+ await lockBillingStripeAccount(client, operation.billingAccountId);
92
+ const claim = await readClaimForUpdate(client, operation.mode, operation.billingAccountId);
93
+ if (claim === undefined || !claimMatches(claim, operation)) {
94
+ throw new Error('Stripe checkout claim changed concurrently');
95
+ }
96
+ await client.query(`UPDATE billing_stripe_checkout_operations
97
+ SET active = false
98
+ WHERE mode = $1 AND billing_account_id = $2 AND active`, [operation.mode, operation.billingAccountId]);
99
+ const { rows } = await client.query(`INSERT INTO billing_stripe_checkout_operations
100
+ (mode, idempotency_key_hash, request_fingerprint, billing_account_id, customer_id,
101
+ session_id, session_url, expires_at, active, created_at)
102
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, true, $9)
103
+ RETURNING *`, [
104
+ record.mode,
105
+ record.idempotencyKeyHash,
106
+ record.requestFingerprint,
107
+ record.billingAccountId,
108
+ record.customerId,
109
+ record.sessionId,
110
+ record.sessionUrl,
111
+ record.expiresAt,
112
+ record.createdAt,
113
+ ]);
114
+ const deleted = await client.query(`DELETE FROM billing_stripe_checkout_claims
115
+ WHERE mode = $1 AND billing_account_id = $2
116
+ AND idempotency_key_hash = $3 AND request_fingerprint = $4`, [
117
+ operation.mode,
118
+ operation.billingAccountId,
119
+ operation.idempotencyKeyHash,
120
+ operation.requestFingerprint,
121
+ ]);
122
+ if (rows[0] === undefined || deleted.rowCount !== 1) {
123
+ throw new Error('Stripe checkout completion did not persist atomically');
124
+ }
125
+ await client.query('COMMIT');
126
+ return stripeCheckoutRecord(rows[0]);
127
+ }
128
+ catch (error) {
129
+ await rollbackQuietly(client);
130
+ throw translateTransactionError(error);
131
+ }
132
+ finally {
133
+ client.release();
134
+ }
135
+ }
136
+ export async function releasePostgresBillingStripeCheckoutClaim(pool, operation) {
137
+ validateOperation(operation);
138
+ await pool.query(`DELETE FROM billing_stripe_checkout_claims
139
+ WHERE mode = $1 AND billing_account_id = $2
140
+ AND idempotency_key_hash = $3 AND request_fingerprint = $4
141
+ AND plan = $5 AND billing_interval = $6 AND updated_at = $7`, [
142
+ operation.mode,
143
+ operation.billingAccountId,
144
+ operation.idempotencyKeyHash,
145
+ operation.requestFingerprint,
146
+ operation.plan,
147
+ operation.interval,
148
+ operation.claimedAt,
149
+ ]);
150
+ }
151
+ export async function lockBillingStripeAccount(client, billingAccountId) {
152
+ await client.query('SELECT pg_advisory_xact_lock(hashtextextended($1, 0))', [
153
+ `billing-stripe-account:${billingAccountId}`,
154
+ ]);
155
+ }
156
+ async function requireCheckoutEligibility(client, keyGeneration, billingAccountId) {
157
+ await requirePaidAuthority(client, keyGeneration);
158
+ await requireActiveBillingAccount(client, billingAccountId);
159
+ await requireEnforcedBillingAccount(client, billingAccountId);
160
+ const { rows } = await client.query(`SELECT snapshot.schema_version,
161
+ snapshot.plan_version_id,
162
+ EXISTS (
163
+ SELECT 1 FROM billing_account_defaults AS defaults
164
+ WHERE defaults.billing_account_id = active.billing_account_id
165
+ ) AS is_default,
166
+ EXISTS (
167
+ SELECT 1 FROM billing_stripe_subscription_bindings AS binding
168
+ WHERE binding.billing_account_id = active.billing_account_id AND binding.active
169
+ ) AS has_active_provider_subscription
170
+ FROM billing_account_active_snapshots AS active
171
+ JOIN billing_entitlement_snapshots AS snapshot
172
+ ON snapshot.billing_account_id = active.billing_account_id
173
+ AND snapshot.id = active.snapshot_id
174
+ WHERE active.billing_account_id = $1
175
+ FOR UPDATE OF active, snapshot`, [billingAccountId]);
176
+ const state = rows[0];
177
+ if (state === undefined ||
178
+ state.plan_version_id !== 'free@1' ||
179
+ (state.schema_version !== 1 && state.schema_version !== 3) ||
180
+ !state.is_default ||
181
+ state.has_active_provider_subscription) {
182
+ throw new BillingStripeCheckoutEligibilityError('billing_checkout_not_eligible', 'billing account is not eligible to start a paid checkout');
183
+ }
184
+ }
185
+ async function readClaimForUpdate(client, mode, billingAccountId) {
186
+ const { rows } = await client.query(`SELECT mode, billing_account_id, idempotency_key_hash, request_fingerprint, plan,
187
+ billing_interval, lease_expires_at, updated_at
188
+ FROM billing_stripe_checkout_claims
189
+ WHERE mode = $1 AND billing_account_id = $2
190
+ FOR UPDATE`, [mode, billingAccountId]);
191
+ return rows[0];
192
+ }
193
+ async function readActiveCheckoutForUpdate(client, mode, billingAccountId) {
194
+ const { rows } = await client.query(`SELECT * FROM billing_stripe_checkout_operations
195
+ WHERE mode = $1 AND billing_account_id = $2 AND active
196
+ FOR UPDATE`, [mode, billingAccountId]);
197
+ return rows[0] === undefined ? undefined : stripeCheckoutRecord(rows[0]);
198
+ }
199
+ function operationFromClaim(claim, claimedAt) {
200
+ return {
201
+ mode: claim.mode,
202
+ billingAccountId: claim.billing_account_id,
203
+ idempotencyKeyHash: claim.idempotency_key_hash,
204
+ requestFingerprint: claim.request_fingerprint,
205
+ plan: claim.plan,
206
+ interval: claim.billing_interval,
207
+ claimedAt,
208
+ };
209
+ }
210
+ function claimMatches(claim, operation) {
211
+ return (claim.mode === operation.mode &&
212
+ claim.billing_account_id === operation.billingAccountId &&
213
+ claim.idempotency_key_hash === operation.idempotencyKeyHash &&
214
+ claim.request_fingerprint === operation.requestFingerprint &&
215
+ claim.plan === operation.plan &&
216
+ claim.billing_interval === operation.interval &&
217
+ timestamp(claim.updated_at) === timestamp(operation.claimedAt));
218
+ }
219
+ function validateOperation(operation) {
220
+ if (!/^[0-9a-f]{64}$/.test(operation.idempotencyKeyHash) ||
221
+ !/^[0-9a-f]{64}$/.test(operation.requestFingerprint) ||
222
+ !Number.isFinite(timestamp(operation.claimedAt))) {
223
+ throw new Error('Stripe checkout operation is invalid');
224
+ }
225
+ }
226
+ function validateCompletion(operation, record) {
227
+ if (record.mode !== operation.mode ||
228
+ record.billingAccountId !== operation.billingAccountId ||
229
+ record.idempotencyKeyHash !== operation.idempotencyKeyHash ||
230
+ record.requestFingerprint !== operation.requestFingerprint ||
231
+ record.createdAt !== operation.claimedAt) {
232
+ throw new Error('Stripe checkout completion conflicts with its claim');
233
+ }
234
+ }
235
+ function checkoutClaimError(error) {
236
+ if (error instanceof BillingStripeCheckoutEligibilityError)
237
+ return error;
238
+ const translated = translateTransactionError(error);
239
+ return translated instanceof BillingSubscriptionReconciliationConflictError
240
+ ? new BillingStripeCheckoutEligibilityError(translated.code, translated.message)
241
+ : translated;
242
+ }
243
+ function timestamp(value) {
244
+ const normalized = value instanceof Date ? value.toISOString() : postgresStripeTimestamp(value);
245
+ return Date.parse(normalized);
246
+ }
247
+ //# sourceMappingURL=postgres-stripe-checkouts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-stripe-checkouts.js","sourceRoot":"","sources":["../../src/billing/postgres-stripe-checkouts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-stripe-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-stripe-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,+FAA+F;AAC/F,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+FzE"}
1
+ {"version":3,"file":"postgres-stripe-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-stripe-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,+FAA+F;AAC/F,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA6GzE"}
@@ -35,6 +35,20 @@ export async function ensureBillingStripeSchema(pool) {
35
35
  CREATE UNIQUE INDEX IF NOT EXISTS billing_stripe_checkout_operations_active_account_key
36
36
  ON billing_stripe_checkout_operations(mode, billing_account_id)
37
37
  WHERE active
38
+ `);
39
+ await pool.query(`
40
+ CREATE TABLE IF NOT EXISTS billing_stripe_checkout_claims (
41
+ mode text NOT NULL CHECK (mode IN ('sandbox', 'live')),
42
+ billing_account_id text NOT NULL REFERENCES billing_accounts(id) ON DELETE RESTRICT,
43
+ idempotency_key_hash text NOT NULL CHECK (idempotency_key_hash ~ '^[0-9a-f]{64}$'),
44
+ request_fingerprint text NOT NULL CHECK (request_fingerprint ~ '^[0-9a-f]{64}$'),
45
+ plan text NOT NULL CHECK (plan IN ('pro', 'scale')),
46
+ billing_interval text NOT NULL CHECK (billing_interval IN ('month', 'year')),
47
+ lease_expires_at timestamptz NOT NULL,
48
+ created_at timestamptz NOT NULL,
49
+ updated_at timestamptz NOT NULL CHECK (updated_at >= created_at),
50
+ PRIMARY KEY (mode, billing_account_id)
51
+ )
38
52
  `);
39
53
  await pool.query(`
40
54
  CREATE TABLE IF NOT EXISTS billing_stripe_subscription_bindings (
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-stripe-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-stripe-schema.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAU;IACxD,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;GAmBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;GAoBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"postgres-stripe-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-stripe-schema.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAU;IACxD,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;GAmBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;GAahB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;GAoBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;AACL,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import type { Pool } from 'pg';
2
2
  import type { BillingStripeMode } from './stripe-config.js';
3
- import type { BillingStripeCheckoutRecord, BillingStripeCustomerRecord, BillingStripeEventClaim, BillingStripeEventClaimInput, BillingStripeReconciliationState, BillingStripeStore, BillingStripeSubscriptionBinding } from './stripe-store.js';
3
+ import type { BillingStripeCustomerRecord, BillingStripeEventClaim, BillingStripeEventClaimInput, BillingStripeReconciliationState, BillingStripeStore, BillingStripeSubscriptionBinding } from './stripe-store.js';
4
4
  export declare class PostgresBillingStripeStore implements BillingStripeStore {
5
5
  #private;
6
6
  constructor(pool: Pool, options: {
7
7
  readonly authoritativeKeyGeneration: string;
8
8
  });
9
- assertPaidCheckoutEligible(billingAccountId: string): Promise<void>;
10
9
  getCustomer(billingAccountId: string, mode: BillingStripeMode): Promise<BillingStripeCustomerRecord | undefined>;
11
10
  putCustomer(record: BillingStripeCustomerRecord): Promise<BillingStripeCustomerRecord>;
12
- getCheckout(mode: BillingStripeMode, idempotencyKeyHash: string): Promise<BillingStripeCheckoutRecord | undefined>;
13
- putCheckout(record: BillingStripeCheckoutRecord): Promise<BillingStripeCheckoutRecord>;
11
+ claimCheckout(operation: Parameters<BillingStripeStore['claimCheckout']>[0]): Promise<import("./stripe-store.js").BillingStripeCheckoutClaim>;
12
+ completeCheckout(operation: Parameters<BillingStripeStore['completeCheckout']>[0], record: Parameters<BillingStripeStore['completeCheckout']>[1]): Promise<import("./stripe-store.js").BillingStripeCheckoutRecord>;
13
+ releaseCheckoutClaim(operation: Parameters<BillingStripeStore['releaseCheckoutClaim']>[0]): Promise<void>;
14
14
  claimEvent(input: BillingStripeEventClaimInput): Promise<BillingStripeEventClaim>;
15
15
  completeEvent(mode: BillingStripeMode, eventId: string, outcomeCode: string, completedAt: string): Promise<void>;
16
16
  failEvent(mode: BillingStripeMode, eventId: string, errorCode: string, failedAt: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-stripe-store.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-stripe-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAqB3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,kBAAkB,EAClB,gCAAgC,EACjC,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,0BAA2B,YAAW,kBAAkB;;gBAIvD,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAA;KAAE;IAQ1E,0BAA0B,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0DnE,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB;IAQ7D,WAAW,CAAC,MAAM,EAAE,2BAA2B;IAe/C,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM;IAS/D,WAAW,CAAC,MAAM,EAAE,2BAA2B;IA+C/C,UAAU,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIjF,aAAa,CACjB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAIV,SAAS,CACb,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAIV,2BAA2B,CAC/B,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,GACtE,OAAO,CAAC,gCAAgC,CAAC;IAgEtC,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB;IAW9E,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM;IAgBrE,8BAA8B,CAClC,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAgBV,sBAAsB,CAC1B,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,gCAAgC,CAAC;IAgFtC,yBAAyB,CAC7B,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CAgBjB"}
1
+ {"version":3,"file":"postgres-stripe-store.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-stripe-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAoB3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,kBAAkB,EAClB,gCAAgC,EACjC,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,0BAA2B,YAAW,kBAAkB;;gBAIvD,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAA;KAAE;IAQ1E,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB;IAQ7D,WAAW,CAAC,MAAM,EAAE,2BAA2B;IAe/C,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAI3E,gBAAgB,CACpB,SAAS,EAAE,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAKzD,oBAAoB,CACxB,SAAS,EAAE,UAAU,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC;IAIV,UAAU,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIjF,aAAa,CACjB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAIV,SAAS,CACb,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAIV,2BAA2B,CAC/B,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,GACtE,OAAO,CAAC,gCAAgC,CAAC;IAgEtC,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB;IAW9E,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM;IAgBrE,8BAA8B,CAClC,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAgBV,sBAAsB,CAC1B,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,gCAAgC,CAAC;IAgFtC,yBAAyB,CAC7B,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CAgBjB"}
@@ -1,6 +1,6 @@
1
+ import { claimPostgresBillingStripeCheckout, completePostgresBillingStripeCheckout, lockBillingStripeAccount, releasePostgresBillingStripeCheckoutClaim, } from './postgres-stripe-checkouts.js';
1
2
  import { claimBillingStripeEvent, completeBillingStripeEvent, failBillingStripeEvent, } from './postgres-stripe-events.js';
2
- import { postgresStripeInteger, requiredPostgresStripeTimestamp, stripeBindingRecord, stripeCheckoutRecord, stripeCustomerRecord, } from './postgres-stripe-records.js';
3
- import { requireActiveBillingAccount, requireEnforcedBillingAccount, requirePaidAuthority, } from './postgres-subscription-reconciliation-authority.js';
3
+ import { postgresStripeInteger, requiredPostgresStripeTimestamp, stripeBindingRecord, stripeCustomerRecord, } from './postgres-stripe-records.js';
4
4
  import { parseBillingBaseSubscriptionRevision } from './subscription-model.js';
5
5
  export class PostgresBillingStripeStore {
6
6
  #pool;
@@ -12,54 +12,6 @@ export class PostgresBillingStripeStore {
12
12
  this.#pool = pool;
13
13
  this.#keyGeneration = options.authoritativeKeyGeneration;
14
14
  }
15
- async assertPaidCheckoutEligible(billingAccountId) {
16
- const client = await this.#pool.connect();
17
- try {
18
- await client.query('BEGIN');
19
- await lockAccount(client, billingAccountId);
20
- await requirePaidAuthority(client, this.#keyGeneration);
21
- await requireActiveBillingAccount(client, billingAccountId);
22
- await requireEnforcedBillingAccount(client, billingAccountId);
23
- const { rows } = await client.query(`SELECT snapshot.schema_version,
24
- snapshot.plan_version_id,
25
- EXISTS (
26
- SELECT 1 FROM billing_account_defaults AS defaults
27
- WHERE defaults.billing_account_id = active.billing_account_id
28
- ) AS is_default,
29
- binding.provider_subscription_id AS active_provider_subscription_id
30
- , checkout.session_id AS active_checkout_id
31
- FROM billing_account_active_snapshots AS active
32
- JOIN billing_entitlement_snapshots AS snapshot
33
- ON snapshot.billing_account_id = active.billing_account_id
34
- AND snapshot.id = active.snapshot_id
35
- LEFT JOIN billing_stripe_subscription_bindings AS binding
36
- ON binding.billing_account_id = active.billing_account_id
37
- AND binding.active
38
- LEFT JOIN billing_stripe_checkout_operations AS checkout
39
- ON checkout.billing_account_id = active.billing_account_id
40
- AND checkout.active
41
- AND checkout.expires_at > now()
42
- WHERE active.billing_account_id = $1
43
- FOR UPDATE OF active, snapshot`, [billingAccountId]);
44
- const state = rows[0];
45
- if (state === undefined ||
46
- state.plan_version_id !== 'free@1' ||
47
- (state.schema_version !== 1 && state.schema_version !== 3) ||
48
- !state.is_default ||
49
- state.active_provider_subscription_id !== null ||
50
- state.active_checkout_id !== null) {
51
- throw new Error('billing account is not eligible to start a paid checkout');
52
- }
53
- await client.query('COMMIT');
54
- }
55
- catch (error) {
56
- await rollback(client);
57
- throw error;
58
- }
59
- finally {
60
- client.release();
61
- }
62
- }
63
15
  async getCustomer(billingAccountId, mode) {
64
16
  const { rows } = await this.#pool.query(`SELECT * FROM billing_stripe_customers WHERE billing_account_id = $1 AND mode = $2`, [billingAccountId, mode]);
65
17
  return rows[0] === undefined ? undefined : stripeCustomerRecord(rows[0]);
@@ -75,50 +27,14 @@ export class PostgresBillingStripeStore {
75
27
  }
76
28
  return persisted;
77
29
  }
78
- async getCheckout(mode, idempotencyKeyHash) {
79
- const { rows } = await this.#pool.query(`SELECT * FROM billing_stripe_checkout_operations
80
- WHERE mode = $1 AND idempotency_key_hash = $2`, [mode, idempotencyKeyHash]);
81
- return rows[0] === undefined ? undefined : stripeCheckoutRecord(rows[0]);
30
+ async claimCheckout(operation) {
31
+ return claimPostgresBillingStripeCheckout(this.#pool, this.#keyGeneration, operation);
82
32
  }
83
- async putCheckout(record) {
84
- const client = await this.#pool.connect();
85
- try {
86
- await client.query('BEGIN');
87
- await lockAccount(client, record.billingAccountId);
88
- await client.query(`UPDATE billing_stripe_checkout_operations
89
- SET active = false
90
- WHERE mode = $1 AND billing_account_id = $2 AND active AND expires_at <= $3`, [record.mode, record.billingAccountId, record.createdAt]);
91
- await client.query(`INSERT INTO billing_stripe_checkout_operations
92
- (mode, idempotency_key_hash, request_fingerprint, billing_account_id, customer_id,
93
- session_id, session_url, expires_at, active, created_at)
94
- VALUES ($1, $2, $3, $4, $5, $6, $7, $8, true, $9)
95
- ON CONFLICT (mode, idempotency_key_hash) DO NOTHING`, [
96
- record.mode,
97
- record.idempotencyKeyHash,
98
- record.requestFingerprint,
99
- record.billingAccountId,
100
- record.customerId,
101
- record.sessionId,
102
- record.sessionUrl,
103
- record.expiresAt,
104
- record.createdAt,
105
- ]);
106
- await client.query('COMMIT');
107
- }
108
- catch (error) {
109
- await rollback(client);
110
- throw error;
111
- }
112
- finally {
113
- client.release();
114
- }
115
- const persisted = await this.getCheckout(record.mode, record.idempotencyKeyHash);
116
- if (persisted === undefined ||
117
- persisted.requestFingerprint !== record.requestFingerprint ||
118
- persisted.sessionId !== record.sessionId) {
119
- throw new Error('Stripe checkout idempotency key conflicts with persisted billing state');
120
- }
121
- return persisted;
33
+ async completeCheckout(operation, record) {
34
+ return completePostgresBillingStripeCheckout(this.#pool, operation, record);
35
+ }
36
+ async releaseCheckoutClaim(operation) {
37
+ return releasePostgresBillingStripeCheckoutClaim(this.#pool, operation);
122
38
  }
123
39
  async claimEvent(input) {
124
40
  return claimBillingStripeEvent(this.#pool, input);
@@ -133,7 +49,7 @@ export class PostgresBillingStripeStore {
133
49
  const client = await this.#pool.connect();
134
50
  try {
135
51
  await client.query('BEGIN');
136
- await lockAccount(client, input.billingAccountId);
52
+ await lockBillingStripeAccount(client, input.billingAccountId);
137
53
  const existing = await readBinding(client, input.mode, input.providerSubscriptionId);
138
54
  if (existing !== undefined) {
139
55
  await client.query('COMMIT');
@@ -306,11 +222,6 @@ async function readActiveBindingForUpdate(client, billingAccountId, mode) {
306
222
  WHERE billing_account_id = $1 AND mode = $2 AND active FOR UPDATE`, [billingAccountId, mode]);
307
223
  return rows[0] === undefined ? undefined : stripeBindingRecord(rows[0]);
308
224
  }
309
- async function lockAccount(client, billingAccountId) {
310
- await client.query('SELECT pg_advisory_xact_lock(hashtextextended($1, 0))', [
311
- `billing-stripe-account:${billingAccountId}`,
312
- ]);
313
- }
314
225
  async function rollback(client) {
315
226
  try {
316
227
  await client.query('ROLLBACK');
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-stripe-store.js","sourceRoot":"","sources":["../../src/billing/postgres-stripe-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-stripe-store.js","sourceRoot":"","sources":["../../src/billing/postgres-stripe-store.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export declare const BillingStripeCheckoutResponseSchema: z.ZodObject<{
17
17
  url: z.ZodString;
18
18
  expiresAt: z.ZodString;
19
19
  replayed: z.ZodBoolean;
20
+ outcome: z.ZodEnum<{
21
+ created: "created";
22
+ resumed: "resumed";
23
+ replaced: "replaced";
24
+ idempotent_replay: "idempotent_replay";
25
+ }>;
20
26
  }, z.core.$strip>;
21
27
  }, z.core.$strip>;
22
28
  export type BillingStripeCheckoutResponse = z.infer<typeof BillingStripeCheckoutResponseSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-contract.d.ts","sourceRoot":"","sources":["../../src/billing/stripe-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kCAAkC;;;;;;;;;;kBAMpC,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,eAAO,MAAM,mCAAmC;;;;;;;iBAO9C,CAAC;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,eAAO,MAAM,iCAAiC;;;;;iBAG5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
1
+ {"version":3,"file":"stripe-contract.d.ts","sourceRoot":"","sources":["../../src/billing/stripe-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kCAAkC;;;;;;;;;;kBAMpC,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;iBAQ9C,CAAC;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,eAAO,MAAM,iCAAiC;;;;;iBAG5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
@@ -12,6 +12,7 @@ export const BillingStripeCheckoutResponseSchema = z.object({
12
12
  url: z.string().url(),
13
13
  expiresAt: z.string().datetime(),
14
14
  replayed: z.boolean(),
15
+ outcome: z.enum(['created', 'resumed', 'replaced', 'idempotent_replay']),
15
16
  }),
16
17
  });
17
18
  export const BillingStripePortalResponseSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-contract.js","sourceRoot":"","sources":["../../src/billing/stripe-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC;KAChD,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CAC3C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;KACtB,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;CAC1C,CAAC,CAAC"}
1
+ {"version":3,"file":"stripe-contract.js","sourceRoot":"","sources":["../../src/billing/stripe-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC;KAChD,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CAC3C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;KACzE,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;CAC1C,CAAC,CAAC"}