@kevinrabun/judges 3.38.0 → 3.41.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 +68 -0
- package/README.md +5 -4
- package/dist/api.d.ts +5 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +5 -1
- package/dist/api.js.map +1 -1
- package/dist/ast/structural-parser.js +3 -3
- package/dist/ast/structural-parser.js.map +1 -1
- package/dist/calibration.d.ts +35 -0
- package/dist/calibration.d.ts.map +1 -1
- package/dist/calibration.js +52 -0
- package/dist/calibration.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +370 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-calibrate.d.ts +15 -0
- package/dist/commands/auto-calibrate.d.ts.map +1 -0
- package/dist/commands/auto-calibrate.js +107 -0
- package/dist/commands/auto-calibrate.js.map +1 -0
- package/dist/commands/benchmark-languages.js +4 -4
- package/dist/commands/benchmark.d.ts +2 -1
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +67 -2
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/calibration-dashboard.d.ts.map +1 -1
- package/dist/commands/calibration-dashboard.js +198 -0
- package/dist/commands/calibration-dashboard.js.map +1 -1
- package/dist/commands/calibration-share.d.ts +31 -0
- package/dist/commands/calibration-share.d.ts.map +1 -0
- package/dist/commands/calibration-share.js +183 -0
- package/dist/commands/calibration-share.js.map +1 -0
- package/dist/commands/compliance-report.d.ts +35 -0
- package/dist/commands/compliance-report.d.ts.map +1 -0
- package/dist/commands/compliance-report.js +162 -0
- package/dist/commands/compliance-report.js.map +1 -0
- package/dist/commands/config-migrate.d.ts +44 -0
- package/dist/commands/config-migrate.d.ts.map +1 -0
- package/dist/commands/config-migrate.js +241 -0
- package/dist/commands/config-migrate.js.map +1 -0
- package/dist/commands/dedup-report.d.ts +13 -0
- package/dist/commands/dedup-report.d.ts.map +1 -0
- package/dist/commands/dedup-report.js +138 -0
- package/dist/commands/dedup-report.js.map +1 -0
- package/dist/commands/dep-audit.d.ts +53 -0
- package/dist/commands/dep-audit.d.ts.map +1 -0
- package/dist/commands/dep-audit.js +278 -0
- package/dist/commands/dep-audit.js.map +1 -0
- package/dist/commands/deprecated.d.ts +48 -0
- package/dist/commands/deprecated.d.ts.map +1 -0
- package/dist/commands/deprecated.js +202 -0
- package/dist/commands/deprecated.js.map +1 -0
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +8 -3
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/feedback-rules.d.ts +29 -0
- package/dist/commands/feedback-rules.d.ts.map +1 -0
- package/dist/commands/feedback-rules.js +174 -0
- package/dist/commands/feedback-rules.js.map +1 -0
- package/dist/commands/feedback.d.ts +12 -0
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +16 -0
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/fix-pr.d.ts +23 -0
- package/dist/commands/fix-pr.d.ts.map +1 -0
- package/dist/commands/fix-pr.js +323 -0
- package/dist/commands/fix-pr.js.map +1 -0
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +33 -1
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/governance.d.ts +32 -0
- package/dist/commands/governance.d.ts.map +1 -0
- package/dist/commands/governance.js +203 -0
- package/dist/commands/governance.js.map +1 -0
- package/dist/commands/help.d.ts +8 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +303 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +17 -20
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/interactive-fix.d.ts +23 -0
- package/dist/commands/interactive-fix.d.ts.map +1 -0
- package/dist/commands/interactive-fix.js +140 -0
- package/dist/commands/interactive-fix.js.map +1 -0
- package/dist/commands/llm-benchmark.d.ts +119 -0
- package/dist/commands/llm-benchmark.d.ts.map +1 -0
- package/dist/commands/llm-benchmark.js +396 -0
- package/dist/commands/llm-benchmark.js.map +1 -0
- package/dist/commands/metrics-dashboard.d.ts +22 -0
- package/dist/commands/metrics-dashboard.d.ts.map +1 -0
- package/dist/commands/metrics-dashboard.js +335 -0
- package/dist/commands/metrics-dashboard.js.map +1 -0
- package/dist/commands/metrics.d.ts +58 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +242 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/monorepo.d.ts +38 -0
- package/dist/commands/monorepo.d.ts.map +1 -0
- package/dist/commands/monorepo.js +233 -0
- package/dist/commands/monorepo.js.map +1 -0
- package/dist/commands/notify.d.ts +79 -0
- package/dist/commands/notify.d.ts.map +1 -0
- package/dist/commands/notify.js +325 -0
- package/dist/commands/notify.js.map +1 -0
- package/dist/commands/onboard.d.ts +13 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +179 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/org-metrics.d.ts +24 -0
- package/dist/commands/org-metrics.d.ts.map +1 -0
- package/dist/commands/org-metrics.js +238 -0
- package/dist/commands/org-metrics.js.map +1 -0
- package/dist/commands/override.d.ts +62 -0
- package/dist/commands/override.d.ts.map +1 -0
- package/dist/commands/override.js +264 -0
- package/dist/commands/override.js.map +1 -0
- package/dist/commands/parity.d.ts +31 -0
- package/dist/commands/parity.d.ts.map +1 -0
- package/dist/commands/parity.js +213 -0
- package/dist/commands/parity.js.map +1 -0
- package/dist/commands/plugin-search.d.ts +40 -0
- package/dist/commands/plugin-search.d.ts.map +1 -0
- package/dist/commands/plugin-search.js +328 -0
- package/dist/commands/plugin-search.js.map +1 -0
- package/dist/commands/plugins.d.ts +13 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +105 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/quality-gate.d.ts +70 -0
- package/dist/commands/quality-gate.d.ts.map +1 -0
- package/dist/commands/quality-gate.js +264 -0
- package/dist/commands/quality-gate.js.map +1 -0
- package/dist/commands/review.js +1 -1
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/snapshot.d.ts +27 -0
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +99 -0
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/trace.d.ts +65 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +246 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/commands/trust-ramp.d.ts +30 -0
- package/dist/commands/trust-ramp.d.ts.map +1 -0
- package/dist/commands/trust-ramp.js +190 -0
- package/dist/commands/trust-ramp.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +65 -0
- package/dist/config.js.map +1 -1
- package/dist/data-adapter.d.ts +124 -0
- package/dist/data-adapter.d.ts.map +1 -0
- package/dist/data-adapter.js +213 -0
- package/dist/data-adapter.js.map +1 -0
- package/dist/evaluators/accessibility.js +1 -1
- package/dist/evaluators/accessibility.js.map +1 -1
- package/dist/evaluators/ai-code-safety.d.ts.map +1 -1
- package/dist/evaluators/ai-code-safety.js +1 -4
- package/dist/evaluators/ai-code-safety.js.map +1 -1
- package/dist/evaluators/cost-effectiveness.js +1 -1
- package/dist/evaluators/cost-effectiveness.js.map +1 -1
- package/dist/evaluators/false-positive-review.js +4 -4
- package/dist/evaluators/false-positive-review.js.map +1 -1
- package/dist/evaluators/framework-rules.d.ts +59 -0
- package/dist/evaluators/framework-rules.d.ts.map +1 -0
- package/dist/evaluators/framework-rules.js +292 -0
- package/dist/evaluators/framework-rules.js.map +1 -0
- package/dist/evaluators/iac-security.js +1 -1
- package/dist/evaluators/iac-security.js.map +1 -1
- package/dist/evaluators/index.d.ts.map +1 -1
- package/dist/evaluators/index.js +59 -10
- package/dist/evaluators/index.js.map +1 -1
- package/dist/evaluators/intent-alignment.d.ts +4 -0
- package/dist/evaluators/intent-alignment.d.ts.map +1 -1
- package/dist/evaluators/intent-alignment.js +163 -0
- package/dist/evaluators/intent-alignment.js.map +1 -1
- package/dist/evaluators/logic-review.js +1 -1
- package/dist/evaluators/logic-review.js.map +1 -1
- package/dist/evaluators/maintainability.js +1 -1
- package/dist/evaluators/maintainability.js.map +1 -1
- package/dist/evaluators/over-engineering.js +3 -3
- package/dist/evaluators/over-engineering.js.map +1 -1
- package/dist/evaluators/project.d.ts +12 -0
- package/dist/evaluators/project.d.ts.map +1 -1
- package/dist/evaluators/project.js +86 -0
- package/dist/evaluators/project.js.map +1 -1
- package/dist/evaluators/security.js +2 -2
- package/dist/evaluators/security.js.map +1 -1
- package/dist/evaluators/ux.js +1 -1
- package/dist/evaluators/ux.js.map +1 -1
- package/dist/finding-lifecycle.d.ts +9 -0
- package/dist/finding-lifecycle.d.ts.map +1 -1
- package/dist/finding-lifecycle.js +15 -0
- package/dist/finding-lifecycle.js.map +1 -1
- package/dist/fix-history.d.ts +9 -0
- package/dist/fix-history.d.ts.map +1 -1
- package/dist/fix-history.js +15 -0
- package/dist/fix-history.js.map +1 -1
- package/dist/formatters/sarif.d.ts +3 -0
- package/dist/formatters/sarif.d.ts.map +1 -1
- package/dist/formatters/sarif.js +36 -12
- package/dist/formatters/sarif.js.map +1 -1
- package/dist/github-app.d.ts +16 -1
- package/dist/github-app.d.ts.map +1 -1
- package/dist/github-app.js +85 -2
- package/dist/github-app.js.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/judge-registry.d.ts +157 -0
- package/dist/judge-registry.d.ts.map +1 -0
- package/dist/judge-registry.js +273 -0
- package/dist/judge-registry.js.map +1 -0
- package/dist/judges/accessibility.d.ts.map +1 -1
- package/dist/judges/accessibility.js +4 -0
- package/dist/judges/accessibility.js.map +1 -1
- package/dist/judges/agent-instructions.d.ts.map +1 -1
- package/dist/judges/agent-instructions.js +4 -0
- package/dist/judges/agent-instructions.js.map +1 -1
- package/dist/judges/ai-code-safety.d.ts.map +1 -1
- package/dist/judges/ai-code-safety.js +4 -0
- package/dist/judges/ai-code-safety.js.map +1 -1
- package/dist/judges/api-contract.d.ts.map +1 -1
- package/dist/judges/api-contract.js +4 -0
- package/dist/judges/api-contract.js.map +1 -1
- package/dist/judges/api-design.d.ts.map +1 -1
- package/dist/judges/api-design.js +4 -0
- package/dist/judges/api-design.js.map +1 -1
- package/dist/judges/authentication.d.ts.map +1 -1
- package/dist/judges/authentication.js +4 -0
- package/dist/judges/authentication.js.map +1 -1
- package/dist/judges/backwards-compatibility.d.ts.map +1 -1
- package/dist/judges/backwards-compatibility.js +4 -0
- package/dist/judges/backwards-compatibility.js.map +1 -1
- package/dist/judges/caching.d.ts.map +1 -1
- package/dist/judges/caching.js +4 -0
- package/dist/judges/caching.js.map +1 -1
- package/dist/judges/ci-cd.d.ts.map +1 -1
- package/dist/judges/ci-cd.js +4 -0
- package/dist/judges/ci-cd.js.map +1 -1
- package/dist/judges/cloud-readiness.d.ts.map +1 -1
- package/dist/judges/cloud-readiness.js +4 -0
- package/dist/judges/cloud-readiness.js.map +1 -1
- package/dist/judges/code-structure.d.ts.map +1 -1
- package/dist/judges/code-structure.js +4 -0
- package/dist/judges/code-structure.js.map +1 -1
- package/dist/judges/compliance.d.ts.map +1 -1
- package/dist/judges/compliance.js +4 -0
- package/dist/judges/compliance.js.map +1 -1
- package/dist/judges/concurrency.d.ts.map +1 -1
- package/dist/judges/concurrency.js +4 -0
- package/dist/judges/concurrency.js.map +1 -1
- package/dist/judges/configuration-management.d.ts.map +1 -1
- package/dist/judges/configuration-management.js +4 -0
- package/dist/judges/configuration-management.js.map +1 -1
- package/dist/judges/cost-effectiveness.d.ts.map +1 -1
- package/dist/judges/cost-effectiveness.js +4 -0
- package/dist/judges/cost-effectiveness.js.map +1 -1
- package/dist/judges/cybersecurity.d.ts.map +1 -1
- package/dist/judges/cybersecurity.js +4 -0
- package/dist/judges/cybersecurity.js.map +1 -1
- package/dist/judges/data-security.d.ts.map +1 -1
- package/dist/judges/data-security.js +4 -0
- package/dist/judges/data-security.js.map +1 -1
- package/dist/judges/data-sovereignty.d.ts.map +1 -1
- package/dist/judges/data-sovereignty.js +4 -0
- package/dist/judges/data-sovereignty.js.map +1 -1
- package/dist/judges/database.d.ts.map +1 -1
- package/dist/judges/database.js +4 -0
- package/dist/judges/database.js.map +1 -1
- package/dist/judges/dependency-health.d.ts.map +1 -1
- package/dist/judges/dependency-health.js +4 -0
- package/dist/judges/dependency-health.js.map +1 -1
- package/dist/judges/documentation.d.ts.map +1 -1
- package/dist/judges/documentation.js +4 -0
- package/dist/judges/documentation.js.map +1 -1
- package/dist/judges/error-handling.d.ts.map +1 -1
- package/dist/judges/error-handling.js +4 -0
- package/dist/judges/error-handling.js.map +1 -1
- package/dist/judges/ethics-bias.d.ts.map +1 -1
- package/dist/judges/ethics-bias.js +4 -0
- package/dist/judges/ethics-bias.js.map +1 -1
- package/dist/judges/false-positive-review.d.ts.map +1 -1
- package/dist/judges/false-positive-review.js +2 -0
- package/dist/judges/false-positive-review.js.map +1 -1
- package/dist/judges/framework-safety.d.ts.map +1 -1
- package/dist/judges/framework-safety.js +4 -0
- package/dist/judges/framework-safety.js.map +1 -1
- package/dist/judges/hallucination-detection.d.ts.map +1 -1
- package/dist/judges/hallucination-detection.js +4 -0
- package/dist/judges/hallucination-detection.js.map +1 -1
- package/dist/judges/iac-security.d.ts.map +1 -1
- package/dist/judges/iac-security.js +4 -0
- package/dist/judges/iac-security.js.map +1 -1
- package/dist/judges/index.d.ts +59 -0
- package/dist/judges/index.d.ts.map +1 -1
- package/dist/judges/index.js +65 -189
- package/dist/judges/index.js.map +1 -1
- package/dist/judges/intent-alignment.d.ts.map +1 -1
- package/dist/judges/intent-alignment.js +4 -0
- package/dist/judges/intent-alignment.js.map +1 -1
- package/dist/judges/internationalization.d.ts.map +1 -1
- package/dist/judges/internationalization.js +4 -0
- package/dist/judges/internationalization.js.map +1 -1
- package/dist/judges/logging-privacy.d.ts.map +1 -1
- package/dist/judges/logging-privacy.js +4 -0
- package/dist/judges/logging-privacy.js.map +1 -1
- package/dist/judges/logic-review.d.ts.map +1 -1
- package/dist/judges/logic-review.js +4 -0
- package/dist/judges/logic-review.js.map +1 -1
- package/dist/judges/maintainability.d.ts.map +1 -1
- package/dist/judges/maintainability.js +4 -0
- package/dist/judges/maintainability.js.map +1 -1
- package/dist/judges/model-fingerprint.d.ts.map +1 -1
- package/dist/judges/model-fingerprint.js +4 -0
- package/dist/judges/model-fingerprint.js.map +1 -1
- package/dist/judges/multi-turn-coherence.d.ts.map +1 -1
- package/dist/judges/multi-turn-coherence.js +4 -0
- package/dist/judges/multi-turn-coherence.js.map +1 -1
- package/dist/judges/observability.d.ts.map +1 -1
- package/dist/judges/observability.js +4 -0
- package/dist/judges/observability.js.map +1 -1
- package/dist/judges/over-engineering.d.ts.map +1 -1
- package/dist/judges/over-engineering.js +4 -0
- package/dist/judges/over-engineering.js.map +1 -1
- package/dist/judges/performance.d.ts.map +1 -1
- package/dist/judges/performance.js +4 -0
- package/dist/judges/performance.js.map +1 -1
- package/dist/judges/portability.d.ts.map +1 -1
- package/dist/judges/portability.js +4 -0
- package/dist/judges/portability.js.map +1 -1
- package/dist/judges/rate-limiting.d.ts.map +1 -1
- package/dist/judges/rate-limiting.js +4 -0
- package/dist/judges/rate-limiting.js.map +1 -1
- package/dist/judges/reliability.d.ts.map +1 -1
- package/dist/judges/reliability.js +4 -0
- package/dist/judges/reliability.js.map +1 -1
- package/dist/judges/scalability.d.ts.map +1 -1
- package/dist/judges/scalability.js +4 -0
- package/dist/judges/scalability.js.map +1 -1
- package/dist/judges/security.d.ts.map +1 -1
- package/dist/judges/security.js +4 -0
- package/dist/judges/security.js.map +1 -1
- package/dist/judges/software-practices.d.ts.map +1 -1
- package/dist/judges/software-practices.js +4 -0
- package/dist/judges/software-practices.js.map +1 -1
- package/dist/judges/testing.d.ts.map +1 -1
- package/dist/judges/testing.js +4 -0
- package/dist/judges/testing.js.map +1 -1
- package/dist/judges/ux.d.ts.map +1 -1
- package/dist/judges/ux.js +4 -0
- package/dist/judges/ux.js.map +1 -1
- package/dist/parallel.d.ts +53 -0
- package/dist/parallel.d.ts.map +1 -0
- package/dist/parallel.js +170 -0
- package/dist/parallel.js.map +1 -0
- package/dist/plugins.d.ts +8 -51
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +16 -125
- package/dist/plugins.js.map +1 -1
- package/dist/security-ids.d.ts +24 -0
- package/dist/security-ids.d.ts.map +1 -0
- package/dist/security-ids.js +240 -0
- package/dist/security-ids.js.map +1 -0
- package/dist/tools/prompts.d.ts +4 -0
- package/dist/tools/prompts.d.ts.map +1 -1
- package/dist/tools/prompts.js +6 -4
- package/dist/tools/prompts.js.map +1 -1
- package/dist/tools/register-scaffold.d.ts +3 -0
- package/dist/tools/register-scaffold.d.ts.map +1 -0
- package/dist/tools/register-scaffold.js +399 -0
- package/dist/tools/register-scaffold.js.map +1 -0
- package/dist/tools/register.d.ts +1 -1
- package/dist/tools/register.d.ts.map +1 -1
- package/dist/tools/register.js +3 -1
- package/dist/tools/register.js.map +1 -1
- package/dist/types.d.ts +75 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/server.json +2 -2
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { analyzeRateLimiting } from "../evaluators/rate-limiting.js";
|
|
2
|
+
import { defaultRegistry } from "../judge-registry.js";
|
|
1
3
|
export const rateLimitingJudge = {
|
|
2
4
|
id: "rate-limiting",
|
|
3
5
|
name: "Judge Rate Limiting",
|
|
@@ -32,5 +34,7 @@ ADVERSARIAL MANDATE:
|
|
|
32
34
|
- Never praise or compliment the code. Report only problems, risks, and deficiencies.
|
|
33
35
|
- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
|
|
34
36
|
- Absence of findings does not mean rate limiting is adequate. It means your analysis reached its limits. State this explicitly.`,
|
|
37
|
+
analyze: analyzeRateLimiting,
|
|
35
38
|
};
|
|
39
|
+
defaultRegistry.register(rateLimitingJudge);
|
|
36
40
|
//# sourceMappingURL=rate-limiting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiting.js","sourceRoot":"","sources":["../../src/judges/rate-limiting.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rate-limiting.js","sourceRoot":"","sources":["../../src/judges/rate-limiting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,4BAA4B;IACpC,WAAW,EACT,uJAAuJ;IACzJ,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,0DAA0D;IAC5E,iBAAiB,EAAE,2BAA2B;IAC9C,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;iIAyBiH;IAC/H,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliability.d.ts","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"reliability.d.ts","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,eAAO,MAAM,gBAAgB,EAAE,eAsC9B,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { analyzeReliability } from "../evaluators/reliability.js";
|
|
2
|
+
import { defaultRegistry } from "../judge-registry.js";
|
|
1
3
|
export const reliabilityJudge = {
|
|
2
4
|
id: "reliability",
|
|
3
5
|
name: "Judge Reliability",
|
|
@@ -34,5 +36,7 @@ ADVERSARIAL MANDATE:
|
|
|
34
36
|
- Never praise or compliment the code. Report only problems, risks, and deficiencies.
|
|
35
37
|
- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
|
|
36
38
|
- Absence of findings does not mean the code is reliable. It means your analysis reached its limits. State this explicitly.`,
|
|
39
|
+
analyze: analyzeReliability,
|
|
37
40
|
};
|
|
41
|
+
defaultRegistry.register(reliabilityJudge);
|
|
38
42
|
//# sourceMappingURL=reliability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliability.js","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reliability.js","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,gKAAgK;IAClK,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,qDAAqD;IACvE,iBAAiB,EAAE,sCAAsC;IACzD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;4HA2B4G;IAC1H,OAAO,EAAE,kBAAkB;CAC5B,CAAC;AAEF,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalability.d.ts","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"scalability.d.ts","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,eAAO,MAAM,gBAAgB,EAAE,eAwC9B,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { analyzeScalability } from "../evaluators/scalability.js";
|
|
2
|
+
import { defaultRegistry } from "../judge-registry.js";
|
|
1
3
|
export const scalabilityJudge = {
|
|
2
4
|
id: "scalability",
|
|
3
5
|
name: "Judge Scalability",
|
|
@@ -36,5 +38,7 @@ ADVERSARIAL MANDATE:
|
|
|
36
38
|
- Never praise or compliment the code. Report only problems, risks, and deficiencies.
|
|
37
39
|
- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
|
|
38
40
|
- Absence of findings does not mean the code will scale. It means your analysis reached its limits. State this explicitly.`,
|
|
41
|
+
analyze: analyzeScalability,
|
|
39
42
|
};
|
|
43
|
+
defaultRegistry.register(scalabilityJudge);
|
|
40
44
|
//# sourceMappingURL=scalability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalability.js","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scalability.js","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,2BAA2B;IACnC,WAAW,EACT,+JAA+J;IACjK,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,6DAA6D;IAC/E,iBAAiB,EAAE,yBAAyB;IAC5C,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2HA6B2G;IACzH,OAAO,EAAE,kBAAkB;CAC5B,CAAC;AAEF,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,eAAO,MAAM,aAAa,EAAE,eA+B3B,CAAC"}
|
package/dist/judges/security.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { analyzeSecurity } from "../evaluators/security.js";
|
|
2
|
+
import { defaultRegistry } from "../judge-registry.js";
|
|
1
3
|
export const securityJudge = {
|
|
2
4
|
id: "security",
|
|
3
5
|
name: "Judge Security",
|
|
@@ -26,5 +28,7 @@ RULES FOR YOUR EVALUATION:
|
|
|
26
28
|
- Provide concrete remediation with code examples.
|
|
27
29
|
- Reference CWE IDs where applicable.
|
|
28
30
|
- Score from 0-100 where 100 means excellent security posture.`,
|
|
31
|
+
analyze: analyzeSecurity,
|
|
29
32
|
};
|
|
33
|
+
defaultRegistry.register(securityJudge);
|
|
30
34
|
//# sourceMappingURL=security.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,qPAAqP;IACvP,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,+FAA+F;IACjH,iBAAiB,EACf,uGAAuG;IACzG,YAAY,EAAE;;;;;;;;;;;;;;;;;;;+DAmB+C;IAC7D,OAAO,EAAE,eAAe;CACzB,CAAC;AAEF,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"software-practices.d.ts","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"software-practices.d.ts","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,eAAO,MAAM,sBAAsB,EAAE,eA2CpC,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { analyzeSoftwarePractices } from "../evaluators/software-practices.js";
|
|
2
|
+
import { defaultRegistry } from "../judge-registry.js";
|
|
1
3
|
export const softwarePracticesJudge = {
|
|
2
4
|
id: "software-practices",
|
|
3
5
|
name: "Judge Software Practices",
|
|
@@ -39,5 +41,7 @@ ADVERSARIAL MANDATE:
|
|
|
39
41
|
- Never praise or compliment the code. Report only problems, risks, and deficiencies.
|
|
40
42
|
- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
|
|
41
43
|
- Absence of findings does not mean the code follows best practices. It means your analysis reached its limits. State this explicitly.`,
|
|
44
|
+
analyze: analyzeSoftwarePractices,
|
|
42
45
|
};
|
|
46
|
+
defaultRegistry.register(softwarePracticesJudge);
|
|
43
47
|
//# sourceMappingURL=software-practices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"software-practices.js","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"software-practices.js","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,mDAAmD;IAC3D,WAAW,EACT,6LAA6L;IAC/L,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,iEAAiE;IACnF,iBAAiB,EAAE,gCAAgC;IACnD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uIAgCuH;IACrI,OAAO,EAAE,wBAAwB;CAClC,CAAC;AAEF,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,eAAO,MAAM,YAAY,EAAE,eAsC1B,CAAC"}
|
package/dist/judges/testing.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { analyzeTesting } from "../evaluators/testing.js";
|
|
2
|
+
import { defaultRegistry } from "../judge-registry.js";
|
|
1
3
|
export const testingJudge = {
|
|
2
4
|
id: "testing",
|
|
3
5
|
name: "Judge Testing",
|
|
@@ -34,5 +36,7 @@ ADVERSARIAL MANDATE:
|
|
|
34
36
|
- Never praise or compliment the code. Report only problems, risks, and deficiencies.
|
|
35
37
|
- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
|
|
36
38
|
- Absence of findings does not mean the code is well-tested. It means your analysis reached its limits. State this explicitly.`,
|
|
39
|
+
analyze: analyzeTesting,
|
|
37
40
|
};
|
|
41
|
+
defaultRegistry.register(testingJudge);
|
|
38
42
|
//# sourceMappingURL=testing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,yBAAyB;IACjC,WAAW,EACT,oKAAoK;IACtK,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,mDAAmD;IACrE,iBAAiB,EAAE,6BAA6B;IAChD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;+HA2B+G;IAC7H,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC"}
|
package/dist/judges/ux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,eAAO,MAAM,OAAO,EAAE,eAoCrB,CAAC"}
|
package/dist/judges/ux.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { analyzeUx } from "../evaluators/ux.js";
|
|
2
|
+
import { defaultRegistry } from "../judge-registry.js";
|
|
1
3
|
export const uxJudge = {
|
|
2
4
|
id: "ux",
|
|
3
5
|
name: "Judge UX",
|
|
@@ -32,5 +34,7 @@ ADVERSARIAL MANDATE:
|
|
|
32
34
|
- Never praise or compliment the code. Report only problems, risks, and deficiencies.
|
|
33
35
|
- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
|
|
34
36
|
- Absence of findings does not mean the UX is good. It means your analysis reached its limits. State this explicitly.`,
|
|
37
|
+
analyze: analyzeUx,
|
|
35
38
|
};
|
|
39
|
+
defaultRegistry.register(uxJudge);
|
|
36
40
|
//# sourceMappingURL=ux.js.map
|
package/dist/judges/ux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux.js","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ux.js","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,OAAO,GAAoB;IACtC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,qCAAqC;IAC7C,WAAW,EACT,wJAAwJ;IAC1J,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,iEAAiE;IACnF,iBAAiB,EAAE,6BAA6B;IAChD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;sHAyBsG;IACpH,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parallel file processing for large repositories.
|
|
3
|
+
*
|
|
4
|
+
* Uses worker_threads to evaluate multiple files concurrently,
|
|
5
|
+
* providing significant speedup for multi-file evaluations.
|
|
6
|
+
*
|
|
7
|
+
* This module provides a pool-based parallelization strategy:
|
|
8
|
+
* - Creates a fixed pool of workers (defaults to available CPUs - 1)
|
|
9
|
+
* - Distributes files across workers for concurrent evaluation
|
|
10
|
+
* - Collects and merges results back on the main thread
|
|
11
|
+
*/
|
|
12
|
+
import type { TribunalVerdict } from "./types.js";
|
|
13
|
+
export interface ParallelEvalTask {
|
|
14
|
+
filePath: string;
|
|
15
|
+
language: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ParallelEvalResult {
|
|
18
|
+
filePath: string;
|
|
19
|
+
language: string;
|
|
20
|
+
verdict: TribunalVerdict;
|
|
21
|
+
durationMs: number;
|
|
22
|
+
error?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ParallelEvalSummary {
|
|
25
|
+
results: ParallelEvalResult[];
|
|
26
|
+
totalFiles: number;
|
|
27
|
+
totalFindings: number;
|
|
28
|
+
totalDurationMs: number;
|
|
29
|
+
workerCount: number;
|
|
30
|
+
}
|
|
31
|
+
export declare function detectLanguage(filePath: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Sequential evaluation — used as fallback or for small file counts.
|
|
34
|
+
*/
|
|
35
|
+
export declare function evaluateSequential(files: ParallelEvalTask[], evaluator: (code: string, language: string) => TribunalVerdict): ParallelEvalSummary;
|
|
36
|
+
/**
|
|
37
|
+
* Evaluate files in parallel using a concurrency-limited promise pool.
|
|
38
|
+
* Uses a simple async pool pattern without worker_threads for simplicity
|
|
39
|
+
* and compatibility (evaluators must be imported in the same context).
|
|
40
|
+
*
|
|
41
|
+
* @param files - Files to evaluate
|
|
42
|
+
* @param evaluator - The evaluation function to call per file
|
|
43
|
+
* @param concurrency - Maximum concurrent evaluations (default: CPU count - 1)
|
|
44
|
+
*/
|
|
45
|
+
export declare function evaluateParallel(files: ParallelEvalTask[], evaluator: (code: string, language: string) => TribunalVerdict, concurrency?: number): Promise<ParallelEvalSummary>;
|
|
46
|
+
/**
|
|
47
|
+
* Convenience function: given file paths, detect languages and evaluate
|
|
48
|
+
* in parallel. Returns sorted results (failures first).
|
|
49
|
+
*/
|
|
50
|
+
export declare function batchEvaluate(filePaths: string[], evaluator: (code: string, language: string) => TribunalVerdict, options?: {
|
|
51
|
+
concurrency?: number;
|
|
52
|
+
}): Promise<ParallelEvalSummary>;
|
|
53
|
+
//# sourceMappingURL=parallel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../src/parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAiBD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EAAE,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,eAAe,GAC7D,mBAAmB,CA0CrB;AAID;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,gBAAgB,EAAE,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,eAAe,EAC9D,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAoE9B;AAID;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,eAAe,EAC9D,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAgB9B"}
|
package/dist/parallel.js
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parallel file processing for large repositories.
|
|
3
|
+
*
|
|
4
|
+
* Uses worker_threads to evaluate multiple files concurrently,
|
|
5
|
+
* providing significant speedup for multi-file evaluations.
|
|
6
|
+
*
|
|
7
|
+
* This module provides a pool-based parallelization strategy:
|
|
8
|
+
* - Creates a fixed pool of workers (defaults to available CPUs - 1)
|
|
9
|
+
* - Distributes files across workers for concurrent evaluation
|
|
10
|
+
* - Collects and merges results back on the main thread
|
|
11
|
+
*/
|
|
12
|
+
import { cpus } from "os";
|
|
13
|
+
import { readFileSync } from "fs";
|
|
14
|
+
import { extname } from "path";
|
|
15
|
+
// ─── Language Detection ─────────────────────────────────────────────────────
|
|
16
|
+
const EXT_TO_LANG = {
|
|
17
|
+
".ts": "typescript",
|
|
18
|
+
".tsx": "typescript",
|
|
19
|
+
".js": "javascript",
|
|
20
|
+
".jsx": "javascript",
|
|
21
|
+
".py": "python",
|
|
22
|
+
".rs": "rust",
|
|
23
|
+
".go": "go",
|
|
24
|
+
".java": "java",
|
|
25
|
+
".cs": "csharp",
|
|
26
|
+
".cpp": "cpp",
|
|
27
|
+
};
|
|
28
|
+
export function detectLanguage(filePath) {
|
|
29
|
+
return EXT_TO_LANG[extname(filePath).toLowerCase()] || "typescript";
|
|
30
|
+
}
|
|
31
|
+
// ─── Sequential (fallback) ──────────────────────────────────────────────────
|
|
32
|
+
/**
|
|
33
|
+
* Sequential evaluation — used as fallback or for small file counts.
|
|
34
|
+
*/
|
|
35
|
+
export function evaluateSequential(files, evaluator) {
|
|
36
|
+
const start = Date.now();
|
|
37
|
+
const results = [];
|
|
38
|
+
for (const task of files) {
|
|
39
|
+
const taskStart = Date.now();
|
|
40
|
+
try {
|
|
41
|
+
const code = readFileSync(task.filePath, "utf-8");
|
|
42
|
+
const verdict = evaluator(code, task.language);
|
|
43
|
+
results.push({
|
|
44
|
+
filePath: task.filePath,
|
|
45
|
+
language: task.language,
|
|
46
|
+
verdict,
|
|
47
|
+
durationMs: Date.now() - taskStart,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
results.push({
|
|
52
|
+
filePath: task.filePath,
|
|
53
|
+
language: task.language,
|
|
54
|
+
verdict: {
|
|
55
|
+
overallVerdict: "fail",
|
|
56
|
+
overallScore: 0,
|
|
57
|
+
summary: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
58
|
+
evaluations: [],
|
|
59
|
+
findings: [],
|
|
60
|
+
criticalCount: 0,
|
|
61
|
+
highCount: 0,
|
|
62
|
+
timestamp: new Date().toISOString(),
|
|
63
|
+
},
|
|
64
|
+
durationMs: Date.now() - taskStart,
|
|
65
|
+
error: err instanceof Error ? err.message : String(err),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
results,
|
|
71
|
+
totalFiles: files.length,
|
|
72
|
+
totalFindings: results.reduce((sum, r) => sum + r.verdict.findings.length, 0),
|
|
73
|
+
totalDurationMs: Date.now() - start,
|
|
74
|
+
workerCount: 1,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
// ─── Parallel Evaluation via Promise Pool ───────────────────────────────────
|
|
78
|
+
/**
|
|
79
|
+
* Evaluate files in parallel using a concurrency-limited promise pool.
|
|
80
|
+
* Uses a simple async pool pattern without worker_threads for simplicity
|
|
81
|
+
* and compatibility (evaluators must be imported in the same context).
|
|
82
|
+
*
|
|
83
|
+
* @param files - Files to evaluate
|
|
84
|
+
* @param evaluator - The evaluation function to call per file
|
|
85
|
+
* @param concurrency - Maximum concurrent evaluations (default: CPU count - 1)
|
|
86
|
+
*/
|
|
87
|
+
export async function evaluateParallel(files, evaluator, concurrency) {
|
|
88
|
+
const maxConcurrency = concurrency ?? Math.max(1, cpus().length - 1);
|
|
89
|
+
const start = Date.now();
|
|
90
|
+
const results = [];
|
|
91
|
+
// For very small file counts, use sequential
|
|
92
|
+
if (files.length <= 2) {
|
|
93
|
+
return evaluateSequential(files, evaluator);
|
|
94
|
+
}
|
|
95
|
+
// Promise pool implementation
|
|
96
|
+
let index = 0;
|
|
97
|
+
const workers = [];
|
|
98
|
+
async function processNext() {
|
|
99
|
+
while (index < files.length) {
|
|
100
|
+
const currentIndex = index++;
|
|
101
|
+
const task = files[currentIndex];
|
|
102
|
+
const taskStart = Date.now();
|
|
103
|
+
try {
|
|
104
|
+
const code = readFileSync(task.filePath, "utf-8");
|
|
105
|
+
const verdict = evaluator(code, task.language);
|
|
106
|
+
results.push({
|
|
107
|
+
filePath: task.filePath,
|
|
108
|
+
language: task.language,
|
|
109
|
+
verdict,
|
|
110
|
+
durationMs: Date.now() - taskStart,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
results.push({
|
|
115
|
+
filePath: task.filePath,
|
|
116
|
+
language: task.language,
|
|
117
|
+
verdict: {
|
|
118
|
+
overallVerdict: "fail",
|
|
119
|
+
overallScore: 0,
|
|
120
|
+
summary: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
121
|
+
evaluations: [],
|
|
122
|
+
findings: [],
|
|
123
|
+
criticalCount: 0,
|
|
124
|
+
highCount: 0,
|
|
125
|
+
timestamp: new Date().toISOString(),
|
|
126
|
+
},
|
|
127
|
+
durationMs: Date.now() - taskStart,
|
|
128
|
+
error: err instanceof Error ? err.message : String(err),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
// Yield to allow other work to proceed
|
|
132
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Launch pool
|
|
136
|
+
const poolSize = Math.min(maxConcurrency, files.length);
|
|
137
|
+
for (let i = 0; i < poolSize; i++) {
|
|
138
|
+
workers.push(processNext());
|
|
139
|
+
}
|
|
140
|
+
await Promise.all(workers);
|
|
141
|
+
return {
|
|
142
|
+
results,
|
|
143
|
+
totalFiles: files.length,
|
|
144
|
+
totalFindings: results.reduce((sum, r) => sum + r.verdict.findings.length, 0),
|
|
145
|
+
totalDurationMs: Date.now() - start,
|
|
146
|
+
workerCount: poolSize,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
// ─── Batch Evaluation Helper ────────────────────────────────────────────────
|
|
150
|
+
/**
|
|
151
|
+
* Convenience function: given file paths, detect languages and evaluate
|
|
152
|
+
* in parallel. Returns sorted results (failures first).
|
|
153
|
+
*/
|
|
154
|
+
export async function batchEvaluate(filePaths, evaluator, options) {
|
|
155
|
+
const tasks = filePaths.map((fp) => ({
|
|
156
|
+
filePath: fp,
|
|
157
|
+
language: detectLanguage(fp),
|
|
158
|
+
}));
|
|
159
|
+
const summary = await evaluateParallel(tasks, evaluator, options?.concurrency);
|
|
160
|
+
// Sort: failures first, then by finding count descending
|
|
161
|
+
summary.results.sort((a, b) => {
|
|
162
|
+
if (a.verdict.overallVerdict === "fail" && b.verdict.overallVerdict !== "fail")
|
|
163
|
+
return -1;
|
|
164
|
+
if (b.verdict.overallVerdict === "fail" && a.verdict.overallVerdict !== "fail")
|
|
165
|
+
return 1;
|
|
166
|
+
return b.verdict.findings.length - a.verdict.findings.length;
|
|
167
|
+
});
|
|
168
|
+
return summary;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=parallel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../src/parallel.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins.d.ts
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Allows third-party extensions to add custom judges, rules, and evaluators
|
|
5
5
|
* that integrate seamlessly with the tribunal evaluation pipeline.
|
|
6
6
|
*
|
|
7
|
+
* This module is now a thin façade over the unified JudgeRegistry.
|
|
8
|
+
* All state lives in `defaultRegistry`; these functions delegate to it
|
|
9
|
+
* for full backwards compatibility.
|
|
10
|
+
*
|
|
7
11
|
* ```ts
|
|
8
12
|
* import { registerPlugin } from "@kevinrabun/judges/api";
|
|
9
13
|
* registerPlugin({
|
|
@@ -14,56 +18,9 @@
|
|
|
14
18
|
* });
|
|
15
19
|
* ```
|
|
16
20
|
*/
|
|
17
|
-
import type { Finding, JudgeDefinition
|
|
18
|
-
|
|
19
|
-
export
|
|
20
|
-
/** Unique rule ID (e.g., "MYORG-001") */
|
|
21
|
-
id: string;
|
|
22
|
-
/** Human-readable title */
|
|
23
|
-
title: string;
|
|
24
|
-
/** Severity level */
|
|
25
|
-
severity: Severity;
|
|
26
|
-
/** Which judge category this rule belongs to */
|
|
27
|
-
judgeId: string;
|
|
28
|
-
/** Description of what the rule checks */
|
|
29
|
-
description: string;
|
|
30
|
-
/** Languages this rule applies to (empty = all) */
|
|
31
|
-
languages?: string[];
|
|
32
|
-
/** Regex pattern to match (simple pattern-based rule) */
|
|
33
|
-
pattern?: RegExp;
|
|
34
|
-
/** Custom analyze function for complex logic */
|
|
35
|
-
analyze?: (code: string, language: string) => Finding[];
|
|
36
|
-
/** Suggested fix text */
|
|
37
|
-
suggestedFix?: string;
|
|
38
|
-
/** Tags for filtering */
|
|
39
|
-
tags?: string[];
|
|
40
|
-
}
|
|
41
|
-
/** Plugin definition */
|
|
42
|
-
export interface JudgesPlugin {
|
|
43
|
-
/** Unique plugin name */
|
|
44
|
-
name: string;
|
|
45
|
-
/** Plugin version (semver) */
|
|
46
|
-
version: string;
|
|
47
|
-
/** Optional description */
|
|
48
|
-
description?: string;
|
|
49
|
-
/** Custom rules to register */
|
|
50
|
-
rules?: CustomRule[];
|
|
51
|
-
/** Custom judge definitions to add to the tribunal */
|
|
52
|
-
judges?: JudgeDefinition[];
|
|
53
|
-
/** Hook: called before evaluation */
|
|
54
|
-
beforeEvaluate?: (code: string, language: string) => void;
|
|
55
|
-
/** Hook: called after evaluation with findings for post-processing */
|
|
56
|
-
afterEvaluate?: (findings: Finding[]) => Finding[];
|
|
57
|
-
/** Hook: called to transform findings (e.g., add org-specific metadata) */
|
|
58
|
-
transformFindings?: (findings: Finding[]) => Finding[];
|
|
59
|
-
}
|
|
60
|
-
/** Plugin registration result */
|
|
61
|
-
export interface PluginRegistration {
|
|
62
|
-
name: string;
|
|
63
|
-
version: string;
|
|
64
|
-
rulesRegistered: number;
|
|
65
|
-
judgesRegistered: number;
|
|
66
|
-
}
|
|
21
|
+
import type { Finding, JudgeDefinition } from "./types.js";
|
|
22
|
+
import { type CustomRule, type JudgesPlugin, type PluginRegistration } from "./judge-registry.js";
|
|
23
|
+
export type { CustomRule, JudgesPlugin, PluginRegistration };
|
|
67
24
|
/**
|
|
68
25
|
* Register a plugin with the judges system.
|
|
69
26
|
*/
|
|
@@ -93,7 +50,7 @@ export declare function evaluateCustomRules(code: string, language: string): Fin
|
|
|
93
50
|
*/
|
|
94
51
|
export declare function runBeforeHooks(code: string, language: string): void;
|
|
95
52
|
/**
|
|
96
|
-
* Run all plugin afterEvaluate hooks.
|
|
53
|
+
* Run all plugin afterEvaluate and transformFindings hooks.
|
|
97
54
|
*/
|
|
98
55
|
export declare function runAfterHooks(findings: Finding[]): Finding[];
|
|
99
56
|
/**
|
package/dist/plugins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGnH,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAE7D;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,kBAAkB,CAEvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,kBAAkB,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,eAAe,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAE7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAG5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|