@quereus/sync 4.3.1 → 4.3.2

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 (45) hide show
  1. package/dist/src/clock/hlc.d.ts +16 -1
  2. package/dist/src/clock/hlc.d.ts.map +1 -1
  3. package/dist/src/clock/hlc.js +22 -58
  4. package/dist/src/clock/hlc.js.map +1 -1
  5. package/dist/src/clock/site.d.ts.map +1 -1
  6. package/dist/src/clock/site.js +3 -0
  7. package/dist/src/clock/site.js.map +1 -1
  8. package/dist/src/index.d.ts +2 -1
  9. package/dist/src/index.d.ts.map +1 -1
  10. package/dist/src/index.js +11 -1
  11. package/dist/src/index.js.map +1 -1
  12. package/dist/src/metadata/keys.d.ts +17 -3
  13. package/dist/src/metadata/keys.d.ts.map +1 -1
  14. package/dist/src/metadata/keys.js +49 -18
  15. package/dist/src/metadata/keys.js.map +1 -1
  16. package/dist/src/metadata/peer-state.d.ts +12 -0
  17. package/dist/src/metadata/peer-state.d.ts.map +1 -1
  18. package/dist/src/metadata/peer-state.js +34 -7
  19. package/dist/src/metadata/peer-state.js.map +1 -1
  20. package/dist/src/sync/change-applicator.d.ts.map +1 -1
  21. package/dist/src/sync/change-applicator.js +24 -3
  22. package/dist/src/sync/change-applicator.js.map +1 -1
  23. package/dist/src/sync/manager.d.ts +17 -0
  24. package/dist/src/sync/manager.d.ts.map +1 -1
  25. package/dist/src/sync/protocol.d.ts +44 -2
  26. package/dist/src/sync/protocol.d.ts.map +1 -1
  27. package/dist/src/sync/protocol.js.map +1 -1
  28. package/dist/src/sync/snapshot-stream.d.ts.map +1 -1
  29. package/dist/src/sync/snapshot-stream.js +118 -25
  30. package/dist/src/sync/snapshot-stream.js.map +1 -1
  31. package/dist/src/sync/snapshot.d.ts.map +1 -1
  32. package/dist/src/sync/snapshot.js +47 -5
  33. package/dist/src/sync/snapshot.js.map +1 -1
  34. package/dist/src/sync/store-adapter.d.ts +2 -2
  35. package/dist/src/sync/store-adapter.js +12 -4
  36. package/dist/src/sync/store-adapter.js.map +1 -1
  37. package/dist/src/sync/sync-manager-impl.d.ts +20 -1
  38. package/dist/src/sync/sync-manager-impl.d.ts.map +1 -1
  39. package/dist/src/sync/sync-manager-impl.js +35 -1
  40. package/dist/src/sync/sync-manager-impl.js.map +1 -1
  41. package/dist/src/sync/wire.d.ts +273 -0
  42. package/dist/src/sync/wire.d.ts.map +1 -0
  43. package/dist/src/sync/wire.js +310 -0
  44. package/dist/src/sync/wire.js.map +1 -0
  45. package/package.json +7 -6
@@ -4,15 +4,21 @@
4
4
  * Handles chunked snapshot generation, application, and checkpoint
5
5
  * management for memory-efficient sync of large databases.
6
6
  */
7
+ import { assertWithinDrift } from '../clock/hlc.js';
7
8
  import { deserializeColumnVersion } from '../metadata/column-version.js';
9
+ import { deserializeTombstone } from '../metadata/tombstones.js';
8
10
  import { deserializeMigration } from '../metadata/schema-migration.js';
9
11
  import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllSchemaMigrationsScanBounds, buildAllChangeLogScanBounds, buildTableColumnVersionScanBounds, parseColumnVersionKey, parseSchemaMigrationKey, parseTombstoneKey, parseChangeLogKey, encodePK, } from '../metadata/keys.js';
10
- import { persistHLCState } from './sync-context.js';
12
+ import { persistHLCState, toError } from './sync-context.js';
11
13
  import { applyDataToStore } from './admission.js';
12
14
  /** Default chunk size for streaming snapshots. */
13
15
  const DEFAULT_SNAPSHOT_CHUNK_SIZE = 1000;
14
16
  /** Key prefix for snapshot checkpoints. */
15
17
  const CHECKPOINT_PREFIX = 'sc:';
18
+ /** Assemble one tombstone chunk for a `(schema, table)` batch of entries. */
19
+ function buildTombstoneChunk(schema, table, entries) {
20
+ return { type: 'tombstone', schema, table, entries };
21
+ }
16
22
  /**
17
23
  * Shared generator that streams snapshot chunks.
18
24
  *
@@ -23,12 +29,12 @@ async function* streamSnapshotChunks(ctx, opts) {
23
29
  const { snapshotId, siteId, hlc, chunkSize, completedTables, initialEntryCount } = opts;
24
30
  const completedSet = completedTables ?? new Set();
25
31
  // Count tables and migrations for header
26
- const tableKeys = new Set();
32
+ const tableKeys = new Map();
27
33
  const cvBounds = buildAllColumnVersionsScanBounds();
28
34
  for await (const entry of ctx.kv.iterate(cvBounds)) {
29
35
  const parsed = parseColumnVersionKey(entry.key);
30
36
  if (parsed)
31
- tableKeys.add(`${parsed.schema}.${parsed.table}`);
37
+ tableKeys.set(`${parsed.schema}.${parsed.table}`, { schema: parsed.schema, table: parsed.table });
32
38
  }
33
39
  let migrationCount = 0;
34
40
  const smBounds = buildAllSchemaMigrationsScanBounds();
@@ -47,10 +53,9 @@ async function* streamSnapshotChunks(ctx, opts) {
47
53
  yield header;
48
54
  // Stream each table, skipping completed ones
49
55
  let totalEntries = initialEntryCount ?? 0;
50
- for (const tableKey of tableKeys) {
56
+ for (const [tableKey, { schema, table }] of tableKeys) {
51
57
  if (completedSet.has(tableKey))
52
58
  continue;
53
- const [schema, table] = tableKey.split('.');
54
59
  const tableCvBounds = buildTableColumnVersionScanBounds(schema, table);
55
60
  // Yield table start (entry count filled in at table-end)
56
61
  const tableStart = {
@@ -121,6 +126,49 @@ async function* streamSnapshotChunks(ctx, opts) {
121
126
  };
122
127
  yield migrationChunk;
123
128
  }
129
+ // Stream tombstones — a GLOBAL pass over every tombstone (not a per-`tableKeys`
130
+ // pass), batched by `(schema, table)` into `chunkSize` chunks. A row whose columns
131
+ // were all deleted has a tombstone but no live column-versions, so its table may be
132
+ // absent from `tableKeys`; the global pass carries it regardless. The scan is
133
+ // key-sorted, so all tombstones for one `(schema, table)` are contiguous (the
134
+ // `tb:{schema}.{table}:` prefix + `:` separator guarantee no interleaving) — a fresh
135
+ // chunk starts whenever the table changes or the batch fills.
136
+ // NOTE: on a RESUMED transfer this re-emits ALL tombstones regardless of the
137
+ // checkpoint's completed tables (tombstones are not tracked per-table there). The
138
+ // consumer re-writes them idempotently (same key, same bytes) — a deliberate
139
+ // simplification (correctness over minimal bytes), not a bug.
140
+ const tsBounds = buildAllTombstonesScanBounds();
141
+ let tsEntries = [];
142
+ let tsSchema;
143
+ let tsTable;
144
+ for await (const entry of ctx.kv.iterate(tsBounds)) {
145
+ const parsed = parseTombstoneKey(entry.key);
146
+ if (!parsed)
147
+ continue;
148
+ // Table boundary: flush the prior table's accumulated entries first.
149
+ if (parsed.schema !== tsSchema || parsed.table !== tsTable) {
150
+ if (tsEntries.length > 0 && tsSchema !== undefined && tsTable !== undefined) {
151
+ yield buildTombstoneChunk(tsSchema, tsTable, tsEntries);
152
+ }
153
+ tsEntries = [];
154
+ tsSchema = parsed.schema;
155
+ tsTable = parsed.table;
156
+ }
157
+ const tombstone = deserializeTombstone(entry.value);
158
+ tsEntries.push({
159
+ pk: parsed.pk,
160
+ hlc: tombstone.hlc,
161
+ createdAt: tombstone.createdAt,
162
+ ...(tombstone.priorRow !== undefined ? { priorRow: tombstone.priorRow } : {}),
163
+ });
164
+ if (tsEntries.length >= chunkSize) {
165
+ yield buildTombstoneChunk(tsSchema, tsTable, tsEntries);
166
+ tsEntries = [];
167
+ }
168
+ }
169
+ if (tsEntries.length > 0 && tsSchema !== undefined && tsTable !== undefined) {
170
+ yield buildTombstoneChunk(tsSchema, tsTable, tsEntries);
171
+ }
124
172
  // Yield footer
125
173
  const footer = {
126
174
  type: 'footer',
@@ -161,13 +209,23 @@ export async function* resumeSnapshotStream(ctx, checkpoint) {
161
209
  /**
162
210
  * Parse the accumulated `schema.table` completed-table keys into the
163
211
  * `{ schema, table }` records the `bootstrapFinalize` coarse watch notification
164
- * consumes. Mirrors the `tableKey.split('.')` convention used throughout this
165
- * module.
212
+ * consumes.
213
+ *
214
+ * NOTE: `completedTables` is a flat string, persisted verbatim into
215
+ * `SnapshotCheckpoint.completedTables` — on a resumed transfer the original
216
+ * `chunk.schema`/`chunk.table` pair for an earlier-session table is gone, so
217
+ * there is no already-known pair to carry forward here (unlike the other
218
+ * `tableKey`-grouping sites in this module). Splitting on the FIRST dot only
219
+ * correctly recovers a dotted TABLE name; a dotted SCHEMA name is an accepted
220
+ * edge case (schema names are effectively never dotted) — same tradeoff as
221
+ * `buildDataStoreName` in `@quereus/store`'s key-builder.ts.
166
222
  */
167
223
  function parseBootstrapTables(completedTables) {
168
224
  return completedTables.map((key) => {
169
- const [schema, table] = key.split('.');
170
- return { schema, table };
225
+ const dot = key.indexOf('.');
226
+ if (dot === -1)
227
+ return { schema: key, table: '' };
228
+ return { schema: key.slice(0, dot), table: key.slice(dot + 1) };
171
229
  });
172
230
  }
173
231
  /**
@@ -235,6 +293,26 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
235
293
  let batch = ctx.kv.batch();
236
294
  let batchSize = 0;
237
295
  const BATCH_FLUSH_SIZE = 1000;
296
+ // Flush the accumulated metadata batch and (on a live transfer) save a resume
297
+ // checkpoint. Shared by the column-version and tombstone chunk handlers so both
298
+ // honor the same BATCH_FLUSH_SIZE bound and checkpoint cadence.
299
+ const flushMetadataBatch = async () => {
300
+ await batch.write();
301
+ batch = ctx.kv.batch();
302
+ batchSize = 0;
303
+ if (snapshotId && snapshotHLC) {
304
+ await saveSnapshotCheckpoint(ctx, {
305
+ snapshotId,
306
+ siteId: ctx.getSiteId(),
307
+ hlc: snapshotHLC,
308
+ lastTableIndex: tablesProcessed,
309
+ lastEntryIndex: entriesProcessed,
310
+ completedTables: [...completedTables],
311
+ entriesProcessed,
312
+ createdAt: Date.now(),
313
+ });
314
+ }
315
+ };
238
316
  let currentTableSchema;
239
317
  let currentTableName;
240
318
  const rowColumns = new Map();
@@ -244,6 +322,18 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
244
322
  snapshotId = chunk.snapshotId;
245
323
  snapshotHLC = chunk.hlc;
246
324
  totalTables = chunk.tableCount;
325
+ // Pre-commit drift validation: reject a snapshot whose header HLC is beyond
326
+ // the drift bound BEFORE clearing local metadata or applying any chunk — so a
327
+ // far-future peer cannot wipe the receiver's state or land poison LWW winners.
328
+ // The footer's `receive(snapshotHLC)` then merges a known-in-bound clock. Emit
329
+ // `status:'error'` first for parity with the data-apply failure path.
330
+ try {
331
+ assertWithinDrift(chunk.hlc.wallTime, BigInt(Date.now()));
332
+ }
333
+ catch (error) {
334
+ ctx.syncEvents.emitSyncStateChange({ status: 'error', error: toError(error) });
335
+ throw error;
336
+ }
247
337
  // On a resumed transfer the sender skips tables it already streamed and
248
338
  // never re-emits their metadata. Look up the persisted checkpoint (saved
249
339
  // under this snapshotId during the prior pass) and preserve those completed
@@ -286,22 +376,7 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
286
376
  batchSize++;
287
377
  entriesProcessed++;
288
378
  if (batchSize >= BATCH_FLUSH_SIZE) {
289
- await batch.write();
290
- batch = ctx.kv.batch();
291
- batchSize = 0;
292
- // Save checkpoint
293
- if (snapshotId && snapshotHLC) {
294
- await saveSnapshotCheckpoint(ctx, {
295
- snapshotId,
296
- siteId: ctx.getSiteId(),
297
- hlc: snapshotHLC,
298
- lastTableIndex: tablesProcessed,
299
- lastEntryIndex: entriesProcessed,
300
- completedTables: [...completedTables],
301
- entriesProcessed,
302
- createdAt: Date.now(),
303
- });
304
- }
379
+ await flushMetadataBatch();
305
380
  }
306
381
  }
307
382
  if (onProgress && snapshotId) {
@@ -315,6 +390,24 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
315
390
  });
316
391
  }
317
392
  break;
393
+ case 'tombstone':
394
+ // Tombstones are pure CRDT metadata: write each into the same batch as
395
+ // column-versions, honoring the shared BATCH_FLUSH_SIZE / checkpoint path.
396
+ // There is NO store data for a deleted row, so nothing is pushed to
397
+ // `pendingDataChanges`. `clearExistingMetadata` already ran at `header`, so
398
+ // these writes repopulate the just-cleared tombstone space.
399
+ for (const { pk, hlc, priorRow } of chunk.entries) {
400
+ // NOTE: `setTombstoneBatch` stamps `createdAt = Date.now()` internally and
401
+ // ignores the sender's `entry.createdAt`, so a bootstrapped tombstone's TTL
402
+ // horizon is re-based to bootstrap time rather than preserved. Acceptable
403
+ // for phase 1 (the tombstone lives a full horizon from bootstrap).
404
+ ctx.tombstones.setTombstoneBatch(batch, chunk.schema, chunk.table, pk, hlc, priorRow);
405
+ batchSize++;
406
+ if (batchSize >= BATCH_FLUSH_SIZE) {
407
+ await flushMetadataBatch();
408
+ }
409
+ }
410
+ break;
318
411
  case 'table-end':
319
412
  // Flush accumulated rows to store
320
413
  if (currentTableSchema && currentTableName) {
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-stream.js","sourceRoot":"","sources":["../../../src/sync/snapshot-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-stream.js","sourceRoot":"","sources":["../../../src/sync/snapshot-stream.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EACX,QAAQ,EAKR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4ErE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC,CAoIf"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,KAAK,EACX,QAAQ,EAMR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiGrE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC,CAyJf"}
@@ -4,9 +4,12 @@
4
4
  * Full in-memory snapshot get/apply for small databases
5
5
  * or when streaming is not needed.
6
6
  */
7
+ import { assertWithinDrift } from '../clock/hlc.js';
7
8
  import { deserializeColumnVersion } from '../metadata/column-version.js';
8
9
  import { deserializeMigration } from '../metadata/schema-migration.js';
9
- import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllSchemaMigrationsScanBounds, buildAllChangeLogScanBounds, parseColumnVersionKey, parseSchemaMigrationKey, encodePK, } from '../metadata/keys.js';
10
+ import { deserializeTombstone } from '../metadata/tombstones.js';
11
+ import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllSchemaMigrationsScanBounds, buildAllChangeLogScanBounds, parseColumnVersionKey, parseTombstoneKey, parseSchemaMigrationKey, encodePK, } from '../metadata/keys.js';
12
+ import { toError } from './sync-context.js';
10
13
  import { admitGroup } from './admission.js';
11
14
  /**
12
15
  * Get a full snapshot of all data and schema state.
@@ -22,9 +25,9 @@ export async function getSnapshot(ctx) {
22
25
  const tableKey = `${parsed.schema}.${parsed.table}`;
23
26
  const rowKey = encodePK(parsed.pk);
24
27
  if (!tableData.has(tableKey)) {
25
- tableData.set(tableKey, new Map());
28
+ tableData.set(tableKey, { schema: parsed.schema, table: parsed.table, rows: new Map() });
26
29
  }
27
- const tableRows = tableData.get(tableKey);
30
+ const tableRows = tableData.get(tableKey).rows;
28
31
  if (!tableRows.has(rowKey)) {
29
32
  tableRows.set(rowKey, new Map());
30
33
  }
@@ -33,8 +36,7 @@ export async function getSnapshot(ctx) {
33
36
  }
34
37
  // Build table snapshots
35
38
  const tables = [];
36
- for (const [tableKey, rows] of tableData) {
37
- const [schema, table] = tableKey.split('.');
39
+ for (const { schema, table, rows } of tableData.values()) {
38
40
  const columnVersions = new Map();
39
41
  const rowsArray = [];
40
42
  for (const [rowKey, rowVersionsMap] of rows) {
@@ -69,17 +71,48 @@ export async function getSnapshot(ctx) {
69
71
  schemaVersion: migration.schemaVersion,
70
72
  });
71
73
  }
74
+ // Collect all tombstones — a GLOBAL pass (not keyed off `tables`), mirroring the
75
+ // streaming producer: a fully-deleted row has a tombstone but no live
76
+ // column-versions, so its `(schema, table)` may be absent from `tables`. The
77
+ // global scan carries it regardless.
78
+ const tombstones = [];
79
+ for await (const entry of ctx.kv.iterate(buildAllTombstonesScanBounds())) {
80
+ const parsed = parseTombstoneKey(entry.key);
81
+ if (!parsed)
82
+ continue;
83
+ const ts = deserializeTombstone(entry.value);
84
+ tombstones.push({
85
+ schema: parsed.schema,
86
+ table: parsed.table,
87
+ pk: parsed.pk,
88
+ hlc: ts.hlc,
89
+ createdAt: ts.createdAt,
90
+ ...(ts.priorRow !== undefined ? { priorRow: ts.priorRow } : {}),
91
+ });
92
+ }
72
93
  return {
73
94
  siteId: ctx.getSiteId(),
74
95
  hlc: ctx.getCurrentHLC(),
75
96
  tables,
76
97
  schemaMigrations,
98
+ tombstones,
77
99
  };
78
100
  }
79
101
  /**
80
102
  * Apply a full snapshot, replacing all local data.
81
103
  */
82
104
  export async function applySnapshot(ctx, snapshot) {
105
+ // Pre-commit drift validation (mirrors applyChanges / applySnapshotStream): reject a
106
+ // snapshot whose HLC is beyond the drift bound BEFORE clearing or writing anything,
107
+ // so a far-future peer cannot land poison LWW winners. Emit status:'error' first for
108
+ // UI parity with the data-apply failure path.
109
+ try {
110
+ assertWithinDrift(snapshot.hlc.wallTime, BigInt(Date.now()));
111
+ }
112
+ catch (error) {
113
+ ctx.syncEvents.emitSyncStateChange({ status: 'error', error: toError(error) });
114
+ throw error;
115
+ }
83
116
  // PHASE 1: Build data changes from snapshot
84
117
  const dataChangesToApply = [];
85
118
  const schemaChangesToApply = [];
@@ -163,6 +196,15 @@ export async function applySnapshot(ctx, snapshot) {
163
196
  schemaVersion,
164
197
  });
165
198
  }
199
+ // Re-write the snapshot's tombstones (the clearBatch above wiped the
200
+ // receiver's existing ones). Mirrors the streaming consumer.
201
+ // NOTE: `setTombstoneBatch` stamps `createdAt = Date.now()` internally and
202
+ // ignores the sender's `ts.createdAt`, so a bootstrapped tombstone's TTL
203
+ // horizon re-bases to bootstrap time rather than preserved. Accepted phase-1
204
+ // behavior (the tombstone lives a full horizon from bootstrap).
205
+ for (const ts of snapshot.tombstones) {
206
+ ctx.tombstones.setTombstoneBatch(applyBatch, ts.schema, ts.table, ts.pk, ts.hlc, ts.priorRow);
207
+ }
166
208
  await applyBatch.write();
167
209
  },
168
210
  watermarkHLC: snapshot.hlc,
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@
48
48
  * `bootstrapFinalize` therefore does NOT evaluate any global assertion —
49
49
  * not even a no-dependency one. This uniform skip is consistent with the
50
50
  * seam's general trust-the-origin posture for every other constraint type
51
- * (see `docs/materialized-views.md` § Trust boundary). MV-backed assertions
51
+ * (see `docs/mv-ingestion.md` § Trust boundary). MV-backed assertions
52
52
  * would see the MV only after `refreshAllMaterializedViews()`; under
53
53
  * trust-the-origin they are not evaluated at finalize at all, so MV-refresh
54
54
  * ordering is moot for assertions. Residual risk (a corrupt/hostile snapshot
@@ -90,7 +90,7 @@
90
90
  * abort throws (see admission.ts `applyDataToStore`). The abort still blocks the
91
91
  * metadata commit and the batch still re-resolves.
92
92
  *
93
- * Constraints (see docs/materialized-views.md § External row-change
93
+ * Constraints (see docs/mv-ingestion.md § External row-change
94
94
  * ingestion): the callback is host-driven — never invoke it from within
95
95
  * statement execution or vtab callbacks (exec-mutex deadlock), and hosts
96
96
  * should not drive it while holding an open explicit transaction on `db`
@@ -48,7 +48,7 @@
48
48
  * `bootstrapFinalize` therefore does NOT evaluate any global assertion —
49
49
  * not even a no-dependency one. This uniform skip is consistent with the
50
50
  * seam's general trust-the-origin posture for every other constraint type
51
- * (see `docs/materialized-views.md` § Trust boundary). MV-backed assertions
51
+ * (see `docs/mv-ingestion.md` § Trust boundary). MV-backed assertions
52
52
  * would see the MV only after `refreshAllMaterializedViews()`; under
53
53
  * trust-the-origin they are not evaluated at finalize at all, so MV-refresh
54
54
  * ordering is moot for assertions. Residual risk (a corrupt/hostile snapshot
@@ -90,7 +90,7 @@
90
90
  * abort throws (see admission.ts `applyDataToStore`). The abort still blocks the
91
91
  * metadata commit and the batch still re-resolves.
92
92
  *
93
- * Constraints (see docs/materialized-views.md § External row-change
93
+ * Constraints (see docs/mv-ingestion.md § External row-change
94
94
  * ingestion): the callback is host-driven — never invoke it from within
95
95
  * statement execution or vtab callbacks (exec-mutex deadlock), and hosts
96
96
  * should not drive it while holding an open explicit transaction on `db`
@@ -148,8 +148,8 @@ export function createStoreAdapter(options) {
148
148
  // Apply data changes per table; the resolved StoreTable owns key
149
149
  // encoding, store resolution, and secondary-index maintenance.
150
150
  const changesByTable = groupChangesByTable(dataChanges);
151
- for (const [tableKey, tableChanges] of changesByTable) {
152
- const [schemaName, tableName] = tableKey.split('.');
151
+ for (const [, tableChanges] of changesByTable) {
152
+ const { schema: schemaName, table: tableName } = tableChanges[0];
153
153
  try {
154
154
  const table = storeModule.getTableForExternalWrite(db, schemaName, tableName);
155
155
  if (!table) {
@@ -234,6 +234,14 @@ async function finalizeBootstrap(db, options) {
234
234
  }
235
235
  /**
236
236
  * Group data changes by table (schema.table).
237
+ *
238
+ * NOTE: the joined key is ambiguous if a SCHEMA name contains a dot — schema
239
+ * `"main.a"` table `b` collides with schema `main` table `"a.b"`, merging two
240
+ * tables' changes into one group. Consumers must read `(schema, table)` off a
241
+ * grouped change (never re-split the key), so today the only cost is a
242
+ * misgrouped write when both dotted-schema tables exist. If dotted schema names
243
+ * ever become reachable, key on a delimiter that identifiers cannot contain
244
+ * (e.g. length-prefixed, or ``).
237
245
  */
238
246
  function groupChangesByTable(changes) {
239
247
  const grouped = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"store-adapter.js","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-adapter.js","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Delegates to focused sub-modules for snapshot, streaming, and change application.
6
6
  */
7
7
  import type { KVStore } from '@quereus/store';
8
- import type { Database, LensDeploymentSnapshot } from '@quereus/quereus';
8
+ import type { Database, LensDeploymentSnapshot, TransactionCommitBatch } from '@quereus/quereus';
9
9
  import type { GetTableSchemaCallback, TransactionCommitSource } from '../create-sync-module.js';
10
10
  import { HLCManager, type HLC } from '../clock/hlc.js';
11
11
  import { type SiteId } from '../clock/site.js';
@@ -49,6 +49,7 @@ export declare class SyncManagerImpl implements SyncManager, SyncContext {
49
49
  private readonly getTableSchema?;
50
50
  /** Reclaim-by-name callback for the eviction sweep; absent ⇒ sweep is a no-op. */
51
51
  private readonly dropLocalTable?;
52
+ private commitChain;
52
53
  private readonly lastBasisHash;
53
54
  private unknownTableIgnored;
54
55
  private unknownTableQuarantined;
@@ -134,6 +135,22 @@ export declare class SyncManagerImpl implements SyncManager, SyncContext {
134
135
  * drop is idempotent).
135
136
  */
136
137
  evictExpiredBasisTables(now?: number): Promise<number>;
138
+ /**
139
+ * Serialize commit recording: chain each commit onto the prior handler's
140
+ * completion so N+1's dedup reads observe N's durable writes (the change-log
141
+ * ordering invariant, docs/sync.md § Transaction-Based Change Grouping). The
142
+ * defensive `.catch` guards the tail: `handleTransactionCommit` already swallows
143
+ * and telemeters its own errors, but any unexpected throw must not poison the
144
+ * chain for every subsequent commit. Returns `void` — fire-and-forget from the
145
+ * engine's perspective; only inter-handler ordering changes.
146
+ */
147
+ enqueueTransactionCommit(batch: TransactionCommitBatch): void;
148
+ /**
149
+ * Await the commit-recording tail — resolves once every commit enqueued so far
150
+ * has fully recorded (through its KV batch write). Test/diagnostic hook for
151
+ * deterministic draining without a timed sleep.
152
+ */
153
+ whenCommitsSettled(): Promise<void>;
137
154
  /**
138
155
  * Record CRDT metadata for one committed local transaction.
139
156
  *
@@ -296,6 +313,8 @@ export declare class SyncManagerImpl implements SyncManager, SyncContext {
296
313
  applySnapshot(snapshot: Snapshot): Promise<void>;
297
314
  updatePeerSyncState(peerSiteId: SiteId, hlc: HLC): Promise<void>;
298
315
  getPeerSyncState(peerSiteId: SiteId): Promise<HLC | undefined>;
316
+ updatePeerSentState(peerSiteId: SiteId, hlc: HLC): Promise<void>;
317
+ getPeerSentState(peerSiteId: SiteId): Promise<HLC | undefined>;
299
318
  pruneTombstones(): Promise<number>;
300
319
  /**
301
320
  * GC quarantined out-of-basis straggler changes past the retention horizon —
@@ -1 +1 @@
1
- {"version":3,"file":"sync-manager-impl.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-manager-impl.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager-impl.ts"],"names":[],"mappings":"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"}