@quereus/sync 4.5.0 → 4.7.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 (57) hide show
  1. package/README.md +14 -6
  2. package/dist/src/index.d.ts +1 -1
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +1 -1
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/metadata/column-version.d.ts.map +1 -1
  7. package/dist/src/metadata/column-version.js +8 -9
  8. package/dist/src/metadata/column-version.js.map +1 -1
  9. package/dist/src/metadata/keys.d.ts +99 -39
  10. package/dist/src/metadata/keys.d.ts.map +1 -1
  11. package/dist/src/metadata/keys.js +213 -158
  12. package/dist/src/metadata/keys.js.map +1 -1
  13. package/dist/src/metadata/pk-identity.d.ts +19 -14
  14. package/dist/src/metadata/pk-identity.d.ts.map +1 -1
  15. package/dist/src/metadata/pk-identity.js +21 -28
  16. package/dist/src/metadata/pk-identity.js.map +1 -1
  17. package/dist/src/metadata/schema-migration.d.ts +33 -10
  18. package/dist/src/metadata/schema-migration.d.ts.map +1 -1
  19. package/dist/src/metadata/schema-migration.js +77 -18
  20. package/dist/src/metadata/schema-migration.js.map +1 -1
  21. package/dist/src/sync/change-applicator.d.ts +19 -3
  22. package/dist/src/sync/change-applicator.d.ts.map +1 -1
  23. package/dist/src/sync/change-applicator.js +253 -63
  24. package/dist/src/sync/change-applicator.js.map +1 -1
  25. package/dist/src/sync/maintenance.d.ts +8 -5
  26. package/dist/src/sync/maintenance.d.ts.map +1 -1
  27. package/dist/src/sync/maintenance.js +7 -4
  28. package/dist/src/sync/maintenance.js.map +1 -1
  29. package/dist/src/sync/manager.d.ts +46 -1
  30. package/dist/src/sync/manager.d.ts.map +1 -1
  31. package/dist/src/sync/protocol.d.ts +42 -3
  32. package/dist/src/sync/protocol.d.ts.map +1 -1
  33. package/dist/src/sync/protocol.js +40 -0
  34. package/dist/src/sync/protocol.js.map +1 -1
  35. package/dist/src/sync/snapshot-identity.d.ts.map +1 -1
  36. package/dist/src/sync/snapshot-identity.js +1 -9
  37. package/dist/src/sync/snapshot-identity.js.map +1 -1
  38. package/dist/src/sync/snapshot-stream.d.ts +11 -0
  39. package/dist/src/sync/snapshot-stream.d.ts.map +1 -1
  40. package/dist/src/sync/snapshot-stream.js +134 -67
  41. package/dist/src/sync/snapshot-stream.js.map +1 -1
  42. package/dist/src/sync/snapshot.d.ts.map +1 -1
  43. package/dist/src/sync/snapshot.js +15 -30
  44. package/dist/src/sync/snapshot.js.map +1 -1
  45. package/dist/src/sync/store-adapter.d.ts +5 -4
  46. package/dist/src/sync/store-adapter.d.ts.map +1 -1
  47. package/dist/src/sync/store-adapter.js +328 -108
  48. package/dist/src/sync/store-adapter.js.map +1 -1
  49. package/dist/src/sync/sync-manager-impl.d.ts +37 -4
  50. package/dist/src/sync/sync-manager-impl.d.ts.map +1 -1
  51. package/dist/src/sync/sync-manager-impl.js +110 -56
  52. package/dist/src/sync/sync-manager-impl.js.map +1 -1
  53. package/dist/src/sync/wire.d.ts +6 -0
  54. package/dist/src/sync/wire.d.ts.map +1 -1
  55. package/dist/src/sync/wire.js +3 -0
  56. package/dist/src/sync/wire.js.map +1 -1
  57. package/package.json +7 -7
package/README.md CHANGED
@@ -119,14 +119,22 @@ await syncManager.applySnapshot(snapshot);
119
119
  Streaming snapshots support checkpoint-based resumption:
120
120
 
121
121
  ```typescript
122
- // Save checkpoint during long snapshot transfers
123
- const checkpoint = await syncManager.getSnapshotCheckpoint(snapshotId);
122
+ // After a restart the snapshotId is gone (it only ever arrived in the header
123
+ // chunk), so discover any interrupted transfer instead. A non-empty list means
124
+ // this replica's data is PARTIAL — an apply cleared local metadata and never
125
+ // reached its footer.
126
+ const [checkpoint] = await syncManager.listSnapshotCheckpoints();
127
+
128
+ // Or look one up directly, when the id is still in hand
129
+ // const checkpoint = await syncManager.getSnapshotCheckpoint(snapshotId);
124
130
 
125
- // Resume from where we left off
126
131
  if (checkpoint) {
132
+ // Resume from where we left off...
127
133
  for await (const chunk of syncManager.resumeSnapshotStream(checkpoint)) {
128
134
  sendToPeer(chunk);
129
135
  }
136
+ // ...or abandon a transfer that will not be resumed:
137
+ // await syncManager.clearSnapshotCheckpoint(checkpoint.snapshotId);
130
138
  }
131
139
  ```
132
140
 
@@ -180,9 +188,9 @@ This means concurrent updates to *different* columns of the same row both apply,
180
188
 
181
189
  ### Maintenance Exports
182
190
 
183
- The four housekeeping sweeps (`drainHeldChanges` / `pruneQuarantine` / `pruneTombstones` / `evictExpiredBasisTables`) are methods on `SyncManager`; this package deliberately schedules none of them — the host arms the timer. What it does ship is the *shape* of one pass, so every host runs the same semantics:
191
+ The five housekeeping sweeps (`drainHeldChanges` / `pruneQuarantine` / `pruneTombstones` / `repairChangeLog` / `evictExpiredBasisTables`) are methods on `SyncManager`; this package deliberately schedules none of them — the host arms the timer. What it does ship is the *shape* of one pass, so every host runs the same semantics:
184
192
 
185
- - `runSyncMaintenancePass(target, log)` - Runs all four sweeps in drain-before-prune order. Each sweep is error-isolated (a throw is reported to `log` and the remaining sweeps still run); the pass never rejects
193
+ - `runSyncMaintenancePass(target, log)` - Runs all five sweeps in drain-before-prune order. Each sweep is error-isolated (a throw is reported to `log` and the remaining sweeps still run); the pass never rejects
186
194
  - `createSyncMaintenanceTicker(getTarget, log)` - Wraps the pass with the single-flight and null-target guards a timer needs. The collapsed tick resolves immediately rather than joining the running pass — a host that must *await* the in-flight pass (to close stores at shutdown) should hold the pass promise itself
187
195
  - `SYNC_MAINTENANCE_INTERVAL_MS` - Suggested cadence (5 minutes), sized for the one latency-sensitive sweep (`drainHeldChanges`). A host where that sweep is inert — a relay with no `getTableSchema` oracle — is free to run slower
188
196
  - `SyncMaintenanceTarget` / `MaintenanceLogger` - The structural slice of `SyncManager` the pass calls, and the failure-reporting callback
@@ -199,7 +207,7 @@ The four housekeeping sweeps (`drainHeldChanges` / `pruneQuarantine` / `pruneTom
199
207
  - `ChangeSet` - Collection of changes from one transaction
200
208
  - `Change` (`ColumnChange | RowDeletion`) - Single column or row change
201
209
  - `SchemaMigration` - Schema change (CREATE/ALTER/DROP TABLE)
202
- - `SnapshotChunk` - Streaming snapshot data, in emission order: header, schema-migration, table-start, column-versions, table-end, tombstone, footer. All DDL precedes all table data — see docs/sync.md § Streaming Snapshot API
210
+ - `SnapshotChunk` - Streaming snapshot data, in emission order: header, schema-migration, table-start, column-versions, table-end, tombstone, footer. All DDL precedes all table data — see docs/sync-protocol.md § Streaming Snapshot API
203
211
  - `ApplyResult` - Result of applying changes (applied, skipped, conflicts, transactions)
204
212
  - `SyncConfig` / `DEFAULT_SYNC_CONFIG` - Configuration (retentionHorizonMs, allowResurrection, etc.)
205
213
 
@@ -20,7 +20,7 @@
20
20
  * const { syncManager, syncEvents } = await createSyncModule(kv, { transactionSource: db });
21
21
  */
22
22
  export { type HLC, HLCManager, compareHLC, hlcEquals, maxHLC, createHLC, deterministicTxnId, MAX_OPSEQ, serializeHLC, deserializeHLC, type SerializedHLC, hlcToJson, hlcFromJson, type SiteId, generateSiteId, siteIdToBase64, siteIdFromBase64, toBase64Url, fromBase64Url, siteIdEquals, type SiteIdentity, serializeSiteIdentity, deserializeSiteIdentity, SITE_ID_KEY, } from './clock/index.js';
23
- export { type ColumnChange, type RowDeletion, type Change, type SchemaMigrationType, type SchemaMigration, type ChangeSet, type ApplyRejection, type ApplyResult, type ColumnVersionEntry, type TableSnapshot, type Snapshot, type SnapshotTombstone, type PeerSyncState, SNAPSHOT_WIRE_FORMAT_VERSION, type SnapshotChunkType, type SnapshotHeaderChunk, type SnapshotTableStartChunk, type SnapshotColumnVersionsChunk, type SnapshotTableEndChunk, type SnapshotSchemaMigrationChunk, type SnapshotFooterChunk, type SnapshotChunk, type SnapshotProgress, type ApplyToStoreOptions, type DataChangeToApply, type SchemaChangeToApply, type ApplyToStoreResult, type ApplyToStoreCallback, type ConflictContext, type ConflictResolution, type ConflictResolver, type UnknownTableDisposition, type BasisEvictionConfig, type DropLocalTableCallback, type SyncConfig, DEFAULT_SYNC_CONFIG, } from './sync/protocol.js';
23
+ export { type ColumnChange, type RowDeletion, type Change, type SchemaMigrationType, type SchemaObjectKind, migrationObjectKind, type SchemaMigration, type ChangeSet, type ApplyRejection, type ApplyResult, type ColumnVersionEntry, type TableSnapshot, type Snapshot, type SnapshotTombstone, type PeerSyncState, SNAPSHOT_WIRE_FORMAT_VERSION, type SnapshotChunkType, type SnapshotHeaderChunk, type SnapshotTableStartChunk, type SnapshotColumnVersionsChunk, type SnapshotTableEndChunk, type SnapshotSchemaMigrationChunk, type SnapshotFooterChunk, type SnapshotChunk, type SnapshotProgress, type ApplyToStoreOptions, type DataChangeToApply, type SchemaChangeToApply, type ApplyToStoreResult, type ApplyToStoreCallback, type ConflictContext, type ConflictResolution, type ConflictResolver, type UnknownTableDisposition, type BasisEvictionConfig, type DropLocalTableCallback, type SyncConfig, DEFAULT_SYNC_CONFIG, } from './sync/protocol.js';
24
24
  export { PROTOCOL_VERSION, bytesToBase64, base64ToBytes, serializeHLCForTransport, deserializeHLCFromTransport, type SerializedChangeSet, type SerializedChange, type SerializedSchemaMigration, type SerializedSnapshotChunk, type SerializedSnapshotHeaderChunk, type SerializedSnapshotTableStartChunk, type SerializedSnapshotColumnVersionsChunk, type SerializedSnapshotTombstoneChunk, type SerializedSnapshotTableEndChunk, type SerializedSnapshotSchemaMigrationChunk, type SerializedSnapshotFooterChunk, type SerializedSnapshotCheckpoint, serializeChangeSet, deserializeChangeSet, serializeSnapshotChunk, deserializeSnapshotChunk, serializeSnapshotCheckpoint, deserializeSnapshotCheckpoint, type ClientMessage, type HandshakeMessage, type GetChangesMessage, type ApplyChangesMessage, type GetSnapshotMessage, type ResumeSnapshotMessage, type PingMessage, type ServerMessage, type HandshakeAckMessage, type ChangesMessage, type PushChangesMessage, type ApplyResultMessage, type SnapshotChunkMessage, type SnapshotCompleteMessage, type RequestChangesMessage, type ErrorMessage, type PongMessage, } from './sync/wire.js';
25
25
  export { SYNC_MAINTENANCE_INTERVAL_MS, type SyncMaintenanceTarget, type MaintenanceLogger, runSyncMaintenancePass, createSyncMaintenanceTicker, } from './sync/maintenance.js';
26
26
  export { lwwResolver, localWinsResolver, remoteWinsResolver, } from './sync/conflict-resolvers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -24,7 +24,7 @@ export { HLCManager, compareHLC, hlcEquals, maxHLC, createHLC, deterministicTxnI
24
24
  // Base64url encoding
25
25
  siteIdToBase64, siteIdFromBase64, toBase64Url, fromBase64Url, siteIdEquals, serializeSiteIdentity, deserializeSiteIdentity, SITE_ID_KEY, } from './clock/index.js';
26
26
  // Sync protocol types
27
- export {
27
+ export { migrationObjectKind,
28
28
  // Snapshot wire-format gate (both apply paths refuse a mismatched stamp)
29
29
  SNAPSHOT_WIRE_FORMAT_VERSION, DEFAULT_SYNC_CONFIG, } from './sync/protocol.js';
30
30
  // Wire protocol - shared transport/JSON layer (base64 helpers, Serialized* types,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAe;AACf,OAAO,EAGL,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,cAAc,EAGd,SAAS,EACT,WAAW,EAGX,cAAc;AACd,qBAAqB;AACrB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,YAAY,EAEZ,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,sBAAsB;AACtB,OAAO;AAkBL,yEAAyE;AACzE,4BAA4B,EA4B5B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,kFAAkF;AAClF,kFAAkF;AAClF,mDAAmD;AACnD,OAAO;AACL,UAAU;AACV,gBAAgB;AAChB,iCAAiC;AACjC,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,2BAA2B;AAc3B,kBAAkB;AAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,GAmB9B,MAAM,gBAAgB,CAAC;AAExB,8EAA8E;AAC9E,6EAA6E;AAC7E,iCAAiC;AACjC,OAAO,EACL,4BAA4B,EAG5B,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,8BAA8B;AAC9B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,4CAA4C;AAC5C,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAE3F,uEAAuE;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,mBAAmB;AACnB,OAAO,EACL,gBAAgB,GAKjB,MAAM,yBAAyB,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EAYL,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,mBAAmB;AACnB,OAAO;AACL,eAAe;AACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACxB,8BAA8B,EAI9B,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAI5B,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB;AACxB,mEAAmE;AACnE,cAAc,EACd,cAAc,EAGd,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EAGpB,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,EAKzB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,gCAAgC,EAGhC,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EAKpB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB;AACrB,wBAAwB;AACxB,kBAAkB,EAClB,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAe;AACf,OAAO,EAGL,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,cAAc,EAGd,SAAS,EACT,WAAW,EAGX,cAAc;AACd,qBAAqB;AACrB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,YAAY,EAEZ,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,sBAAsB;AACtB,OAAO,EAQL,mBAAmB;AAYnB,yEAAyE;AACzE,4BAA4B,EA4B5B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,kFAAkF;AAClF,kFAAkF;AAClF,mDAAmD;AACnD,OAAO;AACL,UAAU;AACV,gBAAgB;AAChB,iCAAiC;AACjC,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,2BAA2B;AAc3B,kBAAkB;AAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,GAmB9B,MAAM,gBAAgB,CAAC;AAExB,8EAA8E;AAC9E,6EAA6E;AAC7E,iCAAiC;AACjC,OAAO,EACL,4BAA4B,EAG5B,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,8BAA8B;AAC9B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,4CAA4C;AAC5C,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAE3F,uEAAuE;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,mBAAmB;AACnB,OAAO,EACL,gBAAgB,GAKjB,MAAM,yBAAyB,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EAYL,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,mBAAmB;AACnB,OAAO;AACL,eAAe;AACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACxB,8BAA8B,EAI9B,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAI5B,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB;AACxB,mEAAmE;AACnE,cAAc,EACd,cAAc,EAGd,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EAGpB,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,EAKzB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,gCAAgC,EAGhC,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EAKpB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB;AACrB,wBAAwB;AACxB,kBAAkB,EAClB,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"column-version.d.ts","sourceRoot":"","sources":["../../../src/metadata/column-version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column-version.d.ts","sourceRoot":"","sources":["../../../src/metadata/column-version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,KAAK,GAAG,EAAwF,MAAM,iBAAiB,CAAC;AAEjI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,QAAQ,CAAC;IAChB,EAAE,EAAE,QAAQ,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAe1D;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,UAAU,CAgBpE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAS1E;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAUnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CA2BnD;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,gBAAgB;IAG3C,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,EAAE,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAIrC;;;OAGG;IACG,0BAA0B,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAOrC;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,EAAE,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;OAMG;IACH,qBAAqB,CACnB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,EAAE,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAKP;;OAEG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,EAAE,GACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAkBtC;;;;;OAKG;IACH,wBAAwB,CACtB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,EAAE,EACd,MAAM,EAAE,MAAM,GACb,IAAI;IAIP;;;;;;;;;;;;;;;OAeG;IACG,sBAAsB,CAC1B,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,EAAE,EACd,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAChC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAatC;;;OAGG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,EAAE,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB"}
@@ -5,7 +5,7 @@
5
5
  * When merging changes, the column with the higher HLC wins.
6
6
  */
7
7
  import { serializeHLC, deserializeHLC, compareHLC, hlcToJson, hlcFromJson } from '../clock/hlc.js';
8
- import { buildColumnVersionKey, buildColumnVersionRowPrefix, buildColumnVersionScanBounds, encodePkIdentity } from './keys.js';
8
+ import { buildColumnVersionKey, buildColumnVersionScanBounds, encodePkIdentity, parseColumnVersionKey } from './keys.js';
9
9
  /**
10
10
  * Serialize a column version for storage.
11
11
  * Format: 30 bytes HLC + JSON payload `{ v, k, pv?, ph? }`.
@@ -160,16 +160,15 @@ export class ColumnVersionStore {
160
160
  async getRowVersions(schemaName, tableName, pk) {
161
161
  const identity = this.identity(schemaName, tableName, pk);
162
162
  const bounds = buildColumnVersionScanBounds(schemaName, tableName, identity);
163
- const prefix = buildColumnVersionRowPrefix(schemaName, tableName, identity);
164
- const decoder = new TextDecoder();
165
163
  const versions = new Map();
166
164
  for await (const entry of this.kv.iterate(bounds)) {
167
- // The scan bounds are exactly [prefix, prefix+1), so every key here starts
168
- // with `prefix` and everything after it is the column name verbatim —
169
- // including a name containing `:`, which a last-colon split would truncate.
170
- const keyStr = decoder.decode(entry.key);
171
- const column = keyStr.slice(prefix.length);
172
- versions.set(column, deserializeColumnVersion(entry.value));
165
+ // Every key component is length-prefixed, so the column name comes back
166
+ // verbatim even when it (or the table name, or the identity) contains
167
+ // `:` or `.` — see `metadata/keys.ts`.
168
+ const parsed = parseColumnVersionKey(entry.key);
169
+ if (!parsed)
170
+ continue;
171
+ versions.set(parsed.column, deserializeColumnVersion(entry.value));
173
172
  }
174
173
  return versions;
175
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"column-version.js","sourceRoot":"","sources":["../../../src/metadata/column-version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column-version.js","sourceRoot":"","sources":["../../../src/metadata/column-version.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,19 @@
7
7
  * tx: - Transaction records
8
8
  * ps: - Peer sync state (received watermark: highest HLC pulled from a peer)
9
9
  * pt: - Peer sent state (sent watermark: highest HLC pushed to a peer and acked)
10
- * sm: - Schema migrations
10
+ * sm: - Schema migrations (keyed by object KIND as well as name — see buildSchemaMigrationKey)
11
11
  * si: - Site identity
12
12
  * hc: - HLC clock state
13
13
  * cl: - Change log (HLC-indexed for efficient delta queries)
14
14
  * qt: - Quarantine (held out-of-basis straggler changes)
15
15
  * bl: - Basis-table lifecycle (mapped/derivation-source/unreferenced/detached bookkeeping)
16
16
  * fv: - Sync-metadata format version (single record; see SYNC_METADATA_FORMAT_VERSION)
17
+ * sc: - Snapshot checkpoints (resume position of an interrupted streaming snapshot apply)
17
18
  */
18
19
  import type { SqlValue } from '@quereus/quereus';
19
20
  import { type SiteId } from '../clock/site.js';
20
21
  import type { HLC } from '../clock/hlc.js';
22
+ import type { SchemaObjectKind } from '../sync/protocol.js';
21
23
  /** Key prefix bytes for sync metadata. */
22
24
  export declare const SYNC_KEY_PREFIX: {
23
25
  readonly COLUMN_VERSION: Uint8Array<ArrayBuffer>;
@@ -32,18 +34,54 @@ export declare const SYNC_KEY_PREFIX: {
32
34
  readonly QUARANTINE: Uint8Array<ArrayBuffer>;
33
35
  readonly BASIS_LIFECYCLE: Uint8Array<ArrayBuffer>;
34
36
  readonly FORMAT_VERSION: Uint8Array<ArrayBuffer>;
37
+ readonly SNAPSHOT_CHECKPOINT: Uint8Array<ArrayBuffer>;
35
38
  };
36
39
  /**
37
40
  * Current sync-metadata storage format version, persisted under the `fv:` key.
38
41
  *
42
+ * Version 5: schema migration RECORDS (`sm:` values) carry a length-prefixed
43
+ * `fromTable` slot between the migration type and the DDL (see
44
+ * `metadata/schema-migration.ts`), so a `rename_table` migration can name the
45
+ * table it renamed. The DDL was previously "rest of buffer", so the slot could
46
+ * not be appended — version-4 records are unreadable under this layout.
47
+ *
48
+ * Version 4: schema migration keys (`sm:`) carry the object KIND (`table` /
49
+ * `index`) alongside the object name, so a table and a same-named index no
50
+ * longer share one version counter and suppress each other's migrations
51
+ * (version 3 keyed only `(schema, name)`).
52
+ *
53
+ * Version 3: EVERY variable-length key component — schema, table, pk identity,
54
+ * column — is length-prefixed via {@link joinKeyParts}, so no character is
55
+ * reserved as a delimiter and a name containing `:` or `.` cannot shift the
56
+ * split (version 2 packed schema/table as `{schema}.{table}:`, which mis-parsed
57
+ * a table named `a:b` as table `a`) — retained in version 4.
58
+ *
39
59
  * Version 2: per-row records (`cv:`/`tb:`/`cl:`) are keyed by the pk IDENTITY
40
60
  * (collation- and semantic-transform-normalized, via {@link encodePkIdentity})
41
- * and carry the raw pk in the record VALUE. Version-1 metadata (raw
42
- * `JSON.stringify(pk)` keys, no pk in values) is unreadable under this layout;
43
- * a replica whose stored version mismatches must re-bootstrap from a peer
44
- * snapshot (see docs/sync.md § Metadata format version).
61
+ * and carry the raw pk in the record VALUE — retained since.
62
+ *
63
+ * Older metadata is unreadable under this layout; a replica whose stored version
64
+ * mismatches must re-bootstrap from a peer snapshot (see docs/sync.md
65
+ * § Metadata format version).
45
66
  */
46
- export declare const SYNC_METADATA_FORMAT_VERSION = 2;
67
+ export declare const SYNC_METADATA_FORMAT_VERSION = 5;
68
+ /**
69
+ * Join variable-length key components, each prefixed with its own length in
70
+ * string code units: `{len}:{part}{len}:{part}…`.
71
+ *
72
+ * This is the ONLY encoding used for schema names, table names, pk identities
73
+ * and column names in metadata keys. Every one of those is arbitrary text — a
74
+ * quoted SQL identifier may contain `.` or `:`, and a pk identity freely
75
+ * contains `:` (type tags) and `\0` (member separator) — so no separator
76
+ * character can be reserved, and an explicit length is the only split that
77
+ * cannot shift. Two distinct component tuples can therefore never produce the
78
+ * same key.
79
+ *
80
+ * The length is in code units of the DECODED key string, which the byte
81
+ * encoding preserves: `TextEncoder` folds an unpaired surrogate to U+FFFD, one
82
+ * code unit for one code unit, and paired surrogates survive intact.
83
+ */
84
+ export declare function joinKeyParts(...parts: string[]): string;
47
85
  /**
48
86
  * Per-pk-column normalization for one table, resolved once from its schema
49
87
  * (see `metadata/pk-identity.ts`). Mirrors the engine's row-identity rule:
@@ -79,18 +117,14 @@ export declare function encodePkIdentity(pk: SqlValue[], keying: PkKeying): stri
79
117
  export declare function encodeRawPkIdentity(pk: SqlValue[]): string;
80
118
  /**
81
119
  * Build a column version key.
82
- * Format: cv:{schema}.{table}:{identity_length}:{identity}:{column}
120
+ * Format: cv:{n}:{schema}{n}:{table}{n}:{identity}{n}:{column}
83
121
  *
84
- * The identity is LENGTH-PREFIXED (code units of the decoded key string) because
85
- * it freely contains `:` (type tags) and `\0` (member separator) — no separator
86
- * character is guaranteed absent, so an explicit length is the only unambiguous
87
- * split between identity and column.
122
+ * Every component is length-prefixed — see {@link joinKeyParts}.
88
123
  */
89
124
  export declare function buildColumnVersionKey(schemaName: string, tableName: string, identity: string, column: string): Uint8Array;
90
125
  /**
91
126
  * Build a tombstone key.
92
- * Format: tb:{schema}.{table}:{identity}
93
- * (No length prefix — the identity is the final component.)
127
+ * Format: tb:{n}:{schema}{n}:{table}{n}:{identity}
94
128
  */
95
129
  export declare function buildTombstoneKey(schemaName: string, tableName: string, identity: string): Uint8Array;
96
130
  /**
@@ -117,30 +151,29 @@ export declare function buildPeerSentStateKey(siteId: SiteId): Uint8Array;
117
151
  export declare function parsePeerStateKey(key: Uint8Array): SiteId | null;
118
152
  /**
119
153
  * Build a schema migration key.
120
- * Format: sm:{schema}.{table}:{version}
154
+ * Format: sm:{n}:{schema}{n}:{kind}{n}:{object}{version_padded_10}
155
+ *
156
+ * `kind` distinguishes the two things `objectName` can be: for an index
157
+ * migration it is the INDEX name, for every other migration type the TABLE name.
158
+ * Without it a table `orders` and an index `orders` share one version counter,
159
+ * and a concurrent migration of one silently suppresses the other on the
160
+ * receiving replica.
161
+ *
162
+ * The version is fixed-width zero-padded (not length-prefixed) so migrations of
163
+ * one object sort by version within that object's prefix.
121
164
  */
122
- export declare function buildSchemaMigrationKey(schemaName: string, tableName: string, version: number): Uint8Array;
165
+ export declare function buildSchemaMigrationKey(schemaName: string, kind: SchemaObjectKind, objectName: string, version: number): Uint8Array;
123
166
  /**
124
167
  * Build scan bounds for all column versions of a table.
125
- * Returns keys to scan cv:{schema}.{table}:*
168
+ * Returns keys to scan cv:{n}:{schema}{n}:{table}*
126
169
  */
127
170
  export declare function buildTableColumnVersionScanBounds(schemaName: string, tableName: string): {
128
171
  gte: Uint8Array;
129
172
  lt: Uint8Array;
130
173
  };
131
- /**
132
- * The key prefix shared by every column version of one row:
133
- * `cv:{schema}.{table}:{identity_length}:{identity}:`.
134
- *
135
- * Exported so a row scan can recover each entry's column name by stripping this
136
- * exact prefix, rather than splitting the key at its last `:` — the column name
137
- * is the only unbounded, separator-bearing component, so only the prefix is
138
- * unambiguous (see {@link parseColumnVersionKey}, which has no pk to anchor on).
139
- */
140
- export declare function buildColumnVersionRowPrefix(schemaName: string, tableName: string, identity: string): string;
141
174
  /**
142
175
  * Build scan bounds for all column versions of a row.
143
- * Returns keys to scan cv:{schema}.{table}:{identity_length}:{identity}:*
176
+ * Returns keys to scan cv:{n}:{schema}{n}:{table}{n}:{identity}*
144
177
  */
145
178
  export declare function buildColumnVersionScanBounds(schemaName: string, tableName: string, identity: string): {
146
179
  gte: Uint8Array;
@@ -154,9 +187,10 @@ export declare function buildTombstoneScanBounds(schemaName: string, tableName:
154
187
  lt: Uint8Array;
155
188
  };
156
189
  /**
157
- * Build scan bounds for all schema migrations of a table.
190
+ * Build scan bounds for all schema migrations of one object — a table's or an
191
+ * index's, per `kind`. A table and a same-named index have disjoint bounds.
158
192
  */
159
- export declare function buildSchemaMigrationScanBounds(schemaName: string, tableName: string): {
193
+ export declare function buildSchemaMigrationScanBounds(schemaName: string, kind: SchemaObjectKind, objectName: string): {
160
194
  gte: Uint8Array;
161
195
  lt: Uint8Array;
162
196
  };
@@ -183,12 +217,12 @@ export declare function buildAllSchemaMigrationsScanBounds(): {
183
217
  };
184
218
  /**
185
219
  * Parse a column version key to extract components.
186
- * Key format: cv:{schema}.{table}:{identity_length}:{identity}:{column}
220
+ * Key format: cv:{n}:{schema}{n}:{table}{n}:{identity}{n}:{column}
187
221
  *
188
222
  * Returns the pk IDENTITY string — the identity is lossy and cannot be decoded
189
223
  * back to values; the raw pk lives in the record VALUE (`ColumnVersion.pk`).
190
- * The length prefix makes the identity/column split unambiguous regardless of
191
- * what characters either contains.
224
+ * The per-component length prefixes make every split unambiguous regardless of
225
+ * what characters any component contains.
192
226
  */
193
227
  export declare function parseColumnVersionKey(key: Uint8Array): {
194
228
  schema: string;
@@ -198,7 +232,7 @@ export declare function parseColumnVersionKey(key: Uint8Array): {
198
232
  } | null;
199
233
  /**
200
234
  * Parse a tombstone key to extract components.
201
- * Key format: tb:{schema}.{table}:{identity}
235
+ * Key format: tb:{n}:{schema}{n}:{table}{n}:{identity}
202
236
  *
203
237
  * Returns the pk IDENTITY string; the raw pk lives in the record VALUE
204
238
  * (`Tombstone.pk`).
@@ -210,10 +244,14 @@ export declare function parseTombstoneKey(key: Uint8Array): {
210
244
  } | null;
211
245
  /**
212
246
  * Parse a schema migration key to extract components.
213
- * Key format: sm:{schema}.{table}:{version}
247
+ * Key format: sm:{n}:{schema}{n}:{kind}{n}:{object}{version_padded_10}
248
+ *
249
+ * `table` carries the object name whatever its kind — for an `index` key it is
250
+ * the index name, not the table the index is on (which the key never held).
214
251
  */
215
252
  export declare function parseSchemaMigrationKey(key: Uint8Array): {
216
253
  schema: string;
254
+ kind: SchemaObjectKind;
217
255
  table: string;
218
256
  version: number;
219
257
  } | null;
@@ -233,11 +271,11 @@ export declare function serializeHLCForKey(hlc: HLC): Uint8Array;
233
271
  export declare function deserializeHLCFromKey(buffer: Uint8Array): HLC;
234
272
  /**
235
273
  * Build a change log key.
236
- * Format: cl:{hlc_bytes}{type_byte}{schema}.{table}:{identity_length}:{identity}[:{column}]
274
+ * Format: cl:{hlc_bytes}{type_byte}{n}:{schema}{n}:{table}{n}:{identity}[{n}:{column}]
237
275
  *
238
276
  * The HLC comes first to enable efficient range scans by time.
239
277
  * type_byte: 0x01 for column change, 0x02 for delete
240
- * The identity is length-prefixed for the same reason as {@link buildColumnVersionKey}.
278
+ * Every text component is length-prefixed — see {@link joinKeyParts}.
241
279
  */
242
280
  export declare function buildChangeLogKey(hlc: HLC, entryType: ChangeLogEntryType, schemaName: string, tableName: string, identity: string, column?: string): Uint8Array;
243
281
  /**
@@ -268,7 +306,7 @@ export declare function parseChangeLogKey(key: Uint8Array): {
268
306
  } | null;
269
307
  /**
270
308
  * Build a quarantine key for a held out-of-basis straggler change.
271
- * Format: qt:{schema}.{table}: + hlc_bytes(30) + type_byte(1) + :{raw_identity}[:{column}]
309
+ * Format: qt:{n}:{schema}{n}:{table} + hlc_bytes(30) + type_byte(1) + {n}:{raw_identity}[{n}:{column}]
272
310
  *
273
311
  * Unlike the change log (`cl:`), the table prefix comes BEFORE the HLC so the
274
312
  * range scans by `(schema, table)` for operator inspection. The HLC + type + pk
@@ -288,7 +326,9 @@ export declare function buildQuarantineKey(schemaName: string, tableName: string
288
326
  /**
289
327
  * Build scan bounds over quarantine entries.
290
328
  * - both `schemaName` and `tableName`: a single table's held changes.
291
- * - `schemaName` only: all held changes in that schema.
329
+ * - `schemaName` only: all held changes in that schema — `qt:{n}:{schema}` is
330
+ * exact, since the schema's own length prefix terminates it (a different
331
+ * schema differs in either that length or its text).
292
332
  * - neither: every quarantine entry (the GC sweep).
293
333
  */
294
334
  export declare function buildQuarantineScanBounds(schemaName?: string, tableName?: string): {
@@ -297,7 +337,7 @@ export declare function buildQuarantineScanBounds(schemaName?: string, tableName
297
337
  };
298
338
  /**
299
339
  * Build a basis-table lifecycle key.
300
- * Format: bl:{schema}.{table} (both lowercased — basis relations are keyed
340
+ * Format: bl:{n}:{schema}{n}:{table} (both lowercased — basis relations are keyed
301
341
  * lowercased throughout the lens deployment snapshot, so the lifecycle key
302
342
  * matches `relationBacking` / `derivation.sourceTables` keys exactly).
303
343
  *
@@ -315,4 +355,24 @@ export declare function buildAllBasisLifecycleScanBounds(): {
315
355
  gte: Uint8Array;
316
356
  lt: Uint8Array;
317
357
  };
358
+ /**
359
+ * Build a snapshot checkpoint key — the resume position of one streaming
360
+ * snapshot apply.
361
+ * Format: sc:{snapshotId}
362
+ *
363
+ * Unlike `cv:` / `tb:` / `cl:`, this suffix is NOT length-prefixed and has no
364
+ * `parse…Key` counterpart: it is a single UUID, which cannot contain the `:`
365
+ * separator, so nothing can shift the split. Callers that need the id back read
366
+ * the `snapshotId` field of the record VALUE (see `snapshot-stream.ts`).
367
+ */
368
+ export declare function buildSnapshotCheckpointKey(snapshotId: string): Uint8Array;
369
+ /**
370
+ * Build scan bounds over every saved snapshot checkpoint. A non-empty scan means
371
+ * a streaming snapshot apply cleared local metadata and never reached its footer,
372
+ * so this replica's data is partial (see `listSnapshotCheckpoints`).
373
+ */
374
+ export declare function buildAllSnapshotCheckpointScanBounds(): {
375
+ gte: Uint8Array;
376
+ lt: Uint8Array;
377
+ };
318
378
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/metadata/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/metadata/keys.ts"],"names":[],"mappings":"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"}