codeloop-mcp-server 0.1.52 → 0.1.54
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/auth/critical_floors.d.ts.map +1 -1
- package/dist/auth/critical_floors.js +8 -0
- package/dist/auth/critical_floors.js.map +1 -1
- package/dist/auth/update_check.d.ts.map +1 -1
- package/dist/auth/update_check.js +19 -1
- package/dist/auth/update_check.js.map +1 -1
- package/dist/evidence/anti_rationalisation.d.ts.map +1 -1
- package/dist/evidence/anti_rationalisation.js +15 -0
- package/dist/evidence/anti_rationalisation.js.map +1 -1
- package/dist/evidence/binary_freshness.d.ts +21 -0
- package/dist/evidence/binary_freshness.d.ts.map +1 -0
- package/dist/evidence/binary_freshness.js +113 -0
- package/dist/evidence/binary_freshness.js.map +1 -0
- package/dist/evidence/change_coverage.d.ts.map +1 -1
- package/dist/evidence/change_coverage.js +22 -1
- package/dist/evidence/change_coverage.js.map +1 -1
- package/dist/evidence/cycle_issues.d.ts +99 -0
- package/dist/evidence/cycle_issues.d.ts.map +1 -0
- package/dist/evidence/cycle_issues.js +120 -0
- package/dist/evidence/cycle_issues.js.map +1 -0
- package/dist/evidence/evidence_freshness.d.ts +39 -0
- package/dist/evidence/evidence_freshness.d.ts.map +1 -0
- package/dist/evidence/evidence_freshness.js +231 -0
- package/dist/evidence/evidence_freshness.js.map +1 -0
- package/dist/evidence/interaction_coverage.d.ts +15 -0
- package/dist/evidence/interaction_coverage.d.ts.map +1 -1
- package/dist/evidence/interaction_coverage.js +53 -4
- package/dist/evidence/interaction_coverage.js.map +1 -1
- package/dist/evidence/screenshot_diff.d.ts.map +1 -1
- package/dist/evidence/screenshot_diff.js +30 -12
- package/dist/evidence/screenshot_diff.js.map +1 -1
- package/dist/index.js +197 -4
- package/dist/index.js.map +1 -1
- package/dist/runners/modal_close_strategies.d.ts +82 -0
- package/dist/runners/modal_close_strategies.d.ts.map +1 -0
- package/dist/runners/modal_close_strategies.js +226 -0
- package/dist/runners/modal_close_strategies.js.map +1 -0
- package/dist/runners/modal_detector.d.ts +17 -0
- package/dist/runners/modal_detector.d.ts.map +1 -1
- package/dist/runners/modal_detector.js +95 -22
- package/dist/runners/modal_detector.js.map +1 -1
- package/dist/tools/design_compare.d.ts.map +1 -1
- package/dist/tools/design_compare.js +22 -3
- package/dist/tools/design_compare.js.map +1 -1
- package/dist/tools/gate_check.d.ts.map +1 -1
- package/dist/tools/gate_check.js +188 -14
- package/dist/tools/gate_check.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"critical_floors.d.ts","sourceRoot":"","sources":["../../src/auth/critical_floors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"critical_floors.d.ts","sourceRoot":"","sources":["../../src/auth/critical_floors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EA4C1C,CAAC"}
|
|
@@ -68,5 +68,13 @@ export const CRITICAL_FLOORS = [
|
|
|
68
68
|
min_version: "0.1.52",
|
|
69
69
|
reason: "Change-aware verification — pre-0.1.52 builds were CHANGE-BLIND: the auto-fix loop happily reached 100% confidence on a recording session that NEVER exercised the new feature the user just added. The Photometry-DB E2E #9 transcript shipped a new Product Code DataGrid column, a new buttons-below-title layout, a new ProductCode property, and an EF migration column — and the gate passed with 11/11 green having only run a 5-click navigation tour on an empty database. 0.1.52 ships C1 (per-run change_manifest.json built from the git diff vs the last verified SHA + uncommitted/untracked files, with feature-shape parsers for XAML / HTML / JSX / C# / TS / Dart / Swift / Kt / EF migrations / SQL DDL plus structural-layout delta detection), C2 (codeloop_plan_change_journey emits a per-manifest-entry interaction script with a HARD seed-first preamble), C3 (change_coverage_evidence blocker gate at 1.0 threshold cross-references the manifest against interaction log + screenshots + replay frames + build/runtime logs), C4 (empty-state seeding enforcement — codeloop_interact appends a HARD directive when the agent targets a row/cell with no prior commit/seed action), C5 (verify cross-checks tasks_completed claims against the manifest and surfaces orphan claims as warnings), C6 (anti-rationalisation directive in gate_check continue_fixing block + recent_thinking phrase scan that surfaces 'comprehensive verification confirms' / 'further interaction would be redundant' style stalls), and C7 (target_change_entry on codeloop_interact + codeloop_capture_screenshot anchors evidence to manifest entries via a deterministic --c7-<slug> filename suffix the C3 gate matches without fuzzy logic).",
|
|
70
70
|
},
|
|
71
|
+
{
|
|
72
|
+
min_version: "0.1.53",
|
|
73
|
+
reason: "Stale-evidence rejection + decoder + skip-reason fixes — pre-0.1.53 builds shipped at 100% confidence on a SIBLING-RUN recording from before the source-code change. Photometry-DB E2E #10 added Product Name + Product Code columns to the Luminaire export pipeline, never re-recorded after the edit, and the gate accepted a 28-min-old video + 440-action interaction log + full CRUD arc — all from a sibling run that pre-dated the diff. 0.1.53 ships D1 (cli + mcp-server pin @codelooptech/shared >= 0.1.22 so npx never resolves to a shared version that's missing rules-version.js, fixing the codeloop doctor ERR_MODULE_NOT_FOUND on Windows), D2 (gate_check anchors video / interaction_depth / user_journey / replay-frame evidence against the newest source-file mtime — sibling-run evidence captured BEFORE the latest edit fails as STALE with a Re-record directive, closing the change-blind loophole that 0.1.52's manifest gate couldn't help with when an MCP server still ran 0.1.51), D3 (PNG decoder gains a third-stage `checkCRC: false` retry so Windows-saved PNGs with mis-computed chunk CRCs decode without forcing the user to PowerShell `[System.Drawing.Bitmap]::Save` 18 design references by hand), D4 (update_check polls every 15 min instead of every hour and lazily kicks a fetch when the cache is stale, so a critical update lands within an in-progress agent session instead of after the next IDE restart), and D5 (design_compare gate disambiguates 'reference PNG genuinely corrupt' from 'no actual screenshot captured for this reference' — the dominant root cause is surfaced first so the agent calls codeloop_capture_screenshot for the missing names instead of going on a 30-min re-encode hunt).",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
min_version: "0.1.54",
|
|
77
|
+
reason: "Stuck-modal + cycle-issue acknowledgment — pre-0.1.54 builds shipped at 100% confidence with `ready_for_review` even when three real recurrence-class issues happened mid-cycle and got buried in the dev log. Photometry-DB E2E #11 had a .NET 8 `OpenFolderDialog` that ignored Escape / Enter / WM_CLOSE / SC_CLOSE — codeloop_handle_modal could only send single keystrokes, so the agent had to hard-restart the app to drain a stack of three modals. The gate accepted the run because nothing forced the agent to surface the modal-close failure, the binary-vs-source mismatch (bin/Release rebuilt but recording ran against publish/PhotometryDB-Beta with stale DLLs), or the app-restart-during-recording. 0.1.54 ships E1 (modal_kind classifier — file_dialog / confirm / alert / custom — by ClassName + name pattern, plus a 4-strategy close ladder Escape → Alt+F4 → UIA Invoke 'Close' → EndDialog with re-detection between steps, and a new codeloop_kill_modal_window tool for PostMessage(WM_CLOSE) → TerminateProcess escalation when all 4 fail), E2 (cycle_issues.jsonl evidence channel + new cycle_issues_acknowledged blocker gate that fails until every recorded issue has a sibling resolution OR the agent's gate response enumerates each one — extended C6 anti-rationalisation phrases ban 'all gates green' / 'everything looks good' boilerplate when unresolved cycle issues exist), E3 (codeloop_interact click-effect verification — when intent / description / purpose / step contains close/dismiss/cancel keywords, re-detect the modal post-click and override success=false + record click_missed_target when the modal is still up), E4 (codeloop_start_recording compares target_app binary mtime against the newest source mtime — emits HARD `BINARY MISMATCH` directive + binary_mismatch cycle issue when the binary lags by > 60s), E5 (dev_report + interaction_coverage filter non-interaction log entries — replay-frame markers, pure console-error rollups, runtime-log entries — and coerce missing actions to `unclassified` so the action breakdown is honest), E6 (depth gate appends a high-failure-rate warning + high_failure_rate cycle issue when failed/(failed+successful) > 10%, signalling 'your clicks aren't landing where you think' instead of letting depth pass quietly with 31 silent failures), and E7 (change_coverage_evidence gate now always surfaces 'Credited X/Y manifest entries (kind breakdown + sample exercised names)' on PASS so the agent has something concrete to cite in its summary instead of slipping into 'all gates green').",
|
|
78
|
+
},
|
|
71
79
|
];
|
|
72
80
|
//# sourceMappingURL=critical_floors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"critical_floors.js","sourceRoot":"","sources":["../../src/auth/critical_floors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AASH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,ufAAuf;KAC1f;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,4hBAA4hB;KACriB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,yvBAAyvB;KAClwB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,kxBAAkxB;KACrxB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,0/BAA0/B;KAC7/B;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,0iCAA0iC;KAC7iC;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,gqDAAgqD;KACnqD;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"critical_floors.js","sourceRoot":"","sources":["../../src/auth/critical_floors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AASH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,ufAAuf;KAC1f;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,4hBAA4hB;KACriB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,yvBAAyvB;KAClwB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,kxBAAkxB;KACrxB;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,0/BAA0/B;KAC7/B;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,0iCAA0iC;KAC7iC;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,gqDAAgqD;KACnqD;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,uqDAAuqD;KAC1qD;IACD;QACE,WAAW,EAAE,QAAQ;QACrB,MAAM,EACJ,w+EAAw+E;KAC3+E;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update_check.d.ts","sourceRoot":"","sources":["../../src/auth/update_check.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"update_check.d.ts","sourceRoot":"","sources":["../../src/auth/update_check.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW3E,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,WAAW,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AA+CD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAY1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,aAAa,EAAoB,GAAG,aAAa,EAAE,CAElH;AA0BD;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAmBpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAejD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,UAAU,GAAG,IAAa,GAAG,MAAM,GAAG,IAAI,CAkBlF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAYvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAMrC"}
|
|
@@ -43,7 +43,12 @@ import { fileURLToPath } from "node:url";
|
|
|
43
43
|
import { CRITICAL_FLOORS } from "./critical_floors.js";
|
|
44
44
|
const NPM_REGISTRY_URL = "https://registry.npmjs.org/codeloop-mcp-server/latest";
|
|
45
45
|
const FETCH_TIMEOUT_MS = 5_000;
|
|
46
|
-
|
|
46
|
+
// 0.1.53 D4 — Reduced from 1 hour to 15 min so a critical update lands
|
|
47
|
+
// within an in-progress agent session instead of waiting until the next
|
|
48
|
+
// IDE restart. Photometry-DB E2E #10 ran change-blind on a 0.1.51 server
|
|
49
|
+
// for ~30 min after 0.1.52 published; with this interval the next fetch
|
|
50
|
+
// would have caught it inside the same recording session.
|
|
51
|
+
const REFRESH_MS = 15 * 60 * 1_000;
|
|
47
52
|
let cached = null;
|
|
48
53
|
let refreshTimer = null;
|
|
49
54
|
/**
|
|
@@ -191,6 +196,19 @@ export async function refreshUpdateInfo() {
|
|
|
191
196
|
* adds no notice and tool responses look unchanged.
|
|
192
197
|
*/
|
|
193
198
|
export function getUpdateInfo() {
|
|
199
|
+
// 0.1.53 D4 — Kick a background fetch when the cache is missing or
|
|
200
|
+
// older than REFRESH_MS. Fire-and-forget so the current tool response
|
|
201
|
+
// isn't blocked, but the NEXT response will see the freshly-fetched
|
|
202
|
+
// info. Combined with the reduced REFRESH_MS this means a critical
|
|
203
|
+
// update lands in-session within a few tool calls instead of after
|
|
204
|
+
// the next IDE restart.
|
|
205
|
+
if (!isOptedOut()) {
|
|
206
|
+
const now = Date.now();
|
|
207
|
+
const ageMs = cached ? now - cached.checked_at : Infinity;
|
|
208
|
+
if (ageMs > REFRESH_MS) {
|
|
209
|
+
void refreshUpdateInfo();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
194
212
|
return cached;
|
|
195
213
|
}
|
|
196
214
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update_check.js","sourceRoot":"","sources":["../../src/auth/update_check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAsB,MAAM,sBAAsB,CAAC;AAE3E,MAAM,gBAAgB,GAAG,uDAAuD,CAAC;AACjF,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"update_check.js","sourceRoot":"","sources":["../../src/auth/update_check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anti_rationalisation.d.ts","sourceRoot":"","sources":["../../src/evidence/anti_rationalisation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"anti_rationalisation.d.ts","sourceRoot":"","sources":["../../src/evidence/anti_rationalisation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA4CzE,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAQxF;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,kBAAkB,EAAE,GACzB,MAAM,CAyBR"}
|
|
@@ -45,6 +45,21 @@ export const C6_FORBIDDEN_PHRASES = [
|
|
|
45
45
|
regex: /\bgrid (is )?empty\b.*\b(can'?t|cannot|unable to)\s+(test|verify|exercise)\b/i,
|
|
46
46
|
reason: "Empty grid is the C4 directive's exact case — seed data, then exercise. Do not skip the entry.",
|
|
47
47
|
},
|
|
48
|
+
// 0.1.54 E2 — "All N quality gates green" / "all gates passed" boilerplate
|
|
49
|
+
// hides mid-cycle cycle_issues. Photometry-DB E2E #11 shipped at 100%
|
|
50
|
+
// confidence with three unresolved issues buried in the dev log because
|
|
51
|
+
// the agent's final summary opened with "All quality gates green".
|
|
52
|
+
// The cycle_issues_acknowledged blocker fails when these patterns appear
|
|
53
|
+
// alongside any unresolved cycle issue, forcing the agent to enumerate
|
|
54
|
+
// each issue explicitly before claiming completion.
|
|
55
|
+
{
|
|
56
|
+
regex: /\ball\s+(?:\d+\s+)?(?:quality\s+)?gates?\s+(?:are\s+)?(?:green|passing|passed|ok|clean)\b/i,
|
|
57
|
+
reason: "Generic 'all gates green' summary skips cycle_issues. Enumerate each entry from cycle_issues.jsonl (modal_close_failed / binary_mismatch / click_missed_target / app_restart / high_failure_rate) and how it was resolved before declaring completion.",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
regex: /\b(everything|all\s+checks)\s+(?:looks\s+)?(?:good|clean|green|passing|ok)\b/i,
|
|
61
|
+
reason: "Vague 'everything looks good' summary. Cite per-gate evidence + cycle_issue resolutions, not adjectives.",
|
|
62
|
+
},
|
|
48
63
|
];
|
|
49
64
|
export function scanRecentThinking(text) {
|
|
50
65
|
if (!text || typeof text !== "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anti_rationalisation.js","sourceRoot":"","sources":["../../src/evidence/anti_rationalisation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E;QACE,KAAK,EAAE,mFAAmF;QAC1F,MAAM,EAAE,2JAA2J;KACpK;IACD;QACE,KAAK,EAAE,0IAA0I;QACjJ,MAAM,EAAE,mIAAmI;KAC5I;IACD;QACE,KAAK,EAAE,+HAA+H;QACtI,MAAM,EAAE,8HAA8H;KACvI;IACD;QACE,KAAK,EAAE,qJAAqJ;QAC5J,MAAM,EAAE,yGAAyG;KAClH;IACD;QACE,KAAK,EAAE,qHAAqH;QAC5H,MAAM,EAAE,gFAAgF;KACzF;IACD;QACE,KAAK,EAAE,4GAA4G;QACnH,MAAM,EAAE,sEAAsE;KAC/E;IACD;QACE,KAAK,EAAE,+EAA+E;QACtF,MAAM,EAAE,gGAAgG;KACzG;CACF,CAAC;AAOF,MAAM,UAAU,kBAAkB,CAAC,IAA+B;IAChE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,IAA0B;IAE1B,MAAM,MAAM,GAAG;QACb,qGAAqG;QACrG,gEAAgE;QAChE,4DAA4D;QAC5D,iFAAiF;QACjF,oFAAoF;QACpF,8EAA8E;QAC9E,gDAAgD;QAChD,qQAAqQ;KACtQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,gBAAgB,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,MAAM,EAAE,CAClD,CAAC;IACF,OAAO,CACL,MAAM;QACN,MAAM;QACN,0BAA0B,IAAI,CAAC,MAAM,kDAAkD;QACvF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,oFAAoF,CACrF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"anti_rationalisation.js","sourceRoot":"","sources":["../../src/evidence/anti_rationalisation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E;QACE,KAAK,EAAE,mFAAmF;QAC1F,MAAM,EAAE,2JAA2J;KACpK;IACD;QACE,KAAK,EAAE,0IAA0I;QACjJ,MAAM,EAAE,mIAAmI;KAC5I;IACD;QACE,KAAK,EAAE,+HAA+H;QACtI,MAAM,EAAE,8HAA8H;KACvI;IACD;QACE,KAAK,EAAE,qJAAqJ;QAC5J,MAAM,EAAE,yGAAyG;KAClH;IACD;QACE,KAAK,EAAE,qHAAqH;QAC5H,MAAM,EAAE,gFAAgF;KACzF;IACD;QACE,KAAK,EAAE,4GAA4G;QACnH,MAAM,EAAE,sEAAsE;KAC/E;IACD;QACE,KAAK,EAAE,+EAA+E;QACtF,MAAM,EAAE,gGAAgG;KACzG;IACD,2EAA2E;IAC3E,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,yEAAyE;IACzE,uEAAuE;IACvE,oDAAoD;IACpD;QACE,KAAK,EAAE,4FAA4F;QACnG,MAAM,EAAE,wPAAwP;KACjQ;IACD;QACE,KAAK,EAAE,+EAA+E;QACtF,MAAM,EAAE,0GAA0G;KACnH;CACF,CAAC;AAOF,MAAM,UAAU,kBAAkB,CAAC,IAA+B;IAChE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,IAA0B;IAE1B,MAAM,MAAM,GAAG;QACb,qGAAqG;QACrG,gEAAgE;QAChE,4DAA4D;QAC5D,iFAAiF;QACjF,oFAAoF;QACpF,8EAA8E;QAC9E,gDAAgD;QAChD,qQAAqQ;KACtQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,gBAAgB,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC,MAAM,EAAE,CAClD,CAAC;IACF,OAAO,CACL,MAAM;QACN,MAAM;QACN,0BAA0B,IAAI,CAAC,MAAM,kDAAkD;QACvF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,oFAAoF,CACrF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface BinaryFreshnessResult {
|
|
2
|
+
/** True when the binary appears stale relative to the latest source edit. */
|
|
3
|
+
stale: boolean;
|
|
4
|
+
/** Resolved absolute path of the binary (when found). */
|
|
5
|
+
binary_path?: string;
|
|
6
|
+
/** ISO mtime of the binary, when it could be statted. */
|
|
7
|
+
binary_mtime?: string;
|
|
8
|
+
/** Absolute path of the newest source file we found. */
|
|
9
|
+
newest_source_path?: string;
|
|
10
|
+
/** ISO mtime of the newest source file. */
|
|
11
|
+
newest_source_mtime?: string;
|
|
12
|
+
/** Lag in seconds (positive = source is newer than binary). */
|
|
13
|
+
lag_seconds?: number;
|
|
14
|
+
/** Human-readable reason; empty when stale=false. */
|
|
15
|
+
reason?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function checkBinaryFreshness(opts: {
|
|
18
|
+
app_name?: string;
|
|
19
|
+
cwd: string;
|
|
20
|
+
}): BinaryFreshnessResult;
|
|
21
|
+
//# sourceMappingURL=binary_freshness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary_freshness.d.ts","sourceRoot":"","sources":["../../src/evidence/binary_freshness.ts"],"names":[],"mappings":"AA4EA,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,KAAK,EAAE,OAAO,CAAC;IACf,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,qBAAqB,CAqCxB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { existsSync, statSync } from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { newestSourceMtime } from "./evidence_freshness.js";
|
|
4
|
+
/**
|
|
5
|
+
* 0.1.54 E4 — Binary-vs-source mtime check.
|
|
6
|
+
*
|
|
7
|
+
* Photometry-DB E2E #11 had the agent build `bin/Release/PhotometryDB.exe`
|
|
8
|
+
* but record against `publish/PhotometryDB-Beta/PhotometryDB.exe` — the
|
|
9
|
+
* Beta publish folder had stale DLLs from a previous build, so the new
|
|
10
|
+
* XAML never loaded into the running app and the recording captured
|
|
11
|
+
* pre-fix UI. The gate accepted the recording because nothing in
|
|
12
|
+
* codeloop_start_recording compared the running binary's mtime against
|
|
13
|
+
* the latest source edit.
|
|
14
|
+
*
|
|
15
|
+
* This helper runs at the start of codeloop_start_recording for desktop
|
|
16
|
+
* targets. When the resolved binary's mtime is more than 60s OLDER than
|
|
17
|
+
* the newest source-file mtime, we surface a HARD directive telling the
|
|
18
|
+
* agent to rebuild before recording AND record a `binary_mismatch`
|
|
19
|
+
* cycle issue so the gate can later block ready_for_review.
|
|
20
|
+
*
|
|
21
|
+
* The 60s buffer absorbs filesystem clock jitter + the typical
|
|
22
|
+
* incremental build window where the binary is being written while a
|
|
23
|
+
* source file was just saved (mtime updates are not always strictly
|
|
24
|
+
* ordered).
|
|
25
|
+
*/
|
|
26
|
+
const FRESHNESS_BUFFER_SECONDS = 60;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the absolute path to the binary that the recording will run
|
|
29
|
+
* against, OR undefined when we can't sensibly resolve one. We accept
|
|
30
|
+
* paths to .exe / .app / .dmg / .apk / .ipa; for .app bundles on macOS
|
|
31
|
+
* we look at the bundle's Info.plist mtime as a stand-in (the .app dir
|
|
32
|
+
* itself updates too eagerly — Spotlight, Gatekeeper, etc. — to be a
|
|
33
|
+
* reliable signal).
|
|
34
|
+
*/
|
|
35
|
+
function resolveBinaryPath(appName, cwd) {
|
|
36
|
+
if (!appName)
|
|
37
|
+
return undefined;
|
|
38
|
+
// If the caller passed an absolute path, prefer it.
|
|
39
|
+
if (path.isAbsolute(appName) && existsSync(appName))
|
|
40
|
+
return appName;
|
|
41
|
+
// Otherwise try a few common publish / build locations relative to the
|
|
42
|
+
// workspace. We deliberately don't search the whole tree — false
|
|
43
|
+
// positives would be worse than missing the warning.
|
|
44
|
+
const candidates = [
|
|
45
|
+
path.join(cwd, appName),
|
|
46
|
+
path.join(cwd, "bin", "Release", appName),
|
|
47
|
+
path.join(cwd, "bin", "Debug", appName),
|
|
48
|
+
path.join(cwd, "publish", appName),
|
|
49
|
+
path.join(cwd, "dist", appName),
|
|
50
|
+
path.join(cwd, "build", "windows", "x64", "runner", "Release", appName),
|
|
51
|
+
path.join(cwd, "build", "macos", "Build", "Products", "Release", appName),
|
|
52
|
+
path.join(cwd, "build", "linux", "x64", "release", "bundle", appName),
|
|
53
|
+
];
|
|
54
|
+
for (const c of candidates) {
|
|
55
|
+
if (existsSync(c))
|
|
56
|
+
return c;
|
|
57
|
+
if (existsSync(`${c}.exe`))
|
|
58
|
+
return `${c}.exe`;
|
|
59
|
+
if (existsSync(`${c}.app`))
|
|
60
|
+
return `${c}.app`;
|
|
61
|
+
}
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
function binaryMtime(p) {
|
|
65
|
+
try {
|
|
66
|
+
if (p.toLowerCase().endsWith(".app")) {
|
|
67
|
+
const plist = path.join(p, "Contents", "Info.plist");
|
|
68
|
+
if (existsSync(plist))
|
|
69
|
+
return statSync(plist).mtimeMs;
|
|
70
|
+
}
|
|
71
|
+
return statSync(p).mtimeMs;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function checkBinaryFreshness(opts) {
|
|
78
|
+
if (!opts.app_name)
|
|
79
|
+
return { stale: false };
|
|
80
|
+
const binPath = resolveBinaryPath(opts.app_name, opts.cwd);
|
|
81
|
+
if (!binPath)
|
|
82
|
+
return { stale: false };
|
|
83
|
+
const binMs = binaryMtime(binPath);
|
|
84
|
+
if (binMs === 0)
|
|
85
|
+
return { stale: false };
|
|
86
|
+
const newest = newestSourceMtime(opts.cwd);
|
|
87
|
+
if (!newest)
|
|
88
|
+
return { stale: false };
|
|
89
|
+
const lagSeconds = Math.round((newest.mtimeMs - binMs) / 1000);
|
|
90
|
+
if (lagSeconds <= FRESHNESS_BUFFER_SECONDS) {
|
|
91
|
+
return {
|
|
92
|
+
stale: false,
|
|
93
|
+
binary_path: binPath,
|
|
94
|
+
binary_mtime: new Date(binMs).toISOString(),
|
|
95
|
+
newest_source_path: newest.path,
|
|
96
|
+
newest_source_mtime: new Date(newest.mtimeMs).toISOString(),
|
|
97
|
+
lag_seconds: lagSeconds,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const lagMin = Math.floor(lagSeconds / 60);
|
|
101
|
+
return {
|
|
102
|
+
stale: true,
|
|
103
|
+
binary_path: binPath,
|
|
104
|
+
binary_mtime: new Date(binMs).toISOString(),
|
|
105
|
+
newest_source_path: newest.path,
|
|
106
|
+
newest_source_mtime: new Date(newest.mtimeMs).toISOString(),
|
|
107
|
+
lag_seconds: lagSeconds,
|
|
108
|
+
reason: `BINARY MISMATCH — the running app at ${binPath} was built ${lagMin} minute(s) before your latest source edit ` +
|
|
109
|
+
`(${path.basename(newest.path)} @ ${new Date(newest.mtimeMs).toISOString()}). ` +
|
|
110
|
+
`Rebuild and re-deploy before recording. Re-running codeloop_start_recording without rebuilding will produce evidence against stale code.`,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=binary_freshness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary_freshness.js","sourceRoot":"","sources":["../../src/evidence/binary_freshness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change_coverage.d.ts","sourceRoot":"","sources":["../../src/evidence/change_coverage.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,oGAAoG;IACpG,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAUF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gGAAgG;IAChG,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,wBAAwB;IACxB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;CACnB;AA0TD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,oBAAqD,GAC5D,qBAAqB,
|
|
1
|
+
{"version":3,"file":"change_coverage.d.ts","sourceRoot":"","sources":["../../src/evidence/change_coverage.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,oGAAoG;IACpG,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAUF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gGAAgG;IAChG,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,wBAAwB;IACxB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;CACnB;AA0TD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,oBAAqD,GAC5D,qBAAqB,CA+GvB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,GACX,oBAAoB,CAgBtB;AAED,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -368,7 +368,28 @@ export function evaluateChangeCoverage(cwd, runId, config = DEFAULT_CHANGE_COVER
|
|
|
368
368
|
let reason;
|
|
369
369
|
let nextStep = "";
|
|
370
370
|
if (passed) {
|
|
371
|
-
|
|
371
|
+
// 0.1.54 E7 — Always surface the credit detail on PASS, including a
|
|
372
|
+
// breakdown by entry kind and up to 3 sample exercised display names.
|
|
373
|
+
// Photometry-DB E2E #11 had `change_coverage_evidence: PASS` with an
|
|
374
|
+
// empty reason; the agent's gate-response summary then had nothing
|
|
375
|
+
// to cite, so it slipped into "all gates green" boilerplate.
|
|
376
|
+
const kindBreakdown = considered.reduce((acc, p) => {
|
|
377
|
+
const k = p.entry.kind;
|
|
378
|
+
acc[k] = (acc[k] ?? 0) + 1;
|
|
379
|
+
return acc;
|
|
380
|
+
}, {});
|
|
381
|
+
const breakdownStr = Object.entries(kindBreakdown)
|
|
382
|
+
.map(([k, n]) => `${k}: ${n}`)
|
|
383
|
+
.join(", ");
|
|
384
|
+
const sampleNames = exercised.slice(0, 3).map((p) => p.display_name).join("; ");
|
|
385
|
+
const detailParts = [
|
|
386
|
+
`Credited ${exercised.length}/${considered.length} manifest entries (>= ${(config.threshold * 100).toFixed(0)}% threshold).`,
|
|
387
|
+
];
|
|
388
|
+
if (breakdownStr)
|
|
389
|
+
detailParts.push(`By kind: ${breakdownStr}.`);
|
|
390
|
+
if (sampleNames)
|
|
391
|
+
detailParts.push(`Sample exercised: ${sampleNames}.`);
|
|
392
|
+
reason = detailParts.join(" ");
|
|
372
393
|
}
|
|
373
394
|
else {
|
|
374
395
|
reason =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change_coverage.js","sourceRoot":"","sources":["../../src/evidence/change_coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AA4B/D,MAAM,CAAC,MAAM,8BAA8B,GAAyB;IAClE,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,EAAE;CACf,CAAC;AAqCF,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,GAAG,GAA0B,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAwB,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,OAA8B;IAC7C,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;QAC7D,IAAI,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAA8B,EAAE,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,cAAc,IAAI,KAAK,CAAC,OAAO,CAAE,IAAoC,CAAC,aAAa,CAAC,EAAE,CAAC;YACpG,KAAK,MAAM,CAAC,IAAK,IAAoC,CAAC,aAAsC,EAAE,CAAC;gBAC7F,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,CAAsB;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI;QACd,UAAU;QACV,MAAM;QACN,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,cAAc;QACd,MAAM;QACN,QAAQ;QACR,aAAa;QACb,SAAS;QACT,MAAM;QACN,aAAa;QACb,KAAK;QACL,OAAO;QACP,qBAAqB;QACrB,mBAAmB;KACpB,EAAE,CAAC;QACF,MAAM,CAAC,GAAI,IAAgC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,oEAAoE;IACpE,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,IAAI;SAClB,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,QAAQ;SACZ,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW,EAAE,KAAa;IAOzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,qEAAqE;IACrE,qEAAqE;IACrE,kDAAkD;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,KAAK,uBAAuB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAC/F,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;YAED,mEAAmE;YACnE,oEAAoE;YACpE,6DAA6D;YAC7D,mEAAmE;YACnE,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,SAAS;oBAClC,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACpD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,kEAAkE;QAClE,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnE,IAAI,CAAC;4BACH,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC/D,CAAC;wBAAC,MAAM,CAAC;4BACP,UAAU;wBACZ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CACL,MAAM,KAAK,eAAe;YAC1B,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,iBAAiB;YAC5B,MAAM,KAAK,eAAe,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,IAAI;QACT,eAAe;QACf,kBAAkB,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;QACjE,kBAAkB;QAClB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,uHAAuH;AACvH,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAY;IACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,sEAAsE;IACtE,4DAA4D;IAC5D,4DAA4D;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,aAAa,CACpB,KAAkB,EAClB,GAA+C;IAE/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,MAAM,cAAc,GAAG,GAAG,CAAC,kBAAkB,CAAC;IAC9C,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;IAExE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,4DAA4D,CAAC,CAAC;YACjG,CAAC;YACD,kEAAkE;YAClE,iEAAiE;YACjE,+DAA+D;YAC/D,8CAA8C;YAC9C,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAI,CAAC,CAAC,UAA4D,EAAE,mBAAmB,CAAC;gBACjG,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzF,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,IAAI,gBAAgB;gBAAE,QAAQ,CAAC,IAAI,CAAC,kDAAkD,IAAI,IAAI,CAAC,CAAC;YAChG,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5F,QAAQ,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,4DAA4D,CAAC,CAAC;YACpH,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,iEAAiE;YACjE,iEAAiE;YACjE,4DAA4D;YAC5D,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5F,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,iEAAiE;YACjE,+DAA+D;YAC/D,4DAA4D;YAC5D,4BAA4B;YAC5B,IACE,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;gBAC1C,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;gBACzC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAC3C,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,0CAA0C,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,IAAI,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5F,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,KAAK,0CAA0C,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,gEAAgE;YAChE,wDAAwD;YACxD,+DAA+D;YAC/D,yBAAyB;YACzB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAI,CAAC,CAAC,UAA4D,EAAE,mBAAmB,CAAC;gBACjG,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;YAClD,MAAM,sBAAsB,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9I,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrE,IAAI,OAAO,IAAI,sBAAsB,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,kBAAkB;YACrB,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gBACxC,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,iEAAiE,KAAK,CAAC,IAAI,qGAAqG,OAAO,4DAA4D,CAAC;YACzR,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,yDAAyD,KAAK,CAAC,IAAI,wDAAwD,OAAO,qEAAqE,CAAC;YAC7O,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,sGAAsG,KAAK,CAAC,IAAI,wDAAwD,OAAO,IAAI,CAAC;YACzN,CAAC;YACD,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,2IAA2I,OAAO,IAAI,CAAC;QAC5L,KAAK,gBAAgB;YACnB,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,wHAAwH,KAAK,CAAC,IAAI,yBAAyB,OAAO,oDAAoD,CAAC;QAC5P,KAAK,cAAc;YACjB,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,sHAAsH,CAAC;QAC5J,KAAK,wBAAwB;YAC3B,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,8FAA8F,KAAK,CAAC,KAAK,sGAAsG,CAAC;QACrP,KAAK,uBAAuB;YAC1B,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,6IAA6I,CAAC;QACnL,KAAK,oBAAoB;YACvB,OAAO,GAAG,OAAO,yIAAyI,OAAO,8NAA8N,CAAC;IACpY,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAAW,EACX,KAAa,EACb,SAA+B,8BAA8B;IAE7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,+GAA+G;YACvH,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,4BAA4B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,aAAa;YAC9B,aAAa,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,QAAQ;gBACd,CAAC,CAAC,mIAAmI;gBACrI,CAAC,CAAC,+FAA+F;YACnG,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACxC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;QAC/C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK;YACL,YAAY,EAAE,OAAO;YACrB,SAAS;YACT,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACpF,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC;IAE5C,IAAI,MAAc,CAAC;IACnB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,wBAAwB,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,mCAAmC,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9J,CAAC;SAAM,CAAC;QACN,MAAM;YACJ,4BAA4B,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,8BAA8B;gBAC/F,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACxF,wBAAwB;gBACxB,WAAW;qBACR,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;qBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;qBACnC,IAAI,CAAC,IAAI,CAAC;gBACb,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,QAAQ;YACN,4HAA4H;gBAC5H,WAAW;qBACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;qBACpD,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,eAAe,EAAE,aAAa;QAC9B,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QACtC,kBAAkB,EAAE,UAAU,CAAC,MAAM;QACrC,iBAAiB,EAAE,SAAS,CAAC,MAAM;QACnC,WAAW;QACX,SAAS,EAAE,QAAQ;QACnB,MAAM;QACN,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAY;IAEZ,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,8BAA8B,EAAE,CAAC;IAClF,MAAM,CAAC,GAAG,GAAoC,CAAC;IAC/C,MAAM,GAAG,GAAyB,EAAE,GAAG,8BAA8B,EAAE,CAAC;IACxE,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC5D,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CACnE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CACtI,MAAM,CAAC,CAAC,CAAC,CACV,CACF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"change_coverage.js","sourceRoot":"","sources":["../../src/evidence/change_coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AA4B/D,MAAM,CAAC,MAAM,8BAA8B,GAAyB;IAClE,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,EAAE;CACf,CAAC;AAqCF,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,GAAG,GAA0B,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAwB,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,OAA8B;IAC7C,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;QAC7D,IAAI,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAA8B,EAAE,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,cAAc,IAAI,KAAK,CAAC,OAAO,CAAE,IAAoC,CAAC,aAAa,CAAC,EAAE,CAAC;YACpG,KAAK,MAAM,CAAC,IAAK,IAAoC,CAAC,aAAsC,EAAE,CAAC;gBAC7F,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,CAAsB;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI;QACd,UAAU;QACV,MAAM;QACN,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,cAAc;QACd,MAAM;QACN,QAAQ;QACR,aAAa;QACb,SAAS;QACT,MAAM;QACN,aAAa;QACb,KAAK;QACL,OAAO;QACP,qBAAqB;QACrB,mBAAmB;KACpB,EAAE,CAAC;QACF,MAAM,CAAC,GAAI,IAAgC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,oEAAoE;IACpE,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,QAAQ,GAAG,IAAI;SAClB,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,QAAQ;SACZ,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW,EAAE,KAAa;IAOzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,qEAAqE;IACrE,qEAAqE;IACrE,kDAAkD;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,KAAK,uBAAuB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAC/F,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;YAED,mEAAmE;YACnE,oEAAoE;YACpE,6DAA6D;YAC7D,mEAAmE;YACnE,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,SAAS;oBAClC,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACpD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,kEAAkE;QAClE,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnE,IAAI,CAAC;4BACH,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC/D,CAAC;wBAAC,MAAM,CAAC;4BACP,UAAU;wBACZ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CACL,MAAM,KAAK,eAAe;YAC1B,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,iBAAiB;YAC5B,MAAM,KAAK,eAAe,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,IAAI;QACT,eAAe;QACf,kBAAkB,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;QACjE,kBAAkB;QAClB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,uHAAuH;AACvH,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAY;IACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,sEAAsE;IACtE,4DAA4D;IAC5D,4DAA4D;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,aAAa,CACpB,KAAkB,EAClB,GAA+C;IAE/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,MAAM,cAAc,GAAG,GAAG,CAAC,kBAAkB,CAAC;IAC9C,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;IAExE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,4DAA4D,CAAC,CAAC;YACjG,CAAC;YACD,kEAAkE;YAClE,iEAAiE;YACjE,+DAA+D;YAC/D,8CAA8C;YAC9C,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAI,CAAC,CAAC,UAA4D,EAAE,mBAAmB,CAAC;gBACjG,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACzF,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,IAAI,gBAAgB;gBAAE,QAAQ,CAAC,IAAI,CAAC,kDAAkD,IAAI,IAAI,CAAC,CAAC;YAChG,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5F,QAAQ,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,4DAA4D,CAAC,CAAC;YACpH,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,iEAAiE;YACjE,iEAAiE;YACjE,4DAA4D;YAC5D,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5F,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,iEAAiE;YACjE,+DAA+D;YAC/D,4DAA4D;YAC5D,4BAA4B;YAC5B,IACE,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;gBAC1C,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;gBACzC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAC3C,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,0CAA0C,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,IAAI,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5F,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,KAAK,0CAA0C,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,gEAAgE;YAChE,wDAAwD;YACxD,+DAA+D;YAC/D,yBAAyB;YACzB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAI,CAAC,CAAC,UAA4D,EAAE,mBAAmB,CAAC;gBACjG,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;YAClD,MAAM,sBAAsB,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9I,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrE,IAAI,OAAO,IAAI,sBAAsB,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,kBAAkB;YACrB,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gBACxC,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,iEAAiE,KAAK,CAAC,IAAI,qGAAqG,OAAO,4DAA4D,CAAC;YACzR,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,yDAAyD,KAAK,CAAC,IAAI,wDAAwD,OAAO,qEAAqE,CAAC;YAC7O,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,sGAAsG,KAAK,CAAC,IAAI,wDAAwD,OAAO,IAAI,CAAC;YACzN,CAAC;YACD,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,2IAA2I,OAAO,IAAI,CAAC;QAC5L,KAAK,gBAAgB;YACnB,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,wHAAwH,KAAK,CAAC,IAAI,yBAAyB,OAAO,oDAAoD,CAAC;QAC5P,KAAK,cAAc;YACjB,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,sHAAsH,CAAC;QAC5J,KAAK,wBAAwB;YAC3B,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,8FAA8F,KAAK,CAAC,KAAK,sGAAsG,CAAC;QACrP,KAAK,uBAAuB;YAC1B,OAAO,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,6IAA6I,CAAC;QACnL,KAAK,oBAAoB;YACvB,OAAO,GAAG,OAAO,yIAAyI,OAAO,8NAA8N,CAAC;IACpY,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAAW,EACX,KAAa,EACb,SAA+B,8BAA8B;IAE7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,+GAA+G;YACvH,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,4BAA4B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,aAAa;YAC9B,aAAa,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,QAAQ;gBACd,CAAC,CAAC,mIAAmI;gBACrI,CAAC,CAAC,+FAA+F;YACnG,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACxC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;QAC/C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK;YACL,YAAY,EAAE,OAAO;YACrB,SAAS;YACT,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACpF,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC;IAE5C,IAAI,MAAc,CAAC;IACnB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,EAAE,CAAC;QACX,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;QACnE,6DAA6D;QAC7D,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACzE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACvB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;aAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG;YAClB,YAAY,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,yBAAyB,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAC7H,CAAC;QACF,IAAI,YAAY;YAAE,WAAW,CAAC,IAAI,CAAC,YAAY,YAAY,GAAG,CAAC,CAAC;QAChE,IAAI,WAAW;YAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,WAAW,GAAG,CAAC,CAAC;QACvE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM;YACJ,4BAA4B,SAAS,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,8BAA8B;gBAC/F,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACxF,wBAAwB;gBACxB,WAAW;qBACR,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;qBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;qBACnC,IAAI,CAAC,IAAI,CAAC;gBACb,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,QAAQ;YACN,4HAA4H;gBAC5H,WAAW;qBACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;qBACpD,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,eAAe,EAAE,aAAa;QAC9B,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QACtC,kBAAkB,EAAE,UAAU,CAAC,MAAM;QACrC,iBAAiB,EAAE,SAAS,CAAC,MAAM;QACnC,WAAW;QACX,SAAS,EAAE,QAAQ;QACnB,MAAM;QACN,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAY;IAEZ,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,8BAA8B,EAAE,CAAC;IAClF,MAAM,CAAC,GAAG,GAAoC,CAAC;IAC/C,MAAM,GAAG,GAAyB,EAAE,GAAG,8BAA8B,EAAE,CAAC;IACxE,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC5D,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CACnE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CACtI,MAAM,CAAC,CAAC,CAAC,CACV,CACF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.54 E2 — cycle_issues.jsonl
|
|
3
|
+
*
|
|
4
|
+
* Photometry-DB E2E #11 shipped at 100% confidence with `ready_for_review`
|
|
5
|
+
* even though three real recurrence-class issues happened mid-cycle:
|
|
6
|
+
* 1. Stuck OpenFolderDialog modal that no close strategy could clear.
|
|
7
|
+
* 2. Build/runtime binary mismatch (bin/Release vs publish/PhotometryDB-Beta).
|
|
8
|
+
* 3. Hard restart of the recorded app to drain the modal stack.
|
|
9
|
+
*
|
|
10
|
+
* They were buried in the dev log Markdown but never surfaced to the
|
|
11
|
+
* user. This module provides a structured evidence channel — one JSONL
|
|
12
|
+
* line per issue under <run>/logs/cycle_issues.jsonl — that the gate
|
|
13
|
+
* check can read and BLOCK on until the agent enumerates them in its
|
|
14
|
+
* gate response (see the new `cycle_issues_acknowledged` blocker gate).
|
|
15
|
+
*
|
|
16
|
+
* The file is append-only across a single run. Resolutions are written
|
|
17
|
+
* to a sibling cycle_issue_resolutions.jsonl by the agent (or by other
|
|
18
|
+
* tools that fix the issue, e.g. when a subsequent kill_modal_window
|
|
19
|
+
* succeeds it implicitly resolves the original modal_close_failed).
|
|
20
|
+
*/
|
|
21
|
+
export type CycleIssue = {
|
|
22
|
+
kind: "click_missed_target";
|
|
23
|
+
selector?: string;
|
|
24
|
+
coords?: [number, number];
|
|
25
|
+
description?: string;
|
|
26
|
+
modal_kind?: string;
|
|
27
|
+
timestamp: string;
|
|
28
|
+
} | {
|
|
29
|
+
kind: "modal_close_failed";
|
|
30
|
+
modal_kind: string;
|
|
31
|
+
modal_description?: string;
|
|
32
|
+
strategies_tried: string[];
|
|
33
|
+
hwnd?: string;
|
|
34
|
+
timestamp: string;
|
|
35
|
+
} | {
|
|
36
|
+
kind: "app_restart_during_recording";
|
|
37
|
+
reason: string;
|
|
38
|
+
hwnd?: string;
|
|
39
|
+
pid?: number;
|
|
40
|
+
timestamp: string;
|
|
41
|
+
} | {
|
|
42
|
+
kind: "binary_mismatch";
|
|
43
|
+
target_app: string;
|
|
44
|
+
binary_mtime: string;
|
|
45
|
+
newest_source_mtime: string;
|
|
46
|
+
newest_source_path?: string;
|
|
47
|
+
lag_seconds: number;
|
|
48
|
+
timestamp: string;
|
|
49
|
+
} | {
|
|
50
|
+
kind: "high_failure_rate";
|
|
51
|
+
failed: number;
|
|
52
|
+
successful: number;
|
|
53
|
+
total: number;
|
|
54
|
+
ratio: number;
|
|
55
|
+
timestamp: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Distribute Omit across the discriminated union so each variant keeps
|
|
59
|
+
* its discriminator. A naive Omit<CycleIssue, "timestamp"> collapses the
|
|
60
|
+
* union to the intersection of the variants and TS rejects every
|
|
61
|
+
* variant-specific field at the call site.
|
|
62
|
+
*/
|
|
63
|
+
type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K & keyof T> : never;
|
|
64
|
+
export type CycleIssueInput = DistributiveOmit<CycleIssue, "timestamp">;
|
|
65
|
+
export interface CycleIssueResolution {
|
|
66
|
+
issue_kind: CycleIssue["kind"];
|
|
67
|
+
resolved_by?: string;
|
|
68
|
+
note?: string;
|
|
69
|
+
timestamp: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Append a cycle issue to <run>/logs/cycle_issues.jsonl. Best-effort —
|
|
73
|
+
* if no run directory exists yet (caller fired before
|
|
74
|
+
* codeloop_start_recording set one up), the call is a silent no-op.
|
|
75
|
+
*/
|
|
76
|
+
export declare function recordCycleIssue(workspaceRoot: string, issue: CycleIssueInput): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Append a resolution. Used both by the agent (via gate_check
|
|
79
|
+
* acknowledgment) and implicitly by tools (e.g. kill_modal_window
|
|
80
|
+
* succeeding clears modal_close_failed).
|
|
81
|
+
*/
|
|
82
|
+
export declare function recordCycleIssueResolution(workspaceRoot: string, resolution: Omit<CycleIssueResolution, "timestamp">): Promise<void>;
|
|
83
|
+
export interface LoadedCycleIssues {
|
|
84
|
+
issues: CycleIssue[];
|
|
85
|
+
resolutions: CycleIssueResolution[];
|
|
86
|
+
/** Issues that have NOT been resolved (no matching resolution kind). */
|
|
87
|
+
unresolved: CycleIssue[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Load cycle_issues + resolutions from the latest run. Used by the
|
|
91
|
+
* gate_check `cycle_issues_acknowledged` blocker.
|
|
92
|
+
*/
|
|
93
|
+
export declare function loadCycleIssues(workspaceRoot: string): Promise<LoadedCycleIssues>;
|
|
94
|
+
/**
|
|
95
|
+
* Render a one-line summary of an issue for the gate-check directive.
|
|
96
|
+
*/
|
|
97
|
+
export declare function summariseCycleIssue(issue: CycleIssue): string;
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=cycle_issues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cycle_issues.d.ts","sourceRoot":"","sources":["../../src/evidence/cycle_issues.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,8BAA8B,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN;;;;;GAKG;AACH,KAAK,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,OAAO,GAC/D,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,GACpB,KAAK,CAAC;AACV,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC,CAYf;AAsBD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,wEAAwE;IACxE,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAkB5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAa7D"}
|