hikoutei 0.10.15-dev → 0.10.17-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/README.md +3 -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/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
|
@@ -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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"}
|
|
@@ -106,6 +106,21 @@ export interface CleanupCanonicalRow {
|
|
|
106
106
|
readonly fields: Record<string, NormalizedCell>;
|
|
107
107
|
readonly fieldRevisionHash: string;
|
|
108
108
|
}
|
|
109
|
+
interface CleanupCanonicalSqlShape {
|
|
110
|
+
readonly entity_id: string;
|
|
111
|
+
readonly row_binding_id: string;
|
|
112
|
+
readonly anchor_reference: string;
|
|
113
|
+
readonly field_name: string;
|
|
114
|
+
readonly normalized_value: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Whole-entity canonical pages are assembled from the storage-owned
|
|
118
|
+
* entity-batch primitives (same bounded access path as the desired-state
|
|
119
|
+
* pages: PK-ordered entities, PK-prefix fields, covering binding seeks).
|
|
120
|
+
* A flat cross-table keyset cannot page here: duplicate `(entity, field)`
|
|
121
|
+
* keys across several active bindings of one entity would be skipped by a
|
|
122
|
+
* `(entity_id, field_name)` cursor, silently dropping a binding's fields.
|
|
123
|
+
*/
|
|
109
124
|
/**
|
|
110
125
|
* Stable binding-keyed stream target id shared with flush projections and
|
|
111
126
|
* resolution reconciles. Bound-row cleanup corrections must stream under the
|
|
@@ -125,6 +140,100 @@ export declare function readCleanupProtectedBindingsWithSql(sql: SqlExecutor, ph
|
|
|
125
140
|
export declare function readCleanupEvidenceWithSql(sql: SqlExecutor, logicalSheetId: string, physicalSheetId: string): Promise<CleanupEvidence>;
|
|
126
141
|
/** Reads cleanup evidence through a fresh adapter read context. */
|
|
127
142
|
export declare function readCleanupEvidence(storage: SqlStorageAdapter, logicalSheetId: string, physicalSheetId: string): Promise<CleanupEvidence>;
|
|
143
|
+
/** Keyset cursor for a paged cleanup binding chunk: the last id already seen. */
|
|
144
|
+
export interface CleanupBindingsCursor {
|
|
145
|
+
readonly rowBindingId: string;
|
|
146
|
+
}
|
|
147
|
+
/** Keyset cursor for a paged canonical chunk: the last entity already seen. */
|
|
148
|
+
export interface CleanupCanonicalCursor {
|
|
149
|
+
readonly entityId: string;
|
|
150
|
+
}
|
|
151
|
+
/** One entity-batched canonical chunk: whole entities plus progress. */
|
|
152
|
+
export interface CleanupCanonicalEntityChunk {
|
|
153
|
+
readonly rows: readonly CleanupCanonicalSqlShape[];
|
|
154
|
+
/** Entities paged (including binding-less ones) — the termination signal. */
|
|
155
|
+
readonly entityCount: number;
|
|
156
|
+
/** Last entity paged — the next cursor (absent only when empty). */
|
|
157
|
+
readonly lastEntityId: string | undefined;
|
|
158
|
+
}
|
|
159
|
+
/** Reads one bounded page of row bindings in `row_binding_id` order. */
|
|
160
|
+
export declare function readCleanupBindingsChunkWithSql(sql: SqlExecutor, logicalSheetId: string, after: CleanupBindingsCursor | undefined, limit?: number): Promise<readonly CleanupBinding[]>;
|
|
161
|
+
/**
|
|
162
|
+
* Reads one bounded chunk of whole entities as flat canonical user-owned
|
|
163
|
+
* rows, in global entity order. Pass no cursor for the first chunk, then
|
|
164
|
+
* `{ entityId }` of the last entity paged; an empty chunk (or
|
|
165
|
+
* `entityCount < limit`) ends the scan. Only `limit` entities are ever
|
|
166
|
+
* materialized per call. Multi-binding entities emit one row per
|
|
167
|
+
* (binding, field) with the smallest `row_binding_id` first, so no
|
|
168
|
+
* binding's fields can be skipped across chunks by construction.
|
|
169
|
+
*/
|
|
170
|
+
export declare function readCleanupCanonicalChunkWithSql(sql: SqlExecutor, logicalSheetId: string, after: CleanupCanonicalCursor | undefined, limit?: number): Promise<CleanupCanonicalEntityChunk>;
|
|
171
|
+
/** One entity's canonical bindings accumulated across chunk boundaries. */
|
|
172
|
+
export interface PartialCleanupCanonical {
|
|
173
|
+
readonly entityId: string;
|
|
174
|
+
readonly partials: ReadonlyMap<string, {
|
|
175
|
+
readonly entityId: string;
|
|
176
|
+
readonly rowBindingId: string;
|
|
177
|
+
readonly anchorReference: string;
|
|
178
|
+
readonly fields: Record<string, NormalizedCell>;
|
|
179
|
+
}>;
|
|
180
|
+
}
|
|
181
|
+
/** Completed canonical rows plus the trailing entity still missing fields. */
|
|
182
|
+
export interface CleanupCanonicalChunkResult {
|
|
183
|
+
readonly completed: readonly CleanupCanonicalRow[];
|
|
184
|
+
readonly carry: PartialCleanupCanonical | undefined;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Groups one ordered page of canonical rows into completed canonical rows.
|
|
188
|
+
*
|
|
189
|
+
* A page may split an entity's fields across the boundary, and several
|
|
190
|
+
* bindings may share one entity, so the trailing entity is returned as
|
|
191
|
+
* `carry` (all of its bindings) and must seed the next call; only the flush
|
|
192
|
+
* after the last page finalizes it. Completed rows hash exactly like the
|
|
193
|
+
* full-load grouping, in global entity order.
|
|
194
|
+
*/
|
|
195
|
+
export declare function assembleCleanupCanonicalChunk(rows: readonly CleanupCanonicalSqlShape[], carry: PartialCleanupCanonical | undefined): CleanupCanonicalChunkResult;
|
|
196
|
+
/** Finalizes the trailing entity's canonical rows after the last page. */
|
|
197
|
+
export declare function flushCleanupCanonicalCarry(carry: PartialCleanupCanonical | undefined): readonly CleanupCanonicalRow[];
|
|
198
|
+
/** Snapshot rows grouped by anchor for the chunked cleanup scan. */
|
|
199
|
+
export interface CleanupSnapshotIndex {
|
|
200
|
+
readonly groupsByAnchor: ReadonlyMap<string, readonly CleanupRow[]>;
|
|
201
|
+
readonly duplicateAnchors: ReadonlySet<string>;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Groups decoded snapshot rows by anchor once per scan. The maps hold
|
|
205
|
+
* references to the decoded rows; no snapshot data is copied.
|
|
206
|
+
*/
|
|
207
|
+
export declare function buildCleanupSnapshotIndex(rows: readonly CleanupRow[]): CleanupSnapshotIndex;
|
|
208
|
+
/** Streaming evidence for one cleanup scan: small maps plus drifted rewrites. */
|
|
209
|
+
export interface CleanupStreamEvidence {
|
|
210
|
+
readonly bindingsByAnchor: ReadonlyMap<string, CleanupBinding>;
|
|
211
|
+
readonly candidateHashes: ReadonlyMap<string, string>;
|
|
212
|
+
readonly canonicalAnchors: ReadonlySet<string>;
|
|
213
|
+
readonly rewriteByAnchor: ReadonlyMap<string, CleanupTarget>;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Streams binding/canonical/candidate evidence in keyset pages inside the
|
|
217
|
+
* caller's SQL context.
|
|
218
|
+
*
|
|
219
|
+
* Only one page of canonical rows is materialized at a time; completed
|
|
220
|
+
* canonical rows are rewrite-checked against the snapshot index immediately
|
|
221
|
+
* and dropped unless drifted. Retained state is small bindings, candidate
|
|
222
|
+
* hashes, canonical anchor keys, and drifted rewrite targets — never the
|
|
223
|
+
* full canonical table.
|
|
224
|
+
*/
|
|
225
|
+
export declare function readCleanupStreamEvidenceWithSql(sql: SqlExecutor, logicalSheetId: string, physicalSheetId: string, snapshot: CleanupSnapshotIndex): Promise<CleanupStreamEvidence>;
|
|
226
|
+
/**
|
|
227
|
+
* Classifies snapshot rows into correction targets in full-load order.
|
|
228
|
+
*
|
|
229
|
+
* Mirrors `classifyCleanupRows` decision-for-decision (duplicate deletes
|
|
230
|
+
* first in first-seen anchor order, then snapshot row order for rewrites
|
|
231
|
+
* and surplus deletes) while reading rewrites from the streamed evidence:
|
|
232
|
+
* bound non-duplicate anchors resolve through `rewriteByAnchor`, every
|
|
233
|
+
* other row through the binding map. The target sequence is identical to
|
|
234
|
+
* the full-load scan, so repair effect ids stay stable across the switch.
|
|
235
|
+
*/
|
|
236
|
+
export declare function classifyCleanupStreamTargets(rows: readonly CleanupRow[], snapshot: CleanupSnapshotIndex, evidence: CleanupStreamEvidence): readonly CleanupTarget[];
|
|
128
237
|
/**
|
|
129
238
|
* Decodes snapshot rows into cleanup rows.
|
|
130
239
|
*
|
|
@@ -210,4 +319,5 @@ export declare function buildCleanupEffects(context: CleanupEffectContext, sheet
|
|
|
210
319
|
readonly tabName: string;
|
|
211
320
|
readonly registeredRange: string;
|
|
212
321
|
}, targets: readonly CleanupTarget[]): Promise<readonly CleanupPlan[]>;
|
|
322
|
+
export {};
|
|
213
323
|
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAK5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/sync/outbound/reconciliation/cleanup.ts"],"names":[],"mappings":"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"}
|