codeloop-mcp-server 0.1.0 → 0.1.1

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.
@@ -1,6 +1,5 @@
1
- import { reviewScreenshot } from "../diagnosis/vision_reviewer.js";
2
1
  import { diffAllScreenshots } from "../evidence/screenshot_diff.js";
3
- import { existsSync, readdirSync } from "fs";
2
+ import { existsSync, readdirSync, readFileSync } from "fs";
4
3
  import { join, resolve } from "path";
5
4
  import { getArtifactsBaseDir, getRunDir, listRuns } from "../evidence/artifacts.js";
6
5
  function listPngFiles(dir) {
@@ -9,6 +8,10 @@ function listPngFiles(dir) {
9
8
  }
10
9
  return readdirSync(dir).filter((f) => f.toLowerCase().endsWith(".png"));
11
10
  }
11
+ /**
12
+ * Runs deterministic visual checks (pixel diffing, baseline comparison) and
13
+ * returns screenshot paths for the AI agent to analyze via its own vision model.
14
+ */
12
15
  export async function runVisualReview(input, config) {
13
16
  const cwd = process.cwd();
14
17
  const base = getArtifactsBaseDir(cwd);
@@ -21,19 +24,22 @@ export async function runVisualReview(input, config) {
21
24
  const runId = input.run_id ?? listRuns(base)[0];
22
25
  if (!runId) {
23
26
  return {
24
- issues: [
25
- {
26
- issue: "No screenshots available",
27
- severity: "low",
28
- confidence: 100,
29
- evidence: "Provide screenshots_dir or run_id, or run codeloop_verify to produce screenshots.",
30
- fix_hint: "Set screenshots_dir to a folder of PNGs or pass run_id from a verification run.",
31
- },
32
- ],
33
- visual_diff_score: 1,
34
- layout_warnings: [],
35
- accessibility_notes: [],
36
- screenshots_taken: [],
27
+ output: {
28
+ issues: [
29
+ {
30
+ issue: "No screenshots available",
31
+ severity: "low",
32
+ confidence: 100,
33
+ evidence: "Provide screenshots_dir or run_id, or run codeloop_verify to produce screenshots.",
34
+ fix_hint: "Set screenshots_dir to a folder of PNGs or pass run_id from a verification run.",
35
+ },
36
+ ],
37
+ visual_diff_score: 1,
38
+ layout_warnings: [],
39
+ accessibility_notes: [],
40
+ screenshots_taken: [],
41
+ },
42
+ screenshotPaths: [],
37
43
  };
38
44
  }
39
45
  runDir = getRunDir(runId, base);
@@ -44,38 +50,44 @@ export async function runVisualReview(input, config) {
44
50
  }
45
51
  if (!screenshotsDir || !existsSync(screenshotsDir)) {
46
52
  return {
47
- issues: [
48
- {
49
- issue: "Screenshots directory not found",
50
- severity: "low",
51
- confidence: 100,
52
- evidence: screenshotsDir ?? "(unset)",
53
- fix_hint: "Verify screenshots_dir or run_id points to an existing run with a screenshots folder.",
54
- },
55
- ],
56
- visual_diff_score: 1,
57
- layout_warnings: [],
58
- accessibility_notes: [],
59
- screenshots_taken: [],
53
+ output: {
54
+ issues: [
55
+ {
56
+ issue: "Screenshots directory not found",
57
+ severity: "low",
58
+ confidence: 100,
59
+ evidence: screenshotsDir ?? "(unset)",
60
+ fix_hint: "Verify screenshots_dir or run_id points to an existing run with a screenshots folder.",
61
+ },
62
+ ],
63
+ visual_diff_score: 1,
64
+ layout_warnings: [],
65
+ accessibility_notes: [],
66
+ screenshots_taken: [],
67
+ },
68
+ screenshotPaths: [],
60
69
  };
61
70
  }
62
71
  const pngs = listPngFiles(screenshotsDir);
63
72
  const screenshotsTaken = pngs.map((f) => join(screenshotsDir, f));
64
73
  if (pngs.length === 0) {
65
74
  return {
66
- issues: [
67
- {
68
- issue: "No PNG screenshots found",
69
- severity: "low",
70
- confidence: 100,
71
- evidence: screenshotsDir,
72
- fix_hint: "Add PNG screenshots to this directory or run verification to capture UI.",
73
- },
74
- ],
75
- visual_diff_score: 1,
76
- layout_warnings: [],
77
- accessibility_notes: [],
78
- screenshots_taken: [],
75
+ output: {
76
+ issues: [
77
+ {
78
+ issue: "No PNG screenshots found",
79
+ severity: "low",
80
+ confidence: 100,
81
+ evidence: screenshotsDir,
82
+ fix_hint: "Add PNG screenshots to this directory or run verification to capture UI.",
83
+ },
84
+ ],
85
+ visual_diff_score: 1,
86
+ layout_warnings: [],
87
+ accessibility_notes: [],
88
+ screenshots_taken: [],
89
+ },
90
+ screenshotPaths: [],
79
91
  };
80
92
  }
81
93
  const issues = [];
@@ -110,33 +122,28 @@ export async function runVisualReview(input, config) {
110
122
  });
111
123
  }
112
124
  }
125
+ let uxChecklist;
113
126
  const uxPath = input.ux_checklist_path
114
127
  ? resolve(cwd, input.ux_checklist_path)
115
128
  : undefined;
116
- let skipExtraVision = false;
117
- for (const abs of screenshotsTaken) {
118
- if (skipExtraVision) {
119
- break;
129
+ if (uxPath && existsSync(uxPath)) {
130
+ try {
131
+ uxChecklist = readFileSync(uxPath, "utf-8");
120
132
  }
121
- const more = await reviewScreenshot({
122
- imagePath: abs,
123
- uxChecklistPath: uxPath,
124
- }, config);
125
- if (more.length === 1 &&
126
- more[0].issue === "No vision model configured") {
127
- issues.push(...more);
128
- skipExtraVision = true;
129
- continue;
133
+ catch {
134
+ uxChecklist = undefined;
130
135
  }
131
- issues.push(...more);
132
136
  }
133
- const accessibilityNotes = [];
134
137
  return {
135
- issues,
136
- visual_diff_score: visualDiffScore,
137
- layout_warnings: layoutWarnings,
138
- accessibility_notes: accessibilityNotes,
139
- screenshots_taken: screenshotsTaken,
138
+ output: {
139
+ issues,
140
+ visual_diff_score: visualDiffScore,
141
+ layout_warnings: layoutWarnings,
142
+ accessibility_notes: [],
143
+ screenshots_taken: screenshotsTaken,
144
+ },
145
+ screenshotPaths: screenshotsTaken,
146
+ uxChecklist,
140
147
  };
141
148
  }
142
149
  //# sourceMappingURL=visual_review.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visual_review.js","sourceRoot":"","sources":["../../src/tools/visual_review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visual_review.js","sourceRoot":"","sources":["../../src/tools/visual_review.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeloop-mcp-server",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "CodeLoop MCP server - verification, self-repair, and recommendation layer for AI coding agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -26,11 +26,8 @@
26
26
  "prepublishOnly": "npm run build"
27
27
  },
28
28
  "dependencies": {
29
- "@anthropic-ai/sdk": "^0.39.0",
30
- "@codelooptech/shared": "0.1.0",
31
- "@google/generative-ai": "^0.21.0",
29
+ "@codelooptech/shared": "^0.1.0",
32
30
  "@modelcontextprotocol/sdk": "^1.12.0",
33
- "openai": "^4.77.0",
34
31
  "pixelmatch": "^7.1.0",
35
32
  "pngjs": "^7.0.0",
36
33
  "zod": "^3.24.0"