patchwork-os 1.2.0-beta.2.canary.789 → 1.2.0-beta.2.canary.791
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/butler/outcomeShadowLog.d.ts +15 -0
- package/dist/butler/outcomeShadowLog.js +27 -2
- package/dist/butler/outcomeShadowLog.js.map +1 -1
- package/dist/evidenceVerify.d.ts +12 -1
- package/dist/evidenceVerify.js +14 -2
- package/dist/evidenceVerify.js.map +1 -1
- package/dist/ledgerChain.js +16 -3
- package/dist/ledgerChain.js.map +1 -1
- package/dist/runStepLedger.d.ts +28 -2
- package/dist/runStepLedger.js +47 -24
- package/dist/runStepLedger.js.map +1 -1
- package/package.json +1 -1
|
@@ -37,6 +37,16 @@ import type { GradedOutcome } from "./errandOutcomeGrader.js";
|
|
|
37
37
|
* up by accident.
|
|
38
38
|
*/
|
|
39
39
|
export declare const SHADOW_LOG_BASENAME = "butler_outcome_shadow.jsonl";
|
|
40
|
+
/**
|
|
41
|
+
* Record level (ADR-0025's `rv` protocol; ADR-0027 for this ledger).
|
|
42
|
+
*
|
|
43
|
+
* 1: every row is written through `appendChained` and carries `iseq` and
|
|
44
|
+
* `prev`, stamped by the writer from the file's tail under the lock. At
|
|
45
|
+
* `rv >= 1` their absence is a WRITER DEFECT. Rows with no `rv` predate the
|
|
46
|
+
* chain; they are never re-stamped, and the `chain-start` marker commits to
|
|
47
|
+
* them as a block. Never default it on read.
|
|
48
|
+
*/
|
|
49
|
+
export declare const SHADOW_OUTCOME_RV = 1;
|
|
40
50
|
export declare function shadowLogPath(override?: string): string;
|
|
41
51
|
export interface ShadowOutcomeRow {
|
|
42
52
|
/**
|
|
@@ -58,6 +68,11 @@ export interface ShadowOutcomeRow {
|
|
|
58
68
|
* withholding rule and risk deriving it differently.
|
|
59
69
|
*/
|
|
60
70
|
wouldCountAsEvidence: boolean;
|
|
71
|
+
/** Writer-stamped record level. Absent on rows that predate the chain. */
|
|
72
|
+
rv?: number;
|
|
73
|
+
/** ADR-0027 integrity position and previous-line hash (rv >= 1). */
|
|
74
|
+
iseq?: number;
|
|
75
|
+
prev?: string;
|
|
61
76
|
}
|
|
62
77
|
/** `unknown` is withheld by the fold; the other two are evidence. */
|
|
63
78
|
export declare function wouldCountAsEvidence(d: OutcomeDisposition): boolean;
|
|
@@ -29,8 +29,9 @@
|
|
|
29
29
|
* the join key to be right (`ref` = `"<tool>:<id>"`, see `actionRef.ts`) and a
|
|
30
30
|
* measured before/after on the real log, exactly as #1319 required.
|
|
31
31
|
*/
|
|
32
|
-
import {
|
|
32
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
33
33
|
import path from "node:path";
|
|
34
|
+
import { appendChained, isChainMarker } from "../ledgerChain.js";
|
|
34
35
|
import { patchworkHome } from "../patchworkHome.js";
|
|
35
36
|
/**
|
|
36
37
|
* Filename. Deliberately NOT `outcome-log.jsonl` and deliberately not in a
|
|
@@ -38,6 +39,16 @@ import { patchworkHome } from "../patchworkHome.js";
|
|
|
38
39
|
* up by accident.
|
|
39
40
|
*/
|
|
40
41
|
export const SHADOW_LOG_BASENAME = "butler_outcome_shadow.jsonl";
|
|
42
|
+
/**
|
|
43
|
+
* Record level (ADR-0025's `rv` protocol; ADR-0027 for this ledger).
|
|
44
|
+
*
|
|
45
|
+
* 1: every row is written through `appendChained` and carries `iseq` and
|
|
46
|
+
* `prev`, stamped by the writer from the file's tail under the lock. At
|
|
47
|
+
* `rv >= 1` their absence is a WRITER DEFECT. Rows with no `rv` predate the
|
|
48
|
+
* chain; they are never re-stamped, and the `chain-start` marker commits to
|
|
49
|
+
* them as a block. Never default it on read.
|
|
50
|
+
*/
|
|
51
|
+
export const SHADOW_OUTCOME_RV = 1;
|
|
41
52
|
export function shadowLogPath(override) {
|
|
42
53
|
return path.join(override ?? patchworkHome(), SHADOW_LOG_BASENAME);
|
|
43
54
|
}
|
|
@@ -53,9 +64,15 @@ export function appendShadowOutcome(row, opts = {}) {
|
|
|
53
64
|
const full = {
|
|
54
65
|
...row,
|
|
55
66
|
wouldCountAsEvidence: wouldCountAsEvidence(row.disposition),
|
|
67
|
+
// Stamped AFTER the caller's fields so a caller cannot claim a level.
|
|
68
|
+
rv: SHADOW_OUTCOME_RV,
|
|
56
69
|
};
|
|
57
70
|
try {
|
|
58
|
-
|
|
71
|
+
// ADR-0027: locked, chained append. The old bare `appendFileSync` had no
|
|
72
|
+
// lock (two bridges could tear a row) and a failed append left the same
|
|
73
|
+
// bytes as a quiet day. The primitive counts the failure in the
|
|
74
|
+
// `.write_failed` sidecar and rethrows; the swallow below is unchanged.
|
|
75
|
+
appendChained(shadowLogPath(opts.dir), full, { mode: 0o600 });
|
|
59
76
|
}
|
|
60
77
|
catch {
|
|
61
78
|
// Swallowed on purpose. See above: an unwritable shadow ledger must not
|
|
@@ -95,6 +112,10 @@ export function firstSeenByRef(opts = {}) {
|
|
|
95
112
|
catch {
|
|
96
113
|
continue;
|
|
97
114
|
}
|
|
115
|
+
// ADR-0027 marker rows are metadata, never an observation — skipped by
|
|
116
|
+
// KIND, so a marker that happened to carry a ref could not sneak in.
|
|
117
|
+
if (isChainMarker(row))
|
|
118
|
+
continue;
|
|
98
119
|
if (typeof row.ref !== "string" || typeof row.gradedAt !== "number") {
|
|
99
120
|
continue;
|
|
100
121
|
}
|
|
@@ -214,6 +235,10 @@ export function parseShadowRows(text) {
|
|
|
214
235
|
catch {
|
|
215
236
|
continue;
|
|
216
237
|
}
|
|
238
|
+
// ADR-0027 marker rows are metadata, never a graded row — by KIND, so a
|
|
239
|
+
// future marker shape carrying a ref and a disposition is still excluded.
|
|
240
|
+
if (isChainMarker(row))
|
|
241
|
+
continue;
|
|
217
242
|
if (row.disposition !== "confirmed" &&
|
|
218
243
|
row.disposition !== "junk" &&
|
|
219
244
|
row.disposition !== "unknown") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outcomeShadowLog.js","sourceRoot":"","sources":["../../src/butler/outcomeShadowLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"outcomeShadowLog.js","sourceRoot":"","sources":["../../src/butler/outcomeShadowLog.ts"],"names":[],"mappings":"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"}
|
package/dist/evidenceVerify.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `patchwork evidence verify` — is the evidence spine internally intact?
|
|
3
3
|
*
|
|
4
4
|
* The offline reader ADR-0027 pairs with `appendChained`. Walks every ledger
|
|
5
|
-
* on `
|
|
5
|
+
* on `VERIFIED_LEDGERS` through `verifyLedgerChain` and reduces to one verdict.
|
|
6
6
|
*
|
|
7
7
|
* Unlike `patchwork evidence`, this one GATES: `ok: false` and exit 1 on any
|
|
8
8
|
* break, on a legacy-prefix mismatch, on a head sidecar that says the file
|
|
@@ -24,5 +24,16 @@ export interface EvidenceVerification {
|
|
|
24
24
|
ok: boolean;
|
|
25
25
|
ledgers: LedgerVerification[];
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* What `evidence verify` walks: the spine PLUS chained ledgers that are not
|
|
29
|
+
* on it. Kept SEPARATE from `SPINE_LEDGERS` on purpose — that list is the
|
|
30
|
+
* correlation/coverage set behind `patchwork evidence`'s denominators, and a
|
|
31
|
+
* ledger that carries no run id has no business in a "rows carry a run id"
|
|
32
|
+
* count. Wave 2 of ADR-0027 appends here, one ledger per PR.
|
|
33
|
+
*/
|
|
34
|
+
export declare const VERIFIED_LEDGERS: ReadonlyArray<{
|
|
35
|
+
key: string;
|
|
36
|
+
file: string;
|
|
37
|
+
}>;
|
|
27
38
|
export declare function verifyEvidenceChains(dir?: string): EvidenceVerification;
|
|
28
39
|
export declare function formatEvidenceVerify(r: EvidenceVerification): string;
|
package/dist/evidenceVerify.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `patchwork evidence verify` — is the evidence spine internally intact?
|
|
3
3
|
*
|
|
4
4
|
* The offline reader ADR-0027 pairs with `appendChained`. Walks every ledger
|
|
5
|
-
* on `
|
|
5
|
+
* on `VERIFIED_LEDGERS` through `verifyLedgerChain` and reduces to one verdict.
|
|
6
6
|
*
|
|
7
7
|
* Unlike `patchwork evidence`, this one GATES: `ok: false` and exit 1 on any
|
|
8
8
|
* break, on a legacy-prefix mismatch, on a head sidecar that says the file
|
|
@@ -17,9 +17,21 @@ import path from "node:path";
|
|
|
17
17
|
import { SPINE_LEDGERS } from "./evidenceCoverage.js";
|
|
18
18
|
import { verifyLedgerChain } from "./ledgerChain.js";
|
|
19
19
|
import { patchworkHome } from "./patchworkHome.js";
|
|
20
|
+
/**
|
|
21
|
+
* What `evidence verify` walks: the spine PLUS chained ledgers that are not
|
|
22
|
+
* on it. Kept SEPARATE from `SPINE_LEDGERS` on purpose — that list is the
|
|
23
|
+
* correlation/coverage set behind `patchwork evidence`'s denominators, and a
|
|
24
|
+
* ledger that carries no run id has no business in a "rows carry a run id"
|
|
25
|
+
* count. Wave 2 of ADR-0027 appends here, one ledger per PR.
|
|
26
|
+
*/
|
|
27
|
+
export const VERIFIED_LEDGERS = [
|
|
28
|
+
...SPINE_LEDGERS,
|
|
29
|
+
{ key: "butler outcome shadow", file: "butler_outcome_shadow.jsonl" },
|
|
30
|
+
{ key: "run steps", file: "run_steps.jsonl" },
|
|
31
|
+
];
|
|
20
32
|
export function verifyEvidenceChains(dir = patchworkHome()) {
|
|
21
33
|
const ledgers = [];
|
|
22
|
-
for (const { key, file } of
|
|
34
|
+
for (const { key, file } of VERIFIED_LEDGERS) {
|
|
23
35
|
const v = verifyLedgerChain(path.join(dir, file));
|
|
24
36
|
ledgers.push({ ...v, key, file });
|
|
25
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidenceVerify.js","sourceRoot":"","sources":["../src/evidenceVerify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAA0B,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAcnD,MAAM,UAAU,oBAAoB,CAClC,GAAG,GAAG,aAAa,EAAE;IAErB,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"evidenceVerify.js","sourceRoot":"","sources":["../src/evidenceVerify.ts"],"names":[],"mappings":"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"}
|
package/dist/ledgerChain.js
CHANGED
|
@@ -292,6 +292,15 @@ export function appendChained(file, row, opts = {}) {
|
|
|
292
292
|
let prevHash = tail.prevHash;
|
|
293
293
|
let iseq = tail.nextIseq;
|
|
294
294
|
if (tail.unchained) {
|
|
295
|
+
// A legacy file whose last line has no newline would otherwise get
|
|
296
|
+
// the marker glued onto it — one unparseable line, and a prefix the
|
|
297
|
+
// verifier can never reconstruct. Terminate the line first; the
|
|
298
|
+
// commitment below covers the terminated bytes, and the legacy row's
|
|
299
|
+
// own content is byte-identical.
|
|
300
|
+
if (text.length > 0 && !text.endsWith("\n")) {
|
|
301
|
+
appendFileSync(file, "\n", { mode });
|
|
302
|
+
text += "\n";
|
|
303
|
+
}
|
|
295
304
|
const marker = {
|
|
296
305
|
kind: "chain-start",
|
|
297
306
|
at: now(),
|
|
@@ -358,7 +367,8 @@ export function verifyLedgerChain(file) {
|
|
|
358
367
|
};
|
|
359
368
|
if (v.absent)
|
|
360
369
|
return v;
|
|
361
|
-
const
|
|
370
|
+
const bytes = readFileSync(file);
|
|
371
|
+
const text = bytes.toString("utf-8");
|
|
362
372
|
const lines = splitLines(text);
|
|
363
373
|
// Every iseq in the file, so "the expected one exists later" (reordered) can
|
|
364
374
|
// be told apart from "it exists nowhere" (a gap).
|
|
@@ -424,10 +434,13 @@ export function verifyLedgerChain(file) {
|
|
|
424
434
|
v.legacyPrefix = "none";
|
|
425
435
|
}
|
|
426
436
|
else {
|
|
427
|
-
|
|
437
|
+
// BYTES, not a string slice: `legacyBytes` is a byte count and a
|
|
438
|
+
// string index is a UTF-16 code-unit count. They agree only on pure
|
|
439
|
+
// ASCII, and real ledgers carry em dashes and accents in `reason`.
|
|
440
|
+
const prefix = bytes.subarray(0, legacyBytes).toString("utf-8");
|
|
428
441
|
v.legacyPrefix =
|
|
429
442
|
hashLine(prefix) === p.legacyHash &&
|
|
430
|
-
|
|
443
|
+
legacyBytes === p.legacyBytes &&
|
|
431
444
|
v.legacyRows === p.legacyRows
|
|
432
445
|
? "verified"
|
|
433
446
|
: "mismatch";
|
package/dist/ledgerChain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledgerChain.js","sourceRoot":"","sources":["../src/ledgerChain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ledgerChain.js","sourceRoot":"","sources":["../src/ledgerChain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AA6F7C;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAI,GAA0B,CAAC,IAAI,CAAC;IAC3C,OAAO,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,UAAU,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAI5C,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,IAAY,EACZ,MAAoB,IAAI,CAAC,GAAG;IAE5B,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,cAAc,CACZ,iBAAiB,CAAC,IAAI,CAAC,CAAC,WAAW,EACnC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;aAC/B,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAC5D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACtC,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAE,CAA6B;YAChC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,CAAU;IAChC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;IAC1B,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,MAAM,SAAS,GACb,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC5B,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACH,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;oBAAC,MAAM,CAAC;wBACP,iBAAiB;oBACnB,CAAC;oBACD,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAW,CAAC,CAAC,OAAO;YAChE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC3C,WAAW;YACb,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAUD,SAAS,QAAQ,CAAC,KAAe;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC9E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;YAClB,MAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,GAAG,CAAC,CAAC;YACb,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACpE,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAW,CAAC;QACrD,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CACb,IAAY,EACZ,KAAe,EACf,IAA0B,EAC1B,GAAW,EACX,IAAY;IAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC;IAE3D,yEAAyE;IACzE,mDAAmD;IACnD,IAAI,KAAK,GAA0B,IAAI,CAAC;IACxC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,KAAK,GAAG,KAAkC,CAAC;QAC3C,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,QAAQ;YAAE,MAAM;QAChD,MAAM,IAAI,IAAI,CAAC;QACf,QAAQ,GAAG,CAAC,CAAC;QACb,IAAI,EAAE,CAAC;IACT,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,kBAAkB;IAEtE,IAAI,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;IAC1C,IAAI,iBAAiB,GAAG,KAAK,EAAE,iBAAiB,IAAI,CAAC,CAAC;IACtD,IAAI,eAAe,GAAG,KAAK,EAAE,eAAe,IAAI,IAAI,CAAC;IACrD,IAAI,eAAe,GAAG,KAAK,EAAE,eAAe,IAAI,IAAI,CAAC;IACrD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC/B,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,WAAW,EAAE,CAAC;YACd,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;QAC3B,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACzC,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,uEAAuE;YACvE,iEAAiE;YACjE,IAAI,CAAC,cAAc;gBAAE,iBAAiB,EAAE,CAAC;QAC3C,CAAC;QACD,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,IAAI,eAAe,KAAK,IAAI;QAAE,eAAe,GAAG,IAAI,CAAC;IAErE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,SAAS,GACb,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,GAAG;QACP,WAAW;QACX,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,aAAa,EACX,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;KACtE,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IACnD,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,GAA4B,EAC5B,OAA6B,EAAE;IAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;IAChC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,gBAAgB,CACrB,IAAI,EACJ,GAAG,EAAE;YACH,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,GAAG,CAAC;YAClE,CAAC;YACD,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,SAAS,GACb,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAC3B,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClD,MAAM,SAAS,GACb,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9D,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,iEAAiE;gBACjE,mEAAmE;gBACnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,CAAC;oBAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,mEAAmE;gBACnE,oEAAoE;gBACpE,gEAAgE;gBAChE,qEAAqE;gBACrE,iCAAiC;gBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACrC,IAAI,IAAI,IAAI,CAAC;gBACf,CAAC;gBACD,MAAM,MAAM,GAAqB;oBAC/B,IAAI,EAAE,aAAa;oBACnB,EAAE,EAAE,GAAG,EAAE;oBACT,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;oBAC5C,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC;iBAC3B,CAAC;gBACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1C,cAAc,CAAC,IAAI,EAAE,GAAG,UAAU,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAChC,IAAI,GAAG,CAAC,CAAC;YACX,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,OAAO,GAA4B;gBACvC,GAAG,GAAG;gBACN,IAAI;gBACJ,IAAI,EAAE,QAAQ;gBACd,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjD,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,WAAW,CACT,IAAI,CAAC,IAAI,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EACrD,IAAI,CACL,CAAC;YACF,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAC1C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,kBAAkB,CAChB,IAAI,EACH,GAA6B,CAAC,IAAI,IAAI,UAAU,EACjD,GAAG,CACJ,CAAC;QACF,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,SAAS,CACjB,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAC3D,CAAC;QACF,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9D,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,CAAC,GAAsB;QAC3B,IAAI;QACJ,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QACzB,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,MAAM,EAAE,EAAE;QACV,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;QACnE,IAAI,EAAE,KAAK;KACZ,CAAC;IACF,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAE/B,6EAA6E;IAC7E,kDAAkD;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;QAChC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC;QAErB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GACN,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC7B,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACnC,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC;gBACrE,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,SAAS;YACX,CAAC;YACD,CAAC,CAAC,SAAS,EAAE,CAAC;YACd,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,WAAqB,CAAC;YAC9C,OAAO,GAAG,IAAI,CAAC;YACf,IAAK,CAAC,CAAC,iBAA4B,GAAG,CAAC;gBAAE,kBAAkB,GAAG,IAAI,CAAC;YACnE,IAAI,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;gBACvC,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC;YACnC,IAAI,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;gBACnC,YAAY,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,MAAM,EAAE,GACN,CAAC,KAAK,IAAI;gBACV,CAAC,aAAa;gBACd,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC5B,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC7B,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;YACnC,aAAa,GAAG,IAAI,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC9B,CAAC,CAAC,YAAY,GAAG,sBAAsB,CAAC;YAC1C,CAAC;iBAAM,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,IAAK,CAAC,CAAC,UAAqB,KAAK,CAAC,EAAE,CAAC;gBAChE,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,iEAAiE;gBACjE,oEAAoE;gBACpE,mEAAmE;gBACnE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChE,CAAC,CAAC,YAAY;oBACZ,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU;wBACjC,WAAW,KAAK,CAAC,CAAC,WAAW;wBAC7B,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;wBAC3B,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,UAAU,CAAC;YACnB,CAAC;YACD,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,YAAY,KAAK,IAAI;gBAAE,YAAY,GAAG,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,sEAAsE;YACtE,CAAC,CAAC,UAAU,EAAE,CAAC;YACf,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,CAAC,CAAC,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,YAAY,KAAK,IAAI,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACnD,IAAI,IAAoB,CAAC;YACzB,IAAI,IAAI,GAAG,YAAY;gBACrB,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;;gBAChD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;YACnD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,WAAW,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClB,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC;QACxB,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,QAAQ,GAAG,IAAI,CAAC;QAChB,QAAQ,GAAG,YAAY,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3D,CAAC;SAAM,IAAI,kBAAkB,IAAI,CAAC,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QAC3D,CAAC,CAAC,YAAY,GAAG,sBAAsB,CAAC;IAC1C,CAAC;IAED,8EAA8E;IAC9E,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzD,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,IAAI,EAAE,CAAC,CAAC,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACrD,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC;YACpB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,YAAY,KAAK,UAAU;YAC7B,CAAC,CAAC,IAAI,KAAK,SAAS;YACpB,CAAC,CAAC,IAAI,KAAK,WAAW;YACtB,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;IACxB,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/runStepLedger.d.ts
CHANGED
|
@@ -21,7 +21,22 @@ export interface RunStepLedgerRow {
|
|
|
21
21
|
recipeName: string;
|
|
22
22
|
at: number;
|
|
23
23
|
step: RunStepResult;
|
|
24
|
+
/** Writer-stamped record level. Absent on rows that predate the chain. */
|
|
25
|
+
rv?: number;
|
|
26
|
+
/** ADR-0027 integrity position and previous-line hash (rv >= 1). */
|
|
27
|
+
iseq?: number;
|
|
28
|
+
prev?: string;
|
|
24
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Record level (ADR-0025's `rv` protocol; ADR-0027 for this ledger).
|
|
32
|
+
*
|
|
33
|
+
* 1: every row is written through `appendChained` and carries `iseq` and
|
|
34
|
+
* `prev`, stamped by the writer from the file's tail under the lock. At
|
|
35
|
+
* `rv >= 1` their absence is a WRITER DEFECT. Rows with no `rv` predate the
|
|
36
|
+
* chain; they are never re-stamped, and the `chain-start` marker commits to
|
|
37
|
+
* them as a block. Never default it on read.
|
|
38
|
+
*/
|
|
39
|
+
export declare const RUN_STEP_LEDGER_RV = 1;
|
|
25
40
|
/**
|
|
26
41
|
* Is this step worth persisting mid-flight?
|
|
27
42
|
*
|
|
@@ -36,8 +51,19 @@ export interface RunStepLedgerRow {
|
|
|
36
51
|
export declare function isEvidenceBearing(step: RunStepResult): boolean;
|
|
37
52
|
export declare function stepLedgerPath(dir: string): string;
|
|
38
53
|
/** Append one evidence row. Never throws — losing a mid-flight row must not
|
|
39
|
-
* take down the run that produced it.
|
|
40
|
-
|
|
54
|
+
* take down the run that produced it.
|
|
55
|
+
*
|
|
56
|
+
* ADR-0027: one locked, chained append. The hand-rolled "drop half the file
|
|
57
|
+
* at 2 MB" trim is gone; rotation is the primitive's, writes an explicit
|
|
58
|
+
* `rotation` marker, and the chain re-anchors across it. A failed append is
|
|
59
|
+
* counted in the `.write_failed` sidecar and sealed into the next row, so a
|
|
60
|
+
* ledger that stopped writing is distinguishable from a quiet run.
|
|
61
|
+
*
|
|
62
|
+
* `opts.maxBytes` is a TEST SEAM (like the gate ledger's `maxPersistBytes`):
|
|
63
|
+
* a test that must observe rotation should not write two real megabytes. */
|
|
64
|
+
export declare function appendStepEvidence(dir: string, row: RunStepLedgerRow, logger?: Logger, opts?: {
|
|
65
|
+
maxBytes?: number;
|
|
66
|
+
}): void;
|
|
41
67
|
/**
|
|
42
68
|
* Read the ledger, grouped by taskId, newest-wins per step id. Returns an empty
|
|
43
69
|
* map when the file is missing or unreadable — fail-soft, exactly as before
|
package/dist/runStepLedger.js
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mkdirSync, readFileSync, statSync } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { appendChained, isChainMarker } from "./ledgerChain.js";
|
|
3
4
|
import { AGENT_STEP_TOOL, classifyActionClass } from "./workers/actionClass.js";
|
|
5
|
+
/**
|
|
6
|
+
* Record level (ADR-0025's `rv` protocol; ADR-0027 for this ledger).
|
|
7
|
+
*
|
|
8
|
+
* 1: every row is written through `appendChained` and carries `iseq` and
|
|
9
|
+
* `prev`, stamped by the writer from the file's tail under the lock. At
|
|
10
|
+
* `rv >= 1` their absence is a WRITER DEFECT. Rows with no `rv` predate the
|
|
11
|
+
* chain; they are never re-stamped, and the `chain-start` marker commits to
|
|
12
|
+
* them as a block. Never default it on read.
|
|
13
|
+
*/
|
|
14
|
+
export const RUN_STEP_LEDGER_RV = 1;
|
|
4
15
|
/** Cap on `run_steps.jsonl`. Rows only matter until their run reaches a
|
|
5
16
|
* terminal record, so this is a crash-window buffer, not history. */
|
|
6
17
|
const MAX_LEDGER_BYTES = 2 * 1024 * 1024;
|
|
18
|
+
/**
|
|
19
|
+
* Low-water target after rotation. Half the cap keeps the old "newest half
|
|
20
|
+
* survives" bound while letting the primitive trim to a byte target rather
|
|
21
|
+
* than a line ratio; a target at the cap would rotate on every append once
|
|
22
|
+
* the file is full (the gate ledger measured 826 rotations in one fill).
|
|
23
|
+
*/
|
|
24
|
+
const ROTATE_TARGET_BYTES = MAX_LEDGER_BYTES / 2;
|
|
7
25
|
/**
|
|
8
26
|
* Is this step worth persisting mid-flight?
|
|
9
27
|
*
|
|
@@ -28,13 +46,33 @@ export function stepLedgerPath(dir) {
|
|
|
28
46
|
return path.join(dir, "run_steps.jsonl");
|
|
29
47
|
}
|
|
30
48
|
/** Append one evidence row. Never throws — losing a mid-flight row must not
|
|
31
|
-
* take down the run that produced it.
|
|
32
|
-
|
|
49
|
+
* take down the run that produced it.
|
|
50
|
+
*
|
|
51
|
+
* ADR-0027: one locked, chained append. The hand-rolled "drop half the file
|
|
52
|
+
* at 2 MB" trim is gone; rotation is the primitive's, writes an explicit
|
|
53
|
+
* `rotation` marker, and the chain re-anchors across it. A failed append is
|
|
54
|
+
* counted in the `.write_failed` sidecar and sealed into the next row, so a
|
|
55
|
+
* ledger that stopped writing is distinguishable from a quiet run.
|
|
56
|
+
*
|
|
57
|
+
* `opts.maxBytes` is a TEST SEAM (like the gate ledger's `maxPersistBytes`):
|
|
58
|
+
* a test that must observe rotation should not write two real megabytes. */
|
|
59
|
+
export function appendStepEvidence(dir, row, logger, opts = {}) {
|
|
33
60
|
const file = stepLedgerPath(dir);
|
|
61
|
+
const maxBytes = opts.maxBytes ?? MAX_LEDGER_BYTES;
|
|
34
62
|
try {
|
|
35
63
|
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
36
|
-
|
|
37
|
-
|
|
64
|
+
appendChained(file,
|
|
65
|
+
// Stamped AFTER the caller's fields so a caller cannot claim a level.
|
|
66
|
+
{ ...row, rv: RUN_STEP_LEDGER_RV }, {
|
|
67
|
+
mode: 0o600,
|
|
68
|
+
maxBytes,
|
|
69
|
+
rotateTarget: opts.maxBytes !== undefined
|
|
70
|
+
? Math.floor(maxBytes / 2)
|
|
71
|
+
: ROTATE_TARGET_BYTES,
|
|
72
|
+
onRotate: ({ dropped, before }) => {
|
|
73
|
+
logger?.warn?.(`[runsteps] rotate dropped ${dropped} of ${before} row(s) (oldest first) to get under ${maxBytes} bytes`);
|
|
74
|
+
},
|
|
75
|
+
});
|
|
38
76
|
}
|
|
39
77
|
catch (err) {
|
|
40
78
|
logger?.warn?.(`[runsteps] append failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -61,6 +99,10 @@ export function loadStepEvidence(dir, logger) {
|
|
|
61
99
|
continue;
|
|
62
100
|
try {
|
|
63
101
|
const parsed = JSON.parse(line);
|
|
102
|
+
// ADR-0027 marker rows are metadata, never step evidence — skipped by
|
|
103
|
+
// KIND, so a marker that happened to carry a taskId could not sneak in.
|
|
104
|
+
if (isChainMarker(parsed))
|
|
105
|
+
continue;
|
|
64
106
|
if (!parsed?.taskId || !parsed.step?.id)
|
|
65
107
|
continue;
|
|
66
108
|
let steps = byTask.get(parsed.taskId);
|
|
@@ -80,23 +122,4 @@ export function loadStepEvidence(dir, logger) {
|
|
|
80
122
|
out.set(taskId, Array.from(steps.values()));
|
|
81
123
|
return out;
|
|
82
124
|
}
|
|
83
|
-
/** Keep the newest half when the buffer exceeds its cap. */
|
|
84
|
-
function trimIfOversized(file) {
|
|
85
|
-
let size;
|
|
86
|
-
try {
|
|
87
|
-
size = statSync(file).size;
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (size <= MAX_LEDGER_BYTES)
|
|
93
|
-
return;
|
|
94
|
-
const lines = readFileSync(file, "utf-8").split("\n").filter(Boolean);
|
|
95
|
-
const keep = lines.slice(Math.floor(lines.length / 2));
|
|
96
|
-
const tmp = `${file}.tmp`;
|
|
97
|
-
writeFileSync(tmp, keep.length > 0 ? `${keep.join("\n")}\n` : "", {
|
|
98
|
-
mode: 0o600,
|
|
99
|
-
});
|
|
100
|
-
renameSync(tmp, file);
|
|
101
|
-
}
|
|
102
125
|
//# sourceMappingURL=runStepLedger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runStepLedger.js","sourceRoot":"","sources":["../src/runStepLedger.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runStepLedger.js","sourceRoot":"","sources":["../src/runStepLedger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "patchwork-os",
|
|
3
|
-
"version": "1.2.0-beta.2.canary.
|
|
3
|
+
"version": "1.2.0-beta.2.canary.791",
|
|
4
4
|
"description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|