codeloop-mcp-server 0.1.21 → 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 +118 -9
  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 +258 -38
  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
@@ -34,6 +34,16 @@ export interface InteractionCoverage {
34
34
  unique_screens: number;
35
35
  /** Aggregate "depth points" — successful actions in buckets that exercise app state. */
36
36
  depth_actions: number;
37
+ /**
38
+ * Sub-categories of `input` used by the discovery-driven gate:
39
+ * - ai_prompts: successful `type` / setValue actions whose text payload
40
+ * is >= 30 characters (proxy for "this is a real prompt, not just
41
+ * a one-character field-fill").
42
+ * - datagrid_edits: best-effort count of inputs whose selector hints
43
+ * a grid/cell/datagrid context.
44
+ */
45
+ substantive_prompts: number;
46
+ datagrid_edits: number;
37
47
  }
38
48
  export interface DepthMinimums {
39
49
  enabled: boolean;
@@ -45,6 +55,12 @@ export interface DepthMinimums {
45
55
  toggle: number;
46
56
  gesture: number;
47
57
  upload: number;
58
+ discovery_coverage: {
59
+ input_fraction: number;
60
+ ai_prompts: number;
61
+ upload_when_drop_zone: number;
62
+ datagrid_edits: number;
63
+ };
48
64
  }
49
65
  export declare const DEFAULT_DEPTH_MINIMUMS: DepthMinimums;
50
66
  /**
@@ -52,11 +68,17 @@ export declare const DEFAULT_DEPTH_MINIMUMS: DepthMinimums;
52
68
  * directory. Runs without logs are skipped silently.
53
69
  */
54
70
  export declare function collectInteractionCoverage(cwd: string): InteractionCoverage;
71
+ export interface DiscoverySnapshot {
72
+ inputs: number;
73
+ upload_areas: number;
74
+ datagrids: number;
75
+ ai_features_detected: boolean;
76
+ }
55
77
  export interface DepthVerdict {
56
78
  passed: boolean;
57
79
  reason: string;
58
80
  shortfalls: Array<{
59
- bucket: keyof InteractionBuckets | "total_successful";
81
+ bucket: keyof InteractionBuckets | "total_successful" | "input_coverage" | "ai_prompts" | "upload_when_drop_zone" | "datagrid_edits";
60
82
  required: number;
61
83
  have: number;
62
84
  }>;
@@ -66,10 +88,32 @@ export interface DepthVerdict {
66
88
  * the verdict plus a human-readable reason that lists EVERY shortfall —
67
89
  * the agent uses this to know which buckets to fill in before re-gating.
68
90
  */
69
- export declare function evaluateDepth(coverage: InteractionCoverage, minimums: DepthMinimums): DepthVerdict;
91
+ export declare function evaluateDepth(coverage: InteractionCoverage, minimums: DepthMinimums, discovery?: DiscoverySnapshot): DepthVerdict;
70
92
  /**
71
93
  * Merge user-supplied minimums onto DEFAULT_DEPTH_MINIMUMS. Unknown / non-numeric
72
94
  * fields fall back to the default.
73
95
  */
74
- export declare function resolveDepthMinimums(override: Partial<DepthMinimums> | undefined): DepthMinimums;
96
+ /**
97
+ * Permissive shape for user overrides — every field is optional, and
98
+ * `discovery_coverage` itself can be partial (a project that only wants
99
+ * to override `ai_prompts` shouldn't have to declare the others).
100
+ */
101
+ export type DepthMinimumsOverride = {
102
+ enabled?: boolean;
103
+ total_successful?: number;
104
+ input?: number;
105
+ commit?: number;
106
+ click?: number;
107
+ navigation?: number;
108
+ toggle?: number;
109
+ gesture?: number;
110
+ upload?: number;
111
+ discovery_coverage?: {
112
+ input_fraction?: number;
113
+ ai_prompts?: number;
114
+ upload_when_drop_zone?: number;
115
+ datagrid_edits?: number;
116
+ };
117
+ };
118
+ export declare function resolveDepthMinimums(override: DepthMinimumsOverride | undefined): DepthMinimums;
75
119
  //# sourceMappingURL=interaction_coverage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction_coverage.d.ts","sourceRoot":"","sources":["../../src/evidence/interaction_coverage.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAUpC,CAAC;AA8TF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CA0C3E;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9G;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,aAAa,GACtB,YAAY,CA4Cd;AA4CD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,GAC3C,aAAa,CAqBf"}
1
+ {"version":3,"file":"interaction_coverage.d.ts","sourceRoot":"","sources":["../../src/evidence/interaction_coverage.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export const DEFAULT_DEPTH_MINIMUMS = {
11
11
  toggle: 0,
12
12
  gesture: 0,
13
13
  upload: 0,
14
+ discovery_coverage: {
15
+ input_fraction: 0.30,
16
+ ai_prompts: 3,
17
+ upload_when_drop_zone: 1,
18
+ datagrid_edits: 1,
19
+ },
14
20
  };
15
21
  function emptyBuckets() {
16
22
  return {
@@ -318,7 +324,15 @@ export function collectInteractionCoverage(cwd) {
318
324
  const buckets = emptyBuckets();
319
325
  const allEntries = [];
320
326
  if (!existsSync(baseDir)) {
321
- return { total: 0, successful: 0, buckets, unique_screens: 0, depth_actions: 0 };
327
+ return {
328
+ total: 0,
329
+ successful: 0,
330
+ buckets,
331
+ unique_screens: 0,
332
+ depth_actions: 0,
333
+ substantive_prompts: 0,
334
+ datagrid_edits: 0,
335
+ };
322
336
  }
323
337
  const runs = listRuns(baseDir);
324
338
  for (const runId of runs) {
@@ -343,12 +357,51 @@ export function collectInteractionCoverage(cwd) {
343
357
  buckets.upload +
344
358
  buckets.click +
345
359
  buckets.keystroke;
360
+ // Substantive-prompt and datagrid-edit accounting. Walk every type-y
361
+ // entry (and every win_ui_automate setValue) — including children of
362
+ // sequence batches — to credit AI prompts and grid cell edits.
363
+ let substantivePrompts = 0;
364
+ let datagridEdits = 0;
365
+ function inspect(entry) {
366
+ const action = (entry.action ?? "").toLowerCase();
367
+ const args = entry.input_args ?? {};
368
+ if (entry.success === false)
369
+ return;
370
+ if (action === "sequence") {
371
+ const stepsField = args.steps;
372
+ if (Array.isArray(stepsField))
373
+ for (const c of stepsField)
374
+ inspect(c);
375
+ return;
376
+ }
377
+ const text = typeof args.text === "string" ? args.text : "";
378
+ const sub = args.automation_action?.toLowerCase() ?? "";
379
+ const valueText = action === "win_ui_automate" && (sub === "setvalue" || sub === "set_value")
380
+ ? (typeof args.value === "string" ? args.value : typeof args.text === "string" ? args.text : "")
381
+ : "";
382
+ const isTypeAction = action === "type" || action === "type_and_submit" || action === "type_and_tab" || action === "fill";
383
+ const effectiveText = isTypeAction ? text : valueText;
384
+ if (effectiveText.length >= 30)
385
+ substantivePrompts += 1;
386
+ const selectorHints = [args.selector, args.target, args.app_name]
387
+ .filter((v) => typeof v === "string")
388
+ .map((v) => v.toLowerCase())
389
+ .join(" ");
390
+ if ((isTypeAction || (action === "win_ui_automate" && (sub === "setvalue" || sub === "set_value"))) &&
391
+ /\b(datagrid|grid|cell|row[\d_]|column[\d_]|tablerow|datatable)\b/.test(selectorHints)) {
392
+ datagridEdits += 1;
393
+ }
394
+ }
395
+ for (const e of allEntries)
396
+ inspect(e);
346
397
  return {
347
398
  total,
348
399
  successful,
349
400
  buckets,
350
401
  unique_screens: uniqueScreens(allEntries),
351
402
  depth_actions: depthActions,
403
+ substantive_prompts: substantivePrompts,
404
+ datagrid_edits: datagridEdits,
352
405
  };
353
406
  }
354
407
  /**
@@ -356,7 +409,7 @@ export function collectInteractionCoverage(cwd) {
356
409
  * the verdict plus a human-readable reason that lists EVERY shortfall —
357
410
  * the agent uses this to know which buckets to fill in before re-gating.
358
411
  */
359
- export function evaluateDepth(coverage, minimums) {
412
+ export function evaluateDepth(coverage, minimums, discovery) {
360
413
  if (!minimums.enabled) {
361
414
  return {
362
415
  passed: true,
@@ -375,9 +428,42 @@ export function evaluateDepth(coverage, minimums) {
375
428
  { bucket: "gesture", required: minimums.gesture, have: coverage.buckets.gesture },
376
429
  { bucket: "upload", required: minimums.upload, have: coverage.buckets.upload },
377
430
  ];
431
+ // Discovery-driven minimums — only apply when a snapshot was passed
432
+ // in. The snapshot comes from codeloop_discover_interactions; the
433
+ // gate calls it (cached) and includes counts here so a project with
434
+ // 30 input fields can't pass with input=3, an AI-feature project
435
+ // can't pass without real prompts, etc.
436
+ if (discovery) {
437
+ if (minimums.discovery_coverage.input_fraction > 0 && discovery.inputs > 0) {
438
+ const required = Math.max(minimums.input, Math.ceil(discovery.inputs * minimums.discovery_coverage.input_fraction));
439
+ if (coverage.buckets.input < required) {
440
+ checks.push({ bucket: "input_coverage", required, have: coverage.buckets.input });
441
+ shortfalls.push({ bucket: "input_coverage", required, have: coverage.buckets.input });
442
+ }
443
+ }
444
+ if (discovery.ai_features_detected && minimums.discovery_coverage.ai_prompts > 0) {
445
+ const required = minimums.discovery_coverage.ai_prompts;
446
+ if (coverage.substantive_prompts < required) {
447
+ shortfalls.push({ bucket: "ai_prompts", required, have: coverage.substantive_prompts });
448
+ }
449
+ }
450
+ if (discovery.upload_areas > 0 && minimums.discovery_coverage.upload_when_drop_zone > 0) {
451
+ const required = minimums.discovery_coverage.upload_when_drop_zone;
452
+ if (coverage.buckets.upload < required) {
453
+ shortfalls.push({ bucket: "upload_when_drop_zone", required, have: coverage.buckets.upload });
454
+ }
455
+ }
456
+ if (discovery.datagrids > 0 && minimums.discovery_coverage.datagrid_edits > 0) {
457
+ const required = minimums.discovery_coverage.datagrid_edits;
458
+ if (coverage.datagrid_edits < required) {
459
+ shortfalls.push({ bucket: "datagrid_edits", required, have: coverage.datagrid_edits });
460
+ }
461
+ }
462
+ }
378
463
  for (const c of checks) {
379
- if (c.required > 0 && c.have < c.required)
464
+ if (c.required > 0 && c.have < c.required && !shortfalls.some((s) => s.bucket === c.bucket)) {
380
465
  shortfalls.push(c);
466
+ }
381
467
  }
382
468
  if (shortfalls.length === 0) {
383
469
  const b = coverage.buckets;
@@ -401,6 +487,18 @@ function buildHint(shortfalls) {
401
487
  if (has("input")) {
402
488
  tips.push('Fill input fields with codeloop_interact action: "type" or "fill_form" (or "win_ui_automate" with action: "setValue" on a WPF TextBox).');
403
489
  }
490
+ if (has("input_coverage")) {
491
+ tips.push('Discovery found more input fields than you typed into. Call codeloop_discover_interactions to enumerate them, then exercise at least 30% with type / setValue actions.');
492
+ }
493
+ if (has("ai_prompts")) {
494
+ tips.push('Discovery detected AI features in the source. Type at least one substantive prompt (>= 30 characters) into the AI input and submit it; repeat for at least 3 prompts to exercise the AI loop (multi-turn / tool routing / RAG scoping).');
495
+ }
496
+ if (has("upload_when_drop_zone")) {
497
+ tips.push('Discovery found a file-upload / drop zone. Call codeloop_interact with action: "upload_file" (web) or drag-drop a sample file from artifacts/test_files/ to exercise the upload path.');
498
+ }
499
+ if (has("datagrid_edits")) {
500
+ tips.push('Discovery found a DataGrid / DataTable. Click a cell and type into it, OR use win_ui_automate with action: "setValue" on a Cell automationId, OR use fill_form on a grid row.');
501
+ }
404
502
  if (has("commit")) {
405
503
  tips.push('Submit at least one form: click a button whose name contains submit/save/update/login/signup, or send action "type_and_submit" / "hotkey" enter after typing.');
406
504
  }
@@ -424,14 +522,13 @@ function buildHint(shortfalls) {
424
522
  }
425
523
  return tips.length > 0 ? `Next steps:\n * ${tips.join("\n * ")}` : "";
426
524
  }
427
- /**
428
- * Merge user-supplied minimums onto DEFAULT_DEPTH_MINIMUMS. Unknown / non-numeric
429
- * fields fall back to the default.
430
- */
431
525
  export function resolveDepthMinimums(override) {
432
526
  if (!override)
433
- return DEFAULT_DEPTH_MINIMUMS;
434
- const out = { ...DEFAULT_DEPTH_MINIMUMS };
527
+ return { ...DEFAULT_DEPTH_MINIMUMS, discovery_coverage: { ...DEFAULT_DEPTH_MINIMUMS.discovery_coverage } };
528
+ const out = {
529
+ ...DEFAULT_DEPTH_MINIMUMS,
530
+ discovery_coverage: { ...DEFAULT_DEPTH_MINIMUMS.discovery_coverage },
531
+ };
435
532
  if (typeof override.enabled === "boolean")
436
533
  out.enabled = override.enabled;
437
534
  const numFields = [
@@ -450,6 +547,18 @@ export function resolveDepthMinimums(override) {
450
547
  out[k] = v;
451
548
  }
452
549
  }
550
+ if (override.discovery_coverage) {
551
+ const dc = override.discovery_coverage;
552
+ const dcOut = out.discovery_coverage;
553
+ if (typeof dc.input_fraction === "number" && dc.input_fraction >= 0 && dc.input_fraction <= 1)
554
+ dcOut.input_fraction = dc.input_fraction;
555
+ if (typeof dc.ai_prompts === "number" && dc.ai_prompts >= 0)
556
+ dcOut.ai_prompts = dc.ai_prompts;
557
+ if (typeof dc.upload_when_drop_zone === "number" && dc.upload_when_drop_zone >= 0)
558
+ dcOut.upload_when_drop_zone = dc.upload_when_drop_zone;
559
+ if (typeof dc.datagrid_edits === "number" && dc.datagrid_edits >= 0)
560
+ dcOut.datagrid_edits = dc.datagrid_edits;
561
+ }
453
562
  return out;
454
563
  }
455
564
  //# sourceMappingURL=interaction_coverage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction_coverage.js","sourceRoot":"","sources":["../../src/evidence/interaction_coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction_coverage.js","sourceRoot":"","sources":["../../src/evidence/interaction_coverage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * verification_log.jsonl
3
+ * ──────────────────────
4
+ *
5
+ * One structured event per CodeLoop MCP tool call, written to:
6
+ * artifacts/runs/<latest_run>/logs/verification_log.jsonl
7
+ *
8
+ * This complements interaction_log.jsonl (which only tracks
9
+ * codeloop_interact calls) by recording the entire verification chain
10
+ * — verify, diagnose, gate_check, capture_screenshot, start_recording,
11
+ * stop_recording, interaction_replay, design_compare, visual_review,
12
+ * discover_screens, discover_interactions, generate_dev_report — so the
13
+ * dev report and any post-hoc analysis can replay exactly what
14
+ * happened and how long each step took.
15
+ *
16
+ * Events have a small, stable shape so a downstream parser doesn't
17
+ * need the MCP-server source to make sense of them:
18
+ *
19
+ * {
20
+ * timestamp: ISO 8601,
21
+ * tool: "codeloop_verify",
22
+ * input: { ...summarised params },
23
+ * success: boolean,
24
+ * duration_ms: number,
25
+ * run_id?: string, // when discoverable
26
+ * output_excerpt?: string // first 240 chars of stringified result
27
+ * error?: string // when success === false
28
+ * }
29
+ *
30
+ * Recording is best-effort: we never fail a tool call because the log
31
+ * couldn't be written.
32
+ */
33
+ export interface VerificationEvent {
34
+ timestamp: string;
35
+ tool: string;
36
+ input?: Record<string, unknown>;
37
+ success: boolean;
38
+ duration_ms: number;
39
+ run_id?: string;
40
+ output_excerpt?: string;
41
+ error?: string;
42
+ }
43
+ /**
44
+ * Pick the freshest run directory in the project's artifacts/ tree.
45
+ * Falls back to a synthetic `pre-run/` bucket when no real run exists
46
+ * yet (e.g. the very first codeloop_verify in a fresh workspace logs
47
+ * its own bootstrap into `artifacts/pre-run/logs/`).
48
+ */
49
+ declare function resolveVerificationLogPath(cwd: string): {
50
+ path: string;
51
+ runId: string | null;
52
+ };
53
+ /**
54
+ * Summarise the params object so we don't write secrets / 50KB strings
55
+ * to disk. Truncates long string values, drops `api_key`-shaped fields.
56
+ */
57
+ declare function summariseInput(input: unknown): Record<string, unknown> | undefined;
58
+ declare function summariseOutput(output: unknown): string | undefined;
59
+ export declare function appendVerificationEvent(cwd: string, evt: Omit<VerificationEvent, "timestamp">): void;
60
+ /**
61
+ * Higher-order wrapper. Records start / finish / duration / outcome
62
+ * for a single tool call without disturbing the return value. Callers
63
+ * can pass `cwdProvider` so multi-tenant tests can override the
64
+ * project root that determines where the log lands.
65
+ */
66
+ export declare function withVerificationLog<T>(toolName: string, cwd: string, input: unknown, fn: () => Promise<T>): Promise<T>;
67
+ /**
68
+ * Read every verification event for a run. Used by generate_dev_report.
69
+ */
70
+ export declare function readVerificationEvents(cwd: string, runId?: string): VerificationEvent[];
71
+ export declare const __testHelpers: {
72
+ resolveVerificationLogPath: typeof resolveVerificationLogPath;
73
+ summariseInput: typeof summariseInput;
74
+ summariseOutput: typeof summariseOutput;
75
+ };
76
+ export {};
77
+ //# sourceMappingURL=verification_log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification_log.d.ts","sourceRoot":"","sources":["../../src/evidence/verification_log.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,iBAAS,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAQvF;AAED;;;GAGG;AACH,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAmB3E;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ5D;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,IAAI,CAapG;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAiBD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAoBvF;AAGD,eAAO,MAAM,aAAa;;;;CAIzB,CAAC"}
@@ -0,0 +1,160 @@
1
+ import { appendFileSync, existsSync, mkdirSync, readdirSync, readFileSync, statSync } from "fs";
2
+ import { join } from "path";
3
+ import { getArtifactsBaseDir, getRunDir, listRuns } from "./artifacts.js";
4
+ /**
5
+ * Pick the freshest run directory in the project's artifacts/ tree.
6
+ * Falls back to a synthetic `pre-run/` bucket when no real run exists
7
+ * yet (e.g. the very first codeloop_verify in a fresh workspace logs
8
+ * its own bootstrap into `artifacts/pre-run/logs/`).
9
+ */
10
+ function resolveVerificationLogPath(cwd) {
11
+ const base = getArtifactsBaseDir(cwd);
12
+ const runs = listRuns(base);
13
+ if (runs.length > 0) {
14
+ const runDir = getRunDir(runs[0], base);
15
+ return { path: join(runDir, "logs", "verification_log.jsonl"), runId: runs[0] };
16
+ }
17
+ return { path: join(base, "pre-run", "logs", "verification_log.jsonl"), runId: null };
18
+ }
19
+ /**
20
+ * Summarise the params object so we don't write secrets / 50KB strings
21
+ * to disk. Truncates long string values, drops `api_key`-shaped fields.
22
+ */
23
+ function summariseInput(input) {
24
+ if (!input || typeof input !== "object")
25
+ return undefined;
26
+ const out = {};
27
+ for (const [k, v] of Object.entries(input)) {
28
+ if (/^(api_key|token|secret|password)$/i.test(k)) {
29
+ out[k] = "[redacted]";
30
+ continue;
31
+ }
32
+ if (typeof v === "string") {
33
+ out[k] = v.length > 200 ? v.substring(0, 200) + "…" : v;
34
+ }
35
+ else if (Array.isArray(v)) {
36
+ out[k] = `Array(${v.length})`;
37
+ }
38
+ else if (v && typeof v === "object") {
39
+ out[k] = "[object]";
40
+ }
41
+ else {
42
+ out[k] = v;
43
+ }
44
+ }
45
+ return out;
46
+ }
47
+ function summariseOutput(output) {
48
+ if (output == null)
49
+ return undefined;
50
+ try {
51
+ const s = typeof output === "string" ? output : JSON.stringify(output);
52
+ return s.length > 240 ? s.substring(0, 240) + "…" : s;
53
+ }
54
+ catch {
55
+ return "[unserialisable]";
56
+ }
57
+ }
58
+ export function appendVerificationEvent(cwd, evt) {
59
+ try {
60
+ const { path, runId } = resolveVerificationLogPath(cwd);
61
+ mkdirSync(join(path, ".."), { recursive: true });
62
+ const full = {
63
+ timestamp: new Date().toISOString(),
64
+ ...evt,
65
+ run_id: evt.run_id ?? runId ?? undefined,
66
+ };
67
+ appendFileSync(path, JSON.stringify(full) + "\n");
68
+ }
69
+ catch {
70
+ /* best-effort; never throw from logging */
71
+ }
72
+ }
73
+ /**
74
+ * Higher-order wrapper. Records start / finish / duration / outcome
75
+ * for a single tool call without disturbing the return value. Callers
76
+ * can pass `cwdProvider` so multi-tenant tests can override the
77
+ * project root that determines where the log lands.
78
+ */
79
+ export async function withVerificationLog(toolName, cwd, input, fn) {
80
+ const started = Date.now();
81
+ try {
82
+ const result = await fn();
83
+ appendVerificationEvent(cwd, {
84
+ tool: toolName,
85
+ input: summariseInput(input),
86
+ success: !looksLikeError(result),
87
+ duration_ms: Date.now() - started,
88
+ output_excerpt: summariseOutput(result),
89
+ });
90
+ return result;
91
+ }
92
+ catch (e) {
93
+ appendVerificationEvent(cwd, {
94
+ tool: toolName,
95
+ input: summariseInput(input),
96
+ success: false,
97
+ duration_ms: Date.now() - started,
98
+ error: e instanceof Error ? e.message : String(e),
99
+ });
100
+ throw e;
101
+ }
102
+ }
103
+ /**
104
+ * MCP tools return JSON-serialised objects; some explicitly include
105
+ * `{ error: true }` or a top-level `error` string to signal failure
106
+ * (e.g. the auth bouncer in withAuth). Treat those as failures so the
107
+ * log distinguishes "tool returned cleanly" from "tool returned with
108
+ * an error envelope".
109
+ */
110
+ function looksLikeError(result) {
111
+ if (!result || typeof result !== "object")
112
+ return false;
113
+ const r = result;
114
+ if (r.error === true)
115
+ return true;
116
+ if (typeof r.error === "string" && r.error.length > 0)
117
+ return true;
118
+ return false;
119
+ }
120
+ /**
121
+ * Read every verification event for a run. Used by generate_dev_report.
122
+ */
123
+ export function readVerificationEvents(cwd, runId) {
124
+ const base = getArtifactsBaseDir(cwd);
125
+ const events = [];
126
+ const dirs = runId ? [join(base, runId, "logs")] : [
127
+ ...listRuns(base).map((r) => join(base, r, "logs")),
128
+ join(base, "pre-run", "logs"),
129
+ ];
130
+ for (const dir of dirs) {
131
+ const file = join(dir, "verification_log.jsonl");
132
+ if (!existsSync(file))
133
+ continue;
134
+ try {
135
+ const raw = readFileSync(file, "utf-8");
136
+ for (const line of raw.split("\n")) {
137
+ const trimmed = line.trim();
138
+ if (!trimmed)
139
+ continue;
140
+ try {
141
+ events.push(JSON.parse(trimmed));
142
+ }
143
+ catch { /* skip malformed */ }
144
+ }
145
+ }
146
+ catch { /* skip */ }
147
+ }
148
+ return events;
149
+ }
150
+ // Re-exported for tests that want to walk the artifact tree directly.
151
+ export const __testHelpers = {
152
+ resolveVerificationLogPath,
153
+ summariseInput,
154
+ summariseOutput,
155
+ };
156
+ // Unused symbol kept so the module's compiled output includes utilities
157
+ // that the dev-report generator can later require without an import.
158
+ void readdirSync;
159
+ void statSync;
160
+ //# sourceMappingURL=verification_log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification_log.js","sourceRoot":"","sources":["../../src/evidence/verification_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA8C1E;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACtE,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC;aAAM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACtC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,MAAe;IACtC,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,kBAAkB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,GAAyC;IAC5F,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACxD,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAsB;YAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG,GAAG;YACN,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK,IAAI,SAAS;SACzC,CAAC;QACF,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,GAAW,EACX,KAAc,EACd,EAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,uBAAuB,CAAC,GAAG,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;YAC5B,OAAO,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;YACjC,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uBAAuB,CAAC,GAAG,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;YAC5B,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;YACjC,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,KAAc;IAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACvB,IAAI,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,0BAA0B;IAC1B,cAAc;IACd,eAAe;CAChB,CAAC;AAEF,wEAAwE;AACxE,qEAAqE;AACrE,KAAK,WAAW,CAAC;AACjB,KAAK,QAAQ,CAAC"}