codeloop-mcp-server 0.1.20 → 0.1.23

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.
Files changed (35) hide show
  1. package/dist/evidence/interaction_coverage.d.ts +47 -3
  2. package/dist/evidence/interaction_coverage.d.ts.map +1 -1
  3. package/dist/evidence/interaction_coverage.js +234 -17
  4. package/dist/evidence/interaction_coverage.js.map +1 -1
  5. package/dist/evidence/verification_log.d.ts +77 -0
  6. package/dist/evidence/verification_log.d.ts.map +1 -0
  7. package/dist/evidence/verification_log.js +160 -0
  8. package/dist/evidence/verification_log.js.map +1 -0
  9. package/dist/index.js +281 -39
  10. package/dist/index.js.map +1 -1
  11. package/dist/runners/base.d.ts.map +1 -1
  12. package/dist/runners/base.js +122 -6
  13. package/dist/runners/base.js.map +1 -1
  14. package/dist/runners/win_accessibility.d.ts +40 -0
  15. package/dist/runners/win_accessibility.d.ts.map +1 -1
  16. package/dist/runners/win_accessibility.js +198 -29
  17. package/dist/runners/win_accessibility.js.map +1 -1
  18. package/dist/runners/window_manager.d.ts +1 -0
  19. package/dist/runners/window_manager.d.ts.map +1 -1
  20. package/dist/runners/window_manager.js +33 -3
  21. package/dist/runners/window_manager.js.map +1 -1
  22. package/dist/tools/design_compare.d.ts.map +1 -1
  23. package/dist/tools/design_compare.js +116 -8
  24. package/dist/tools/design_compare.js.map +1 -1
  25. package/dist/tools/discover_interactions.d.ts +59 -0
  26. package/dist/tools/discover_interactions.d.ts.map +1 -0
  27. package/dist/tools/discover_interactions.js +392 -0
  28. package/dist/tools/discover_interactions.js.map +1 -0
  29. package/dist/tools/gate_check.d.ts.map +1 -1
  30. package/dist/tools/gate_check.js +62 -4
  31. package/dist/tools/gate_check.js.map +1 -1
  32. package/dist/tools/interaction_replay.d.ts.map +1 -1
  33. package/dist/tools/interaction_replay.js +75 -0
  34. package/dist/tools/interaction_replay.js.map +1 -1
  35. package/package.json +1 -1
@@ -108,6 +108,27 @@ function findActualScreenshot(screenshotsDir, screenName, viewport) {
108
108
  if (!existsSync(screenshotsDir))
109
109
  return null;
110
110
  const files = readdirSync(screenshotsDir).filter((f) => f.toLowerCase().endsWith(".png"));
111
+ return matchScreenshotFile(files, screenshotsDir, screenName, viewport);
112
+ }
113
+ /**
114
+ * Filename-matching helper extracted so the cross-run resolver can
115
+ * reuse it. The matching is intentionally permissive — every Photometry
116
+ * DB-style "the reference is named `led-photometric-summary.png` but
117
+ * the agent captured `10-led-photometric-data-page_1778895588226.png`"
118
+ * combination should succeed.
119
+ *
120
+ * Match precedence (highest to lowest):
121
+ * 1. Exact (case-insensitive) `<screen>.png`
122
+ * 2. Viewport-tagged `<screen>_<viewport>.png` / `<viewport>_<screen>.png`
123
+ * 3. Prefix `<screen>_*.png` / `<screen>-*.png` (covers timestamped captures)
124
+ * 4. Suffix `*_<screen>.png` / `*-<screen>.png` (covers `01-dashboard.png`)
125
+ * 5. Contains `<screen>` token anywhere in the stem (lenient last resort)
126
+ * 6. Token-overlap fallback: split both sides on `-`/`_`/digits, pick
127
+ * the file with the most token overlap (≥2 shared tokens).
128
+ */
129
+ function matchScreenshotFile(files, screenshotsDir, screenName, viewport) {
130
+ const target = screenName.toLowerCase();
131
+ const targetTokens = tokens(target);
111
132
  const candidates = [];
112
133
  if (viewport) {
113
134
  candidates.push(`${screenName}_${viewport}.png`);
@@ -116,16 +137,88 @@ function findActualScreenshot(screenshotsDir, screenName, viewport) {
116
137
  candidates.push(`${viewport}-${screenName}.png`);
117
138
  }
118
139
  candidates.push(`${screenName}.png`);
140
+ // (1) + (2) exact + viewport-tagged.
119
141
  for (const candidate of candidates) {
120
142
  const match = files.find((f) => f.toLowerCase() === candidate.toLowerCase());
121
143
  if (match)
122
144
  return join(screenshotsDir, match);
123
145
  }
124
- // Fallback: starts-with match (e.g. `home_chromium.png` for screen=home).
125
- const prefix = files.find((f) => f.toLowerCase().startsWith(screenName.toLowerCase() + "_") ||
126
- f.toLowerCase().startsWith(screenName.toLowerCase() + "-"));
127
- if (prefix)
128
- return join(screenshotsDir, prefix);
146
+ // (3) prefix.
147
+ let m = files.find((f) => f.toLowerCase().startsWith(target + "_") || f.toLowerCase().startsWith(target + "-"));
148
+ if (m)
149
+ return join(screenshotsDir, m);
150
+ // (4) suffix.
151
+ m = files.find((f) => {
152
+ const stem = f.toLowerCase().replace(/\.png$/, "");
153
+ return stem.endsWith("_" + target) || stem.endsWith("-" + target);
154
+ });
155
+ if (m)
156
+ return join(screenshotsDir, m);
157
+ // (5) "contains the target token anywhere" — handles
158
+ // `10-led-photometric-data-page_<ts>.png` matching screen `photometric-data`.
159
+ m = files.find((f) => f.toLowerCase().includes(target));
160
+ if (m)
161
+ return join(screenshotsDir, m);
162
+ // (6) Token overlap. Pick the file whose stem shares the most tokens
163
+ // with the reference name (alphabetic tokens ≥ 3 chars). Require at
164
+ // least 2 shared tokens to avoid false positives.
165
+ let bestFile = null;
166
+ let bestOverlap = 0;
167
+ for (const f of files) {
168
+ const stemTokens = new Set(tokens(f.toLowerCase().replace(/\.png$/, "")));
169
+ let overlap = 0;
170
+ for (const t of targetTokens)
171
+ if (stemTokens.has(t))
172
+ overlap += 1;
173
+ if (overlap > bestOverlap) {
174
+ bestOverlap = overlap;
175
+ bestFile = f;
176
+ }
177
+ }
178
+ if (bestFile && bestOverlap >= 2)
179
+ return join(screenshotsDir, bestFile);
180
+ return null;
181
+ }
182
+ /** Tokeniser used by the lenient matcher. Splits on non-alphanumerics
183
+ * and digit boundaries; keeps alphabetic tokens of length ≥ 3.
184
+ */
185
+ function tokens(s) {
186
+ return s
187
+ .split(/[^a-z0-9]+|(?<=\D)(?=\d)|(?<=\d)(?=\D)/i)
188
+ .filter((t) => /^[a-z]+$/i.test(t) && t.length >= 3)
189
+ .map((t) => t.toLowerCase());
190
+ }
191
+ /**
192
+ * Walk EVERY run's screenshots/ folder (newest first) trying to match
193
+ * the reference. Used when the explicit run_id's screenshots/ has no
194
+ * match — common when the agent recorded into a different run than
195
+ * verify created.
196
+ */
197
+ function findActualScreenshotAcrossRuns(cwd, screenName, viewport, preferRunId) {
198
+ const base = getArtifactsBaseDir(cwd);
199
+ const runs = listRuns(base);
200
+ // Move the preferred run to the front so we keep returning its
201
+ // screenshot if multiple runs have a match.
202
+ const ordered = preferRunId
203
+ ? [preferRunId, ...runs.filter((r) => r !== preferRunId)]
204
+ : runs;
205
+ for (const runId of ordered) {
206
+ const dir = join(getRunDir(runId, base), "screenshots");
207
+ if (!existsSync(dir))
208
+ continue;
209
+ let files;
210
+ try {
211
+ files = readdirSync(dir).filter((f) => f.toLowerCase().endsWith(".png"));
212
+ }
213
+ catch {
214
+ continue;
215
+ }
216
+ if (files.length === 0)
217
+ continue;
218
+ const m = matchScreenshotFile(files, dir, screenName, viewport);
219
+ if (m)
220
+ return { path: m, runId };
221
+ }
129
222
  return null;
130
223
  }
131
224
  /**
@@ -308,7 +401,20 @@ export async function runDesignCompareAll(input, config, cwd = process.cwd()) {
308
401
  mkdirSync(diffsDir, { recursive: true });
309
402
  const perScreen = [];
310
403
  for (const ref of refs) {
311
- const actualPath = findActualScreenshot(screenshotsDir, ref.screenName, ref.viewport);
404
+ let actualPath = findActualScreenshot(screenshotsDir, ref.screenName, ref.viewport);
405
+ let sourceRunId;
406
+ if (!actualPath) {
407
+ // Cross-run fallback. The Photometry DB E2E recorded screenshots
408
+ // into a different run than the one verify created — without
409
+ // this fallback design_compare reports actual_path="" for every
410
+ // reference even though matching captures exist a sibling run dir.
411
+ const cross = findActualScreenshotAcrossRuns(cwd, ref.screenName, ref.viewport, run.runId);
412
+ if (cross) {
413
+ actualPath = cross.path;
414
+ if (cross.runId !== run.runId)
415
+ sourceRunId = cross.runId;
416
+ }
417
+ }
312
418
  if (!actualPath) {
313
419
  perScreen.push({
314
420
  screen_name: ref.screenName,
@@ -318,7 +424,7 @@ export async function runDesignCompareAll(input, config, cwd = process.cwd()) {
318
424
  match_score: 0,
319
425
  passed: false,
320
426
  severity: "high",
321
- reason: `No screenshot found for "${ref.screenName}"${ref.viewport ? ` (${ref.viewport})` : ""}. Capture it before re-running design compare.`,
427
+ reason: `No screenshot found for "${ref.screenName}"${ref.viewport ? ` (${ref.viewport})` : ""} in any run under artifacts/runs/. Capture it with codeloop_capture_screenshot screen_name="${ref.screenName}" before re-running design compare. Filename-matching accepts exact, prefix (${ref.screenName}_*), suffix (*_${ref.screenName}), substring, and 2-token-overlap matches.`,
322
428
  });
323
429
  continue;
324
430
  }
@@ -350,7 +456,9 @@ export async function runDesignCompareAll(input, config, cwd = process.cwd()) {
350
456
  match_score: matchScore,
351
457
  passed,
352
458
  severity: severityFromScore(matchScore, threshold),
353
- reason,
459
+ reason: sourceRunId
460
+ ? `${reason} (actual loaded from run ${sourceRunId} — different from gate run ${run.runId}; copy the screenshot forward if you want it scoped to the gate run.)`
461
+ : reason,
354
462
  });
355
463
  }
356
464
  // 4. Aggregate.
@@ -1 +1 @@
1
- {"version":3,"file":"design_compare.js","sourceRoot":"","sources":["../../src/tools/design_compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design_compare.js","sourceRoot":"","sources":["../../src/tools/design_compare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * codeloop_discover_interactions
3
+ *
4
+ * Companion to codeloop_discover_screens. Where discover_screens enumerates
5
+ * the project's navigable routes/pages, this tool enumerates the project's
6
+ * INTERACTIVE ELEMENTS — the things the agent has to touch during a video
7
+ * recording for the interaction_depth_evidence gate to mean anything.
8
+ *
9
+ * Scope (per scanner):
10
+ * - **Web** (.tsx, .jsx, .ts, .vue, .svelte, .html): <input>, <textarea>,
11
+ * <select>, <button>, <form>, [type=checkbox|radio|file], drop zones,
12
+ * contenteditable, role=switch/checkbox/textbox, AI-feature imports
13
+ * (`openai`, `anthropic`, `@ai-sdk`, `useChat`).
14
+ * - **Flutter** (.dart): TextField/TextFormField, ElevatedButton/IconButton/
15
+ * TextButton/OutlinedButton/FilledButton, Switch/Checkbox/Radio,
16
+ * DropdownButton, Slider, DataTable, DragTarget/Draggable, FilePicker.
17
+ * - **WPF / WinForms / MAUI / Avalonia** (.xaml, .axaml): TextBox,
18
+ * PasswordBox, Button, ToggleSwitch, ToggleButton, CheckBox, ComboBox,
19
+ * RadioButton, Slider, DataGrid, ListView, TreeView, AllowDrop, drop
20
+ * targets, AI-named controls.
21
+ *
22
+ * Output shape is deliberately permissive — the classifier and gate
23
+ * pick the fields they care about; future scanners (mobile native) can
24
+ * add elements without breaking the contract.
25
+ */
26
+ export interface DiscoveredElement {
27
+ kind: "input" | "button" | "submit_button" | "toggle" | "select" | "datagrid" | "upload" | "ai_feature" | "form";
28
+ /** A short human-readable label so the agent can target it. */
29
+ label: string;
30
+ /** Source file (relative to project root). */
31
+ source_file: string;
32
+ /** Best-effort line number. */
33
+ line?: number;
34
+ /** Optional automation_id / selector / aria-label / x:Name. */
35
+ selector?: string;
36
+ }
37
+ export interface DiscoverInteractionsOutput {
38
+ platform: string;
39
+ elements: DiscoveredElement[];
40
+ counts: {
41
+ inputs: number;
42
+ buttons: number;
43
+ submit_buttons: number;
44
+ toggles: number;
45
+ selects: number;
46
+ datagrids: number;
47
+ upload_areas: number;
48
+ ai_features: number;
49
+ forms: number;
50
+ };
51
+ ai_features_detected: boolean;
52
+ scan_summary: string;
53
+ }
54
+ export declare function discoverInteractions(cwd: string, platformOverride?: string): DiscoverInteractionsOutput;
55
+ export declare function discoverInteractionsCached(cwd: string, platformOverride?: string): DiscoverInteractionsOutput;
56
+ export declare const __test: {
57
+ basename: (path: string, suffix?: string) => string;
58
+ };
59
+ //# sourceMappingURL=discover_interactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover_interactions.d.ts","sourceRoot":"","sources":["../../src/tools/discover_interactions.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EACA,OAAO,GACP,QAAQ,GACR,eAAe,GACf,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,MAAM,CAAC;IACX,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AA4TD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,gBAAgB,CAAC,EAAE,MAAM,GACxB,0BAA0B,CAoD5B;AAQD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ7G;AAGD,eAAO,MAAM,MAAM;;CAAe,CAAC"}