@kevinrabun/judges 3.20.14 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/api.d.ts +42 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +49 -1
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/taint-tracker.d.ts +3 -1
  7. package/dist/ast/taint-tracker.d.ts.map +1 -1
  8. package/dist/ast/taint-tracker.js +523 -12
  9. package/dist/ast/taint-tracker.js.map +1 -1
  10. package/dist/cli.d.ts +13 -0
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +124 -19
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/benchmark.d.ts +28 -0
  15. package/dist/commands/benchmark.d.ts.map +1 -1
  16. package/dist/commands/benchmark.js +1058 -1
  17. package/dist/commands/benchmark.js.map +1 -1
  18. package/dist/config.d.ts +17 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +88 -0
  21. package/dist/config.js.map +1 -1
  22. package/dist/dedup.d.ts +23 -0
  23. package/dist/dedup.d.ts.map +1 -1
  24. package/dist/dedup.js +123 -0
  25. package/dist/dedup.js.map +1 -1
  26. package/dist/evaluators/authentication.d.ts +2 -2
  27. package/dist/evaluators/authentication.d.ts.map +1 -1
  28. package/dist/evaluators/authentication.js +26 -2
  29. package/dist/evaluators/authentication.js.map +1 -1
  30. package/dist/evaluators/cybersecurity.d.ts +2 -2
  31. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  32. package/dist/evaluators/cybersecurity.js +58 -5
  33. package/dist/evaluators/cybersecurity.js.map +1 -1
  34. package/dist/evaluators/framework-safety.d.ts.map +1 -1
  35. package/dist/evaluators/framework-safety.js +855 -365
  36. package/dist/evaluators/framework-safety.js.map +1 -1
  37. package/dist/evaluators/index.d.ts +1 -1
  38. package/dist/evaluators/index.d.ts.map +1 -1
  39. package/dist/evaluators/index.js +6 -2
  40. package/dist/evaluators/index.js.map +1 -1
  41. package/dist/evaluators/performance.d.ts +2 -2
  42. package/dist/evaluators/performance.d.ts.map +1 -1
  43. package/dist/evaluators/performance.js +33 -4
  44. package/dist/evaluators/performance.js.map +1 -1
  45. package/dist/evaluators/project.d.ts.map +1 -1
  46. package/dist/evaluators/project.js +223 -13
  47. package/dist/evaluators/project.js.map +1 -1
  48. package/dist/evaluators/shared.d.ts +31 -3
  49. package/dist/evaluators/shared.d.ts.map +1 -1
  50. package/dist/evaluators/shared.js +145 -11
  51. package/dist/evaluators/shared.js.map +1 -1
  52. package/dist/evaluators/v2.d.ts.map +1 -1
  53. package/dist/evaluators/v2.js +8 -0
  54. package/dist/evaluators/v2.js.map +1 -1
  55. package/dist/formatters/csv.d.ts +17 -0
  56. package/dist/formatters/csv.d.ts.map +1 -0
  57. package/dist/formatters/csv.js +54 -0
  58. package/dist/formatters/csv.js.map +1 -0
  59. package/dist/language-patterns.d.ts +136 -0
  60. package/dist/language-patterns.d.ts.map +1 -1
  61. package/dist/language-patterns.js +155 -1
  62. package/dist/language-patterns.js.map +1 -1
  63. package/dist/patches/index.d.ts.map +1 -1
  64. package/dist/patches/index.js +210 -0
  65. package/dist/patches/index.js.map +1 -1
  66. package/dist/presets.d.ts +14 -0
  67. package/dist/presets.d.ts.map +1 -1
  68. package/dist/presets.js +72 -0
  69. package/dist/presets.js.map +1 -1
  70. package/dist/scoring.d.ts.map +1 -1
  71. package/dist/scoring.js +43 -4
  72. package/dist/scoring.js.map +1 -1
  73. package/dist/tools/register-fix.d.ts +6 -0
  74. package/dist/tools/register-fix.d.ts.map +1 -0
  75. package/dist/tools/register-fix.js +153 -0
  76. package/dist/tools/register-fix.js.map +1 -0
  77. package/dist/tools/register-workflow.d.ts.map +1 -1
  78. package/dist/tools/register-workflow.js +79 -0
  79. package/dist/tools/register-workflow.js.map +1 -1
  80. package/dist/tools/register-workspace.d.ts +3 -0
  81. package/dist/tools/register-workspace.d.ts.map +1 -0
  82. package/dist/tools/register-workspace.js +215 -0
  83. package/dist/tools/register-workspace.js.map +1 -0
  84. package/dist/tools/register.d.ts +1 -1
  85. package/dist/tools/register.d.ts.map +1 -1
  86. package/dist/tools/register.js +5 -1
  87. package/dist/tools/register.js.map +1 -1
  88. package/dist/tools/schemas.d.ts +2 -2
  89. package/dist/types.d.ts +24 -2
  90. package/dist/types.d.ts.map +1 -1
  91. package/judgesrc.schema.json +17 -2
  92. package/package.json +1 -1
  93. package/server.json +30 -2
@@ -4,20 +4,20 @@ export declare const configSchema: z.ZodOptional<z.ZodObject<{
4
4
  disabledRules: z.ZodOptional<z.ZodArray<z.ZodString>>;
5
5
  disabledJudges: z.ZodOptional<z.ZodArray<z.ZodString>>;
6
6
  minSeverity: z.ZodOptional<z.ZodEnum<{
7
+ info: "info";
7
8
  critical: "critical";
8
9
  high: "high";
9
10
  medium: "medium";
10
11
  low: "low";
11
- info: "info";
12
12
  }>>;
13
13
  ruleOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
14
14
  disabled: z.ZodOptional<z.ZodBoolean>;
15
15
  severity: z.ZodOptional<z.ZodEnum<{
16
+ info: "info";
16
17
  critical: "critical";
17
18
  high: "high";
18
19
  medium: "medium";
19
20
  low: "low";
20
- info: "info";
21
21
  }>>;
22
22
  }, z.core.$strip>>>;
23
23
  }, z.core.$strip>>;
package/dist/types.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { CodeStructure } from "./ast/types.js";
2
+ import type { TaintFlow } from "./ast/taint-tracker.js";
1
3
  /**
2
4
  * Severity levels for judge findings.
3
5
  */
@@ -71,7 +73,7 @@ export interface Patch {
71
73
  /**
72
74
  * Supported language families for multi-language analysis.
73
75
  */
74
- export type LangFamily = "javascript" | "typescript" | "python" | "rust" | "csharp" | "java" | "go" | "cpp" | "powershell" | "terraform" | "bicep" | "arm" | "unknown";
76
+ export type LangFamily = "javascript" | "typescript" | "python" | "rust" | "csharp" | "java" | "go" | "cpp" | "php" | "ruby" | "kotlin" | "swift" | "powershell" | "terraform" | "bicep" | "arm" | "unknown";
75
77
  /**
76
78
  * Per-rule configuration override.
77
79
  */
@@ -95,6 +97,12 @@ export interface JudgesConfig {
95
97
  minSeverity?: Severity;
96
98
  /** Languages to restrict analysis to (empty = all) */
97
99
  languages?: string[];
100
+ /** Glob patterns to exclude files from analysis */
101
+ exclude?: string[];
102
+ /** Glob patterns to include only matching files */
103
+ include?: string[];
104
+ /** Maximum number of files to analyze in directory mode */
105
+ maxFiles?: number;
98
106
  }
99
107
  /**
100
108
  * A single file in a project submission.
@@ -395,6 +403,17 @@ export interface MustFixGateResult {
395
403
  /**
396
404
  * Definition of a judge — their identity, expertise, and evaluation criteria.
397
405
  */
406
+ /**
407
+ * Optional context passed to judge analyze functions. Provides pre-computed
408
+ * AST structure and taint flows so evaluators can make scope-aware, import-
409
+ * aware, and data-flow-aware decisions without re-parsing.
410
+ */
411
+ export interface AnalyzeContext {
412
+ /** Pre-computed AST structure (functions, imports, classes, decorators, etc.) */
413
+ ast?: CodeStructure;
414
+ /** Pre-computed taint flows (source → sink data-flow chains) */
415
+ taintFlows?: TaintFlow[];
416
+ }
398
417
  export interface JudgeDefinition {
399
418
  /** Unique identifier */
400
419
  id: string;
@@ -412,7 +431,10 @@ export interface JudgeDefinition {
412
431
  * The analyzer function for this judge. Each judge carries its own analysis
413
432
  * logic, eliminating the need for a central dispatch switch. Wired up
414
433
  * automatically in the judge registry (judges/index.ts).
434
+ *
435
+ * The optional third parameter provides pre-computed AST data (structure,
436
+ * taint flows) so evaluators can make scope-aware decisions without re-parsing.
415
437
  */
416
- analyze?: (code: string, language: string) => Finding[];
438
+ analyze?: (code: string, language: string, context?: AnalyzeContext) => Finding[];
417
439
  }
418
440
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;;OAKG;IACH,cAAc,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,eAAe,CAAC;CAC9D;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,KAAK,GACL,YAAY,GACZ,WAAW,GACX,OAAO,GACP,KAAK,GACL,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kEAAkE;IAClE,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,yBAAyB;IACzB,WAAW,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,wCAAwC;IACxC,qBAAqB,EAAE,OAAO,EAAE,CAAC;CAClC;AAID;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,6BAA6B;IAC7B,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,sBAAsB;IACtB,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAAC;IACtC,+BAA+B;IAC/B,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAClC,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,eAAe,EAAE,eAAe,CAAC;IACjC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;IAC9C,oCAAoC;IACpC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,yCAAyC;IACzC,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAID;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC;AAE7G;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,sDAAsD;IACtD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,oDAAoD;IACpD,WAAW,EAAE,eAAe,CAAC;IAC7B,+BAA+B;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,6BAA6B;IAC7B,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,WAAW,EAAE,mBAAmB,CAAC;IACjC,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;CACzD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,7 @@
11
11
  },
12
12
  "preset": {
13
13
  "type": "string",
14
- "enum": ["strict", "lenient", "security-only", "startup", "compliance", "performance"],
15
- "description": "Named preset to use as a base configuration. Individual settings override preset values."
14
+ "description": "Named preset or comma-separated composition (e.g. \"security-only\" or \"security-only,performance\"). Individual settings override preset values."
16
15
  },
17
16
  "disabledRules": {
18
17
  "type": "array",
@@ -68,6 +67,22 @@
68
67
  "enum": ["text", "json", "sarif", "markdown", "html", "junit", "codeclimate"],
69
68
  "description": "Default output format.",
70
69
  "default": "text"
70
+ },
71
+ "exclude": {
72
+ "type": "array",
73
+ "items": { "type": "string" },
74
+ "description": "Glob patterns to exclude files from analysis (e.g. [\"**/*.test.ts\", \"**/fixtures/**\"])."
75
+ },
76
+ "include": {
77
+ "type": "array",
78
+ "items": { "type": "string" },
79
+ "description": "Glob patterns to include only matching files (e.g. [\"**/*.py\", \"**/*.ts\"]). When specified, only matching files are analyzed."
80
+ },
81
+ "maxFiles": {
82
+ "type": "integer",
83
+ "minimum": 1,
84
+ "description": "Maximum number of files to analyze when scanning a directory.",
85
+ "default": 300
71
86
  }
72
87
  },
73
88
  "additionalProperties": false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevinrabun/judges",
3
- "version": "3.20.14",
3
+ "version": "3.22.0",
4
4
  "description": "37 specialized judges that evaluate AI-generated code for security, cost, and quality.",
5
5
  "mcpName": "io.github.KevinRabun/judges",
6
6
  "type": "module",
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.20.14",
10
+ "version": "3.22.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@kevinrabun/judges",
15
- "version": "3.20.14",
15
+ "version": "3.22.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }
@@ -54,6 +54,34 @@
54
54
  {
55
55
  "name": "evaluate_public_repo_report",
56
56
  "description": "Clone a public repository URL, run the full judges panel, and generate a consolidated markdown report."
57
+ },
58
+ {
59
+ "name": "fix_code",
60
+ "description": "Evaluate code and automatically apply all available auto-fix patches. Returns the fixed code along with a summary of applied and remaining findings."
61
+ },
62
+ {
63
+ "name": "list_files",
64
+ "description": "List files and directories in the workspace. Useful for exploring project structure before evaluating code."
65
+ },
66
+ {
67
+ "name": "read_file",
68
+ "description": "Read the contents of a file in the workspace. Returns the file text with optional line-range slicing."
69
+ },
70
+ {
71
+ "name": "evaluate_with_progress",
72
+ "description": "Evaluate code with progressive judge-by-judge reporting. Returns intermediate counts as each judge completes, useful for large files."
73
+ },
74
+ {
75
+ "name": "benchmark_gate",
76
+ "description": "Run the benchmark suite and check results against quality thresholds. Returns pass/fail with metric details. Use in CI to prevent quality regressions."
77
+ },
78
+ {
79
+ "name": "compare_benchmarks",
80
+ "description": "Compare two benchmark runs and report metric deltas. Useful for verifying that code changes haven't degraded detection accuracy."
81
+ },
82
+ {
83
+ "name": "evaluate_batch",
84
+ "description": "Evaluate multiple files in a single call with bounded concurrency. Returns per-file verdicts and aggregate statistics."
57
85
  }
58
86
  ],
59
87
  "prompts": [