@kevinrabun/judges 3.23.20 → 3.25.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 +32 -0
- package/dist/api.d.ts +17 -7
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +13 -5
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/benchmark-ai-agents.d.ts.map +1 -1
- package/dist/commands/benchmark-ai-agents.js +512 -0
- package/dist/commands/benchmark-ai-agents.js.map +1 -1
- package/dist/commands/benchmark.d.ts +73 -0
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +252 -1
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/config-share.d.ts +48 -1
- package/dist/commands/config-share.d.ts.map +1 -1
- package/dist/commands/config-share.js +230 -1
- package/dist/commands/config-share.js.map +1 -1
- package/dist/commands/feedback.d.ts +42 -0
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +64 -0
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/fix.d.ts +41 -1
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +71 -0
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/review.d.ts +57 -0
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +188 -2
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/triage.d.ts +16 -0
- package/dist/commands/triage.d.ts.map +1 -0
- package/dist/commands/triage.js +172 -0
- package/dist/commands/triage.js.map +1 -0
- package/dist/evaluators/shared.d.ts +6 -0
- package/dist/evaluators/shared.d.ts.map +1 -1
- package/dist/evaluators/shared.js +91 -0
- package/dist/evaluators/shared.js.map +1 -1
- package/dist/finding-lifecycle.d.ts +61 -2
- package/dist/finding-lifecycle.d.ts.map +1 -1
- package/dist/finding-lifecycle.js +144 -1
- package/dist/finding-lifecycle.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/scoring.d.ts +7 -1
- package/dist/scoring.d.ts.map +1 -1
- package/dist/scoring.js +72 -0
- package/dist/scoring.js.map +1 -1
- package/dist/tools/deep-review.d.ts +16 -3
- package/dist/tools/deep-review.d.ts.map +1 -1
- package/dist/tools/deep-review.js +70 -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 +28 -5
- package/dist/tools/register-evaluation.js.map +1 -1
- package/dist/types.d.ts +45 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
* Team Config — Shareable team/org configuration
|
|
3
3
|
*
|
|
4
4
|
* Generate and manage shareable configuration files that teams can
|
|
5
|
-
* distribute via npm packages
|
|
5
|
+
* distribute via npm packages, git repositories, or URLs.
|
|
6
6
|
*
|
|
7
7
|
* Usage:
|
|
8
8
|
* judges config export Export current config as shareable package
|
|
9
9
|
* judges config import <source> Import a shared config
|
|
10
10
|
* judges config merge <file> Merge configs together
|
|
11
|
+
* judges config pull <url> Pull config from a remote URL
|
|
12
|
+
* judges config lock Lock current config as org policy baseline
|
|
13
|
+
* judges config validate Validate config against policy lock
|
|
11
14
|
*/
|
|
12
15
|
import type { JudgesConfig, RuleOverride } from "../types.js";
|
|
13
16
|
export interface TeamConfig {
|
|
@@ -46,4 +49,48 @@ export declare function parseConfigArgs(argv: string[]): {
|
|
|
46
49
|
output?: string;
|
|
47
50
|
};
|
|
48
51
|
export declare function runConfig(argv: string[]): void;
|
|
52
|
+
export interface PolicyLock {
|
|
53
|
+
/** Lock version for forward compatibility */
|
|
54
|
+
version: string;
|
|
55
|
+
/** When the lock was created */
|
|
56
|
+
createdAt: string;
|
|
57
|
+
/** Source URL the policy was pulled from (if any) */
|
|
58
|
+
source?: string;
|
|
59
|
+
/** Minimum judges version required */
|
|
60
|
+
minJudgesVersion?: string;
|
|
61
|
+
/** Judges that MUST be enabled (cannot appear in disabledJudges) */
|
|
62
|
+
requiredJudges?: string[];
|
|
63
|
+
/** Rules that MUST be enabled (cannot appear in disabledRules) */
|
|
64
|
+
requiredRules?: string[];
|
|
65
|
+
/** Maximum allowed minSeverity (e.g. "medium" means low/info not allowed) */
|
|
66
|
+
maxMinSeverity?: string;
|
|
67
|
+
/** The full org config to enforce as baseline */
|
|
68
|
+
baselineConfig?: JudgesConfig;
|
|
69
|
+
}
|
|
70
|
+
export interface PolicyValidationResult {
|
|
71
|
+
valid: boolean;
|
|
72
|
+
violations: string[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Write a policy lock file from the current project config.
|
|
76
|
+
*/
|
|
77
|
+
export declare function writePolicyLock(projectDir?: string, source?: string): PolicyLock;
|
|
78
|
+
/**
|
|
79
|
+
* Read an existing policy lock file.
|
|
80
|
+
*/
|
|
81
|
+
export declare function readPolicyLock(projectDir?: string): PolicyLock | null;
|
|
82
|
+
/**
|
|
83
|
+
* Validate a project config against an org policy lock.
|
|
84
|
+
*
|
|
85
|
+
* Checks that the config doesn't disable required judges/rules and
|
|
86
|
+
* doesn't exceed the severity threshold.
|
|
87
|
+
*/
|
|
88
|
+
export declare function validatePolicyCompliance(config: JudgesConfig, lock: PolicyLock): PolicyValidationResult;
|
|
89
|
+
/**
|
|
90
|
+
* Pull a remote TeamConfig from a URL and import it locally.
|
|
91
|
+
*
|
|
92
|
+
* Supports HTTPS URLs pointing to JSON TeamConfig files. The pulled
|
|
93
|
+
* config is merged into the local .judgesrc.
|
|
94
|
+
*/
|
|
95
|
+
export declare function pullRemoteConfig(url: string, targetDir?: string): Promise<TeamConfig>;
|
|
49
96
|
//# sourceMappingURL=config-share.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-share.d.ts","sourceRoot":"","sources":["../../src/commands/config-share.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config-share.d.ts","sourceRoot":"","sources":["../../src/commands/config-share.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI9D,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACxC;AAID;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAgCpF;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAY,GAAG,UAAU,CA0BrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,IAAI,CAiB9E;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAeA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAwI9C;AAOD,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,cAAc,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CA2BrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,GAAE,MAAY,GAAG,UAAU,GAAG,IAAI,CAQ1E;AAID;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,sBAAsB,CAqDvG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDhG"}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
* Team Config — Shareable team/org configuration
|
|
3
3
|
*
|
|
4
4
|
* Generate and manage shareable configuration files that teams can
|
|
5
|
-
* distribute via npm packages
|
|
5
|
+
* distribute via npm packages, git repositories, or URLs.
|
|
6
6
|
*
|
|
7
7
|
* Usage:
|
|
8
8
|
* judges config export Export current config as shareable package
|
|
9
9
|
* judges config import <source> Import a shared config
|
|
10
10
|
* judges config merge <file> Merge configs together
|
|
11
|
+
* judges config pull <url> Pull config from a remote URL
|
|
12
|
+
* judges config lock Lock current config as org policy baseline
|
|
13
|
+
* judges config validate Validate config against policy lock
|
|
11
14
|
*/
|
|
12
15
|
import { readFileSync, writeFileSync, existsSync } from "fs";
|
|
13
16
|
import { resolve, basename } from "path";
|
|
@@ -162,6 +165,77 @@ export function runConfig(argv) {
|
|
|
162
165
|
process.exit(0);
|
|
163
166
|
break;
|
|
164
167
|
}
|
|
168
|
+
case "pull": {
|
|
169
|
+
if (!source) {
|
|
170
|
+
console.error("Error: Specify a URL to pull config from.");
|
|
171
|
+
console.error("Usage: judges config pull <url>");
|
|
172
|
+
process.exit(1);
|
|
173
|
+
}
|
|
174
|
+
pullRemoteConfig(source, ".")
|
|
175
|
+
.then((tc) => {
|
|
176
|
+
console.log(`\n ✅ Pulled config "${tc.name}" from remote`);
|
|
177
|
+
console.log(` Config merged into .judgesrc`);
|
|
178
|
+
console.log("");
|
|
179
|
+
process.exit(0);
|
|
180
|
+
})
|
|
181
|
+
.catch((err) => {
|
|
182
|
+
console.error(`Error: ${err.message}`);
|
|
183
|
+
process.exit(1);
|
|
184
|
+
});
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
case "lock": {
|
|
188
|
+
const lock = writePolicyLock(".", source);
|
|
189
|
+
console.log(`\n ✅ Policy lock created: .judges-policy-lock.json`);
|
|
190
|
+
if (lock.maxMinSeverity) {
|
|
191
|
+
console.log(` Max severity threshold: ${lock.maxMinSeverity}`);
|
|
192
|
+
}
|
|
193
|
+
console.log(` Teams must comply with this policy baseline.`);
|
|
194
|
+
console.log("");
|
|
195
|
+
process.exit(0);
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
case "validate": {
|
|
199
|
+
const lock = readPolicyLock(".");
|
|
200
|
+
if (!lock) {
|
|
201
|
+
console.error("Error: No .judges-policy-lock.json found. Run 'judges config lock' first.");
|
|
202
|
+
process.exit(1);
|
|
203
|
+
}
|
|
204
|
+
const configPath = resolve(".judgesrc");
|
|
205
|
+
const configJsonPath = resolve(".judgesrc.json");
|
|
206
|
+
let config = {};
|
|
207
|
+
if (existsSync(configPath)) {
|
|
208
|
+
try {
|
|
209
|
+
config = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
/* empty */
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else if (existsSync(configJsonPath)) {
|
|
216
|
+
try {
|
|
217
|
+
config = JSON.parse(readFileSync(configJsonPath, "utf-8"));
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
/* empty */
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
const result = validatePolicyCompliance(config, lock);
|
|
224
|
+
if (result.valid) {
|
|
225
|
+
console.log(`\n ✅ Config complies with org policy.`);
|
|
226
|
+
console.log("");
|
|
227
|
+
process.exit(0);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
console.error(`\n ❌ Policy violations found:`);
|
|
231
|
+
for (const v of result.violations) {
|
|
232
|
+
console.error(` • ${v}`);
|
|
233
|
+
}
|
|
234
|
+
console.error("");
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
165
239
|
default: {
|
|
166
240
|
console.log(`
|
|
167
241
|
Judges Panel — Team Config Management
|
|
@@ -170,9 +244,164 @@ USAGE:
|
|
|
170
244
|
judges config export [--output file] Export shareable config
|
|
171
245
|
judges config import <file> Import a shared config
|
|
172
246
|
judges config merge <file> Merge config into existing .judgesrc
|
|
247
|
+
judges config pull <url> Pull config from remote URL
|
|
248
|
+
judges config lock Lock current config as org policy
|
|
249
|
+
judges config validate Validate config against policy lock
|
|
173
250
|
`);
|
|
174
251
|
process.exit(0);
|
|
175
252
|
}
|
|
176
253
|
}
|
|
177
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Write a policy lock file from the current project config.
|
|
257
|
+
*/
|
|
258
|
+
export function writePolicyLock(projectDir = ".", source) {
|
|
259
|
+
const teamConfig = exportTeamConfig(projectDir);
|
|
260
|
+
const lock = {
|
|
261
|
+
version: "1.0.0",
|
|
262
|
+
createdAt: new Date().toISOString(),
|
|
263
|
+
source,
|
|
264
|
+
baselineConfig: teamConfig.config,
|
|
265
|
+
};
|
|
266
|
+
// Infer required judges: any judge NOT in disabledJudges is required
|
|
267
|
+
if (teamConfig.config.disabledJudges && teamConfig.config.disabledJudges.length > 0) {
|
|
268
|
+
// We don't enforce specific judges — just record the baseline
|
|
269
|
+
}
|
|
270
|
+
// Infer required rules: any rule NOT in disabledRules is required
|
|
271
|
+
if (teamConfig.config.disabledRules && teamConfig.config.disabledRules.length > 0) {
|
|
272
|
+
lock.requiredRules = []; // All rules not in disabledRules are required
|
|
273
|
+
}
|
|
274
|
+
if (teamConfig.config.minSeverity) {
|
|
275
|
+
lock.maxMinSeverity = teamConfig.config.minSeverity;
|
|
276
|
+
}
|
|
277
|
+
const lockPath = resolve(projectDir, ".judges-policy-lock.json");
|
|
278
|
+
writeFileSync(lockPath, JSON.stringify(lock, null, 2) + "\n", "utf-8");
|
|
279
|
+
return lock;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Read an existing policy lock file.
|
|
283
|
+
*/
|
|
284
|
+
export function readPolicyLock(projectDir = ".") {
|
|
285
|
+
const lockPath = resolve(projectDir, ".judges-policy-lock.json");
|
|
286
|
+
if (!existsSync(lockPath))
|
|
287
|
+
return null;
|
|
288
|
+
try {
|
|
289
|
+
return JSON.parse(readFileSync(lockPath, "utf-8"));
|
|
290
|
+
}
|
|
291
|
+
catch {
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
const SEVERITY_ORDER = ["critical", "high", "medium", "low", "info"];
|
|
296
|
+
/**
|
|
297
|
+
* Validate a project config against an org policy lock.
|
|
298
|
+
*
|
|
299
|
+
* Checks that the config doesn't disable required judges/rules and
|
|
300
|
+
* doesn't exceed the severity threshold.
|
|
301
|
+
*/
|
|
302
|
+
export function validatePolicyCompliance(config, lock) {
|
|
303
|
+
const violations = [];
|
|
304
|
+
// Check required judges
|
|
305
|
+
if (lock.requiredJudges && config.disabledJudges) {
|
|
306
|
+
for (const required of lock.requiredJudges) {
|
|
307
|
+
if (config.disabledJudges.includes(required)) {
|
|
308
|
+
violations.push(`Required judge "${required}" is disabled`);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// Check required rules
|
|
313
|
+
if (lock.requiredRules && config.disabledRules) {
|
|
314
|
+
for (const required of lock.requiredRules) {
|
|
315
|
+
if (config.disabledRules.includes(required)) {
|
|
316
|
+
violations.push(`Required rule "${required}" is disabled`);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
// Check severity threshold
|
|
321
|
+
if (lock.maxMinSeverity && config.minSeverity) {
|
|
322
|
+
const lockIdx = SEVERITY_ORDER.indexOf(lock.maxMinSeverity);
|
|
323
|
+
const configIdx = SEVERITY_ORDER.indexOf(config.minSeverity);
|
|
324
|
+
if (configIdx > lockIdx) {
|
|
325
|
+
violations.push(`minSeverity "${config.minSeverity}" exceeds policy maximum "${lock.maxMinSeverity}"`);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Check against baseline — if baseline has disabled judges/rules,
|
|
329
|
+
// project cannot add NEW disabled judges/rules beyond what was locked
|
|
330
|
+
if (lock.baselineConfig) {
|
|
331
|
+
const baselineDisabledJudges = new Set(lock.baselineConfig.disabledJudges ?? []);
|
|
332
|
+
if (config.disabledJudges) {
|
|
333
|
+
for (const j of config.disabledJudges) {
|
|
334
|
+
if (!baselineDisabledJudges.has(j)) {
|
|
335
|
+
violations.push(`Judge "${j}" disabled in project but not in org policy baseline`);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
const baselineDisabledRules = new Set(lock.baselineConfig.disabledRules ?? []);
|
|
340
|
+
if (config.disabledRules) {
|
|
341
|
+
for (const r of config.disabledRules) {
|
|
342
|
+
if (!baselineDisabledRules.has(r)) {
|
|
343
|
+
violations.push(`Rule "${r}" disabled in project but not in org policy baseline`);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return { valid: violations.length === 0, violations };
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Pull a remote TeamConfig from a URL and import it locally.
|
|
352
|
+
*
|
|
353
|
+
* Supports HTTPS URLs pointing to JSON TeamConfig files. The pulled
|
|
354
|
+
* config is merged into the local .judgesrc.
|
|
355
|
+
*/
|
|
356
|
+
export async function pullRemoteConfig(url, targetDir = ".") {
|
|
357
|
+
// Validate URL to prevent SSRF — only allow HTTPS
|
|
358
|
+
let parsed;
|
|
359
|
+
try {
|
|
360
|
+
parsed = new URL(url);
|
|
361
|
+
}
|
|
362
|
+
catch {
|
|
363
|
+
throw new Error(`Invalid URL: ${url}`);
|
|
364
|
+
}
|
|
365
|
+
if (parsed.protocol !== "https:") {
|
|
366
|
+
throw new Error(`Only HTTPS URLs are supported (got ${parsed.protocol})`);
|
|
367
|
+
}
|
|
368
|
+
// Block private/internal IP ranges
|
|
369
|
+
const hostname = parsed.hostname.toLowerCase();
|
|
370
|
+
if (hostname === "localhost" ||
|
|
371
|
+
hostname === "127.0.0.1" ||
|
|
372
|
+
hostname === "0.0.0.0" ||
|
|
373
|
+
hostname.startsWith("10.") ||
|
|
374
|
+
hostname.startsWith("192.168.") ||
|
|
375
|
+
hostname.startsWith("169.254.") ||
|
|
376
|
+
hostname === "[::1]") {
|
|
377
|
+
throw new Error("URLs pointing to private/internal addresses are not allowed");
|
|
378
|
+
}
|
|
379
|
+
const response = await fetch(url);
|
|
380
|
+
if (!response.ok) {
|
|
381
|
+
throw new Error(`Failed to fetch config: HTTP ${response.status} ${response.statusText}`);
|
|
382
|
+
}
|
|
383
|
+
const text = await response.text();
|
|
384
|
+
let teamConfig;
|
|
385
|
+
try {
|
|
386
|
+
teamConfig = JSON.parse(text);
|
|
387
|
+
}
|
|
388
|
+
catch {
|
|
389
|
+
throw new Error("Response is not valid JSON");
|
|
390
|
+
}
|
|
391
|
+
// Basic shape validation
|
|
392
|
+
if (!teamConfig.version || !teamConfig.config) {
|
|
393
|
+
throw new Error("Response is not a valid TeamConfig (missing version or config)");
|
|
394
|
+
}
|
|
395
|
+
// Merge into local config
|
|
396
|
+
const targetPath = resolve(targetDir, ".judgesrc");
|
|
397
|
+
if (existsSync(targetPath)) {
|
|
398
|
+
const existing = JSON.parse(readFileSync(targetPath, "utf-8"));
|
|
399
|
+
const merged = mergeConfigs(existing, teamConfig.config);
|
|
400
|
+
writeFileSync(targetPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
writeFileSync(targetPath, JSON.stringify(teamConfig.config, null, 2) + "\n", "utf-8");
|
|
404
|
+
}
|
|
405
|
+
return teamConfig;
|
|
406
|
+
}
|
|
178
407
|
//# sourceMappingURL=config-share.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-share.js","sourceRoot":"","sources":["../../src/commands/config-share.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-share.js","sourceRoot":"","sources":["../../src/commands/config-share.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,13 @@ export interface FeedbackEntry {
|
|
|
32
32
|
severity?: string;
|
|
33
33
|
/** Contributor identifier (username, email, etc.) for team aggregation */
|
|
34
34
|
contributor?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Origin of this feedback entry:
|
|
37
|
+
* - "manual" — developer submitted via CLI or UI
|
|
38
|
+
* - "l2-dismissal" — LLM deep review dismissed an L1 finding as FP
|
|
39
|
+
* - "pr-review" — captured from PR review interaction
|
|
40
|
+
*/
|
|
41
|
+
source?: "manual" | "l2-dismissal" | "pr-review";
|
|
35
42
|
}
|
|
36
43
|
export interface FeedbackStore {
|
|
37
44
|
/** Schema version for migration support */
|
|
@@ -125,5 +132,40 @@ export declare function computeTeamFeedbackStats(store: FeedbackStore): TeamFeed
|
|
|
125
132
|
* Format team feedback stats as a human-readable summary.
|
|
126
133
|
*/
|
|
127
134
|
export declare function formatTeamStatsOutput(stats: TeamFeedbackStats): string;
|
|
135
|
+
/**
|
|
136
|
+
* A finding dismissed by the LLM during deep contextual review (L2).
|
|
137
|
+
*/
|
|
138
|
+
export interface DismissedFinding {
|
|
139
|
+
/** Rule ID of the dismissed finding (e.g. SEC-001) */
|
|
140
|
+
ruleId: string;
|
|
141
|
+
/** LLM's explanation of why it was dismissed */
|
|
142
|
+
reason: string;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Parse dismissed findings from an LLM deep-review response.
|
|
146
|
+
*
|
|
147
|
+
* The deep-review prompt instructs the LLM to list dismissed findings in a
|
|
148
|
+
* "Dismissed Findings" section, each with a rule ID and explanation. This
|
|
149
|
+
* function extracts those entries from the markdown.
|
|
150
|
+
*
|
|
151
|
+
* Accepted formats:
|
|
152
|
+
* - `SEC-001` — reason text
|
|
153
|
+
* - `**SEC-001**` — reason text
|
|
154
|
+
* - `SEC-001: reason text`
|
|
155
|
+
* - `- SEC-001 — reason text`
|
|
156
|
+
* - `- **SEC-001**: reason text`
|
|
157
|
+
*/
|
|
158
|
+
export declare function parseDismissedFindings(llmResponse: string): DismissedFinding[];
|
|
159
|
+
/**
|
|
160
|
+
* Record L2 deep-review dismissals as FP feedback entries.
|
|
161
|
+
*
|
|
162
|
+
* This closes the feedback loop: when the LLM's deep contextual review
|
|
163
|
+
* dismisses L1 pattern findings as false positives, those dismissals are
|
|
164
|
+
* persisted to the feedback store and feed into the confidence calibration
|
|
165
|
+
* system (auto-tune, FP rate tracking).
|
|
166
|
+
*
|
|
167
|
+
* Returns the number of new entries recorded.
|
|
168
|
+
*/
|
|
169
|
+
export declare function recordL2Feedback(llmResponse: string, feedbackPath?: string, filePath?: string): number;
|
|
128
170
|
export declare function runFeedback(argv: string[]): void;
|
|
129
171
|
//# sourceMappingURL=feedback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,OAAO,EAAE,eAAe,CAAC;IACzB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -380,6 +380,70 @@ function formatStatsOutput(stats) {
|
|
|
380
380
|
}
|
|
381
381
|
return lines.join("\n");
|
|
382
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* Parse dismissed findings from an LLM deep-review response.
|
|
385
|
+
*
|
|
386
|
+
* The deep-review prompt instructs the LLM to list dismissed findings in a
|
|
387
|
+
* "Dismissed Findings" section, each with a rule ID and explanation. This
|
|
388
|
+
* function extracts those entries from the markdown.
|
|
389
|
+
*
|
|
390
|
+
* Accepted formats:
|
|
391
|
+
* - `SEC-001` — reason text
|
|
392
|
+
* - `**SEC-001**` — reason text
|
|
393
|
+
* - `SEC-001: reason text`
|
|
394
|
+
* - `- SEC-001 — reason text`
|
|
395
|
+
* - `- **SEC-001**: reason text`
|
|
396
|
+
*/
|
|
397
|
+
export function parseDismissedFindings(llmResponse) {
|
|
398
|
+
const dismissed = [];
|
|
399
|
+
// Find the "Dismissed Findings" section
|
|
400
|
+
const sectionPattern = /#+\s*(?:\*{1,2})?Dismissed Findings(?:\*{1,2})?\s*\n([\s\S]*?)(?=\n#|\n={3,}|\n-{3,}|$)/gi;
|
|
401
|
+
let sectionMatch;
|
|
402
|
+
while ((sectionMatch = sectionPattern.exec(llmResponse)) !== null) {
|
|
403
|
+
const sectionBody = sectionMatch[1];
|
|
404
|
+
// Match rule IDs followed by explanations on each line
|
|
405
|
+
// Supports: - SEC-001 — reason, - **SEC-001**: reason, SEC-001: reason
|
|
406
|
+
const linePattern = /[-*]?\s*\*{0,2}([A-Z]{2,10}-\d{1,4})\*{0,2}\s*[—:–-]\s*(.+)/g;
|
|
407
|
+
let lineMatch;
|
|
408
|
+
while ((lineMatch = linePattern.exec(sectionBody)) !== null) {
|
|
409
|
+
const ruleId = lineMatch[1].trim();
|
|
410
|
+
const reason = lineMatch[2].trim();
|
|
411
|
+
if (ruleId && reason) {
|
|
412
|
+
dismissed.push({ ruleId, reason });
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
return dismissed;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Record L2 deep-review dismissals as FP feedback entries.
|
|
420
|
+
*
|
|
421
|
+
* This closes the feedback loop: when the LLM's deep contextual review
|
|
422
|
+
* dismisses L1 pattern findings as false positives, those dismissals are
|
|
423
|
+
* persisted to the feedback store and feed into the confidence calibration
|
|
424
|
+
* system (auto-tune, FP rate tracking).
|
|
425
|
+
*
|
|
426
|
+
* Returns the number of new entries recorded.
|
|
427
|
+
*/
|
|
428
|
+
export function recordL2Feedback(llmResponse, feedbackPath, filePath) {
|
|
429
|
+
const dismissed = parseDismissedFindings(llmResponse);
|
|
430
|
+
if (dismissed.length === 0)
|
|
431
|
+
return 0;
|
|
432
|
+
const store = loadFeedbackStore(feedbackPath);
|
|
433
|
+
const now = new Date().toISOString();
|
|
434
|
+
for (const d of dismissed) {
|
|
435
|
+
addFeedback(store, {
|
|
436
|
+
ruleId: d.ruleId,
|
|
437
|
+
verdict: "fp",
|
|
438
|
+
comment: `L2 deep review dismissal: ${d.reason}`,
|
|
439
|
+
filePath,
|
|
440
|
+
timestamp: now,
|
|
441
|
+
source: "l2-dismissal",
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
saveFeedbackStore(store, feedbackPath);
|
|
445
|
+
return dismissed.length;
|
|
446
|
+
}
|
|
383
447
|
export function runFeedback(argv) {
|
|
384
448
|
const args = parseFeedbackArgs(argv);
|
|
385
449
|
if (args.subcommand === "--help" || args.subcommand === "-h") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/fix.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* judges fix src/app.ts --apply # Apply fixes in-place
|
|
10
10
|
* judges fix src/app.ts --judge cyber # Fixes from one judge only
|
|
11
11
|
*/
|
|
12
|
-
import type { Patch } from "../types.js";
|
|
12
|
+
import type { Finding, Patch } from "../types.js";
|
|
13
13
|
export interface PatchCandidate {
|
|
14
14
|
ruleId: string;
|
|
15
15
|
title: string;
|
|
@@ -53,6 +53,46 @@ export declare function applyPatches(code: string, patches: PatchCandidate[]): {
|
|
|
53
53
|
skipped: number;
|
|
54
54
|
overlapped: number;
|
|
55
55
|
};
|
|
56
|
+
/** A group of patches scoped to a single file within a cross-file fix set. */
|
|
57
|
+
export interface FilePatchGroup {
|
|
58
|
+
/** Absolute or relative file path. */
|
|
59
|
+
filePath: string;
|
|
60
|
+
/** Patches to apply to this file. */
|
|
61
|
+
patches: PatchCandidate[];
|
|
62
|
+
}
|
|
63
|
+
/** A coordinated set of patches across multiple files. */
|
|
64
|
+
export type PatchSet = FilePatchGroup[];
|
|
65
|
+
/** Result of applying a multi-file patch set. */
|
|
66
|
+
export interface PatchSetResult {
|
|
67
|
+
/** Per-file results. */
|
|
68
|
+
files: Array<{
|
|
69
|
+
filePath: string;
|
|
70
|
+
applied: number;
|
|
71
|
+
skipped: number;
|
|
72
|
+
overlapped: number;
|
|
73
|
+
}>;
|
|
74
|
+
/** Aggregate totals. */
|
|
75
|
+
totalApplied: number;
|
|
76
|
+
totalSkipped: number;
|
|
77
|
+
totalOverlapped: number;
|
|
78
|
+
totalFiles: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Collect patches from findings across multiple files into a PatchSet.
|
|
82
|
+
* Groups findings by their associated file path.
|
|
83
|
+
* `fileMap` provides a finding-to-path lookup; unmatched findings use `defaultPath`.
|
|
84
|
+
*/
|
|
85
|
+
export declare function collectPatchSet(findings: Finding[], defaultPath: string, fileMap?: Map<Finding, string>): PatchSet;
|
|
86
|
+
/**
|
|
87
|
+
* Apply a coordinated patch set across multiple files.
|
|
88
|
+
* Each file's patches are applied independently using `applyPatches()`,
|
|
89
|
+
* with optional `filter` applied per file.
|
|
90
|
+
*/
|
|
91
|
+
export declare function applyPatchSet(patchSet: PatchSet, options?: {
|
|
92
|
+
apply?: boolean;
|
|
93
|
+
filter?: PatchFilter;
|
|
94
|
+
basePath?: string;
|
|
95
|
+
}): PatchSetResult;
|
|
56
96
|
interface FixArgs {
|
|
57
97
|
file: string | undefined;
|
|
58
98
|
language: string | undefined;
|