audit-tools 0.34.14 → 0.34.16
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/dispatch/merge-results.mjs +84 -24
- package/dispatch/validate.mjs +21 -3
- package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.js +7 -14
- package/dist/audit/cli/dispatch/packetFilter.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +7 -1
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/scoreAuditCommand.d.ts.map +1 -1
- package/dist/audit/cli/scoreAuditCommand.js +6 -1
- package/dist/audit/cli/scoreAuditCommand.js.map +1 -1
- package/dist/audit/extractors/graphSignals.d.ts +37 -9
- package/dist/audit/extractors/graphSignals.d.ts.map +1 -1
- package/dist/audit/extractors/graphSignals.js +69 -9
- package/dist/audit/extractors/graphSignals.js.map +1 -1
- package/dist/audit/orchestrator/pendingTasks.d.ts +26 -0
- package/dist/audit/orchestrator/pendingTasks.d.ts.map +1 -0
- package/dist/audit/orchestrator/pendingTasks.js +13 -0
- package/dist/audit/orchestrator/pendingTasks.js.map +1 -0
- package/dist/audit/orchestrator/planningExecutors.d.ts +12 -1
- package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.js +43 -9
- package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +31 -22
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.js +19 -16
- package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
- package/dist/remediate/dispatch/ownershipRegistry.d.ts +17 -1
- package/dist/remediate/dispatch/ownershipRegistry.d.ts.map +1 -1
- package/dist/remediate/dispatch/ownershipRegistry.js +21 -3
- package/dist/remediate/dispatch/ownershipRegistry.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +49 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +57 -14
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/plan.d.ts.map +1 -1
- package/dist/remediate/phases/plan.js +66 -6
- package/dist/remediate/phases/plan.js.map +1 -1
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +52 -5
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/review/reviewGate.d.ts +14 -0
- package/dist/remediate/review/reviewGate.d.ts.map +1 -1
- package/dist/remediate/review/reviewGate.js +22 -0
- package/dist/remediate/review/reviewGate.js.map +1 -1
- package/dist/remediate/state/store.d.ts.map +1 -1
- package/dist/remediate/state/store.js +64 -1
- package/dist/remediate/state/store.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.d.ts +15 -0
- package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.js +98 -26
- package/dist/remediate/steps/dispatch/acceptNode.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptReconcile.d.ts +66 -0
- package/dist/remediate/steps/dispatch/acceptReconcile.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/acceptReconcile.js +154 -0
- package/dist/remediate/steps/dispatch/acceptReconcile.js.map +1 -0
- package/dist/remediate/steps/dispatch/verifyCommands.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/verifyCommands.js +29 -15
- package/dist/remediate/steps/dispatch/verifyCommands.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +59 -23
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts +9 -0
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +61 -1
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.js +21 -0
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts +5 -2
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +56 -21
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +10 -3
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/io/frictionCapture.d.ts +0 -14
- package/dist/shared/io/frictionCapture.d.ts.map +1 -1
- package/dist/shared/io/frictionCapture.js +48 -3
- package/dist/shared/io/frictionCapture.js.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +51 -16
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/providerFactory.d.ts +17 -0
- package/dist/shared/providers/providerFactory.d.ts.map +1 -1
- package/dist/shared/providers/providerFactory.js +11 -6
- package/dist/shared/providers/providerFactory.js.map +1 -1
- package/dist/shared/providers/proxyCatalog.d.ts.map +1 -1
- package/dist/shared/providers/proxyCatalog.js +20 -5
- package/dist/shared/providers/proxyCatalog.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +13 -0
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/quota/fileLock.d.ts +8 -1
- package/dist/shared/quota/fileLock.d.ts.map +1 -1
- package/dist/shared/quota/fileLock.js +39 -1
- package/dist/shared/quota/fileLock.js.map +1 -1
- package/package.json +1 -1
|
@@ -69,6 +69,19 @@ export function buildReviewRequest(findings, planId) {
|
|
|
69
69
|
tiers,
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Whether `resolution` answers THIS `request` (INV-RSM-RESOLUTION-CORRELATE).
|
|
74
|
+
* An absent resolution or an absent `plan_id` correlates (host-lenient: the
|
|
75
|
+
* single-run common case writes no plan_id); a PRESENT plan_id that differs
|
|
76
|
+
* from the request's marks a stale leftover from another run — the caller must
|
|
77
|
+
* archive it and re-halt rather than apply a cross-run answer.
|
|
78
|
+
*/
|
|
79
|
+
export function isResolutionForRequest(request, resolution) {
|
|
80
|
+
const resolutionPlanId = resolution?.plan_id;
|
|
81
|
+
if (resolutionPlanId === undefined)
|
|
82
|
+
return true;
|
|
83
|
+
return resolutionPlanId === request.plan_id;
|
|
84
|
+
}
|
|
72
85
|
/**
|
|
73
86
|
* Apply the user's resolution to a request: every item is either approved (act
|
|
74
87
|
* on it) or declined (recorded terminal disposition with a reason). An item is
|
|
@@ -77,11 +90,20 @@ export function buildReviewRequest(findings, planId) {
|
|
|
77
90
|
* because the gate's job is to let the user REMOVE items, not to require
|
|
78
91
|
* opting every item in. An absent/empty resolution approves everything.
|
|
79
92
|
*
|
|
93
|
+
* A resolution carrying a MISMATCHED `plan_id` is rejected (throws): applying a
|
|
94
|
+
* stale cross-run answer would approve/decline the wrong finding set
|
|
95
|
+
* (INV-RSM-RESOLUTION-CORRELATE, COR-0b906e37). Callers pre-screen with
|
|
96
|
+
* {@link isResolutionForRequest} to archive-and-re-halt instead of crashing;
|
|
97
|
+
* the throw here is the mechanical backstop, not the primary UX.
|
|
98
|
+
*
|
|
80
99
|
* Crucially, declined items are returned with an explicit reason so the caller
|
|
81
100
|
* records a terminal disposition (e.g. `ignored`) rather than silently closing
|
|
82
101
|
* them — the exact failure this gate exists to prevent.
|
|
83
102
|
*/
|
|
84
103
|
export function applyReviewResolution(request, resolution) {
|
|
104
|
+
if (!isResolutionForRequest(request, resolution)) {
|
|
105
|
+
throw new Error(`review resolution plan_id "${resolution?.plan_id}" does not answer review request plan_id "${request.plan_id}" — stale cross-run resolution rejected (INV-RSM-RESOLUTION-CORRELATE).`);
|
|
106
|
+
}
|
|
85
107
|
const disapprovedIds = new Set(resolution?.disapproved_findings ?? []);
|
|
86
108
|
const disapprovedTiers = new Set(resolution?.disapproved_tiers ?? []);
|
|
87
109
|
const approved_ids = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewGate.js","sourceRoot":"","sources":["../../../src/remediate/review/reviewGate.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,oDAAoD;AACpD,EAAE;AACF,4EAA4E;AAC5E,iFAAiF;AACjF,yEAAyE;AACzE,kFAAkF;AAClF,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,iFAAiF;AACjF,6EAA6E;AAC7E,gDAAgD;AAChD,EAAE;AACF,iFAAiF;AACjF,gFAAgF;AAChF,sEAAsE;AAGtE,OAAO,EAGL,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,6BAA6B,GAAG,kCAA2C,CAAC;AAmDzF,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,OAAO,CAAC,OAAgB;IAC/B,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,EAAE;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC;QAClC,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,mBAAmB,EAAE,cAAc,CAAC,mBAAmB;KACxD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,MAAc;IAEd,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,MAAM,GAAoC;QAC9C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QACjC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;KACtC,CAAC;IACF,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtC,KAAK,CAAC,IAAI,CAAC;YACT,SAAS;YACT,KAAK,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,KAAK;YAC/C,WAAW,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,WAAW;YAC3D,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,cAAc,EAAE,6BAA6B;QAC7C,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"reviewGate.js","sourceRoot":"","sources":["../../../src/remediate/review/reviewGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EACF,SAAS,GACT,UAAU,GACV,2BAA2B,GAC3B,cAAc,GACd,QAAQ,GACR,oBAAoB,GACpB,SAAS,GACT,UAAU,CAAC;IACf,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAC;IACxD;;;;OAIG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EACF,SAAS,GACT,UAAU,GACV,2BAA2B,GAC3B,cAAc,GACd,QAAQ,GACR,oBAAoB,GACpB,SAAS,GACT,UAAU,CAAC;IACf,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAC;IACxD;;;;OAIG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAsGD,eAAO,MAAM,eAAe,QAA+B,CAAC;AAU5D,qBAAa,UAAU;IAWnB,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAZlC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2C;gBAGvD,YAAY,EAAE,MAAM,EAEX,cAAc,CAAC,EAAE,MAAM,YAAA;IAoBpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;;;;;OAQG;IACG,SAAS,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAInD;;;;;OAKG;IACG,MAAM,CACV,EAAE,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,OAAO,CAAC,gBAAgB,CAAC,GAClE,OAAO,CAAC,gBAAgB,CAAC;IAS5B;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxD"}
|
|
@@ -12,6 +12,19 @@ const KNOWN_STATUSES = new Set([
|
|
|
12
12
|
"closing",
|
|
13
13
|
"complete",
|
|
14
14
|
]);
|
|
15
|
+
/**
|
|
16
|
+
* Statuses whose derived step decisions READ the plan/items — a state in one of
|
|
17
|
+
* these with those fields missing is unusable (the state machine would crash or,
|
|
18
|
+
* worse, silently mis-derive), so the load gate rejects it up front
|
|
19
|
+
* (INV-RSM-STATE-COMPLETE, DAT-017d52ff). `complete` is exempt: its only
|
|
20
|
+
* decision path presents the report, and a green close deletes state.json.
|
|
21
|
+
*/
|
|
22
|
+
const PLAN_REQUIRED_STATUSES = new Set([
|
|
23
|
+
"implementing",
|
|
24
|
+
"triage",
|
|
25
|
+
"waiting_for_triage",
|
|
26
|
+
"closing",
|
|
27
|
+
]);
|
|
15
28
|
/** Validate that a parsed JSON value is a usable RemediationState. */
|
|
16
29
|
function validateState(value) {
|
|
17
30
|
const errors = [];
|
|
@@ -22,9 +35,59 @@ function validateState(value) {
|
|
|
22
35
|
const obj = value;
|
|
23
36
|
if (!("status" in obj)) {
|
|
24
37
|
errors.push("Missing required field: status");
|
|
38
|
+
return errors;
|
|
25
39
|
}
|
|
26
|
-
|
|
40
|
+
const status = obj["status"];
|
|
41
|
+
if (!KNOWN_STATUSES.has(status)) {
|
|
27
42
|
errors.push(`Unknown status "${String(obj["status"])}"; expected one of: ${[...KNOWN_STATUSES].join(", ")}`);
|
|
43
|
+
return errors;
|
|
44
|
+
}
|
|
45
|
+
// Status-conditional completeness (INV-RSM-STATE-COMPLETE): every field the
|
|
46
|
+
// status's decision path reads must be present, or the load fails loudly
|
|
47
|
+
// instead of handing the state machine a partially-persisted state.
|
|
48
|
+
if (PLAN_REQUIRED_STATUSES.has(status)) {
|
|
49
|
+
const plan = obj["plan"];
|
|
50
|
+
if (!plan || typeof plan !== "object" || Array.isArray(plan)) {
|
|
51
|
+
errors.push(`status "${status}" requires a persisted plan`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const p = plan;
|
|
55
|
+
if (typeof p["plan_id"] !== "string" || p["plan_id"].length === 0) {
|
|
56
|
+
errors.push(`status "${status}" requires plan.plan_id`);
|
|
57
|
+
}
|
|
58
|
+
if (!Array.isArray(p["findings"])) {
|
|
59
|
+
errors.push(`status "${status}" requires plan.findings`);
|
|
60
|
+
}
|
|
61
|
+
if (!Array.isArray(p["blocks"])) {
|
|
62
|
+
errors.push(`status "${status}" requires plan.blocks`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const items = obj["items"];
|
|
66
|
+
if (!items || typeof items !== "object" || Array.isArray(items)) {
|
|
67
|
+
errors.push(`status "${status}" requires persisted items`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
for (const [key, item] of Object.entries(items)) {
|
|
71
|
+
if (!item || typeof item !== "object" || Array.isArray(item)) {
|
|
72
|
+
errors.push(`items["${key}"] must be an object`);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const it = item;
|
|
76
|
+
// Item identity fields: triage / close / dispatch all key on these.
|
|
77
|
+
if (typeof it["finding_id"] !== "string" || it["finding_id"].length === 0) {
|
|
78
|
+
errors.push(`items["${key}"] is missing its finding_id identity field`);
|
|
79
|
+
}
|
|
80
|
+
if (typeof it["block_id"] !== "string" || it["block_id"].length === 0) {
|
|
81
|
+
errors.push(`items["${key}"] is missing its block_id identity field`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (status === "closing") {
|
|
87
|
+
const closingPlan = obj["closing_plan"];
|
|
88
|
+
if (!closingPlan || typeof closingPlan !== "object" || Array.isArray(closingPlan)) {
|
|
89
|
+
errors.push(`status "closing" requires a persisted closing_plan`);
|
|
90
|
+
}
|
|
28
91
|
}
|
|
29
92
|
return errors;
|
|
30
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAEL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AA2G5B,qFAAqF;AACrF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS;IACrC,SAAS;IACT,UAAU;IACV,2BAA2B;IAC3B,cAAc;IACd,QAAQ;IACR,oBAAoB;IACpB,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAEH,sEAAsE;AACtE,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -184,6 +184,21 @@ export interface AcceptNodeWorktreeResult {
|
|
|
184
184
|
* so the non-reentrant `withFileLock` never self-deadlocks.
|
|
185
185
|
*/
|
|
186
186
|
export declare function acceptNodeWorktree(params: AcceptNodeWorktreeParams): Promise<AcceptNodeWorktreeResult>;
|
|
187
|
+
/**
|
|
188
|
+
* Roll the MAIN checkout back to `baseOid` bit-identically and VERIFY it landed
|
|
189
|
+
* (COR-586b493e): the reset and the scoped clean each have their exit status
|
|
190
|
+
* checked, and HEAD is re-read and compared to `baseOid` afterwards. A blind
|
|
191
|
+
* `git reset --hard` that fails (lock contention, object corruption, a
|
|
192
|
+
* concurrent writer) would otherwise leave the shared base BROKEN — the
|
|
193
|
+
* cherry-picked-but-red state every sibling node then builds on — while the
|
|
194
|
+
* caller reports only the original check failure. Returns `{ok:false}` with a
|
|
195
|
+
* diagnostic so callers append a loud ROLLBACK FAILED marker instead of
|
|
196
|
+
* silently trusting the rollback.
|
|
197
|
+
*/
|
|
198
|
+
export declare function rollbackBaseToOid(root: string, baseOid: string, filesToClean?: Iterable<string>): {
|
|
199
|
+
ok: boolean;
|
|
200
|
+
detail?: string;
|
|
201
|
+
};
|
|
187
202
|
/**
|
|
188
203
|
* Sidecar path for a node's tool-owned accept (verify/merge) outcome. Written by
|
|
189
204
|
* BOTH rolling drivers as each node is accepted, read by `mergeImplementResults`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptNode.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/acceptNode.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA8BxD,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,cAAc,GACd,SAAS,GACT,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,aAAa,EAAE,iBAAiB,CAAC;IACjC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;;;OASG;IACH,KAAK,EAAE;QACL,gFAAgF;QAChF,cAAc,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KACpE,CAAC;IACF;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;OASG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzC;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACrC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,gGAAgG;IAChG,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAKnC;
|
|
1
|
+
{"version":3,"file":"acceptNode.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/acceptNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,74 @@ import { enforceAcceptWriteScope } from "./writeScope.js";
|
|
|
42
42
|
export async function acceptNodeWorktree(params) {
|
|
43
43
|
return withFileLock(worktreeNodeLockPath(params.root, params.runId, params.blockId), () => acceptNodeWorktreeLocked(params));
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Roll the MAIN checkout back to `baseOid` bit-identically and VERIFY it landed
|
|
47
|
+
* (COR-586b493e): the reset and the scoped clean each have their exit status
|
|
48
|
+
* checked, and HEAD is re-read and compared to `baseOid` afterwards. A blind
|
|
49
|
+
* `git reset --hard` that fails (lock contention, object corruption, a
|
|
50
|
+
* concurrent writer) would otherwise leave the shared base BROKEN — the
|
|
51
|
+
* cherry-picked-but-red state every sibling node then builds on — while the
|
|
52
|
+
* caller reports only the original check failure. Returns `{ok:false}` with a
|
|
53
|
+
* diagnostic so callers append a loud ROLLBACK FAILED marker instead of
|
|
54
|
+
* silently trusting the rollback.
|
|
55
|
+
*/
|
|
56
|
+
export function rollbackBaseToOid(root, baseOid, filesToClean) {
|
|
57
|
+
const reset = spawnSyncHidden("git", ["reset", "--hard", baseOid], {
|
|
58
|
+
cwd: root,
|
|
59
|
+
encoding: "utf8",
|
|
60
|
+
shell: false,
|
|
61
|
+
});
|
|
62
|
+
if (reset.error || reset.status !== 0) {
|
|
63
|
+
return {
|
|
64
|
+
ok: false,
|
|
65
|
+
detail: `git reset --hard ${baseOid} failed: ${reset.error ? reset.error.message : (reset.stderr ?? "").toString().trim()}`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Scoped clean: remove only the pick/check-emitted untracked files under the
|
|
69
|
+
// touched paths — never a blanket `git clean`.
|
|
70
|
+
const files = [...(filesToClean ?? [])];
|
|
71
|
+
if (files.length > 0) {
|
|
72
|
+
const clean = spawnSyncHidden("git", ["clean", "-fdq", "--", ...files], {
|
|
73
|
+
cwd: root,
|
|
74
|
+
encoding: "utf8",
|
|
75
|
+
shell: false,
|
|
76
|
+
});
|
|
77
|
+
if (clean.error || clean.status !== 0) {
|
|
78
|
+
return {
|
|
79
|
+
ok: false,
|
|
80
|
+
detail: `git clean after rollback failed: ${clean.error ? clean.error.message : (clean.stderr ?? "").toString().trim()}`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Verify the rollback actually landed: HEAD must BE the captured base OID.
|
|
85
|
+
const head = spawnSyncHidden("git", ["rev-parse", "HEAD"], {
|
|
86
|
+
cwd: root,
|
|
87
|
+
encoding: "utf8",
|
|
88
|
+
shell: false,
|
|
89
|
+
});
|
|
90
|
+
if (head.error || head.status !== 0) {
|
|
91
|
+
return {
|
|
92
|
+
ok: false,
|
|
93
|
+
detail: `could not re-read HEAD after rollback: ${head.error ? head.error.message : (head.stderr ?? "").toString().trim()}`,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const headOid = head.stdout.trim();
|
|
97
|
+
if (headOid !== baseOid) {
|
|
98
|
+
return {
|
|
99
|
+
ok: false,
|
|
100
|
+
detail: `rollback did not land: HEAD is ${headOid}, expected ${baseOid}`,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return { ok: true };
|
|
104
|
+
}
|
|
105
|
+
/** Append the loud rollback-failure marker to a red-gate diagnostic. */
|
|
106
|
+
function withRollbackDiagnostic(diagnostic, rollback) {
|
|
107
|
+
if (rollback.ok)
|
|
108
|
+
return diagnostic;
|
|
109
|
+
return (`${diagnostic}\nROLLBACK FAILED: the main checkout could NOT be restored to its ` +
|
|
110
|
+
`pre-merge state (${rollback.detail}). The base may be left with this node's ` +
|
|
111
|
+
`red cherry-pick applied — restore it manually before accepting sibling nodes.`);
|
|
112
|
+
}
|
|
45
113
|
/** The accept-node body, run while the per-node worktree lock (INV-WTS-8) is held. */
|
|
46
114
|
async function acceptNodeWorktreeLocked(params) {
|
|
47
115
|
const { root, runId, blockId, worktreeRoot: wt, branch, workerOutcome, targetedCommands, additionalVerifyCommands } = params;
|
|
@@ -144,7 +212,11 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
144
212
|
if (!rebase.ok) {
|
|
145
213
|
quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
146
214
|
removeWorktree(root, wt);
|
|
147
|
-
|
|
215
|
+
// INV-WTS-7: every post-commit failure return carries the captured
|
|
216
|
+
// committed OID — the node DID commit, so the sidecar must record it
|
|
217
|
+
// (a merged:false sidecar with a committed_oid is exactly the stale
|
|
218
|
+
// record the accept reconciliation adjudicates, CE-201).
|
|
219
|
+
return { outcome: "error", verifyPassed, merged, committedOid, diagnostic: rebase.error };
|
|
148
220
|
}
|
|
149
221
|
// Pre-flight: a dirty tracked file in the MAIN checkout that collides with a
|
|
150
222
|
// path this node edits makes the later cherry-pick abort with an opaque
|
|
@@ -163,6 +235,7 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
163
235
|
outcome: "error",
|
|
164
236
|
verifyPassed,
|
|
165
237
|
merged,
|
|
238
|
+
committedOid,
|
|
166
239
|
diagnostic: `main tree has uncommitted changes to ${paths} — commit or stash ${it} ` +
|
|
167
240
|
`before merging this node (the cherry-pick would otherwise abort with ` +
|
|
168
241
|
`"local changes would be overwritten by merge"). This is unrelated to the ` +
|
|
@@ -212,7 +285,9 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
212
285
|
// command + output so triage isn't blind on outcome:error.
|
|
213
286
|
quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
214
287
|
removeWorktree(root, wt);
|
|
215
|
-
|
|
288
|
+
// INV-WTS-7: carry the committed OID — realizes CE-201's
|
|
289
|
+
// merged:false-sidecar-with-committed_oid premise for a verify-failed node.
|
|
290
|
+
return { outcome: "error", verifyPassed, merged, committedOid, diagnostic: verify.output };
|
|
216
291
|
}
|
|
217
292
|
// Write-scope gate (OBL-DS-06), BEFORE the cherry-pick: an out-of-scope or
|
|
218
293
|
// seam-conflicting edit must never land in the main tree, so it is adjudicated
|
|
@@ -231,7 +306,7 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
231
306
|
// Scope-blocked but the node committed real work — preserve it for recovery.
|
|
232
307
|
quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
233
308
|
removeWorktree(root, wt);
|
|
234
|
-
return { outcome: "error", verifyPassed, merged: false, diagnostic: decision.reason };
|
|
309
|
+
return { outcome: "error", verifyPassed, merged: false, committedOid, diagnostic: decision.reason };
|
|
235
310
|
}
|
|
236
311
|
// Capture the base HEAD OID BEFORE the cherry-pick so a RED merged-base check can
|
|
237
312
|
// roll the base back to a bit-identical state.
|
|
@@ -247,6 +322,7 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
247
322
|
outcome: "error",
|
|
248
323
|
verifyPassed,
|
|
249
324
|
merged,
|
|
325
|
+
committedOid,
|
|
250
326
|
diagnostic: `could not capture base HEAD before merge: ${(baseHeadBefore.stderr ?? baseHeadBefore.error?.message ?? "").toString().trim()}`,
|
|
251
327
|
};
|
|
252
328
|
}
|
|
@@ -272,6 +348,7 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
272
348
|
outcome: "error",
|
|
273
349
|
verifyPassed,
|
|
274
350
|
merged: false,
|
|
351
|
+
committedOid,
|
|
275
352
|
diagnostic: `ownership gate: claim lease for ${blockId} reclaimed by a peer before ` +
|
|
276
353
|
`merge; refusing to land.`,
|
|
277
354
|
};
|
|
@@ -284,7 +361,7 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
284
361
|
if (!mergeRes.success) {
|
|
285
362
|
// Cherry-pick conflict: the committed work would otherwise be orphaned — preserve it.
|
|
286
363
|
quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
287
|
-
return { outcome: "error", verifyPassed, merged, diagnostic: mergeRes.error };
|
|
364
|
+
return { outcome: "error", verifyPassed, merged, committedOid, diagnostic: mergeRes.error };
|
|
288
365
|
}
|
|
289
366
|
// Merged-base-green (INV-2): the cherry-pick landed in the MAIN checkout, where
|
|
290
367
|
// node_modules is faithful (the worktree's @audit-tools junction resolves to main
|
|
@@ -304,25 +381,22 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
304
381
|
const detail = check.error
|
|
305
382
|
? check.error.message
|
|
306
383
|
: [check.stdout ?? "", check.stderr ?? ""].filter(Boolean).join("\n");
|
|
307
|
-
// Roll the base back to its pre-pick OID, bit-identical
|
|
308
|
-
|
|
309
|
-
// Scoped clean
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
//
|
|
313
|
-
//
|
|
314
|
-
//
|
|
315
|
-
|
|
316
|
-
// leak on the rollback path. This mirrors the loop-core guard clean below.
|
|
317
|
-
if (nodeEditedFiles.available && nodeEditedFiles.files.size > 0) {
|
|
318
|
-
spawnSyncHidden("git", ["clean", "-fdq", "--", ...[...nodeEditedFiles.files]], { cwd: root, shell: false });
|
|
319
|
-
}
|
|
384
|
+
// Roll the base back to its pre-pick OID, bit-identical, VERIFIED
|
|
385
|
+
// (COR-586b493e — a silently-failed reset leaves the base broken).
|
|
386
|
+
// Scoped clean is driven off the PRE-merge snapshot (`nodeEditedFiles`,
|
|
387
|
+
// captured above), NOT a post-pick re-probe: after the pick the
|
|
388
|
+
// `HEAD...branch` diff reads EMPTY whenever the pick reproduced an
|
|
389
|
+
// identical SHA (same-second commit+pick → merge-base == branch tip),
|
|
390
|
+
// which made a post-pick re-probe non-deterministically inert → an
|
|
391
|
+
// untracked-file leak on the rollback path.
|
|
392
|
+
const rollback = rollbackBaseToOid(root, baseOid, nodeEditedFiles.available ? nodeEditedFiles.files : []);
|
|
320
393
|
quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
321
394
|
return {
|
|
322
395
|
outcome: "error",
|
|
323
396
|
verifyPassed,
|
|
324
397
|
merged: false,
|
|
325
|
-
|
|
398
|
+
committedOid,
|
|
399
|
+
diagnostic: withRollbackDiagnostic(`$ ${checkArgv.join(" ")}\n${detail}`, rollback),
|
|
326
400
|
};
|
|
327
401
|
}
|
|
328
402
|
}
|
|
@@ -346,19 +420,17 @@ async function acceptNodeWorktreeLocked(params) {
|
|
|
346
420
|
const detail = res.error
|
|
347
421
|
? res.error.message
|
|
348
422
|
: [res.stdout ?? "", res.stderr ?? ""].filter(Boolean).join("\n");
|
|
349
|
-
// Roll the base back to its pre-pick OID, bit-identical
|
|
350
|
-
|
|
351
|
-
//
|
|
352
|
-
|
|
353
|
-
if (guardEdited.available && guardEdited.files.size > 0) {
|
|
354
|
-
spawnSyncHidden("git", ["clean", "-fdq", "--", ...[...guardEdited.files]], { cwd: root, shell: false });
|
|
355
|
-
}
|
|
423
|
+
// Roll the base back to its pre-pick OID, bit-identical, VERIFIED
|
|
424
|
+
// (COR-586b493e) — scoped clean of only the pick/guard-emitted
|
|
425
|
+
// untracked files under the paths the pick touched.
|
|
426
|
+
const rollback = rollbackBaseToOid(root, baseOid, guardEdited.available ? guardEdited.files : []);
|
|
356
427
|
quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
357
428
|
return {
|
|
358
429
|
outcome: "error",
|
|
359
430
|
verifyPassed,
|
|
360
431
|
merged: false,
|
|
361
|
-
|
|
432
|
+
committedOid,
|
|
433
|
+
diagnostic: withRollbackDiagnostic(`$ ${guardArgv.join(" ")}\n${detail}`, rollback),
|
|
362
434
|
};
|
|
363
435
|
}
|
|
364
436
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptNode.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/acceptNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAgB,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAIvF,OAAO,EACL,MAAM,EACN,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,cAAc,EACd,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAkK1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAgC;IAEhC,OAAO,YAAY,CACjB,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAC/D,GAAG,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,KAAK,UAAU,wBAAwB,CACrC,MAAgC;IAEhC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAC;IAC7H,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,kFAAkF;IAClF,mFAAmF;IACnF,4EAA4E;IAC5E,mFAAmF;IACnF,iCAAiC;IACjC,IAAI,YAAgC,CAAC;IAErC,IACE,aAAa,KAAK,cAAc;QAChC,aAAa,KAAK,kBAAkB;QACpC,aAAa,KAAK,oBAAoB,EACtC,CAAC;QACD,4EAA4E;QAC5E,qEAAqE;QACrE,2EAA2E;QAC3E,2EAA2E;QAC3E,uEAAuE;QACvE,6EAA6E;QAC7E,mEAAmE;QACnE,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,yDAAyD;QACzD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,+EAA+E;QAC/E,gFAAgF;QAChF,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,aAAa,OAAO,KAAK,KAAK,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,+EAA+E;QAC/E,2EAA2E;QAC3E,qCAAqC;QACrC,kCAAkC,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACrE,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,kFAAkF;QAClF,gFAAgF;QAChF,wEAAwE;QACxE,+EAA+E;QAC/E,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,4EAA4E;YAC5E,2EAA2E;YAC3E,wEAAwE;YACxE,2EAA2E;YAC3E,8EAA8E;YAC9E,4DAA4D;YAC5D,OAAO;gBACL,OAAO,EAAE,OAAO;gBAChB,YAAY;gBACZ,MAAM;gBACN,UAAU,EACR,QAAQ,OAAO,4DAA4D;oBAC3E,yBAAyB,EAAE,4CAA4C;oBACvE,yEAAyE;oBACzE,0EAA0E;oBAC1E,0EAA0E;oBAC1E,4DAA4D;gBAC9D,sBAAsB,EAAE,IAAI;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACtD,CAAC;IAED,mFAAmF;IACnF,oFAAoF;IACpF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;QACjE,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,qFAAqF;IACrF,qFAAqF;IACrF,sFAAsF;IACtF,4EAA4E;IAC5E,qFAAqF;IACrF,mFAAmF;IACnF,iFAAiF;IACjF,4EAA4E;IAC5E,OAAO,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;QAC9D,iFAAiF;QACjF,gFAAgF;QAChF,mFAAmF;QACnF,iFAAiF;QACjF,+EAA+E;QAC/E,mCAAmC;QACnC,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9E,CAAC;QAED,6EAA6E;QAC7E,wEAAwE;QACxE,8EAA8E;QAC9E,4EAA4E;QAC5E,+EAA+E;QAC/E,8EAA8E;QAC9E,yDAAyD;QACzD,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,OAAO;gBAChB,YAAY;gBACZ,MAAM;gBACN,UAAU,EACR,wCAAwC,KAAK,sBAAsB,EAAE,GAAG;oBACxE,uEAAuE;oBACvE,2EAA2E;oBAC3E,wEAAwE;aAC3E,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,gFAAgF;QAChF,+EAA+E;QAC/E,sFAAsF;QACtF,mFAAmF;QACnF,mFAAmF;QACnF,6EAA6E;QAC7E,MAAM,YAAY,GAChB,gBAAgB,KAAK,SAAS;YAC5B,CAAC,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9C,CAAC,CAAC,gBAAgB,CAAC;QACvB,IAAI,cAAwB,CAAC;QAC7B,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,+EAA+E;YAC/E,iFAAiF;YACjF,kFAAkF;YAClF,iFAAiF;YACjF,+EAA+E;YAC/E,0EAA0E;YAC1E,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG;gBACf,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC5B,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC;YACF,MAAM,UAAU,GAAG,2BAA2B,CAC5C,uBAAuB,CAAC,wBAAwB,CAAC,EACjD,QAAQ,EACR,EAAE,CACH,CAAC;YACF,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,YAAY,CAAC;QAChC,CAAC;QACD,MAAM,MAAM,GACV,cAAc,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,yEAAyE;gBACzE,iFAAiF;gBACjF,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC;YAChD,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACnC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,+EAA+E;YAC/E,8EAA8E;YAC9E,6EAA6E;YAC7E,4EAA4E;YAC5E,2DAA2D;YAC3D,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/E,CAAC;QAED,2EAA2E;QAC3E,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,mCAAmC;QACnC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;YACvC,IAAI;YACJ,MAAM;YACN,OAAO;YACP,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;SAC5C,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,6EAA6E;YAC7E,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxF,CAAC;QAED,kFAAkF;QAClF,+CAA+C;QAC/C,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YACnE,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,IAAI,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,OAAO;gBAChB,YAAY;gBACZ,MAAM;gBACN,UAAU,EAAE,6CACV,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAChF,EAAE;aACH,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAE7C,+EAA+E;QAC/E,kFAAkF;QAClF,mFAAmF;QACnF,iEAAiE;QACjE,MAAM,eAAe,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9D,4EAA4E;QAC5E,2EAA2E;QAC3E,8EAA8E;QAC9E,gFAAgF;QAChF,+EAA+E;QAC/E,wEAAwE;QACxE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,OAAO;oBAChB,YAAY;oBACZ,MAAM,EAAE,KAAK;oBACb,UAAU,EACR,mCAAmC,OAAO,8BAA8B;wBACxE,0BAA0B;iBAC7B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,sFAAsF;YACtF,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAChF,CAAC;QAED,gFAAgF;QAChF,kFAAkF;QAClF,kFAAkF;QAClF,mFAAmF;QACnF,mFAAmF;QACnF,qFAAqF;QACrF,MAAM,SAAS,GACb,MAAM,CAAC,sBAAsB,KAAK,SAAS;YACzC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC;QACpC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,sEAAsE;YACtE,iDAAiD;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YACxD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK;oBACxB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;oBACrB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxE,yDAAyD;gBACzD,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClF,4EAA4E;gBAC5E,4EAA4E;gBAC5E,oEAAoE;gBACpE,6EAA6E;gBAC7E,4EAA4E;gBAC5E,4EAA4E;gBAC5E,4EAA4E;gBAC5E,2EAA2E;gBAC3E,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAChE,eAAe,CACb,KAAK,EACL,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EACtD,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAC5B,CAAC;gBACJ,CAAC;gBACD,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzD,OAAO;oBACL,OAAO,EAAE,OAAO;oBAChB,YAAY;oBACZ,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE;iBAClD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,qFAAqF;QACrF,oFAAoF;QACpF,sFAAsF;QACtF,qFAAqF;QACrF,uFAAuF;QACvF,gFAAgF;QAChF,MAAM,WAAW,GAAG,eAAe,CAAC;QACpC,MAAM,eAAe,GACnB,WAAW,CAAC,SAAS,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,SAAS,GACb,MAAM,CAAC,kBAAkB,KAAK,SAAS;gBACrC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC5B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAChC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBACnE,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;gBACpD,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK;wBACtB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;wBACnB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpE,yDAAyD;oBACzD,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAClF,+EAA+E;oBAC/E,wDAAwD;oBACxD,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBACxD,eAAe,CACb,KAAK,EACL,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAClD,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAC5B,CAAC;oBACJ,CAAC;oBACD,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBACzD,OAAO;wBACL,OAAO,EAAE,OAAO;wBAChB,YAAY;wBACZ,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE;qBAClD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,oFAAoF;QACpF,8EAA8E;QAC9E,kEAAkE;QAClE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YAC/D,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,MAAM,aAAa,GACjB,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtF,kFAAkF;QAClF,4EAA4E;QAC5E,8BAA8B;QAC9B,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,YAAY;YACZ,MAAM;YACN,YAAY;YACZ,aAAa;YACb,wEAAwE;YACxE,0CAA0C;YAC1C,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,KAAa,EACb,OAAe;IAEf,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,kBAAkB,OAAO,OAAO,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,YAAoB,EACpB,KAAa,EACb,OAAe,EACf,MAAgC;IAEhC,MAAM,IAAI,GAAG,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjE,+EAA+E;IAC/E,6EAA6E;IAC7E,iFAAiF;IACjF,+EAA+E;IAC/E,kFAAkF;IAClF,4EAA4E;IAC5E,6EAA6E;IAC7E,qDAAqD;IACrD,MAAM,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,QAAQ,EAAE,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACjE,MAAM,aAAa,CAAC,IAAI,EAAE;YACxB,cAAc,EAAE,uDAAuD;YACvE,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,gFAAgF;YAChF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,iFAAiF;YACjF,mDAAmD;YACnD,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,MAAM,CAAC,sBAAsB,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,sBAAsB,EAAE;gBAC7D,CAAC,CAAC,EAAE,CAAC;YACP,gGAAgG;YAChG,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAoB,EACpB,KAAa,EACb,OAAe;IAEf,MAAM,GAAG,GAAG,MAAM,oBAAoB,CASnC,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,GAAG,CAAC,wBAAwB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE,sBAAsB,EAAE,GAAG,CAAC,wBAAwB,EAAE;YAC1D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAuBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAuB3C;IACC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAClJ,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,gFAAgF;QAChF,gFAAgF;QAChF,iFAAiF;QACjF,yEAAyE;QACzE,wEAAwE;QACxE,EAAE;QACF,uEAAuE;QACvE,0EAA0E;QAC1E,gFAAgF;QAChF,gFAAgF;QAChF,iFAAiF;QACjF,8EAA8E;QAC9E,kBAAkB;QAClB,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE;YAC/E,0BAA0B,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7C,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACjC,0BAA0B,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACjF,4EAA4E;QAC5E,kFAAkF;QAClF,mFAAmF;QACnF,yDAAyD;QACzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACtC,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,wBAAwB;YACxB,KAAK,EAAE,EAAE,cAAc,EAAE;YACzB,mEAAmE;YACnE,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,WAAW,IAAI,EAAE;YACxF,SAAS;SACV,CAAC,CAAC;QACH,MAAM,uBAAuB,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,GAA6B,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClG,MAAM,uBAAuB,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE;gBAC1G,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,GAAG;aACX;YACD,MAAM;SACP,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"acceptNode.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/acceptNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inv-8 — accept-outcome reconciliation (CE-201): bind the THREE durable
|
|
3
|
+
* records of a node's landing before any force-close mapping runs.
|
|
4
|
+
*
|
|
5
|
+
* The accept lifecycle has two unavoidable kill windows:
|
|
6
|
+
*
|
|
7
|
+
* window 1 — the process dies BETWEEN `mergeWorktree`'s cherry-pick and
|
|
8
|
+
* `recordNodeAcceptOutcome`: the commit IS on the base branch, but the
|
|
9
|
+
* sidecar on disk is a PRIOR attempt's stale `merged:false` (or absent);
|
|
10
|
+
* window 2 — the process dies BETWEEN `recordNodeAcceptOutcome` and the
|
|
11
|
+
* state merge: the sidecar says `merged:true`, but the item statuses are
|
|
12
|
+
* still in-progress.
|
|
13
|
+
*
|
|
14
|
+
* In both windows the run's durable records DISAGREE about a landed block. A
|
|
15
|
+
* force-close that trusts only the state (invariant 9's blocked mapping) then
|
|
16
|
+
* reports a LANDED fix as blocked and omits its files from the staging
|
|
17
|
+
* manifest. This module reconciles the disagreement from git ground truth:
|
|
18
|
+
*
|
|
19
|
+
* 1. git — the base-reachable tool-owned commits: `commitWorktree` stamps
|
|
20
|
+
* the exact subject `remediate <blockId> (<runId>)`, so a `git log
|
|
21
|
+
* --fixed-strings --grep` over HEAD ancestry, filtered to EXACT-subject
|
|
22
|
+
* matches, is the authoritative landed-evidence probe (a cherry-pick
|
|
23
|
+
* rewrites the OID but preserves the subject — the sidecar's
|
|
24
|
+
* `committed_oid` is the BRANCH tip, never the landed commit, which is
|
|
25
|
+
* why detection is disagreement-keyed rather than OID-equality-keyed,
|
|
26
|
+
* and never keyed on sidecar absence alone);
|
|
27
|
+
* 2. the sidecar (`accept-outcome-<block>.json`) — repaired to
|
|
28
|
+
* `merged:true` with the landed OID + files when git disproves it;
|
|
29
|
+
* 3. the state — in-progress items of a landed block are reconciled to
|
|
30
|
+
* `resolved`, and the landed files are unioned into
|
|
31
|
+
* `applied_edit_surface` (the close phase's staging manifest source).
|
|
32
|
+
*
|
|
33
|
+
* A block with NO landed evidence is left untouched — invariant 9's
|
|
34
|
+
* force-close blocked mapping stays valid exactly when reconciliation ran and
|
|
35
|
+
* found nothing (its precondition, pinned by the no-evidence control test).
|
|
36
|
+
*/
|
|
37
|
+
import type { RemediationState } from "../../state/store.js";
|
|
38
|
+
/** One repaired block's landed evidence. */
|
|
39
|
+
export interface ReconciledBlock {
|
|
40
|
+
block_id: string;
|
|
41
|
+
/** The base-reachable commit OIDs whose subject is this block's exact tool subject. */
|
|
42
|
+
landed_oids: string[];
|
|
43
|
+
/** Repo-relative files those commits touched (path-sorted, de-duplicated). */
|
|
44
|
+
landed_files: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface AcceptReconcileResult {
|
|
47
|
+
/** True when any sidecar/state repair was applied. */
|
|
48
|
+
changed: boolean;
|
|
49
|
+
reconciled: ReconciledBlock[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reconcile every block's three durable records against git ground truth.
|
|
53
|
+
* MUTATES `state` in place (items + applied_edit_surface) and repairs stale
|
|
54
|
+
* sidecars via {@link recordNodeAcceptOutcome} (whose merged:true guard makes
|
|
55
|
+
* the repair monotonic). Call BEFORE any force-close mapping — the close
|
|
56
|
+
* phase wires it at the top of `runClosePhase`.
|
|
57
|
+
*
|
|
58
|
+
* Never throws: a git failure degrades to "no landed evidence" (the
|
|
59
|
+
* conservative reading — nothing is force-resolved without proof).
|
|
60
|
+
*/
|
|
61
|
+
export declare function reconcileAcceptOutcomes(args: {
|
|
62
|
+
root: string;
|
|
63
|
+
artifactsDir: string;
|
|
64
|
+
state: RemediationState;
|
|
65
|
+
}): Promise<AcceptReconcileResult>;
|
|
66
|
+
//# sourceMappingURL=acceptReconcile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptReconcile.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/acceptReconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AA+CD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;CACzB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyEjC"}
|