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.
- package/dist/evidence/interaction_coverage.d.ts +47 -3
- package/dist/evidence/interaction_coverage.d.ts.map +1 -1
- package/dist/evidence/interaction_coverage.js +118 -9
- package/dist/evidence/interaction_coverage.js.map +1 -1
- package/dist/evidence/verification_log.d.ts +77 -0
- package/dist/evidence/verification_log.d.ts.map +1 -0
- package/dist/evidence/verification_log.js +160 -0
- package/dist/evidence/verification_log.js.map +1 -0
- package/dist/index.js +258 -38
- package/dist/index.js.map +1 -1
- package/dist/runners/base.d.ts.map +1 -1
- package/dist/runners/base.js +122 -6
- package/dist/runners/base.js.map +1 -1
- package/dist/runners/win_accessibility.d.ts +40 -0
- package/dist/runners/win_accessibility.d.ts.map +1 -1
- package/dist/runners/win_accessibility.js +198 -29
- package/dist/runners/win_accessibility.js.map +1 -1
- package/dist/runners/window_manager.d.ts +1 -0
- package/dist/runners/window_manager.d.ts.map +1 -1
- package/dist/runners/window_manager.js +33 -3
- package/dist/runners/window_manager.js.map +1 -1
- package/dist/tools/design_compare.d.ts.map +1 -1
- package/dist/tools/design_compare.js +116 -8
- package/dist/tools/design_compare.js.map +1 -1
- package/dist/tools/discover_interactions.d.ts +59 -0
- package/dist/tools/discover_interactions.d.ts.map +1 -0
- package/dist/tools/discover_interactions.js +392 -0
- package/dist/tools/discover_interactions.js.map +1 -0
- package/dist/tools/gate_check.d.ts.map +1 -1
- package/dist/tools/gate_check.js +62 -4
- package/dist/tools/gate_check.js.map +1 -1
- package/dist/tools/interaction_replay.d.ts.map +1 -1
- package/dist/tools/interaction_replay.js +75 -0
- package/dist/tools/interaction_replay.js.map +1 -1
- 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
|
-
|
|
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;
|
|
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 {
|
|
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 = {
|
|
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":"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"}
|