codeloop-mcp-server 0.1.51 → 0.1.52
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 +4 -0
- package/dist/auth/critical_floors.js.map +1 -1
- package/dist/evidence/anti_rationalisation.d.ts +34 -0
- package/dist/evidence/anti_rationalisation.d.ts.map +1 -0
- package/dist/evidence/anti_rationalisation.js +85 -0
- package/dist/evidence/anti_rationalisation.js.map +1 -0
- package/dist/evidence/change_coverage.d.ts +59 -0
- package/dist/evidence/change_coverage.d.ts.map +1 -0
- package/dist/evidence/change_coverage.js +422 -0
- package/dist/evidence/change_coverage.js.map +1 -0
- package/dist/evidence/change_manifest.d.ts +94 -0
- package/dist/evidence/change_manifest.d.ts.map +1 -0
- package/dist/evidence/change_manifest.js +830 -0
- package/dist/evidence/change_manifest.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -3
- package/dist/index.js.map +1 -1
- package/dist/runners/empty_state_detector.d.ts +33 -0
- package/dist/runners/empty_state_detector.d.ts.map +1 -0
- package/dist/runners/empty_state_detector.js +304 -0
- package/dist/runners/empty_state_detector.js.map +1 -0
- package/dist/tools/c7_slug.d.ts +14 -0
- package/dist/tools/c7_slug.d.ts.map +1 -0
- package/dist/tools/c7_slug.js +21 -0
- package/dist/tools/c7_slug.js.map +1 -0
- package/dist/tools/gate_check.d.ts.map +1 -1
- package/dist/tools/gate_check.js +28 -0
- package/dist/tools/gate_check.js.map +1 -1
- package/dist/tools/plan_change_journey.d.ts +41 -0
- package/dist/tools/plan_change_journey.d.ts.map +1 -0
- package/dist/tools/plan_change_journey.js +131 -0
- package/dist/tools/plan_change_journey.js.map +1 -0
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +113 -1
- package/dist/tools/verify.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface EmptyStateRiskInput {
|
|
2
|
+
cwd: string;
|
|
3
|
+
/** Optional manifest display name the agent passed on the call. */
|
|
4
|
+
target_change_entry?: string;
|
|
5
|
+
action: string;
|
|
6
|
+
args: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface EmptyStateRiskVerdict {
|
|
9
|
+
is_risky: boolean;
|
|
10
|
+
reason: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Heuristic check. Returns is_risky=true when the detector believes the
|
|
14
|
+
* agent is about to interact with an empty region. Always cheap — no
|
|
15
|
+
* subprocesses fired.
|
|
16
|
+
*/
|
|
17
|
+
export declare function detectEmptyStateRisk(input: EmptyStateRiskInput): EmptyStateRiskVerdict;
|
|
18
|
+
/**
|
|
19
|
+
* The HARD postscript appended to a codeloop_interact response when
|
|
20
|
+
* detectEmptyStateRisk reports is_risky. Mirrors the H11 modal
|
|
21
|
+
* postscript style — concrete next steps, no ambiguity.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildEmptyStateDirective(verdict: EmptyStateRiskVerdict, target_change_entry: string | undefined): string;
|
|
24
|
+
export declare function detectEmptyStateLive(opts: {
|
|
25
|
+
cwd: string;
|
|
26
|
+
app_name?: string;
|
|
27
|
+
target_type?: "browser" | "desktop_macos" | "desktop_windows" | "desktop_linux";
|
|
28
|
+
}): Promise<{
|
|
29
|
+
likely_empty: boolean;
|
|
30
|
+
matched_phrase: string | null;
|
|
31
|
+
raw?: string;
|
|
32
|
+
}>;
|
|
33
|
+
//# sourceMappingURL=empty_state_detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty_state_detector.d.ts","sourceRoot":"","sources":["../../src/runners/empty_state_detector.ts"],"names":[],"mappings":"AA0DA,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAqDD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,qBAAqB,CAwFtF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,EAC9B,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC,MAAM,CAkBR;AASD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,CAAC;CACjF,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBlF"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { exec } from "child_process";
|
|
4
|
+
import { promisify } from "util";
|
|
5
|
+
import { getArtifactsBaseDir, getRunDir, listRuns } from "../evidence/artifacts.js";
|
|
6
|
+
import { loadMostRecentChangeManifest } from "../evidence/change_manifest.js";
|
|
7
|
+
const execAsync = promisify(exec);
|
|
8
|
+
/**
|
|
9
|
+
* 0.1.52 C4 — Empty-state seeding enforcement.
|
|
10
|
+
*
|
|
11
|
+
* Heuristic detector that fires when an agent is about to interact with
|
|
12
|
+
* a UI region whose state is likely EMPTY — typing into a non-existent
|
|
13
|
+
* grid row, clicking a button hidden by an empty-state placeholder, etc.
|
|
14
|
+
*
|
|
15
|
+
* Two signal sources:
|
|
16
|
+
*
|
|
17
|
+
* 1. Heuristic / log-based: cheap, always available. Looks at the
|
|
18
|
+
* change manifest entry the agent claims to be exercising and
|
|
19
|
+
* cross-references it against the recent interaction log. If the
|
|
20
|
+
* target is a row/cell on a DataGrid AND no prior interaction
|
|
21
|
+
* committed a record AND no shell-seed action has run, the
|
|
22
|
+
* detector flags risk.
|
|
23
|
+
*
|
|
24
|
+
* 2. Cross-platform UI probe: optional, called when the caller
|
|
25
|
+
* explicitly asks for live verification. Each platform has a
|
|
26
|
+
* lightweight "is this surface empty" probe:
|
|
27
|
+
* - Windows: PowerShell UIA dump of the foreground window —
|
|
28
|
+
* search for "0 items" / "No items" / DataGrid with
|
|
29
|
+
* ItemCount == 0.
|
|
30
|
+
* - macOS: AXDialog / AXList descendant count via osascript.
|
|
31
|
+
* - Linux: xdotool window-content text scrape.
|
|
32
|
+
* - Web: Playwright is run elsewhere; we don't reach into it
|
|
33
|
+
* here because the codeloop_interact path already has a live
|
|
34
|
+
* page handle and can call detectEmptyStateLive itself when
|
|
35
|
+
* target_type === "browser".
|
|
36
|
+
*
|
|
37
|
+
* The heuristic is the default the post-interact directive uses; the
|
|
38
|
+
* UI probe is reserved for explicit pre-flight checks.
|
|
39
|
+
*/
|
|
40
|
+
const ROW_ACTION_HINTS = /\b(row|cell|item|record|line)\b/i;
|
|
41
|
+
const SEED_HINTS = /\b(seed|fixture|insert|preload|sample|sql|sqlite|psql|database|backup|restore)\b/i;
|
|
42
|
+
const COMMIT_HINTS = /\b(save|submit|create|add|new|insert|register|login|signup)\b/i;
|
|
43
|
+
const EMPTY_STATE_TEXT_HINTS = [
|
|
44
|
+
/\bno items\b/i,
|
|
45
|
+
/\b0 items\b/i,
|
|
46
|
+
/\bno records\b/i,
|
|
47
|
+
/\bno data\b/i,
|
|
48
|
+
/\bempty\b/i,
|
|
49
|
+
/\bnothing here\b/i,
|
|
50
|
+
/\bnothing to show\b/i,
|
|
51
|
+
/\badd your first\b/i,
|
|
52
|
+
/\bget started by\b/i,
|
|
53
|
+
/\bcreate your first\b/i,
|
|
54
|
+
];
|
|
55
|
+
function readJsonl(path) {
|
|
56
|
+
try {
|
|
57
|
+
const out = [];
|
|
58
|
+
for (const line of readFileSync(path, "utf-8").split("\n")) {
|
|
59
|
+
const t = line.trim();
|
|
60
|
+
if (!t)
|
|
61
|
+
continue;
|
|
62
|
+
try {
|
|
63
|
+
out.push(JSON.parse(t));
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
/* skip */
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return out;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function recentLog(cwd) {
|
|
76
|
+
const baseDir = getArtifactsBaseDir(cwd);
|
|
77
|
+
const out = [];
|
|
78
|
+
for (const rid of listRuns(baseDir).slice(0, 5)) {
|
|
79
|
+
const logFile = join(getRunDir(rid, baseDir), "logs", "interaction_log.jsonl");
|
|
80
|
+
if (!existsSync(logFile))
|
|
81
|
+
continue;
|
|
82
|
+
out.push(...readJsonl(logFile));
|
|
83
|
+
}
|
|
84
|
+
return out;
|
|
85
|
+
}
|
|
86
|
+
function entryIsRowShaped(target_change_entry) {
|
|
87
|
+
if (!target_change_entry)
|
|
88
|
+
return { rowShaped: false };
|
|
89
|
+
if (target_change_entry.startsWith("datagrid_column:") ||
|
|
90
|
+
/\bcolumn\b/i.test(target_change_entry)) {
|
|
91
|
+
return { rowShaped: true };
|
|
92
|
+
}
|
|
93
|
+
return { rowShaped: false };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Heuristic check. Returns is_risky=true when the detector believes the
|
|
97
|
+
* agent is about to interact with an empty region. Always cheap — no
|
|
98
|
+
* subprocesses fired.
|
|
99
|
+
*/
|
|
100
|
+
export function detectEmptyStateRisk(input) {
|
|
101
|
+
const { cwd, target_change_entry, action, args } = input;
|
|
102
|
+
// Combine signals from the action and its args.
|
|
103
|
+
const actionLower = action.toLowerCase();
|
|
104
|
+
const haystackParts = [];
|
|
105
|
+
for (const k of ["text", "selector", "description", "intent", "target", "purpose", "step", "label", "name"]) {
|
|
106
|
+
const v = args[k];
|
|
107
|
+
if (typeof v === "string")
|
|
108
|
+
haystackParts.push(v);
|
|
109
|
+
}
|
|
110
|
+
const haystack = haystackParts.join(" ");
|
|
111
|
+
const looksLikeRowAction = ROW_ACTION_HINTS.test(haystack) ||
|
|
112
|
+
actionLower === "type" ||
|
|
113
|
+
actionLower === "type_and_submit" ||
|
|
114
|
+
actionLower === "type_and_tab" ||
|
|
115
|
+
actionLower === "double_click" ||
|
|
116
|
+
actionLower === "fill_form";
|
|
117
|
+
const { rowShaped } = entryIsRowShaped(target_change_entry);
|
|
118
|
+
if (!looksLikeRowAction && !rowShaped) {
|
|
119
|
+
return { is_risky: false, reason: "Action does not look like a row/cell interaction." };
|
|
120
|
+
}
|
|
121
|
+
// Manifest cross-check — only fire risk when the change entry
|
|
122
|
+
// pinned by the agent IS a grid-shaped target. Buttons / menu items /
|
|
123
|
+
// properties may live on screens with no row dependency.
|
|
124
|
+
if (target_change_entry) {
|
|
125
|
+
const { manifest } = loadMostRecentChangeManifest(cwd);
|
|
126
|
+
if (manifest) {
|
|
127
|
+
const entry = manifest.entries.find((e) => (e.kind === "ui_element_added" && `${e.element}: "${e.name}"` === target_change_entry) ||
|
|
128
|
+
(e.kind === "property_added" && `${e.class}.${e.name}` === target_change_entry) ||
|
|
129
|
+
(e.kind === "migration_column_added" && `${e.table}.${e.column}` === target_change_entry));
|
|
130
|
+
if (entry) {
|
|
131
|
+
const isRowEntry = (entry.kind === "ui_element_added" && entry.element === "datagrid_column") ||
|
|
132
|
+
entry.kind === "migration_column_added" ||
|
|
133
|
+
(entry.kind === "property_added" && rowShaped);
|
|
134
|
+
if (!isRowEntry) {
|
|
135
|
+
return { is_risky: false, reason: "Manifest entry is not row-shaped." };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Look at recent interaction log: did any successful commit happen in
|
|
141
|
+
// the last 25 entries? If yes, the dataset is no longer empty (the
|
|
142
|
+
// create-arc went through). Likewise, did a seed/shell action run?
|
|
143
|
+
const log = recentLog(cwd).slice(-25);
|
|
144
|
+
const hasCommit = log.some((e) => {
|
|
145
|
+
if (e.success === false)
|
|
146
|
+
return false;
|
|
147
|
+
const a = (e.action ?? "").toLowerCase();
|
|
148
|
+
if (a === "type_and_submit")
|
|
149
|
+
return true;
|
|
150
|
+
if (a === "fill_form")
|
|
151
|
+
return true;
|
|
152
|
+
const args = (e.input_args ?? {});
|
|
153
|
+
const text = [args.text, args.selector, args.description, args.intent, args.target, args.label]
|
|
154
|
+
.filter((v) => typeof v === "string")
|
|
155
|
+
.join(" ");
|
|
156
|
+
return COMMIT_HINTS.test(text);
|
|
157
|
+
});
|
|
158
|
+
const hasSeed = log.some((e) => {
|
|
159
|
+
if (e.success === false)
|
|
160
|
+
return false;
|
|
161
|
+
const a = (e.action ?? "").toLowerCase();
|
|
162
|
+
const args = (e.input_args ?? {});
|
|
163
|
+
if (a === "shell") {
|
|
164
|
+
const cmd = typeof args.command === "string" ? args.command : "";
|
|
165
|
+
return SEED_HINTS.test(cmd) || /\.bat\b|\.sh\b|\.ps1\b/.test(cmd);
|
|
166
|
+
}
|
|
167
|
+
const text = [args.description, args.intent, args.purpose, args.step, args.command]
|
|
168
|
+
.filter((v) => typeof v === "string")
|
|
169
|
+
.join(" ");
|
|
170
|
+
return SEED_HINTS.test(text);
|
|
171
|
+
});
|
|
172
|
+
if (hasCommit || hasSeed) {
|
|
173
|
+
return { is_risky: false, reason: "Prior commit or seed action observed in recent log." };
|
|
174
|
+
}
|
|
175
|
+
return {
|
|
176
|
+
is_risky: true,
|
|
177
|
+
reason: "Heuristic detected a row/cell interaction with no prior commit/seed action in the recent log. " +
|
|
178
|
+
"Typing into / clicking a non-existent row produces no UIA event and the C3 gate will not credit the change entry.",
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* The HARD postscript appended to a codeloop_interact response when
|
|
183
|
+
* detectEmptyStateRisk reports is_risky. Mirrors the H11 modal
|
|
184
|
+
* postscript style — concrete next steps, no ambiguity.
|
|
185
|
+
*/
|
|
186
|
+
export function buildEmptyStateDirective(verdict, target_change_entry) {
|
|
187
|
+
if (!verdict.is_risky)
|
|
188
|
+
return "";
|
|
189
|
+
return [
|
|
190
|
+
"",
|
|
191
|
+
"",
|
|
192
|
+
"[CodeLoop C4] HARD DIRECTIVE — empty-state risk detected.",
|
|
193
|
+
`Reason: ${verdict.reason}`,
|
|
194
|
+
target_change_entry
|
|
195
|
+
? `Target change entry: ${target_change_entry}`
|
|
196
|
+
: "Target change entry: (unspecified)",
|
|
197
|
+
"",
|
|
198
|
+
"Before continuing the journey for this entry you MUST seed at least one record so the row/cell becomes interactable. Pick whichever applies:",
|
|
199
|
+
" 1. Run codeloop_plan_user_journey and follow its Create arc to add a record via the UI. This both seeds AND credits the user_journey_evidence gate at the same time.",
|
|
200
|
+
" 2. Run a setup script via codeloop_interact action='shell' (e.g. SeedDb.bat, `dotnet ef database update`, `npm run seed`, `python manage.py loaddata fixtures.json`). The detector recognises shell commands containing `seed`/`fixture`/`insert`/`sql`/`backup`/`restore`.",
|
|
201
|
+
" 3. Restore a pre-populated artifact from artifacts/test_files/ via codeloop_interact action='shell' command='cp …' (or platform equivalent).",
|
|
202
|
+
"",
|
|
203
|
+
"After seeding, capture a fresh screenshot to confirm the empty-state UI is gone, THEN re-attempt this interaction. Skipping seeding will leave the C3 change_coverage_evidence gate at continue_fixing because the row interaction never produced a UIA event.",
|
|
204
|
+
].join("\n");
|
|
205
|
+
}
|
|
206
|
+
// ──────────────────────────────────────────────────────────────────────
|
|
207
|
+
// Cross-platform live UI probe (optional). Used when a caller wants to
|
|
208
|
+
// verify "is this region actually empty right now?" instead of relying
|
|
209
|
+
// on the heuristic. The probe scrapes window text via the platform's
|
|
210
|
+
// accessibility API and matches against the empty-state phrase list.
|
|
211
|
+
// ──────────────────────────────────────────────────────────────────────
|
|
212
|
+
export async function detectEmptyStateLive(opts) {
|
|
213
|
+
const platform = process.platform;
|
|
214
|
+
const tt = opts.target_type ?? autoDetectTargetType();
|
|
215
|
+
if (tt === "desktop_windows" && platform === "win32") {
|
|
216
|
+
return await probeWindowsUIA(opts.app_name);
|
|
217
|
+
}
|
|
218
|
+
if (tt === "desktop_macos" && platform === "darwin") {
|
|
219
|
+
return await probeMacosAX(opts.app_name);
|
|
220
|
+
}
|
|
221
|
+
if (tt === "desktop_linux" && platform === "linux") {
|
|
222
|
+
return await probeLinuxXdotool(opts.app_name);
|
|
223
|
+
}
|
|
224
|
+
// Web target — caller is expected to inspect via Playwright. We
|
|
225
|
+
// return likely_empty=false so the caller can decide.
|
|
226
|
+
return { likely_empty: false, matched_phrase: null };
|
|
227
|
+
}
|
|
228
|
+
function autoDetectTargetType() {
|
|
229
|
+
if (process.platform === "win32")
|
|
230
|
+
return "desktop_windows";
|
|
231
|
+
if (process.platform === "darwin")
|
|
232
|
+
return "desktop_macos";
|
|
233
|
+
return "desktop_linux";
|
|
234
|
+
}
|
|
235
|
+
function matchEmptyText(text) {
|
|
236
|
+
for (const re of EMPTY_STATE_TEXT_HINTS) {
|
|
237
|
+
const m = re.exec(text);
|
|
238
|
+
if (m)
|
|
239
|
+
return { likely_empty: true, matched_phrase: m[0] };
|
|
240
|
+
}
|
|
241
|
+
return { likely_empty: false, matched_phrase: null };
|
|
242
|
+
}
|
|
243
|
+
async function probeWindowsUIA(app_name) {
|
|
244
|
+
// Best-effort: dump the foreground (or named) window's element tree
|
|
245
|
+
// names via PowerShell + UIAutomationClient and scan for empty hints.
|
|
246
|
+
const target = app_name ? `-Name '${app_name.replace(/'/g, "''")}'` : "";
|
|
247
|
+
const ps = `Add-Type -AssemblyName UIAutomationClient,UIAutomationTypes;
|
|
248
|
+
$root = [System.Windows.Automation.AutomationElement]::RootElement;
|
|
249
|
+
$proc = if ('${target ? "1" : ""}' -eq '1') { Get-Process ${target} -ErrorAction SilentlyContinue | Select-Object -First 1 } else { Get-Process | Where-Object { $_.MainWindowHandle -ne 0 } | Sort-Object -Property StartTime -Descending | Select-Object -First 1 };
|
|
250
|
+
if (-not $proc) { Write-Output ''; exit 0 }
|
|
251
|
+
$cond = New-Object System.Windows.Automation.PropertyCondition([System.Windows.Automation.AutomationElement]::ProcessIdProperty, $proc.Id);
|
|
252
|
+
$win = $root.FindFirst([System.Windows.Automation.TreeScope]::Children, $cond);
|
|
253
|
+
if (-not $win) { Write-Output ''; exit 0 }
|
|
254
|
+
$descendants = $win.FindAll([System.Windows.Automation.TreeScope]::Descendants, [System.Windows.Automation.Condition]::TrueCondition);
|
|
255
|
+
$names = @();
|
|
256
|
+
foreach ($d in $descendants) { try { $names += $d.Current.Name } catch {} }
|
|
257
|
+
Write-Output ($names -join "\`n")`;
|
|
258
|
+
try {
|
|
259
|
+
const { stdout } = await execAsync(`powershell -NoProfile -ExecutionPolicy Bypass -Command "${ps.replace(/"/g, '\\"').replace(/\n/g, " ")}"`, { timeout: 8000 });
|
|
260
|
+
return { ...matchEmptyText(stdout), raw: stdout.slice(0, 5000) };
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
return { likely_empty: false, matched_phrase: null };
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
async function probeMacosAX(app_name) {
|
|
267
|
+
const target = app_name ?? "frontmost application's name";
|
|
268
|
+
const script = `tell application "System Events"
|
|
269
|
+
set targetApp to ${app_name ? `"${app_name}"` : "name of first application process whose frontmost is true"}
|
|
270
|
+
tell process targetApp
|
|
271
|
+
set output to ""
|
|
272
|
+
set elements to entire contents of front window
|
|
273
|
+
repeat with elem in elements
|
|
274
|
+
try
|
|
275
|
+
set output to output & " | " & (description of elem) & " :: " & (value of elem as string)
|
|
276
|
+
end try
|
|
277
|
+
end repeat
|
|
278
|
+
return output
|
|
279
|
+
end tell
|
|
280
|
+
end tell`;
|
|
281
|
+
void target;
|
|
282
|
+
try {
|
|
283
|
+
const { stdout } = await execAsync(`osascript -e '${script.replace(/'/g, "'\\''")}'`, { timeout: 6000 });
|
|
284
|
+
return { ...matchEmptyText(stdout), raw: stdout.slice(0, 5000) };
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
return { likely_empty: false, matched_phrase: null };
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
async function probeLinuxXdotool(app_name) {
|
|
291
|
+
// Linux desktop accessibility is fragmented. We do the best-effort
|
|
292
|
+
// path: list all windows and grab their classNames; we don't have a
|
|
293
|
+
// portable text scraper without at-spi. We default to "no signal".
|
|
294
|
+
void app_name;
|
|
295
|
+
try {
|
|
296
|
+
const dirEntries = readdirSync("/proc").filter((n) => /^\d+$/.test(n));
|
|
297
|
+
void dirEntries;
|
|
298
|
+
return { likely_empty: false, matched_phrase: null };
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
return { likely_empty: false, matched_phrase: null };
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=empty_state_detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty_state_detector.js","sourceRoot":"","sources":["../../src/runners/empty_state_detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.52 C7 — slugify a `target_change_entry` display name for use as
|
|
3
|
+
* a filename suffix on auto-anchored screenshots. We strip quotes and
|
|
4
|
+
* whitespace, replace separators with `-`, and clamp to 60 chars so
|
|
5
|
+
* the combined `<screen_name>--c7-<slug>.png` path stays well below
|
|
6
|
+
* filesystem path limits even on Windows.
|
|
7
|
+
*
|
|
8
|
+
* The returned slug is also used by the change_coverage_evidence (C3)
|
|
9
|
+
* gate when scanning screenshot filenames for anchored evidence — so
|
|
10
|
+
* the same exact normalisation must be available to both writers and
|
|
11
|
+
* readers. Hence this dedicated module.
|
|
12
|
+
*/
|
|
13
|
+
export declare function slugForTargetChangeEntry(value: string): string;
|
|
14
|
+
//# sourceMappingURL=c7_slug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c7_slug.d.ts","sourceRoot":"","sources":["../../src/tools/c7_slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO9D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.52 C7 — slugify a `target_change_entry` display name for use as
|
|
3
|
+
* a filename suffix on auto-anchored screenshots. We strip quotes and
|
|
4
|
+
* whitespace, replace separators with `-`, and clamp to 60 chars so
|
|
5
|
+
* the combined `<screen_name>--c7-<slug>.png` path stays well below
|
|
6
|
+
* filesystem path limits even on Windows.
|
|
7
|
+
*
|
|
8
|
+
* The returned slug is also used by the change_coverage_evidence (C3)
|
|
9
|
+
* gate when scanning screenshot filenames for anchored evidence — so
|
|
10
|
+
* the same exact normalisation must be available to both writers and
|
|
11
|
+
* readers. Hence this dedicated module.
|
|
12
|
+
*/
|
|
13
|
+
export function slugForTargetChangeEntry(value) {
|
|
14
|
+
const cleaned = value
|
|
15
|
+
.toLowerCase()
|
|
16
|
+
.replace(/["'`]/g, "")
|
|
17
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
18
|
+
.replace(/^-+|-+$/g, "");
|
|
19
|
+
return cleaned.slice(0, 60) || "entry";
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=c7_slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c7_slug.js","sourceRoot":"","sources":["../../src/tools/c7_slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,OAAO,GAAG,KAAK;SAClB,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate_check.d.ts","sourceRoot":"","sources":["../../src/tools/gate_check.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAEf,cAAc,EAEf,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"gate_check.d.ts","sourceRoot":"","sources":["../../src/tools/gate_check.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAEf,cAAc,EAEf,MAAM,sBAAsB,CAAC;AA8B9B,wBAAsB,YAAY,CAChC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,EACtB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAiG1B;AAyDD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/tools/gate_check.js
CHANGED
|
@@ -6,6 +6,7 @@ import { detectPlatform } from "./verify.js";
|
|
|
6
6
|
import { loadDesignCompareSummary, shouldEnforceDesignCompare } from "./design_compare.js";
|
|
7
7
|
import { incrementGateAttempts, resetLoopState, snapshotLoopStateToRun, shouldEscalateGate, escalationReason, } from "../evidence/loop_state.js";
|
|
8
8
|
import { collectInteractionCoverage, detectJourneyArcs, evaluateDepth, evaluateUserJourney, resolveDepthMinimums, } from "../evidence/interaction_coverage.js";
|
|
9
|
+
import { evaluateChangeCoverage, resolveChangeCoverageConfig, } from "../evidence/change_coverage.js";
|
|
9
10
|
export async function runGateCheck(input, config, cwd = process.cwd()) {
|
|
10
11
|
const baseDir = getArtifactsBaseDir(cwd);
|
|
11
12
|
const meta = loadRunMeta(input.run_id, baseDir);
|
|
@@ -451,6 +452,33 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
451
452
|
}
|
|
452
453
|
}
|
|
453
454
|
}
|
|
455
|
+
// 0.1.52 C3 — change_coverage_evidence gate. Cross-references the
|
|
456
|
+
// change manifest produced by C1 against the interaction log +
|
|
457
|
+
// screenshots + replay frames + build/runtime logs. Default
|
|
458
|
+
// threshold is 1.0 (HARD 100%); per-project lowering supported via
|
|
459
|
+
// gates.change_coverage_evidence.threshold in .codeloop/config.json.
|
|
460
|
+
// The gate is added unconditionally — when no manifest is available
|
|
461
|
+
// it passes trivially, so legacy projects that haven't re-verified
|
|
462
|
+
// since 0.1.52 are not punished.
|
|
463
|
+
const changeCoverageGate = {
|
|
464
|
+
name: "change_coverage_evidence",
|
|
465
|
+
description: "Every feature-shaped change in the diff must be exercised by an interaction or screenshot or migration verification.",
|
|
466
|
+
rule: "change_manifest entries exercised >= threshold (default 1.0)",
|
|
467
|
+
input_artifacts: ["change_manifest.json", "logs/interaction_log.jsonl"],
|
|
468
|
+
pass_threshold: true,
|
|
469
|
+
severity_if_failed: "blocker",
|
|
470
|
+
retry_allowance: 5,
|
|
471
|
+
escalation_condition: "Manifest entries left unexercised after 5 attempts",
|
|
472
|
+
};
|
|
473
|
+
const changeCoverageConfig = resolveChangeCoverageConfig(config?.gates?.change_coverage_evidence);
|
|
474
|
+
const changeVerdict = evaluateChangeCoverage(cwd, runId, changeCoverageConfig);
|
|
475
|
+
results.push({
|
|
476
|
+
gate: changeCoverageGate,
|
|
477
|
+
passed: changeVerdict.passed,
|
|
478
|
+
reason: changeVerdict.passed
|
|
479
|
+
? changeVerdict.reason
|
|
480
|
+
: `${changeVerdict.reason}\n${changeVerdict.next_step}`,
|
|
481
|
+
});
|
|
454
482
|
return results;
|
|
455
483
|
}
|
|
456
484
|
function evaluateGate(gate, meta, config, specContent, acceptanceContent, cwd) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate_check.js","sourceRoot":"","sources":["../../src/tools/gate_check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQxC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAuB,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAQ7C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAqB,EACrB,MAAsB,EACtB,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,CAAC,KAAK,CAAC;YACtB,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,CAAC;YACnB,cAAc,EAAE,UAAU;YAC1B,gBAAgB,EAAE;gBAChB,KAAK,EAAE,OAAO,KAAK,CAAC,MAAM,wCAAwC;aACnE;SACF,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAErF,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7E,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAC5D,CAAC;IAEF,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAClE,IAAI,cAAc,GAAG,qBAAqB,CAAC,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAEpF,mEAAmE;IACnE,gEAAgE;IAChE,iEAAiE;IACjE,IAAI,SAAS,CAAC;IACd,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;QAC1C,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,SAAS,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACvC,kEAAkE;QAClE,+DAA+D;QAC/D,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,cAAc,GAAG,UAAU,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,gEAAgE;IAChE,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAEpE,MAAM,eAAe,GAA4B,EAAE,CAAC;IACpD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAA4B;YACrC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB;SAC7C,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,+DAA+D;YAC/D,8DAA8D;YAC9D,0DAA0D;YAC1D,2DAA2D;YAC3D,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;QACD,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAChD,CAAC;IAED,kEAAkE;IAClE,gEAAgE;IAChE,8DAA8D;IAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,eAAe,CAAC,YAAY,CAAC,GAAG;YAC9B,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;YAC9C,gBAAgB,EAAE,MAAM;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,YAAY,CAAC,GAAG;YAC9B,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,YAAY;QAC3B,aAAa,EAAE,YAAY;QAC3B,gBAAgB,EAAE,eAAe;QACjC,cAAc;QACd,gBAAgB,EAAE,eAAe;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,MAAc,EAAE,GAAW;IAChE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc;YACjB,OAAO,yJAAyJ,CAAC;QACnK,KAAK,qBAAqB;YACxB,OAAO,qKAAqK,CAAC;QAC/K,KAAK,sBAAsB;YACzB,OAAO,oIAAoI,CAAC;QAC9I,KAAK,yBAAyB;YAC5B,OAAO,gDAAgD,MAAM,gNAAgN,CAAC;QAChR,KAAK,qBAAqB;YACxB,OAAO,gKAAgK,CAAC;QAC1K,KAAK,gBAAgB;YACnB,OAAO,2MAA2M,CAAC;QACrN,KAAK,6BAA6B;YAChC,OAAO,8UAA8U,CAAC;QACxV,KAAK,4BAA4B;YAC/B,OAAO,sZAAsZ,CAAC;QACha,KAAK,uBAAuB;YAC1B,OAAO,CACL,8fAA8f;gBAC9f,gcAAgc,CACjc,CAAC;QACJ,KAAK,yBAAyB;YAC5B,OAAO,6BAA6B,MAAM,+eAA+e,CAAC;QAC5hB,KAAK,6BAA6B;YAChC,OAAO,yOAAyO,CAAC;QACnP;YACE,OAAO,WAAW,GAAG,mIAAmI,CAAC;IAC7J,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,IAA0B,EAC1B,MAAsB,EACtB,WAA0B,EAC1B,iBAAgC,EAChC,GAAW;IAEX,OAAO,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC;AAED,kEAAkE;AAClE,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,uEAAuE;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACpC,qEAAqE;QACrE,oEAAoE;QACpE,gEAAgE;QAChE,uBAAuB;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAAa,EAAE,GAAW,EAAE,MAAsB;IACrF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,MAAM,cAAc,GAAe;QACjC,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,kCAAkC;QACxC,eAAe,EAAE,CAAC,aAAa,CAAC;QAChC,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,CAAC;QAClB,oBAAoB,EAAE,iCAAiC;KACxD,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC;QAChD,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACpE,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,eAAe,GAAG,CAAC;QAC3B,MAAM,EAAE,eAAe,GAAG,CAAC;YACzB,CAAC,CAAC,GAAG,eAAe,yBAAyB;YAC7C,CAAC,CAAC,yFAAyF;KAC9F,CAAC,CAAC;IAEH,MAAM,SAAS,GAAe;QAC5B,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,oEAAoE;QACjF,IAAI,EAAE,wDAAwD;QAC9D,eAAe,EAAE,CAAC,QAAQ,CAAC;QAC3B,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,CAAC;QAClB,oBAAoB,EAAE,2BAA2B;KAClD,CAAC;IAEF,qEAAqE;IACrE,kEAAkE;IAClE,iEAAiE;IACjE,qEAAqE;IACrE,mEAAmE;IACnE,oEAAoE;IACpE,uEAAuE;IACvE,oDAAoD;IACpD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEhE,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,aAAa,CAAC,KAAK,GAAG,CAAC;QAC/B,MAAM,EACJ,aAAa,CAAC,KAAK,KAAK,CAAC;YACvB,CAAC,CAAC,6KAA6K;YAC/K,CAAC,CAAC,aAAa,CAAC,WAAW,KAAK,KAAK;gBACnC,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,oBAAoB;gBAC5C,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,qCAAqC,aAAa,CAAC,WAAW,KAAK,aAAa,CAAC,UAAU,4BAA4B;KACtJ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAe;QAC7B,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE,sDAAsD;QAC5D,eAAe,EAAE,CAAC,eAAe,CAAC;QAClC,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,CAAC;QAClB,oBAAoB,EAAE,mCAAmC;KAC1D,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnF,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,eAAe;YACrB,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,iGAAiG;KACtG,CAAC,CAAC;IAEH,wEAAwE;IACxE,uEAAuE;IACvE,oEAAoE;IACpE,uEAAuE;IACvE,qEAAqE;IACrE,kEAAkE;IAClE,MAAM,SAAS,GAAe;QAC5B,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,2FAA2F;QAC7F,IAAI,EACF,sIAAsI;QACxI,eAAe,EAAE,CAAC,4BAA4B,CAAC;QAC/C,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,CAAC;QAClB,oBAAoB,EAAE,iDAAiD;KACxE,CAAC;IAEF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,+DAA+D;IAC/D,oEAAoE;IACpE,mEAAmE;IACnE,iDAAiD;IACjD,EAAE;IACF,sEAAsE;IACtE,yEAAyE;IACzE,oEAAoE;IACpE,+DAA+D;IAC/D,oEAAoE;IACpE,IAAI,iBAQS,CAAC;IACd,IAAI,CAAC;QACH,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC7C,iBAAiB,GAAG;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,uBAAuB,EAAE,eAAe,CAAC,GAAG,CAAC;SAC9C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAElF,gEAAgE;IAChE,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,oEAAoE;IACpE,yBAAyB;IACzB,MAAM,WAAW,GAAe;QAC9B,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,sIAAsI;QACnJ,IAAI,EAAE,iHAAiH;QACvH,eAAe,EAAE,CAAC,4BAA4B,CAAC;QAC/C,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,CAAC;QAClB,oBAAoB,EAAE,mCAAmC;KAC1D,CAAC;IAEF,IAAI,gBAAgH,CAAC;IACrH,IAAI,CAAC;QACH,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oDAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1G,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,gBAAgB,GAAG;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1C,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO;SAClB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAElG,sEAAsE;IACtE,oEAAoE;IACpE,6DAA6D;IAC7D,oEAAoE;IACpE,+DAA+D;IAC/D,8CAA8C;IAC9C,IAAI,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAe;YAC7B,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,mEAAmE;YAChF,IAAI,EAAE,uEAAuE;YAC7E,eAAe,EAAE,CAAC,6BAA6B,CAAC;YAChD,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,SAAS;YAC7B,eAAe,EAAE,CAAC;YAClB,oBAAoB,EAAE,8CAA8C;SACrE,CAAC;QAEF,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,IAAI,GAAG,CAAC;QAEvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,KAAK;gBACb,MAAM,EACJ,gHAAgH;oBAChH,iEAAiE;aACpE,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,wDAAwD;aACjE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;YACnC,8DAA8D;YAC9D,2DAA2D;YAC3D,6DAA6D;YAC7D,wDAAwD;YACxD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;gBACxC,CAAC,CAAC,KAAK,cAAc,CAAC,MAAM,+EAA+E,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;gBACpN,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,iCAAiC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,QAAQ,EAAE;iBACrJ,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnE,0DAA0D;gBAC1D,4DAA4D;gBAC5D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,OAAO,cAAc,CAAC,MAAM,6EAA6E,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,wJAAwJ;iBAChX,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,0DAA0D;gBAC1D,0DAA0D;gBAC1D,8DAA8D;gBAC9D,+BAA+B;gBAC/B,yDAAyD;gBACzD,wCAAwC;gBACxC,EAAE;gBACF,6DAA6D;gBAC7D,2DAA2D;gBAC3D,uDAAuD;gBACvD,2DAA2D;gBAC3D,4DAA4D;gBAC5D,6DAA6D;gBAC7D,0DAA0D;gBAC1D,wDAAwD;gBACxD,cAAc;gBACd,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,MAAM;oBACT,CAAC,CAAC,CAAC,CAAC,WAAW;wBACb,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;4BAC3B,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CACjE,CAAC;gBACF,MAAM,UAAU,GAAG,aAAa;qBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;qBACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;gBAEjD,MAAM,SAAS,GAAG,CAAC,CAAsC,EAAE,EAAE,CAC3D,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAE3D,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,eAAe;yBAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACX,GAAG,CAAC,SAAS,CAAC;yBACd,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,WAAW,CAAC,IAAI,CACd,GAAG,eAAe,CAAC,MAAM,sHAAsH,MAAM,GACnJ,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACvC,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,UAAU;yBACrB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;yBAClE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,WAAW,CAAC,IAAI,CACd,GAAG,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,6BAA6B,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,KAAK,0DAA0D,CAC5L,CAAC;gBACJ,CAAC;gBAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,uDAAuD;oBACvD,kDAAkD;oBAClD,4CAA4C;oBAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC;yBAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;yBAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;yBAClE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,WAAW,CAAC,IAAI,CACd,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,kBAAkB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,KAAK,mCAAmC,CACtJ,CAAC;gBACJ,CAAC;gBAED,IAAI,QAAQ;oBAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEhD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CACnB,IAAgB,EAChB,IAA0B,EAC1B,MAAsB,EACtB,WAA0B,EAC1B,iBAAgC,EAChC,GAAW;IAEX,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,KAAK,sBAAsB;YACzB,OAAO,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,KAAK,qBAAqB;YACxB,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,KAAK,6BAA6B;YAChC,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACrD,KAAK,yBAAyB;YAC5B,OAAO,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC/D;YACE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAgB,EAChB,IAA0B;IAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,qBAA4D,CAAC;IAC9E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;IAC9B,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;IACpF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,WAAW,GAAG,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAgB,EAChB,IAA0B;IAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAChE,CAAC;IACD,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,0BAA0B;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAgB,EAChB,IAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,eAAe,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,0BAA0B,KAAK,CAAC,KAAK,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAgB,EAChB,IAA0B,EAC1B,MAAsB,EACtB,GAAW;IAEX,4EAA4E;IAC5E,4EAA4E;IAC5E,uEAAuE;IACvE,sEAAsE;IACtE,2EAA2E;IAC3E,KAAK,GAAG,CAAC;IACT,MAAM,MAAM,GAAG,IAAI,CAAC,4BAAmE,CAAC;IACxF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,eAAe,GAAI,IAAI,CAAC,gBAAyC,EAAE,MAAM,IAAI,CAAC,CAAC;QACrF,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,8HAA8H;aACvI,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,GAAG,eAAe,gGAAgG;SAC3H,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,UAAoB,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAAC;IAEhD,uEAAuE;IACvE,2EAA2E;IAC3E,kFAAkF;IAClF,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC;IAE9B,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;IACzG,CAAC;IACD,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,eAAe,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KAC9G,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAgB,EAChB,IAA0B,EAC1B,iBAAgC;IAEhC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,gEAAgE;SACzE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,MAAM,aAAa,GAAG,iBAAiB;SACpC,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjG,MAAM,CAAC;IAEV,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC;IAC3F,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAClC,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,wBAAwB,aAAa,sBAAsB;SACnF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ,KAAK,CAAC,MAAM,sBAAsB,aAAa,sBAAsB;KACtF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,WAA6B,EAC7B,IAA0B;IAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;IAElD,yCAAyC;IACzC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC5C,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,0CAA0C;IAC1C,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,aAAa,IAAI,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,YAAY;QAAE,aAAa,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,qBAAqB;QAAE,aAAa,IAAI,CAAC,CAAC;IAEnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,qBAAqB,CAC5B,eAAuB,EACvB,YAAoB;IAEpB,IAAI,eAAe,IAAI,EAAE,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC3E,IAAI,eAAe,IAAI,EAAE;QAAE,OAAO,iBAAiB,CAAC;IACpD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,GAAW;IACjD,kFAAkF;IAClF,gFAAgF;IAChF,iFAAiF;IACjF,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAE3C,SAAS,iBAAiB,CACxB,SAAiB,EACjB,OAAe,EACf,UAAkB;IAElB,mCAAmC;IACnC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,gEAAgE;IAChE,4DAA4D;IAC5D,wEAAwE;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,IAAI,GAA6D,IAAI,CAAC;IAE1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS,CAAC,kBAAkB;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,CAAC;YAAE,SAAS;QAExB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,GAAG,GAAG,OAAO,GAAG,kBAAkB;YAAE,SAAS,CAAC,YAAY;QAE9D,IAAI,CAAC,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,KAAK;QACvB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvE,CAAC,MAAM,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"gate_check.js","sourceRoot":"","sources":["../../src/tools/gate_check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type ChangeEntry } from "../evidence/change_manifest.js";
|
|
2
|
+
/**
|
|
3
|
+
* 0.1.52 C2 — codeloop_plan_change_journey.
|
|
4
|
+
*
|
|
5
|
+
* Reads the most recent change manifest (produced by C1 inside
|
|
6
|
+
* codeloop_verify) and emits a structured interaction script the
|
|
7
|
+
* agent must drive to satisfy the C3 change_coverage_evidence gate.
|
|
8
|
+
*
|
|
9
|
+
* Where codeloop_plan_user_journey enumerates entity-level CRUD arcs
|
|
10
|
+
* (Add Product → fill → Save → verify → edit → delete) for the WHOLE
|
|
11
|
+
* app, plan_change_journey is narrower: it only enumerates steps for
|
|
12
|
+
* the deltas the agent JUST shipped. The two work together — an
|
|
13
|
+
* agent should call plan_user_journey for the broad CRUD coverage
|
|
14
|
+
* and plan_change_journey for the per-change verification.
|
|
15
|
+
*
|
|
16
|
+
* Crucial invariant: every step has a `target_change_entry` field
|
|
17
|
+
* carrying the exact display name from manifest. The agent passes
|
|
18
|
+
* this as an arg to codeloop_interact / codeloop_capture_screenshot
|
|
19
|
+
* so the C3 gate can attribute evidence to the correct entry without
|
|
20
|
+
* fuzzy matching.
|
|
21
|
+
*/
|
|
22
|
+
export interface ChangeJourneyStep {
|
|
23
|
+
step_index: number;
|
|
24
|
+
target_change_entry: string;
|
|
25
|
+
entry_kind: ChangeEntry["kind"];
|
|
26
|
+
file: string;
|
|
27
|
+
/** Concrete codeloop_interact / codeloop_capture_screenshot call to make. */
|
|
28
|
+
action: string;
|
|
29
|
+
description: string;
|
|
30
|
+
empty_state_directive?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ChangeJourneyPlan {
|
|
33
|
+
ready: boolean;
|
|
34
|
+
manifest_run_id: string | null;
|
|
35
|
+
total_entries: number;
|
|
36
|
+
steps: ChangeJourneyStep[];
|
|
37
|
+
preamble: string;
|
|
38
|
+
message: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function planChangeJourney(cwd: string, preferredRunId?: string): ChangeJourneyPlan;
|
|
41
|
+
//# sourceMappingURL=plan_change_journey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan_change_journey.d.ts","sourceRoot":"","sources":["../../src/tools/plan_change_journey.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE1H;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAmGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAgDzF"}
|