@kevinrabun/judges 2.3.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +177 -12
  2. package/dist/api.d.ts +40 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +56 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/ast/cross-file-taint.d.ts +43 -0
  7. package/dist/ast/cross-file-taint.d.ts.map +1 -0
  8. package/dist/ast/cross-file-taint.js +713 -0
  9. package/dist/ast/cross-file-taint.js.map +1 -0
  10. package/dist/ast/index.d.ts +4 -0
  11. package/dist/ast/index.d.ts.map +1 -1
  12. package/dist/ast/index.js +5 -0
  13. package/dist/ast/index.js.map +1 -1
  14. package/dist/ast/structural-parser.d.ts.map +1 -1
  15. package/dist/ast/structural-parser.js +66 -11
  16. package/dist/ast/structural-parser.js.map +1 -1
  17. package/dist/ast/taint-tracker.d.ts +35 -0
  18. package/dist/ast/taint-tracker.d.ts.map +1 -0
  19. package/dist/ast/taint-tracker.js +518 -0
  20. package/dist/ast/taint-tracker.js.map +1 -0
  21. package/dist/ast/types.d.ts +2 -0
  22. package/dist/ast/types.d.ts.map +1 -1
  23. package/dist/ast/typescript-ast.d.ts.map +1 -1
  24. package/dist/ast/typescript-ast.js +25 -5
  25. package/dist/ast/typescript-ast.js.map +1 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +10 -9
  28. package/dist/config.js.map +1 -1
  29. package/dist/dedup.d.ts +19 -0
  30. package/dist/dedup.d.ts.map +1 -0
  31. package/dist/dedup.js +222 -0
  32. package/dist/dedup.js.map +1 -0
  33. package/dist/errors.d.ts +37 -0
  34. package/dist/errors.d.ts.map +1 -0
  35. package/dist/errors.js +57 -0
  36. package/dist/errors.js.map +1 -0
  37. package/dist/evaluators/accessibility.d.ts +1 -1
  38. package/dist/evaluators/accessibility.d.ts.map +1 -1
  39. package/dist/evaluators/accessibility.js +22 -16
  40. package/dist/evaluators/accessibility.js.map +1 -1
  41. package/dist/evaluators/agent-instructions.d.ts +1 -1
  42. package/dist/evaluators/agent-instructions.d.ts.map +1 -1
  43. package/dist/evaluators/agent-instructions.js +1 -2
  44. package/dist/evaluators/agent-instructions.js.map +1 -1
  45. package/dist/evaluators/ai-code-safety.d.ts +1 -1
  46. package/dist/evaluators/ai-code-safety.d.ts.map +1 -1
  47. package/dist/evaluators/ai-code-safety.js +2 -6
  48. package/dist/evaluators/ai-code-safety.js.map +1 -1
  49. package/dist/evaluators/api-design.d.ts +1 -1
  50. package/dist/evaluators/api-design.d.ts.map +1 -1
  51. package/dist/evaluators/api-design.js +2 -1
  52. package/dist/evaluators/api-design.js.map +1 -1
  53. package/dist/evaluators/app-builder.d.ts +34 -0
  54. package/dist/evaluators/app-builder.d.ts.map +1 -0
  55. package/dist/evaluators/app-builder.js +156 -0
  56. package/dist/evaluators/app-builder.js.map +1 -0
  57. package/dist/evaluators/authentication.d.ts +1 -1
  58. package/dist/evaluators/authentication.d.ts.map +1 -1
  59. package/dist/evaluators/authentication.js +2 -66
  60. package/dist/evaluators/authentication.js.map +1 -1
  61. package/dist/evaluators/backwards-compatibility.d.ts +1 -1
  62. package/dist/evaluators/backwards-compatibility.d.ts.map +1 -1
  63. package/dist/evaluators/backwards-compatibility.js.map +1 -1
  64. package/dist/evaluators/caching.d.ts +1 -1
  65. package/dist/evaluators/caching.d.ts.map +1 -1
  66. package/dist/evaluators/caching.js.map +1 -1
  67. package/dist/evaluators/ci-cd.d.ts +1 -1
  68. package/dist/evaluators/ci-cd.d.ts.map +1 -1
  69. package/dist/evaluators/ci-cd.js +4 -4
  70. package/dist/evaluators/ci-cd.js.map +1 -1
  71. package/dist/evaluators/cloud-readiness.d.ts +1 -1
  72. package/dist/evaluators/cloud-readiness.d.ts.map +1 -1
  73. package/dist/evaluators/cloud-readiness.js.map +1 -1
  74. package/dist/evaluators/code-structure.d.ts +1 -1
  75. package/dist/evaluators/code-structure.d.ts.map +1 -1
  76. package/dist/evaluators/code-structure.js +2 -6
  77. package/dist/evaluators/code-structure.js.map +1 -1
  78. package/dist/evaluators/compliance.d.ts +1 -1
  79. package/dist/evaluators/compliance.d.ts.map +1 -1
  80. package/dist/evaluators/compliance.js +15 -6
  81. package/dist/evaluators/compliance.js.map +1 -1
  82. package/dist/evaluators/concurrency.d.ts +1 -1
  83. package/dist/evaluators/concurrency.d.ts.map +1 -1
  84. package/dist/evaluators/concurrency.js +9 -4
  85. package/dist/evaluators/concurrency.js.map +1 -1
  86. package/dist/evaluators/configuration-management.d.ts +1 -1
  87. package/dist/evaluators/configuration-management.d.ts.map +1 -1
  88. package/dist/evaluators/configuration-management.js +7 -2
  89. package/dist/evaluators/configuration-management.js.map +1 -1
  90. package/dist/evaluators/cost-effectiveness.d.ts +1 -1
  91. package/dist/evaluators/cost-effectiveness.d.ts.map +1 -1
  92. package/dist/evaluators/cost-effectiveness.js +1 -3
  93. package/dist/evaluators/cost-effectiveness.js.map +1 -1
  94. package/dist/evaluators/cybersecurity.d.ts +1 -1
  95. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  96. package/dist/evaluators/cybersecurity.js +50 -1
  97. package/dist/evaluators/cybersecurity.js.map +1 -1
  98. package/dist/evaluators/data-security.d.ts +1 -1
  99. package/dist/evaluators/data-security.d.ts.map +1 -1
  100. package/dist/evaluators/data-security.js +9 -66
  101. package/dist/evaluators/data-security.js.map +1 -1
  102. package/dist/evaluators/data-sovereignty.d.ts +1 -1
  103. package/dist/evaluators/data-sovereignty.d.ts.map +1 -1
  104. package/dist/evaluators/data-sovereignty.js +4 -2
  105. package/dist/evaluators/data-sovereignty.js.map +1 -1
  106. package/dist/evaluators/database.d.ts +1 -1
  107. package/dist/evaluators/database.d.ts.map +1 -1
  108. package/dist/evaluators/database.js +3 -1
  109. package/dist/evaluators/database.js.map +1 -1
  110. package/dist/evaluators/dependencies.d.ts +6 -0
  111. package/dist/evaluators/dependencies.d.ts.map +1 -0
  112. package/dist/evaluators/dependencies.js +204 -0
  113. package/dist/evaluators/dependencies.js.map +1 -0
  114. package/dist/evaluators/dependency-health.d.ts +1 -1
  115. package/dist/evaluators/dependency-health.d.ts.map +1 -1
  116. package/dist/evaluators/dependency-health.js +198 -6
  117. package/dist/evaluators/dependency-health.js.map +1 -1
  118. package/dist/evaluators/documentation.d.ts +1 -1
  119. package/dist/evaluators/documentation.d.ts.map +1 -1
  120. package/dist/evaluators/documentation.js +5 -2
  121. package/dist/evaluators/documentation.js.map +1 -1
  122. package/dist/evaluators/error-handling.d.ts +1 -1
  123. package/dist/evaluators/error-handling.d.ts.map +1 -1
  124. package/dist/evaluators/error-handling.js.map +1 -1
  125. package/dist/evaluators/ethics-bias.d.ts +1 -1
  126. package/dist/evaluators/ethics-bias.d.ts.map +1 -1
  127. package/dist/evaluators/ethics-bias.js +10 -5
  128. package/dist/evaluators/ethics-bias.js.map +1 -1
  129. package/dist/evaluators/framework-safety.d.ts +13 -0
  130. package/dist/evaluators/framework-safety.d.ts.map +1 -0
  131. package/dist/evaluators/framework-safety.js +424 -0
  132. package/dist/evaluators/framework-safety.js.map +1 -0
  133. package/dist/evaluators/index.d.ts +20 -24
  134. package/dist/evaluators/index.d.ts.map +1 -1
  135. package/dist/evaluators/index.js +294 -728
  136. package/dist/evaluators/index.js.map +1 -1
  137. package/dist/evaluators/internationalization.d.ts +1 -1
  138. package/dist/evaluators/internationalization.d.ts.map +1 -1
  139. package/dist/evaluators/internationalization.js +14 -6
  140. package/dist/evaluators/internationalization.js.map +1 -1
  141. package/dist/evaluators/logging-privacy.d.ts +1 -1
  142. package/dist/evaluators/logging-privacy.d.ts.map +1 -1
  143. package/dist/evaluators/logging-privacy.js +3 -1
  144. package/dist/evaluators/logging-privacy.js.map +1 -1
  145. package/dist/evaluators/maintainability.d.ts +1 -1
  146. package/dist/evaluators/maintainability.d.ts.map +1 -1
  147. package/dist/evaluators/maintainability.js +15 -9
  148. package/dist/evaluators/maintainability.js.map +1 -1
  149. package/dist/evaluators/observability.d.ts +1 -1
  150. package/dist/evaluators/observability.d.ts.map +1 -1
  151. package/dist/evaluators/observability.js +2 -1
  152. package/dist/evaluators/observability.js.map +1 -1
  153. package/dist/evaluators/performance.d.ts +1 -1
  154. package/dist/evaluators/performance.d.ts.map +1 -1
  155. package/dist/evaluators/performance.js +181 -4
  156. package/dist/evaluators/performance.js.map +1 -1
  157. package/dist/evaluators/portability.d.ts +1 -1
  158. package/dist/evaluators/portability.d.ts.map +1 -1
  159. package/dist/evaluators/portability.js +2 -1
  160. package/dist/evaluators/portability.js.map +1 -1
  161. package/dist/evaluators/project.d.ts +16 -0
  162. package/dist/evaluators/project.d.ts.map +1 -0
  163. package/dist/evaluators/project.js +353 -0
  164. package/dist/evaluators/project.js.map +1 -0
  165. package/dist/evaluators/rate-limiting.d.ts +1 -1
  166. package/dist/evaluators/rate-limiting.d.ts.map +1 -1
  167. package/dist/evaluators/rate-limiting.js.map +1 -1
  168. package/dist/evaluators/reliability.d.ts +1 -1
  169. package/dist/evaluators/reliability.d.ts.map +1 -1
  170. package/dist/evaluators/reliability.js.map +1 -1
  171. package/dist/evaluators/scalability.d.ts +1 -1
  172. package/dist/evaluators/scalability.d.ts.map +1 -1
  173. package/dist/evaluators/scalability.js +3 -1
  174. package/dist/evaluators/scalability.js.map +1 -1
  175. package/dist/evaluators/shared.d.ts +24 -2
  176. package/dist/evaluators/shared.d.ts.map +1 -1
  177. package/dist/evaluators/shared.js +190 -2
  178. package/dist/evaluators/shared.js.map +1 -1
  179. package/dist/evaluators/software-practices.d.ts +1 -1
  180. package/dist/evaluators/software-practices.d.ts.map +1 -1
  181. package/dist/evaluators/software-practices.js +3 -3
  182. package/dist/evaluators/software-practices.js.map +1 -1
  183. package/dist/evaluators/testing.d.ts +1 -1
  184. package/dist/evaluators/testing.d.ts.map +1 -1
  185. package/dist/evaluators/testing.js +12 -4
  186. package/dist/evaluators/testing.js.map +1 -1
  187. package/dist/evaluators/ux.d.ts +1 -1
  188. package/dist/evaluators/ux.d.ts.map +1 -1
  189. package/dist/evaluators/ux.js.map +1 -1
  190. package/dist/evaluators/v2.d.ts +1 -1
  191. package/dist/evaluators/v2.d.ts.map +1 -1
  192. package/dist/evaluators/v2.js +13 -35
  193. package/dist/evaluators/v2.js.map +1 -1
  194. package/dist/formatters/sarif.d.ts +75 -0
  195. package/dist/formatters/sarif.d.ts.map +1 -0
  196. package/dist/formatters/sarif.js +93 -0
  197. package/dist/formatters/sarif.js.map +1 -0
  198. package/dist/index.d.ts +4 -1
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +9 -806
  201. package/dist/index.js.map +1 -1
  202. package/dist/judges/accessibility.d.ts +1 -1
  203. package/dist/judges/accessibility.d.ts.map +1 -1
  204. package/dist/judges/agent-instructions.d.ts +1 -1
  205. package/dist/judges/agent-instructions.d.ts.map +1 -1
  206. package/dist/judges/ai-code-safety.d.ts +1 -1
  207. package/dist/judges/ai-code-safety.d.ts.map +1 -1
  208. package/dist/judges/api-design.d.ts +1 -1
  209. package/dist/judges/api-design.d.ts.map +1 -1
  210. package/dist/judges/authentication.d.ts +1 -1
  211. package/dist/judges/authentication.d.ts.map +1 -1
  212. package/dist/judges/backwards-compatibility.d.ts +1 -1
  213. package/dist/judges/backwards-compatibility.d.ts.map +1 -1
  214. package/dist/judges/caching.d.ts +1 -1
  215. package/dist/judges/caching.d.ts.map +1 -1
  216. package/dist/judges/ci-cd.d.ts +1 -1
  217. package/dist/judges/ci-cd.d.ts.map +1 -1
  218. package/dist/judges/cloud-readiness.d.ts +1 -1
  219. package/dist/judges/cloud-readiness.d.ts.map +1 -1
  220. package/dist/judges/code-structure.d.ts +1 -1
  221. package/dist/judges/code-structure.d.ts.map +1 -1
  222. package/dist/judges/code-structure.js +7 -1
  223. package/dist/judges/code-structure.js.map +1 -1
  224. package/dist/judges/compliance.d.ts +1 -1
  225. package/dist/judges/compliance.d.ts.map +1 -1
  226. package/dist/judges/concurrency.d.ts +1 -1
  227. package/dist/judges/concurrency.d.ts.map +1 -1
  228. package/dist/judges/configuration-management.d.ts +1 -1
  229. package/dist/judges/configuration-management.d.ts.map +1 -1
  230. package/dist/judges/cost-effectiveness.d.ts +1 -1
  231. package/dist/judges/cost-effectiveness.d.ts.map +1 -1
  232. package/dist/judges/cybersecurity.d.ts +1 -1
  233. package/dist/judges/cybersecurity.d.ts.map +1 -1
  234. package/dist/judges/data-security.d.ts +1 -1
  235. package/dist/judges/data-security.d.ts.map +1 -1
  236. package/dist/judges/data-sovereignty.d.ts +1 -1
  237. package/dist/judges/data-sovereignty.d.ts.map +1 -1
  238. package/dist/judges/database.d.ts +1 -1
  239. package/dist/judges/database.d.ts.map +1 -1
  240. package/dist/judges/dependency-health.d.ts +1 -1
  241. package/dist/judges/dependency-health.d.ts.map +1 -1
  242. package/dist/judges/documentation.d.ts +1 -1
  243. package/dist/judges/documentation.d.ts.map +1 -1
  244. package/dist/judges/error-handling.d.ts +1 -1
  245. package/dist/judges/error-handling.d.ts.map +1 -1
  246. package/dist/judges/ethics-bias.d.ts +1 -1
  247. package/dist/judges/ethics-bias.d.ts.map +1 -1
  248. package/dist/judges/framework-safety.d.ts +3 -0
  249. package/dist/judges/framework-safety.d.ts.map +1 -0
  250. package/dist/judges/framework-safety.js +31 -0
  251. package/dist/judges/framework-safety.js.map +1 -0
  252. package/dist/judges/index.d.ts +1 -1
  253. package/dist/judges/index.d.ts.map +1 -1
  254. package/dist/judges/index.js +74 -0
  255. package/dist/judges/index.js.map +1 -1
  256. package/dist/judges/internationalization.d.ts +1 -1
  257. package/dist/judges/internationalization.d.ts.map +1 -1
  258. package/dist/judges/logging-privacy.d.ts +1 -1
  259. package/dist/judges/logging-privacy.d.ts.map +1 -1
  260. package/dist/judges/maintainability.d.ts +1 -1
  261. package/dist/judges/maintainability.d.ts.map +1 -1
  262. package/dist/judges/observability.d.ts +1 -1
  263. package/dist/judges/observability.d.ts.map +1 -1
  264. package/dist/judges/performance.d.ts +1 -1
  265. package/dist/judges/performance.d.ts.map +1 -1
  266. package/dist/judges/portability.d.ts +1 -1
  267. package/dist/judges/portability.d.ts.map +1 -1
  268. package/dist/judges/rate-limiting.d.ts +1 -1
  269. package/dist/judges/rate-limiting.d.ts.map +1 -1
  270. package/dist/judges/reliability.d.ts +1 -1
  271. package/dist/judges/reliability.d.ts.map +1 -1
  272. package/dist/judges/scalability.d.ts +1 -1
  273. package/dist/judges/scalability.d.ts.map +1 -1
  274. package/dist/judges/software-practices.d.ts +1 -1
  275. package/dist/judges/software-practices.d.ts.map +1 -1
  276. package/dist/judges/testing.d.ts +1 -1
  277. package/dist/judges/testing.d.ts.map +1 -1
  278. package/dist/judges/ux.d.ts +1 -1
  279. package/dist/judges/ux.d.ts.map +1 -1
  280. package/dist/language-patterns.d.ts +37 -0
  281. package/dist/language-patterns.d.ts.map +1 -1
  282. package/dist/language-patterns.js +58 -3
  283. package/dist/language-patterns.js.map +1 -1
  284. package/dist/patches/index.d.ts +10 -0
  285. package/dist/patches/index.d.ts.map +1 -0
  286. package/dist/patches/index.js +533 -0
  287. package/dist/patches/index.js.map +1 -0
  288. package/dist/reports/public-repo-report.d.ts +1 -1
  289. package/dist/reports/public-repo-report.d.ts.map +1 -1
  290. package/dist/scoring.d.ts +18 -0
  291. package/dist/scoring.d.ts.map +1 -0
  292. package/dist/scoring.js +178 -0
  293. package/dist/scoring.js.map +1 -0
  294. package/dist/tools/deep-review.d.ts +4 -0
  295. package/dist/tools/deep-review.d.ts.map +1 -0
  296. package/dist/tools/deep-review.js +56 -0
  297. package/dist/tools/deep-review.js.map +1 -0
  298. package/dist/tools/prompts.d.ts +8 -0
  299. package/dist/tools/prompts.d.ts.map +1 -0
  300. package/dist/tools/prompts.js +66 -0
  301. package/dist/tools/prompts.js.map +1 -0
  302. package/dist/tools/register-evaluation.d.ts +7 -0
  303. package/dist/tools/register-evaluation.d.ts.map +1 -0
  304. package/dist/tools/register-evaluation.js +303 -0
  305. package/dist/tools/register-evaluation.js.map +1 -0
  306. package/dist/tools/register-workflow.d.ts +7 -0
  307. package/dist/tools/register-workflow.d.ts.map +1 -0
  308. package/dist/tools/register-workflow.js +395 -0
  309. package/dist/tools/register-workflow.js.map +1 -0
  310. package/dist/tools/register.d.ts +7 -0
  311. package/dist/tools/register.d.ts.map +1 -0
  312. package/dist/tools/register.js +14 -0
  313. package/dist/tools/register.js.map +1 -0
  314. package/dist/tools/schemas.d.ts +26 -0
  315. package/dist/tools/schemas.d.ts.map +1 -0
  316. package/dist/tools/schemas.js +42 -0
  317. package/dist/tools/schemas.js.map +1 -0
  318. package/dist/types.d.ts +29 -2
  319. package/dist/types.d.ts.map +1 -1
  320. package/package.json +42 -3
  321. package/server.json +51 -3
@@ -1,6 +1,91 @@
1
1
  import { normalizeLanguage, langPattern } from "../language-patterns.js";
2
2
  // ─── Re-export language utilities for convenience ────────────────────────────
3
3
  export { normalizeLanguage, langPattern };
4
+ /**
5
+ * Heuristically classify a source file based on its content (and optionally its
6
+ * file path). The classification drives file-type gating: absence-based
7
+ * rules (e.g. "no rate limiting", "no config schema") are suppressed on
8
+ * non-server files where they would only produce noise.
9
+ */
10
+ export function classifyFile(code, language, filePath) {
11
+ const lines = code.split("\n");
12
+ const lineCount = lines.length;
13
+ // ── Path-based fast checks ───────────────────────────────────────────────
14
+ if (filePath) {
15
+ const lowerPath = filePath.toLowerCase().replace(/\\/g, "/");
16
+ if (/[/\\]?(?:__tests__|test|tests|spec|__mocks__|__fixtures__)[/\\]/i.test(lowerPath) ||
17
+ /\.(test|spec|e2e)\.\w+$/i.test(lowerPath)) {
18
+ return "test";
19
+ }
20
+ if (/(?:^|[/\\])(?:tsconfig|jest\.config|webpack\.config|vite\.config|eslint|\.eslintrc|babel\.config|rollup\.config|\.prettierrc|Makefile|Dockerfile|docker-compose|package\.json|Cargo\.toml|go\.mod|pom\.xml|build\.gradle|\.csproj|\.sln|\.editorconfig)[^/\\]*$/i.test(lowerPath)) {
21
+ return "config";
22
+ }
23
+ if (/\.d\.ts$/i.test(lowerPath)) {
24
+ return "types";
25
+ }
26
+ // Health check / readiness probe endpoints (should not trigger absence rules)
27
+ if (/(?:^|[/\\])(?:health|healthcheck|health-check|readiness|liveness|ready|live|ping|status)\.\w+$/i.test(lowerPath)) {
28
+ return "utility";
29
+ }
30
+ // Migration / seed files
31
+ if (/(?:^|[/\\])(?:migrations?|seeds?|fixtures)[/\\]/i.test(lowerPath)) {
32
+ return "config";
33
+ }
34
+ }
35
+ // ── Content-based classification ─────────────────────────────────────────
36
+ // Test files: heavy test framework usage
37
+ const testFrameworkLines = lines.filter((l) => /\b(?:describe|it|test|beforeEach|afterEach|beforeAll|afterAll|expect|assert)\s*\(/i.test(l)).length;
38
+ if (testFrameworkLines >= 3) {
39
+ return "test";
40
+ }
41
+ // Pure type-definition files: mostly interfaces, types, enums, no runtime
42
+ const typeOnlyPattern = /^\s*(?:export\s+)?(?:interface|type|enum|declare|namespace)\b/;
43
+ const importPattern = /^\s*(?:import|export)\s/;
44
+ const commentOrBlank = /^\s*(?:\/\/|\/\*|\*|$)/;
45
+ const runtimeStatements = lines.filter((l) => {
46
+ const trimmed = l.trim();
47
+ return (trimmed.length > 0 &&
48
+ !commentOrBlank.test(trimmed) &&
49
+ !typeOnlyPattern.test(trimmed) &&
50
+ !importPattern.test(trimmed) &&
51
+ !/^\s*\}/.test(trimmed) && // closing braces
52
+ !/^\s*\*\//.test(trimmed)); // end of block comment
53
+ }).length;
54
+ if (lineCount > 5 && runtimeStatements / lineCount < 0.15) {
55
+ return "types";
56
+ }
57
+ // Config-like files: mostly key-value, constants, no functions
58
+ const constExportLines = lines.filter((l) => /^\s*(?:export\s+)?(?:const|let|var)\s+\w+\s*=\s*(?:\{|"|'|\d|true|false|null|\[)/i.test(l)).length;
59
+ const functionDeclLines = lines.filter((l) => /(?:function\s+\w+|=>\s*\{|class\s+\w+|def\s+\w+|fn\s+\w+|func\s+\w+)/i.test(l)).length;
60
+ if (lineCount > 5 && constExportLines / lineCount > 0.3 && functionDeclLines === 0) {
61
+ return "config";
62
+ }
63
+ // Health-check endpoints detected by content (lightweight route returning 200/ok)
64
+ if (/(?:\/health|\/ready|\/live|\/ping|\/status)\b/i.test(code) &&
65
+ lineCount < 50 &&
66
+ /(?:res\.(?:send|json|status)|return.*(?:ok|healthy|200))/i.test(code)) {
67
+ return "utility";
68
+ }
69
+ // Server / entry point: has HTTP handlers, route definitions, or listen
70
+ const serverSignals = /\b(?:app\.(?:get|post|put|delete|patch|use|listen)|router\.|express\(|createServer|fastify|Koa|hono|http\.(?:Server|createServer)|new\s+Hono|Flask|Django|Spring|@(?:Get|Post|Put|Delete|Controller|RequestMapping)|func\s+\w+Handler|gin\.\w+|http\.Handle)/i;
71
+ if (serverSignals.test(code)) {
72
+ return "server";
73
+ }
74
+ // Small utility with no I/O
75
+ const hasIO = /\b(?:fetch|axios|http|https|net|fs\.|readFile|writeFile|database|query|exec|spawn|child_process|socket)\b/i.test(code);
76
+ if (!hasIO && lineCount < 200) {
77
+ return "utility";
78
+ }
79
+ return "unknown";
80
+ }
81
+ /**
82
+ * Whether absence-based rules should fire for a file of this category.
83
+ * Absence-based rules (e.g. "no rate limiting", "no input validation") are
84
+ * only meaningful on server / entry-point code.
85
+ */
86
+ export function shouldRunAbsenceRules(category) {
87
+ return category === "server" || category === "unknown";
88
+ }
4
89
  // ─── Shared Utilities ────────────────────────────────────────────────────────
5
90
  // Helper functions used by all analyzer modules and the evaluation engine.
6
91
  // ──────────────────────────────────────────────────────────────────────────────
@@ -92,7 +177,46 @@ export function applyConfig(findings, config) {
92
177
  return result;
93
178
  }
94
179
  // ─── Scoring ─────────────────────────────────────────────────────────────────
95
- export function calculateScore(findings) {
180
+ /**
181
+ * Detect positive engineering signals in source code. Returns a bonus score.
182
+ * Called during scoring to reward good practices, not just penalize problems.
183
+ */
184
+ export function detectPositiveSignals(code) {
185
+ let bonus = 0;
186
+ // Parameterized queries (prepared statements, $1 placeholders)
187
+ if (/\$\d+|PreparedStatement|\?\s*(?:,|\))|\.prepare\s*\(/i.test(code))
188
+ bonus += 3;
189
+ // Security headers imported (helmet, csp, hsts)
190
+ if (/\bhelmet\b|content-security-policy|strict-transport-security/i.test(code))
191
+ bonus += 3;
192
+ // Proper error handling (try/catch with actual handling, not empty catch)
193
+ if (/catch\s*\([^)]+\)\s*\{[^}]*(?:log|throw|return|next|reject|emit)/i.test(code))
194
+ bonus += 2;
195
+ // Input validation present (joi, zod, yup, express-validator, class-validator)
196
+ if (/\b(?:joi|zod|yup|ajv|class-validator|express-validator)\b/i.test(code))
197
+ bonus += 2;
198
+ // Authentication middleware
199
+ if (/\b(?:passport|requireAuth|isAuthenticated|authMiddleware|verifyToken|authorize)\b/i.test(code))
200
+ bonus += 3;
201
+ // Rate limiting
202
+ if (/\b(?:rateLimit|rateLimiter|express-rate-limit|throttle|bottleneck)\b/i.test(code))
203
+ bonus += 2;
204
+ // CORS properly configured
205
+ if (/\bcors\b.*\b(?:origin|methods|credentials)\b/i.test(code))
206
+ bonus += 1;
207
+ // TypeScript strict mode or runtime type checking
208
+ if (/\bstrict(?:NullChecks|Mode)?\s*:\s*true\b/i.test(code))
209
+ bonus += 1;
210
+ // Structured logging (winston, pino, bunyan)
211
+ if (/\b(?:winston|pino|bunyan|createLogger|getLogger)\b/i.test(code))
212
+ bonus += 2;
213
+ // Tests present (basic signal for quality)
214
+ if (/\b(?:describe|it|test|expect|assert)\s*\(/i.test(code))
215
+ bonus += 1;
216
+ // Cap total bonus at +15
217
+ return Math.min(bonus, 15);
218
+ }
219
+ export function calculateScore(findings, code) {
96
220
  let score = 100;
97
221
  for (const f of findings) {
98
222
  switch (f.severity) {
@@ -113,6 +237,10 @@ export function calculateScore(findings) {
113
237
  break;
114
238
  }
115
239
  }
240
+ // Add positive signals bonus if code is provided
241
+ if (code) {
242
+ score += detectPositiveSignals(code);
243
+ }
116
244
  return Math.max(0, Math.min(100, score));
117
245
  }
118
246
  export function deriveVerdict(findings, score) {
@@ -134,7 +262,8 @@ export function buildSummary(judge, findings, score, verdict) {
134
262
  summary += `Verdict: **${verdict.toUpperCase()}** | Score: **${score}/100**\n`;
135
263
  summary += `Findings: ${critical} critical, ${high} high, ${medium} medium, ${low} low\n\n`;
136
264
  if (findings.length === 0) {
137
- summary += "No pattern-based issues detected. Heuristic analysis has inherent limits — absence of findings does not guarantee the code is free of defects. Manual expert review is strongly recommended.";
265
+ summary +=
266
+ "No pattern-based issues detected. Heuristic analysis has inherent limits — absence of findings does not guarantee the code is free of defects. Manual expert review is strongly recommended.";
138
267
  }
139
268
  else {
140
269
  summary += "Key issues:\n";
@@ -195,6 +324,65 @@ export function formatVerdictAsMarkdown(verdict) {
195
324
  }
196
325
  return md;
197
326
  }
327
+ // ─── Shared Credential / Placeholder Detection ──────────────────────────────
328
+ // Centralised so authentication.ts, data-security.ts, and cybersecurity.ts
329
+ // all use the same logic instead of maintaining identical copies.
330
+ // ─────────────────────────────────────────────────────────────────────────────
331
+ const EXACT_PLACEHOLDERS = new Set([
332
+ "test",
333
+ "testing",
334
+ "mock",
335
+ "dummy",
336
+ "example",
337
+ "sample",
338
+ "fake",
339
+ "na",
340
+ "n/a",
341
+ "none",
342
+ "null",
343
+ "undefined",
344
+ "changeme",
345
+ "change_me",
346
+ "replace_me",
347
+ "replace-me",
348
+ "your_token_here",
349
+ "your_api_key",
350
+ "unused",
351
+ "not_used",
352
+ "placeholder",
353
+ ]);
354
+ export function isLikelyPlaceholderCredentialValue(value) {
355
+ const normalized = value.trim().toLowerCase();
356
+ if (EXACT_PLACEHOLDERS.has(normalized))
357
+ return true;
358
+ if (/^(?:test|mock|dummy|sample|example|fake|placeholder|na|n\/a|unused|changeme|replace)[-_a-z0-9]*$/i.test(normalized))
359
+ return true;
360
+ return false;
361
+ }
362
+ export function isStrictCredentialDetectionEnabled() {
363
+ return process.env.JUDGES_CREDENTIAL_MODE?.toLowerCase() === "strict";
364
+ }
365
+ export function looksLikeRealCredentialValue(value) {
366
+ if (isLikelyPlaceholderCredentialValue(value))
367
+ return false;
368
+ if (!isStrictCredentialDetectionEnabled())
369
+ return true;
370
+ const normalized = value.trim();
371
+ if (normalized.length < 12)
372
+ return false;
373
+ if (/(?:test|mock|dummy|sample|example|fake|placeholder|changeme|replace[_-]?me|unused|not[_-]?used|password|secret)/i.test(normalized))
374
+ return false;
375
+ const hasLower = /[a-z]/.test(normalized);
376
+ const hasUpper = /[A-Z]/.test(normalized);
377
+ const hasDigit = /\d/.test(normalized);
378
+ const hasSymbol = /[^A-Za-z0-9]/.test(normalized);
379
+ const classCount = [hasLower, hasUpper, hasDigit, hasSymbol].filter(Boolean).length;
380
+ if (normalized.length >= 20 && classCount >= 2)
381
+ return true;
382
+ if (normalized.length >= 16 && classCount >= 3)
383
+ return true;
384
+ return false;
385
+ }
198
386
  /**
199
387
  * Format a single judge evaluation as a readable Markdown string.
200
388
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/evaluators/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/evaluators/shared.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Finding } from "../types.js";
1
+ import type { Finding } from "../types.js";
2
2
  export declare function analyzeSoftwarePractices(code: string, language: string): Finding[];
3
3
  //# sourceMappingURL=software-practices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"software-practices.d.ts","sourceRoot":"","sources":["../../src/evaluators/software-practices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAgXlF"}
1
+ {"version":3,"file":"software-practices.d.ts","sourceRoot":"","sources":["../../src/evaluators/software-practices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CA0ZlF"}
@@ -48,7 +48,7 @@ export function analyzeSoftwarePractices(code, language) {
48
48
  const codeLines = code.split("\n");
49
49
  const magicLines = getLangLineNumbers(code, language, LP.MAGIC_NUMBER);
50
50
  const wellKnownNumbers = /\b(?:200|201|204|301|302|304|400|401|403|404|405|409|422|429|500|502|503|504|80|443|8080|3000|8443|3001|5432|27017|6379|0o?[0-7]{3,4}|0x[0-9a-f]+|1000|1024|255|256|65535|1e[3-9])\b/gi;
51
- const filteredMagicLines = magicLines.filter(lineNum => {
51
+ const filteredMagicLines = magicLines.filter((lineNum) => {
52
52
  const line = codeLines[lineNum - 1] || "";
53
53
  return !wellKnownNumbers.test(line);
54
54
  });
@@ -248,9 +248,9 @@ export function analyzeSoftwarePractices(code, language) {
248
248
  // Type coercion risks (JavaScript ==)
249
249
  if (LP.isJsTs(lang)) {
250
250
  const looseEqualPattern = /(?<![!=<>])\s==\s(?!=)/g;
251
- const looseEqualLines = getLineNumbers(code, looseEqualPattern).filter(lineNum => {
251
+ const looseEqualLines = getLineNumbers(code, looseEqualPattern).filter((lineNum) => {
252
252
  const line = codeLines[lineNum - 1] || "";
253
- return !(/^\s*(?:\/\/|\*|\/\*)/.test(line)) && !(/['"].*==.*['"]/.test(line));
253
+ return !/^\s*(?:\/\/|\*|\/\*)/.test(line) && !/['"].*==.*['"]/.test(line);
254
254
  });
255
255
  if (looseEqualLines.length > 0) {
256
256
  findings.push({
@@ -1 +1 @@
1
- {"version":3,"file":"software-practices.js","sourceRoot":"","sources":["../../src/evaluators/software-practices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"software-practices.js","sourceRoot":"","sources":["../../src/evaluators/software-practices.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Finding } from "../types.js";
1
+ import type { Finding } from "../types.js";
2
2
  export declare function analyzeTesting(code: string, language: string): Finding[];
3
3
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/evaluators/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAsNxE"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/evaluators/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CA4QxE"}
@@ -13,7 +13,12 @@ export function analyzeTesting(code, language) {
13
13
  const assertionLines = getLangLineNumbers(code, language, LP.ASSERTION);
14
14
  const testBlockLines = [];
15
15
  lines.forEach((line, i) => {
16
- if (/\b(?:it|test)\s*\(\s*["'`]/i.test(line) || /def\s+test_/i.test(line) || /@Test/i.test(line) || /func\s+Test[A-Z]/i.test(line) || /#\[test\]/i.test(line) || /\[Fact\]/i.test(line)) {
16
+ if (/\b(?:it|test)\s*\(\s*["'`]/i.test(line) ||
17
+ /def\s+test_/i.test(line) ||
18
+ /@Test/i.test(line) ||
19
+ /func\s+Test[A-Z]/i.test(line) ||
20
+ /#\[test\]/i.test(line) ||
21
+ /\[Fact\]/i.test(line)) {
17
22
  testBlockLines.push(i + 1);
18
23
  }
19
24
  });
@@ -73,7 +78,8 @@ export function analyzeTesting(code, language) {
73
78
  // Detect tests with external dependencies (multi-language)
74
79
  const externalDepLines = [];
75
80
  lines.forEach((line, i) => {
76
- if (/fetch\s*\(|axios\.|https?:\/\/|database|redis|mongodb|requests\.|reqwest::|HttpClient|http\.Get/i.test(line) && !/mock|stub|fake|spy|nock|msw|Mock|patch|@patch|mockito|Moq/i.test(line)) {
81
+ if (/fetch\s*\(|axios\.|https?:\/\/|database|redis|mongodb|requests\.|reqwest::|HttpClient|http\.Get/i.test(line) &&
82
+ !/mock|stub|fake|spy|nock|msw|Mock|patch|@patch|mockito|Moq/i.test(line)) {
77
83
  externalDepLines.push(i + 1);
78
84
  }
79
85
  });
@@ -93,7 +99,8 @@ export function analyzeTesting(code, language) {
93
99
  // Detect tests with shared mutable state
94
100
  const sharedStateLines = [];
95
101
  lines.forEach((line, i) => {
96
- if (/(?:let|var)\s+\w+\s*=/i.test(line.trim()) && !/(?:const|it\s*\(|test\s*\(|describe\s*\()/i.test(line.trim())) {
102
+ if (/(?:let|var)\s+\w+\s*=/i.test(line.trim()) &&
103
+ !/(?:const|it\s*\(|test\s*\(|describe\s*\()/i.test(line.trim())) {
97
104
  const context = lines.slice(Math.max(0, i - 5), i).join("\n");
98
105
  if (/describe\s*\(/i.test(context) && !/beforeEach|beforeAll|setUp/i.test(context)) {
99
106
  sharedStateLines.push(i + 1);
@@ -187,7 +194,8 @@ export function analyzeTesting(code, language) {
187
194
  const hasFunctions = getLangLineNumbers(code, language, LP.FUNCTION_DEF).length > 0;
188
195
  const isLargeFile = lines.length > 50;
189
196
  const isConfigOrUtility = /(?:config|configuration|settings|constants|types|interfaces|models|schema|migration|seed|fixture|mock|stub|setup|index|barrel)\b/gi.test(code);
190
- const isTypeDefinitionFile = /^(?:export\s+)?(?:type|interface|enum|declare)\s+/gim.test(code) && !(/(function|class)\s+\w+.*\{[\s\S]{10,}\}/gi.test(code));
197
+ const isTypeDefinitionFile = /^(?:export\s+)?(?:type|interface|enum|declare)\s+/gim.test(code) &&
198
+ !/(function|class)\s+\w+.*\{[\s\S]{10,}\}/gi.test(code);
191
199
  const hasMinimalLogic = (code.match(/(?:if|for|while|switch|match)\s*[\s(]/g) || []).length >= 3;
192
200
  if (hasFunctions && isLargeFile && hasMinimalLogic && !isConfigOrUtility && !isTypeDefinitionFile) {
193
201
  findings.push({
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/evaluators/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/evaluators/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAE9C,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAgB;IAC3D,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAErC,wDAAwD;IACxD,MAAM,gBAAgB,GACpB,4HAA4H,CAAC,IAAI,CAC/H,IAAI,CACL,CAAC;IACJ,IAAI,gBAAgB,EAAE,CAAC;QACrB,wCAAwC;QACxC,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAExE,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IACE,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,+BAA+B;gBACtC,WAAW,EACT,mHAAmH;gBACrH,WAAW,EAAE,cAAc;gBAC3B,cAAc,EACZ,uGAAuG;gBACzG,SAAS,EAAE,6BAA6B;gBACxC,YAAY,EACV,8IAA8I;gBAChJ,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,2FAA2F,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3G,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EACT,8HAA8H;gBAChI,WAAW,EAAE,cAAc;gBAC3B,cAAc,EACZ,qHAAqH;gBACvH,SAAS,EAAE,yBAAyB;gBACpC,YAAY,EACV,mJAAmJ;gBACrJ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QACnD,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpF,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,0BAA0B;gBACjC,WAAW,EAAE,2FAA2F;gBACxG,WAAW,EAAE,kBAAkB;gBAC/B,cAAc,EACZ,6GAA6G;gBAC/G,SAAS,EAAE,8CAA8C;gBACzD,YAAY,EACV,gKAAgK;gBAClK,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IACE,kGAAkG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7G,CAAC,4DAA4D,CAAC,IAAI,CAAC,IAAI,CAAC,EACxE,CAAC;gBACD,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,uCAAuC;gBAC9C,WAAW,EACT,oIAAoI;gBACtI,WAAW,EAAE,gBAAgB;gBAC7B,cAAc,EACZ,oKAAoK;gBACtK,SAAS,EAAE,uCAAuC;gBAClD,YAAY,EACV,gJAAgJ;gBAClJ,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IACE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1C,CAAC,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAC/D,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnF,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,oCAAoC;gBAC3C,WAAW,EACT,gIAAgI;gBAClI,WAAW,EAAE,gBAAgB;gBAC7B,cAAc,EACZ,gGAAgG;gBAClG,SAAS,EAAE,+BAA+B;gBAC1C,YAAY,EACV,gIAAgI;gBAClI,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GACjB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mEAAmE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7G,IAAI,aAAa,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EACT,0GAA0G;gBAC5G,cAAc,EACZ,8HAA8H;gBAChI,SAAS,EAAE,4BAA4B;gBACvC,YAAY,EACV,0HAA0H;gBAC5H,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IACE,mHAAmH,CAAC,IAAI,CACtH,IAAI,CACL,EACD,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,gCAAgC;gBACvC,WAAW,EACT,mHAAmH;gBACrH,WAAW,EAAE,UAAU;gBACvB,cAAc,EACZ,yHAAyH;gBAC3H,SAAS,EAAE,iDAAiD;gBAC5D,YAAY,EACV,qKAAqK;gBACvK,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,yBAAyB;gBAChC,WAAW,EAAE,iBAAiB,KAAK,CAAC,MAAM,yGAAyG;gBACnJ,cAAc,EACZ,4HAA4H;gBAC9H,SAAS,EAAE,kCAAkC;gBAC7C,YAAY,EACV,8JAA8J;gBAChK,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,oCAAoC;gBAC3C,WAAW,EACT,gIAAgI;gBAClI,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtC,cAAc,EACZ,oHAAoH;gBACtH,SAAS,EAAE,iCAAiC;gBAC5C,YAAY,EACV,+JAA+J;gBACjK,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,8EAA8E;QAC9E,8EAA8E;QAC9E,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACtC,MAAM,iBAAiB,GACrB,oIAAoI,CAAC,IAAI,CACvI,IAAI,CACL,CAAC;QACJ,MAAM,oBAAoB,GACxB,sDAAsD,CAAC,IAAI,CAAC,IAAI,CAAC;YACjE,CAAC,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QACjG,IAAI,YAAY,IAAI,WAAW,IAAI,eAAe,IAAI,CAAC,iBAAiB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAClG,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,uCAAuC;gBAC9C,WAAW,EACT,yGAAyG;gBAC3G,cAAc,EACZ,2HAA2H;gBAC7H,SAAS,EAAE,2CAA2C;gBACtD,YAAY,EACV,iKAAiK;gBACnK,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Finding } from "../types.js";
1
+ import type { Finding } from "../types.js";
2
2
  export declare function analyzeUx(code: string, language: string): Finding[];
3
3
  //# sourceMappingURL=ux.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/evaluators/ux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAkNnE"}
1
+ {"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/evaluators/ux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAwPnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ux.js","sourceRoot":"","sources":["../../src/evaluators/ux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ux.js","sourceRoot":"","sources":["../../src/evaluators/ux.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EvidenceBundleV2, EvaluationContextV2, PolicyProfile, TribunalVerdictV2 } from "../types.js";
1
+ import type { EvidenceBundleV2, EvaluationContextV2, PolicyProfile, TribunalVerdictV2 } from "../types.js";
2
2
  export declare function evaluateCodeV2(params: {
3
3
  code: string;
4
4
  language: string;
@@ -1 +1 @@
1
- {"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../../src/evaluators/v2.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EAEnB,aAAa,EAKb,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AA+WrB,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,GAAG,iBAAiB,CA+CpB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,GAAG,iBAAiB,CAwDpB;AAED,wBAAgB,0BAA0B,IAAI,aAAa,EAAE,CAS5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,qDAEhD"}
1
+ {"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../../src/evaluators/v2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEnB,aAAa,EAKb,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AA2VrB,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,GAAG,iBAAiB,CA+BpB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,GAAG,iBAAiB,CA8CpB;AAED,wBAAgB,0BAA0B,IAAI,aAAa,EAAE,CAE5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,qDAEhD"}