@resvary/sqlite 0.5.0-alpha.1 → 0.5.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/credit.d.ts CHANGED
@@ -33,7 +33,7 @@ export declare class SqliteCreditStore implements CreditStore, OutboxDeliverySto
33
33
  getFundingTransactionByTxHash(network: string, txHash: `0x${string}`): Promise<FundingTransaction | undefined>;
34
34
  listFundingTransactions(fundingIntentId?: string): Promise<FundingTransaction[]>;
35
35
  claimOutboxEvents(input: ClaimOutboxEventsInput): Promise<CreditOutboxEvent[]>;
36
- completeOutboxEvent(eventId: string, workerId: string, deliveredAt: number): Promise<void>;
36
+ completeOutboxEvent(eventId: string, workerId: string, deliveredAt: number, attemptCount?: number): Promise<void>;
37
37
  failOutboxEvent(input: FailOutboxEventInput): Promise<void>;
38
38
  listDeadLetterEvents(projectId?: string): Promise<CreditOutboxEvent[]>;
39
39
  requeueOutboxEvent(eventId: string, now: number): Promise<void>;
@@ -41,6 +41,7 @@ export declare class SqliteCreditStore implements CreditStore, OutboxDeliverySto
41
41
  private migrate;
42
42
  private migrateFundingV2;
43
43
  private migrateOutboxV3;
44
+ private migrateFundingTransactionHashV4;
44
45
  }
45
46
  export declare function createSqliteCreditStore(config: SqliteCreditStoreConfig): SqliteCreditStore;
46
47
  //# sourceMappingURL=credit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
package/dist/credit.js CHANGED
@@ -129,9 +129,9 @@ export class SqliteCreditStore {
129
129
  return claimed;
130
130
  });
131
131
  }
132
- async completeOutboxEvent(eventId, workerId, deliveredAt) {
132
+ async completeOutboxEvent(eventId, workerId, deliveredAt, attemptCount) {
133
133
  await this.transaction(async (tx) => {
134
- const event = await requireClaimedEvent(tx, eventId, workerId);
134
+ const event = await requireClaimedEvent(tx, eventId, workerId, attemptCount);
135
135
  await tx.saveOutboxEvent({
136
136
  ...event,
137
137
  status: 'delivered',
@@ -145,7 +145,7 @@ export class SqliteCreditStore {
145
145
  }
146
146
  async failOutboxEvent(input) {
147
147
  await this.transaction(async (tx) => {
148
- const event = await requireClaimedEvent(tx, input.eventId, input.workerId);
148
+ const event = await requireClaimedEvent(tx, input.eventId, input.workerId, input.attemptCount);
149
149
  await tx.saveOutboxEvent({
150
150
  ...event,
151
151
  status: input.deadLetter ? 'dead_letter' : 'pending',
@@ -182,131 +182,132 @@ export class SqliteCreditStore {
182
182
  this.db.close();
183
183
  }
184
184
  migrate() {
185
- this.db.exec(`
186
- PRAGMA journal_mode = WAL;
187
- PRAGMA busy_timeout = 5000;
188
- PRAGMA foreign_keys = ON;
189
-
190
- CREATE TABLE IF NOT EXISTS resvary_schema_migrations (
191
- version INTEGER PRIMARY KEY,
192
- applied_at INTEGER NOT NULL
193
- );
194
-
195
- CREATE TABLE IF NOT EXISTS resvary_credit_accounts (
196
- id TEXT PRIMARY KEY,
197
- project_id TEXT NOT NULL,
198
- customer_id TEXT NOT NULL,
199
- updated_at INTEGER NOT NULL,
200
- payload TEXT NOT NULL,
201
- UNIQUE(project_id, customer_id)
202
- );
203
-
204
- CREATE TABLE IF NOT EXISTS resvary_credit_grants (
205
- id TEXT PRIMARY KEY,
206
- account_id TEXT NOT NULL,
207
- created_at INTEGER NOT NULL,
208
- payload TEXT NOT NULL
209
- );
210
- CREATE INDEX IF NOT EXISTS resvary_credit_grants_account ON resvary_credit_grants(account_id);
211
-
212
- CREATE TABLE IF NOT EXISTS resvary_meters (
213
- id TEXT PRIMARY KEY,
214
- project_id TEXT NOT NULL,
215
- meter_key TEXT NOT NULL,
216
- payload TEXT NOT NULL,
217
- UNIQUE(project_id, meter_key)
218
- );
219
-
220
- CREATE TABLE IF NOT EXISTS resvary_price_versions (
221
- id TEXT PRIMARY KEY,
222
- meter_id TEXT NOT NULL,
223
- version INTEGER NOT NULL,
224
- created_at INTEGER NOT NULL,
225
- payload TEXT NOT NULL,
226
- UNIQUE(meter_id, version)
227
- );
228
-
229
- CREATE TABLE IF NOT EXISTS resvary_credit_reservations (
230
- id TEXT PRIMARY KEY,
231
- account_id TEXT NOT NULL,
232
- project_id TEXT NOT NULL,
233
- customer_id TEXT NOT NULL,
234
- status TEXT NOT NULL,
235
- expires_at INTEGER NOT NULL,
236
- created_at INTEGER NOT NULL,
237
- payload TEXT NOT NULL
238
- );
239
- CREATE INDEX IF NOT EXISTS resvary_credit_reservations_open
240
- ON resvary_credit_reservations(project_id, customer_id, status, expires_at);
241
-
242
- CREATE TABLE IF NOT EXISTS resvary_usage_events (
243
- id TEXT PRIMARY KEY,
244
- account_id TEXT NOT NULL,
245
- received_at INTEGER NOT NULL,
246
- payload TEXT NOT NULL
247
- );
248
-
249
- CREATE TABLE IF NOT EXISTS resvary_usage_receipts (
250
- id TEXT PRIMARY KEY,
251
- account_id TEXT NOT NULL,
252
- reservation_id TEXT NOT NULL UNIQUE,
253
- usage_event_id TEXT NOT NULL UNIQUE,
254
- created_at INTEGER NOT NULL,
255
- payload TEXT NOT NULL
256
- );
257
- CREATE INDEX IF NOT EXISTS resvary_usage_receipts_account ON resvary_usage_receipts(account_id, created_at);
258
-
259
- CREATE TABLE IF NOT EXISTS resvary_ledger_entries (
260
- id TEXT PRIMARY KEY,
261
- account_id TEXT NOT NULL,
262
- created_at INTEGER NOT NULL,
263
- payload TEXT NOT NULL
264
- );
265
- CREATE INDEX IF NOT EXISTS resvary_ledger_entries_account ON resvary_ledger_entries(account_id, created_at);
266
-
267
- CREATE TABLE IF NOT EXISTS resvary_funding_intents (
268
- id TEXT PRIMARY KEY,
269
- project_id TEXT NOT NULL,
270
- customer_id TEXT NOT NULL,
271
- status TEXT NOT NULL,
272
- created_at INTEGER NOT NULL,
273
- payload TEXT NOT NULL
274
- );
275
-
276
- CREATE TABLE IF NOT EXISTS resvary_funding_transactions (
277
- id TEXT PRIMARY KEY,
278
- funding_intent_id TEXT NOT NULL,
279
- network TEXT NOT NULL,
280
- tx_hash_norm TEXT NOT NULL,
281
- created_at INTEGER NOT NULL,
282
- payload TEXT NOT NULL,
283
- UNIQUE(network, tx_hash_norm)
284
- );
285
-
286
- CREATE TABLE IF NOT EXISTS resvary_idempotency_keys (
287
- scope TEXT NOT NULL,
288
- key TEXT NOT NULL,
289
- created_at INTEGER NOT NULL,
290
- payload TEXT NOT NULL,
291
- PRIMARY KEY(scope, key)
292
- );
293
-
294
- CREATE TABLE IF NOT EXISTS resvary_outbox_events (
295
- id TEXT PRIMARY KEY,
296
- project_id TEXT NOT NULL,
297
- type TEXT NOT NULL,
298
- status TEXT NOT NULL,
299
- created_at INTEGER NOT NULL,
300
- payload TEXT NOT NULL
301
- );
302
- CREATE INDEX IF NOT EXISTS resvary_outbox_events_pending
303
- ON resvary_outbox_events(project_id, status, created_at);
304
-
305
- INSERT OR IGNORE INTO resvary_schema_migrations(version, applied_at)
306
- VALUES (1, CAST(strftime('%s', 'now') AS INTEGER) * 1000);
185
+ this.db.exec(`
186
+ PRAGMA journal_mode = WAL;
187
+ PRAGMA busy_timeout = 5000;
188
+ PRAGMA foreign_keys = ON;
189
+
190
+ CREATE TABLE IF NOT EXISTS resvary_schema_migrations (
191
+ version INTEGER PRIMARY KEY,
192
+ applied_at INTEGER NOT NULL
193
+ );
194
+
195
+ CREATE TABLE IF NOT EXISTS resvary_credit_accounts (
196
+ id TEXT PRIMARY KEY,
197
+ project_id TEXT NOT NULL,
198
+ customer_id TEXT NOT NULL,
199
+ updated_at INTEGER NOT NULL,
200
+ payload TEXT NOT NULL,
201
+ UNIQUE(project_id, customer_id)
202
+ );
203
+
204
+ CREATE TABLE IF NOT EXISTS resvary_credit_grants (
205
+ id TEXT PRIMARY KEY,
206
+ account_id TEXT NOT NULL,
207
+ created_at INTEGER NOT NULL,
208
+ payload TEXT NOT NULL
209
+ );
210
+ CREATE INDEX IF NOT EXISTS resvary_credit_grants_account ON resvary_credit_grants(account_id);
211
+
212
+ CREATE TABLE IF NOT EXISTS resvary_meters (
213
+ id TEXT PRIMARY KEY,
214
+ project_id TEXT NOT NULL,
215
+ meter_key TEXT NOT NULL,
216
+ payload TEXT NOT NULL,
217
+ UNIQUE(project_id, meter_key)
218
+ );
219
+
220
+ CREATE TABLE IF NOT EXISTS resvary_price_versions (
221
+ id TEXT PRIMARY KEY,
222
+ meter_id TEXT NOT NULL,
223
+ version INTEGER NOT NULL,
224
+ created_at INTEGER NOT NULL,
225
+ payload TEXT NOT NULL,
226
+ UNIQUE(meter_id, version)
227
+ );
228
+
229
+ CREATE TABLE IF NOT EXISTS resvary_credit_reservations (
230
+ id TEXT PRIMARY KEY,
231
+ account_id TEXT NOT NULL,
232
+ project_id TEXT NOT NULL,
233
+ customer_id TEXT NOT NULL,
234
+ status TEXT NOT NULL,
235
+ expires_at INTEGER NOT NULL,
236
+ created_at INTEGER NOT NULL,
237
+ payload TEXT NOT NULL
238
+ );
239
+ CREATE INDEX IF NOT EXISTS resvary_credit_reservations_open
240
+ ON resvary_credit_reservations(project_id, customer_id, status, expires_at);
241
+
242
+ CREATE TABLE IF NOT EXISTS resvary_usage_events (
243
+ id TEXT PRIMARY KEY,
244
+ account_id TEXT NOT NULL,
245
+ received_at INTEGER NOT NULL,
246
+ payload TEXT NOT NULL
247
+ );
248
+
249
+ CREATE TABLE IF NOT EXISTS resvary_usage_receipts (
250
+ id TEXT PRIMARY KEY,
251
+ account_id TEXT NOT NULL,
252
+ reservation_id TEXT NOT NULL UNIQUE,
253
+ usage_event_id TEXT NOT NULL UNIQUE,
254
+ created_at INTEGER NOT NULL,
255
+ payload TEXT NOT NULL
256
+ );
257
+ CREATE INDEX IF NOT EXISTS resvary_usage_receipts_account ON resvary_usage_receipts(account_id, created_at);
258
+
259
+ CREATE TABLE IF NOT EXISTS resvary_ledger_entries (
260
+ id TEXT PRIMARY KEY,
261
+ account_id TEXT NOT NULL,
262
+ created_at INTEGER NOT NULL,
263
+ payload TEXT NOT NULL
264
+ );
265
+ CREATE INDEX IF NOT EXISTS resvary_ledger_entries_account ON resvary_ledger_entries(account_id, created_at);
266
+
267
+ CREATE TABLE IF NOT EXISTS resvary_funding_intents (
268
+ id TEXT PRIMARY KEY,
269
+ project_id TEXT NOT NULL,
270
+ customer_id TEXT NOT NULL,
271
+ status TEXT NOT NULL,
272
+ created_at INTEGER NOT NULL,
273
+ payload TEXT NOT NULL
274
+ );
275
+
276
+ CREATE TABLE IF NOT EXISTS resvary_funding_transactions (
277
+ id TEXT PRIMARY KEY,
278
+ funding_intent_id TEXT NOT NULL,
279
+ network TEXT NOT NULL,
280
+ tx_hash_norm TEXT NOT NULL,
281
+ created_at INTEGER NOT NULL,
282
+ payload TEXT NOT NULL,
283
+ UNIQUE(network, tx_hash_norm)
284
+ );
285
+
286
+ CREATE TABLE IF NOT EXISTS resvary_idempotency_keys (
287
+ scope TEXT NOT NULL,
288
+ key TEXT NOT NULL,
289
+ created_at INTEGER NOT NULL,
290
+ payload TEXT NOT NULL,
291
+ PRIMARY KEY(scope, key)
292
+ );
293
+
294
+ CREATE TABLE IF NOT EXISTS resvary_outbox_events (
295
+ id TEXT PRIMARY KEY,
296
+ project_id TEXT NOT NULL,
297
+ type TEXT NOT NULL,
298
+ status TEXT NOT NULL,
299
+ created_at INTEGER NOT NULL,
300
+ payload TEXT NOT NULL
301
+ );
302
+ CREATE INDEX IF NOT EXISTS resvary_outbox_events_pending
303
+ ON resvary_outbox_events(project_id, status, created_at);
304
+
305
+ INSERT OR IGNORE INTO resvary_schema_migrations(version, applied_at)
306
+ VALUES (1, CAST(strftime('%s', 'now') AS INTEGER) * 1000);
307
307
  `);
308
308
  this.migrateFundingV2();
309
309
  this.migrateOutboxV3();
310
+ this.migrateFundingTransactionHashV4();
310
311
  }
311
312
  migrateFundingV2() {
312
313
  const row = this.db
@@ -316,51 +317,51 @@ export class SqliteCreditStore {
316
317
  return;
317
318
  this.db.exec('BEGIN IMMEDIATE;');
318
319
  try {
319
- this.db.exec(`
320
- ALTER TABLE resvary_funding_transactions
321
- ADD COLUMN rail TEXT NOT NULL DEFAULT 'arc_direct';
322
- ALTER TABLE resvary_funding_transactions
323
- ADD COLUMN external_payment_id_norm TEXT;
324
- UPDATE resvary_funding_transactions
325
- SET external_payment_id_norm = tx_hash_norm
326
- WHERE external_payment_id_norm IS NULL;
327
-
328
- ALTER TABLE resvary_funding_transactions
329
- RENAME TO resvary_funding_transactions_v1;
330
- CREATE TABLE resvary_funding_transactions (
331
- id TEXT PRIMARY KEY,
332
- funding_intent_id TEXT NOT NULL,
333
- rail TEXT NOT NULL,
334
- network TEXT NOT NULL,
335
- external_payment_id_norm TEXT NOT NULL,
336
- tx_hash_norm TEXT,
337
- created_at INTEGER NOT NULL,
338
- payload TEXT NOT NULL,
339
- UNIQUE(rail, network, external_payment_id_norm)
340
- );
341
- INSERT INTO resvary_funding_transactions(
342
- id,
343
- funding_intent_id,
344
- rail,
345
- network,
346
- external_payment_id_norm,
347
- tx_hash_norm,
348
- created_at,
349
- payload
350
- )
351
- SELECT
352
- id,
353
- funding_intent_id,
354
- rail,
355
- network,
356
- external_payment_id_norm,
357
- tx_hash_norm,
358
- created_at,
359
- payload
360
- FROM resvary_funding_transactions_v1;
361
- DROP TABLE resvary_funding_transactions_v1;
362
- CREATE INDEX resvary_funding_transactions_tx_hash
363
- ON resvary_funding_transactions(network, tx_hash_norm);
320
+ this.db.exec(`
321
+ ALTER TABLE resvary_funding_transactions
322
+ ADD COLUMN rail TEXT NOT NULL DEFAULT 'arc_direct';
323
+ ALTER TABLE resvary_funding_transactions
324
+ ADD COLUMN external_payment_id_norm TEXT;
325
+ UPDATE resvary_funding_transactions
326
+ SET external_payment_id_norm = tx_hash_norm
327
+ WHERE external_payment_id_norm IS NULL;
328
+
329
+ ALTER TABLE resvary_funding_transactions
330
+ RENAME TO resvary_funding_transactions_v1;
331
+ CREATE TABLE resvary_funding_transactions (
332
+ id TEXT PRIMARY KEY,
333
+ funding_intent_id TEXT NOT NULL,
334
+ rail TEXT NOT NULL,
335
+ network TEXT NOT NULL,
336
+ external_payment_id_norm TEXT NOT NULL,
337
+ tx_hash_norm TEXT,
338
+ created_at INTEGER NOT NULL,
339
+ payload TEXT NOT NULL,
340
+ UNIQUE(rail, network, external_payment_id_norm)
341
+ );
342
+ INSERT INTO resvary_funding_transactions(
343
+ id,
344
+ funding_intent_id,
345
+ rail,
346
+ network,
347
+ external_payment_id_norm,
348
+ tx_hash_norm,
349
+ created_at,
350
+ payload
351
+ )
352
+ SELECT
353
+ id,
354
+ funding_intent_id,
355
+ rail,
356
+ network,
357
+ external_payment_id_norm,
358
+ tx_hash_norm,
359
+ created_at,
360
+ payload
361
+ FROM resvary_funding_transactions_v1;
362
+ DROP TABLE resvary_funding_transactions_v1;
363
+ CREATE INDEX resvary_funding_transactions_tx_hash
364
+ ON resvary_funding_transactions(network, tx_hash_norm);
364
365
  `);
365
366
  const intents = this.db
366
367
  .prepare('SELECT id, payload FROM resvary_funding_intents')
@@ -390,10 +391,10 @@ export class SqliteCreditStore {
390
391
  },
391
392
  };
392
393
  this.db
393
- .prepare(`
394
- UPDATE resvary_funding_transactions
395
- SET rail = ?, external_payment_id_norm = ?, payload = ?
396
- WHERE id = ?
394
+ .prepare(`
395
+ UPDATE resvary_funding_transactions
396
+ SET rail = ?, external_payment_id_norm = ?, payload = ?
397
+ WHERE id = ?
397
398
  `)
398
399
  .run(migrated.rail, migrated.externalPaymentId.toLowerCase(), serializeReceiptStoreValue(migrated), transactionRow.id);
399
400
  }
@@ -415,14 +416,14 @@ export class SqliteCreditStore {
415
416
  return;
416
417
  this.db.exec('BEGIN IMMEDIATE;');
417
418
  try {
418
- this.db.exec(`
419
- ALTER TABLE resvary_outbox_events ADD COLUMN attempt_count INTEGER NOT NULL DEFAULT 0;
420
- ALTER TABLE resvary_outbox_events ADD COLUMN next_attempt_at INTEGER NOT NULL DEFAULT 0;
421
- ALTER TABLE resvary_outbox_events ADD COLUMN lease_owner TEXT;
422
- ALTER TABLE resvary_outbox_events ADD COLUMN lease_expires_at INTEGER;
423
- DROP INDEX IF EXISTS resvary_outbox_events_pending;
424
- CREATE INDEX resvary_outbox_events_due
425
- ON resvary_outbox_events(project_id, status, next_attempt_at, created_at);
419
+ this.db.exec(`
420
+ ALTER TABLE resvary_outbox_events ADD COLUMN attempt_count INTEGER NOT NULL DEFAULT 0;
421
+ ALTER TABLE resvary_outbox_events ADD COLUMN next_attempt_at INTEGER NOT NULL DEFAULT 0;
422
+ ALTER TABLE resvary_outbox_events ADD COLUMN lease_owner TEXT;
423
+ ALTER TABLE resvary_outbox_events ADD COLUMN lease_expires_at INTEGER;
424
+ DROP INDEX IF EXISTS resvary_outbox_events_pending;
425
+ CREATE INDEX resvary_outbox_events_due
426
+ ON resvary_outbox_events(project_id, status, next_attempt_at, created_at);
426
427
  `);
427
428
  const rows = this.db
428
429
  .prepare('SELECT id, created_at, payload FROM resvary_outbox_events')
@@ -435,8 +436,8 @@ export class SqliteCreditStore {
435
436
  nextAttemptAt: event.nextAttemptAt ?? item.created_at,
436
437
  };
437
438
  this.db
438
- .prepare(`UPDATE resvary_outbox_events
439
- SET attempt_count = ?, next_attempt_at = ?, lease_owner = ?, lease_expires_at = ?, payload = ?
439
+ .prepare(`UPDATE resvary_outbox_events
440
+ SET attempt_count = ?, next_attempt_at = ?, lease_owner = ?, lease_expires_at = ?, payload = ?
440
441
  WHERE id = ?`)
441
442
  .run(migrated.attemptCount, migrated.nextAttemptAt, migrated.leaseOwner ?? null, migrated.leaseExpiresAt ?? null, serializeReceiptStoreValue(migrated), item.id);
442
443
  }
@@ -450,6 +451,41 @@ export class SqliteCreditStore {
450
451
  throw error;
451
452
  }
452
453
  }
454
+ migrateFundingTransactionHashV4() {
455
+ const row = this.db
456
+ .prepare('SELECT MAX(version) AS version FROM resvary_schema_migrations')
457
+ .get();
458
+ if ((row?.version ?? 0) >= 4)
459
+ return;
460
+ this.db.exec('BEGIN IMMEDIATE;');
461
+ try {
462
+ const duplicate = this.db
463
+ .prepare(`SELECT network, tx_hash_norm, COUNT(*) AS count
464
+ FROM resvary_funding_transactions
465
+ WHERE tx_hash_norm IS NOT NULL
466
+ GROUP BY network, tx_hash_norm
467
+ HAVING COUNT(*) > 1
468
+ LIMIT 1`)
469
+ .get();
470
+ if (duplicate) {
471
+ throw new Error(`Cannot migrate SQLite funding transaction uniqueness: ${duplicate.count} records use ${duplicate.network}:${duplicate.tx_hash_norm}`);
472
+ }
473
+ this.db.exec(`
474
+ DROP INDEX IF EXISTS resvary_funding_transactions_tx_hash;
475
+ CREATE UNIQUE INDEX resvary_funding_transactions_tx_hash
476
+ ON resvary_funding_transactions(network, tx_hash_norm)
477
+ WHERE tx_hash_norm IS NOT NULL;
478
+ `);
479
+ this.db
480
+ .prepare('INSERT INTO resvary_schema_migrations(version, applied_at) VALUES (4, ?)')
481
+ .run(Date.now());
482
+ this.db.exec('COMMIT;');
483
+ }
484
+ catch (error) {
485
+ this.db.exec('ROLLBACK;');
486
+ throw error;
487
+ }
488
+ }
453
489
  }
454
490
  class SqliteCreditTransaction {
455
491
  db;
@@ -693,7 +729,7 @@ function reader(db) {
693
729
  return one(db, 'SELECT payload FROM resvary_funding_transactions WHERE id = ?', [id]);
694
730
  },
695
731
  async getFundingTransactionByExternalPayment(rail, network, externalPaymentId) {
696
- return one(db, `SELECT payload FROM resvary_funding_transactions
732
+ return one(db, `SELECT payload FROM resvary_funding_transactions
697
733
  WHERE rail = ? AND network = ? AND external_payment_id_norm = ?`, [rail, network, externalPaymentId.toLowerCase()]);
698
734
  },
699
735
  async getFundingTransactionByTxHash(network, txHash) {
@@ -746,13 +782,16 @@ function matchesBalanceFilter(value, filter) {
746
782
  export function createSqliteCreditStore(config) {
747
783
  return new SqliteCreditStore(config);
748
784
  }
749
- async function requireClaimedEvent(tx, eventId, workerId) {
785
+ async function requireClaimedEvent(tx, eventId, workerId, attemptCount) {
750
786
  const event = await tx.getOutboxEvent(eventId);
751
787
  if (!event)
752
788
  throw new Error(`Outbox event not found: ${eventId}`);
753
789
  if (event.status !== 'processing' || event.leaseOwner !== workerId) {
754
790
  throw new Error(`Outbox event is not leased by worker ${workerId}: ${eventId}`);
755
791
  }
792
+ if (attemptCount !== undefined && event.attemptCount !== attemptCount) {
793
+ throw new Error(`Outbox lease attempt changed for event ${eventId}`);
794
+ }
756
795
  return event;
757
796
  }
758
797
  //# sourceMappingURL=credit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credit.js","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credit.js","sourceRoot":"","sources":["../src/credit.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
- import { type PaymentInvoice, type PaymentReceipt, type ReceiptStore, type ReceiptStoreDeliveryFilter, type ReceiptStoreEventFilter, type ReceiptStoreInvoiceFilter, type WatcherCursor, type WebhookDeliveryAttempt, type WebhookEvent } from '@resvary/sdk/receipts';
1
+ import { type PaymentInvoice, type PaymentReceipt, type ReceiptStore, type TransactionalReceiptStore, type ReceiptStoreDeliveryFilter, type ReceiptStoreEventFilter, type ReceiptStoreInvoiceFilter, type WatcherCursor, type WebhookDeliveryAttempt, type WebhookEvent } from '@resvary/sdk/receipts';
2
2
  export { SqliteCreditStore, createSqliteCreditStore, type SqliteCreditStoreConfig, } from './credit.js';
3
3
  export interface SqliteReceiptStoreConfig {
4
4
  path: string;
5
5
  createDirectory?: boolean;
6
6
  }
7
- export declare class SqliteReceiptStore implements ReceiptStore {
7
+ export declare class SqliteReceiptStore implements TransactionalReceiptStore {
8
8
  private readonly db;
9
+ private transactionTail;
9
10
  constructor(config: SqliteReceiptStoreConfig);
11
+ transaction<T>(handler: (store: ReceiptStore) => Promise<T>): Promise<T>;
10
12
  saveInvoice(invoice: PaymentInvoice): Promise<void>;
11
13
  getInvoice(id: string): Promise<PaymentInvoice | undefined>;
12
14
  listInvoices(filter?: ReceiptStoreInvoiceFilter): Promise<PaymentInvoice[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmB;gBAE1B,MAAM,EAAE,wBAAwB;IAStC,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,YAAY,CAAC,MAAM,GAAE,yBAA8B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAe/E,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,kBAAkB,CACtB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAYhC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKhF,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BpE,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAM3E,qBAAqB,CACzB,MAAM,GAAE,0BAA+B,GACtC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAgB9B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMjE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAM9C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BvD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,OAAO;IA+Df,OAAO,CAAC,WAAW;CAGpB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CAE7F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,qBAAa,kBAAmB,YAAW,yBAAyB;IAClE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmB;IACtC,OAAO,CAAC,eAAe,CAAoC;gBAE/C,MAAM,EAAE,wBAAwB;IAStC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBxE,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,YAAY,CAAC,MAAM,GAAE,yBAA8B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgB/E,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAM3D,kBAAkB,CACtB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAchC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAMzC,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAepD,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAMhF,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCpE,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAM3E,qBAAqB,CACzB,MAAM,GAAE,0BAA+B,GACtC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAgB9B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMjE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAM9C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCvD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,OAAO;IAiFf,OAAO,CAAC,WAAW;CAMpB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CAE7F"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import { parseReceiptStoreValue, serializeReceiptStoreValue, } from '@resvary/sd
5
5
  export { SqliteCreditStore, createSqliteCreditStore, } from './credit.js';
6
6
  export class SqliteReceiptStore {
7
7
  db;
8
+ transactionTail = Promise.resolve();
8
9
  constructor(config) {
9
10
  if (config.path !== ':memory:' && config.createDirectory !== false) {
10
11
  mkdirSync(dirname(config.path), { recursive: true });
@@ -12,8 +13,31 @@ export class SqliteReceiptStore {
12
13
  this.db = new DatabaseSync(config.path);
13
14
  this.migrate();
14
15
  }
16
+ async transaction(handler) {
17
+ let release;
18
+ const current = new Promise((resolve) => {
19
+ release = resolve;
20
+ });
21
+ const previous = this.transactionTail;
22
+ this.transactionTail = previous.then(() => current);
23
+ await previous;
24
+ this.db.exec('BEGIN IMMEDIATE');
25
+ try {
26
+ const result = await handler(this);
27
+ this.db.exec('COMMIT');
28
+ return result;
29
+ }
30
+ catch (error) {
31
+ this.db.exec('ROLLBACK');
32
+ throw error;
33
+ }
34
+ finally {
35
+ release();
36
+ }
37
+ }
15
38
  async saveInvoice(invoice) {
16
- this.db.prepare(`
39
+ this.db
40
+ .prepare(`
17
41
  INSERT INTO resvary_invoices (id, status, customer_id, created_at, payload)
18
42
  VALUES (?, ?, ?, ?, ?)
19
43
  ON CONFLICT(id) DO UPDATE SET
@@ -21,14 +45,14 @@ export class SqliteReceiptStore {
21
45
  customer_id = excluded.customer_id,
22
46
  created_at = excluded.created_at,
23
47
  payload = excluded.payload
24
- `).run(invoice.id, invoice.status, invoice.customerId ?? null, invoice.createdAt, serializeReceiptStoreValue(invoice));
48
+ `)
49
+ .run(invoice.id, invoice.status, invoice.customerId ?? null, invoice.createdAt, serializeReceiptStoreValue(invoice));
25
50
  }
26
51
  async getInvoice(id) {
27
52
  return parsePayloadRow(this.db.prepare('SELECT payload FROM resvary_invoices WHERE id = ?').get(id));
28
53
  }
29
54
  async listInvoices(filter = {}) {
30
- return this.allPayloads('SELECT payload FROM resvary_invoices ORDER BY created_at ASC')
31
- .filter((invoice) => {
55
+ return this.allPayloads('SELECT payload FROM resvary_invoices ORDER BY created_at ASC').filter((invoice) => {
32
56
  if (filter.status && invoice.status !== filter.status) {
33
57
  return false;
34
58
  }
@@ -39,7 +63,8 @@ export class SqliteReceiptStore {
39
63
  });
40
64
  }
41
65
  async saveReceipt(receipt) {
42
- this.db.prepare(`
66
+ this.db
67
+ .prepare(`
43
68
  INSERT INTO resvary_receipts (id, invoice_id, tx_hash_norm, status, created_at, payload)
44
69
  VALUES (?, ?, ?, ?, ?, ?)
45
70
  ON CONFLICT(id) DO UPDATE SET
@@ -48,36 +73,43 @@ export class SqliteReceiptStore {
48
73
  status = excluded.status,
49
74
  created_at = excluded.created_at,
50
75
  payload = excluded.payload
51
- `).run(receipt.id, receipt.invoiceId, receipt.txHash?.toLowerCase() ?? null, receipt.status, receipt.createdAt, serializeReceiptStoreValue(receipt));
76
+ `)
77
+ .run(receipt.id, receipt.invoiceId, receipt.txHash?.toLowerCase() ?? null, receipt.status, receipt.createdAt, serializeReceiptStoreValue(receipt));
52
78
  }
53
79
  async getReceipt(id) {
54
80
  return parsePayloadRow(this.db.prepare('SELECT payload FROM resvary_receipts WHERE id = ?').get(id));
55
81
  }
56
82
  async getReceiptByTxHash(txHash, invoiceId) {
57
83
  const row = invoiceId
58
- ? this.db.prepare('SELECT payload FROM resvary_receipts WHERE tx_hash_norm = ? AND invoice_id = ? LIMIT 1').get(txHash.toLowerCase(), invoiceId)
59
- : this.db.prepare('SELECT payload FROM resvary_receipts WHERE tx_hash_norm = ? LIMIT 1').get(txHash.toLowerCase());
84
+ ? this.db
85
+ .prepare('SELECT payload FROM resvary_receipts WHERE tx_hash_norm = ? AND invoice_id = ? LIMIT 1')
86
+ .get(txHash.toLowerCase(), invoiceId)
87
+ : this.db
88
+ .prepare('SELECT payload FROM resvary_receipts WHERE tx_hash_norm = ? LIMIT 1')
89
+ .get(txHash.toLowerCase());
60
90
  return parsePayloadRow(row);
61
91
  }
62
92
  async listReceipts() {
63
93
  return this.allPayloads('SELECT payload FROM resvary_receipts ORDER BY created_at ASC');
64
94
  }
65
95
  async saveWebhookEvent(event) {
66
- this.db.prepare(`
96
+ this.db
97
+ .prepare(`
67
98
  INSERT INTO arc_webhook_events (id, type, created_at, payload)
68
99
  VALUES (?, ?, ?, ?)
69
100
  ON CONFLICT(id) DO UPDATE SET
70
101
  type = excluded.type,
71
102
  created_at = excluded.created_at,
72
103
  payload = excluded.payload
73
- `).run(event.id, event.type, event.createdAt, serializeReceiptStoreValue(event));
104
+ `)
105
+ .run(event.id, event.type, event.createdAt, serializeReceiptStoreValue(event));
74
106
  }
75
107
  async listWebhookEvents(filter = {}) {
76
- return this.allPayloads('SELECT payload FROM arc_webhook_events ORDER BY created_at ASC')
77
- .filter((event) => !filter.type || event.type === filter.type);
108
+ return this.allPayloads('SELECT payload FROM arc_webhook_events ORDER BY created_at ASC').filter((event) => !filter.type || event.type === filter.type);
78
109
  }
79
110
  async saveWebhookDelivery(delivery) {
80
- this.db.prepare(`
111
+ this.db
112
+ .prepare(`
81
113
  INSERT INTO arc_webhook_deliveries (
82
114
  id,
83
115
  event_id,
@@ -95,7 +127,8 @@ export class SqliteReceiptStore {
95
127
  status = excluded.status,
96
128
  received_at = excluded.received_at,
97
129
  payload = excluded.payload
98
- `).run(delivery.id, delivery.eventId, delivery.eventType, delivery.attempt, delivery.status, delivery.receivedAt, serializeReceiptStoreValue(delivery));
130
+ `)
131
+ .run(delivery.id, delivery.eventId, delivery.eventType, delivery.attempt, delivery.status, delivery.receivedAt, serializeReceiptStoreValue(delivery));
99
132
  }
100
133
  async getWebhookDelivery(id) {
101
134
  return parsePayloadRow(this.db.prepare('SELECT payload FROM arc_webhook_deliveries WHERE id = ?').get(id));
@@ -118,7 +151,8 @@ export class SqliteReceiptStore {
118
151
  return this.allPayloads('SELECT payload FROM arc_watcher_cursors ORDER BY updated_at ASC');
119
152
  }
120
153
  async saveWatcherCursor(cursor) {
121
- this.db.prepare(`
154
+ this.db
155
+ .prepare(`
122
156
  INSERT INTO arc_watcher_cursors (
123
157
  key,
124
158
  network,
@@ -136,7 +170,8 @@ export class SqliteReceiptStore {
136
170
  next_from_block = excluded.next_from_block,
137
171
  updated_at = excluded.updated_at,
138
172
  payload = excluded.payload
139
- `).run(cursor.key, cursor.network, cursor.invoiceId ?? null, cursor.memoId?.toLowerCase() ?? null, cursor.nextFromBlock.toString(), cursor.updatedAt, serializeReceiptStoreValue(cursor));
173
+ `)
174
+ .run(cursor.key, cursor.network, cursor.invoiceId ?? null, cursor.memoId?.toLowerCase() ?? null, cursor.nextFromBlock.toString(), cursor.updatedAt, serializeReceiptStoreValue(cursor));
140
175
  }
141
176
  async deleteWatcherCursor(key) {
142
177
  this.db.prepare('DELETE FROM arc_watcher_cursors WHERE key = ?').run(key);
@@ -171,10 +206,6 @@ export class SqliteReceiptStore {
171
206
  payload TEXT NOT NULL
172
207
  );
173
208
 
174
- CREATE UNIQUE INDEX IF NOT EXISTS resvary_receipts_invoice_tx_hash
175
- ON resvary_receipts(invoice_id, tx_hash_norm)
176
- WHERE tx_hash_norm IS NOT NULL;
177
-
178
209
  CREATE TABLE IF NOT EXISTS arc_webhook_events (
179
210
  id TEXT PRIMARY KEY,
180
211
  type TEXT NOT NULL,
@@ -204,10 +235,30 @@ export class SqliteReceiptStore {
204
235
  updated_at INTEGER NOT NULL,
205
236
  payload TEXT NOT NULL
206
237
  );
238
+ `);
239
+ const duplicate = this.db
240
+ .prepare(`SELECT tx_hash_norm, COUNT(*) AS count
241
+ FROM resvary_receipts
242
+ WHERE tx_hash_norm IS NOT NULL
243
+ GROUP BY tx_hash_norm
244
+ HAVING COUNT(*) > 1
245
+ LIMIT 1`)
246
+ .get();
247
+ if (duplicate) {
248
+ throw new Error(`Cannot enforce receipt transaction uniqueness: ${duplicate.count} receipts use ${duplicate.tx_hash_norm}`);
249
+ }
250
+ this.db.exec(`
251
+ DROP INDEX IF EXISTS resvary_receipts_invoice_tx_hash;
252
+ CREATE UNIQUE INDEX IF NOT EXISTS resvary_receipts_tx_hash
253
+ ON resvary_receipts(tx_hash_norm)
254
+ WHERE tx_hash_norm IS NOT NULL;
207
255
  `);
208
256
  }
209
257
  allPayloads(sql) {
210
- return this.db.prepare(sql).all().map((row) => parsePayloadRow(row));
258
+ return this.db
259
+ .prepare(sql)
260
+ .all()
261
+ .map((row) => parsePayloadRow(row));
211
262
  }
212
263
  }
213
264
  export function createSqliteReceiptStore(config) {
@@ -220,9 +271,9 @@ function parsePayloadRow(row) {
220
271
  return parseReceiptStoreValue(row.payload);
221
272
  }
222
273
  function isPayloadRow(value) {
223
- return Boolean(value
224
- && typeof value === 'object'
225
- && 'payload' in value
226
- && typeof value.payload === 'string');
274
+ return Boolean(value &&
275
+ typeof value === 'object' &&
276
+ 'payload' in value &&
277
+ typeof value.payload === 'string');
227
278
  }
228
279
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAyC,MAAM,aAAa,CAAC;AAClF,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAW3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,aAAa,CAAC;AAWrB,MAAM,OAAO,kBAAkB;IACZ,EAAE,CAAmB;IAC9B,eAAe,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE3D,YAAY,MAAgC;QAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACnE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,OAA4C;QAC/D,IAAI,OAAoB,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,CAAC;QAEf,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;KAQH,CACE;aACA,GAAG,CACF,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,IAAI,IAAI,EAC1B,OAAO,CAAC,SAAS,EACjB,0BAA0B,CAAC,OAAO,CAAC,CACpC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,eAAe,CACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAC7E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAoC,EAAE;QACvD,OAAO,IAAI,CAAC,WAAW,CACrB,8DAA8D,CAC/D,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACnB,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;;KASH,CACE;aACA,GAAG,CACF,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,IAAI,EACrC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,EACjB,0BAA0B,CAAC,OAAO,CAAC,CACpC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,eAAe,CACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAC7E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAqB,EACrB,SAAkB;QAElB,MAAM,GAAG,GAAG,SAAS;YACnB,CAAC,CAAC,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN,wFAAwF,CACzF;iBACA,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,EAAE;iBACJ,OAAO,CAAC,qEAAqE,CAAC;iBAC9E,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAEjC,OAAO,eAAe,CAAiB,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,WAAW,CACrB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAmB;QACxC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;KAOH,CACE;aACA,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAkC,EAAE;QAC1D,OAAO,IAAI,CAAC,WAAW,CACrB,gEAAgE,CACjE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgC;QACxD,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;;;;;;;;;;;KAkBH,CACE;aACA,GAAG,CACF,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,EACnB,0BAA0B,CAAC,QAAQ,CAAC,CACrC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,OAAO,eAAe,CACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CACnF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,SAAqC,EAAE;QAEvC,OAAO,IAAI,CAAC,WAAW,CACrB,kFAAkF,CACnF,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,OAAO,eAAe,CACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAClF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,WAAW,CACrB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAqB;QAC3C,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;;;;;;;;;;;KAkBH,CACE;aACA,GAAG,CACF,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,IAAI,EACpC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,EAC/B,MAAM,CAAC,SAAS,EAChB,0BAA0B,CAAC,MAAM,CAAC,CACnC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAW;QACnC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuDZ,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE;aACtB,OAAO,CACN;;;;;iBAKS,CACV;aACA,GAAG,EAAyD,CAAC;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,kDAAkD,SAAS,CAAC,KAAK,iBAAiB,SAAS,CAAC,YAAY,EAAE,CAC3G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;KAKZ,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAI,GAAW;QAChC,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CAAC,GAAG,CAAC;aACZ,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAI,GAAG,CAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAgC;IACvE,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAI,GAAY;IACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,sBAAsB,CAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,CACZ,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,SAAS,IAAI,KAAK;QAClB,OAAQ,KAAoB,CAAC,OAAO,KAAK,QAAQ,CAClD,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resvary/sqlite",
3
- "version": "0.5.0-alpha.1",
3
+ "version": "0.5.0-alpha.3",
4
4
  "description": "SQLite persistence for Resvary credits, usage receipts, and payment receipts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,15 +11,15 @@
11
11
  "import": "./dist/index.js"
12
12
  }
13
13
  },
14
- "files": [
14
+ "files": [
15
15
  "dist",
16
16
  "README.md",
17
- "LICENSE"
18
- ],
19
- "publishConfig": {
20
- "access": "public",
21
- "tag": "alpha"
22
- },
17
+ "LICENSE"
18
+ ],
19
+ "publishConfig": {
20
+ "access": "public",
21
+ "tag": "alpha"
22
+ },
23
23
  "scripts": {
24
24
  "build": "tsc",
25
25
  "dev": "tsc --watch",
@@ -30,7 +30,7 @@
30
30
  "node": ">=24.0.0"
31
31
  },
32
32
  "dependencies": {
33
- "@resvary/sdk": "0.5.0-alpha.1"
33
+ "@resvary/sdk": "0.5.0-alpha.3"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^22.0.0",