@izagood/avcs 0.29.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/repo.d.ts +64 -2
- package/dist/api/repo.d.ts.map +1 -1
- package/dist/api/repo.js +236 -16
- package/dist/api/repo.js.map +1 -1
- package/dist/cli.js +29 -2
- package/dist/cli.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/merge/merge3.d.ts +12 -1
- package/dist/merge/merge3.d.ts.map +1 -1
- package/dist/merge/merge3.js +23 -1
- package/dist/merge/merge3.js.map +1 -1
- package/dist/reducer/aliases.d.ts +39 -0
- package/dist/reducer/aliases.d.ts.map +1 -0
- package/dist/reducer/aliases.js +112 -0
- package/dist/reducer/aliases.js.map +1 -0
- package/dist/reducer/policy.d.ts +1 -1
- package/dist/reducer/reducer.d.ts +7 -0
- package/dist/reducer/reducer.d.ts.map +1 -1
- package/dist/reducer/reducer.js +161 -19
- package/dist/reducer/reducer.js.map +1 -1
- package/package.json +1 -1
package/dist/api/repo.d.ts
CHANGED
|
@@ -99,12 +99,14 @@ export interface RemoteConfig {
|
|
|
99
99
|
*/
|
|
100
100
|
export interface ContentionWarning {
|
|
101
101
|
key: string;
|
|
102
|
+
/** `line` is populated for an `acrossLines` check, so the caller can name the branch. */
|
|
102
103
|
theirs: {
|
|
103
104
|
op: string;
|
|
104
105
|
actor: string;
|
|
105
106
|
lamport: number;
|
|
106
107
|
purpose: string;
|
|
107
108
|
createdAt: string;
|
|
109
|
+
line?: string;
|
|
108
110
|
}[];
|
|
109
111
|
leaseHolders: {
|
|
110
112
|
actor: string;
|
|
@@ -241,6 +243,13 @@ export declare class Repo {
|
|
|
241
243
|
* structured-log warnings + a metric. Additive only — the return type is unchanged
|
|
242
244
|
* (surfaces that want the warnings themselves call {@link contention} directly). */
|
|
243
245
|
warnContention?: boolean;
|
|
246
|
+
/** Make that check cross-line (see {@link contention}'s `acrossLines`). The capture
|
|
247
|
+
* path uses this: the git bridge puts every parallel session on its own line, so a
|
|
248
|
+
* line-scoped check is structurally blind to them. */
|
|
249
|
+
contentionAcrossLines?: boolean;
|
|
250
|
+
/** Receive the warnings the check produced, so a caller can surface them to a human
|
|
251
|
+
* without re-running the scan. Called only when `warnContention` is set. */
|
|
252
|
+
onContention?: (warnings: ContentionWarning[]) => void;
|
|
244
253
|
}): Promise<string>;
|
|
245
254
|
/** Convenience: write file content as a blob + a put_file operation. */
|
|
246
255
|
proposeFileWrite(args: {
|
|
@@ -259,6 +268,8 @@ export declare class Repo {
|
|
|
259
268
|
privateKey: string;
|
|
260
269
|
};
|
|
261
270
|
warnContention?: boolean;
|
|
271
|
+
contentionAcrossLines?: boolean;
|
|
272
|
+
onContention?: (warnings: ContentionWarning[]) => void;
|
|
262
273
|
}): Promise<string>;
|
|
263
274
|
/**
|
|
264
275
|
* Language-neutral edit (docs/15): submit the FULL new content of a file together with
|
|
@@ -287,6 +298,8 @@ export declare class Repo {
|
|
|
287
298
|
privateKey: string;
|
|
288
299
|
};
|
|
289
300
|
warnContention?: boolean;
|
|
301
|
+
contentionAcrossLines?: boolean;
|
|
302
|
+
onContention?: (warnings: ContentionWarning[]) => void;
|
|
290
303
|
}): Promise<string>;
|
|
291
304
|
attachEvidence(args: {
|
|
292
305
|
forOps: string[];
|
|
@@ -348,12 +361,19 @@ export declare class Repo {
|
|
|
348
361
|
* - `actorId` (+ optional `keys`): that actor's ops on the resolved keys seed the
|
|
349
362
|
* closure; with no `keys` given, every key the actor has authored on is checked.
|
|
350
363
|
* - `keys` alone: no closure filter — everything live by anyone on the key reports.
|
|
364
|
+
*
|
|
365
|
+
* `acrossLines` (default false — existing callers are untouched) drops the line-equality
|
|
366
|
+
* filter. The git bridge maps each git branch to its own line (`lineFor()` in the CLI), so
|
|
367
|
+
* with N parallel sessions on N branches a line-scoped check cannot see ANY of them; the
|
|
368
|
+
* cross-line check does, and reports each competing op's `line` so the caller can name the
|
|
369
|
+
* branch. Lines are intentionally divergent by design, so this stays opt-in.
|
|
351
370
|
*/
|
|
352
371
|
contention(args: {
|
|
353
372
|
keys?: string[];
|
|
354
373
|
sessionOid?: string;
|
|
355
374
|
actorId?: string;
|
|
356
375
|
line?: string;
|
|
376
|
+
acrossLines?: boolean;
|
|
357
377
|
}): Promise<ContentionWarning[]>;
|
|
358
378
|
/** Build a minimal repair packet for ops whose validation failed. */
|
|
359
379
|
repairContext(opOids: string[]): Promise<import("../validation/repair.ts").RepairContext>;
|
|
@@ -621,14 +641,42 @@ export declare class Repo {
|
|
|
621
641
|
*/
|
|
622
642
|
revert(opOid: string, actor: Actor, line?: string): Promise<string>;
|
|
623
643
|
static readonly REDUCE_CACHE_MAX = 64;
|
|
644
|
+
/**
|
|
645
|
+
* Minimum line similarity for the capture path to call a removed × added pair a MOVE
|
|
646
|
+
* rather than an unrelated delete + create (docs/19 §3.1, and §6 R3 asks for exactly one
|
|
647
|
+
* place to tune it). 0.5 is git's `-M` default, so a tree avcs captures and the same tree
|
|
648
|
+
* `git diff -M` describes agree about what moved. Raising it makes capture more
|
|
649
|
+
* conservative (more moves recorded as delete + create, which is the pre-Stage-0
|
|
650
|
+
* behaviour); lowering it risks attaching a wrong merge base, which is worse than none.
|
|
651
|
+
*/
|
|
652
|
+
static readonly RENAME_SIMILARITY = 0.5;
|
|
624
653
|
/** Write a view's materialized files into `workDir` (alongside .avcs, like git). */
|
|
625
654
|
checkoutInto(workDir: string, view?: string, opts?: {
|
|
626
655
|
workspace?: string;
|
|
627
656
|
}): Promise<string[]>;
|
|
628
657
|
/**
|
|
629
658
|
* Commit a working tree: diff `workDir`'s files against the materialized view and
|
|
630
|
-
* author put_file / delete_file ops for the changes (the git `add`+`commit`
|
|
631
|
-
* which agents do via operation.propose). Causally builds on the current frontier.
|
|
659
|
+
* author edit_file / put_file / delete_file ops for the changes (the git `add`+`commit`
|
|
660
|
+
* step, which agents do via operation.propose). Causally builds on the current frontier.
|
|
661
|
+
*
|
|
662
|
+
* A MODIFIED file is captured as `edit_file` with the previously projected content as its
|
|
663
|
+
* 3-way merge base — that base is already in hand here, and blobs are content-addressed so
|
|
664
|
+
* re-putting it is free (dedup). This is what lets two sessions editing disjoint regions of
|
|
665
|
+
* one file auto-merge (L1) instead of colliding as two base-less `put_file`s (docs/15 §3).
|
|
666
|
+
* ADDED files keep `put_file` (a create genuinely has no base), and so does any content that
|
|
667
|
+
* is not losslessly UTF-8 text (see `#isMergeableText`).
|
|
668
|
+
*
|
|
669
|
+
* A MOVED file is recovered from the removed × added pair (`#detectRenames`, docs/19 §3.1)
|
|
670
|
+
* and captured as `rename_file` — plus an `edit_file` at the NEW path, based on the content
|
|
671
|
+
* from BEFORE the move, when it was edited on the way. Without this the reducer's whole
|
|
672
|
+
* rename × edit commutativity is unreachable from real usage: a path-set diff turns every
|
|
673
|
+
* move into a delete racing an edit and a create with nothing to merge against. Recovered
|
|
674
|
+
* moves are reported in `renamed` and are NOT double-counted in `added`/`removed`.
|
|
675
|
+
*
|
|
676
|
+
* Capture also runs the early conflict warning with CROSS-LINE visibility: the git bridge
|
|
677
|
+
* maps each branch to its own line, so a competing session is on a *different* line and a
|
|
678
|
+
* line-scoped check would never see it. The warnings are returned (`contention`) so the CLI
|
|
679
|
+
* can put them in front of the human running `git commit`.
|
|
632
680
|
*/
|
|
633
681
|
commitWorkingTree(workDir: string, opts: {
|
|
634
682
|
message: string;
|
|
@@ -640,7 +688,14 @@ export declare class Repo {
|
|
|
640
688
|
added: string[];
|
|
641
689
|
modified: string[];
|
|
642
690
|
removed: string[];
|
|
691
|
+
/** Moves recovered from the removed × added pairing (docs/19 §3.1). These paths do NOT
|
|
692
|
+
* also appear in `added`/`removed`. */
|
|
693
|
+
renamed: {
|
|
694
|
+
from: string;
|
|
695
|
+
to: string;
|
|
696
|
+
}[];
|
|
643
697
|
intent: string;
|
|
698
|
+
contention: ContentionWarning[];
|
|
644
699
|
}>;
|
|
645
700
|
/** Read the repo-local git-bridge mode (default `sidecar` for pre-existing repos). */
|
|
646
701
|
getGitMode(): Promise<GitMode>;
|
|
@@ -733,8 +788,15 @@ export declare class Repo {
|
|
|
733
788
|
added: string[];
|
|
734
789
|
modified: string[];
|
|
735
790
|
removed: string[];
|
|
791
|
+
renamed: {
|
|
792
|
+
from: string;
|
|
793
|
+
to: string;
|
|
794
|
+
}[];
|
|
736
795
|
intent: string;
|
|
737
796
|
};
|
|
797
|
+
/** Cross-line early warnings the capture raised (docs/17 §15.3): another branch/session
|
|
798
|
+
* has live concurrent work on a file this commit touches. Advisory — never blocking. */
|
|
799
|
+
contention: ContentionWarning[];
|
|
738
800
|
conflicts: ReductionResult["conflicts"];
|
|
739
801
|
checkpoint?: string;
|
|
740
802
|
treeHash?: string;
|
package/dist/api/repo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/api/repo.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAsD,KAAK,eAAe,EAAoB,MAAM,uBAAuB,CAAC;AAInI,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,OAAO,EAGP,KAAK,SAAS,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EACV,KAAK,EACL,SAAS,EAMT,YAAY,EACZ,cAAc,EAEd,MAAM,EACN,UAAU,EACV,IAAI,EACJ,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,EAEf,MAAM,EAEN,UAAU,EAEV,QAAQ,EACR,QAAQ,EAER,IAAI,EACJ,SAAS,EACT,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,YAAY,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9K;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;4FAE4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,6EAA6E;QAC7E,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1D,kFAAkF;QAClF,OAAO,CAAC,EAAE,OAAO,oBAAoB,EAAE,cAAc,EAAE,CAAC;QACxD,sFAAsF;QACtF,cAAc,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAChF,EAAE,CAAC;CACL;AAcD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7F,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvF;AA4BD,qBAAa,IAAI;;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,UAAiB;IACjC,QAAQ,CAAC,OAAO,UAAiB;IACjC,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAkB;IAoBhC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,OAAO;IAEzC,OAAO;WAKM,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAuBhC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAM/B,8EAA8E;IACxE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMhD,kEAAkE;IAC5D,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrD,yDAAyD;IACnD,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAoBjD,oEAAoE;IAC9D,iBAAiB,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,SAAW,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBzH,+EAA+E;IACzE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;;;;;;;;;;;OAaG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCvE;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAUxC;mEAC+D;IACzD,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAU1C;;;;;;OAMG;IACG,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,SAAW,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAKlG,gFAAgF;IAC1E,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0B3D;;;+DAG2D;IACrD,YAAY,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAczE;;;;OAIG;IACG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,SAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAYlE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAGxC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,YAAY,CAAC,IAAI,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC5C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;KAC5B,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBb,YAAY,CAAC,IAAI,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBnB,MAAM,CAAC,QAAQ,CAAC,eAAe,SAAc;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAa;IAEjC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAatD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDtC,gBAAgB,CAAC,IAAI,EAAE;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,eAAe,CAAC;QACxB,IAAI,EAAE,aAAa,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD;;6FAEqF;QACrF,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC;IAkDnB,wEAAwE;IAClE,gBAAgB,CAAC,IAAI,EAAE;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBnB;;;;;;;;OAQG;IACG,WAAW,CAAC,IAAI,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBb,cAAc,CAAC,IAAI,EAAE;QACzB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,YAAY,CAAC;QACnB,MAAM,EAAE,cAAc,CAAC;QACvB,UAAU,EAAE,KAAK,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,iFAAiF;QACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gFAAgF;QAChF,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,2EAA2E;QAC3E,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBb,cAAc,CAAC,IAAI,EAAE;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,KAAK,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBb,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK1C;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IA2BjG;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA6D/H,qEAAqE;IAC/D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,yBAAyB,EAAE,aAAa,CAAC;IAwCzF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoC9F,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIlC;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAS,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB5F,wFAAwF;IAClF,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIvD;;;;;OAKG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBrF,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAMnD;IAEF,kFAAkF;IAC5E,kBAAkB,CAAC,IAAI,EAAE;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,QAAQ,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;QAC5C,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QACpB,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBb,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAMzD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAG1C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAc/D,uFAAuF;IACjF,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAK7D,uFAAuF;IACjF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzD;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;KACZ,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA2JrF;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,IAAI,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsO9B;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoC5H,oFAAoF;IAC9E,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,YAAY,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBrI;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIpJ,+EAA+E;IACzE,OAAO,CACX,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,SAAS,GAAG,iBAA6B,EAClD,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAAO,GAC/E,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;;OAKG;IACG,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,GAAG,iBAAiB,CAAA;KAAE,EAAE,CAAC;IA0B5G;;;;;OAKG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC1H,kFAAkF;IAC5E,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAOxC,iFAAiF;IAC3E,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAKpG,kFAAkF;IAC5E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAK1P,6DAA6D;IACvD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA4BlF,+CAA+C;IACzC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlH,yDAAyD;IACnD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQlD,6CAA6C;IACvC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAa1D,8EAA8E;IACxE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD;;;;;;OAMG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC1H,OAAO,CAAC;QAAE,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA8BjG;;;;OAIG;IACG,IAAI,CAAC,MAAM,SAAW,EAAE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAepH,uFAAuF;IACvF,MAAM,CAAC,QAAQ,CAAC,oBAAoB,SAAU;IAc9C,uFAAuF;IACjF,SAAS,CAAC,MAAM,SAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD;;;;;OAKG;IACG,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA4BzF;;;;;;OAMG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD3C,iEAAiE;IAC3D,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3C;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,WAAW,CAAC,QAAQ,SAAS,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA+H7I,+EAA+E;IACzE,cAAc,CAAC,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtD;;;OAGG;IACG,eAAe,CACnB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1E,OAAO,CAAC,MAAM,CAAC;IAOlB,kFAAkF;IAC5E,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUlF;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCzE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,MAAM;IA2NtC,oFAAoF;IAC9E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAapG;;;;OAIG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,GACjG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCrG,sFAAsF;IAChF,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAIpC,iFAAiF;IAC3E,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3C,gFAAgF;IAC1E,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAMnF,2FAA2F;IACrF,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE,wFAAwF;IAClF,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxD;;;;;OAKG;IACG,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IA6B5I;;;;;OAKG;IACG,eAAe,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzH,oFAAoF;IAC9E,cAAc,CAAC,OAAO,SAAW,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAMnH,uGAAuG;IACjG,eAAe,CAAC,OAAO,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;;;;;;;OAQG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBzC;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAC3I,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE;YAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACpG,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QACxC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAuBF,2FAA2F;IACrF,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMtG,iGAAiG;IAC3F,YAAY,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAe/H;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAMzC;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,SAAS,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkD1D;;;;;;;;;OASG;IACG,EAAE,CAAC,IAAI,GAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiD3H;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,GAAE,SAAS,CAAC,iBAAiB,CAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAc9H;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQxD;;;OAGG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,IAAI,SAAS,GACZ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAelG,oFAAoF;IAC9E,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAgB1H;;;;;;;;;;OAUG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAS,GACZ,OAAO,CACR,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC,CACH;IAsFD,8DAA8D;IACxD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,kBAAkB,EAAE,QAAQ,CAAC;IAKtF;;;OAGG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC1D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+BzB;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAQnH,wFAAwF;IAClF,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK1C;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBzE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+C1E,kFAAkF;IAC5E,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAS5F,mFAAmF;IAC7E,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAI9F;;;;OAIG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;QACJ,SAAS,CAAC,EAAE,OAAO,qBAAqB,EAAE,WAAW,EAAE,CAAC;QACxD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,KAAK,CAAC;KAChD,GACL,OAAO,CAAC;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAgCzF"}
|
|
1
|
+
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/api/repo.ts"],"names":[],"mappings":"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"}
|
package/dist/api/repo.js
CHANGED
|
@@ -19,6 +19,8 @@ import { computeReliability } from "../policy/reliability.js";
|
|
|
19
19
|
import { defaultPolicy, MATERIALIZER_VERSION } from "../reducer/policy.js";
|
|
20
20
|
import { Keyring, generateKeypair, signMessage, } from "../core/identity.js";
|
|
21
21
|
import { checkLease, isActive, scopesOverlap } from "../concurrency/lease.js";
|
|
22
|
+
import { isBinary } from "../core/bytes.js";
|
|
23
|
+
import { lcsLineLength } from "../merge/merge3.js";
|
|
22
24
|
import { Metrics } from "../observe/metrics.js";
|
|
23
25
|
import { silentLogger } from "../observe/logger.js";
|
|
24
26
|
// Sidecar: ignore EVERYTHING under .avcs/ (the `*` also ignores this file itself), so the
|
|
@@ -484,16 +486,23 @@ export class Repo {
|
|
|
484
486
|
for (const key of keysOf({ ...op, oid }))
|
|
485
487
|
await this.store.appendEntityIndex(key, oid);
|
|
486
488
|
if (args.warnContention) {
|
|
487
|
-
const warnings = await this.contention({
|
|
489
|
+
const warnings = await this.contention({
|
|
490
|
+
keys: [...keysOf({ ...op, oid })],
|
|
491
|
+
actorId: op.actor.id,
|
|
492
|
+
line: args.line,
|
|
493
|
+
...(args.contentionAcrossLines ? { acrossLines: true } : {}),
|
|
494
|
+
});
|
|
488
495
|
for (const w of warnings) {
|
|
489
496
|
this.metrics.inc("contention.warnings");
|
|
490
497
|
this.logger.warn("contention.warn", {
|
|
491
498
|
key: w.key,
|
|
492
499
|
op: oid,
|
|
493
|
-
|
|
500
|
+
// `@line` appears only for a cross-line check (that is when `line` is populated).
|
|
501
|
+
theirs: w.theirs.map((t) => `${t.actor}${t.line ? `@${t.line}` : ""}:${t.op.slice(0, 16)}`),
|
|
494
502
|
leaseHolders: w.leaseHolders.map((l) => l.actor),
|
|
495
503
|
});
|
|
496
504
|
}
|
|
505
|
+
args.onContention?.(warnings);
|
|
497
506
|
}
|
|
498
507
|
return oid;
|
|
499
508
|
}
|
|
@@ -513,6 +522,8 @@ export class Repo {
|
|
|
513
522
|
workspace: args.workspace,
|
|
514
523
|
signWith: args.signWith,
|
|
515
524
|
warnContention: args.warnContention,
|
|
525
|
+
contentionAcrossLines: args.contentionAcrossLines,
|
|
526
|
+
onContention: args.onContention,
|
|
516
527
|
});
|
|
517
528
|
}
|
|
518
529
|
/**
|
|
@@ -540,6 +551,8 @@ export class Repo {
|
|
|
540
551
|
workspace: args.workspace,
|
|
541
552
|
signWith: args.signWith,
|
|
542
553
|
warnContention: args.warnContention,
|
|
554
|
+
contentionAcrossLines: args.contentionAcrossLines,
|
|
555
|
+
onContention: args.onContention,
|
|
543
556
|
});
|
|
544
557
|
}
|
|
545
558
|
async attachEvidence(args) {
|
|
@@ -616,6 +629,12 @@ export class Repo {
|
|
|
616
629
|
* - `actorId` (+ optional `keys`): that actor's ops on the resolved keys seed the
|
|
617
630
|
* closure; with no `keys` given, every key the actor has authored on is checked.
|
|
618
631
|
* - `keys` alone: no closure filter — everything live by anyone on the key reports.
|
|
632
|
+
*
|
|
633
|
+
* `acrossLines` (default false — existing callers are untouched) drops the line-equality
|
|
634
|
+
* filter. The git bridge maps each git branch to its own line (`lineFor()` in the CLI), so
|
|
635
|
+
* with N parallel sessions on N branches a line-scoped check cannot see ANY of them; the
|
|
636
|
+
* cross-line check does, and reports each competing op's `line` so the caller can name the
|
|
637
|
+
* branch. Lines are intentionally divergent by design, so this stays opt-in.
|
|
619
638
|
*/
|
|
620
639
|
async contention(args) {
|
|
621
640
|
const line = args.line ?? "main";
|
|
@@ -658,7 +677,9 @@ export class Repo {
|
|
|
658
677
|
if (!(await this.store.has(oid)))
|
|
659
678
|
continue; // GC'd since indexed
|
|
660
679
|
const op = await this.store.get(oid);
|
|
661
|
-
if (
|
|
680
|
+
if (op.private)
|
|
681
|
+
continue;
|
|
682
|
+
if (!args.acrossLines && (op.line ?? "main") !== line)
|
|
662
683
|
continue;
|
|
663
684
|
ops.push({ ...op, oid });
|
|
664
685
|
}
|
|
@@ -671,7 +692,16 @@ export class Repo {
|
|
|
671
692
|
return o.actor.id !== mine && !myClosure.has(oid) && !rejected.has(oid) && !builtUpon.has(oid);
|
|
672
693
|
})
|
|
673
694
|
.sort((a, b) => a.lamport - b.lamport || String(a.oid).localeCompare(String(b.oid)))
|
|
674
|
-
.map((o) => ({
|
|
695
|
+
.map((o) => ({
|
|
696
|
+
op: o.oid,
|
|
697
|
+
actor: o.actor.id,
|
|
698
|
+
lamport: o.lamport,
|
|
699
|
+
purpose: o.declaredPurpose,
|
|
700
|
+
createdAt: o.createdAt,
|
|
701
|
+
// Only for a cross-line check: without it the field is redundant (always `line`),
|
|
702
|
+
// and adding it unconditionally would change every existing caller's payload.
|
|
703
|
+
...(args.acrossLines ? { line: o.line ?? "main" } : {}),
|
|
704
|
+
}));
|
|
675
705
|
const leaseHolders = leases
|
|
676
706
|
.filter((l) => l.actor.id !== mine && l.writeScopes.some((s) => scopesOverlap(key, s)))
|
|
677
707
|
.map((l) => ({
|
|
@@ -1947,6 +1977,15 @@ export class Repo {
|
|
|
1947
1977
|
// repeats). A clone is returned so callers can mutate without corrupting the cache.
|
|
1948
1978
|
#reduceCache = new Map();
|
|
1949
1979
|
static REDUCE_CACHE_MAX = 64;
|
|
1980
|
+
/**
|
|
1981
|
+
* Minimum line similarity for the capture path to call a removed × added pair a MOVE
|
|
1982
|
+
* rather than an unrelated delete + create (docs/19 §3.1, and §6 R3 asks for exactly one
|
|
1983
|
+
* place to tune it). 0.5 is git's `-M` default, so a tree avcs captures and the same tree
|
|
1984
|
+
* `git diff -M` describes agree about what moved. Raising it makes capture more
|
|
1985
|
+
* conservative (more moves recorded as delete + create, which is the pre-Stage-0
|
|
1986
|
+
* behaviour); lowering it risks attaching a wrong merge base, which is worse than none.
|
|
1987
|
+
*/
|
|
1988
|
+
static RENAME_SIMILARITY = 0.5;
|
|
1950
1989
|
#cloneResult(r) {
|
|
1951
1990
|
return {
|
|
1952
1991
|
tree: new Map(r.tree),
|
|
@@ -2166,19 +2205,147 @@ export class Repo {
|
|
|
2166
2205
|
}
|
|
2167
2206
|
return written.sort();
|
|
2168
2207
|
}
|
|
2208
|
+
/**
|
|
2209
|
+
* Whether `buf` may travel the `edit_file` (text 3-way merge) path. `proposeEdit` takes
|
|
2210
|
+
* a `string`, so anything that is not LOSSLESSLY UTF-8 would be silently corrupted by the
|
|
2211
|
+
* Buffer→string→Buffer round trip (invalid sequences become U+FFFD). The NUL check keeps
|
|
2212
|
+
* the classification identical to `merge3`/`reducer`'s binary route (`core/bytes.isBinary`,
|
|
2213
|
+
* git's heuristic), so a file the merger would refuse to line-merge is never captured as
|
|
2214
|
+
* if it could be. Everything rejected here falls back to `put_file`, which is byte-exact.
|
|
2215
|
+
*/
|
|
2216
|
+
#isMergeableText(buf) {
|
|
2217
|
+
if (isBinary(buf))
|
|
2218
|
+
return false;
|
|
2219
|
+
return Buffer.from(buf.toString("utf8"), "utf8").equals(buf);
|
|
2220
|
+
}
|
|
2221
|
+
/**
|
|
2222
|
+
* Pair `removed` paths against `added` ones to recover MOVES from a path-set diff
|
|
2223
|
+
* (docs/19 §3.1, Stage 0).
|
|
2224
|
+
*
|
|
2225
|
+
* `commitWorkingTree` compares path sets, so a move arrives as a removal plus an
|
|
2226
|
+
* unrelated-looking addition — which the reducer then sees as a delete racing an edit,
|
|
2227
|
+
* plus a create with no merge base. Recovering the move here is what makes Stage 1's
|
|
2228
|
+
* commutativity reachable from actual usage.
|
|
2229
|
+
*
|
|
2230
|
+
* Two tiers, both deterministic and language-blind:
|
|
2231
|
+
*
|
|
2232
|
+
* 1. EXACT content match. Content is hashed, so this is an O(n) bucket join and a pure
|
|
2233
|
+
* relocation — the common case, and the whole of the binary case — never pays for a
|
|
2234
|
+
* line diff at all.
|
|
2235
|
+
* 2. LINE SIMILARITY `2·LCS / (linesP + linesQ)` over the leftovers, using merge3's own
|
|
2236
|
+
* LCS. Binary content (a NUL byte) is excluded: a line diff over bytes is noise, so
|
|
2237
|
+
* binary is exact-match-only.
|
|
2238
|
+
*
|
|
2239
|
+
* A pair is only accepted when it is UNAMBIGUOUS in both directions — one candidate for
|
|
2240
|
+
* the source and one for the destination. Anything else stays a delete + create rather
|
|
2241
|
+
* than a guess: naming the wrong file as "the same file" invents history, and a wrong
|
|
2242
|
+
* merge base is worse than no merge base. That is also why there is no tie-breaking to
|
|
2243
|
+
* get wrong; ambiguity is not resolved, it is declined.
|
|
2244
|
+
*/
|
|
2245
|
+
#detectRenames(removed, added, before, after) {
|
|
2246
|
+
if (!removed.length || !added.length)
|
|
2247
|
+
return [];
|
|
2248
|
+
const sources = [...removed].sort();
|
|
2249
|
+
const destinations = [...added].sort();
|
|
2250
|
+
/** Accept only pairs that are the single candidate on BOTH sides. */
|
|
2251
|
+
const unambiguous = (links) => {
|
|
2252
|
+
const inverse = new Map();
|
|
2253
|
+
for (const [from, tos] of links)
|
|
2254
|
+
for (const to of tos)
|
|
2255
|
+
(inverse.get(to) ?? inverse.set(to, new Set()).get(to)).add(from);
|
|
2256
|
+
const out = [];
|
|
2257
|
+
for (const from of [...links.keys()].sort()) {
|
|
2258
|
+
const tos = links.get(from);
|
|
2259
|
+
if (tos.size !== 1)
|
|
2260
|
+
continue;
|
|
2261
|
+
const to = [...tos][0];
|
|
2262
|
+
if (inverse.get(to).size !== 1)
|
|
2263
|
+
continue;
|
|
2264
|
+
out.push({ from, to });
|
|
2265
|
+
}
|
|
2266
|
+
return out;
|
|
2267
|
+
};
|
|
2268
|
+
// ── Tier 1: exact content ──
|
|
2269
|
+
const byContent = new Map();
|
|
2270
|
+
for (const to of destinations) {
|
|
2271
|
+
const h = sha256hex(after.get(to));
|
|
2272
|
+
(byContent.get(h) ?? byContent.set(h, []).get(h)).push(to);
|
|
2273
|
+
}
|
|
2274
|
+
const exact = new Map();
|
|
2275
|
+
for (const from of sources) {
|
|
2276
|
+
const hits = byContent.get(sha256hex(before.get(from)));
|
|
2277
|
+
if (hits)
|
|
2278
|
+
exact.set(from, new Set(hits));
|
|
2279
|
+
}
|
|
2280
|
+
const pairs = unambiguous(exact);
|
|
2281
|
+
// ── Tier 2: line similarity over what tier 1 left ──
|
|
2282
|
+
const takenFrom = new Set(pairs.map((p) => p.from));
|
|
2283
|
+
const takenTo = new Set(pairs.map((p) => p.to));
|
|
2284
|
+
const similar = new Map();
|
|
2285
|
+
const linesCache = new Map();
|
|
2286
|
+
const linesOf = (path, buf) => {
|
|
2287
|
+
if (!linesCache.has(path))
|
|
2288
|
+
linesCache.set(path, isBinary(buf) ? null : buf.toString("utf8").split("\n"));
|
|
2289
|
+
return linesCache.get(path);
|
|
2290
|
+
};
|
|
2291
|
+
for (const from of sources) {
|
|
2292
|
+
if (takenFrom.has(from))
|
|
2293
|
+
continue;
|
|
2294
|
+
const fromLines = linesOf(`-${from}`, before.get(from));
|
|
2295
|
+
if (!fromLines)
|
|
2296
|
+
continue; // binary: exact match only (rule 4)
|
|
2297
|
+
for (const to of destinations) {
|
|
2298
|
+
if (takenTo.has(to))
|
|
2299
|
+
continue;
|
|
2300
|
+
const toLines = linesOf(`+${to}`, after.get(to));
|
|
2301
|
+
if (!toLines)
|
|
2302
|
+
continue;
|
|
2303
|
+
const n = fromLines.length;
|
|
2304
|
+
const m = toLines.length;
|
|
2305
|
+
// Sound pre-filter (docs/19 R4): LCS ≤ min(n, m), so this is an upper bound on the
|
|
2306
|
+
// similarity and can never skip a pair that would have passed. It keeps a large
|
|
2307
|
+
// relocation from running an O(n·m) line DP against every unrelated candidate.
|
|
2308
|
+
if ((2 * Math.min(n, m)) / (n + m) < _a.RENAME_SIMILARITY)
|
|
2309
|
+
continue;
|
|
2310
|
+
if ((2 * lcsLineLength(fromLines, toLines)) / (n + m) < _a.RENAME_SIMILARITY)
|
|
2311
|
+
continue;
|
|
2312
|
+
(similar.get(from) ?? similar.set(from, new Set()).get(from)).add(to);
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2315
|
+
return [...pairs, ...unambiguous(similar)].sort((a, b) => (a.from < b.from ? -1 : a.from > b.from ? 1 : 0));
|
|
2316
|
+
}
|
|
2169
2317
|
/**
|
|
2170
2318
|
* Commit a working tree: diff `workDir`'s files against the materialized view and
|
|
2171
|
-
* author put_file / delete_file ops for the changes (the git `add`+`commit`
|
|
2172
|
-
* which agents do via operation.propose). Causally builds on the current frontier.
|
|
2319
|
+
* author edit_file / put_file / delete_file ops for the changes (the git `add`+`commit`
|
|
2320
|
+
* step, which agents do via operation.propose). Causally builds on the current frontier.
|
|
2321
|
+
*
|
|
2322
|
+
* A MODIFIED file is captured as `edit_file` with the previously projected content as its
|
|
2323
|
+
* 3-way merge base — that base is already in hand here, and blobs are content-addressed so
|
|
2324
|
+
* re-putting it is free (dedup). This is what lets two sessions editing disjoint regions of
|
|
2325
|
+
* one file auto-merge (L1) instead of colliding as two base-less `put_file`s (docs/15 §3).
|
|
2326
|
+
* ADDED files keep `put_file` (a create genuinely has no base), and so does any content that
|
|
2327
|
+
* is not losslessly UTF-8 text (see `#isMergeableText`).
|
|
2328
|
+
*
|
|
2329
|
+
* A MOVED file is recovered from the removed × added pair (`#detectRenames`, docs/19 §3.1)
|
|
2330
|
+
* and captured as `rename_file` — plus an `edit_file` at the NEW path, based on the content
|
|
2331
|
+
* from BEFORE the move, when it was edited on the way. Without this the reducer's whole
|
|
2332
|
+
* rename × edit commutativity is unreachable from real usage: a path-set diff turns every
|
|
2333
|
+
* move into a delete racing an edit and a create with nothing to merge against. Recovered
|
|
2334
|
+
* moves are reported in `renamed` and are NOT double-counted in `added`/`removed`.
|
|
2335
|
+
*
|
|
2336
|
+
* Capture also runs the early conflict warning with CROSS-LINE visibility: the git bridge
|
|
2337
|
+
* maps each branch to its own line, so a competing session is on a *different* line and a
|
|
2338
|
+
* line-scoped check would never see it. The warnings are returned (`contention`) so the CLI
|
|
2339
|
+
* can put them in front of the human running `git commit`.
|
|
2173
2340
|
*/
|
|
2174
2341
|
async commitWorkingTree(workDir, opts) {
|
|
2175
2342
|
const view = opts.line ?? "main";
|
|
2176
2343
|
const res = await this.materialize(view);
|
|
2177
2344
|
const current = new Map((await this.materializedBytes(res)).map((f) => [f.path, f.bytes]));
|
|
2178
2345
|
const disk = await this.#readWorkTree(workDir, opts.ignorePredicate);
|
|
2179
|
-
|
|
2346
|
+
let added = [];
|
|
2180
2347
|
const modified = [];
|
|
2181
|
-
|
|
2348
|
+
let removed = [];
|
|
2182
2349
|
for (const [path, content] of disk) {
|
|
2183
2350
|
if (!current.has(path))
|
|
2184
2351
|
added.push(path);
|
|
@@ -2188,19 +2355,72 @@ export class Repo {
|
|
|
2188
2355
|
for (const path of current.keys())
|
|
2189
2356
|
if (!disk.has(path))
|
|
2190
2357
|
removed.push(path);
|
|
2358
|
+
// Recover moves before deciding op kinds: a paired path is a move, not an unrelated
|
|
2359
|
+
// delete + create, and must not be counted as both.
|
|
2360
|
+
const renamed = this.#detectRenames(removed, added, current, disk);
|
|
2361
|
+
if (renamed.length) {
|
|
2362
|
+
const movedFrom = new Set(renamed.map((r) => r.from));
|
|
2363
|
+
const movedTo = new Set(renamed.map((r) => r.to));
|
|
2364
|
+
removed = removed.filter((p) => !movedFrom.has(p));
|
|
2365
|
+
added = added.filter((p) => !movedTo.has(p));
|
|
2366
|
+
}
|
|
2191
2367
|
const ops = [];
|
|
2192
|
-
|
|
2193
|
-
|
|
2368
|
+
const contention = [];
|
|
2369
|
+
if (!added.length && !modified.length && !removed.length && !renamed.length)
|
|
2370
|
+
return { ops, added, modified, removed, renamed, intent: "", contention };
|
|
2194
2371
|
const intent = await this.createIntent({ title: opts.message, owner: opts.actor.id });
|
|
2195
2372
|
const sess = await this.startSession({ intentOid: intent, actor: opts.actor });
|
|
2196
2373
|
const deps = res.headOps;
|
|
2374
|
+
// Collect the early warnings each propose raises, de-duplicated per entity key.
|
|
2375
|
+
const seenKeys = new Set();
|
|
2376
|
+
const collect = (warnings) => {
|
|
2377
|
+
for (const w of warnings) {
|
|
2378
|
+
if (seenKeys.has(w.key))
|
|
2379
|
+
continue;
|
|
2380
|
+
seenKeys.add(w.key);
|
|
2381
|
+
contention.push(w);
|
|
2382
|
+
}
|
|
2383
|
+
};
|
|
2384
|
+
const warn = { warnContention: true, contentionAcrossLines: true, onContention: collect };
|
|
2385
|
+
// Moves first, sorted by source. The paired `edit_file` must causally FOLLOW its own
|
|
2386
|
+
// rename: it names the destination path, so if the two were concurrent the reducer would
|
|
2387
|
+
// read them as a move and an unrelated edit fighting over that path (docs/19 §3.2 leaves
|
|
2388
|
+
// rename-vs-destination a genuine contest, and rightly so). Depending on the rename also
|
|
2389
|
+
// states the truth — the author moved the file, then wrote to where it now lives.
|
|
2390
|
+
for (const { from, to } of renamed) {
|
|
2391
|
+
const rn = await this.proposeOperation({
|
|
2392
|
+
sessionOid: sess, intentOid: intent, actor: opts.actor,
|
|
2393
|
+
target: { entityKind: "file", entityId: from },
|
|
2394
|
+
body: { kind: "rename_file", fromPath: from, path: to },
|
|
2395
|
+
declaredPurpose: `move ${from} → ${to}`, causalDeps: deps, line: opts.line, ...warn,
|
|
2396
|
+
});
|
|
2397
|
+
ops.push(rn);
|
|
2398
|
+
const base = current.get(from);
|
|
2399
|
+
const content = disk.get(to);
|
|
2400
|
+
if (base.equals(content))
|
|
2401
|
+
continue; // a pure move needs no second op
|
|
2402
|
+
// Content changed on the way. Only mergeable text can say so as an edit; otherwise the
|
|
2403
|
+
// move stands and the new bytes go in byte-exact as a `put_file` at the new path.
|
|
2404
|
+
const common = { sessionOid: sess, intentOid: intent, actor: opts.actor, path: to, declaredPurpose: opts.message, causalDeps: [...deps, rn], line: opts.line, ...warn };
|
|
2405
|
+
ops.push(this.#isMergeableText(base) && this.#isMergeableText(content)
|
|
2406
|
+
? await this.proposeEdit({ ...common, newText: content.toString("utf8"), baseBlobOid: await this.putBlob(base) })
|
|
2407
|
+
: await this.proposeFileWrite({ ...common, content }));
|
|
2408
|
+
}
|
|
2409
|
+
const isModified = new Set(modified);
|
|
2410
|
+
// One sorted pass over both categories keeps op authoring order (and therefore lamport
|
|
2411
|
+
// assignment) exactly as before; only the op KIND differs per category.
|
|
2197
2412
|
for (const path of [...added, ...modified].sort()) {
|
|
2198
|
-
|
|
2413
|
+
const content = disk.get(path);
|
|
2414
|
+
const base = isModified.has(path) ? current.get(path) : undefined;
|
|
2415
|
+
const common = { sessionOid: sess, intentOid: intent, actor: opts.actor, path, declaredPurpose: opts.message, causalDeps: deps, line: opts.line, ...warn };
|
|
2416
|
+
ops.push(base !== undefined && this.#isMergeableText(base) && this.#isMergeableText(content)
|
|
2417
|
+
? await this.proposeEdit({ ...common, newText: content.toString("utf8"), baseBlobOid: await this.putBlob(base) })
|
|
2418
|
+
: await this.proposeFileWrite({ ...common, content }));
|
|
2199
2419
|
}
|
|
2200
2420
|
for (const path of removed.sort()) {
|
|
2201
|
-
ops.push(await this.proposeOperation({ sessionOid: sess, intentOid: intent, actor: opts.actor, target: { entityKind: "file", entityId: path }, body: { kind: "delete_file", path }, declaredPurpose: `delete ${path}`, causalDeps: deps, line: opts.line }));
|
|
2421
|
+
ops.push(await this.proposeOperation({ sessionOid: sess, intentOid: intent, actor: opts.actor, target: { entityKind: "file", entityId: path }, body: { kind: "delete_file", path }, declaredPurpose: `delete ${path}`, causalDeps: deps, line: opts.line, ...warn }));
|
|
2202
2422
|
}
|
|
2203
|
-
return { ops, added: added.sort(), modified: modified.sort(), removed: removed.sort(), intent };
|
|
2423
|
+
return { ops, added: added.sort(), modified: modified.sort(), removed: removed.sort(), renamed, intent, contention };
|
|
2204
2424
|
}
|
|
2205
2425
|
// ── git bridge (docs/14) ───────────────────────────────────────────────────
|
|
2206
2426
|
/** Read `.avcs/config.json` (a torn/absent file is treated as empty). */
|
|
@@ -2355,19 +2575,19 @@ export class Repo {
|
|
|
2355
2575
|
const lineOpt = opts.line ? { line: opts.line } : {};
|
|
2356
2576
|
// 1. Capture direct working-tree edits as ops before anything else.
|
|
2357
2577
|
const cap = await this.commitWorkingTree(workDir, { message: opts.message, actor: opts.actor, ...lineOpt, ...(opts.ignorePredicate ? { ignorePredicate: opts.ignorePredicate } : {}) });
|
|
2358
|
-
const captured = { ops: cap.ops, added: cap.added, modified: cap.modified, removed: cap.removed, intent: cap.intent };
|
|
2578
|
+
const captured = { ops: cap.ops, added: cap.added, modified: cap.modified, removed: cap.removed, renamed: cap.renamed, intent: cap.intent };
|
|
2359
2579
|
// Ensure the gitignore reflects the current mode (pre-existing repos never wrote one).
|
|
2360
2580
|
const mode = await this.getGitMode();
|
|
2361
2581
|
await this.#writeGitignore(mode);
|
|
2362
2582
|
// 2. Conflict gate.
|
|
2363
2583
|
const res = await this.materialize(view);
|
|
2364
2584
|
if (res.conflicts.length > 0)
|
|
2365
|
-
return { mode, captured, conflicts: res.conflicts };
|
|
2585
|
+
return { mode, captured, contention: cap.contention, conflicts: res.conflicts };
|
|
2366
2586
|
// 3. Checkpoint the verified state. 4. Re-project the working tree.
|
|
2367
2587
|
const checkpoint = await this.createCheckpoint(view, opts.message);
|
|
2368
2588
|
const written = await this.checkoutInto(workDir, view);
|
|
2369
2589
|
this.logger.info("git.sync", { view, mode, capturedOps: captured.ops.length, checkpoint, treeHash: res.treeHash });
|
|
2370
|
-
return { mode, captured, conflicts: [], checkpoint, treeHash: res.treeHash, reprojected: written.length };
|
|
2590
|
+
return { mode, captured, contention: cap.contention, conflicts: [], checkpoint, treeHash: res.treeHash, reprojected: written.length };
|
|
2371
2591
|
}
|
|
2372
2592
|
// ── backup / transfer (docs/10 WS-F) ──────────────────────────────────────
|
|
2373
2593
|
/** Export the whole repo (all objects + refs) as a portable bundle for backup/transfer. */
|