hikoutei 0.10.16-dev → 0.10.18-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts/api/entity.d.ts +10 -5
- package/dist/contracts/api/entity.d.ts.map +1 -1
- package/dist/contracts/api/entity.js +18 -10
- package/dist/contracts/api/entity.js.map +1 -1
- package/dist/contracts/sync-orm/mapping/identity.d.ts +10 -5
- package/dist/contracts/sync-orm/mapping/identity.d.ts.map +1 -1
- package/dist/contracts/sync-orm/mapping/identity.js +25 -11
- package/dist/contracts/sync-orm/mapping/identity.js.map +1 -1
- package/dist/orm/mapping/observationMapping.d.ts +4 -4
- package/dist/orm/mapping/observationMapping.d.ts.map +1 -1
- package/dist/orm/mapping/observationMapping.js +2 -1
- package/dist/orm/mapping/observationMapping.js.map +1 -1
- package/dist/orm/persistence/support/helpers.d.ts +5 -1
- package/dist/orm/persistence/support/helpers.d.ts.map +1 -1
- package/dist/orm/persistence/support/helpers.js +16 -6
- package/dist/orm/persistence/support/helpers.js.map +1 -1
- package/dist/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js +36 -4
- package/dist/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map +1 -1
- package/dist/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js +5 -0
- package/dist/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map +1 -1
- package/dist/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +18 -4
- package/dist/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -1
- package/dist/storage/sqlite/migrateSchema.d.ts.map +1 -1
- package/dist/storage/sqlite/migrateSchema.js +16 -1
- package/dist/storage/sqlite/migrateSchema.js.map +1 -1
- package/dist/storage/sqlite/schema.d.ts +21 -0
- package/dist/storage/sqlite/schema.d.ts.map +1 -1
- package/dist/storage/sqlite/schema.js +27 -0
- package/dist/storage/sqlite/schema.js.map +1 -1
- package/dist/storage/sync/outbound/reconciliationSql.d.ts +81 -0
- package/dist/storage/sync/outbound/reconciliationSql.d.ts.map +1 -1
- package/dist/storage/sync/outbound/reconciliationSql.js +139 -1
- package/dist/storage/sync/outbound/reconciliationSql.js.map +1 -1
- package/dist/sync-engine/api/internalEntityManager.d.ts.map +1 -1
- package/dist/sync-engine/api/internalEntityManager.js +3 -1
- package/dist/sync-engine/api/internalEntityManager.js.map +1 -1
- package/dist/sync-engine/orm/persistence/scalar/unitOfWork.d.ts.map +1 -1
- package/dist/sync-engine/orm/persistence/scalar/unitOfWork.js +102 -9
- package/dist/sync-engine/orm/persistence/scalar/unitOfWork.js.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/CleanupScanner.d.ts.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/CleanupScanner.js +8 -3
- package/dist/sync-engine/sync/outbound/reconciliation/CleanupScanner.js.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/ReconciliationScanner.js +103 -53
- package/dist/sync-engine/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/cleanup.d.ts +110 -0
- package/dist/sync-engine/sync/outbound/reconciliation/cleanup.d.ts.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/cleanup.js +307 -1
- package/dist/sync-engine/sync/outbound/reconciliation/cleanup.js.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/diff.d.ts +51 -7
- package/dist/sync-engine/sync/outbound/reconciliation/diff.d.ts.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/diff.js +53 -43
- package/dist/sync-engine/sync/outbound/reconciliation/diff.js.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/shared.d.ts +33 -11
- package/dist/sync-engine/sync/outbound/reconciliation/shared.d.ts.map +1 -1
- package/dist/sync-engine/sync/outbound/reconciliation/shared.js +93 -58
- package/dist/sync-engine/sync/outbound/reconciliation/shared.js.map +1 -1
- package/package.json +1 -1
|
@@ -59,9 +59,13 @@ export class ScalarEntityUnitOfWork {
|
|
|
59
59
|
const expected = entry.state === "new"
|
|
60
60
|
? entry.initialPrimaryKey
|
|
61
61
|
: entry.snapshot[entry.descriptor.primaryKey];
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
if (!isPresentPrimaryKeyValue(expected))
|
|
63
|
+
return false;
|
|
64
|
+
const current = Reflect.get(entity, entry.descriptor.primaryKey);
|
|
65
|
+
if (!isPresentPrimaryKeyValue(current))
|
|
66
|
+
return false;
|
|
67
|
+
// `42` and `"42"` are one identity for sync purposes; compare canonically.
|
|
68
|
+
return String(expected) === String(current);
|
|
65
69
|
}
|
|
66
70
|
/** Captures lifecycle state before an outer transaction can roll back. */
|
|
67
71
|
checkpoint() {
|
|
@@ -140,6 +144,18 @@ export class ScalarEntityUnitOfWork {
|
|
|
140
144
|
this.entries.delete(entry.entity);
|
|
141
145
|
continue;
|
|
142
146
|
}
|
|
147
|
+
if (change.kind === "insert") {
|
|
148
|
+
// SQLite-generated inserts resolve their PK inside the provider flush
|
|
149
|
+
// (the shared `row.values` reference is patched before commit). Copy
|
|
150
|
+
// it back onto the in-memory entity so snapshots and identity agree.
|
|
151
|
+
// The same copy normalizes an explicit cross-type PK (`42` for a TEXT
|
|
152
|
+
// key, `"42"` for an INTEGER key) to the descriptor's canonical form.
|
|
153
|
+
const resolved = change.row.values[entry.descriptor.primaryKey];
|
|
154
|
+
const current = Reflect.get(entry.entity, entry.descriptor.primaryKey);
|
|
155
|
+
if (isPresentPrimaryKeyValue(resolved) && current !== resolved) {
|
|
156
|
+
Reflect.set(entry.entity, entry.descriptor.primaryKey, resolved);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
143
159
|
entry.snapshot = readEntityValues(entry.descriptor, entry.entity);
|
|
144
160
|
entry.initialPrimaryKey = entry.snapshot[entry.descriptor.primaryKey];
|
|
145
161
|
entry.state = "clean";
|
|
@@ -204,10 +220,26 @@ function readRawEntityValues(descriptor, entity) {
|
|
|
204
220
|
function planChange(entry) {
|
|
205
221
|
const { descriptor } = entry;
|
|
206
222
|
if (entry.state === "new") {
|
|
223
|
+
const rawPrimaryKey = Reflect.get(entry.entity, descriptor.primaryKey);
|
|
224
|
+
if (rawPrimaryKey === undefined && isNumberPrimary(descriptor)) {
|
|
225
|
+
// SQLite assigns the numeric ID at insert. Omit the PK from the row so
|
|
226
|
+
// the provider inserts without it, then backfills after `flush()`.
|
|
227
|
+
const values = readInsertValuesAllowingGeneratedId(descriptor, entry.entity);
|
|
228
|
+
return {
|
|
229
|
+
kind: "insert",
|
|
230
|
+
entry,
|
|
231
|
+
row: {
|
|
232
|
+
entityName: descriptor.name,
|
|
233
|
+
tableName: descriptor.tableName,
|
|
234
|
+
primaryKeyColumn: descriptor.primaryKey,
|
|
235
|
+
values,
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
}
|
|
207
239
|
const values = readEntityValues(descriptor, entry.entity);
|
|
208
240
|
const currentPrimaryKey = requirePrimaryKeyValue(descriptor, values[descriptor.primaryKey]);
|
|
209
241
|
if (entry.initialPrimaryKey !== undefined &&
|
|
210
|
-
!
|
|
242
|
+
!samePrimaryKeyValue(entry.initialPrimaryKey, currentPrimaryKey)) {
|
|
211
243
|
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_MUTATION, `${descriptor.name}.${descriptor.primaryKey} cannot change before the entity is flushed.`);
|
|
212
244
|
}
|
|
213
245
|
return {
|
|
@@ -225,7 +257,7 @@ function planChange(entry) {
|
|
|
225
257
|
const current = readEntityValues(descriptor, entry.entity);
|
|
226
258
|
const currentPrimaryKey = current[descriptor.primaryKey];
|
|
227
259
|
const snapshotPrimaryKeyValue = snapshotPrimaryKey(descriptor, entry);
|
|
228
|
-
if (!
|
|
260
|
+
if (!samePrimaryKeyValue(currentPrimaryKey, snapshotPrimaryKeyValue)) {
|
|
229
261
|
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_MUTATION, `${descriptor.name}.${descriptor.primaryKey} cannot change after the entity is created.`);
|
|
230
262
|
}
|
|
231
263
|
return {
|
|
@@ -247,7 +279,7 @@ function planUpdateIfDirty(entry) {
|
|
|
247
279
|
const current = readEntityValues(descriptor, entry.entity);
|
|
248
280
|
const snapshotPrimaryKeyValue = requirePrimaryKeyValue(descriptor, snapshot[descriptor.primaryKey]);
|
|
249
281
|
const currentPrimaryKeyValue = current[descriptor.primaryKey];
|
|
250
|
-
if (!
|
|
282
|
+
if (!samePrimaryKeyValue(currentPrimaryKeyValue, snapshotPrimaryKeyValue)) {
|
|
251
283
|
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_MUTATION, `${descriptor.name}.${descriptor.primaryKey} cannot change after the entity is created.`);
|
|
252
284
|
}
|
|
253
285
|
const changedValues = collectChangedValues(descriptor, snapshot, current);
|
|
@@ -288,11 +320,56 @@ function sameScalarValue(before, after) {
|
|
|
288
320
|
function snapshotPrimaryKey(descriptor, entry) {
|
|
289
321
|
return requirePrimaryKeyValue(descriptor, entry.snapshot[descriptor.primaryKey]);
|
|
290
322
|
}
|
|
323
|
+
/** Whether a descriptor uses a SQLite-generated numeric identity. */
|
|
324
|
+
function isNumberPrimary(descriptor) {
|
|
325
|
+
return descriptor.properties.some((property) => property.name === descriptor.primaryKey && property.type === "number");
|
|
326
|
+
}
|
|
327
|
+
/** Whether a raw PK value is present (non-empty string or safe integer). */
|
|
328
|
+
function isPresentPrimaryKeyValue(value) {
|
|
329
|
+
return ((typeof value === "string" && value.length > 0) ||
|
|
330
|
+
(typeof value === "number" && Number.isSafeInteger(value)));
|
|
331
|
+
}
|
|
332
|
+
/** Compares two PK values by their canonical string form (`42` === `"42"`). */
|
|
333
|
+
function samePrimaryKeyValue(before, after) {
|
|
334
|
+
if (!isPresentPrimaryKeyValue(before) || !isPresentPrimaryKeyValue(after)) {
|
|
335
|
+
return before === after;
|
|
336
|
+
}
|
|
337
|
+
return String(before) === String(after);
|
|
338
|
+
}
|
|
339
|
+
/** Reads insert values, omitting a missing numeric PK for SQLite generation. */
|
|
340
|
+
function readInsertValuesAllowingGeneratedId(descriptor, entity) {
|
|
341
|
+
const values = {};
|
|
342
|
+
for (const property of descriptor.properties) {
|
|
343
|
+
const raw = Reflect.get(entity, property.name);
|
|
344
|
+
if (raw === undefined && property.name === descriptor.primaryKey)
|
|
345
|
+
continue;
|
|
346
|
+
values[property.name] = readScalarValue(property, raw);
|
|
347
|
+
}
|
|
348
|
+
return values;
|
|
349
|
+
}
|
|
291
350
|
function requirePrimaryKeyValue(descriptor, value) {
|
|
292
|
-
|
|
293
|
-
|
|
351
|
+
const primaryType = descriptor.properties.find((property) => property.name === descriptor.primaryKey)?.type;
|
|
352
|
+
if (typeof value === "string" && value.length > 0) {
|
|
353
|
+
if (primaryType === "number") {
|
|
354
|
+
// Accept `"42"` for a numeric PK by normalizing to its number form so
|
|
355
|
+
// the INTEGER column, canonical state, and sync identity agree.
|
|
356
|
+
if (/^-?\d+$/.test(value)) {
|
|
357
|
+
const parsed = Number(value);
|
|
358
|
+
if (Number.isSafeInteger(parsed))
|
|
359
|
+
return parsed;
|
|
360
|
+
}
|
|
361
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_UNAVAILABLE, `${descriptor.name}.${descriptor.primaryKey} must be a safe integer before flush.`);
|
|
362
|
+
}
|
|
363
|
+
return value;
|
|
294
364
|
}
|
|
295
|
-
|
|
365
|
+
if (typeof value === "number" && Number.isSafeInteger(value)) {
|
|
366
|
+
if (primaryType === "string")
|
|
367
|
+
return String(value);
|
|
368
|
+
return value;
|
|
369
|
+
}
|
|
370
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_UNAVAILABLE, primaryType === "number"
|
|
371
|
+
? `${descriptor.name}.${descriptor.primaryKey} must be a safe integer before flush.`
|
|
372
|
+
: `${descriptor.name}.${descriptor.primaryKey} must be a non-empty string or safe integer before flush.`);
|
|
296
373
|
}
|
|
297
374
|
/** Reads the declared scalar values from one managed entity instance. */
|
|
298
375
|
export function readEntityValues(descriptor, entity) {
|
|
@@ -317,6 +394,11 @@ function readScalarValue(property, value) {
|
|
|
317
394
|
}
|
|
318
395
|
return new Date(value.getTime());
|
|
319
396
|
case "string":
|
|
397
|
+
// A numeric PK value normalizes to its string form so `42` and `"42"`
|
|
398
|
+
// share one sync identity on TEXT tables.
|
|
399
|
+
if (property.primary && typeof value === "number" && Number.isSafeInteger(value)) {
|
|
400
|
+
return String(value);
|
|
401
|
+
}
|
|
320
402
|
if (typeof value !== "string") {
|
|
321
403
|
throw new HikouteiError(property.primary
|
|
322
404
|
? HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_UNAVAILABLE
|
|
@@ -327,11 +409,22 @@ function readScalarValue(property, value) {
|
|
|
327
409
|
}
|
|
328
410
|
return value;
|
|
329
411
|
case "number":
|
|
412
|
+
// Accept `"42"` for a numeric PK by normalizing to its number form so
|
|
413
|
+
// INTEGER columns, canonical state, and sync identity agree.
|
|
414
|
+
if (property.primary && typeof value === "string" && /^-?\d+$/.test(value)) {
|
|
415
|
+
const parsed = Number(value);
|
|
416
|
+
if (Number.isSafeInteger(parsed))
|
|
417
|
+
return parsed;
|
|
418
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_UNAVAILABLE, `${property.name} must be a safe integer before flush.`);
|
|
419
|
+
}
|
|
330
420
|
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
331
421
|
throw new HikouteiError(property.primary
|
|
332
422
|
? HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_UNAVAILABLE
|
|
333
423
|
: HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `${property.name} expected a finite number but received ${typeof value}.`);
|
|
334
424
|
}
|
|
425
|
+
if (property.primary && !Number.isSafeInteger(value)) {
|
|
426
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_PRIMARY_KEY_UNAVAILABLE, `${property.name} must be a safe integer before flush.`);
|
|
427
|
+
}
|
|
335
428
|
return value;
|
|
336
429
|
case "boolean":
|
|
337
430
|
if (typeof value !== "boolean") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unitOfWork.js","sourceRoot":"","sources":["../../../../../../../../../src/orm/persistence/scalar/unitOfWork.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unitOfWork.js","sourceRoot":"","sources":["../../../../../../../../../src/orm/persistence/scalar/unitOfWork.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CleanupScanner.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/CleanupScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAcH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,0CAA0C,CAAC;AAKlD,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"CleanupScanner.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/CleanupScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAcH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,0CAA0C,CAAC;AAKlD,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAUrB,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAC5C,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACzD;AAED,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CA8B5B"}
|
|
@@ -35,7 +35,7 @@ import { observeSyncSnapshot, } from "../../../../contracts/sheets/syncSheets.js
|
|
|
35
35
|
import { SYNC_PROJECTIONS, SYNC_SNAPSHOT_READ_MODES, } from "../../../../contracts/sheets/constants.js";
|
|
36
36
|
import { DEFAULT_RECONCILIATION_LEASE_MS, DEFAULT_RECONCILIATION_ROLE, } from "./shared.js";
|
|
37
37
|
import { appendEffectsWithSupersedes } from "./enqueue.js";
|
|
38
|
-
import { buildCleanupEffects,
|
|
38
|
+
import { buildCleanupEffects, buildCleanupSnapshotIndex, classifyCleanupStreamTargets, decodeCleanupRows, readCleanupStreamEvidenceWithSql, } from "./cleanup.js";
|
|
39
39
|
/**
|
|
40
40
|
* Runs one cleanup scan and enqueues CAS-carrying delete effects for every
|
|
41
41
|
* surplus row. The scan never writes to the Sheet directly.
|
|
@@ -83,8 +83,13 @@ async function scanAndEnqueue(context) {
|
|
|
83
83
|
};
|
|
84
84
|
const observed = await observeSyncSnapshot(context.provider, snapshotRequest);
|
|
85
85
|
const rows = decodeCleanupRows(observed.snapshot, context.identityField);
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
// Evidence streams in keyset pages inside one read: only one canonical
|
|
87
|
+
// page plus small binding/candidate maps and drifted rewrites are ever
|
|
88
|
+
// retained. The scan stays eventually consistent like the System_State
|
|
89
|
+
// scanner: concurrent writes between pages surface on the next scan.
|
|
90
|
+
const snapshotIndex = buildCleanupSnapshotIndex(rows);
|
|
91
|
+
const evidence = await context.storage.read(({ sql }) => readCleanupStreamEvidenceWithSql(sql, context.logicalSheetId, context.physicalSheetId, snapshotIndex));
|
|
92
|
+
const targets = classifyCleanupStreamTargets(rows, snapshotIndex, evidence);
|
|
88
93
|
const counts = countTargets(targets);
|
|
89
94
|
if (targets.length === 0) {
|
|
90
95
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CleanupScanner.js","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/CleanupScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,gCAAgC,GAEjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qCAAqC,GACtC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExF,OAAO,EACL,mBAAmB,GAEpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAE5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"CleanupScanner.js","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/CleanupScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconciliationScanner.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAgBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAGL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ReconciliationScanner.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAgBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,0CAA0C,CAAC;AAKlD,OAAO,EAYL,KAAK,uBAAuB,EAE7B,MAAM,aAAa,CAAC;AAkBrB,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,uDAAuD;IACvD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAC5C,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAChE;AAED,qDAAqD;AACrD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,wBAAwB,CAAC,CAkCnC;AAkWD,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC"}
|
|
@@ -25,8 +25,8 @@ import { requireRegisteredSyncSheetWithAdapter, } from "../../../../storage/sync
|
|
|
25
25
|
import { STORAGE_ERROR_CODES, StorageError } from "../../../../storage/errors.js";
|
|
26
26
|
import { observeSyncSnapshot, } from "../../../../contracts/sheets/syncSheets.js";
|
|
27
27
|
import { SYNC_PROJECTIONS, SYNC_SNAPSHOT_READ_MODES, } from "../../../../contracts/sheets/constants.js";
|
|
28
|
-
import { DEFAULT_RECONCILIATION_LEASE_MS, DEFAULT_RECONCILIATION_ROLE, DEFAULT_SYSTEM_TOMBSTONE_FIELD,
|
|
29
|
-
import {
|
|
28
|
+
import { assembleDesiredChunk, DEFAULT_RECONCILIATION_LEASE_MS, DEFAULT_RECONCILIATION_ROLE, DEFAULT_SYSTEM_TOMBSTONE_FIELD, flushDesiredCarry, readReconciliationDesiredSystemStateChunkWithSql, readTerminalFailedHeadsWithSql, RECONCILIATION_SCAN_ENTITY_PAGE_SIZE, } from "./shared.js";
|
|
29
|
+
import { buildObservedRowIndex, classifyDesiredRow, countExtraRowsForKeys, desiredRowIdentity, resolveObservedRow, } from "./diff.js";
|
|
30
30
|
import { appendEffectsWithSupersedes, } from "./enqueue.js";
|
|
31
31
|
import { buildCorrectionEffects, buildFailedHeadRepairPlan, } from "./repair.js";
|
|
32
32
|
/**
|
|
@@ -84,34 +84,39 @@ async function scanAndEnqueue(context) {
|
|
|
84
84
|
// anchors (only user_input tabs carry the row-id system column).
|
|
85
85
|
const observed = await observeSyncSnapshot(context.provider, snapshotRequest);
|
|
86
86
|
const snapshot = observed.snapshot;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
snapshot,
|
|
90
|
-
desired,
|
|
91
|
-
systemFields: context.systemFields,
|
|
92
|
-
sheet,
|
|
93
|
-
});
|
|
87
|
+
// The desired state streams in keyset pages inside one read: only one
|
|
88
|
+
// chunk of flat canonical rows plus repair decisions are ever retained.
|
|
94
89
|
// A terminal failed head on a stream whose Sheet row already matches
|
|
95
90
|
// canonical is invisible to the drift detector, yet it still blocks every
|
|
96
|
-
// follower through the durable predecessor guard.
|
|
97
|
-
//
|
|
98
|
-
|
|
91
|
+
// follower through the durable predecessor guard. Those heads are detected
|
|
92
|
+
// inline (per matched row) so a matching Sheet recovers its stream even
|
|
93
|
+
// when nothing drifted.
|
|
94
|
+
const scan = await scanDesiredChunked(context, snapshot, sheet.businessKeyField);
|
|
95
|
+
const desiredCount = scan.desiredCount;
|
|
96
|
+
const drifts = scan.drifts;
|
|
97
|
+
const wedgedTargets = scan.wedgedTargets;
|
|
98
|
+
const drifted = drifts.filter((drift) => drift.kind === "drifted").length;
|
|
99
|
+
const missing = drifts.filter((drift) => drift.kind === "missing").length;
|
|
100
|
+
// Matched means located but not necessarily clean: drifted rows still own
|
|
101
|
+
// their Sheet row, so matched is scanned-minus-missing exactly as before.
|
|
102
|
+
const matched = desiredCount - missing;
|
|
103
|
+
const extra = () => countExtraRowsForKeys(snapshot, sheet.businessKeyField, scan.desiredAnchors, scan.desiredIdentities);
|
|
99
104
|
if (drifts.length === 0 && wedgedTargets.length === 0) {
|
|
100
|
-
return freezeReport(context.physicalSheetId, snapshot,
|
|
101
|
-
matched
|
|
105
|
+
return freezeReport(context.physicalSheetId, snapshot, desiredCount, {
|
|
106
|
+
matched,
|
|
102
107
|
drifted: 0,
|
|
103
108
|
missing: 0,
|
|
104
|
-
extra:
|
|
109
|
+
extra: extra(),
|
|
105
110
|
effects: 0,
|
|
106
111
|
fenceClaimed: false,
|
|
107
112
|
});
|
|
108
113
|
}
|
|
109
114
|
const fence = await claimReconcilerFence(context);
|
|
110
115
|
if (fence === null) {
|
|
111
|
-
return freezeReport(context.physicalSheetId, snapshot,
|
|
112
|
-
matched
|
|
113
|
-
drifted
|
|
114
|
-
missing
|
|
116
|
+
return freezeReport(context.physicalSheetId, snapshot, desiredCount, {
|
|
117
|
+
matched,
|
|
118
|
+
drifted,
|
|
119
|
+
missing,
|
|
115
120
|
extra: 0,
|
|
116
121
|
effects: 0,
|
|
117
122
|
fenceClaimed: false,
|
|
@@ -127,55 +132,100 @@ async function scanAndEnqueue(context) {
|
|
|
127
132
|
}
|
|
128
133
|
const plans = [...driftPlans, ...wedgeRepairPlans];
|
|
129
134
|
if (plans.length === 0) {
|
|
130
|
-
return freezeReport(context.physicalSheetId, snapshot,
|
|
131
|
-
matched
|
|
132
|
-
drifted
|
|
133
|
-
missing
|
|
134
|
-
extra:
|
|
135
|
+
return freezeReport(context.physicalSheetId, snapshot, desiredCount, {
|
|
136
|
+
matched,
|
|
137
|
+
drifted,
|
|
138
|
+
missing,
|
|
139
|
+
extra: extra(),
|
|
135
140
|
effects: 0,
|
|
136
141
|
fenceClaimed: true,
|
|
137
142
|
});
|
|
138
143
|
}
|
|
139
144
|
const enqueued = await enqueueCorrections(context, fence, plans);
|
|
140
145
|
if (enqueued === 0) {
|
|
141
|
-
return freezeReport(context.physicalSheetId, snapshot,
|
|
142
|
-
matched
|
|
143
|
-
drifted
|
|
144
|
-
missing
|
|
145
|
-
extra:
|
|
146
|
+
return freezeReport(context.physicalSheetId, snapshot, desiredCount, {
|
|
147
|
+
matched,
|
|
148
|
+
drifted,
|
|
149
|
+
missing,
|
|
150
|
+
extra: extra(),
|
|
146
151
|
effects: 0,
|
|
147
152
|
fenceClaimed: true,
|
|
148
153
|
});
|
|
149
154
|
}
|
|
150
|
-
return freezeReport(context.physicalSheetId, snapshot,
|
|
151
|
-
matched
|
|
152
|
-
drifted
|
|
153
|
-
missing
|
|
154
|
-
extra:
|
|
155
|
+
return freezeReport(context.physicalSheetId, snapshot, desiredCount, {
|
|
156
|
+
matched,
|
|
157
|
+
drifted,
|
|
158
|
+
missing,
|
|
159
|
+
extra: extra(),
|
|
155
160
|
effects: enqueued,
|
|
156
161
|
fenceClaimed: true,
|
|
157
162
|
});
|
|
158
163
|
}
|
|
159
164
|
/**
|
|
160
|
-
*
|
|
161
|
-
* whose Sheet state already matches canonical (no drift) plus each row's
|
|
162
|
-
* observed snapshot evidence.
|
|
165
|
+
* Streams the desired state in keyset pages inside one read.
|
|
163
166
|
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
167
|
+
* Only one page of flat canonical rows is materialized at a time; completed
|
|
168
|
+
* entities are classified against the scan-wide snapshot index immediately
|
|
169
|
+
* and dropped unless they drift (repair decision) or sit behind a terminal
|
|
170
|
+
* failed head (wedged repair). Drift plans already supersede the failed head
|
|
171
|
+
* of their own stream, so only drift-free rows become wedged targets, with
|
|
172
|
+
* the observed row attached so the repair baseline can guard on the row's
|
|
173
|
+
* current visible hash. The scan stays eventually consistent: concurrent
|
|
174
|
+
* writes between pages surface on the next 60s scan.
|
|
169
175
|
*/
|
|
170
|
-
async function
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
async function scanDesiredChunked(context, snapshot, businessKeyField) {
|
|
177
|
+
return context.storage.read(async ({ sql }) => {
|
|
178
|
+
const index = buildObservedRowIndex(snapshot, businessKeyField);
|
|
179
|
+
const terminalFailedHeads = await readTerminalFailedHeadsWithSql(sql, context.logicalSheetId);
|
|
180
|
+
const drifts = [];
|
|
181
|
+
const wedgedTargets = [];
|
|
182
|
+
// Lightweight report keys only: anchors (first row wins) and identities.
|
|
183
|
+
// Full desired rows never accumulate; matched rows are dropped inline.
|
|
184
|
+
const desiredAnchors = new Map();
|
|
185
|
+
const desiredIdentities = new Set();
|
|
186
|
+
let desiredCount = 0;
|
|
187
|
+
let after;
|
|
188
|
+
let carry;
|
|
189
|
+
const classifyRow = (desired) => {
|
|
190
|
+
desiredCount += 1;
|
|
191
|
+
if (!desiredAnchors.has(desired.anchorReference)) {
|
|
192
|
+
desiredAnchors.set(desired.anchorReference, desiredRowIdentity(desired, businessKeyField));
|
|
193
|
+
}
|
|
194
|
+
const identity = desiredRowIdentity(desired, businessKeyField);
|
|
195
|
+
if (identity !== undefined)
|
|
196
|
+
desiredIdentities.add(identity);
|
|
197
|
+
const drift = classifyDesiredRow(index, desired, context.systemFields, businessKeyField);
|
|
198
|
+
if (drift !== undefined) {
|
|
199
|
+
drifts.push(drift);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (terminalFailedHeads.has(desired.entityId)) {
|
|
203
|
+
wedgedTargets.push({
|
|
204
|
+
desired,
|
|
205
|
+
observed: resolveObservedRow(index, desired, businessKeyField),
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
for (;;) {
|
|
210
|
+
const chunk = await readReconciliationDesiredSystemStateChunkWithSql(sql, context.logicalSheetId, after);
|
|
211
|
+
// Whole-entity chunks: the cursor is the last entity paged, including
|
|
212
|
+
// binding-less ones that emit no rows, so no entity's rows can be
|
|
213
|
+
// skipped or repeated across chunks.
|
|
214
|
+
if (chunk.entityCount === 0 || chunk.lastEntityId === undefined)
|
|
215
|
+
break;
|
|
216
|
+
after = { entityId: chunk.lastEntityId };
|
|
217
|
+
const assembled = assembleDesiredChunk(chunk.rows, carry, context.tombstoneField);
|
|
218
|
+
carry = assembled.carry;
|
|
219
|
+
for (const desired of assembled.completed)
|
|
220
|
+
classifyRow(desired);
|
|
221
|
+
if (chunk.entityCount < RECONCILIATION_SCAN_ENTITY_PAGE_SIZE)
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
const flushed = flushDesiredCarry(carry, context.tombstoneField);
|
|
225
|
+
if (flushed !== undefined)
|
|
226
|
+
classifyRow(flushed);
|
|
227
|
+
return { desiredCount, drifts, wedgedTargets, desiredAnchors, desiredIdentities };
|
|
228
|
+
});
|
|
179
229
|
}
|
|
180
230
|
/**
|
|
181
231
|
* Enqueues planned corrections under the reconciler fence.
|
|
@@ -244,11 +294,11 @@ async function claimReconcilerFence(context) {
|
|
|
244
294
|
now: context.now(),
|
|
245
295
|
};
|
|
246
296
|
}
|
|
247
|
-
function freezeReport(physicalSheetId, snapshot,
|
|
297
|
+
function freezeReport(physicalSheetId, snapshot, desiredCount, delta) {
|
|
248
298
|
return {
|
|
249
299
|
physicalSheetId,
|
|
250
300
|
snapshotRowsScanned: snapshot.rows.length,
|
|
251
|
-
desiredRowsScanned:
|
|
301
|
+
desiredRowsScanned: desiredCount,
|
|
252
302
|
matchedRows: delta.matched,
|
|
253
303
|
driftedRows: delta.drifted,
|
|
254
304
|
missingRows: delta.missing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconciliationScanner.js","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReconciliationScanner.js","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"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"}
|