@quereus/sync-coordinator 0.8.2 → 0.10.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 (51) hide show
  1. package/README.md +12 -3
  2. package/dist/src/common/index.d.ts +1 -0
  3. package/dist/src/common/index.d.ts.map +1 -1
  4. package/dist/src/common/index.js +1 -0
  5. package/dist/src/common/index.js.map +1 -1
  6. package/dist/src/common/serialization.d.ts +28 -0
  7. package/dist/src/common/serialization.d.ts.map +1 -0
  8. package/dist/src/common/serialization.js +128 -0
  9. package/dist/src/common/serialization.js.map +1 -0
  10. package/dist/src/index.d.ts +1 -1
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +1 -1
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/metrics/coordinator-metrics.d.ts +1 -0
  15. package/dist/src/metrics/coordinator-metrics.d.ts.map +1 -1
  16. package/dist/src/metrics/coordinator-metrics.js +2 -0
  17. package/dist/src/metrics/coordinator-metrics.js.map +1 -1
  18. package/dist/src/server/routes.d.ts.map +1 -1
  19. package/dist/src/server/routes.js +7 -31
  20. package/dist/src/server/routes.js.map +1 -1
  21. package/dist/src/server/websocket.d.ts +1 -0
  22. package/dist/src/server/websocket.d.ts.map +1 -1
  23. package/dist/src/server/websocket.js +74 -51
  24. package/dist/src/server/websocket.js.map +1 -1
  25. package/dist/src/service/coordinator-service.d.ts +10 -5
  26. package/dist/src/service/coordinator-service.d.ts.map +1 -1
  27. package/dist/src/service/coordinator-service.js +108 -41
  28. package/dist/src/service/coordinator-service.js.map +1 -1
  29. package/dist/src/service/index.d.ts +2 -2
  30. package/dist/src/service/index.d.ts.map +1 -1
  31. package/dist/src/service/index.js +1 -1
  32. package/dist/src/service/index.js.map +1 -1
  33. package/dist/src/service/s3-batch-store.d.ts +10 -6
  34. package/dist/src/service/s3-batch-store.d.ts.map +1 -1
  35. package/dist/src/service/s3-batch-store.js +42 -10
  36. package/dist/src/service/s3-batch-store.js.map +1 -1
  37. package/dist/src/service/s3-config.d.ts +10 -0
  38. package/dist/src/service/s3-config.d.ts.map +1 -1
  39. package/dist/src/service/s3-config.js +7 -0
  40. package/dist/src/service/s3-config.js.map +1 -1
  41. package/dist/src/service/s3-snapshot-store.d.ts +17 -6
  42. package/dist/src/service/s3-snapshot-store.d.ts.map +1 -1
  43. package/dist/src/service/s3-snapshot-store.js +64 -15
  44. package/dist/src/service/s3-snapshot-store.js.map +1 -1
  45. package/dist/src/service/store-manager.d.ts +32 -0
  46. package/dist/src/service/store-manager.d.ts.map +1 -1
  47. package/dist/src/service/store-manager.js +119 -8
  48. package/dist/src/service/store-manager.js.map +1 -1
  49. package/dist/src/service/types.d.ts +2 -1
  50. package/dist/src/service/types.d.ts.map +1 -1
  51. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/server/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/server/websocket.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * handling, cascade delete, and other app-specific behavior via hooks.
9
9
  */
10
10
  import type { WebSocket } from 'ws';
11
- import { type HLC, type SiteId, type ChangeSet, type ApplyResult, type SnapshotChunk } from '@quereus/sync';
11
+ import { type HLC, type SiteId, type ChangeSet, type ApplyResult, type SnapshotChunk, type SnapshotCheckpoint } from '@quereus/sync';
12
12
  import type { CoordinatorConfig } from '../config/types.js';
13
13
  import { type CoordinatorMetrics } from '../metrics/index.js';
14
14
  import type { ClientIdentity, ClientSession, AuthContext, SyncOperation, CoordinatorHooks } from './types.js';
@@ -101,6 +101,10 @@ export declare class CoordinatorService {
101
101
  * Stream a full snapshot.
102
102
  */
103
103
  getSnapshotStream(databaseId: string, client: ClientIdentity, chunkSize?: number): AsyncIterable<SnapshotChunk>;
104
+ /**
105
+ * Resume a snapshot stream from a checkpoint.
106
+ */
107
+ resumeSnapshotStream(databaseId: string, client: ClientIdentity, checkpoint: SnapshotCheckpoint): AsyncIterable<SnapshotChunk>;
104
108
  /**
105
109
  * Check if delta sync is possible.
106
110
  */
@@ -129,10 +133,6 @@ export declare class CoordinatorService {
129
133
  * Broadcast changes to all connected clients on the same database except the sender.
130
134
  */
131
135
  private broadcastChanges;
132
- /**
133
- * Serialize a ChangeSet for JSON transport.
134
- */
135
- private serializeChangeSet;
136
136
  /**
137
137
  * Check if a database ID is valid.
138
138
  */
@@ -149,6 +149,11 @@ export declare class CoordinatorService {
149
149
  * Get the metrics registry for this service.
150
150
  */
151
151
  getMetrics(): CoordinatorMetrics;
152
+ /**
153
+ * Restore a database from S3 snapshot + batches.
154
+ * Called by StoreManager's onStoreCreated when a new store is opened with no local data.
155
+ */
156
+ private restoreFromS3;
152
157
  /**
153
158
  * Manually trigger a snapshot for a database.
154
159
  */
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator-service.d.ts","sourceRoot":"","sources":["../../../src/service/coordinator-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator-service.d.ts","sourceRoot":"","sources":["../../../src/service/coordinator-service.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@
8
8
  * handling, cascade delete, and other app-specific behavior via hooks.
9
9
  */
10
10
  import { randomUUID } from 'node:crypto';
11
- import { siteIdFromBase64, siteIdEquals, siteIdToBase64, serializeHLC, } from '@quereus/sync';
12
- import { serviceLog, authLog } from '../common/logger.js';
11
+ import { siteIdFromBase64, siteIdEquals, siteIdToBase64, } from '@quereus/sync';
12
+ import { serviceLog, authLog, serializeChangeSet, deserializeChangeSet } from '../common/index.js';
13
13
  import { createCoordinatorMetrics, } from '../metrics/index.js';
14
14
  import { StoreManager } from './store-manager.js';
15
15
  import { createS3Client } from './s3-config.js';
@@ -34,6 +34,22 @@ export class CoordinatorService {
34
34
  this.config = options.config;
35
35
  this.hooks = options.hooks || {};
36
36
  this.metrics = options.metrics || createCoordinatorMetrics();
37
+ // Initialize S3 stores if configured (before StoreManager, since onStoreCreated references them)
38
+ if (options.s3Config) {
39
+ const s3Client = createS3Client(options.s3Config);
40
+ // Pass storage path resolver from storeHooks to S3 stores
41
+ const resolveStoragePath = options.storeHooks?.resolveStoragePath;
42
+ this.s3BatchStore = new S3BatchStore(s3Client, options.s3Config, resolveStoragePath);
43
+ this.s3SnapshotStore = new S3SnapshotStore(s3Client, options.s3Config, options.snapshotConfig, resolveStoragePath);
44
+ serviceLog('S3 batch storage enabled: bucket=%s', options.s3Config.bucket);
45
+ }
46
+ // Disk eviction: auto-enabled when S3 is configured, can be forced on/off via env
47
+ const diskEvictionEnabled = options.s3Config
48
+ ? process.env.DISK_EVICTION_ENABLED !== 'false'
49
+ : process.env.DISK_EVICTION_ENABLED === 'true';
50
+ const diskEvictionIdleMs = diskEvictionEnabled
51
+ ? parseInt(process.env.DISK_EVICTION_IDLE_MS || '3600000', 10)
52
+ : 0;
37
53
  this._storeManager = new StoreManager({
38
54
  dataDir: this.config.dataDir,
39
55
  maxOpenStores: 100,
@@ -44,15 +60,22 @@ export class CoordinatorService {
44
60
  batchSize: this.config.sync.batchSize,
45
61
  },
46
62
  hooks: options.storeHooks,
63
+ onStoreCreated: this.s3SnapshotStore
64
+ ? (entry) => this.restoreFromS3(entry)
65
+ : undefined,
66
+ diskEvictionIdleMs,
67
+ onEvictStore: this.s3SnapshotStore && diskEvictionIdleMs > 0
68
+ ? async (databaseId) => {
69
+ const hasSnapshot = await this.s3SnapshotStore.hasSnapshot(databaseId);
70
+ if (!hasSnapshot) {
71
+ serviceLog('Disk eviction skipped (no S3 snapshot): %s', databaseId);
72
+ }
73
+ return hasSnapshot;
74
+ }
75
+ : undefined,
47
76
  });
48
- // Initialize S3 stores if configured
49
- if (options.s3Config) {
50
- const s3Client = createS3Client(options.s3Config);
51
- // Pass storage path resolver from storeHooks to S3 stores
52
- const resolveStoragePath = options.storeHooks?.resolveStoragePath;
53
- this.s3BatchStore = new S3BatchStore(s3Client, options.s3Config, resolveStoragePath);
54
- this.s3SnapshotStore = new S3SnapshotStore(s3Client, options.s3Config, options.snapshotConfig, resolveStoragePath);
55
- serviceLog('S3 batch storage enabled: bucket=%s', options.s3Config.bucket);
77
+ if (diskEvictionIdleMs > 0) {
78
+ serviceLog('Disk eviction enabled: idle threshold %dms', diskEvictionIdleMs);
56
79
  }
57
80
  }
58
81
  /**
@@ -272,9 +295,9 @@ export class CoordinatorService {
272
295
  if (this.hooks.onAfterApplyChanges) {
273
296
  this.hooks.onAfterApplyChanges(client, approvedChanges, result);
274
297
  }
275
- // Store batch to S3 for durability (non-blocking)
298
+ // Store batch to S3 for durability (non-blocking, serialized for JSON-safe storage)
276
299
  if (this.s3BatchStore && result.applied > 0) {
277
- this.s3BatchStore.storeBatch(databaseId, siteIdToBase64(client.siteId), approvedChanges, { applied: result.applied, skipped: result.skipped, conflicts: result.conflicts }).catch(err => {
300
+ this.s3BatchStore.storeBatch(databaseId, siteIdToBase64(client.siteId), approvedChanges.map(cs => serializeChangeSet(cs)), { applied: result.applied, skipped: result.skipped, conflicts: result.conflicts }).catch(err => {
278
301
  serviceLog('S3 batch storage failed (non-fatal): %s', err.message);
279
302
  });
280
303
  }
@@ -325,6 +348,28 @@ export class CoordinatorService {
325
348
  this.releaseStore(databaseId);
326
349
  }
327
350
  }
351
+ /**
352
+ * Resume a snapshot stream from a checkpoint.
353
+ */
354
+ async *resumeSnapshotStream(databaseId, client, checkpoint) {
355
+ serviceLog('resumeSnapshotStream db=%s for %s', databaseId, siteIdToBase64(client.siteId));
356
+ this.metrics.registry.incCounter(this.metrics.snapshotRequestsTotal);
357
+ const allowed = await this.authorize(client, { type: 'resume_snapshot' });
358
+ if (!allowed) {
359
+ throw new Error('Not authorized');
360
+ }
361
+ const context = this.buildStoreContext(undefined, client);
362
+ const entry = await this.getStore(databaseId, context);
363
+ try {
364
+ for await (const chunk of entry.syncManager.resumeSnapshotStream(checkpoint)) {
365
+ this.metrics.registry.incCounter(this.metrics.snapshotChunksTotal);
366
+ yield chunk;
367
+ }
368
+ }
369
+ finally {
370
+ this.releaseStore(databaseId);
371
+ }
372
+ }
328
373
  /**
329
374
  * Check if delta sync is possible.
330
375
  */
@@ -357,7 +402,7 @@ export class CoordinatorService {
357
402
  }
358
403
  // Call connect hook
359
404
  if (this.hooks.onClientConnect) {
360
- const allowed = await this.hooks.onClientConnect(identity, socket);
405
+ const allowed = await this.hooks.onClientConnect(identity, socket, databaseId);
361
406
  if (!allowed) {
362
407
  throw new Error('Connection rejected');
363
408
  }
@@ -434,7 +479,7 @@ export class CoordinatorService {
434
479
  */
435
480
  broadcastChanges(databaseId, senderSiteId, changes) {
436
481
  // Serialize changesets for JSON transport
437
- const serializedChangeSets = changes.map(cs => this.serializeChangeSet(cs));
482
+ const serializedChangeSets = changes.map(cs => serializeChangeSet(cs));
438
483
  const message = JSON.stringify({
439
484
  type: 'push_changes',
440
485
  changeSets: serializedChangeSets,
@@ -453,39 +498,21 @@ export class CoordinatorService {
453
498
  continue;
454
499
  }
455
500
  if (session.socket.readyState === 1) { // WebSocket.OPEN
456
- session.socket.send(message);
457
- broadcastCount++;
501
+ try {
502
+ session.socket.send(message);
503
+ broadcastCount++;
504
+ }
505
+ catch (err) {
506
+ const errMsg = err instanceof Error ? err.message : 'Unknown send error';
507
+ serviceLog('Broadcast send failed for %s: %s', connectionId.slice(0, 8), errMsg);
508
+ this.metrics.registry.incCounter(this.metrics.broadcastErrorsTotal);
509
+ }
458
510
  }
459
511
  }
460
512
  if (broadcastCount > 0) {
461
513
  this.metrics.registry.incCounter(this.metrics.changesBroadcastTotal, {}, changes.length * broadcastCount);
462
514
  }
463
515
  }
464
- /**
465
- * Serialize a ChangeSet for JSON transport.
466
- */
467
- serializeChangeSet(cs) {
468
- const hlcBytes = serializeHLC(cs.hlc);
469
- return {
470
- siteId: siteIdToBase64(cs.siteId),
471
- transactionId: cs.transactionId,
472
- hlc: Buffer.from(hlcBytes).toString('base64'),
473
- changes: cs.changes.map(c => {
474
- const chlcBytes = serializeHLC(c.hlc);
475
- return {
476
- ...c,
477
- hlc: Buffer.from(chlcBytes).toString('base64'),
478
- };
479
- }),
480
- schemaMigrations: cs.schemaMigrations.map(m => {
481
- const mhlcBytes = serializeHLC(m.hlc);
482
- return {
483
- ...m,
484
- hlc: Buffer.from(mhlcBytes).toString('base64'),
485
- };
486
- }),
487
- };
488
- }
489
516
  /**
490
517
  * Check if a database ID is valid.
491
518
  */
@@ -509,6 +536,46 @@ export class CoordinatorService {
509
536
  return this.metrics;
510
537
  }
511
538
  // ============================================================================
539
+ // S3 Restore
540
+ // ============================================================================
541
+ /**
542
+ * Restore a database from S3 snapshot + batches.
543
+ * Called by StoreManager's onStoreCreated when a new store is opened with no local data.
544
+ */
545
+ async restoreFromS3(entry) {
546
+ const { databaseId, syncManager } = entry;
547
+ if (!this.s3SnapshotStore)
548
+ return;
549
+ serviceLog('Attempting S3 restore for %s', databaseId);
550
+ const snapshot = await this.s3SnapshotStore.downloadLatestSnapshot(databaseId);
551
+ if (!snapshot) {
552
+ serviceLog('No S3 snapshot found for %s, starting with empty store', databaseId);
553
+ return;
554
+ }
555
+ // Apply snapshot chunks via async iterable
556
+ const { chunks } = snapshot;
557
+ async function* chunkIterable() {
558
+ for (const chunk of chunks) {
559
+ yield chunk;
560
+ }
561
+ }
562
+ await syncManager.applySnapshotStream(chunkIterable());
563
+ serviceLog('Restored snapshot for %s: %s (%d chunks)', databaseId, snapshot.metadata.snapshotId, snapshot.chunks.length);
564
+ // Replay batches created after the snapshot
565
+ if (this.s3BatchStore) {
566
+ const batchKeys = await this.s3BatchStore.listBatchesSince(databaseId, snapshot.metadata.timestamp);
567
+ for (const key of batchKeys) {
568
+ const batch = await this.s3BatchStore.downloadBatch(key);
569
+ const changes = batch.changes.map(c => deserializeChangeSet(c));
570
+ await syncManager.applyChanges(changes);
571
+ }
572
+ if (batchKeys.length > 0) {
573
+ serviceLog('Replayed %d batches for %s', batchKeys.length, databaseId);
574
+ }
575
+ }
576
+ serviceLog('S3 restore complete for %s', databaseId);
577
+ }
578
+ // ============================================================================
512
579
  // Snapshot Operations
513
580
  // ============================================================================
514
581
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator-service.js","sourceRoot":"","sources":["../../../src/service/coordinator-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator-service.js","sourceRoot":"","sources":["../../../src/service/coordinator-service.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  export { type ClientIdentity, type ClientSession, type AuthContext, type SyncOperation, type RejectedChange, type ValidationResult, type CoordinatorHooks, } from './types.js';
9
9
  export { CoordinatorService, type CoordinatorServiceOptions, } from './coordinator-service.js';
10
10
  export { StoreManager, type StoreEntry, type StoreManagerConfig, type StoreManagerHooks, type StoreContext, } from './store-manager.js';
11
- export { type S3StorageConfig, createS3Client, buildBatchKey, buildSnapshotKey, parseS3ConfigFromEnv, } from './s3-config.js';
12
- export { S3BatchStore, createS3BatchStore, type SyncBatch, type StoragePathResolver, } from './s3-batch-store.js';
11
+ export { type S3StorageConfig, type StoragePathResolver, createS3Client, buildBatchKey, buildSnapshotKey, defaultStoragePathResolver, parseS3ConfigFromEnv, } from './s3-config.js';
12
+ export { S3BatchStore, createS3BatchStore, type SyncBatch, } from './s3-batch-store.js';
13
13
  export { S3SnapshotStore, createS3SnapshotStore, type SnapshotMetadata, type SnapshotScheduleConfig, } from './s3-snapshot-store.js';
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,eAAe,EACpB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export { CoordinatorService, } from './coordinator-service.js';
9
9
  export { StoreManager, } from './store-manager.js';
10
- export { createS3Client, buildBatchKey, buildSnapshotKey, parseS3ConfigFromEnv, } from './s3-config.js';
10
+ export { createS3Client, buildBatchKey, buildSnapshotKey, defaultStoragePathResolver, parseS3ConfigFromEnv, } from './s3-config.js';
11
11
  export { S3BatchStore, createS3BatchStore, } from './s3-batch-store.js';
12
12
  export { S3SnapshotStore, createS3SnapshotStore, } from './s3-snapshot-store.js';
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,OAAO,EACL,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,GAKb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,kBAAkB,GAGnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,qBAAqB,GAGtB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,OAAO,EACL,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,GAKb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAGL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,qBAAqB,GAGtB,MAAM,wBAAwB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * providing durability and enabling disaster recovery.
6
6
  */
7
7
  import { type S3Client } from '@aws-sdk/client-s3';
8
- import { type S3StorageConfig } from './s3-config.js';
8
+ import { type S3StorageConfig, type StoragePathResolver } from './s3-config.js';
9
9
  /**
10
10
  * A sync batch to be stored in S3.
11
11
  */
@@ -23,11 +23,6 @@ export interface SyncBatch {
23
23
  /** Optional metadata */
24
24
  metadata?: Record<string, unknown>;
25
25
  }
26
- /**
27
- * Function to resolve a database ID to a storage path for S3 keys.
28
- * Default implementation uses the databaseId directly (with sanitization).
29
- */
30
- export type StoragePathResolver = (databaseId: string) => string;
31
26
  /**
32
27
  * S3 Batch Store for durable sync batch storage.
33
28
  */
@@ -55,6 +50,15 @@ export declare class S3BatchStore {
55
50
  changes: unknown[];
56
51
  metadata?: Record<string, unknown>;
57
52
  }>): Promise<SyncBatch[]>;
53
+ /**
54
+ * List batch keys stored after a given timestamp.
55
+ * Returns S3 keys in chronological order.
56
+ */
57
+ listBatchesSince(databaseId: string, sinceTimestamp: string): Promise<string[]>;
58
+ /**
59
+ * Download and parse a batch by its S3 key.
60
+ */
61
+ downloadBatch(key: string): Promise<SyncBatch>;
58
62
  }
59
63
  /**
60
64
  * Create an S3 batch store from configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"s3-batch-store.d.ts","sourceRoot":"","sources":["../../../src/service/s3-batch-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,OAAO,EAAE,OAAO,EAAE,CAAC;IAEnB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;AAWjE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAGvD,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,mBAAmB;IAO1C;;;;;;;;OAQG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,SAAS,CAAC;IAyCrB;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,GACD,OAAO,CAAC,SAAS,EAAE,CAAC;CAKxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,mBAAmB,GACvC,YAAY,CAEd"}
1
+ {"version":3,"file":"s3-batch-store.d.ts","sourceRoot":"","sources":["../../../src/service/s3-batch-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA4D,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG7G,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAGzB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,OAAO,EAAE,OAAO,EAAE,CAAC;IAEnB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAGvD,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,mBAAmB;IAO1C;;;;;;;;OAQG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,SAAS,CAAC;IAyCrB;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,GACD,OAAO,CAAC,SAAS,EAAE,CAAC;IAMvB;;;OAGG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA8BrF;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CASrD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,mBAAmB,GACvC,YAAY,CAEd"}
@@ -4,18 +4,10 @@
4
4
  * Uploads sync batches to S3 after each debounced sync operation,
5
5
  * providing durability and enabling disaster recovery.
6
6
  */
7
- import { PutObjectCommand } from '@aws-sdk/client-s3';
7
+ import { GetObjectCommand, ListObjectsV2Command, PutObjectCommand } from '@aws-sdk/client-s3';
8
8
  import { randomUUID } from 'node:crypto';
9
9
  import { serviceLog } from '../common/logger.js';
10
- import { buildBatchKey, } from './s3-config.js';
11
- /**
12
- * Default storage path resolver - sanitizes databaseId for use as S3 path.
13
- * Replaces colons with slashes for hierarchical structure.
14
- */
15
- function defaultStoragePathResolver(databaseId) {
16
- // Replace : with / for hierarchical structure, sanitize other chars
17
- return databaseId.replace(/:/g, '/').replace(/[^a-zA-Z0-9/_-]/g, '_');
18
- }
10
+ import { buildBatchKey, defaultStoragePathResolver, } from './s3-config.js';
19
11
  /**
20
12
  * S3 Batch Store for durable sync batch storage.
21
13
  */
@@ -79,6 +71,46 @@ export class S3BatchStore {
79
71
  async storeBatches(batches) {
80
72
  return Promise.all(batches.map(b => this.storeBatch(b.databaseId, b.clientId, b.changes, b.metadata)));
81
73
  }
74
+ /**
75
+ * List batch keys stored after a given timestamp.
76
+ * Returns S3 keys in chronological order.
77
+ */
78
+ async listBatchesSince(databaseId, sinceTimestamp) {
79
+ const storagePath = this.resolveStoragePath(databaseId);
80
+ const prefix = this.config.keyPrefix ?? '';
81
+ const listPrefix = `${prefix}${storagePath}/batches/`;
82
+ // Normalize timestamp to match key format (colons/dots → hyphens)
83
+ const normalizedTimestamp = sinceTimestamp.replace(/[:.]/g, '-');
84
+ const startAfter = `${listPrefix}${normalizedTimestamp}`;
85
+ const keys = [];
86
+ let continuationToken;
87
+ do {
88
+ const response = await this.client.send(new ListObjectsV2Command({
89
+ Bucket: this.config.bucket,
90
+ Prefix: listPrefix,
91
+ StartAfter: startAfter,
92
+ ContinuationToken: continuationToken,
93
+ }));
94
+ for (const obj of response.Contents ?? []) {
95
+ if (obj.Key)
96
+ keys.push(obj.Key);
97
+ }
98
+ continuationToken = response.NextContinuationToken;
99
+ } while (continuationToken);
100
+ serviceLog('Listed %d batches since %s for %s', keys.length, sinceTimestamp, databaseId);
101
+ return keys;
102
+ }
103
+ /**
104
+ * Download and parse a batch by its S3 key.
105
+ */
106
+ async downloadBatch(key) {
107
+ const response = await this.client.send(new GetObjectCommand({
108
+ Bucket: this.config.bucket,
109
+ Key: key,
110
+ }));
111
+ const body = await response.Body.transformToString();
112
+ return JSON.parse(body);
113
+ }
82
114
  }
83
115
  /**
84
116
  * Create an S3 batch store from configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"s3-batch-store.js","sourceRoot":"","sources":["../../../src/service/s3-batch-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3-batch-store.js","sourceRoot":"","sources":["../../../src/service/s3-batch-store.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,16 @@ export interface S3StorageConfig {
43
43
  * Create an S3 client from configuration.
44
44
  */
45
45
  export declare function createS3Client(config: S3StorageConfig): S3Client;
46
+ /**
47
+ * Function to resolve a database ID to a storage path for S3 keys.
48
+ * Default implementation uses the databaseId directly (with sanitization).
49
+ */
50
+ export type StoragePathResolver = (databaseId: string) => string;
51
+ /**
52
+ * Default storage path resolver - sanitizes databaseId for use as S3 path.
53
+ * Replaces colons with slashes for hierarchical structure.
54
+ */
55
+ export declare function defaultStoragePathResolver(databaseId: string): string;
46
56
  /**
47
57
  * Build the S3 key for a sync batch.
48
58
  *
@@ -1 +1 @@
1
- {"version":3,"file":"s3-config.d.ts","sourceRoot":"","sources":["../../../src/service/s3-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAuB,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAkBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAKR;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,SAAS,CA+BlE"}
1
+ {"version":3,"file":"s3-config.d.ts","sourceRoot":"","sources":["../../../src/service/s3-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAuB,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAkBhE;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAKR;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,SAAS,CA+BlE"}
@@ -22,6 +22,13 @@ export function createS3Client(config) {
22
22
  }
23
23
  return new S3Client(clientConfig);
24
24
  }
25
+ /**
26
+ * Default storage path resolver - sanitizes databaseId for use as S3 path.
27
+ * Replaces colons with slashes for hierarchical structure.
28
+ */
29
+ export function defaultStoragePathResolver(databaseId) {
30
+ return databaseId.replace(/:/g, '/').replace(/[^a-zA-Z0-9/_-]/g, '_');
31
+ }
25
32
  /**
26
33
  * Build the S3 key for a sync batch.
27
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"s3-config.js","sourceRoot":"","sources":["../../../src/service/s3-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAuB,MAAM,oBAAoB,CAAC;AA2CnE;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,MAAM,YAAY,GAAmB;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,YAAY,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAChD,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAuB,EACvB,WAAmB,EACnB,OAAe,EACf,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACtC,iEAAiE;IACjE,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,GAAG,MAAM,GAAG,WAAW,YAAY,eAAe,IAAI,OAAO,OAAO,CAAC;AAC9E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAuB,EACvB,WAAmB,EACnB,UAAkB,EAClB,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,GAAG,MAAM,GAAG,WAAW,cAAc,eAAe,IAAI,UAAU,OAAO,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAoB;QAC9B,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,WAAW;KAC7C,CAAC;IAEF,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrE,MAAM,CAAC,WAAW,GAAG;YACnB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACzC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;SAClD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"s3-config.js","sourceRoot":"","sources":["../../../src/service/s3-config.ts"],"names":[],"mappings":"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"}