@kevinrabun/judges 3.13.10 → 3.14.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.
- package/CHANGELOG.md +12 -0
- package/dist/api.d.ts +2 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +2 -0
- package/dist/api.js.map +1 -1
- package/dist/llm-fp-filter.d.ts +74 -0
- package/dist/llm-fp-filter.d.ts.map +1 -0
- package/dist/llm-fp-filter.js +321 -0
- package/dist/llm-fp-filter.js.map +1 -0
- package/dist/tools/deep-review.d.ts +2 -2
- package/dist/tools/deep-review.d.ts.map +1 -1
- package/dist/tools/deep-review.js +12 -2
- package/dist/tools/deep-review.js.map +1 -1
- package/dist/tools/register-evaluation.d.ts.map +1 -1
- package/dist/tools/register-evaluation.js +27 -7
- package/dist/tools/register-evaluation.js.map +1 -1
- package/dist/tools/register-workflow.d.ts.map +1 -1
- package/dist/tools/register-workflow.js +9 -3
- package/dist/tools/register-workflow.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to **@kevinrabun/judges** are documented here.
|
|
4
4
|
|
|
5
|
+
## [3.14.0] — 2026-03-02
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **LLM-based false positive filter** — When an OpenAI-compatible LLM is available, findings from static analysis are automatically reviewed by the LLM to identify and remove false positives before returning results. The filter is a no-op when no API key is configured and gracefully degrades on any error (network, parsing, timeout).
|
|
9
|
+
- New module `src/llm-fp-filter.ts` with `filterFalsePositivesWithLlm()`, `applyLlmFpFilterToVerdict()`, `detectLlmConfig()`, `isLlmAvailable()`, and `formatFilterResultAsMarkdown()`.
|
|
10
|
+
- Integrated into **4 MCP tool handlers**: `evaluate_code`, `evaluate_code_single_judge`, `evaluate_v2` (single-file mode), and `evaluate_diff`.
|
|
11
|
+
- Supports any OpenAI-compatible chat completion API (OpenAI, Azure OpenAI, Ollama, LM Studio, vLLM).
|
|
12
|
+
- Environment variables: `JUDGES_LLM_API_KEY` (fallback `OPENAI_API_KEY`), `JUDGES_LLM_BASE_URL`, `JUDGES_LLM_MODEL`, `JUDGES_LLM_FP_FILTER`, `JUDGES_LLM_MAX_FINDINGS`, `JUDGES_LLM_TIMEOUT_MS`.
|
|
13
|
+
- Deep review sections now indicate when LLM pre-filtering has been applied (updated `buildSingleJudgeDeepReviewSection` and `buildTribunalDeepReviewSection` with `llmFiltered` parameter).
|
|
14
|
+
- All new functions exported from the public programmatic API (`src/api.ts`).
|
|
15
|
+
- **15 new tests** covering config detection, passthrough behavior, verdict-level integration, and Markdown formatting.
|
|
16
|
+
|
|
5
17
|
## [3.13.10] — 2026-03-02
|
|
6
18
|
|
|
7
19
|
### Fixed
|
package/dist/api.d.ts
CHANGED
|
@@ -38,6 +38,8 @@ export type { ToolProfile, ToolCapability, ComparisonResult } from "./comparison
|
|
|
38
38
|
export { getLanguagePack, listLanguagePacks, suggestPack, LANGUAGE_PACKS } from "./commands/language-packs.js";
|
|
39
39
|
export { formatSmartOutput, formatSmartSingleJudge } from "./commands/smart-output.js";
|
|
40
40
|
export type { SmartOutputOptions } from "./commands/smart-output.js";
|
|
41
|
+
export { detectLlmConfig, isLlmAvailable, filterFalsePositivesWithLlm, applyLlmFpFilterToVerdict, formatFilterResultAsMarkdown, } from "./llm-fp-filter.js";
|
|
42
|
+
export type { LlmFpFilterConfig, LlmFpFilterResult } from "./llm-fp-filter.js";
|
|
41
43
|
import type { EvaluationOptions } from "./evaluators/index.js";
|
|
42
44
|
import type { JudgeEvaluation, TribunalVerdict } from "./types.js";
|
|
43
45
|
/**
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
CHANGED
|
@@ -47,6 +47,8 @@ export { compareCapabilities, formatComparisonReport, formatFullComparisonMatrix
|
|
|
47
47
|
export { getLanguagePack, listLanguagePacks, suggestPack, LANGUAGE_PACKS } from "./commands/language-packs.js";
|
|
48
48
|
// ─── Smart Output ────────────────────────────────────────────────────────────
|
|
49
49
|
export { formatSmartOutput, formatSmartSingleJudge } from "./commands/smart-output.js";
|
|
50
|
+
// ─── LLM False-Positive Filter ──────────────────────────────────────────────
|
|
51
|
+
export { detectLlmConfig, isLlmAvailable, filterFalsePositivesWithLlm, applyLlmFpFilterToVerdict, formatFilterResultAsMarkdown, } from "./llm-fp-filter.js";
|
|
50
52
|
// ─── Convenience Aliases ─────────────────────────────────────────────────────
|
|
51
53
|
import { evaluateWithTribunal, evaluateWithJudge } from "./evaluators/index.js";
|
|
52
54
|
import { getJudge } from "./judges/index.js";
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Finding, TribunalVerdict } from "./types.js";
|
|
2
|
+
export interface LlmFpFilterConfig {
|
|
3
|
+
/** API key for the LLM provider */
|
|
4
|
+
apiKey: string;
|
|
5
|
+
/** Base URL for the chat completions API (default: https://api.openai.com/v1) */
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
/** Model identifier (default: gpt-4o-mini) */
|
|
8
|
+
model: string;
|
|
9
|
+
/** Maximum number of findings to send for review (default: 50) */
|
|
10
|
+
maxFindings: number;
|
|
11
|
+
/** Maximum source code length in characters to send (default: 15000) */
|
|
12
|
+
maxCodeLength: number;
|
|
13
|
+
/** HTTP request timeout in milliseconds (default: 30000) */
|
|
14
|
+
timeoutMs: number;
|
|
15
|
+
}
|
|
16
|
+
export interface LlmFpFilterResult {
|
|
17
|
+
/** Findings retained after FP removal */
|
|
18
|
+
filteredFindings: Finding[];
|
|
19
|
+
/** Findings removed as false positives, with LLM-provided reasons */
|
|
20
|
+
removedFindings: Array<Finding & {
|
|
21
|
+
fpReason: string;
|
|
22
|
+
}>;
|
|
23
|
+
/** Whether the LLM was actually called */
|
|
24
|
+
llmUsed: boolean;
|
|
25
|
+
/** Model used for filtering, if any */
|
|
26
|
+
model?: string;
|
|
27
|
+
/** Number of findings sent for review */
|
|
28
|
+
reviewedCount: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Detect LLM configuration from environment variables.
|
|
32
|
+
* Returns null if no API key is available or the filter is disabled.
|
|
33
|
+
*/
|
|
34
|
+
export declare function detectLlmConfig(): LlmFpFilterConfig | null;
|
|
35
|
+
/**
|
|
36
|
+
* Quick check: is an LLM available for FP filtering?
|
|
37
|
+
*/
|
|
38
|
+
export declare function isLlmAvailable(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Filter false positives from findings using an LLM.
|
|
41
|
+
*
|
|
42
|
+
* If no LLM configuration is provided or detected, returns findings unchanged.
|
|
43
|
+
* On any error (network, parsing, timeout), gracefully degrades and returns
|
|
44
|
+
* all findings unmodified.
|
|
45
|
+
*
|
|
46
|
+
* @param findings - Static analysis findings to review
|
|
47
|
+
* @param code - The source code that was analyzed
|
|
48
|
+
* @param language - Programming language of the code
|
|
49
|
+
* @param config - Explicit LLM config, or null/undefined to auto-detect from env
|
|
50
|
+
*/
|
|
51
|
+
export declare function filterFalsePositivesWithLlm(findings: Finding[], code: string, language: string, config?: LlmFpFilterConfig | null): Promise<LlmFpFilterResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Apply LLM-based false positive filtering to a complete TribunalVerdict.
|
|
54
|
+
*
|
|
55
|
+
* Filters both the top-level findings and the per-judge evaluation findings,
|
|
56
|
+
* then recalculates scores and verdicts for consistency.
|
|
57
|
+
*
|
|
58
|
+
* If no LLM is available or no FPs are found, returns the verdict unchanged.
|
|
59
|
+
*
|
|
60
|
+
* @param verdict - The tribunal verdict from static analysis
|
|
61
|
+
* @param code - The source code that was analyzed
|
|
62
|
+
* @param language - Programming language
|
|
63
|
+
* @param config - Explicit LLM config, or undefined to auto-detect
|
|
64
|
+
*/
|
|
65
|
+
export declare function applyLlmFpFilterToVerdict(verdict: TribunalVerdict, code: string, language: string, config?: LlmFpFilterConfig | null): Promise<{
|
|
66
|
+
verdict: TribunalVerdict;
|
|
67
|
+
filterResult: LlmFpFilterResult;
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Format an LLM filter result section for appending to tool output.
|
|
71
|
+
* Used by MCP tool handlers to add filter information to the response.
|
|
72
|
+
*/
|
|
73
|
+
export declare function formatFilterResultAsMarkdown(result: LlmFpFilterResult): string;
|
|
74
|
+
//# sourceMappingURL=llm-fp-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-fp-filter.d.ts","sourceRoot":"","sources":["../src/llm-fp-filter.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAA4B,MAAM,YAAY,CAAC;AAKrF,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,qEAAqE;IACrE,eAAe,EAAE,KAAK,CAAC,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,GAAG,IAAI,CAgB1D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AA2JD;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA6D5B;AAID;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAChC,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAgDxE;AAiCD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAE9E"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
// ─── LLM-Based False Positive Filter ─────────────────────────────────────────
|
|
2
|
+
// Post-processes static analysis findings through an LLM to identify and
|
|
3
|
+
// remove false positives. Gated on LLM availability — when no API key is
|
|
4
|
+
// configured the filter is a no-op and all findings pass through unchanged.
|
|
5
|
+
//
|
|
6
|
+
// Supports any OpenAI-compatible chat completion API (OpenAI, Azure OpenAI,
|
|
7
|
+
// Ollama, LM Studio, vLLM, etc.)
|
|
8
|
+
//
|
|
9
|
+
// Environment variables:
|
|
10
|
+
// JUDGES_LLM_API_KEY — API key (falls back to OPENAI_API_KEY)
|
|
11
|
+
// JUDGES_LLM_BASE_URL — API base URL (default: https://api.openai.com/v1)
|
|
12
|
+
// JUDGES_LLM_MODEL — Model name (default: gpt-4o-mini)
|
|
13
|
+
// JUDGES_LLM_FP_FILTER — Set to "false" or "0" to disable even when key exists
|
|
14
|
+
// JUDGES_LLM_MAX_FINDINGS — Max findings to send for review (default: 50)
|
|
15
|
+
// JUDGES_LLM_TIMEOUT_MS — Request timeout in ms (default: 30000)
|
|
16
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
17
|
+
import { calculateScore, deriveVerdict } from "./evaluators/shared.js";
|
|
18
|
+
// ─── LLM Availability Detection ─────────────────────────────────────────────
|
|
19
|
+
/**
|
|
20
|
+
* Detect LLM configuration from environment variables.
|
|
21
|
+
* Returns null if no API key is available or the filter is disabled.
|
|
22
|
+
*/
|
|
23
|
+
export function detectLlmConfig() {
|
|
24
|
+
const apiKey = process.env.JUDGES_LLM_API_KEY || process.env.OPENAI_API_KEY;
|
|
25
|
+
if (!apiKey)
|
|
26
|
+
return null;
|
|
27
|
+
// Allow explicit disable via env var
|
|
28
|
+
const filterFlag = process.env.JUDGES_LLM_FP_FILTER;
|
|
29
|
+
if (filterFlag === "false" || filterFlag === "0")
|
|
30
|
+
return null;
|
|
31
|
+
return {
|
|
32
|
+
apiKey,
|
|
33
|
+
baseUrl: process.env.JUDGES_LLM_BASE_URL || "https://api.openai.com/v1",
|
|
34
|
+
model: process.env.JUDGES_LLM_MODEL || "gpt-4o-mini",
|
|
35
|
+
maxFindings: safeParseInt(process.env.JUDGES_LLM_MAX_FINDINGS, 50),
|
|
36
|
+
maxCodeLength: safeParseInt(process.env.JUDGES_LLM_MAX_CODE_LENGTH, 15000),
|
|
37
|
+
timeoutMs: safeParseInt(process.env.JUDGES_LLM_TIMEOUT_MS, 30000),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Quick check: is an LLM available for FP filtering?
|
|
42
|
+
*/
|
|
43
|
+
export function isLlmAvailable() {
|
|
44
|
+
return detectLlmConfig() !== null;
|
|
45
|
+
}
|
|
46
|
+
function safeParseInt(value, fallback) {
|
|
47
|
+
if (!value)
|
|
48
|
+
return fallback;
|
|
49
|
+
const parsed = parseInt(value, 10);
|
|
50
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
51
|
+
}
|
|
52
|
+
function buildFpReviewPrompt(findings, code, language) {
|
|
53
|
+
const summaries = findings.map((f, i) => ({
|
|
54
|
+
index: i,
|
|
55
|
+
ruleId: f.ruleId,
|
|
56
|
+
severity: f.severity,
|
|
57
|
+
title: f.title,
|
|
58
|
+
description: f.description,
|
|
59
|
+
lineNumbers: f.lineNumbers,
|
|
60
|
+
confidence: f.confidence,
|
|
61
|
+
}));
|
|
62
|
+
return `You are a code review expert specializing in false positive detection for static analysis tools.
|
|
63
|
+
|
|
64
|
+
Below is source code and a list of static analysis findings. Review each finding against the actual code and identify FALSE POSITIVES — findings that are incorrect, misleading, or do not represent real issues.
|
|
65
|
+
|
|
66
|
+
A finding is a FALSE POSITIVE if:
|
|
67
|
+
- The flagged pattern appears only in a string literal, comment, or documentation
|
|
68
|
+
- The code has adequate mitigation or handling nearby that the static analyzer missed
|
|
69
|
+
- The finding is based on a keyword match that doesn't apply in this context (e.g., "age" in cache TTL context flagged as age discrimination)
|
|
70
|
+
- The code is in a test file and the pattern is intentionally used for testing
|
|
71
|
+
- The variable/function name matches a keyword but has no actual security/quality implications
|
|
72
|
+
- The finding flags something that is standard practice for the framework being used
|
|
73
|
+
- The flagged code is dead code, unreachable, or in an exception handler that appropriately handles the concern
|
|
74
|
+
|
|
75
|
+
A finding is NOT a false positive if:
|
|
76
|
+
- There is a genuine security, quality, or compliance concern
|
|
77
|
+
- The code could be improved even if not currently exploitable
|
|
78
|
+
- The finding identifies a real missing best practice
|
|
79
|
+
|
|
80
|
+
SOURCE CODE (${language}):
|
|
81
|
+
\`\`\`${language}
|
|
82
|
+
${code}
|
|
83
|
+
\`\`\`
|
|
84
|
+
|
|
85
|
+
FINDINGS TO REVIEW:
|
|
86
|
+
${JSON.stringify(summaries, null, 2)}
|
|
87
|
+
|
|
88
|
+
Respond with ONLY a JSON object in this exact format:
|
|
89
|
+
{
|
|
90
|
+
"false_positives": [
|
|
91
|
+
{
|
|
92
|
+
"index": 0,
|
|
93
|
+
"reason": "Brief explanation of why this is a false positive"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
Rules:
|
|
99
|
+
- Only include findings you are CONFIDENT are false positives
|
|
100
|
+
- When in doubt, do NOT mark a finding as a false positive (err on the side of caution)
|
|
101
|
+
- The "index" field must match the 0-based index in the FINDINGS array above
|
|
102
|
+
- Keep reasons concise (1-2 sentences)
|
|
103
|
+
- If no findings are false positives, return {"false_positives": []}`;
|
|
104
|
+
}
|
|
105
|
+
// ─── LLM API Call ────────────────────────────────────────────────────────────
|
|
106
|
+
async function callLlm(config, prompt) {
|
|
107
|
+
const url = `${config.baseUrl.replace(/\/+$/, "")}/chat/completions`;
|
|
108
|
+
const controller = new AbortController();
|
|
109
|
+
const timeout = setTimeout(() => controller.abort(), config.timeoutMs);
|
|
110
|
+
try {
|
|
111
|
+
const response = await fetch(url, {
|
|
112
|
+
method: "POST",
|
|
113
|
+
headers: {
|
|
114
|
+
"Content-Type": "application/json",
|
|
115
|
+
Authorization: `Bearer ${config.apiKey}`,
|
|
116
|
+
},
|
|
117
|
+
body: JSON.stringify({
|
|
118
|
+
model: config.model,
|
|
119
|
+
messages: [
|
|
120
|
+
{
|
|
121
|
+
role: "system",
|
|
122
|
+
content: "You are a precise code review expert. Respond only with valid JSON.",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
role: "user",
|
|
126
|
+
content: prompt,
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
temperature: 0,
|
|
130
|
+
max_tokens: 2000,
|
|
131
|
+
}),
|
|
132
|
+
signal: controller.signal,
|
|
133
|
+
});
|
|
134
|
+
if (!response.ok) {
|
|
135
|
+
const errorText = await response.text().catch(() => "unknown error");
|
|
136
|
+
throw new Error(`LLM API returned ${response.status}: ${errorText}`);
|
|
137
|
+
}
|
|
138
|
+
const data = (await response.json());
|
|
139
|
+
return data.choices?.[0]?.message?.content ?? "";
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
clearTimeout(timeout);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function parseFpResponse(responseText) {
|
|
146
|
+
const fpMap = new Map();
|
|
147
|
+
try {
|
|
148
|
+
// Extract JSON from markdown code blocks if the LLM wrapped it
|
|
149
|
+
const jsonMatch = responseText.match(/```(?:json)?\s*([\s\S]*?)```/);
|
|
150
|
+
const jsonText = jsonMatch ? jsonMatch[1].trim() : responseText.trim();
|
|
151
|
+
const parsed = JSON.parse(jsonText);
|
|
152
|
+
if (Array.isArray(parsed.false_positives)) {
|
|
153
|
+
for (const fp of parsed.false_positives) {
|
|
154
|
+
if (typeof fp.index === "number" && typeof fp.reason === "string") {
|
|
155
|
+
fpMap.set(fp.index, fp.reason);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
// If parsing fails, return empty map — no findings are removed
|
|
162
|
+
}
|
|
163
|
+
return fpMap;
|
|
164
|
+
}
|
|
165
|
+
// ─── Core Filter Function ────────────────────────────────────────────────────
|
|
166
|
+
/**
|
|
167
|
+
* Filter false positives from findings using an LLM.
|
|
168
|
+
*
|
|
169
|
+
* If no LLM configuration is provided or detected, returns findings unchanged.
|
|
170
|
+
* On any error (network, parsing, timeout), gracefully degrades and returns
|
|
171
|
+
* all findings unmodified.
|
|
172
|
+
*
|
|
173
|
+
* @param findings - Static analysis findings to review
|
|
174
|
+
* @param code - The source code that was analyzed
|
|
175
|
+
* @param language - Programming language of the code
|
|
176
|
+
* @param config - Explicit LLM config, or null/undefined to auto-detect from env
|
|
177
|
+
*/
|
|
178
|
+
export async function filterFalsePositivesWithLlm(findings, code, language, config) {
|
|
179
|
+
const resolvedConfig = config === undefined ? detectLlmConfig() : config;
|
|
180
|
+
// No LLM available or no findings to review
|
|
181
|
+
if (!resolvedConfig || findings.length === 0) {
|
|
182
|
+
return {
|
|
183
|
+
filteredFindings: findings,
|
|
184
|
+
removedFindings: [],
|
|
185
|
+
llmUsed: false,
|
|
186
|
+
reviewedCount: 0,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
// Truncate code if too long
|
|
190
|
+
const truncatedCode = code.length > resolvedConfig.maxCodeLength
|
|
191
|
+
? code.slice(0, resolvedConfig.maxCodeLength) + "\n// ... [truncated for review] ..."
|
|
192
|
+
: code;
|
|
193
|
+
// Limit findings count for cost/latency control
|
|
194
|
+
const findingsToReview = findings.slice(0, resolvedConfig.maxFindings);
|
|
195
|
+
const findingsPassthrough = findings.slice(resolvedConfig.maxFindings);
|
|
196
|
+
try {
|
|
197
|
+
const prompt = buildFpReviewPrompt(findingsToReview, truncatedCode, language);
|
|
198
|
+
const responseText = await callLlm(resolvedConfig, prompt);
|
|
199
|
+
const fpMap = parseFpResponse(responseText);
|
|
200
|
+
const removed = [];
|
|
201
|
+
const kept = [];
|
|
202
|
+
for (let i = 0; i < findingsToReview.length; i++) {
|
|
203
|
+
const reason = fpMap.get(i);
|
|
204
|
+
if (reason) {
|
|
205
|
+
removed.push({ ...findingsToReview[i], fpReason: reason });
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
kept.push(findingsToReview[i]);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Append any findings that exceeded the review limit (kept as-is)
|
|
212
|
+
kept.push(...findingsPassthrough);
|
|
213
|
+
return {
|
|
214
|
+
filteredFindings: kept,
|
|
215
|
+
removedFindings: removed,
|
|
216
|
+
llmUsed: true,
|
|
217
|
+
model: resolvedConfig.model,
|
|
218
|
+
reviewedCount: findingsToReview.length,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
// Graceful degradation — log and return all findings unchanged
|
|
223
|
+
console.error(`[judges] LLM FP filter error: ${error instanceof Error ? error.message : String(error)}`);
|
|
224
|
+
return {
|
|
225
|
+
filteredFindings: findings,
|
|
226
|
+
removedFindings: [],
|
|
227
|
+
llmUsed: false,
|
|
228
|
+
reviewedCount: 0,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// ─── Verdict-Level Integration ───────────────────────────────────────────────
|
|
233
|
+
/**
|
|
234
|
+
* Apply LLM-based false positive filtering to a complete TribunalVerdict.
|
|
235
|
+
*
|
|
236
|
+
* Filters both the top-level findings and the per-judge evaluation findings,
|
|
237
|
+
* then recalculates scores and verdicts for consistency.
|
|
238
|
+
*
|
|
239
|
+
* If no LLM is available or no FPs are found, returns the verdict unchanged.
|
|
240
|
+
*
|
|
241
|
+
* @param verdict - The tribunal verdict from static analysis
|
|
242
|
+
* @param code - The source code that was analyzed
|
|
243
|
+
* @param language - Programming language
|
|
244
|
+
* @param config - Explicit LLM config, or undefined to auto-detect
|
|
245
|
+
*/
|
|
246
|
+
export async function applyLlmFpFilterToVerdict(verdict, code, language, config) {
|
|
247
|
+
const result = await filterFalsePositivesWithLlm(verdict.findings, code, language, config);
|
|
248
|
+
if (!result.llmUsed || result.removedFindings.length === 0) {
|
|
249
|
+
return { verdict, filterResult: result };
|
|
250
|
+
}
|
|
251
|
+
// Build a set of removed finding identifiers for fast lookup
|
|
252
|
+
const removedKeys = new Set(result.removedFindings.map((f) => findingKey(f)));
|
|
253
|
+
// Update per-judge evaluations: remove filtered findings, recalculate scores
|
|
254
|
+
const updatedEvaluations = verdict.evaluations.map((evaluation) => {
|
|
255
|
+
const filtered = evaluation.findings.filter((f) => !removedKeys.has(findingKey(f)));
|
|
256
|
+
const score = calculateScore(filtered, code);
|
|
257
|
+
const evalVerdict = deriveVerdict(filtered, score);
|
|
258
|
+
return {
|
|
259
|
+
...evaluation,
|
|
260
|
+
findings: filtered,
|
|
261
|
+
score,
|
|
262
|
+
verdict: evalVerdict,
|
|
263
|
+
};
|
|
264
|
+
});
|
|
265
|
+
// Recalculate overall metrics
|
|
266
|
+
const criticalCount = result.filteredFindings.filter((f) => f.severity === "critical").length;
|
|
267
|
+
const highCount = result.filteredFindings.filter((f) => f.severity === "high").length;
|
|
268
|
+
const overallScore = Math.round(updatedEvaluations.reduce((sum, e) => sum + e.score, 0) / updatedEvaluations.length);
|
|
269
|
+
const overallVerdict = updatedEvaluations.some((e) => e.verdict === "fail")
|
|
270
|
+
? "fail"
|
|
271
|
+
: updatedEvaluations.some((e) => e.verdict === "warning")
|
|
272
|
+
? "warning"
|
|
273
|
+
: "pass";
|
|
274
|
+
// Build filter summary section
|
|
275
|
+
const filterSummary = buildFilterSummary(result);
|
|
276
|
+
const updatedVerdict = {
|
|
277
|
+
...verdict,
|
|
278
|
+
findings: result.filteredFindings,
|
|
279
|
+
evaluations: updatedEvaluations,
|
|
280
|
+
overallScore,
|
|
281
|
+
overallVerdict,
|
|
282
|
+
criticalCount,
|
|
283
|
+
highCount,
|
|
284
|
+
summary: verdict.summary + filterSummary,
|
|
285
|
+
};
|
|
286
|
+
return { verdict: updatedVerdict, filterResult: result };
|
|
287
|
+
}
|
|
288
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
289
|
+
/**
|
|
290
|
+
* Generate a stable key for a finding to enable set-based lookup.
|
|
291
|
+
*/
|
|
292
|
+
function findingKey(f) {
|
|
293
|
+
return `${f.ruleId}|${f.title}|${(f.lineNumbers ?? []).join(",")}`;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Build a Markdown section summarizing the LLM FP filter results.
|
|
297
|
+
*/
|
|
298
|
+
function buildFilterSummary(result) {
|
|
299
|
+
if (!result.llmUsed || result.removedFindings.length === 0)
|
|
300
|
+
return "";
|
|
301
|
+
let md = `\n\n## LLM False Positive Filter\n\n`;
|
|
302
|
+
md += `- **Model:** ${result.model}\n`;
|
|
303
|
+
md += `- **Findings Reviewed:** ${result.reviewedCount}\n`;
|
|
304
|
+
md += `- **False Positives Removed:** ${result.removedFindings.length}\n\n`;
|
|
305
|
+
if (result.removedFindings.length > 0) {
|
|
306
|
+
md += `### Dismissed Findings\n\n`;
|
|
307
|
+
for (const f of result.removedFindings) {
|
|
308
|
+
md += `- **[${f.ruleId}] ${f.title}**: ${f.fpReason}\n`;
|
|
309
|
+
}
|
|
310
|
+
md += "\n";
|
|
311
|
+
}
|
|
312
|
+
return md;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Format an LLM filter result section for appending to tool output.
|
|
316
|
+
* Used by MCP tool handlers to add filter information to the response.
|
|
317
|
+
*/
|
|
318
|
+
export function formatFilterResultAsMarkdown(result) {
|
|
319
|
+
return buildFilterSummary(result);
|
|
320
|
+
}
|
|
321
|
+
//# sourceMappingURL=llm-fp-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-fp-filter.js","sourceRoot":"","sources":["../src/llm-fp-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { JudgeDefinition } from "../types.js";
|
|
2
|
-
export declare function buildSingleJudgeDeepReviewSection(judge: JudgeDefinition, language: string, context?: string): string;
|
|
3
|
-
export declare function buildTribunalDeepReviewSection(judges: JudgeDefinition[], language: string, context?: string): string;
|
|
2
|
+
export declare function buildSingleJudgeDeepReviewSection(judge: JudgeDefinition, language: string, context?: string, llmFiltered?: boolean): string;
|
|
3
|
+
export declare function buildTribunalDeepReviewSection(judges: JudgeDefinition[], language: string, context?: string, llmFiltered?: boolean): string;
|
|
4
4
|
//# sourceMappingURL=deep-review.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-review.d.ts","sourceRoot":"","sources":["../../src/tools/deep-review.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,iCAAiC,
|
|
1
|
+
{"version":3,"file":"deep-review.d.ts","sourceRoot":"","sources":["../../src/tools/deep-review.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM,CA0CR;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,eAAe,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM,CA+CR"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// uses these criteria to perform deep contextual analysis beyond static
|
|
5
5
|
// pattern matching.
|
|
6
6
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
7
|
-
export function buildSingleJudgeDeepReviewSection(judge, language, context) {
|
|
7
|
+
export function buildSingleJudgeDeepReviewSection(judge, language, context, llmFiltered) {
|
|
8
8
|
let md = `\n\n---\n\n`;
|
|
9
9
|
md += `## 🔍 Deep Contextual Review Required\n\n`;
|
|
10
10
|
md += `> **The pattern-based findings above are a starting point only.** `;
|
|
@@ -18,6 +18,11 @@ export function buildSingleJudgeDeepReviewSection(judge, language, context) {
|
|
|
18
18
|
md += `### ${judge.name} — ${judge.domain}\n\n`;
|
|
19
19
|
md += `${judge.systemPrompt}\n\n`;
|
|
20
20
|
md += `### False Positive Review\n\n`;
|
|
21
|
+
if (llmFiltered) {
|
|
22
|
+
md += `> **Note:** An LLM-based false positive filter has already been applied to the findings above. `;
|
|
23
|
+
md += `Some static analysis false positives have been automatically removed. `;
|
|
24
|
+
md += `You should still review the remaining findings for any additional false positives the filter may have missed.\n\n`;
|
|
25
|
+
}
|
|
21
26
|
md += `Before adding new findings, **review each pattern-based finding above for false positives.** `;
|
|
22
27
|
md += `Static pattern matching can flag code that is actually correct — for example:\n`;
|
|
23
28
|
md += `- String literals or comments that contain keywords (e.g. a regex containing "DELETE" flagged as an unaudited SQL operation)\n`;
|
|
@@ -37,7 +42,7 @@ export function buildSingleJudgeDeepReviewSection(judge, language, context) {
|
|
|
37
42
|
md += `- The final verdict must account for BOTH the pattern findings AND your contextual findings, minus any dismissed false positives\n`;
|
|
38
43
|
return md;
|
|
39
44
|
}
|
|
40
|
-
export function buildTribunalDeepReviewSection(judges, language, context) {
|
|
45
|
+
export function buildTribunalDeepReviewSection(judges, language, context, llmFiltered) {
|
|
41
46
|
let md = `\n\n---\n\n`;
|
|
42
47
|
md += `## 🔍 Deep Contextual Review Required\n\n`;
|
|
43
48
|
md += `> **The pattern-based tribunal findings above are a starting point only.** `;
|
|
@@ -54,6 +59,11 @@ export function buildTribunalDeepReviewSection(judges, language, context) {
|
|
|
54
59
|
md += `---\n\n`;
|
|
55
60
|
}
|
|
56
61
|
md += `### False Positive Review\n\n`;
|
|
62
|
+
if (llmFiltered) {
|
|
63
|
+
md += `> **Note:** An LLM-based false positive filter has already been applied to the findings above. `;
|
|
64
|
+
md += `Some static analysis false positives have been automatically removed (see the "LLM False Positive Filter" section above for details). `;
|
|
65
|
+
md += `You should still review the remaining findings for any additional false positives the filter may have missed.\n\n`;
|
|
66
|
+
}
|
|
57
67
|
md += `Before adding new findings, **review each pattern-based finding above for false positives.** `;
|
|
58
68
|
md += `Static pattern matching can flag code that is actually correct — for example:\n`;
|
|
59
69
|
md += `- String literals or comments that contain keywords (e.g. a regex containing "DELETE" flagged as an unaudited SQL operation)\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-review.js","sourceRoot":"","sources":["../../src/tools/deep-review.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sEAAsE;AACtE,wEAAwE;AACxE,wEAAwE;AACxE,oBAAoB;AACpB,iFAAiF;AAIjF,MAAM,UAAU,iCAAiC,
|
|
1
|
+
{"version":3,"file":"deep-review.js","sourceRoot":"","sources":["../../src/tools/deep-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-evaluation.d.ts","sourceRoot":"","sources":["../../src/tools/register-evaluation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-evaluation.d.ts","sourceRoot":"","sources":["../../src/tools/register-evaluation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAK/D"}
|
|
@@ -7,6 +7,7 @@ import { evaluateWithJudge, evaluateWithTribunal, formatVerdictAsMarkdown, forma
|
|
|
7
7
|
import { evaluateCodeV2, evaluateProjectV2, getSupportedPolicyProfiles } from "../evaluators/v2.js";
|
|
8
8
|
import { configSchema, toJudgesConfig } from "./schemas.js";
|
|
9
9
|
import { buildSingleJudgeDeepReviewSection, buildTribunalDeepReviewSection } from "./deep-review.js";
|
|
10
|
+
import { applyLlmFpFilterToVerdict, filterFalsePositivesWithLlm, formatFilterResultAsMarkdown, } from "../llm-fp-filter.js";
|
|
10
11
|
/**
|
|
11
12
|
* Register evaluation-focused tools: get_judges, evaluate_code,
|
|
12
13
|
* evaluate_code_single_judge, and evaluate_v2.
|
|
@@ -55,18 +56,21 @@ function registerEvaluateCode(server) {
|
|
|
55
56
|
config: configSchema,
|
|
56
57
|
}, async ({ code, language, context, includeAstFindings, minConfidence, config }) => {
|
|
57
58
|
try {
|
|
58
|
-
const
|
|
59
|
+
const rawVerdict = evaluateWithTribunal(code, language, context, {
|
|
59
60
|
includeAstFindings,
|
|
60
61
|
minConfidence,
|
|
61
62
|
config: toJudgesConfig(config),
|
|
62
63
|
});
|
|
64
|
+
// Apply LLM-based false positive filtering if an LLM is available
|
|
65
|
+
const { verdict, filterResult } = await applyLlmFpFilterToVerdict(rawVerdict, code, language);
|
|
63
66
|
const patternResults = formatVerdictAsMarkdown(verdict);
|
|
64
|
-
const
|
|
67
|
+
const filterSection = formatFilterResultAsMarkdown(filterResult);
|
|
68
|
+
const deepReview = buildTribunalDeepReviewSection(JUDGES, language, context, filterResult.llmUsed);
|
|
65
69
|
return {
|
|
66
70
|
content: [
|
|
67
71
|
{
|
|
68
72
|
type: "text",
|
|
69
|
-
text: patternResults + deepReview,
|
|
73
|
+
text: patternResults + filterSection + deepReview,
|
|
70
74
|
},
|
|
71
75
|
],
|
|
72
76
|
};
|
|
@@ -122,13 +126,19 @@ function registerEvaluateSingleJudge(server) {
|
|
|
122
126
|
minConfidence,
|
|
123
127
|
config: toJudgesConfig(config),
|
|
124
128
|
});
|
|
125
|
-
|
|
126
|
-
const
|
|
129
|
+
// Apply LLM-based false positive filtering if an LLM is available
|
|
130
|
+
const filterResult = await filterFalsePositivesWithLlm(evaluation.findings, code, language);
|
|
131
|
+
const filteredEvaluation = filterResult.llmUsed && filterResult.removedFindings.length > 0
|
|
132
|
+
? { ...evaluation, findings: filterResult.filteredFindings }
|
|
133
|
+
: evaluation;
|
|
134
|
+
const patternResults = formatEvaluationAsMarkdown(filteredEvaluation);
|
|
135
|
+
const filterSection = formatFilterResultAsMarkdown(filterResult);
|
|
136
|
+
const deepReview = buildSingleJudgeDeepReviewSection(judge, language, context, filterResult.llmUsed);
|
|
127
137
|
return {
|
|
128
138
|
content: [
|
|
129
139
|
{
|
|
130
140
|
type: "text",
|
|
131
|
-
text: patternResults + deepReview,
|
|
141
|
+
text: patternResults + filterSection + deepReview,
|
|
132
142
|
},
|
|
133
143
|
],
|
|
134
144
|
};
|
|
@@ -218,7 +228,7 @@ function registerEvaluateV2(server) {
|
|
|
218
228
|
};
|
|
219
229
|
}
|
|
220
230
|
const supportedProfiles = getSupportedPolicyProfiles();
|
|
221
|
-
|
|
231
|
+
let result = files && files.length > 0
|
|
222
232
|
? evaluateProjectV2({
|
|
223
233
|
files,
|
|
224
234
|
context,
|
|
@@ -238,6 +248,16 @@ function registerEvaluateV2(server) {
|
|
|
238
248
|
evaluationContext,
|
|
239
249
|
evidence,
|
|
240
250
|
});
|
|
251
|
+
// Apply LLM-based false positive filtering for single-file mode
|
|
252
|
+
if (code && language && result.findings.length > 0) {
|
|
253
|
+
const filterResult = await filterFalsePositivesWithLlm(result.findings, code, language);
|
|
254
|
+
if (filterResult.llmUsed && filterResult.removedFindings.length > 0) {
|
|
255
|
+
result = {
|
|
256
|
+
...result,
|
|
257
|
+
findings: filterResult.filteredFindings,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
}
|
|
241
261
|
let md = `# V2 Tribunal Evaluation\n\n`;
|
|
242
262
|
md += `**Policy Profile:** ${result.policyProfile}\n`;
|
|
243
263
|
md += `**Calibrated Verdict:** ${result.calibratedVerdict.toUpperCase()} (${result.calibratedScore}/100)\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-evaluation.js","sourceRoot":"","sources":["../../src/tools/register-evaluation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register-evaluation.js","sourceRoot":"","sources":["../../src/tools/register-evaluation.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;
|
|
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;AASzE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAM7D"}
|
|
@@ -7,6 +7,7 @@ import { JUDGES } from "../judges/index.js";
|
|
|
7
7
|
import { evaluateProject, evaluateDiff, analyzeDependencies, runAppBuilderWorkflow } from "../evaluators/index.js";
|
|
8
8
|
import { generatePublicRepoReport } from "../reports/public-repo-report.js";
|
|
9
9
|
import { configSchema, toJudgesConfig } from "./schemas.js";
|
|
10
|
+
import { filterFalsePositivesWithLlm, formatFilterResultAsMarkdown } from "../llm-fp-filter.js";
|
|
10
11
|
/**
|
|
11
12
|
* Register workflow-focused tools: evaluate_public_repo_report, evaluate_project,
|
|
12
13
|
* evaluate_diff, evaluate_app_builder_flow, and analyze_dependencies.
|
|
@@ -314,21 +315,26 @@ function registerEvaluateDiff(server) {
|
|
|
314
315
|
minConfidence,
|
|
315
316
|
config: toJudgesConfig(config),
|
|
316
317
|
});
|
|
318
|
+
// Apply LLM false-positive filter when available
|
|
319
|
+
const filterResult = await filterFalsePositivesWithLlm(result.findings, code, language);
|
|
320
|
+
const activeFindings = filterResult.llmUsed ? filterResult.filteredFindings : result.findings;
|
|
321
|
+
const filterSection = formatFilterResultAsMarkdown(filterResult);
|
|
317
322
|
let md = `# Diff Analysis\n\n`;
|
|
318
323
|
md += `**Verdict:** ${result.verdict.toUpperCase()} (${result.score}/100)\n`;
|
|
319
324
|
md += `**Changed lines analyzed:** ${result.linesAnalyzed}\n`;
|
|
320
|
-
md += `**Findings in changed code:** ${
|
|
321
|
-
if (
|
|
325
|
+
md += `**Findings in changed code:** ${activeFindings.length}\n\n`;
|
|
326
|
+
if (activeFindings.length === 0) {
|
|
322
327
|
md += `No issues found in the changed lines.\n`;
|
|
323
328
|
}
|
|
324
329
|
else {
|
|
325
|
-
for (const f of
|
|
330
|
+
for (const f of activeFindings) {
|
|
326
331
|
md += `### ${f.ruleId}: ${f.title}\n`;
|
|
327
332
|
md += `**Severity:** ${f.severity} | **Lines:** ${f.lineNumbers?.join(", ") ?? "N/A"}\n\n`;
|
|
328
333
|
md += `${f.description}\n\n`;
|
|
329
334
|
md += `**Recommendation:** ${f.recommendation}\n\n`;
|
|
330
335
|
}
|
|
331
336
|
}
|
|
337
|
+
md += filterSection;
|
|
332
338
|
return { content: [{ type: "text", text: md }] };
|
|
333
339
|
}
|
|
334
340
|
catch (error) {
|
|
@@ -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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"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"url": "https://github.com/kevinrabun/judges",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "3.
|
|
10
|
+
"version": "3.14.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@kevinrabun/judges",
|
|
15
|
-
"version": "3.
|
|
15
|
+
"version": "3.14.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
}
|