hikoutei 0.8.58 → 0.8.59
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/application/sync/outbound/SheetsEffectDispatcher.d.ts +0 -41
- package/dist/application/sync/outbound/SheetsEffectDispatcher.d.ts.map +1 -1
- package/dist/application/sync/outbound/SheetsEffectDispatcher.js +3 -85
- package/dist/application/sync/outbound/SheetsEffectDispatcher.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +5 -39
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/diff.d.ts +1 -19
- package/dist/application/sync/outbound/reconciliation/diff.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/diff.js +17 -60
- package/dist/application/sync/outbound/reconciliation/diff.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/repair.d.ts +3 -34
- package/dist/application/sync/outbound/reconciliation/repair.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/repair.js +47 -120
- package/dist/application/sync/outbound/reconciliation/repair.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/shared.d.ts +0 -20
- package/dist/application/sync/outbound/reconciliation/shared.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/shared.js +0 -35
- package/dist/application/sync/outbound/reconciliation/shared.js.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.js +10 -2
- package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
- package/dist/application/sync/service/effectSupervisor.d.ts.map +1 -1
- package/dist/application/sync/service/effectSupervisor.js +85 -9
- package/dist/application/sync/service/effectSupervisor.js.map +1 -1
- package/dist/application/sync/service/pollingSupervisor.d.ts.map +1 -1
- package/dist/application/sync/service/pollingSupervisor.js +53 -2
- package/dist/application/sync/service/pollingSupervisor.js.map +1 -1
- package/dist/application/sync/service/serviceOptions.d.ts.map +1 -1
- package/dist/application/sync/service/serviceOptions.js +27 -17
- package/dist/application/sync/service/serviceOptions.js.map +1 -1
- package/dist/application/sync/service/shutdown.d.ts.map +1 -1
- package/dist/application/sync/service/shutdown.js +6 -2
- package/dist/application/sync/service/shutdown.js.map +1 -1
- package/dist/application/sync/service/syncAutoStart.d.ts +71 -6
- package/dist/application/sync/service/syncAutoStart.d.ts.map +1 -1
- package/dist/application/sync/service/syncAutoStart.js +193 -24
- package/dist/application/sync/service/syncAutoStart.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,34 +12,6 @@ import type { FencingContext, PendingEffect, Presence } from "@hikoutei/ikisaki"
|
|
|
12
12
|
import { type ApplyOutcome, type CandidateGateResult, type ClaimedEffect, type Dispatcher, type DispatchRequest, type FastAppendOutcome, type PostconditionOutcome } from "@hikoutei/ikisaki";
|
|
13
13
|
import type { SqlStorageAdapter } from "../../../adapter/persistence/contracts/sql.js";
|
|
14
14
|
import { type SyncProjectionEffect, type SyncEffectWorkerProvider } from "../sheetsContract/syncSheets.js";
|
|
15
|
-
/**
|
|
16
|
-
* Dispatch-priority classes for ready projection effects.
|
|
17
|
-
*
|
|
18
|
-
* The worker runs ready effects in ascending declared priority across both
|
|
19
|
-
* dispatch buckets, so System_State converges ahead of unrelated work within
|
|
20
|
-
* the bounded soak convergence deadline. Only the dispatch sequence changes:
|
|
21
|
-
* claim windows, leases, fencing, per-target predecessor ordering, the
|
|
22
|
-
* limiter, and bounded fairness are untouched, and unready predecessors are
|
|
23
|
-
* never forced.
|
|
24
|
-
*/
|
|
25
|
-
export declare const SYNC_DISPATCH_PRIORITIES: {
|
|
26
|
-
/** New System_State entity rows appended through the fast path first. */
|
|
27
|
-
readonly SYSTEM_STATE_FAST_APPEND: 0;
|
|
28
|
-
/** System_State update/delete/tombstone followers through the CAS path. */
|
|
29
|
-
readonly SYSTEM_STATE_REGULAR: 1;
|
|
30
|
-
/** New Sync_Conflicts resolution rows appended through the fast path. */
|
|
31
|
-
readonly SYNC_CONFLICTS_FAST_APPEND: 2;
|
|
32
|
-
/** User_Input and every other regular effect (repairs, deletes, resolves). */
|
|
33
|
-
readonly OTHER_REGULAR: 3;
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Declares the dispatch-priority class of one pending effect.
|
|
37
|
-
*
|
|
38
|
-
* No-throw contract like the other classification predicates: a malformed
|
|
39
|
-
* payload degrades to the neutral `OTHER_REGULAR` priority instead of
|
|
40
|
-
* aborting the pass.
|
|
41
|
-
*/
|
|
42
|
-
export declare function sheetsDispatchPriorityFor(effect: PendingEffect): number;
|
|
43
15
|
/**
|
|
44
16
|
* Builds the stable grouping key shared by all provider operations on one
|
|
45
17
|
* route. The route includes payload-derived tab/range/schema fields, so one
|
|
@@ -73,7 +45,6 @@ export declare class SheetsEffectDispatcher implements Dispatcher {
|
|
|
73
45
|
});
|
|
74
46
|
routeKeyFor(effect: PendingEffect): string;
|
|
75
47
|
isFastAppendCandidate(effect: PendingEffect): boolean;
|
|
76
|
-
dispatchPriorityFor(effect: PendingEffect): number;
|
|
77
48
|
payloadValidationError(effect: PendingEffect): Presence<string>;
|
|
78
49
|
/** Dispatches append-only rows through the idempotent provider batch operation. */
|
|
79
50
|
fastAppend(request: DispatchRequest): Promise<FastAppendOutcome>;
|
|
@@ -89,17 +60,5 @@ export declare class SheetsEffectDispatcher implements Dispatcher {
|
|
|
89
60
|
gate(items: readonly ClaimedEffect[]): Promise<CandidateGateResult>;
|
|
90
61
|
/** Refreshes the dispatch authority claim for one physical sheet. */
|
|
91
62
|
ensureAuthority(fence: FencingContext, physicalSheetId: string, ownerId: string): Promise<boolean>;
|
|
92
|
-
/**
|
|
93
|
-
* Runs one provider remote call with the worker's before-remote renewal.
|
|
94
|
-
*
|
|
95
|
-
* When the provider exposes the coordinator's `runSerializedInner`, the
|
|
96
|
-
* renewal hook runs AFTER the physical-sheet mutation lane is acquired and
|
|
97
|
-
* BEFORE the inner provider call, so lane queue time and shared limiter
|
|
98
|
-
* waits cannot outlive the effect lease. Bare providers without the hook
|
|
99
|
-
* get the renewal directly before the call. A failed renewal aborts with a
|
|
100
|
-
* classified delivery-uncertain error before any remote request so the
|
|
101
|
-
* worker requeues the batch through the durable outbox.
|
|
102
|
-
*/
|
|
103
|
-
private dispatchBeforeRemote;
|
|
104
63
|
}
|
|
105
64
|
//# sourceMappingURL=SheetsEffectDispatcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetsEffectDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/outbound/SheetsEffectDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,eAAe,EAEpB,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"SheetsEffectDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/outbound/SheetsEffectDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,eAAe,EAEpB,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAiBvF,OAAO,EAOL,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAgBzC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAS/D;AAED,yEAAyE;AACzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAOpF;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAM1E;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAcxE;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,UAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEzB,OAAO,EAAE;QAC1B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;QAC5C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;KACrC;IAKM,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAI1C,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIrD,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;IAItE,mFAAmF;IACtE,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2C7E,gEAAgE;IACnD,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAyBnE,6EAA6E;IAChE,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4BxF;;;;OAIG;IACU,IAAI,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoChF,qEAAqE;IACxD,eAAe,CAC1B,KAAK,EAAE,cAAc,EACrB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC;CAQpB"}
|
|
@@ -15,59 +15,10 @@ import { absentValue, presentValue, } from "../../../shared/state/index.js";
|
|
|
15
15
|
import { stableHash } from "../../../shared/encoding/stableEncode.js";
|
|
16
16
|
import { hasActiveUserInputCandidateWithSql, } from "../../../infrastructure/storage/sync/outbound/effectWorkerSql.js";
|
|
17
17
|
import { ensureSpreadsheetAuthorityWithAdapter, } from "../../../infrastructure/storage/sync/shared/spreadsheetAuthority.js";
|
|
18
|
-
import { hasCoordinatedSerializedInner, CoordinatedLanePreconditionError, } from "../sheetsContract/mutationCoordinator/CoordinatedSheetsProvider.js";
|
|
19
18
|
import { parseSyncProjectionEffectPayload, } from "../sheetsContract/syncSheets.js";
|
|
20
19
|
import { SYNC_EFFECT_RESULT_STATUSES, SYNC_FAST_APPEND_STATUSES, SYNC_POSTCONDITION_DISPOSITIONS, SYNC_POSTCONDITION_MODES, SYNC_POSTCONDITION_STATUSES, SYNC_PROJECTIONS, } from "../sheetsContract/constants.js";
|
|
21
20
|
import { classifyTransportOutcome, TRANSPORT_OUTCOME_KINDS, } from "../sheetsContract/transportOutcome.js";
|
|
22
21
|
import { fromSqlNullable } from "../../../infrastructure/storage/sqlite/sqlState.js";
|
|
23
|
-
/**
|
|
24
|
-
* Dispatch-priority classes for ready projection effects.
|
|
25
|
-
*
|
|
26
|
-
* The worker runs ready effects in ascending declared priority across both
|
|
27
|
-
* dispatch buckets, so System_State converges ahead of unrelated work within
|
|
28
|
-
* the bounded soak convergence deadline. Only the dispatch sequence changes:
|
|
29
|
-
* claim windows, leases, fencing, per-target predecessor ordering, the
|
|
30
|
-
* limiter, and bounded fairness are untouched, and unready predecessors are
|
|
31
|
-
* never forced.
|
|
32
|
-
*/
|
|
33
|
-
export const SYNC_DISPATCH_PRIORITIES = {
|
|
34
|
-
/** New System_State entity rows appended through the fast path first. */
|
|
35
|
-
SYSTEM_STATE_FAST_APPEND: 0,
|
|
36
|
-
/** System_State update/delete/tombstone followers through the CAS path. */
|
|
37
|
-
SYSTEM_STATE_REGULAR: 1,
|
|
38
|
-
/** New Sync_Conflicts resolution rows appended through the fast path. */
|
|
39
|
-
SYNC_CONFLICTS_FAST_APPEND: 2,
|
|
40
|
-
/** User_Input and every other regular effect (repairs, deletes, resolves). */
|
|
41
|
-
OTHER_REGULAR: 3,
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Declares the dispatch-priority class of one pending effect.
|
|
45
|
-
*
|
|
46
|
-
* No-throw contract like the other classification predicates: a malformed
|
|
47
|
-
* payload degrades to the neutral `OTHER_REGULAR` priority instead of
|
|
48
|
-
* aborting the pass.
|
|
49
|
-
*/
|
|
50
|
-
export function sheetsDispatchPriorityFor(effect) {
|
|
51
|
-
try {
|
|
52
|
-
const converted = toProviderEffect(effect);
|
|
53
|
-
if (converted.effectKind === EFFECT_KINDS.SYSTEM_PROJECTION &&
|
|
54
|
-
converted.projection === SYNC_PROJECTIONS.SYSTEM_STATE) {
|
|
55
|
-
return isFastAppendEffect(converted)
|
|
56
|
-
? SYNC_DISPATCH_PRIORITIES.SYSTEM_STATE_FAST_APPEND
|
|
57
|
-
: SYNC_DISPATCH_PRIORITIES.SYSTEM_STATE_REGULAR;
|
|
58
|
-
}
|
|
59
|
-
if (converted.effectKind === EFFECT_KINDS.RESOLUTION_PROJECTION &&
|
|
60
|
-
converted.projection === SYNC_PROJECTIONS.SYNC_CONFLICTS &&
|
|
61
|
-
isFastAppendEffect(converted)) {
|
|
62
|
-
return SYNC_DISPATCH_PRIORITIES.SYNC_CONFLICTS_FAST_APPEND;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
// Malformed payloads keep the neutral class; the worker's own
|
|
67
|
-
// payload validation fails them through the invalid-payload path.
|
|
68
|
-
}
|
|
69
|
-
return SYNC_DISPATCH_PRIORITIES.OTHER_REGULAR;
|
|
70
|
-
}
|
|
71
22
|
/**
|
|
72
23
|
* Builds the stable grouping key shared by all provider operations on one
|
|
73
24
|
* route. The route includes payload-derived tab/range/schema fields, so one
|
|
@@ -140,19 +91,15 @@ export class SheetsEffectDispatcher {
|
|
|
140
91
|
isFastAppendCandidate(effect) {
|
|
141
92
|
return isSheetsFastAppendCandidate(effect);
|
|
142
93
|
}
|
|
143
|
-
dispatchPriorityFor(effect) {
|
|
144
|
-
return sheetsDispatchPriorityFor(effect);
|
|
145
|
-
}
|
|
146
94
|
payloadValidationError(effect) {
|
|
147
95
|
return sheetsPayloadValidationError(effect);
|
|
148
96
|
}
|
|
149
97
|
/** Dispatches append-only rows through the idempotent provider batch operation. */
|
|
150
98
|
async fastAppend(request) {
|
|
151
99
|
const providerRequest = buildFastAppendRowsRequest(request.effects);
|
|
152
|
-
const physicalSheetId = request.effects[0].physical_sheet_id;
|
|
153
100
|
let response;
|
|
154
101
|
try {
|
|
155
|
-
response = await this.
|
|
102
|
+
response = await this.provider.fastAppendRows(providerRequest);
|
|
156
103
|
}
|
|
157
104
|
catch (error) {
|
|
158
105
|
throw toDispatchTransportError(error);
|
|
@@ -204,7 +151,7 @@ export class SheetsEffectDispatcher {
|
|
|
204
151
|
};
|
|
205
152
|
let response;
|
|
206
153
|
try {
|
|
207
|
-
response = await this.
|
|
154
|
+
response = await this.provider.applyEffects(providerRequest);
|
|
208
155
|
}
|
|
209
156
|
catch (error) {
|
|
210
157
|
throw toDispatchTransportError(error);
|
|
@@ -229,7 +176,7 @@ export class SheetsEffectDispatcher {
|
|
|
229
176
|
};
|
|
230
177
|
let response;
|
|
231
178
|
try {
|
|
232
|
-
response = await this.
|
|
179
|
+
response = await this.provider.readEffectPostconditions(providerRequest);
|
|
233
180
|
}
|
|
234
181
|
catch (error) {
|
|
235
182
|
throw toDispatchTransportError(error);
|
|
@@ -293,28 +240,6 @@ export class SheetsEffectDispatcher {
|
|
|
293
240
|
});
|
|
294
241
|
return result.kind === "claimed";
|
|
295
242
|
}
|
|
296
|
-
/**
|
|
297
|
-
* Runs one provider remote call with the worker's before-remote renewal.
|
|
298
|
-
*
|
|
299
|
-
* When the provider exposes the coordinator's `runSerializedInner`, the
|
|
300
|
-
* renewal hook runs AFTER the physical-sheet mutation lane is acquired and
|
|
301
|
-
* BEFORE the inner provider call, so lane queue time and shared limiter
|
|
302
|
-
* waits cannot outlive the effect lease. Bare providers without the hook
|
|
303
|
-
* get the renewal directly before the call. A failed renewal aborts with a
|
|
304
|
-
* classified delivery-uncertain error before any remote request so the
|
|
305
|
-
* worker requeues the batch through the durable outbox.
|
|
306
|
-
*/
|
|
307
|
-
async dispatchBeforeRemote(physicalSheetId, operation, beforeRemoteDispatch, remote) {
|
|
308
|
-
if (beforeRemoteDispatch === undefined)
|
|
309
|
-
return remote(this.provider);
|
|
310
|
-
if (hasCoordinatedSerializedInner(this.provider)) {
|
|
311
|
-
return this.provider.runSerializedInner(physicalSheetId, operation, (inner) => remote(inner), beforeRemoteDispatch);
|
|
312
|
-
}
|
|
313
|
-
if (!(await beforeRemoteDispatch())) {
|
|
314
|
-
throw new CoordinatedLanePreconditionError();
|
|
315
|
-
}
|
|
316
|
-
return remote(this.provider);
|
|
317
|
-
}
|
|
318
243
|
}
|
|
319
244
|
function buildFastAppendRowsRequest(effects) {
|
|
320
245
|
const converted = effects.map((pending) => toProviderEffect(pending));
|
|
@@ -504,13 +429,6 @@ function isEffectTargetKind(value) {
|
|
|
504
429
|
value === EFFECT_TARGET_KINDS.CONFLICT;
|
|
505
430
|
}
|
|
506
431
|
function toDispatchTransportError(error) {
|
|
507
|
-
if (error instanceof CoordinatedLanePreconditionError) {
|
|
508
|
-
// A failed in-lane lease renewal proves no remote request was sent, but
|
|
509
|
-
// the effects were already requeued through the durable outbox; keep the
|
|
510
|
-
// batch retryable (delivery_uncertain) instead of closing it as an
|
|
511
|
-
// explicit remote failure. The message is static and redacted.
|
|
512
|
-
return new DispatchTransportError("delivery_uncertain", error.message);
|
|
513
|
-
}
|
|
514
432
|
const outcome = classifyTransportOutcome(error);
|
|
515
433
|
return new DispatchTransportError(outcome.kind === TRANSPORT_OUTCOME_KINDS.EXPLICIT_REMOTE_FAILURE
|
|
516
434
|
? "explicit_remote_failure"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetsEffectDispatcher.js","sourceRoot":"","sources":["../../../../src/application/sync/outbound/SheetsEffectDispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SheetsEffectDispatcher.js","sourceRoot":"","sources":["../../../../src/application/sync/outbound/SheetsEffectDispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconciliationScanner.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,
|
|
1
|
+
{"version":3,"file":"ReconciliationScanner.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,EAML,KAAK,uBAAuB,EAE7B,MAAM,aAAa,CAAC;AAcrB,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;AAsPD,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC"}
|
|
@@ -25,10 +25,10 @@ import { requireRegisteredSyncSheetWithAdapter, } from "../../../../infrastructu
|
|
|
25
25
|
import { STORAGE_ERROR_CODES, StorageError } from "../../../../infrastructure/storage/errors.js";
|
|
26
26
|
import { observeSyncSnapshot, } from "../../sheetsContract/syncSheets.js";
|
|
27
27
|
import { SYNC_PROJECTIONS, SYNC_SNAPSHOT_READ_MODES, } from "../../sheetsContract/constants.js";
|
|
28
|
-
import { DEFAULT_RECONCILIATION_LEASE_MS, DEFAULT_RECONCILIATION_ROLE, DEFAULT_SYSTEM_TOMBSTONE_FIELD, readDesiredSystemState,
|
|
29
|
-
import { computeDrifts, countExtraRows, countMatchedRows,
|
|
28
|
+
import { DEFAULT_RECONCILIATION_LEASE_MS, DEFAULT_RECONCILIATION_ROLE, DEFAULT_SYSTEM_TOMBSTONE_FIELD, readDesiredSystemState, } from "./shared.js";
|
|
29
|
+
import { computeDrifts, countExtraRows, countMatchedRows, } from "./diff.js";
|
|
30
30
|
import { appendEffectsWithSupersedes, } from "./enqueue.js";
|
|
31
|
-
import { buildCorrectionEffects,
|
|
31
|
+
import { buildCorrectionEffects, } from "./repair.js";
|
|
32
32
|
/**
|
|
33
33
|
* Runs one reconciliation scan and enqueues correction effects for drift.
|
|
34
34
|
*
|
|
@@ -91,12 +91,7 @@ async function scanAndEnqueue(context) {
|
|
|
91
91
|
systemFields: context.systemFields,
|
|
92
92
|
sheet,
|
|
93
93
|
});
|
|
94
|
-
|
|
95
|
-
// canonical is invisible to the drift detector, yet it still blocks every
|
|
96
|
-
// follower through the durable predecessor guard. Detect those heads
|
|
97
|
-
// BEFORE the no-drift return so a matching Sheet recovers its stream.
|
|
98
|
-
const wedgedTargets = await findWedgedStreamTargets(context, sheet, snapshot, desired, drifts);
|
|
99
|
-
if (drifts.length === 0 && wedgedTargets.length === 0) {
|
|
94
|
+
if (drifts.length === 0) {
|
|
100
95
|
return freezeReport(context.physicalSheetId, snapshot, desired, {
|
|
101
96
|
matched: countMatchedRows(snapshot, desired, sheet.businessKeyField),
|
|
102
97
|
drifted: 0,
|
|
@@ -117,15 +112,7 @@ async function scanAndEnqueue(context) {
|
|
|
117
112
|
fenceClaimed: false,
|
|
118
113
|
});
|
|
119
114
|
}
|
|
120
|
-
const
|
|
121
|
-
const commitId = "reconciliation:" + context.createId();
|
|
122
|
-
const wedgeRepairPlans = [];
|
|
123
|
-
for (const target of wedgedTargets) {
|
|
124
|
-
const plan = await buildFailedHeadRepairPlan(context, sheet, target, commitId);
|
|
125
|
-
if (plan !== null)
|
|
126
|
-
wedgeRepairPlans.push(plan);
|
|
127
|
-
}
|
|
128
|
-
const plans = [...driftPlans, ...wedgeRepairPlans];
|
|
115
|
+
const plans = await buildCorrectionEffects(context, sheet, drifts);
|
|
129
116
|
if (plans.length === 0) {
|
|
130
117
|
return freezeReport(context.physicalSheetId, snapshot, desired, {
|
|
131
118
|
matched: countMatchedRows(snapshot, desired, sheet.businessKeyField),
|
|
@@ -156,27 +143,6 @@ async function scanAndEnqueue(context) {
|
|
|
156
143
|
fenceClaimed: true,
|
|
157
144
|
});
|
|
158
145
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Desired rows whose stream is wedged behind a terminal failed head and
|
|
161
|
-
* whose Sheet state already matches canonical (no drift) plus each row's
|
|
162
|
-
* observed snapshot evidence.
|
|
163
|
-
*
|
|
164
|
-
* Drift plans already supersede the failed head of their own stream, so
|
|
165
|
-
* only drift-free rows need a dedicated repair here. The observed row is
|
|
166
|
-
* attached so the repair baseline can guard on the row's current visible
|
|
167
|
-
* hash even when no confirmed visible state exists. Returns an empty list
|
|
168
|
-
* when there is nothing to scan or every desired row already drifted.
|
|
169
|
-
*/
|
|
170
|
-
async function findWedgedStreamTargets(context, sheet, snapshot, desired, drifts) {
|
|
171
|
-
if (desired.length === 0)
|
|
172
|
-
return [];
|
|
173
|
-
const driftedEntityIds = new Set(drifts.map((drift) => drift.desired.entityId));
|
|
174
|
-
const terminalFailedHeads = await readTerminalFailedHeads(context);
|
|
175
|
-
const observedRows = findObservedRows(snapshot, desired, sheet.businessKeyField);
|
|
176
|
-
return desired
|
|
177
|
-
.filter((row) => !driftedEntityIds.has(row.entityId) && terminalFailedHeads.has(row.entityId))
|
|
178
|
-
.map((row) => ({ desired: row, observed: observedRows.get(row.entityId) }));
|
|
179
|
-
}
|
|
180
146
|
/**
|
|
181
147
|
* Enqueues planned corrections under the reconciler fence.
|
|
182
148
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconciliationScanner.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAEL,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,GAEhC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qCAAqC,GACtC,MAAM,gEAAgE,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEjG,OAAO,EACL,mBAAmB,GAGpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ReconciliationScanner.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,20 +8,12 @@
|
|
|
8
8
|
* never prove ownership of a row.
|
|
9
9
|
*/
|
|
10
10
|
import type { NormalizedCell } from "../../../../shared/encoding/types.js";
|
|
11
|
-
import { type SyncSheetsSnapshot
|
|
11
|
+
import { type SyncSheetsSnapshot } from "../../sheetsContract/syncSheets.js";
|
|
12
12
|
import type { DesiredRow } from "./shared.js";
|
|
13
13
|
export type DriftKind = "drifted" | "missing";
|
|
14
14
|
export interface DriftTarget {
|
|
15
15
|
readonly kind: DriftKind;
|
|
16
16
|
readonly desired: DesiredRow;
|
|
17
|
-
/**
|
|
18
|
-
* The observed snapshot row behind a drifted drift, so a repair planned
|
|
19
|
-
* for an existing row can guard on the row's CURRENT visible hash
|
|
20
|
-
* (computed from the exact System_State fields) instead of assuming an
|
|
21
|
-
* insert when no confirmed visible evidence exists. `undefined` for
|
|
22
|
-
* missing drifts, where the row is not observable.
|
|
23
|
-
*/
|
|
24
|
-
readonly observed: SyncSnapshotRow | undefined;
|
|
25
17
|
}
|
|
26
18
|
export declare function computeDrifts(args: {
|
|
27
19
|
readonly snapshot: SyncSheetsSnapshot;
|
|
@@ -32,16 +24,6 @@ export declare function computeDrifts(args: {
|
|
|
32
24
|
readonly businessKeyField: string;
|
|
33
25
|
};
|
|
34
26
|
}): readonly DriftTarget[];
|
|
35
|
-
/**
|
|
36
|
-
* Returns the observed snapshot row owned by each desired row.
|
|
37
|
-
*
|
|
38
|
-
* Honors the same duplication quarantine as drift detection: an ambiguous
|
|
39
|
-
* anchor or duplicated business key never resolves to a row. The failed-head
|
|
40
|
-
* repair path uses this to pass FRESH verified snapshot evidence into a
|
|
41
|
-
* repair baseline for a clean (already matching) row, so a repair never
|
|
42
|
-
* falls back to an unguarded insert for an existing Sheet row.
|
|
43
|
-
*/
|
|
44
|
-
export declare function findObservedRows(snapshot: SyncSheetsSnapshot, desired: readonly DesiredRow[], businessKeyField: string): ReadonlyMap<string, SyncSnapshotRow>;
|
|
45
27
|
/** Reads a business-key value from a snapshot row for unanchored fast appends. */
|
|
46
28
|
export declare function snapshotIdentity(row: SyncSheetsSnapshot["rows"][number], identityField: string): string | undefined;
|
|
47
29
|
/** Reads the same visible business-key value from canonical desired state. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,EAEL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CACzF,GAAG,SAAS,WAAW,EAAE,CAoDzB;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EACvC,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAEpB;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7F;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAY3F;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EACvC,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,MAAM,CAOR;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,CAqCR;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,CAkDR"}
|
|
@@ -11,19 +11,12 @@ import { EMPTY_STRING_LENGTH_ZERO, } from "../../../../shared/constants.js";
|
|
|
11
11
|
import { PRESENCE_KINDS } from "../../../../shared/state/index.js";
|
|
12
12
|
import { NORMALIZED_CELL_KINDS } from "../../../../shared/encoding/constants.js";
|
|
13
13
|
import { computeSyncVisibleHash, } from "../../sheetsContract/syncSheets.js";
|
|
14
|
-
|
|
15
|
-
* Builds the deduplicated anchor/identity index for one snapshot.
|
|
16
|
-
*
|
|
17
|
-
* A duplicated physical anchor or business key is an anomaly, never a row
|
|
18
|
-
* choice: the affected locators are dropped from the index so neither the
|
|
19
|
-
* drift classifier nor the failed-head matcher can silently pick one row.
|
|
20
|
-
*/
|
|
21
|
-
function buildObservedRowIndex(snapshot, businessKeyField) {
|
|
14
|
+
export function computeDrifts(args) {
|
|
22
15
|
const rowsByAnchor = new Map();
|
|
23
16
|
const ambiguousAnchors = new Set();
|
|
24
17
|
const rowsByIdentity = new Map();
|
|
25
18
|
const ambiguousIdentities = new Set();
|
|
26
|
-
for (const row of snapshot.rows) {
|
|
19
|
+
for (const row of args.snapshot.rows) {
|
|
27
20
|
if (row.physicalAnchor.kind === PRESENCE_KINDS.PRESENT) {
|
|
28
21
|
// A duplicated physical anchor is an anomaly, never a row choice: drop
|
|
29
22
|
// the anchor index entry instead of letting the last row win silently.
|
|
@@ -37,7 +30,7 @@ function buildObservedRowIndex(snapshot, businessKeyField) {
|
|
|
37
30
|
rowsByAnchor.set(row.physicalAnchor.value, row);
|
|
38
31
|
}
|
|
39
32
|
}
|
|
40
|
-
const identity = snapshotIdentity(row, businessKeyField);
|
|
33
|
+
const identity = snapshotIdentity(row, args.sheet.businessKeyField);
|
|
41
34
|
if (identity === undefined || ambiguousIdentities.has(identity))
|
|
42
35
|
continue;
|
|
43
36
|
if (rowsByIdentity.has(identity)) {
|
|
@@ -48,68 +41,32 @@ function buildObservedRowIndex(snapshot, businessKeyField) {
|
|
|
48
41
|
rowsByIdentity.set(identity, row);
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
|
-
return { rowsByAnchor, ambiguousAnchors, rowsByIdentity, ambiguousIdentities };
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Resolves the observed snapshot row owned by one desired row.
|
|
55
|
-
*
|
|
56
|
-
* The primary locator's ambiguity is fatal: when the desired anchor is
|
|
57
|
-
* duplicated, identity fallback would silently pick one of the rows that the
|
|
58
|
-
* corrupted anchor cannot distinguish, so the binding stays unmatched. The
|
|
59
|
-
* same quarantine applies when the desired identity appears in the snapshot's
|
|
60
|
-
* duplicate set. Returns undefined when no row can prove ownership of this
|
|
61
|
-
* binding.
|
|
62
|
-
*/
|
|
63
|
-
function resolveObservedRow(index, desiredRow, businessKeyField) {
|
|
64
|
-
const identity = desiredRowIdentity(desiredRow, businessKeyField);
|
|
65
|
-
// The primary locator's ambiguity is fatal: when the desired anchor is
|
|
66
|
-
// duplicated, identity fallback would silently pick one of the rows that
|
|
67
|
-
// the corrupted anchor cannot distinguish, so the binding is unmatched.
|
|
68
|
-
// The same quarantine applies to a desired identity that appears in the
|
|
69
|
-
// snapshot's duplicate set: the duplicated business key cannot prove that
|
|
70
|
-
// this binding owns even its unique anchor, so neither locator may match.
|
|
71
|
-
const identityAmbiguous = identity !== undefined && index.ambiguousIdentities.has(identity);
|
|
72
|
-
return index.ambiguousAnchors.has(desiredRow.anchorReference) || identityAmbiguous
|
|
73
|
-
? undefined
|
|
74
|
-
: index.rowsByAnchor.get(desiredRow.anchorReference) ??
|
|
75
|
-
(identity === undefined ? undefined : index.rowsByIdentity.get(identity));
|
|
76
|
-
}
|
|
77
|
-
export function computeDrifts(args) {
|
|
78
|
-
const index = buildObservedRowIndex(args.snapshot, args.sheet.businessKeyField);
|
|
79
44
|
const drifts = [];
|
|
80
45
|
for (const desiredRow of args.desired) {
|
|
81
|
-
const
|
|
46
|
+
const identity = desiredRowIdentity(desiredRow, args.sheet.businessKeyField);
|
|
47
|
+
// The primary locator's ambiguity is fatal: when the desired anchor is
|
|
48
|
+
// duplicated, identity fallback would silently pick one of the rows that
|
|
49
|
+
// the corrupted anchor cannot distinguish, so the binding is unmatched.
|
|
50
|
+
// The same quarantine applies to a desired identity that appears in the
|
|
51
|
+
// snapshot's duplicate set: the duplicated business key cannot prove that
|
|
52
|
+
// this binding owns even its unique anchor, so neither locator may match.
|
|
53
|
+
const identityAmbiguous = identity !== undefined && ambiguousIdentities.has(identity);
|
|
54
|
+
const observed = ambiguousAnchors.has(desiredRow.anchorReference) || identityAmbiguous
|
|
55
|
+
? undefined
|
|
56
|
+
: rowsByAnchor.get(desiredRow.anchorReference) ??
|
|
57
|
+
(identity === undefined ? undefined : rowsByIdentity.get(identity));
|
|
82
58
|
if (observed === undefined) {
|
|
83
|
-
drifts.push({ kind: "missing", desired: desiredRow
|
|
59
|
+
drifts.push({ kind: "missing", desired: desiredRow });
|
|
84
60
|
continue;
|
|
85
61
|
}
|
|
86
62
|
const observedHash = computeObservedHash(observed, args.systemFields);
|
|
87
63
|
const desiredHash = computeSyncVisibleHash(desiredRow.fields);
|
|
88
64
|
if (observedHash !== desiredHash) {
|
|
89
|
-
drifts.push({ kind: "drifted", desired: desiredRow
|
|
65
|
+
drifts.push({ kind: "drifted", desired: desiredRow });
|
|
90
66
|
}
|
|
91
67
|
}
|
|
92
68
|
return drifts;
|
|
93
69
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Returns the observed snapshot row owned by each desired row.
|
|
96
|
-
*
|
|
97
|
-
* Honors the same duplication quarantine as drift detection: an ambiguous
|
|
98
|
-
* anchor or duplicated business key never resolves to a row. The failed-head
|
|
99
|
-
* repair path uses this to pass FRESH verified snapshot evidence into a
|
|
100
|
-
* repair baseline for a clean (already matching) row, so a repair never
|
|
101
|
-
* falls back to an unguarded insert for an existing Sheet row.
|
|
102
|
-
*/
|
|
103
|
-
export function findObservedRows(snapshot, desired, businessKeyField) {
|
|
104
|
-
const index = buildObservedRowIndex(snapshot, businessKeyField);
|
|
105
|
-
const matched = new Map();
|
|
106
|
-
for (const desiredRow of desired) {
|
|
107
|
-
const observed = resolveObservedRow(index, desiredRow, businessKeyField);
|
|
108
|
-
if (observed !== undefined)
|
|
109
|
-
matched.set(desiredRow.entityId, observed);
|
|
110
|
-
}
|
|
111
|
-
return matched;
|
|
112
|
-
}
|
|
113
70
|
/** Reads a business-key value from a snapshot row for unanchored fast appends. */
|
|
114
71
|
export function snapshotIdentity(row, identityField) {
|
|
115
72
|
return normalizedCellIdentity(row.cells[identityField]?.normalizedCell);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/diff.ts"],"names":[],"mappings":"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"}
|