@kevinrabun/judges 2.3.0 → 3.0.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.
Files changed (321) hide show
  1. package/README.md +177 -12
  2. package/dist/api.d.ts +40 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +56 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/ast/cross-file-taint.d.ts +43 -0
  7. package/dist/ast/cross-file-taint.d.ts.map +1 -0
  8. package/dist/ast/cross-file-taint.js +713 -0
  9. package/dist/ast/cross-file-taint.js.map +1 -0
  10. package/dist/ast/index.d.ts +4 -0
  11. package/dist/ast/index.d.ts.map +1 -1
  12. package/dist/ast/index.js +5 -0
  13. package/dist/ast/index.js.map +1 -1
  14. package/dist/ast/structural-parser.d.ts.map +1 -1
  15. package/dist/ast/structural-parser.js +66 -11
  16. package/dist/ast/structural-parser.js.map +1 -1
  17. package/dist/ast/taint-tracker.d.ts +35 -0
  18. package/dist/ast/taint-tracker.d.ts.map +1 -0
  19. package/dist/ast/taint-tracker.js +518 -0
  20. package/dist/ast/taint-tracker.js.map +1 -0
  21. package/dist/ast/types.d.ts +2 -0
  22. package/dist/ast/types.d.ts.map +1 -1
  23. package/dist/ast/typescript-ast.d.ts.map +1 -1
  24. package/dist/ast/typescript-ast.js +25 -5
  25. package/dist/ast/typescript-ast.js.map +1 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +10 -9
  28. package/dist/config.js.map +1 -1
  29. package/dist/dedup.d.ts +19 -0
  30. package/dist/dedup.d.ts.map +1 -0
  31. package/dist/dedup.js +222 -0
  32. package/dist/dedup.js.map +1 -0
  33. package/dist/errors.d.ts +37 -0
  34. package/dist/errors.d.ts.map +1 -0
  35. package/dist/errors.js +57 -0
  36. package/dist/errors.js.map +1 -0
  37. package/dist/evaluators/accessibility.d.ts +1 -1
  38. package/dist/evaluators/accessibility.d.ts.map +1 -1
  39. package/dist/evaluators/accessibility.js +22 -16
  40. package/dist/evaluators/accessibility.js.map +1 -1
  41. package/dist/evaluators/agent-instructions.d.ts +1 -1
  42. package/dist/evaluators/agent-instructions.d.ts.map +1 -1
  43. package/dist/evaluators/agent-instructions.js +1 -2
  44. package/dist/evaluators/agent-instructions.js.map +1 -1
  45. package/dist/evaluators/ai-code-safety.d.ts +1 -1
  46. package/dist/evaluators/ai-code-safety.d.ts.map +1 -1
  47. package/dist/evaluators/ai-code-safety.js +2 -6
  48. package/dist/evaluators/ai-code-safety.js.map +1 -1
  49. package/dist/evaluators/api-design.d.ts +1 -1
  50. package/dist/evaluators/api-design.d.ts.map +1 -1
  51. package/dist/evaluators/api-design.js +2 -1
  52. package/dist/evaluators/api-design.js.map +1 -1
  53. package/dist/evaluators/app-builder.d.ts +34 -0
  54. package/dist/evaluators/app-builder.d.ts.map +1 -0
  55. package/dist/evaluators/app-builder.js +156 -0
  56. package/dist/evaluators/app-builder.js.map +1 -0
  57. package/dist/evaluators/authentication.d.ts +1 -1
  58. package/dist/evaluators/authentication.d.ts.map +1 -1
  59. package/dist/evaluators/authentication.js +2 -66
  60. package/dist/evaluators/authentication.js.map +1 -1
  61. package/dist/evaluators/backwards-compatibility.d.ts +1 -1
  62. package/dist/evaluators/backwards-compatibility.d.ts.map +1 -1
  63. package/dist/evaluators/backwards-compatibility.js.map +1 -1
  64. package/dist/evaluators/caching.d.ts +1 -1
  65. package/dist/evaluators/caching.d.ts.map +1 -1
  66. package/dist/evaluators/caching.js.map +1 -1
  67. package/dist/evaluators/ci-cd.d.ts +1 -1
  68. package/dist/evaluators/ci-cd.d.ts.map +1 -1
  69. package/dist/evaluators/ci-cd.js +4 -4
  70. package/dist/evaluators/ci-cd.js.map +1 -1
  71. package/dist/evaluators/cloud-readiness.d.ts +1 -1
  72. package/dist/evaluators/cloud-readiness.d.ts.map +1 -1
  73. package/dist/evaluators/cloud-readiness.js.map +1 -1
  74. package/dist/evaluators/code-structure.d.ts +1 -1
  75. package/dist/evaluators/code-structure.d.ts.map +1 -1
  76. package/dist/evaluators/code-structure.js +2 -6
  77. package/dist/evaluators/code-structure.js.map +1 -1
  78. package/dist/evaluators/compliance.d.ts +1 -1
  79. package/dist/evaluators/compliance.d.ts.map +1 -1
  80. package/dist/evaluators/compliance.js +15 -6
  81. package/dist/evaluators/compliance.js.map +1 -1
  82. package/dist/evaluators/concurrency.d.ts +1 -1
  83. package/dist/evaluators/concurrency.d.ts.map +1 -1
  84. package/dist/evaluators/concurrency.js +9 -4
  85. package/dist/evaluators/concurrency.js.map +1 -1
  86. package/dist/evaluators/configuration-management.d.ts +1 -1
  87. package/dist/evaluators/configuration-management.d.ts.map +1 -1
  88. package/dist/evaluators/configuration-management.js +7 -2
  89. package/dist/evaluators/configuration-management.js.map +1 -1
  90. package/dist/evaluators/cost-effectiveness.d.ts +1 -1
  91. package/dist/evaluators/cost-effectiveness.d.ts.map +1 -1
  92. package/dist/evaluators/cost-effectiveness.js +1 -3
  93. package/dist/evaluators/cost-effectiveness.js.map +1 -1
  94. package/dist/evaluators/cybersecurity.d.ts +1 -1
  95. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  96. package/dist/evaluators/cybersecurity.js +50 -1
  97. package/dist/evaluators/cybersecurity.js.map +1 -1
  98. package/dist/evaluators/data-security.d.ts +1 -1
  99. package/dist/evaluators/data-security.d.ts.map +1 -1
  100. package/dist/evaluators/data-security.js +9 -66
  101. package/dist/evaluators/data-security.js.map +1 -1
  102. package/dist/evaluators/data-sovereignty.d.ts +1 -1
  103. package/dist/evaluators/data-sovereignty.d.ts.map +1 -1
  104. package/dist/evaluators/data-sovereignty.js +4 -2
  105. package/dist/evaluators/data-sovereignty.js.map +1 -1
  106. package/dist/evaluators/database.d.ts +1 -1
  107. package/dist/evaluators/database.d.ts.map +1 -1
  108. package/dist/evaluators/database.js +3 -1
  109. package/dist/evaluators/database.js.map +1 -1
  110. package/dist/evaluators/dependencies.d.ts +6 -0
  111. package/dist/evaluators/dependencies.d.ts.map +1 -0
  112. package/dist/evaluators/dependencies.js +204 -0
  113. package/dist/evaluators/dependencies.js.map +1 -0
  114. package/dist/evaluators/dependency-health.d.ts +1 -1
  115. package/dist/evaluators/dependency-health.d.ts.map +1 -1
  116. package/dist/evaluators/dependency-health.js +198 -6
  117. package/dist/evaluators/dependency-health.js.map +1 -1
  118. package/dist/evaluators/documentation.d.ts +1 -1
  119. package/dist/evaluators/documentation.d.ts.map +1 -1
  120. package/dist/evaluators/documentation.js +5 -2
  121. package/dist/evaluators/documentation.js.map +1 -1
  122. package/dist/evaluators/error-handling.d.ts +1 -1
  123. package/dist/evaluators/error-handling.d.ts.map +1 -1
  124. package/dist/evaluators/error-handling.js.map +1 -1
  125. package/dist/evaluators/ethics-bias.d.ts +1 -1
  126. package/dist/evaluators/ethics-bias.d.ts.map +1 -1
  127. package/dist/evaluators/ethics-bias.js +10 -5
  128. package/dist/evaluators/ethics-bias.js.map +1 -1
  129. package/dist/evaluators/framework-safety.d.ts +13 -0
  130. package/dist/evaluators/framework-safety.d.ts.map +1 -0
  131. package/dist/evaluators/framework-safety.js +424 -0
  132. package/dist/evaluators/framework-safety.js.map +1 -0
  133. package/dist/evaluators/index.d.ts +20 -24
  134. package/dist/evaluators/index.d.ts.map +1 -1
  135. package/dist/evaluators/index.js +294 -728
  136. package/dist/evaluators/index.js.map +1 -1
  137. package/dist/evaluators/internationalization.d.ts +1 -1
  138. package/dist/evaluators/internationalization.d.ts.map +1 -1
  139. package/dist/evaluators/internationalization.js +14 -6
  140. package/dist/evaluators/internationalization.js.map +1 -1
  141. package/dist/evaluators/logging-privacy.d.ts +1 -1
  142. package/dist/evaluators/logging-privacy.d.ts.map +1 -1
  143. package/dist/evaluators/logging-privacy.js +3 -1
  144. package/dist/evaluators/logging-privacy.js.map +1 -1
  145. package/dist/evaluators/maintainability.d.ts +1 -1
  146. package/dist/evaluators/maintainability.d.ts.map +1 -1
  147. package/dist/evaluators/maintainability.js +15 -9
  148. package/dist/evaluators/maintainability.js.map +1 -1
  149. package/dist/evaluators/observability.d.ts +1 -1
  150. package/dist/evaluators/observability.d.ts.map +1 -1
  151. package/dist/evaluators/observability.js +2 -1
  152. package/dist/evaluators/observability.js.map +1 -1
  153. package/dist/evaluators/performance.d.ts +1 -1
  154. package/dist/evaluators/performance.d.ts.map +1 -1
  155. package/dist/evaluators/performance.js +181 -4
  156. package/dist/evaluators/performance.js.map +1 -1
  157. package/dist/evaluators/portability.d.ts +1 -1
  158. package/dist/evaluators/portability.d.ts.map +1 -1
  159. package/dist/evaluators/portability.js +2 -1
  160. package/dist/evaluators/portability.js.map +1 -1
  161. package/dist/evaluators/project.d.ts +16 -0
  162. package/dist/evaluators/project.d.ts.map +1 -0
  163. package/dist/evaluators/project.js +353 -0
  164. package/dist/evaluators/project.js.map +1 -0
  165. package/dist/evaluators/rate-limiting.d.ts +1 -1
  166. package/dist/evaluators/rate-limiting.d.ts.map +1 -1
  167. package/dist/evaluators/rate-limiting.js.map +1 -1
  168. package/dist/evaluators/reliability.d.ts +1 -1
  169. package/dist/evaluators/reliability.d.ts.map +1 -1
  170. package/dist/evaluators/reliability.js.map +1 -1
  171. package/dist/evaluators/scalability.d.ts +1 -1
  172. package/dist/evaluators/scalability.d.ts.map +1 -1
  173. package/dist/evaluators/scalability.js +3 -1
  174. package/dist/evaluators/scalability.js.map +1 -1
  175. package/dist/evaluators/shared.d.ts +24 -2
  176. package/dist/evaluators/shared.d.ts.map +1 -1
  177. package/dist/evaluators/shared.js +190 -2
  178. package/dist/evaluators/shared.js.map +1 -1
  179. package/dist/evaluators/software-practices.d.ts +1 -1
  180. package/dist/evaluators/software-practices.d.ts.map +1 -1
  181. package/dist/evaluators/software-practices.js +3 -3
  182. package/dist/evaluators/software-practices.js.map +1 -1
  183. package/dist/evaluators/testing.d.ts +1 -1
  184. package/dist/evaluators/testing.d.ts.map +1 -1
  185. package/dist/evaluators/testing.js +12 -4
  186. package/dist/evaluators/testing.js.map +1 -1
  187. package/dist/evaluators/ux.d.ts +1 -1
  188. package/dist/evaluators/ux.d.ts.map +1 -1
  189. package/dist/evaluators/ux.js.map +1 -1
  190. package/dist/evaluators/v2.d.ts +1 -1
  191. package/dist/evaluators/v2.d.ts.map +1 -1
  192. package/dist/evaluators/v2.js +13 -35
  193. package/dist/evaluators/v2.js.map +1 -1
  194. package/dist/formatters/sarif.d.ts +75 -0
  195. package/dist/formatters/sarif.d.ts.map +1 -0
  196. package/dist/formatters/sarif.js +93 -0
  197. package/dist/formatters/sarif.js.map +1 -0
  198. package/dist/index.d.ts +4 -1
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +9 -806
  201. package/dist/index.js.map +1 -1
  202. package/dist/judges/accessibility.d.ts +1 -1
  203. package/dist/judges/accessibility.d.ts.map +1 -1
  204. package/dist/judges/agent-instructions.d.ts +1 -1
  205. package/dist/judges/agent-instructions.d.ts.map +1 -1
  206. package/dist/judges/ai-code-safety.d.ts +1 -1
  207. package/dist/judges/ai-code-safety.d.ts.map +1 -1
  208. package/dist/judges/api-design.d.ts +1 -1
  209. package/dist/judges/api-design.d.ts.map +1 -1
  210. package/dist/judges/authentication.d.ts +1 -1
  211. package/dist/judges/authentication.d.ts.map +1 -1
  212. package/dist/judges/backwards-compatibility.d.ts +1 -1
  213. package/dist/judges/backwards-compatibility.d.ts.map +1 -1
  214. package/dist/judges/caching.d.ts +1 -1
  215. package/dist/judges/caching.d.ts.map +1 -1
  216. package/dist/judges/ci-cd.d.ts +1 -1
  217. package/dist/judges/ci-cd.d.ts.map +1 -1
  218. package/dist/judges/cloud-readiness.d.ts +1 -1
  219. package/dist/judges/cloud-readiness.d.ts.map +1 -1
  220. package/dist/judges/code-structure.d.ts +1 -1
  221. package/dist/judges/code-structure.d.ts.map +1 -1
  222. package/dist/judges/code-structure.js +7 -1
  223. package/dist/judges/code-structure.js.map +1 -1
  224. package/dist/judges/compliance.d.ts +1 -1
  225. package/dist/judges/compliance.d.ts.map +1 -1
  226. package/dist/judges/concurrency.d.ts +1 -1
  227. package/dist/judges/concurrency.d.ts.map +1 -1
  228. package/dist/judges/configuration-management.d.ts +1 -1
  229. package/dist/judges/configuration-management.d.ts.map +1 -1
  230. package/dist/judges/cost-effectiveness.d.ts +1 -1
  231. package/dist/judges/cost-effectiveness.d.ts.map +1 -1
  232. package/dist/judges/cybersecurity.d.ts +1 -1
  233. package/dist/judges/cybersecurity.d.ts.map +1 -1
  234. package/dist/judges/data-security.d.ts +1 -1
  235. package/dist/judges/data-security.d.ts.map +1 -1
  236. package/dist/judges/data-sovereignty.d.ts +1 -1
  237. package/dist/judges/data-sovereignty.d.ts.map +1 -1
  238. package/dist/judges/database.d.ts +1 -1
  239. package/dist/judges/database.d.ts.map +1 -1
  240. package/dist/judges/dependency-health.d.ts +1 -1
  241. package/dist/judges/dependency-health.d.ts.map +1 -1
  242. package/dist/judges/documentation.d.ts +1 -1
  243. package/dist/judges/documentation.d.ts.map +1 -1
  244. package/dist/judges/error-handling.d.ts +1 -1
  245. package/dist/judges/error-handling.d.ts.map +1 -1
  246. package/dist/judges/ethics-bias.d.ts +1 -1
  247. package/dist/judges/ethics-bias.d.ts.map +1 -1
  248. package/dist/judges/framework-safety.d.ts +3 -0
  249. package/dist/judges/framework-safety.d.ts.map +1 -0
  250. package/dist/judges/framework-safety.js +31 -0
  251. package/dist/judges/framework-safety.js.map +1 -0
  252. package/dist/judges/index.d.ts +1 -1
  253. package/dist/judges/index.d.ts.map +1 -1
  254. package/dist/judges/index.js +74 -0
  255. package/dist/judges/index.js.map +1 -1
  256. package/dist/judges/internationalization.d.ts +1 -1
  257. package/dist/judges/internationalization.d.ts.map +1 -1
  258. package/dist/judges/logging-privacy.d.ts +1 -1
  259. package/dist/judges/logging-privacy.d.ts.map +1 -1
  260. package/dist/judges/maintainability.d.ts +1 -1
  261. package/dist/judges/maintainability.d.ts.map +1 -1
  262. package/dist/judges/observability.d.ts +1 -1
  263. package/dist/judges/observability.d.ts.map +1 -1
  264. package/dist/judges/performance.d.ts +1 -1
  265. package/dist/judges/performance.d.ts.map +1 -1
  266. package/dist/judges/portability.d.ts +1 -1
  267. package/dist/judges/portability.d.ts.map +1 -1
  268. package/dist/judges/rate-limiting.d.ts +1 -1
  269. package/dist/judges/rate-limiting.d.ts.map +1 -1
  270. package/dist/judges/reliability.d.ts +1 -1
  271. package/dist/judges/reliability.d.ts.map +1 -1
  272. package/dist/judges/scalability.d.ts +1 -1
  273. package/dist/judges/scalability.d.ts.map +1 -1
  274. package/dist/judges/software-practices.d.ts +1 -1
  275. package/dist/judges/software-practices.d.ts.map +1 -1
  276. package/dist/judges/testing.d.ts +1 -1
  277. package/dist/judges/testing.d.ts.map +1 -1
  278. package/dist/judges/ux.d.ts +1 -1
  279. package/dist/judges/ux.d.ts.map +1 -1
  280. package/dist/language-patterns.d.ts +37 -0
  281. package/dist/language-patterns.d.ts.map +1 -1
  282. package/dist/language-patterns.js +58 -3
  283. package/dist/language-patterns.js.map +1 -1
  284. package/dist/patches/index.d.ts +10 -0
  285. package/dist/patches/index.d.ts.map +1 -0
  286. package/dist/patches/index.js +533 -0
  287. package/dist/patches/index.js.map +1 -0
  288. package/dist/reports/public-repo-report.d.ts +1 -1
  289. package/dist/reports/public-repo-report.d.ts.map +1 -1
  290. package/dist/scoring.d.ts +18 -0
  291. package/dist/scoring.d.ts.map +1 -0
  292. package/dist/scoring.js +178 -0
  293. package/dist/scoring.js.map +1 -0
  294. package/dist/tools/deep-review.d.ts +4 -0
  295. package/dist/tools/deep-review.d.ts.map +1 -0
  296. package/dist/tools/deep-review.js +56 -0
  297. package/dist/tools/deep-review.js.map +1 -0
  298. package/dist/tools/prompts.d.ts +8 -0
  299. package/dist/tools/prompts.d.ts.map +1 -0
  300. package/dist/tools/prompts.js +66 -0
  301. package/dist/tools/prompts.js.map +1 -0
  302. package/dist/tools/register-evaluation.d.ts +7 -0
  303. package/dist/tools/register-evaluation.d.ts.map +1 -0
  304. package/dist/tools/register-evaluation.js +303 -0
  305. package/dist/tools/register-evaluation.js.map +1 -0
  306. package/dist/tools/register-workflow.d.ts +7 -0
  307. package/dist/tools/register-workflow.d.ts.map +1 -0
  308. package/dist/tools/register-workflow.js +395 -0
  309. package/dist/tools/register-workflow.js.map +1 -0
  310. package/dist/tools/register.d.ts +7 -0
  311. package/dist/tools/register.d.ts.map +1 -0
  312. package/dist/tools/register.js +14 -0
  313. package/dist/tools/register.js.map +1 -0
  314. package/dist/tools/schemas.d.ts +26 -0
  315. package/dist/tools/schemas.d.ts.map +1 -0
  316. package/dist/tools/schemas.js +42 -0
  317. package/dist/tools/schemas.js.map +1 -0
  318. package/dist/types.d.ts +29 -2
  319. package/dist/types.d.ts.map +1 -1
  320. package/package.json +42 -3
  321. package/server.json +51 -3
@@ -0,0 +1,303 @@
1
+ // ─── Evaluation Tool Handlers ────────────────────────────────────────────────
2
+ // MCP tool handlers for single-file and V2 evaluation, plus judge listing.
3
+ // ──────────────────────────────────────────────────────────────────────────────
4
+ import { z } from "zod";
5
+ import { JUDGES, getJudge, getJudgeSummaries } from "../judges/index.js";
6
+ import { evaluateWithJudge, evaluateWithTribunal, formatVerdictAsMarkdown, formatEvaluationAsMarkdown, } from "../evaluators/index.js";
7
+ import { evaluateCodeV2, evaluateProjectV2, getSupportedPolicyProfiles } from "../evaluators/v2.js";
8
+ import { configSchema, toJudgesConfig } from "./schemas.js";
9
+ import { buildSingleJudgeDeepReviewSection, buildTribunalDeepReviewSection } from "./deep-review.js";
10
+ /**
11
+ * Register evaluation-focused tools: get_judges, evaluate_code,
12
+ * evaluate_code_single_judge, and evaluate_v2.
13
+ */
14
+ export function registerEvaluationTools(server) {
15
+ registerGetJudges(server);
16
+ registerEvaluateCode(server);
17
+ registerEvaluateSingleJudge(server);
18
+ registerEvaluateV2(server);
19
+ }
20
+ // ─── get_judges ──────────────────────────────────────────────────────────────
21
+ function registerGetJudges(server) {
22
+ server.tool("get_judges", "List all available judges on the Agent Tribunal panel, including their areas of expertise and what they evaluate.", {}, async () => {
23
+ const judges = getJudgeSummaries();
24
+ const text = judges
25
+ .map((j) => `**${j.name}** (id: \`${j.id}\`)\n Domain: ${j.domain}\n ${j.description}`)
26
+ .join("\n\n");
27
+ return {
28
+ content: [
29
+ {
30
+ type: "text",
31
+ text: `# Judges Panel\n\n${text}`,
32
+ },
33
+ ],
34
+ };
35
+ });
36
+ }
37
+ // ─── evaluate_code ───────────────────────────────────────────────────────────
38
+ function registerEvaluateCode(server) {
39
+ server.tool("evaluate_code", `Submit code to the full Judges Panel for evaluation. All ${JUDGES.length} judges will independently review the code using both automated pattern detection and deep contextual analysis criteria. Returns a combined verdict with scores, findings, and expert review guidance for thorough evaluation.`, {
40
+ code: z.string().describe("The source code to evaluate. Include the full file content for best results."),
41
+ language: z
42
+ .string()
43
+ .describe("The programming language of the code (e.g., 'typescript', 'python', 'javascript', 'csharp', 'java')."),
44
+ context: z
45
+ .string()
46
+ .optional()
47
+ .describe("Optional additional context about the code — e.g., what the code does, which framework it uses, or the deployment target."),
48
+ includeAstFindings: z.boolean().optional().describe("Include AST/code-structure findings (default: true)"),
49
+ minConfidence: z
50
+ .number()
51
+ .min(0)
52
+ .max(1)
53
+ .optional()
54
+ .describe("Minimum finding confidence to include (0-1, default: 0)"),
55
+ config: configSchema,
56
+ }, async ({ code, language, context, includeAstFindings, minConfidence, config }) => {
57
+ try {
58
+ const verdict = evaluateWithTribunal(code, language, context, {
59
+ includeAstFindings,
60
+ minConfidence,
61
+ config: toJudgesConfig(config),
62
+ });
63
+ const patternResults = formatVerdictAsMarkdown(verdict);
64
+ const deepReview = buildTribunalDeepReviewSection(JUDGES, language, context);
65
+ return {
66
+ content: [
67
+ {
68
+ type: "text",
69
+ text: patternResults + deepReview,
70
+ },
71
+ ],
72
+ };
73
+ }
74
+ catch (error) {
75
+ return {
76
+ content: [
77
+ {
78
+ type: "text",
79
+ text: error instanceof Error ? `Error: ${error.message}` : "Error: Failed to evaluate code",
80
+ },
81
+ ],
82
+ isError: true,
83
+ };
84
+ }
85
+ });
86
+ }
87
+ // ─── evaluate_code_single_judge ──────────────────────────────────────────────
88
+ function registerEvaluateSingleJudge(server) {
89
+ const judgeIds = JUDGES.map((j) => j.id);
90
+ server.tool("evaluate_code_single_judge", `Submit code to a specific judge on the Judges Panel. Use get_judges to see available judges. Available judge IDs: ${judgeIds.join(", ")}`, {
91
+ code: z.string().describe("The source code to evaluate. Include the full file content for best results."),
92
+ language: z
93
+ .string()
94
+ .describe("The programming language of the code (e.g., 'typescript', 'python', 'javascript', 'csharp', 'java')."),
95
+ judgeId: z.string().describe(`The ID of the judge to use. One of: ${judgeIds.join(", ")}`),
96
+ context: z
97
+ .string()
98
+ .optional()
99
+ .describe("Optional additional context about the code — e.g., what the code does, which framework it uses, or the deployment target."),
100
+ minConfidence: z
101
+ .number()
102
+ .min(0)
103
+ .max(1)
104
+ .optional()
105
+ .describe("Minimum finding confidence to include (0-1, default: 0)"),
106
+ config: configSchema,
107
+ }, async ({ code, language, judgeId, context, minConfidence, config }) => {
108
+ try {
109
+ const judge = getJudge(judgeId);
110
+ if (!judge) {
111
+ return {
112
+ content: [
113
+ {
114
+ type: "text",
115
+ text: `Error: Unknown judge ID "${judgeId}". Available judges: ${judgeIds.join(", ")}`,
116
+ },
117
+ ],
118
+ isError: true,
119
+ };
120
+ }
121
+ const evaluation = evaluateWithJudge(judge, code, language, context, {
122
+ minConfidence,
123
+ config: toJudgesConfig(config),
124
+ });
125
+ const patternResults = formatEvaluationAsMarkdown(evaluation);
126
+ const deepReview = buildSingleJudgeDeepReviewSection(judge, language, context);
127
+ return {
128
+ content: [
129
+ {
130
+ type: "text",
131
+ text: patternResults + deepReview,
132
+ },
133
+ ],
134
+ };
135
+ }
136
+ catch (error) {
137
+ return {
138
+ content: [
139
+ {
140
+ type: "text",
141
+ text: error instanceof Error ? `Error: ${error.message}` : "Error: Failed to evaluate code with single judge",
142
+ },
143
+ ],
144
+ isError: true,
145
+ };
146
+ }
147
+ });
148
+ }
149
+ // ─── evaluate_v2 ─────────────────────────────────────────────────────────────
150
+ function registerEvaluateV2(server) {
151
+ server.tool("evaluate_v2", "Run V2 context-aware tribunal evaluation with policy profiles, evidence calibration, specialty feedback, confidence scoring, and uncertainty reporting.", {
152
+ code: z.string().optional().describe("Source code for single-file mode"),
153
+ language: z.string().optional().describe("Language for single-file mode"),
154
+ files: z
155
+ .array(z.object({
156
+ path: z.string().describe("Relative file path"),
157
+ content: z.string().describe("File content"),
158
+ language: z.string().describe("Programming language"),
159
+ }))
160
+ .optional()
161
+ .describe("Project files for multi-file mode"),
162
+ context: z.string().optional().describe("Optional high-level context"),
163
+ includeAstFindings: z.boolean().optional().describe("Include AST/code-structure findings (default: true)"),
164
+ minConfidence: z
165
+ .number()
166
+ .min(0)
167
+ .max(1)
168
+ .optional()
169
+ .describe("Minimum finding confidence to include (0-1, default: 0)"),
170
+ policyProfile: z
171
+ .enum(["default", "startup", "regulated", "healthcare", "fintech", "public-sector"])
172
+ .optional()
173
+ .describe("Policy profile for domain-specific severity calibration"),
174
+ evaluationContext: z
175
+ .object({
176
+ architectureNotes: z.string().optional(),
177
+ constraints: z.array(z.string()).optional(),
178
+ standards: z.array(z.string()).optional(),
179
+ knownRisks: z.array(z.string()).optional(),
180
+ dataBoundaryModel: z.string().optional(),
181
+ })
182
+ .optional()
183
+ .describe("Structured context to improve semantic relevance"),
184
+ evidence: z
185
+ .object({
186
+ testSummary: z.string().optional(),
187
+ coveragePercent: z.number().optional(),
188
+ p95LatencyMs: z.number().optional(),
189
+ errorRatePercent: z.number().optional(),
190
+ dependencyVulnerabilityCount: z.number().optional(),
191
+ deploymentNotes: z.string().optional(),
192
+ })
193
+ .optional()
194
+ .describe("Runtime/operational evidence used for confidence calibration"),
195
+ }, async ({ code, language, files, context, includeAstFindings, minConfidence, policyProfile, evaluationContext, evidence, }) => {
196
+ try {
197
+ if (!code && (!files || files.length === 0)) {
198
+ return {
199
+ content: [
200
+ {
201
+ type: "text",
202
+ text: "Error: provide either code+language for single-file mode, or files[] for project mode.",
203
+ },
204
+ ],
205
+ isError: true,
206
+ };
207
+ }
208
+ if (code && !language) {
209
+ return {
210
+ content: [{ type: "text", text: "Error: language is required when code is provided." }],
211
+ isError: true,
212
+ };
213
+ }
214
+ if (code && files && files.length > 0) {
215
+ return {
216
+ content: [{ type: "text", text: "Error: provide either code+language OR files[], not both." }],
217
+ isError: true,
218
+ };
219
+ }
220
+ const supportedProfiles = getSupportedPolicyProfiles();
221
+ const result = files && files.length > 0
222
+ ? evaluateProjectV2({
223
+ files,
224
+ context,
225
+ includeAstFindings,
226
+ minConfidence,
227
+ policyProfile,
228
+ evaluationContext,
229
+ evidence,
230
+ })
231
+ : evaluateCodeV2({
232
+ code: code,
233
+ language: language,
234
+ context,
235
+ includeAstFindings,
236
+ minConfidence,
237
+ policyProfile,
238
+ evaluationContext,
239
+ evidence,
240
+ });
241
+ let md = `# V2 Tribunal Evaluation\n\n`;
242
+ md += `**Policy Profile:** ${result.policyProfile}\n`;
243
+ md += `**Calibrated Verdict:** ${result.calibratedVerdict.toUpperCase()} (${result.calibratedScore}/100)\n`;
244
+ md += `**Base Verdict:** ${result.baseVerdict.overallVerdict.toUpperCase()} (${result.baseVerdict.overallScore}/100)\n`;
245
+ md += `**Confidence:** ${Math.round(result.confidence * 100)}%\n`;
246
+ md += `**Findings:** ${result.findings.length}\n\n`;
247
+ md += `${result.summary}\n\n`;
248
+ md += `## Specialty Feedback\n\n`;
249
+ for (const block of result.specialtyFeedback.slice(0, 10)) {
250
+ md += `### ${block.judgeName} — ${block.domain}\n`;
251
+ md += `Confidence: ${Math.round(block.confidence * 100)}% | Findings: ${block.findings.length}\n\n`;
252
+ for (const finding of block.findings.slice(0, 3)) {
253
+ md += `- [${finding.severity.toUpperCase()}] ${finding.ruleId} ${finding.title} (confidence ${Math.round(finding.confidence * 100)}%)\n`;
254
+ }
255
+ md += `\n`;
256
+ }
257
+ md += `## Uncertainty Report\n\n`;
258
+ md += `**Assumptions**\n`;
259
+ if (result.uncertainty.assumptions.length === 0) {
260
+ md += `- None\n`;
261
+ }
262
+ else {
263
+ for (const item of result.uncertainty.assumptions) {
264
+ md += `- ${item}\n`;
265
+ }
266
+ }
267
+ md += `\n**Missing Evidence**\n`;
268
+ if (result.uncertainty.missingEvidence.length === 0) {
269
+ md += `- None\n`;
270
+ }
271
+ else {
272
+ for (const item of result.uncertainty.missingEvidence) {
273
+ md += `- ${item}\n`;
274
+ }
275
+ }
276
+ md += `\n**Escalation Recommendations**\n`;
277
+ if (result.uncertainty.escalationRecommendations.length === 0) {
278
+ md += `- None\n`;
279
+ }
280
+ else {
281
+ for (const item of result.uncertainty.escalationRecommendations) {
282
+ md += `- ${item}\n`;
283
+ }
284
+ }
285
+ md += `\n## Supported Policy Profiles\n\n`;
286
+ md += supportedProfiles.map((profile) => `- ${profile}`).join("\n");
287
+ md += "\n";
288
+ return { content: [{ type: "text", text: md }] };
289
+ }
290
+ catch (error) {
291
+ return {
292
+ content: [
293
+ {
294
+ type: "text",
295
+ text: error instanceof Error ? `Error: ${error.message}` : "Error: Failed to run V2 evaluation",
296
+ },
297
+ ],
298
+ isError: true,
299
+ };
300
+ }
301
+ });
302
+ }
303
+ //# sourceMappingURL=register-evaluation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-evaluation.js","sourceRoot":"","sources":["../../src/tools/register-evaluation.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,iFAAiF;AAGjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAErG;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAEhF,SAAS,iBAAiB,CAAC,MAAiB;IAC1C,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,mHAAmH,EACnH,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;aACxF,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,qBAAqB,IAAI,EAAE;iBAClC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,oBAAoB,CAAC,MAAiB;IAC7C,MAAM,CAAC,IAAI,CACT,eAAe,EACf,4DAA4D,MAAM,CAAC,MAAM,gOAAgO,EACzS;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;QACzG,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,sGAAsG,CACvG;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2HAA2H,CAC5H;QACH,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QAC1G,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,MAAM,EAAE,YAAY;KACrB,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC5D,kBAAkB;gBAClB,aAAa;gBACb,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,8BAA8B,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE7E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,cAAc,GAAG,UAAU;qBAClC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,gCAAgC;qBAC5F;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,2BAA2B,CAAC,MAAiB;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,qHAAqH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC1I;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;QACzG,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,sGAAsG,CACvG;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1F,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2HAA2H,CAC5H;QACH,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,MAAM,EAAE,YAAY;KACrB,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,4BAA4B,OAAO,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBACvF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACnE,aAAa;gBACb,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,iCAAiC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE/E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,cAAc,GAAG,UAAU;qBAClC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EACF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,kDAAkD;qBAC1G;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,kBAAkB,CAAC,MAAiB;IAC3C,MAAM,CAAC,IAAI,CACT,aAAa,EACb,yJAAyJ,EACzJ;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACzE,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SACtD,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,mCAAmC,CAAC;QAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACtE,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QAC1G,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,aAAa,EAAE,CAAC;aACb,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;aACnF,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,iBAAiB,EAAE,CAAC;aACjB,MAAM,CAAC;YACN,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACzC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC1C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACzC,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC;YACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACnC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACvC,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACnD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACvC,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;KAC5E,EACD,KAAK,EAAE,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,QAAQ,GACT,EAAE,EAAE;QACH,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,wFAAwF;yBAC/F;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oDAAoD,EAAE,CAAC;oBAChG,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2DAA2D,EAAE,CAAC;oBACvG,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,iBAAiB,GAAG,0BAA0B,EAAE,CAAC;YACvD,MAAM,MAAM,GACV,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBACvB,CAAC,CAAC,iBAAiB,CAAC;oBAChB,KAAK;oBACL,OAAO;oBACP,kBAAkB;oBAClB,aAAa;oBACb,aAAa;oBACb,iBAAiB;oBACjB,QAAQ;iBACT,CAAC;gBACJ,CAAC,CAAC,cAAc,CAAC;oBACb,IAAI,EAAE,IAAK;oBACX,QAAQ,EAAE,QAAS;oBACnB,OAAO;oBACP,kBAAkB;oBAClB,aAAa;oBACb,aAAa;oBACb,iBAAiB;oBACjB,QAAQ;iBACT,CAAC,CAAC;YAET,IAAI,EAAE,GAAG,8BAA8B,CAAC;YACxC,EAAE,IAAI,uBAAuB,MAAM,CAAC,aAAa,IAAI,CAAC;YACtD,EAAE,IAAI,2BAA2B,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,eAAe,SAAS,CAAC;YAC5G,EAAE,IAAI,qBAAqB,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,YAAY,SAAS,CAAC;YACxH,EAAE,IAAI,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;YAClE,EAAE,IAAI,iBAAiB,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC;YACpD,EAAE,IAAI,GAAG,MAAM,CAAC,OAAO,MAAM,CAAC;YAE9B,EAAE,IAAI,2BAA2B,CAAC;YAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC1D,EAAE,IAAI,OAAO,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC;gBACnD,EAAE,IAAI,eAAe,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,iBAAiB,KAAK,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC;gBACpG,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACjD,EAAE,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC3I,CAAC;gBACD,EAAE,IAAI,IAAI,CAAC;YACb,CAAC;YAED,EAAE,IAAI,2BAA2B,CAAC;YAClC,EAAE,IAAI,mBAAmB,CAAC;YAC1B,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,EAAE,IAAI,UAAU,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBAClD,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,EAAE,IAAI,0BAA0B,CAAC;YACjC,IAAI,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,EAAE,IAAI,UAAU,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;oBACtD,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,EAAE,IAAI,oCAAoC,CAAC;YAC3C,IAAI,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,EAAE,IAAI,UAAU,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC;oBAChE,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,EAAE,IAAI,oCAAoC,CAAC;YAC3C,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,EAAE,IAAI,IAAI,CAAC;YAEX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,oCAAoC;qBAChG;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Register workflow-focused tools: evaluate_public_repo_report, evaluate_project,
4
+ * evaluate_diff, evaluate_app_builder_flow, and analyze_dependencies.
5
+ */
6
+ export declare function registerWorkflowTools(server: McpServer): void;
7
+ //# sourceMappingURL=register-workflow.d.ts.map
@@ -0,0 +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"}