@kevinrabun/judges 3.20.14 → 3.22.0

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 (93) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/api.d.ts +42 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +49 -1
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/taint-tracker.d.ts +3 -1
  7. package/dist/ast/taint-tracker.d.ts.map +1 -1
  8. package/dist/ast/taint-tracker.js +523 -12
  9. package/dist/ast/taint-tracker.js.map +1 -1
  10. package/dist/cli.d.ts +13 -0
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +124 -19
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/benchmark.d.ts +28 -0
  15. package/dist/commands/benchmark.d.ts.map +1 -1
  16. package/dist/commands/benchmark.js +1058 -1
  17. package/dist/commands/benchmark.js.map +1 -1
  18. package/dist/config.d.ts +17 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +88 -0
  21. package/dist/config.js.map +1 -1
  22. package/dist/dedup.d.ts +23 -0
  23. package/dist/dedup.d.ts.map +1 -1
  24. package/dist/dedup.js +123 -0
  25. package/dist/dedup.js.map +1 -1
  26. package/dist/evaluators/authentication.d.ts +2 -2
  27. package/dist/evaluators/authentication.d.ts.map +1 -1
  28. package/dist/evaluators/authentication.js +26 -2
  29. package/dist/evaluators/authentication.js.map +1 -1
  30. package/dist/evaluators/cybersecurity.d.ts +2 -2
  31. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  32. package/dist/evaluators/cybersecurity.js +58 -5
  33. package/dist/evaluators/cybersecurity.js.map +1 -1
  34. package/dist/evaluators/framework-safety.d.ts.map +1 -1
  35. package/dist/evaluators/framework-safety.js +855 -365
  36. package/dist/evaluators/framework-safety.js.map +1 -1
  37. package/dist/evaluators/index.d.ts +1 -1
  38. package/dist/evaluators/index.d.ts.map +1 -1
  39. package/dist/evaluators/index.js +6 -2
  40. package/dist/evaluators/index.js.map +1 -1
  41. package/dist/evaluators/performance.d.ts +2 -2
  42. package/dist/evaluators/performance.d.ts.map +1 -1
  43. package/dist/evaluators/performance.js +33 -4
  44. package/dist/evaluators/performance.js.map +1 -1
  45. package/dist/evaluators/project.d.ts.map +1 -1
  46. package/dist/evaluators/project.js +223 -13
  47. package/dist/evaluators/project.js.map +1 -1
  48. package/dist/evaluators/shared.d.ts +31 -3
  49. package/dist/evaluators/shared.d.ts.map +1 -1
  50. package/dist/evaluators/shared.js +145 -11
  51. package/dist/evaluators/shared.js.map +1 -1
  52. package/dist/evaluators/v2.d.ts.map +1 -1
  53. package/dist/evaluators/v2.js +8 -0
  54. package/dist/evaluators/v2.js.map +1 -1
  55. package/dist/formatters/csv.d.ts +17 -0
  56. package/dist/formatters/csv.d.ts.map +1 -0
  57. package/dist/formatters/csv.js +54 -0
  58. package/dist/formatters/csv.js.map +1 -0
  59. package/dist/language-patterns.d.ts +136 -0
  60. package/dist/language-patterns.d.ts.map +1 -1
  61. package/dist/language-patterns.js +155 -1
  62. package/dist/language-patterns.js.map +1 -1
  63. package/dist/patches/index.d.ts.map +1 -1
  64. package/dist/patches/index.js +210 -0
  65. package/dist/patches/index.js.map +1 -1
  66. package/dist/presets.d.ts +14 -0
  67. package/dist/presets.d.ts.map +1 -1
  68. package/dist/presets.js +72 -0
  69. package/dist/presets.js.map +1 -1
  70. package/dist/scoring.d.ts.map +1 -1
  71. package/dist/scoring.js +43 -4
  72. package/dist/scoring.js.map +1 -1
  73. package/dist/tools/register-fix.d.ts +6 -0
  74. package/dist/tools/register-fix.d.ts.map +1 -0
  75. package/dist/tools/register-fix.js +153 -0
  76. package/dist/tools/register-fix.js.map +1 -0
  77. package/dist/tools/register-workflow.d.ts.map +1 -1
  78. package/dist/tools/register-workflow.js +79 -0
  79. package/dist/tools/register-workflow.js.map +1 -1
  80. package/dist/tools/register-workspace.d.ts +3 -0
  81. package/dist/tools/register-workspace.d.ts.map +1 -0
  82. package/dist/tools/register-workspace.js +215 -0
  83. package/dist/tools/register-workspace.js.map +1 -0
  84. package/dist/tools/register.d.ts +1 -1
  85. package/dist/tools/register.d.ts.map +1 -1
  86. package/dist/tools/register.js +5 -1
  87. package/dist/tools/register.js.map +1 -1
  88. package/dist/tools/schemas.d.ts +2 -2
  89. package/dist/types.d.ts +24 -2
  90. package/dist/types.d.ts.map +1 -1
  91. package/judgesrc.schema.json +17 -2
  92. package/package.json +1 -1
  93. package/server.json +30 -2
@@ -0,0 +1,153 @@
1
+ // ─── Fix Tool Handler ─────────────────────────────────────────────────────────
2
+ // MCP tool handler for auto-fixing code by evaluating it, collecting findings
3
+ // with patches, and applying the patches in a single round-trip.
4
+ // ──────────────────────────────────────────────────────────────────────────────
5
+ import { z } from "zod";
6
+ import { evaluateWithTribunal, evaluateWithJudge } from "../evaluators/index.js";
7
+ import { getJudge, JUDGES } from "../judges/index.js";
8
+ import { applyPatches } from "../commands/fix.js";
9
+ import { configSchema, toJudgesConfig } from "./schemas.js";
10
+ /**
11
+ * Register the fix_code tool for one-shot code evaluation + auto-fix.
12
+ */
13
+ export function registerFixTools(server) {
14
+ registerFixCode(server);
15
+ }
16
+ // ─── fix_code ────────────────────────────────────────────────────────────────
17
+ function registerFixCode(server) {
18
+ const judgeIds = JUDGES.map((j) => j.id);
19
+ server.tool("fix_code", "Evaluate code with the Judges Panel and automatically apply all available auto-fix patches. Returns the fixed code along with a summary of applied and remaining findings. Use this to fix security, performance, and quality issues in a single step.", {
20
+ code: z.string().describe("The source code to evaluate and fix. Include the full file content."),
21
+ language: z
22
+ .string()
23
+ .describe("The programming language of the code (e.g., 'typescript', 'python', 'javascript', 'csharp', 'java')."),
24
+ judgeId: z
25
+ .string()
26
+ .optional()
27
+ .describe(`Optional: restrict fixes to a single judge. One of: ${judgeIds.join(", ")}`),
28
+ context: z
29
+ .string()
30
+ .optional()
31
+ .describe("Optional additional context about the code — e.g., what the code does, which framework it uses."),
32
+ minConfidence: z
33
+ .number()
34
+ .min(0)
35
+ .max(1)
36
+ .optional()
37
+ .describe("Minimum finding confidence to include fixes for (0-1, default: 0.5)"),
38
+ config: configSchema,
39
+ }, async ({ code, language, judgeId, context, minConfidence, config }) => {
40
+ try {
41
+ const effectiveMinConfidence = minConfidence ?? 0.5;
42
+ // ── Evaluate ────────────────────────────────────────────────
43
+ let allFindings;
44
+ if (judgeId) {
45
+ const judge = getJudge(judgeId);
46
+ if (!judge) {
47
+ return {
48
+ content: [
49
+ {
50
+ type: "text",
51
+ text: `Error: Unknown judge ID "${judgeId}". Available judges: ${judgeIds.join(", ")}`,
52
+ },
53
+ ],
54
+ isError: true,
55
+ };
56
+ }
57
+ const evaluation = evaluateWithJudge(judge, code, language, context, {
58
+ minConfidence: effectiveMinConfidence,
59
+ config: toJudgesConfig(config),
60
+ });
61
+ allFindings = evaluation.findings;
62
+ }
63
+ else {
64
+ const verdict = evaluateWithTribunal(code, language, context, {
65
+ minConfidence: effectiveMinConfidence,
66
+ config: toJudgesConfig(config),
67
+ });
68
+ allFindings = verdict.evaluations.flatMap((e) => e.findings);
69
+ }
70
+ // ── Collect fixable findings ────────────────────────────────
71
+ const fixable = allFindings
72
+ .filter((f) => f.patch && (f.confidence ?? 1) >= effectiveMinConfidence)
73
+ .map((f) => ({
74
+ ruleId: f.ruleId,
75
+ title: f.title,
76
+ severity: f.severity,
77
+ patch: f.patch,
78
+ lineNumbers: f.lineNumbers,
79
+ }));
80
+ if (fixable.length === 0) {
81
+ const remaining = allFindings.filter((f) => !f.patch);
82
+ let text = `# Fix Results\n\n**No auto-fixable findings** detected.\n\n`;
83
+ if (remaining.length > 0) {
84
+ text += `### Remaining Findings (${remaining.length}, no auto-fix available)\n\n`;
85
+ for (const f of remaining.slice(0, 20)) {
86
+ const conf = f.confidence !== null && f.confidence !== undefined ? ` (${Math.round(f.confidence * 100)}%)` : "";
87
+ text += `- **${f.severity.toUpperCase()}** \`${f.ruleId}\`: ${f.title}${conf}\n`;
88
+ }
89
+ if (remaining.length > 20) {
90
+ text += `- … and ${remaining.length - 20} more\n`;
91
+ }
92
+ }
93
+ else {
94
+ text += "_No findings at all — code looks good!_\n";
95
+ }
96
+ text += `\n\`\`\`${language}\n${code}\n\`\`\`\n`;
97
+ return {
98
+ content: [{ type: "text", text }],
99
+ };
100
+ }
101
+ // ── Apply patches ───────────────────────────────────────────
102
+ const { result: fixedCode, applied, skipped } = applyPatches(code, fixable);
103
+ // ── Build summary ───────────────────────────────────────────
104
+ const remaining = allFindings.filter((f) => !f.patch || !fixable.some((p) => p.ruleId === f.ruleId && p.patch.startLine === f.patch.startLine));
105
+ let text = `# Fix Results\n\n`;
106
+ text += `| Metric | Count |\n|--------|-------|\n`;
107
+ text += `| Total findings | ${allFindings.length} |\n`;
108
+ text += `| Auto-fixable | ${fixable.length} |\n`;
109
+ text += `| Fixes applied | ${applied} |\n`;
110
+ text += `| Fixes skipped | ${skipped} |\n`;
111
+ text += `| Remaining | ${remaining.length} |\n\n`;
112
+ if (applied > 0) {
113
+ text += `### Applied Fixes\n\n`;
114
+ for (const p of fixable) {
115
+ text += `- **${p.severity.toUpperCase()}** \`${p.ruleId}\`: ${p.title}`;
116
+ text += ` — line ${p.patch.startLine}: \`${p.patch.oldText.slice(0, 60)}\` → \`${p.patch.newText.slice(0, 60)}\`\n`;
117
+ }
118
+ text += `\n`;
119
+ }
120
+ if (remaining.length > 0) {
121
+ text += `### Remaining Findings (manual fix needed)\n\n`;
122
+ for (const f of remaining.slice(0, 15)) {
123
+ const conf = f.confidence !== null && f.confidence !== undefined ? ` (${Math.round(f.confidence * 100)}%)` : "";
124
+ const line = f.lineNumbers?.[0] ? ` L${f.lineNumbers[0]}` : "";
125
+ text += `- **${f.severity.toUpperCase()}** \`${f.ruleId}\`:${line} ${f.title}${conf}\n`;
126
+ if (f.recommendation) {
127
+ text += ` > ${f.recommendation.slice(0, 120)}\n`;
128
+ }
129
+ }
130
+ if (remaining.length > 15) {
131
+ text += `- … and ${remaining.length - 15} more\n`;
132
+ }
133
+ text += `\n`;
134
+ }
135
+ text += `### Fixed Code\n\n\`\`\`${language}\n${fixedCode}\n\`\`\`\n`;
136
+ return {
137
+ content: [{ type: "text", text }],
138
+ };
139
+ }
140
+ catch (error) {
141
+ return {
142
+ content: [
143
+ {
144
+ type: "text",
145
+ text: error instanceof Error ? `Error: ${error.message}` : "Error: Failed to fix code",
146
+ },
147
+ ],
148
+ isError: true,
149
+ };
150
+ }
151
+ });
152
+ }
153
+ //# sourceMappingURL=register-fix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-fix.js","sourceRoot":"","sources":["../../src/tools/register-fix.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-workflow.d.ts","sourceRoot":"","sources":["../../src/tools/register-workflow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAM7D"}
1
+ {"version":3,"file":"register-workflow.d.ts","sourceRoot":"","sources":["../../src/tools/register-workflow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAQ7D"}
@@ -5,8 +5,10 @@
5
5
  import { z } from "zod";
6
6
  import { JUDGES } from "../judges/index.js";
7
7
  import { evaluateProject, evaluateDiff, analyzeDependencies, runAppBuilderWorkflow } from "../evaluators/index.js";
8
+ import { evaluateWithTribunal } from "../evaluators/index.js";
8
9
  import { generatePublicRepoReport } from "../reports/public-repo-report.js";
9
10
  import { configSchema, toJudgesConfig } from "./schemas.js";
11
+ import { benchmarkGate, formatBenchmarkReport } from "../commands/benchmark.js";
10
12
  /**
11
13
  * Register workflow-focused tools: evaluate_public_repo_report, evaluate_project,
12
14
  * evaluate_diff, evaluate_app_builder_flow, and analyze_dependencies.
@@ -17,6 +19,8 @@ export function registerWorkflowTools(server) {
17
19
  registerEvaluateProject(server);
18
20
  registerEvaluateDiff(server);
19
21
  registerAnalyzeDependencies(server);
22
+ registerBenchmarkGate(server);
23
+ registerEvaluateBatch(server);
20
24
  }
21
25
  // ─── evaluate_public_repo_report ─────────────────────────────────────────────
22
26
  function registerPublicRepoReport(server) {
@@ -392,4 +396,79 @@ function registerAnalyzeDependencies(server) {
392
396
  }
393
397
  });
394
398
  }
399
+ // ─── benchmark_gate ──────────────────────────────────────────────────────────
400
+ function registerBenchmarkGate(server) {
401
+ server.tool("benchmark_gate", "Run the benchmark suite and check results against quality thresholds. Returns pass/fail with metric details including F1, precision, recall, and detection rate. Use in CI pipelines to prevent quality regressions.", {
402
+ minF1: z.number().min(0).max(1).optional().describe("Minimum F1 score (0-1, default: 0.6)"),
403
+ minPrecision: z.number().min(0).max(1).optional().describe("Minimum precision (0-1, default: 0.5)"),
404
+ minRecall: z.number().min(0).max(1).optional().describe("Minimum recall (0-1, default: 0.5)"),
405
+ minDetectionRate: z.number().min(0).max(1).optional().describe("Minimum detection rate (0-1, default: 0.5)"),
406
+ }, async (params) => {
407
+ const gate = benchmarkGate({
408
+ minF1: params.minF1,
409
+ minPrecision: params.minPrecision,
410
+ minRecall: params.minRecall,
411
+ minDetectionRate: params.minDetectionRate,
412
+ });
413
+ const report = formatBenchmarkReport(gate.result);
414
+ const status = gate.passed ? "✅ PASSED" : "❌ FAILED";
415
+ const failureSection = gate.failures.length > 0 ? `\n\n**Failures:**\n${gate.failures.map((f) => `- ${f}`).join("\n")}` : "";
416
+ return {
417
+ content: [
418
+ {
419
+ type: "text",
420
+ text: `# Benchmark Gate: ${status}${failureSection}\n\n${report}`,
421
+ },
422
+ ],
423
+ };
424
+ });
425
+ }
426
+ // ─── evaluate_batch ──────────────────────────────────────────────────────────
427
+ function registerEvaluateBatch(server) {
428
+ server.tool("evaluate_batch", "Evaluate multiple code files in a single call. Returns per-file verdicts with scores and findings, plus aggregate statistics.", {
429
+ files: z
430
+ .array(z.object({
431
+ path: z.string().describe("File path or name"),
432
+ code: z.string().describe("Source code content"),
433
+ language: z.string().describe("Programming language"),
434
+ }))
435
+ .describe("Array of files to evaluate"),
436
+ config: configSchema.optional(),
437
+ }, async (params) => {
438
+ const config = params.config ? toJudgesConfig(params.config) : undefined;
439
+ const results = [];
440
+ const allFindings = [];
441
+ for (const file of params.files) {
442
+ const verdict = evaluateWithTribunal(file.code, file.language, undefined, config ? { config } : undefined);
443
+ const criticals = verdict.findings.filter((f) => f.severity === "critical").length;
444
+ results.push({
445
+ path: file.path,
446
+ score: verdict.overallScore,
447
+ findingCount: verdict.findings.length,
448
+ criticalCount: criticals,
449
+ });
450
+ if (verdict.findings.length > 0) {
451
+ allFindings.push(`### ${file.path} (${verdict.overallScore}/100, ${verdict.findings.length} findings)\n` +
452
+ verdict.findings
453
+ .slice(0, 10)
454
+ .map((f) => `- **[${f.severity.toUpperCase()}]** \`${f.ruleId}\`: ${f.title}`)
455
+ .join("\n") +
456
+ (verdict.findings.length > 10 ? `\n- ... and ${verdict.findings.length - 10} more` : ""));
457
+ }
458
+ }
459
+ const totalFindings = results.reduce((s, r) => s + r.findingCount, 0);
460
+ const avgScore = Math.round(results.reduce((s, r) => s + r.score, 0) / results.length);
461
+ const totalCriticals = results.reduce((s, r) => s + r.criticalCount, 0);
462
+ const summary = `# Batch Evaluation Results\n\n` +
463
+ `**Files:** ${results.length} | **Avg Score:** ${avgScore}/100 | ` +
464
+ `**Total Findings:** ${totalFindings} | **Critical:** ${totalCriticals}\n\n` +
465
+ `| File | Score | Findings | Critical |\n|------|-------|----------|----------|\n` +
466
+ results.map((r) => `| ${r.path} | ${r.score} | ${r.findingCount} | ${r.criticalCount} |`).join("\n") +
467
+ "\n\n" +
468
+ allFindings.join("\n\n");
469
+ return {
470
+ content: [{ type: "text", text: summary }],
471
+ };
472
+ });
473
+ }
395
474
  //# sourceMappingURL=register-workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-workflow.js","sourceRoot":"","sources":["../../src/tools/register-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-workflow.js","sourceRoot":"","sources":["../../src/tools/register-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerWorkspaceTools(server: McpServer): void;
3
+ //# sourceMappingURL=register-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-workspace.d.ts","sourceRoot":"","sources":["../../src/tools/register-workspace.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsFzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4K9D"}
@@ -0,0 +1,215 @@
1
+ // ─── MCP Workspace & Streaming Tools ─────────────────────────────────────────
2
+ // Provides file-browsing MCP tools (list_files, read_file) so that AI agents
3
+ // can explore the workspace being evaluated, plus a streaming progress helper
4
+ // for long-running evaluations.
5
+ // ──────────────────────────────────────────────────────────────────────────────
6
+ import { z } from "zod";
7
+ import { readdirSync, readFileSync, statSync, existsSync } from "fs";
8
+ import { join, resolve } from "path";
9
+ // ─── Constants ───────────────────────────────────────────────────────────────
10
+ /** Maximum directory depth for recursive listing to prevent runaway traversal. */
11
+ const MAX_LIST_DEPTH = 6;
12
+ /** Maximum number of entries returned by list_files to cap response size. */
13
+ const MAX_LIST_ENTRIES = 500;
14
+ /** Maximum file size (bytes) that read_file will serve (1 MB). */
15
+ const MAX_READ_SIZE = 1_048_576;
16
+ /** Directories to always skip when listing. */
17
+ const SKIP_DIRS = new Set([
18
+ "node_modules",
19
+ ".git",
20
+ "__pycache__",
21
+ ".venv",
22
+ "venv",
23
+ ".tox",
24
+ ".mypy_cache",
25
+ ".pytest_cache",
26
+ "dist",
27
+ "build",
28
+ ".next",
29
+ ".nuxt",
30
+ "coverage",
31
+ ".angular",
32
+ "bin",
33
+ "obj",
34
+ "target",
35
+ ".gradle",
36
+ ".idea",
37
+ ]);
38
+ /**
39
+ * Recursively list files under `root` up to `maxDepth`, respecting SKIP_DIRS.
40
+ */
41
+ function listDirectory(root, basePath, maxDepth, entries) {
42
+ if (maxDepth < 0 || entries.length >= MAX_LIST_ENTRIES)
43
+ return;
44
+ let items;
45
+ try {
46
+ items = readdirSync(root);
47
+ }
48
+ catch {
49
+ return; // permission denied or symlink loop
50
+ }
51
+ for (const name of items) {
52
+ if (entries.length >= MAX_LIST_ENTRIES)
53
+ break;
54
+ if (name.startsWith(".") && name !== ".github")
55
+ continue;
56
+ const fullPath = join(root, name);
57
+ let stat;
58
+ try {
59
+ stat = statSync(fullPath);
60
+ }
61
+ catch {
62
+ continue;
63
+ }
64
+ const relPath = basePath ? `${basePath}/${name}` : name;
65
+ if (stat.isDirectory()) {
66
+ if (SKIP_DIRS.has(name))
67
+ continue;
68
+ entries.push({ path: relPath, type: "directory" });
69
+ listDirectory(fullPath, relPath, maxDepth - 1, entries);
70
+ }
71
+ else {
72
+ entries.push({ path: relPath, type: "file", size: stat.size });
73
+ }
74
+ }
75
+ }
76
+ // ─── Tool Registration ──────────────────────────────────────────────────────
77
+ export function registerWorkspaceTools(server) {
78
+ // ── list_files ─────────────────────────────────────────────────────────────
79
+ server.tool("list_files", "List files and directories in the workspace. Useful for exploring project structure before evaluating code.", {
80
+ path: z.string().optional().describe("Relative directory path to list (default: workspace root)"),
81
+ depth: z
82
+ .number()
83
+ .int()
84
+ .min(0)
85
+ .max(MAX_LIST_DEPTH)
86
+ .optional()
87
+ .describe(`Max recursion depth (default: 2, max: ${MAX_LIST_DEPTH})`),
88
+ }, async ({ path: dirPath = ".", depth = 2 }) => {
89
+ // Resolve relative to CWD (which MCP server sets to workspace root)
90
+ const resolved = resolve(process.cwd(), dirPath);
91
+ if (!existsSync(resolved)) {
92
+ return {
93
+ content: [{ type: "text", text: `Error: path "${dirPath}" does not exist.` }],
94
+ isError: true,
95
+ };
96
+ }
97
+ const entries = [];
98
+ listDirectory(resolved, "", depth, entries);
99
+ const summary = `Listed ${entries.length} entries (max depth ${depth})` +
100
+ (entries.length >= MAX_LIST_ENTRIES ? ` — truncated at ${MAX_LIST_ENTRIES}` : "");
101
+ return {
102
+ content: [{ type: "text", text: JSON.stringify({ summary, entries }, null, 2) }],
103
+ };
104
+ });
105
+ // ── read_file ──────────────────────────────────────────────────────────────
106
+ server.tool("read_file", "Read the contents of a file in the workspace. Returns the file text, or an error if the file is too large or missing.", {
107
+ path: z.string().describe("Relative file path to read"),
108
+ startLine: z.number().int().min(1).optional().describe("First line to read (1-based, default: 1)"),
109
+ endLine: z.number().int().min(1).optional().describe("Last line to read (1-based, default: end of file)"),
110
+ }, async ({ path: filePath, startLine, endLine }) => {
111
+ const resolved = resolve(process.cwd(), filePath);
112
+ if (!existsSync(resolved)) {
113
+ return {
114
+ content: [{ type: "text", text: `Error: file "${filePath}" does not exist.` }],
115
+ isError: true,
116
+ };
117
+ }
118
+ let stat;
119
+ try {
120
+ stat = statSync(resolved);
121
+ }
122
+ catch {
123
+ return {
124
+ content: [{ type: "text", text: `Error: cannot stat "${filePath}".` }],
125
+ isError: true,
126
+ };
127
+ }
128
+ if (stat.isDirectory()) {
129
+ return {
130
+ content: [{ type: "text", text: `Error: "${filePath}" is a directory. Use list_files instead.` }],
131
+ isError: true,
132
+ };
133
+ }
134
+ if (stat.size > MAX_READ_SIZE) {
135
+ return {
136
+ content: [
137
+ {
138
+ type: "text",
139
+ text: `Error: file is ${stat.size} bytes — exceeds ${MAX_READ_SIZE} byte limit. Use startLine/endLine to read a portion.`,
140
+ },
141
+ ],
142
+ isError: true,
143
+ };
144
+ }
145
+ let content;
146
+ try {
147
+ content = readFileSync(resolved, "utf-8");
148
+ }
149
+ catch (err) {
150
+ return {
151
+ content: [{ type: "text", text: `Error reading file: ${String(err)}` }],
152
+ isError: true,
153
+ };
154
+ }
155
+ // Apply line range if specified
156
+ if (startLine || endLine) {
157
+ const lines = content.split("\n");
158
+ const start = (startLine ?? 1) - 1;
159
+ const end = endLine ?? lines.length;
160
+ content = lines.slice(start, end).join("\n");
161
+ const totalLines = lines.length;
162
+ return {
163
+ content: [
164
+ {
165
+ type: "text",
166
+ text: `File: ${filePath} (lines ${start + 1}–${Math.min(end, totalLines)} of ${totalLines})\n\n${content}`,
167
+ },
168
+ ],
169
+ };
170
+ }
171
+ return {
172
+ content: [{ type: "text", text: content }],
173
+ };
174
+ });
175
+ // ── evaluate_with_progress ─────────────────────────────────────────────────
176
+ // This tool provides a streaming-style progress experience by evaluating
177
+ // judges sequentially and reporting counts as findings are discovered.
178
+ server.tool("evaluate_with_progress", "Evaluate code with progressive judge-by-judge reporting. Returns intermediate counts as each judge completes, useful for large files where full tribunal takes time.", {
179
+ code: z.string().describe("Source code to evaluate"),
180
+ language: z.string().describe("Programming language (e.g. typescript, python, go)"),
181
+ }, async ({ code, language }) => {
182
+ // Lazy import to avoid circular dependencies
183
+ const { evaluateWithJudge } = await import("../evaluators/index.js");
184
+ const { JUDGES } = await import("../judges/index.js");
185
+ const { crossEvaluatorDedup } = await import("../dedup.js");
186
+ const allFindings = [];
187
+ const progressLines = [];
188
+ for (const judge of JUDGES) {
189
+ const evaluation = evaluateWithJudge(judge, code, language);
190
+ allFindings.push({ judgeId: judge.id, findings: evaluation.findings });
191
+ if (evaluation.findings.length > 0) {
192
+ progressLines.push(`[${allFindings.length}/${JUDGES.length}] ${judge.name}: ${evaluation.findings.length} findings (${evaluation.verdict})`);
193
+ }
194
+ }
195
+ // Dedup across all evaluations
196
+ const combined = allFindings.flatMap((e) => e.findings);
197
+ const deduped = crossEvaluatorDedup(combined);
198
+ const summary = [
199
+ `## Progressive Evaluation Complete`,
200
+ ``,
201
+ `**Judges run:** ${JUDGES.length}`,
202
+ `**Raw findings:** ${combined.length}`,
203
+ `**After dedup:** ${deduped.length}`,
204
+ `**Critical:** ${deduped.filter((f) => f.severity === "critical").length}`,
205
+ `**High:** ${deduped.filter((f) => f.severity === "high").length}`,
206
+ ``,
207
+ `### Judge Progress:`,
208
+ ...progressLines,
209
+ ].join("\n");
210
+ return {
211
+ content: [{ type: "text", text: summary }],
212
+ };
213
+ });
214
+ }
215
+ //# sourceMappingURL=register-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-workspace.js","sourceRoot":"","sources":["../../src/tools/register-workspace.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  /**
3
3
  * Register all MCP tools on the given server instance.
4
- * Delegates to focused modules for evaluation and workflow tools.
4
+ * Delegates to focused modules for evaluation, workflow, fix, and workspace tools.
5
5
  */
6
6
  export declare function registerTools(server: McpServer): void;
7
7
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGrD"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAKrD"}
@@ -3,12 +3,16 @@
3
3
  // ──────────────────────────────────────────────────────────────────────────────
4
4
  import { registerEvaluationTools } from "./register-evaluation.js";
5
5
  import { registerWorkflowTools } from "./register-workflow.js";
6
+ import { registerFixTools } from "./register-fix.js";
7
+ import { registerWorkspaceTools } from "./register-workspace.js";
6
8
  /**
7
9
  * Register all MCP tools on the given server instance.
8
- * Delegates to focused modules for evaluation and workflow tools.
10
+ * Delegates to focused modules for evaluation, workflow, fix, and workspace tools.
9
11
  */
10
12
  export function registerTools(server) {
11
13
  registerEvaluationTools(server);
12
14
  registerWorkflowTools(server);
15
+ registerFixTools(server);
16
+ registerWorkspaceTools(server);
13
17
  }
14
18
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mEAAmE;AACnE,iFAAiF;AAGjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mEAAmE;AACnE,iFAAiF;AAGjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}