code-auditor-mcp 4.1.1 → 5.0.2

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 (1087) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +381 -0
  3. package/README.md +4 -4
  4. package/configs/hhra-compat.json +0 -8
  5. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +1 -1
  6. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +1 -1
  7. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +7 -1
  8. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +1 -1
  9. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +2 -8
  10. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +1 -1
  11. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +4 -4
  12. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +1 -1
  13. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +1 -1
  14. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +1 -1
  15. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +1 -1
  16. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +2 -2
  17. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +1 -1
  18. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +1 -1
  19. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +1 -1
  20. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +1 -1
  21. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +1 -1
  22. package/dist/analyzers/applicability.d.ts +42 -0
  23. package/dist/analyzers/applicability.d.ts.map +1 -1
  24. package/dist/analyzers/applicability.js +74 -0
  25. package/dist/analyzers/applicability.js.map +1 -1
  26. package/dist/analyzers/cross-language/APIContractAnalyzer.js +18 -24
  27. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  28. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +30 -23
  29. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  30. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +113 -76
  31. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  32. package/dist/analyzers/cross-language/SchemaValidator.d.ts +2 -0
  33. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  34. package/dist/analyzers/cross-language/SchemaValidator.js +8 -3
  35. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  36. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  37. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +210 -148
  38. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  39. package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
  40. package/dist/analyzers/documentationAnalyzer.js +23 -28
  41. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  42. package/dist/analyzers/handleIdentification.d.ts +356 -0
  43. package/dist/analyzers/handleIdentification.d.ts.map +1 -0
  44. package/dist/analyzers/handleIdentification.js +427 -0
  45. package/dist/analyzers/handleIdentification.js.map +1 -0
  46. package/dist/analyzers/manifestStaleness.d.ts +64 -0
  47. package/dist/analyzers/manifestStaleness.d.ts.map +1 -0
  48. package/dist/analyzers/manifestStaleness.js +115 -0
  49. package/dist/analyzers/manifestStaleness.js.map +1 -0
  50. package/dist/analyzers/orgFilterTiers.d.ts +73 -1
  51. package/dist/analyzers/orgFilterTiers.d.ts.map +1 -1
  52. package/dist/analyzers/orgFilterTiers.js +166 -1
  53. package/dist/analyzers/orgFilterTiers.js.map +1 -1
  54. package/dist/analyzers/provenance.d.ts +251 -57
  55. package/dist/analyzers/provenance.d.ts.map +1 -1
  56. package/dist/analyzers/provenance.js +1109 -429
  57. package/dist/analyzers/provenance.js.map +1 -1
  58. package/dist/analyzers/reactAnalyzer.d.ts +2 -0
  59. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  60. package/dist/analyzers/reactAnalyzer.js +2 -0
  61. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  62. package/dist/analyzers/receiverResolution.d.ts +183 -0
  63. package/dist/analyzers/receiverResolution.d.ts.map +1 -0
  64. package/dist/analyzers/receiverResolution.js +540 -0
  65. package/dist/analyzers/receiverResolution.js.map +1 -0
  66. package/dist/analyzers/receiverRoot.d.ts +348 -0
  67. package/dist/analyzers/receiverRoot.d.ts.map +1 -0
  68. package/dist/analyzers/receiverRoot.js +1032 -0
  69. package/dist/analyzers/receiverRoot.js.map +1 -0
  70. package/dist/analyzers/ruleRegistry.d.ts +12 -68
  71. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  72. package/dist/analyzers/ruleRegistry.js +32 -342
  73. package/dist/analyzers/ruleRegistry.js.map +1 -1
  74. package/dist/analyzers/ruleTiming.d.ts +10 -0
  75. package/dist/analyzers/ruleTiming.d.ts.map +1 -1
  76. package/dist/analyzers/ruleTiming.js +20 -0
  77. package/dist/analyzers/ruleTiming.js.map +1 -1
  78. package/dist/analyzers/sqlLiteral.d.ts +76 -0
  79. package/dist/analyzers/sqlLiteral.d.ts.map +1 -0
  80. package/dist/analyzers/sqlLiteral.js +419 -0
  81. package/dist/analyzers/sqlLiteral.js.map +1 -0
  82. package/dist/analyzers/tsEcosystem.d.ts +115 -0
  83. package/dist/analyzers/tsEcosystem.d.ts.map +1 -0
  84. package/dist/analyzers/tsEcosystem.js +241 -0
  85. package/dist/analyzers/tsEcosystem.js.map +1 -0
  86. package/dist/analyzers/tsExpressionDescriptor.d.ts +156 -0
  87. package/dist/analyzers/tsExpressionDescriptor.d.ts.map +1 -0
  88. package/dist/analyzers/tsExpressionDescriptor.js +374 -0
  89. package/dist/analyzers/tsExpressionDescriptor.js.map +1 -0
  90. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +6 -0
  91. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  92. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +107 -44
  93. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  94. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  95. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +23 -35
  96. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  97. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +287 -49
  98. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  99. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +2130 -512
  100. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  101. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  102. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +2 -18
  103. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  104. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -33
  105. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  106. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +20 -143
  107. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  108. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +4 -3
  109. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  110. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +36 -13
  111. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  112. package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
  113. package/dist/analyzers/universal/UniversalSecretsAnalyzer.js +6 -0
  114. package/dist/analyzers/universal/UniversalSecretsAnalyzer.js.map +1 -1
  115. package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts +15 -0
  116. package/dist/analyzers/universal/UniversalSecurityAnalyzer.d.ts.map +1 -1
  117. package/dist/analyzers/universal/UniversalSecurityAnalyzer.js +25 -0
  118. package/dist/analyzers/universal/UniversalSecurityAnalyzer.js.map +1 -1
  119. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +21 -32
  120. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  121. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +166 -196
  122. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  123. package/dist/analyzers/universal/functionConcerns.d.ts +3 -0
  124. package/dist/analyzers/universal/functionConcerns.d.ts.map +1 -1
  125. package/dist/analyzers/universal/functionConcerns.js +4 -1
  126. package/dist/analyzers/universal/functionConcerns.js.map +1 -1
  127. package/dist/analyzers/universal/schema/codeAnalysis.d.ts +310 -69
  128. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  129. package/dist/analyzers/universal/schema/codeAnalysis.js +709 -383
  130. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  131. package/dist/analyzers/universal/schema/config.d.ts +3 -14
  132. package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
  133. package/dist/analyzers/universal/schema/config.js +3 -16
  134. package/dist/analyzers/universal/schema/config.js.map +1 -1
  135. package/dist/analyzers/universal/schema/discovery.d.ts +22 -1
  136. package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -1
  137. package/dist/analyzers/universal/schema/discovery.js +36 -20
  138. package/dist/analyzers/universal/schema/discovery.js.map +1 -1
  139. package/dist/analyzers/universal/schema/jsonSchema.d.ts.map +1 -1
  140. package/dist/analyzers/universal/schema/jsonSchema.js +13 -3
  141. package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
  142. package/dist/analyzers/universal/schema/migrations.d.ts +187 -27
  143. package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
  144. package/dist/analyzers/universal/schema/migrations.js +443 -186
  145. package/dist/analyzers/universal/schema/migrations.js.map +1 -1
  146. package/dist/analyzers/universal/schema/types.d.ts +17 -3
  147. package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
  148. package/dist/analyzers/universal/schema/violations.js +1 -1
  149. package/dist/analyzers/universal/schema/violations.js.map +1 -1
  150. package/dist/analyzers/universal/styleScale.d.ts +52 -0
  151. package/dist/analyzers/universal/styleScale.d.ts.map +1 -0
  152. package/dist/analyzers/universal/styleScale.js +95 -0
  153. package/dist/analyzers/universal/styleScale.js.map +1 -0
  154. package/dist/applyDataDirEnv.js +1 -1
  155. package/dist/applyDataDirEnv.js.map +1 -1
  156. package/dist/auditRouter.d.ts +26 -30
  157. package/dist/auditRouter.d.ts.map +1 -1
  158. package/dist/auditRouter.js +373 -143
  159. package/dist/auditRouter.js.map +1 -1
  160. package/dist/auditRunner.d.ts +66 -1
  161. package/dist/auditRunner.d.ts.map +1 -1
  162. package/dist/auditRunner.js +1544 -1034
  163. package/dist/auditRunner.js.map +1 -1
  164. package/dist/baseline.d.ts +30 -3
  165. package/dist/baseline.d.ts.map +1 -1
  166. package/dist/baseline.js +70 -9
  167. package/dist/baseline.js.map +1 -1
  168. package/dist/cli.js +983 -821
  169. package/dist/cli.js.map +1 -1
  170. package/dist/codeIndex/analyzerConfig.d.ts +60 -0
  171. package/dist/codeIndex/analyzerConfig.d.ts.map +1 -0
  172. package/dist/codeIndex/analyzerConfig.js +98 -0
  173. package/dist/codeIndex/analyzerConfig.js.map +1 -0
  174. package/dist/codeIndex/auditResults.d.ts +39 -0
  175. package/dist/codeIndex/auditResults.d.ts.map +1 -0
  176. package/dist/codeIndex/auditResults.js +99 -0
  177. package/dist/codeIndex/auditResults.js.map +1 -0
  178. package/dist/codeIndex/codeMap.d.ts +59 -0
  179. package/dist/codeIndex/codeMap.d.ts.map +1 -0
  180. package/dist/codeIndex/codeMap.js +72 -0
  181. package/dist/codeIndex/codeMap.js.map +1 -0
  182. package/dist/codeIndex/conventions.d.ts +33 -0
  183. package/dist/codeIndex/conventions.d.ts.map +1 -0
  184. package/dist/codeIndex/conventions.js +84 -0
  185. package/dist/codeIndex/conventions.js.map +1 -0
  186. package/dist/codeIndex/coverage.d.ts +78 -0
  187. package/dist/codeIndex/coverage.d.ts.map +1 -0
  188. package/dist/codeIndex/coverage.js +164 -0
  189. package/dist/codeIndex/coverage.js.map +1 -0
  190. package/dist/codeIndex/dependencyGraph.d.ts +97 -0
  191. package/dist/codeIndex/dependencyGraph.d.ts.map +1 -0
  192. package/dist/codeIndex/dependencyGraph.js +241 -0
  193. package/dist/codeIndex/dependencyGraph.js.map +1 -0
  194. package/dist/codeIndex/functionIndex.d.ts +111 -0
  195. package/dist/codeIndex/functionIndex.d.ts.map +1 -0
  196. package/dist/codeIndex/functionIndex.js +306 -0
  197. package/dist/codeIndex/functionIndex.js.map +1 -0
  198. package/dist/codeIndex/inferredReceivers.d.ts +32 -0
  199. package/dist/codeIndex/inferredReceivers.d.ts.map +1 -0
  200. package/dist/codeIndex/inferredReceivers.js +41 -0
  201. package/dist/codeIndex/inferredReceivers.js.map +1 -0
  202. package/dist/codeIndex/meta.d.ts +30 -0
  203. package/dist/codeIndex/meta.d.ts.map +1 -0
  204. package/dist/codeIndex/meta.js +37 -0
  205. package/dist/codeIndex/meta.js.map +1 -0
  206. package/dist/codeIndex/migrations.d.ts +96 -0
  207. package/dist/codeIndex/migrations.d.ts.map +1 -0
  208. package/dist/codeIndex/migrations.js +1302 -0
  209. package/dist/codeIndex/migrations.js.map +1 -0
  210. package/dist/codeIndex/projectTasks.d.ts +54 -0
  211. package/dist/codeIndex/projectTasks.d.ts.map +1 -0
  212. package/dist/codeIndex/projectTasks.js +81 -0
  213. package/dist/codeIndex/projectTasks.js.map +1 -0
  214. package/dist/codeIndex/provenance.d.ts +47 -0
  215. package/dist/codeIndex/provenance.d.ts.map +1 -0
  216. package/dist/codeIndex/provenance.js +48 -0
  217. package/dist/codeIndex/provenance.js.map +1 -0
  218. package/dist/codeIndex/rawSql.d.ts +54 -0
  219. package/dist/codeIndex/rawSql.d.ts.map +1 -0
  220. package/dist/codeIndex/rawSql.js +71 -0
  221. package/dist/codeIndex/rawSql.js.map +1 -0
  222. package/dist/codeIndex/schema.d.ts +99 -0
  223. package/dist/codeIndex/schema.d.ts.map +1 -0
  224. package/dist/codeIndex/schema.js +174 -0
  225. package/dist/codeIndex/schema.js.map +1 -0
  226. package/dist/codeIndex/search.d.ts +40 -0
  227. package/dist/codeIndex/search.d.ts.map +1 -0
  228. package/dist/codeIndex/search.js +316 -0
  229. package/dist/codeIndex/search.js.map +1 -0
  230. package/dist/codeIndex/shared.d.ts +27 -0
  231. package/dist/codeIndex/shared.d.ts.map +1 -0
  232. package/dist/codeIndex/shared.js +46 -0
  233. package/dist/codeIndex/shared.js.map +1 -0
  234. package/dist/codeIndex/sqliteCollection.d.ts +81 -0
  235. package/dist/codeIndex/sqliteCollection.d.ts.map +1 -0
  236. package/dist/codeIndex/sqliteCollection.js +250 -0
  237. package/dist/codeIndex/sqliteCollection.js.map +1 -0
  238. package/dist/codeIndex/whitelist.d.ts +59 -0
  239. package/dist/codeIndex/whitelist.d.ts.map +1 -0
  240. package/dist/codeIndex/whitelist.js +188 -0
  241. package/dist/codeIndex/whitelist.js.map +1 -0
  242. package/dist/codeIndexDB.d.ts +132 -271
  243. package/dist/codeIndexDB.d.ts.map +1 -1
  244. package/dist/codeIndexDB.js +365 -2729
  245. package/dist/codeIndexDB.js.map +1 -1
  246. package/dist/codeIndexService.d.ts +87 -12
  247. package/dist/codeIndexService.d.ts.map +1 -1
  248. package/dist/codeIndexService.js +110 -34
  249. package/dist/codeIndexService.js.map +1 -1
  250. package/dist/componentScanner.d.ts +35 -0
  251. package/dist/componentScanner.d.ts.map +1 -1
  252. package/dist/componentScanner.js +114 -80
  253. package/dist/componentScanner.js.map +1 -1
  254. package/dist/config/configGeneratePath.d.ts +4 -0
  255. package/dist/config/configGeneratePath.d.ts.map +1 -1
  256. package/dist/config/configGeneratePath.js +4 -0
  257. package/dist/config/configGeneratePath.js.map +1 -1
  258. package/dist/config/configLoader.d.ts +15 -0
  259. package/dist/config/configLoader.d.ts.map +1 -1
  260. package/dist/config/configLoader.js +15 -16
  261. package/dist/config/configLoader.js.map +1 -1
  262. package/dist/config/defaults.d.ts +11 -7
  263. package/dist/config/defaults.d.ts.map +1 -1
  264. package/dist/config/defaults.js +16 -14
  265. package/dist/config/defaults.js.map +1 -1
  266. package/dist/config/effectiveConfig.d.ts +17 -2
  267. package/dist/config/effectiveConfig.d.ts.map +1 -1
  268. package/dist/config/effectiveConfig.js +32 -25
  269. package/dist/config/effectiveConfig.js.map +1 -1
  270. package/dist/config/lintConfigReader.d.ts +6 -0
  271. package/dist/config/lintConfigReader.d.ts.map +1 -1
  272. package/dist/config/lintConfigReader.js +6 -0
  273. package/dist/config/lintConfigReader.js.map +1 -1
  274. package/dist/config/staticObjectExtract.d.ts +4 -0
  275. package/dist/config/staticObjectExtract.d.ts.map +1 -1
  276. package/dist/config/staticObjectExtract.js +7 -3
  277. package/dist/config/staticObjectExtract.js.map +1 -1
  278. package/dist/config/thresholdRationales.d.ts +2 -0
  279. package/dist/config/thresholdRationales.d.ts.map +1 -1
  280. package/dist/config/thresholdRationales.js +5 -2
  281. package/dist/config/thresholdRationales.js.map +1 -1
  282. package/dist/constants.d.ts +1 -1
  283. package/dist/conventions/conventionMiner.d.ts +105 -2
  284. package/dist/conventions/conventionMiner.d.ts.map +1 -1
  285. package/dist/conventions/conventionMiner.js +334 -259
  286. package/dist/conventions/conventionMiner.js.map +1 -1
  287. package/dist/coverage/coverageService.js +4 -4
  288. package/dist/coverage/coverageService.js.map +1 -1
  289. package/dist/daemon/args.d.ts +3 -0
  290. package/dist/daemon/args.d.ts.map +1 -1
  291. package/dist/daemon/args.js +3 -0
  292. package/dist/daemon/args.js.map +1 -1
  293. package/dist/daemon/core.d.ts +33 -27
  294. package/dist/daemon/core.d.ts.map +1 -1
  295. package/dist/daemon/core.js +198 -162
  296. package/dist/daemon/core.js.map +1 -1
  297. package/dist/daemon/lspServer.d.ts +8 -0
  298. package/dist/daemon/lspServer.d.ts.map +1 -1
  299. package/dist/daemon/lspServer.js +8 -0
  300. package/dist/daemon/lspServer.js.map +1 -1
  301. package/dist/daemon/main.d.ts +2 -0
  302. package/dist/daemon/main.d.ts.map +1 -1
  303. package/dist/daemon/main.js +22 -4
  304. package/dist/daemon/main.js.map +1 -1
  305. package/dist/daemon/resolve.d.ts +18 -3
  306. package/dist/daemon/resolve.d.ts.map +1 -1
  307. package/dist/daemon/resolve.js +25 -4
  308. package/dist/daemon/resolve.js.map +1 -1
  309. package/dist/daemon/socketClient.d.ts +10 -1
  310. package/dist/daemon/socketClient.d.ts.map +1 -1
  311. package/dist/daemon/socketClient.js +10 -1
  312. package/dist/daemon/socketClient.js.map +1 -1
  313. package/dist/daemon/socketServer.d.ts +13 -0
  314. package/dist/daemon/socketServer.d.ts.map +1 -1
  315. package/dist/daemon/socketServer.js +13 -0
  316. package/dist/daemon/socketServer.js.map +1 -1
  317. package/dist/dataPaths.d.ts +17 -8
  318. package/dist/dataPaths.d.ts.map +1 -1
  319. package/dist/dataPaths.js +16 -44
  320. package/dist/dataPaths.js.map +1 -1
  321. package/dist/dismissals.d.ts +22 -1
  322. package/dist/dismissals.d.ts.map +1 -1
  323. package/dist/dismissals.js +22 -1
  324. package/dist/dismissals.js.map +1 -1
  325. package/dist/enforcement/gate.d.ts +1 -0
  326. package/dist/enforcement/gate.d.ts.map +1 -1
  327. package/dist/enforcement/gate.js +1 -0
  328. package/dist/enforcement/gate.js.map +1 -1
  329. package/dist/fingerprint.d.ts +6 -0
  330. package/dist/fingerprint.d.ts.map +1 -1
  331. package/dist/fingerprint.js +46 -1
  332. package/dist/fingerprint.js.map +1 -1
  333. package/dist/functionScanner.d.ts +30 -1
  334. package/dist/functionScanner.d.ts.map +1 -1
  335. package/dist/functionScanner.js +258 -256
  336. package/dist/functionScanner.js.map +1 -1
  337. package/dist/generators/AWSQConfigGenerator.d.ts +23 -0
  338. package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
  339. package/dist/generators/AWSQConfigGenerator.js +23 -0
  340. package/dist/generators/AWSQConfigGenerator.js.map +1 -1
  341. package/dist/generators/BaseConfigGenerator.d.ts +7 -0
  342. package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
  343. package/dist/generators/BaseConfigGenerator.js +7 -0
  344. package/dist/generators/BaseConfigGenerator.js.map +1 -1
  345. package/dist/generators/ClaudeConfigGenerator.d.ts +23 -0
  346. package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
  347. package/dist/generators/ClaudeConfigGenerator.js +23 -0
  348. package/dist/generators/ClaudeConfigGenerator.js.map +1 -1
  349. package/dist/generators/ClineConfigGenerator.d.ts +23 -0
  350. package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
  351. package/dist/generators/ClineConfigGenerator.js +23 -0
  352. package/dist/generators/ClineConfigGenerator.js.map +1 -1
  353. package/dist/generators/CodeiumConfigGenerator.d.ts +23 -0
  354. package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
  355. package/dist/generators/CodeiumConfigGenerator.js +23 -0
  356. package/dist/generators/CodeiumConfigGenerator.js.map +1 -1
  357. package/dist/generators/CodexConfigGenerator.d.ts +23 -0
  358. package/dist/generators/CodexConfigGenerator.d.ts.map +1 -1
  359. package/dist/generators/CodexConfigGenerator.js +23 -0
  360. package/dist/generators/CodexConfigGenerator.js.map +1 -1
  361. package/dist/generators/ConfigGeneratorFactory.d.ts +9 -0
  362. package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
  363. package/dist/generators/ConfigGeneratorFactory.js +9 -0
  364. package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
  365. package/dist/generators/ContinueConfigGenerator.d.ts +23 -0
  366. package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
  367. package/dist/generators/ContinueConfigGenerator.js +23 -0
  368. package/dist/generators/ContinueConfigGenerator.js.map +1 -1
  369. package/dist/generators/CopilotConfigGenerator.d.ts +23 -0
  370. package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
  371. package/dist/generators/CopilotConfigGenerator.js +23 -0
  372. package/dist/generators/CopilotConfigGenerator.js.map +1 -1
  373. package/dist/generators/CursorConfigGenerator.d.ts +23 -0
  374. package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
  375. package/dist/generators/CursorConfigGenerator.js +23 -0
  376. package/dist/generators/CursorConfigGenerator.js.map +1 -1
  377. package/dist/generators/GeminiConfigGenerator.d.ts +23 -0
  378. package/dist/generators/GeminiConfigGenerator.d.ts.map +1 -1
  379. package/dist/generators/GeminiConfigGenerator.js +23 -0
  380. package/dist/generators/GeminiConfigGenerator.js.map +1 -1
  381. package/dist/generators/VSCodeConfigGenerator.d.ts +23 -0
  382. package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
  383. package/dist/generators/VSCodeConfigGenerator.js +23 -0
  384. package/dist/generators/VSCodeConfigGenerator.js.map +1 -1
  385. package/dist/generators/ZCodeConfigGenerator.d.ts +23 -0
  386. package/dist/generators/ZCodeConfigGenerator.d.ts.map +1 -1
  387. package/dist/generators/ZCodeConfigGenerator.js +23 -0
  388. package/dist/generators/ZCodeConfigGenerator.js.map +1 -1
  389. package/dist/graph/blastRadius.d.ts.map +1 -1
  390. package/dist/graph/blastRadius.js +12 -7
  391. package/dist/graph/blastRadius.js.map +1 -1
  392. package/dist/graph/callGraph.d.ts +31 -0
  393. package/dist/graph/callGraph.d.ts.map +1 -1
  394. package/dist/graph/callGraph.js +62 -32
  395. package/dist/graph/callGraph.js.map +1 -1
  396. package/dist/graph/importClassification.d.ts +28 -0
  397. package/dist/graph/importClassification.d.ts.map +1 -1
  398. package/dist/graph/importClassification.js +57 -0
  399. package/dist/graph/importClassification.js.map +1 -1
  400. package/dist/graph/importGraph.d.ts +38 -0
  401. package/dist/graph/importGraph.d.ts.map +1 -1
  402. package/dist/graph/importGraph.js +38 -0
  403. package/dist/graph/importGraph.js.map +1 -1
  404. package/dist/graph/outputFormatter.d.ts +12 -4
  405. package/dist/graph/outputFormatter.d.ts.map +1 -1
  406. package/dist/graph/outputFormatter.js +12 -62
  407. package/dist/graph/outputFormatter.js.map +1 -1
  408. package/dist/graph/resolutionEnvironment.d.ts +61 -0
  409. package/dist/graph/resolutionEnvironment.d.ts.map +1 -0
  410. package/dist/graph/resolutionEnvironment.js +57 -0
  411. package/dist/graph/resolutionEnvironment.js.map +1 -0
  412. package/dist/hooks/codex.d.ts +8 -1
  413. package/dist/hooks/codex.d.ts.map +1 -1
  414. package/dist/hooks/codex.js +7 -0
  415. package/dist/hooks/codex.js.map +1 -1
  416. package/dist/hooks/core.d.ts +6 -0
  417. package/dist/hooks/core.d.ts.map +1 -1
  418. package/dist/hooks/core.js +6 -1
  419. package/dist/hooks/core.js.map +1 -1
  420. package/dist/hooks/cursor.d.ts +11 -1
  421. package/dist/hooks/cursor.d.ts.map +1 -1
  422. package/dist/hooks/cursor.js +10 -0
  423. package/dist/hooks/cursor.js.map +1 -1
  424. package/dist/index.d.ts +4 -0
  425. package/dist/index.d.ts.map +1 -1
  426. package/dist/index.js +4 -0
  427. package/dist/index.js.map +1 -1
  428. package/dist/installConfig.d.ts +23 -5
  429. package/dist/installConfig.d.ts.map +1 -1
  430. package/dist/installConfig.js +23 -5
  431. package/dist/installConfig.js.map +1 -1
  432. package/dist/installer.d.ts +6 -0
  433. package/dist/installer.d.ts.map +1 -1
  434. package/dist/installer.js +6 -0
  435. package/dist/installer.js.map +1 -1
  436. package/dist/invariants/ruleEngine.d.ts +3 -0
  437. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  438. package/dist/invariants/ruleEngine.js +156 -119
  439. package/dist/invariants/ruleEngine.js.map +1 -1
  440. package/dist/invariants/ruleValidator.d.ts +3 -0
  441. package/dist/invariants/ruleValidator.d.ts.map +1 -1
  442. package/dist/invariants/ruleValidator.js +185 -178
  443. package/dist/invariants/ruleValidator.js.map +1 -1
  444. package/dist/languages/LanguageOrchestrator.d.ts +4 -1
  445. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  446. package/dist/languages/LanguageOrchestrator.js +8 -19
  447. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  448. package/dist/languages/RuntimeManager.d.ts +8 -0
  449. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  450. package/dist/languages/RuntimeManager.js +55 -5
  451. package/dist/languages/RuntimeManager.js.map +1 -1
  452. package/dist/languages/UniversalAnalyzer.js +1 -1
  453. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  454. package/dist/languages/adapterBridge.d.ts +4 -0
  455. package/dist/languages/adapterBridge.d.ts.map +1 -1
  456. package/dist/languages/adapterBridge.js +37 -3
  457. package/dist/languages/adapterBridge.js.map +1 -1
  458. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  459. package/dist/languages/go/GoAdapter.js +11 -14
  460. package/dist/languages/go/GoAdapter.js.map +1 -1
  461. package/dist/languages/go/analyzer-darwin-amd64 +0 -0
  462. package/dist/languages/go/analyzer-darwin-arm64 +0 -0
  463. package/dist/languages/go/analyzer-linux-amd64 +0 -0
  464. package/dist/languages/go/analyzer-linux-arm64 +0 -0
  465. package/dist/languages/go/analyzer-src/analyzer.go +2 -0
  466. package/dist/languages/go/analyzer-src/dataaccess.go +388 -0
  467. package/dist/languages/go/analyzer-src/types.go +8 -0
  468. package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
  469. package/dist/languages/go/database-packages.json +8 -0
  470. package/dist/languages/go/goResolution.d.ts +229 -0
  471. package/dist/languages/go/goResolution.d.ts.map +1 -0
  472. package/dist/languages/go/goResolution.js +799 -0
  473. package/dist/languages/go/goResolution.js.map +1 -0
  474. package/dist/languages/go/stdlib-packages.json +353 -0
  475. package/dist/languages/go/tenantInputs.d.ts +37 -0
  476. package/dist/languages/go/tenantInputs.d.ts.map +1 -0
  477. package/dist/languages/go/tenantInputs.js +121 -0
  478. package/dist/languages/go/tenantInputs.js.map +1 -0
  479. package/dist/languages/index.d.ts +1 -0
  480. package/dist/languages/index.d.ts.map +1 -1
  481. package/dist/languages/index.js +5 -0
  482. package/dist/languages/index.js.map +1 -1
  483. package/dist/languages/json/JsonAdapter.d.ts +177 -0
  484. package/dist/languages/json/JsonAdapter.d.ts.map +1 -0
  485. package/dist/languages/json/JsonAdapter.js +531 -0
  486. package/dist/languages/json/JsonAdapter.js.map +1 -0
  487. package/dist/languages/locationIndex.d.ts +41 -0
  488. package/dist/languages/locationIndex.d.ts.map +1 -0
  489. package/dist/languages/locationIndex.js +42 -0
  490. package/dist/languages/locationIndex.js.map +1 -0
  491. package/dist/languages/sql/dialectDetection.d.ts +57 -0
  492. package/dist/languages/sql/dialectDetection.d.ts.map +1 -0
  493. package/dist/languages/sql/dialectDetection.js +135 -0
  494. package/dist/languages/sql/dialectDetection.js.map +1 -0
  495. package/dist/languages/sql/sqlAst.d.ts +494 -0
  496. package/dist/languages/sql/sqlAst.d.ts.map +1 -0
  497. package/dist/languages/sql/sqlAst.js +1817 -0
  498. package/dist/languages/sql/sqlAst.js.map +1 -0
  499. package/dist/languages/testConventions.d.ts +12 -1
  500. package/dist/languages/testConventions.d.ts.map +1 -1
  501. package/dist/languages/testConventions.js +13 -1
  502. package/dist/languages/testConventions.js.map +1 -1
  503. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +1 -1
  504. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  505. package/dist/languages/tree-sitter/converter.js +2 -2
  506. package/dist/languages/tree-sitter/converter.js.map +1 -1
  507. package/dist/languages/tree-sitter/parser.d.ts +3 -4
  508. package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
  509. package/dist/languages/tree-sitter/parser.js +10 -4
  510. package/dist/languages/tree-sitter/parser.js.map +1 -1
  511. package/dist/languages/tree-sitter/rawNode.d.ts +3 -0
  512. package/dist/languages/tree-sitter/rawNode.d.ts.map +1 -1
  513. package/dist/languages/tree-sitter/rawNode.js +3 -0
  514. package/dist/languages/tree-sitter/rawNode.js.map +1 -1
  515. package/dist/languages/types.d.ts +7 -0
  516. package/dist/languages/types.d.ts.map +1 -1
  517. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +36 -0
  518. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  519. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +168 -45
  520. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  521. package/dist/languages/typescript/database-packages.json +19 -0
  522. package/dist/ledger.d.ts +118 -2
  523. package/dist/ledger.d.ts.map +1 -1
  524. package/dist/ledger.js +167 -45
  525. package/dist/ledger.js.map +1 -1
  526. package/dist/legacyIndexNotice.d.ts +32 -0
  527. package/dist/legacyIndexNotice.d.ts.map +1 -0
  528. package/dist/legacyIndexNotice.js +89 -0
  529. package/dist/legacyIndexNotice.js.map +1 -0
  530. package/dist/mcp-tools/discoveryQueries.d.ts +55 -0
  531. package/dist/mcp-tools/discoveryQueries.d.ts.map +1 -0
  532. package/dist/mcp-tools/discoveryQueries.js +157 -0
  533. package/dist/mcp-tools/discoveryQueries.js.map +1 -0
  534. package/dist/mcp-tools/projectTasks.d.ts +9 -123
  535. package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
  536. package/dist/mcp-tools/projectTasks.js +180 -170
  537. package/dist/mcp-tools/projectTasks.js.map +1 -1
  538. package/dist/mcp-tools/whitelistTools.d.ts +20 -0
  539. package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
  540. package/dist/mcp-tools/whitelistTools.js +20 -0
  541. package/dist/mcp-tools/whitelistTools.js.map +1 -1
  542. package/dist/mcp-tools/workflowGuide.d.ts +9 -0
  543. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  544. package/dist/mcp-tools/workflowGuide.js +13 -5
  545. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  546. package/dist/mcp-tools-shared.d.ts +78 -0
  547. package/dist/mcp-tools-shared.d.ts.map +1 -1
  548. package/dist/mcp-tools-shared.js +203 -340
  549. package/dist/mcp-tools-shared.js.map +1 -1
  550. package/dist/mcp-ui-simple.d.ts +2 -0
  551. package/dist/mcp-ui-simple.d.ts.map +1 -1
  552. package/dist/mcp-ui-simple.js +12 -5
  553. package/dist/mcp-ui-simple.js.map +1 -1
  554. package/dist/mcp.d.ts +6 -0
  555. package/dist/mcp.d.ts.map +1 -1
  556. package/dist/mcp.js +827 -850
  557. package/dist/mcp.js.map +1 -1
  558. package/dist/mcpAuditJobs.d.ts +29 -33
  559. package/dist/mcpAuditJobs.d.ts.map +1 -1
  560. package/dist/mcpAuditJobs.js +102 -791
  561. package/dist/mcpAuditJobs.js.map +1 -1
  562. package/dist/mcpAutoIndex.d.ts +5 -0
  563. package/dist/mcpAutoIndex.d.ts.map +1 -1
  564. package/dist/mcpAutoIndex.js +7 -2
  565. package/dist/mcpAutoIndex.js.map +1 -1
  566. package/dist/mcpDiagnostics.d.ts +7 -0
  567. package/dist/mcpDiagnostics.d.ts.map +1 -1
  568. package/dist/mcpDiagnostics.js +34 -9
  569. package/dist/mcpDiagnostics.js.map +1 -1
  570. package/dist/mcpToolErrors.d.ts +16 -0
  571. package/dist/mcpToolErrors.d.ts.map +1 -1
  572. package/dist/mcpToolErrors.js +16 -0
  573. package/dist/mcpToolErrors.js.map +1 -1
  574. package/dist/nextFile.d.ts +6 -0
  575. package/dist/nextFile.d.ts.map +1 -1
  576. package/dist/nextFile.js +6 -0
  577. package/dist/nextFile.js.map +1 -1
  578. package/dist/nextFileIncremental.d.ts +44 -4
  579. package/dist/nextFileIncremental.d.ts.map +1 -1
  580. package/dist/nextFileIncremental.js +47 -7
  581. package/dist/nextFileIncremental.js.map +1 -1
  582. package/dist/phase/batchFunctions.d.ts +38 -0
  583. package/dist/phase/batchFunctions.d.ts.map +1 -0
  584. package/dist/phase/batchFunctions.js +64 -0
  585. package/dist/phase/batchFunctions.js.map +1 -0
  586. package/dist/phase/checks.d.ts +39 -0
  587. package/dist/phase/checks.d.ts.map +1 -0
  588. package/dist/phase/checks.js +48 -0
  589. package/dist/phase/checks.js.map +1 -0
  590. package/dist/phase/codeBlocks.d.ts +25 -0
  591. package/dist/phase/codeBlocks.d.ts.map +1 -0
  592. package/dist/phase/codeBlocks.js +268 -0
  593. package/dist/phase/codeBlocks.js.map +1 -0
  594. package/dist/phase/colorMath.d.ts +41 -0
  595. package/dist/phase/colorMath.d.ts.map +1 -0
  596. package/dist/phase/colorMath.js +109 -0
  597. package/dist/phase/colorMath.js.map +1 -0
  598. package/dist/phase/config.d.ts +29 -0
  599. package/dist/phase/config.d.ts.map +1 -0
  600. package/dist/phase/config.js +54 -0
  601. package/dist/phase/config.js.map +1 -0
  602. package/dist/phase/consumed.d.ts +47 -0
  603. package/dist/phase/consumed.d.ts.map +1 -0
  604. package/dist/phase/consumed.js +22 -0
  605. package/dist/phase/consumed.js.map +1 -0
  606. package/dist/phase/conventionMining.d.ts +59 -0
  607. package/dist/phase/conventionMining.d.ts.map +1 -0
  608. package/dist/phase/conventionMining.js +152 -0
  609. package/dist/phase/conventionMining.js.map +1 -0
  610. package/dist/phase/coverage.d.ts +65 -0
  611. package/dist/phase/coverage.d.ts.map +1 -0
  612. package/dist/phase/coverage.js +121 -0
  613. package/dist/phase/coverage.js.map +1 -0
  614. package/dist/phase/dag.d.ts +49 -0
  615. package/dist/phase/dag.d.ts.map +1 -0
  616. package/dist/phase/dag.js +120 -0
  617. package/dist/phase/dag.js.map +1 -0
  618. package/dist/phase/dataAccessCalls.d.ts +33 -0
  619. package/dist/phase/dataAccessCalls.d.ts.map +1 -0
  620. package/dist/phase/dataAccessCalls.js +42 -0
  621. package/dist/phase/dataAccessCalls.js.map +1 -0
  622. package/dist/phase/dataAccessCallsCandidates.d.ts +25 -0
  623. package/dist/phase/dataAccessCallsCandidates.d.ts.map +1 -0
  624. package/dist/phase/dataAccessCallsCandidates.js +27 -0
  625. package/dist/phase/dataAccessCallsCandidates.js.map +1 -0
  626. package/dist/phase/dynamicSql.d.ts +18 -0
  627. package/dist/phase/dynamicSql.d.ts.map +1 -0
  628. package/dist/phase/dynamicSql.js +20 -0
  629. package/dist/phase/dynamicSql.js.map +1 -0
  630. package/dist/phase/exportForm.d.ts +23 -0
  631. package/dist/phase/exportForm.d.ts.map +1 -0
  632. package/dist/phase/exportForm.js +29 -0
  633. package/dist/phase/exportForm.js.map +1 -0
  634. package/dist/phase/exportSymbols.d.ts +21 -0
  635. package/dist/phase/exportSymbols.d.ts.map +1 -0
  636. package/dist/phase/exportSymbols.js +28 -0
  637. package/dist/phase/exportSymbols.js.map +1 -0
  638. package/dist/phase/fileHeader.d.ts +15 -0
  639. package/dist/phase/fileHeader.d.ts.map +1 -0
  640. package/dist/phase/fileHeader.js +33 -0
  641. package/dist/phase/fileHeader.js.map +1 -0
  642. package/dist/phase/fileImports.d.ts +39 -0
  643. package/dist/phase/fileImports.d.ts.map +1 -0
  644. package/dist/phase/fileImports.js +138 -0
  645. package/dist/phase/fileImports.js.map +1 -0
  646. package/dist/phase/fileSymbols.d.ts +25 -0
  647. package/dist/phase/fileSymbols.d.ts.map +1 -0
  648. package/dist/phase/fileSymbols.js +302 -0
  649. package/dist/phase/fileSymbols.js.map +1 -0
  650. package/dist/phase/functionBodies.d.ts +28 -0
  651. package/dist/phase/functionBodies.d.ts.map +1 -0
  652. package/dist/phase/functionBodies.js +67 -0
  653. package/dist/phase/functionBodies.js.map +1 -0
  654. package/dist/phase/functionIndex.d.ts +28 -0
  655. package/dist/phase/functionIndex.d.ts.map +1 -0
  656. package/dist/phase/functionIndex.js +152 -0
  657. package/dist/phase/functionIndex.js.map +1 -0
  658. package/dist/phase/goFunctionAnalysis.d.ts +47 -0
  659. package/dist/phase/goFunctionAnalysis.d.ts.map +1 -0
  660. package/dist/phase/goFunctionAnalysis.js +291 -0
  661. package/dist/phase/goFunctionAnalysis.js.map +1 -0
  662. package/dist/phase/goFunctions.d.ts +38 -0
  663. package/dist/phase/goFunctions.d.ts.map +1 -0
  664. package/dist/phase/goFunctions.js +154 -0
  665. package/dist/phase/goFunctions.js.map +1 -0
  666. package/dist/phase/goImports.d.ts +29 -0
  667. package/dist/phase/goImports.d.ts.map +1 -0
  668. package/dist/phase/goImports.js +68 -0
  669. package/dist/phase/goImports.js.map +1 -0
  670. package/dist/phase/goPackageBindings.d.ts +22 -0
  671. package/dist/phase/goPackageBindings.d.ts.map +1 -0
  672. package/dist/phase/goPackageBindings.js +30 -0
  673. package/dist/phase/goPackageBindings.js.map +1 -0
  674. package/dist/phase/goSwitches.d.ts +28 -0
  675. package/dist/phase/goSwitches.d.ts.map +1 -0
  676. package/dist/phase/goSwitches.js +52 -0
  677. package/dist/phase/goSwitches.js.map +1 -0
  678. package/dist/phase/importForm.d.ts +20 -0
  679. package/dist/phase/importForm.d.ts.map +1 -0
  680. package/dist/phase/importForm.js +27 -0
  681. package/dist/phase/importForm.js.map +1 -0
  682. package/dist/phase/importSpecifiers.d.ts +20 -0
  683. package/dist/phase/importSpecifiers.d.ts.map +1 -0
  684. package/dist/phase/importSpecifiers.js +30 -0
  685. package/dist/phase/importSpecifiers.js.map +1 -0
  686. package/dist/phase/imports.d.ts +18 -0
  687. package/dist/phase/imports.d.ts.map +1 -0
  688. package/dist/phase/imports.js +25 -0
  689. package/dist/phase/imports.js.map +1 -0
  690. package/dist/phase/jsonDocument.d.ts +26 -0
  691. package/dist/phase/jsonDocument.d.ts.map +1 -0
  692. package/dist/phase/jsonDocument.js +36 -0
  693. package/dist/phase/jsonDocument.js.map +1 -0
  694. package/dist/phase/localBinding.d.ts +33 -0
  695. package/dist/phase/localBinding.d.ts.map +1 -0
  696. package/dist/phase/localBinding.js +208 -0
  697. package/dist/phase/localBinding.js.map +1 -0
  698. package/dist/phase/loopQueries.d.ts +31 -0
  699. package/dist/phase/loopQueries.d.ts.map +1 -0
  700. package/dist/phase/loopQueries.js +44 -0
  701. package/dist/phase/loopQueries.js.map +1 -0
  702. package/dist/phase/loopQueryCandidates.d.ts +26 -0
  703. package/dist/phase/loopQueryCandidates.d.ts.map +1 -0
  704. package/dist/phase/loopQueryCandidates.js +28 -0
  705. package/dist/phase/loopQueryCandidates.js.map +1 -0
  706. package/dist/phase/oracles.d.ts +216 -0
  707. package/dist/phase/oracles.d.ts.map +1 -0
  708. package/dist/phase/oracles.js +484 -0
  709. package/dist/phase/oracles.js.map +1 -0
  710. package/dist/phase/phaseModel.d.ts +190 -0
  711. package/dist/phase/phaseModel.d.ts.map +1 -0
  712. package/dist/phase/phaseModel.js +491 -0
  713. package/dist/phase/phaseModel.js.map +1 -0
  714. package/dist/phase/producers.d.ts +450 -0
  715. package/dist/phase/producers.d.ts.map +1 -0
  716. package/dist/phase/producers.js +1030 -0
  717. package/dist/phase/producers.js.map +1 -0
  718. package/dist/phase/querySiteCandidates.d.ts +27 -0
  719. package/dist/phase/querySiteCandidates.d.ts.map +1 -0
  720. package/dist/phase/querySiteCandidates.js +66 -0
  721. package/dist/phase/querySiteCandidates.js.map +1 -0
  722. package/dist/phase/querySites.d.ts +30 -0
  723. package/dist/phase/querySites.d.ts.map +1 -0
  724. package/dist/phase/querySites.js +93 -0
  725. package/dist/phase/querySites.js.map +1 -0
  726. package/dist/phase/reachability.d.ts +61 -0
  727. package/dist/phase/reachability.d.ts.map +1 -0
  728. package/dist/phase/reachability.js +104 -0
  729. package/dist/phase/reachability.js.map +1 -0
  730. package/dist/phase/reactComponents.d.ts +33 -0
  731. package/dist/phase/reactComponents.d.ts.map +1 -0
  732. package/dist/phase/reactComponents.js +47 -0
  733. package/dist/phase/reactComponents.js.map +1 -0
  734. package/dist/phase/receiverActivity.d.ts +35 -0
  735. package/dist/phase/receiverActivity.d.ts.map +1 -0
  736. package/dist/phase/receiverActivity.js +66 -0
  737. package/dist/phase/receiverActivity.js.map +1 -0
  738. package/dist/phase/receiverConsumers.d.ts +207 -0
  739. package/dist/phase/receiverConsumers.d.ts.map +1 -0
  740. package/dist/phase/receiverConsumers.js +1063 -0
  741. package/dist/phase/receiverConsumers.js.map +1 -0
  742. package/dist/phase/receiverProvenance.d.ts +120 -0
  743. package/dist/phase/receiverProvenance.d.ts.map +1 -0
  744. package/dist/phase/receiverProvenance.js +377 -0
  745. package/dist/phase/receiverProvenance.js.map +1 -0
  746. package/dist/phase/routing.d.ts +47 -0
  747. package/dist/phase/routing.d.ts.map +1 -0
  748. package/dist/phase/routing.js +62 -0
  749. package/dist/phase/routing.js.map +1 -0
  750. package/dist/phase/rules/conventions.d.ts +61 -0
  751. package/dist/phase/rules/conventions.d.ts.map +1 -0
  752. package/dist/phase/rules/conventions.js +403 -0
  753. package/dist/phase/rules/conventions.js.map +1 -0
  754. package/dist/phase/rules/crossDomain.d.ts +102 -0
  755. package/dist/phase/rules/crossDomain.d.ts.map +1 -0
  756. package/dist/phase/rules/crossDomain.js +918 -0
  757. package/dist/phase/rules/crossDomain.js.map +1 -0
  758. package/dist/phase/rules/dataAccess.d.ts +62 -0
  759. package/dist/phase/rules/dataAccess.d.ts.map +1 -0
  760. package/dist/phase/rules/dataAccess.js +480 -0
  761. package/dist/phase/rules/dataAccess.js.map +1 -0
  762. package/dist/phase/rules/dependencyGraph.d.ts +44 -0
  763. package/dist/phase/rules/dependencyGraph.d.ts.map +1 -0
  764. package/dist/phase/rules/dependencyGraph.js +260 -0
  765. package/dist/phase/rules/dependencyGraph.js.map +1 -0
  766. package/dist/phase/rules/documentation.d.ts +45 -0
  767. package/dist/phase/rules/documentation.d.ts.map +1 -0
  768. package/dist/phase/rules/documentation.js +340 -0
  769. package/dist/phase/rules/documentation.js.map +1 -0
  770. package/dist/phase/rules/dry.d.ts +109 -0
  771. package/dist/phase/rules/dry.d.ts.map +1 -0
  772. package/dist/phase/rules/dry.js +803 -0
  773. package/dist/phase/rules/dry.js.map +1 -0
  774. package/dist/phase/rules/fileDocumentation.d.ts +36 -0
  775. package/dist/phase/rules/fileDocumentation.d.ts.map +1 -0
  776. package/dist/phase/rules/fileDocumentation.js +134 -0
  777. package/dist/phase/rules/fileDocumentation.js.map +1 -0
  778. package/dist/phase/rules/functionBodies.d.ts +33 -0
  779. package/dist/phase/rules/functionBodies.d.ts.map +1 -0
  780. package/dist/phase/rules/functionBodies.js +71 -0
  781. package/dist/phase/rules/functionBodies.js.map +1 -0
  782. package/dist/phase/rules/goRules.d.ts +49 -0
  783. package/dist/phase/rules/goRules.d.ts.map +1 -0
  784. package/dist/phase/rules/goRules.js +209 -0
  785. package/dist/phase/rules/goRules.js.map +1 -0
  786. package/dist/phase/rules/querySites.d.ts +29 -0
  787. package/dist/phase/rules/querySites.d.ts.map +1 -0
  788. package/dist/phase/rules/querySites.js +94 -0
  789. package/dist/phase/rules/querySites.js.map +1 -0
  790. package/dist/phase/rules/react.d.ts +38 -0
  791. package/dist/phase/rules/react.d.ts.map +1 -0
  792. package/dist/phase/rules/react.js +202 -0
  793. package/dist/phase/rules/react.js.map +1 -0
  794. package/dist/phase/rules/registry.d.ts +170 -0
  795. package/dist/phase/rules/registry.d.ts.map +1 -0
  796. package/dist/phase/rules/registry.js +103 -0
  797. package/dist/phase/rules/registry.js.map +1 -0
  798. package/dist/phase/rules/schema.d.ts +79 -0
  799. package/dist/phase/rules/schema.d.ts.map +1 -0
  800. package/dist/phase/rules/schema.js +273 -0
  801. package/dist/phase/rules/schema.js.map +1 -0
  802. package/dist/phase/rules/schemaJson.d.ts +32 -0
  803. package/dist/phase/rules/schemaJson.d.ts.map +1 -0
  804. package/dist/phase/rules/schemaJson.js +81 -0
  805. package/dist/phase/rules/schemaJson.js.map +1 -0
  806. package/dist/phase/rules/schemaValidator.d.ts +38 -0
  807. package/dist/phase/rules/schemaValidator.d.ts.map +1 -0
  808. package/dist/phase/rules/schemaValidator.js +107 -0
  809. package/dist/phase/rules/schemaValidator.js.map +1 -0
  810. package/dist/phase/rules/secrets.d.ts +34 -0
  811. package/dist/phase/rules/secrets.d.ts.map +1 -0
  812. package/dist/phase/rules/secrets.js +208 -0
  813. package/dist/phase/rules/secrets.js.map +1 -0
  814. package/dist/phase/rules/security.d.ts +30 -0
  815. package/dist/phase/rules/security.d.ts.map +1 -0
  816. package/dist/phase/rules/security.js +85 -0
  817. package/dist/phase/rules/security.js.map +1 -0
  818. package/dist/phase/rules/securityDefects.d.ts +37 -0
  819. package/dist/phase/rules/securityDefects.d.ts.map +1 -0
  820. package/dist/phase/rules/securityDefects.js +167 -0
  821. package/dist/phase/rules/securityDefects.js.map +1 -0
  822. package/dist/phase/rules/solid.d.ts +61 -0
  823. package/dist/phase/rules/solid.d.ts.map +1 -0
  824. package/dist/phase/rules/solid.js +562 -0
  825. package/dist/phase/rules/solid.js.map +1 -0
  826. package/dist/phase/rules/styles.d.ts +77 -0
  827. package/dist/phase/rules/styles.d.ts.map +1 -0
  828. package/dist/phase/rules/styles.js +868 -0
  829. package/dist/phase/rules/styles.js.map +1 -0
  830. package/dist/phase/rules/unreferencedModule.d.ts +26 -0
  831. package/dist/phase/rules/unreferencedModule.d.ts.map +1 -0
  832. package/dist/phase/rules/unreferencedModule.js +61 -0
  833. package/dist/phase/rules/unreferencedModule.js.map +1 -0
  834. package/dist/phase/runner.d.ts +549 -0
  835. package/dist/phase/runner.d.ts.map +1 -0
  836. package/dist/phase/runner.js +1098 -0
  837. package/dist/phase/runner.js.map +1 -0
  838. package/dist/phase/schemaCode.d.ts +34 -0
  839. package/dist/phase/schemaCode.d.ts.map +1 -0
  840. package/dist/phase/schemaCode.js +53 -0
  841. package/dist/phase/schemaCode.js.map +1 -0
  842. package/dist/phase/schemaObjects.d.ts +37 -0
  843. package/dist/phase/schemaObjects.d.ts.map +1 -0
  844. package/dist/phase/schemaObjects.js +139 -0
  845. package/dist/phase/schemaObjects.js.map +1 -0
  846. package/dist/phase/schemaUsage.d.ts +30 -0
  847. package/dist/phase/schemaUsage.d.ts.map +1 -0
  848. package/dist/phase/schemaUsage.js +99 -0
  849. package/dist/phase/schemaUsage.js.map +1 -0
  850. package/dist/phase/schemaUsageCandidates.d.ts +32 -0
  851. package/dist/phase/schemaUsageCandidates.d.ts.map +1 -0
  852. package/dist/phase/schemaUsageCandidates.js +165 -0
  853. package/dist/phase/schemaUsageCandidates.js.map +1 -0
  854. package/dist/phase/schemaValidations.d.ts +34 -0
  855. package/dist/phase/schemaValidations.d.ts.map +1 -0
  856. package/dist/phase/schemaValidations.js +53 -0
  857. package/dist/phase/schemaValidations.js.map +1 -0
  858. package/dist/phase/secretCandidates.d.ts +28 -0
  859. package/dist/phase/secretCandidates.d.ts.map +1 -0
  860. package/dist/phase/secretCandidates.js +132 -0
  861. package/dist/phase/secretCandidates.js.map +1 -0
  862. package/dist/phase/securityCandidates.d.ts +29 -0
  863. package/dist/phase/securityCandidates.d.ts.map +1 -0
  864. package/dist/phase/securityCandidates.js +469 -0
  865. package/dist/phase/securityCandidates.js.map +1 -0
  866. package/dist/phase/seeded-defects.d.ts +18 -0
  867. package/dist/phase/seeded-defects.d.ts.map +1 -0
  868. package/dist/phase/seeded-defects.js +61 -0
  869. package/dist/phase/seeded-defects.js.map +1 -0
  870. package/dist/phase/stringLiterals.d.ts +24 -0
  871. package/dist/phase/stringLiterals.d.ts.map +1 -0
  872. package/dist/phase/stringLiterals.js +35 -0
  873. package/dist/phase/stringLiterals.js.map +1 -0
  874. package/dist/phase/stylesCss.d.ts +25 -0
  875. package/dist/phase/stylesCss.d.ts.map +1 -0
  876. package/dist/phase/stylesCss.js +34 -0
  877. package/dist/phase/stylesCss.js.map +1 -0
  878. package/dist/phase/stylesMarkup.d.ts +31 -0
  879. package/dist/phase/stylesMarkup.d.ts.map +1 -0
  880. package/dist/phase/stylesMarkup.js +48 -0
  881. package/dist/phase/stylesMarkup.js.map +1 -0
  882. package/dist/phase/stylesSource.d.ts +36 -0
  883. package/dist/phase/stylesSource.d.ts.map +1 -0
  884. package/dist/phase/stylesSource.js +50 -0
  885. package/dist/phase/stylesSource.js.map +1 -0
  886. package/dist/phase/typeDeclarations.d.ts +33 -0
  887. package/dist/phase/typeDeclarations.d.ts.map +1 -0
  888. package/dist/phase/typeDeclarations.js +76 -0
  889. package/dist/phase/typeDeclarations.js.map +1 -0
  890. package/dist/phase/types.d.ts +2199 -0
  891. package/dist/phase/types.d.ts.map +1 -0
  892. package/dist/phase/types.js +27 -0
  893. package/dist/phase/types.js.map +1 -0
  894. package/dist/phase/withinFileProvenance.d.ts +50 -0
  895. package/dist/phase/withinFileProvenance.d.ts.map +1 -0
  896. package/dist/phase/withinFileProvenance.js +112 -0
  897. package/dist/phase/withinFileProvenance.js.map +1 -0
  898. package/dist/pipeline.d.ts +37 -30
  899. package/dist/pipeline.d.ts.map +1 -1
  900. package/dist/pipeline.js +131 -326
  901. package/dist/pipeline.js.map +1 -1
  902. package/dist/pipelineAdapters.d.ts +104 -21
  903. package/dist/pipelineAdapters.d.ts.map +1 -1
  904. package/dist/pipelineAdapters.js +1144 -984
  905. package/dist/pipelineAdapters.js.map +1 -1
  906. package/dist/pipelineTypes.d.ts +21 -0
  907. package/dist/pipelineTypes.d.ts.map +1 -1
  908. package/dist/pipelineTypes.js +21 -10
  909. package/dist/pipelineTypes.js.map +1 -1
  910. package/dist/presets/presets.d.ts +9 -2
  911. package/dist/presets/presets.d.ts.map +1 -1
  912. package/dist/presets/presets.js +15 -26
  913. package/dist/presets/presets.js.map +1 -1
  914. package/dist/reporting/csvReportGenerator.d.ts +14 -3
  915. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  916. package/dist/reporting/csvReportGenerator.js +14 -3
  917. package/dist/reporting/csvReportGenerator.js.map +1 -1
  918. package/dist/reporting/htmlReportGenerator.d.ts +5 -1
  919. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  920. package/dist/reporting/htmlReportGenerator.js +5 -1
  921. package/dist/reporting/htmlReportGenerator.js.map +1 -1
  922. package/dist/reporting/jsonReportGenerator.d.ts +9 -2
  923. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  924. package/dist/reporting/jsonReportGenerator.js +19 -5
  925. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  926. package/dist/reporting/reportGenerator.d.ts +9 -2
  927. package/dist/reporting/reportGenerator.d.ts.map +1 -1
  928. package/dist/reporting/reportGenerator.js +9 -2
  929. package/dist/reporting/reportGenerator.js.map +1 -1
  930. package/dist/reporting/sarifReportGenerator.d.ts +14 -0
  931. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  932. package/dist/reporting/sarifReportGenerator.js +14 -0
  933. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  934. package/dist/reporting/sizeDistribution.d.ts +19 -2
  935. package/dist/reporting/sizeDistribution.d.ts.map +1 -1
  936. package/dist/reporting/sizeDistribution.js +23 -5
  937. package/dist/reporting/sizeDistribution.js.map +1 -1
  938. package/dist/ruleAliases.d.ts +6 -8
  939. package/dist/ruleAliases.d.ts.map +1 -1
  940. package/dist/ruleAliases.js +29 -4
  941. package/dist/ruleAliases.js.map +1 -1
  942. package/dist/search/QueryParser.d.ts +1 -0
  943. package/dist/search/QueryParser.d.ts.map +1 -1
  944. package/dist/search/QueryParser.js +32 -91
  945. package/dist/search/QueryParser.js.map +1 -1
  946. package/dist/services/CodeMapGenerator.d.ts +19 -20
  947. package/dist/services/CodeMapGenerator.d.ts.map +1 -1
  948. package/dist/services/CodeMapGenerator.js +214 -194
  949. package/dist/services/CodeMapGenerator.js.map +1 -1
  950. package/dist/services/ProjectTaskRepository.d.ts +65 -3
  951. package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
  952. package/dist/services/ProjectTaskRepository.js +94 -25
  953. package/dist/services/ProjectTaskRepository.js.map +1 -1
  954. package/dist/services/auditJobService.d.ts +17 -1
  955. package/dist/services/auditJobService.d.ts.map +1 -1
  956. package/dist/services/auditJobService.js +16 -0
  957. package/dist/services/auditJobService.js.map +1 -1
  958. package/dist/services/fileAccounting.d.ts +43 -5
  959. package/dist/services/fileAccounting.d.ts.map +1 -1
  960. package/dist/services/fileAccounting.js +48 -9
  961. package/dist/services/fileAccounting.js.map +1 -1
  962. package/dist/services/projectTaskHelpers.d.ts +45 -0
  963. package/dist/services/projectTaskHelpers.d.ts.map +1 -1
  964. package/dist/services/projectTaskHelpers.js +45 -0
  965. package/dist/services/projectTaskHelpers.js.map +1 -1
  966. package/dist/services/whitelistService.d.ts +40 -5
  967. package/dist/services/whitelistService.d.ts.map +1 -1
  968. package/dist/services/whitelistService.js +87 -46
  969. package/dist/services/whitelistService.js.map +1 -1
  970. package/dist/sqlite/betterSqlite3.d.ts +35 -1
  971. package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
  972. package/dist/sqlite/betterSqlite3.js +35 -1
  973. package/dist/sqlite/betterSqlite3.js.map +1 -1
  974. package/dist/sqlite/driver.d.ts +23 -0
  975. package/dist/sqlite/driver.d.ts.map +1 -1
  976. package/dist/sqlite/driver.js +23 -0
  977. package/dist/sqlite/driver.js.map +1 -1
  978. package/dist/sqlite/nodeSqlite.d.ts +35 -1
  979. package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
  980. package/dist/sqlite/nodeSqlite.js +35 -1
  981. package/dist/sqlite/nodeSqlite.js.map +1 -1
  982. package/dist/structuralSignature.d.ts +9 -0
  983. package/dist/structuralSignature.d.ts.map +1 -1
  984. package/dist/structuralSignature.js +9 -0
  985. package/dist/structuralSignature.js.map +1 -1
  986. package/dist/styles/cssAstExtractor.d.ts +15 -0
  987. package/dist/styles/cssAstExtractor.d.ts.map +1 -1
  988. package/dist/styles/cssAstExtractor.js +15 -0
  989. package/dist/styles/cssAstExtractor.js.map +1 -1
  990. package/dist/styles/normalizer.d.ts +6 -0
  991. package/dist/styles/normalizer.d.ts.map +1 -1
  992. package/dist/styles/normalizer.js +6 -0
  993. package/dist/styles/normalizer.js.map +1 -1
  994. package/dist/styles/styleExtractor.d.ts +29 -2
  995. package/dist/styles/styleExtractor.d.ts.map +1 -1
  996. package/dist/styles/styleExtractor.js +67 -48
  997. package/dist/styles/styleExtractor.js.map +1 -1
  998. package/dist/styles/styleIndexer.d.ts +8 -0
  999. package/dist/styles/styleIndexer.d.ts.map +1 -1
  1000. package/dist/styles/styleIndexer.js +135 -138
  1001. package/dist/styles/styleIndexer.js.map +1 -1
  1002. package/dist/styles/tailwindConfigLoader.d.ts +12 -0
  1003. package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
  1004. package/dist/styles/tailwindConfigLoader.js +12 -0
  1005. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  1006. package/dist/styles/tailwindExpander.d.ts +3 -0
  1007. package/dist/styles/tailwindExpander.d.ts.map +1 -1
  1008. package/dist/styles/tailwindExpander.js +8 -4
  1009. package/dist/styles/tailwindExpander.js.map +1 -1
  1010. package/dist/styles/tailwindProbe.d.ts +9 -0
  1011. package/dist/styles/tailwindProbe.d.ts.map +1 -1
  1012. package/dist/styles/tailwindProbe.js +181 -166
  1013. package/dist/styles/tailwindProbe.js.map +1 -1
  1014. package/dist/styles/tailwindUtilityExpander.d.ts +13 -0
  1015. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  1016. package/dist/styles/tailwindUtilityExpander.js +13 -0
  1017. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  1018. package/dist/symbols.d.ts +13 -11
  1019. package/dist/symbols.d.ts.map +1 -1
  1020. package/dist/symbols.js +14 -21
  1021. package/dist/symbols.js.map +1 -1
  1022. package/dist/telemetry.d.ts +31 -3
  1023. package/dist/telemetry.d.ts.map +1 -1
  1024. package/dist/telemetry.js +31 -3
  1025. package/dist/telemetry.js.map +1 -1
  1026. package/dist/tool-registry.d.ts +37 -1
  1027. package/dist/tool-registry.d.ts.map +1 -1
  1028. package/dist/tool-registry.js +37 -1
  1029. package/dist/tool-registry.js.map +1 -1
  1030. package/dist/types.d.ts +114 -71
  1031. package/dist/types.d.ts.map +1 -1
  1032. package/dist/types.js +7 -16
  1033. package/dist/types.js.map +1 -1
  1034. package/dist/ui/InteractivePrompts.d.ts +12 -0
  1035. package/dist/ui/InteractivePrompts.d.ts.map +1 -1
  1036. package/dist/ui/InteractivePrompts.js +12 -0
  1037. package/dist/ui/InteractivePrompts.js.map +1 -1
  1038. package/dist/utils/astParser.d.ts +15 -0
  1039. package/dist/utils/astParser.d.ts.map +1 -1
  1040. package/dist/utils/astParser.js +15 -0
  1041. package/dist/utils/astParser.js.map +1 -1
  1042. package/dist/utils/astUtils.d.ts +60 -0
  1043. package/dist/utils/astUtils.d.ts.map +1 -1
  1044. package/dist/utils/astUtils.js +350 -362
  1045. package/dist/utils/astUtils.js.map +1 -1
  1046. package/dist/utils/contentHash.d.ts +22 -0
  1047. package/dist/utils/contentHash.d.ts.map +1 -0
  1048. package/dist/utils/contentHash.js +26 -0
  1049. package/dist/utils/contentHash.js.map +1 -0
  1050. package/dist/utils/dependencyExtractor.d.ts +28 -0
  1051. package/dist/utils/dependencyExtractor.d.ts.map +1 -1
  1052. package/dist/utils/dependencyExtractor.js +28 -1
  1053. package/dist/utils/dependencyExtractor.js.map +1 -1
  1054. package/dist/utils/errorMessage.d.ts +10 -0
  1055. package/dist/utils/errorMessage.d.ts.map +1 -0
  1056. package/dist/utils/errorMessage.js +12 -0
  1057. package/dist/utils/errorMessage.js.map +1 -0
  1058. package/dist/utils/fileDiscovery.d.ts +61 -2
  1059. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  1060. package/dist/utils/fileDiscovery.js +131 -23
  1061. package/dist/utils/fileDiscovery.js.map +1 -1
  1062. package/dist/utils/reactDetection.d.ts +34 -5
  1063. package/dist/utils/reactDetection.d.ts.map +1 -1
  1064. package/dist/utils/reactDetection.js +73 -52
  1065. package/dist/utils/reactDetection.js.map +1 -1
  1066. package/dist/version.generated.d.ts +1 -1
  1067. package/dist/version.generated.js +1 -1
  1068. package/dist/workers/auditWorker.js +7 -3
  1069. package/dist/workers/auditWorker.js.map +1 -1
  1070. package/examples/.auditrc.example.json +0 -8
  1071. package/examples/.auditrc.json +0 -11
  1072. package/examples/.code-auditor.json +0 -2
  1073. package/examples/nextjs.auditrc.json +0 -8
  1074. package/examples/node-api.auditrc.json +0 -7
  1075. package/examples/react.auditrc.json +0 -6
  1076. package/examples/tolerant-solid.auditrc.json +0 -5
  1077. package/package.json +18 -9
  1078. package/plugin/.claude-plugin/manifest.json +16 -0
  1079. package/plugin/.claude-plugin/plugin.json +1 -1
  1080. package/plugin/hooks/hooks.json +7 -3
  1081. package/plugin/scripts/hook-audit.sh +46 -16
  1082. package/plugin/scripts/hook-common.sh +81 -12
  1083. package/plugin/scripts/hook-drift-check.sh +76 -0
  1084. package/plugin/scripts/hook-self-audit.sh +22 -14
  1085. package/plugin/scripts/hook-warm.sh +5 -6
  1086. package/plugin/skills/code-auditor/SKILL.md +1 -1
  1087. package/server.json +10 -4
@@ -9,8 +9,6 @@
9
9
  export const RULE_REGISTRY = {
10
10
  // ── solid (UniversalSOLIDAnalyzer) ──────────────────────────────────────
11
11
  'solid/class-size': {
12
- analyzer: 'solid',
13
- field: 'rule',
14
12
  input: ['files'],
15
13
  resolvable: true,
16
14
  message: 'Class "{name}" has {methods} methods, exceeding the maximum of {max}. Consider splitting into smaller classes.',
@@ -30,8 +28,6 @@ export const RULE_REGISTRY = {
30
28
  },
31
29
  },
32
30
  'solid/method-complexity': {
33
- analyzer: 'solid',
34
- field: 'rule',
35
31
  input: ['files'],
36
32
  resolvable: false,
37
33
  message: 'Method "{name}" has cyclomatic complexity {complexity}, exceeding the maximum of {max}.',
@@ -48,8 +44,6 @@ export const RULE_REGISTRY = {
48
44
  },
49
45
  },
50
46
  'solid/open-closed': {
51
- analyzer: 'solid',
52
- field: 'rule',
53
47
  input: ['files'],
54
48
  resolvable: false,
55
49
  message: 'Class "{name}" uses instanceof against a user-defined type.',
@@ -65,8 +59,6 @@ export const RULE_REGISTRY = {
65
59
  },
66
60
  },
67
61
  'solid/single-responsibility': {
68
- analyzer: 'solid',
69
- field: 'rule',
70
62
  input: ['files'],
71
63
  resolvable: true,
72
64
  message: 'Function "{name}" mixes unrelated responsibilities. Split it into one function per concern.',
@@ -87,8 +79,6 @@ export const RULE_REGISTRY = {
87
79
  },
88
80
  },
89
81
  'function-length': {
90
- analyzer: 'solid',
91
- field: 'rule',
92
82
  input: ['files'],
93
83
  resolvable: true,
94
84
  message: 'Function "{name}" has {lines} lines, exceeding the maximum of {max}. Consider breaking it down.',
@@ -108,8 +98,6 @@ export const RULE_REGISTRY = {
108
98
  },
109
99
  },
110
100
  'parameter-count': {
111
- analyzer: 'solid',
112
- field: 'rule',
113
101
  input: ['files'],
114
102
  resolvable: true,
115
103
  message: 'Function "{name}" has {params} parameters, exceeding the maximum of {max}. Consider using an options object.',
@@ -129,8 +117,6 @@ export const RULE_REGISTRY = {
129
117
  },
130
118
  },
131
119
  'interface-size': {
132
- analyzer: 'solid',
133
- field: 'rule',
134
120
  input: ['files'],
135
121
  resolvable: false,
136
122
  message: 'Interface "{name}" has many members.',
@@ -153,8 +139,6 @@ export const RULE_REGISTRY = {
153
139
  // panic()) rule. They were missing from the registry, so Go findings were
154
140
  // invisible to coverage and `describeRuleId` reported them `unknown`.
155
141
  'switch-size': {
156
- analyzer: 'solid',
157
- field: 'rule',
158
142
  input: ['files'],
159
143
  resolvable: false,
160
144
  message: 'Switch or type switch has many case clauses.',
@@ -174,8 +158,6 @@ export const RULE_REGISTRY = {
174
158
  },
175
159
  },
176
160
  'function-size': {
177
- analyzer: 'solid',
178
- field: 'rule',
179
161
  input: ['files'],
180
162
  resolvable: false,
181
163
  message: 'Function has many parameters, multiple returns, and high complexity.',
@@ -195,8 +177,6 @@ export const RULE_REGISTRY = {
195
177
  },
196
178
  },
197
179
  'struct-size': {
198
- analyzer: 'solid',
199
- field: 'rule',
200
180
  input: ['files'],
201
181
  resolvable: false,
202
182
  message: 'Struct has many fields.',
@@ -216,8 +196,6 @@ export const RULE_REGISTRY = {
216
196
  },
217
197
  },
218
198
  'liskov-substitution': {
219
- analyzer: 'solid',
220
- field: 'rule',
221
199
  input: ['files'],
222
200
  resolvable: false,
223
201
  message: 'Method calls panic().',
@@ -236,14 +214,12 @@ export const RULE_REGISTRY = {
236
214
  },
237
215
  },
238
216
  // ── Go non-SOLID rules (Spec-54 severity) ──────────────────────────────
239
- // The Go subprocess emits these under a single `go` analyzer namespace: the
240
- // subprocess's internal `imports`/`errors`/`goroutines`/`channels` dispatch is
217
+ // The Go phase rules emit these under a single `go` analyzer namespace: the
218
+ // rules' internal `imports`/`errors`/`goroutines`/`channels` provenance is
241
219
  // collapsed to `go` at emit time so its structure does not surface as four
242
220
  // analyzer names a user has to learn. Registered here so coverage and
243
221
  // describeRuleId see them, and so their severities carry a registry entry.
244
222
  'channel-deadlock': {
245
- analyzer: 'go',
246
- field: 'rule',
247
223
  input: ['files'],
248
224
  resolvable: false,
249
225
  message: 'Guaranteed deadlock: an unbuffered channel is both sent to and received from in the same goroutine.',
@@ -263,8 +239,6 @@ export const RULE_REGISTRY = {
263
239
  },
264
240
  },
265
241
  'error-handling': {
266
- analyzer: 'go',
267
- field: 'rule',
268
242
  input: ['files'],
269
243
  resolvable: false,
270
244
  message: 'Function assigns an error that is never checked, returned, or propagated.',
@@ -284,8 +258,6 @@ export const RULE_REGISTRY = {
284
258
  },
285
259
  },
286
260
  'concurrency': {
287
- analyzer: 'go',
288
- field: 'rule',
289
261
  input: ['files'],
290
262
  resolvable: false,
291
263
  message: 'Function launches a goroutine without synchronization.',
@@ -305,8 +277,6 @@ export const RULE_REGISTRY = {
305
277
  },
306
278
  },
307
279
  'import-organization': {
308
- analyzer: 'go',
309
- field: 'rule',
310
280
  input: ['files'],
311
281
  resolvable: false,
312
282
  message: 'Import block mixes standard library and third-party imports without grouping.',
@@ -326,8 +296,6 @@ export const RULE_REGISTRY = {
326
296
  },
327
297
  },
328
298
  'import-style': {
329
- analyzer: 'go',
330
- field: 'rule',
331
299
  input: ['files'],
332
300
  resolvable: false,
333
301
  message: 'Dot import detected — can lead to namespace pollution.',
@@ -347,8 +315,6 @@ export const RULE_REGISTRY = {
347
315
  },
348
316
  },
349
317
  'solid/liskov-substitution': {
350
- analyzer: 'solid',
351
- field: 'rule',
352
318
  input: ['files'],
353
319
  resolvable: false,
354
320
  message: 'Method "{name}" overrides a parent method and throws where the parent does not.',
@@ -363,27 +329,8 @@ export const RULE_REGISTRY = {
363
329
  ],
364
330
  },
365
331
  },
366
- 'solid/dependency-inversion': {
367
- analyzer: 'solid',
368
- field: 'rule',
369
- input: ['files'],
370
- resolvable: false,
371
- message: 'Module "{name}" violates the Dependency Inversion Principle.',
372
- docs: 'solid/dependency-inversion',
373
- thresholds: [],
374
- samples: {
375
- valid: [
376
- { code: 'class Service {\n constructor(repo) { this.repo = repo; }\n}', nearMiss: true },
377
- ],
378
- invalid: [
379
- { code: 'class Service {\n constructor() { this.repo = new PostgresRepo(); }\n}' },
380
- ],
381
- },
382
- },
383
332
  // ── dry (UniversalDRYAnalyzer) ──────────────────────────────────────────
384
333
  'dry/duplicate': {
385
- analyzer: 'dry',
386
- field: 'rule',
387
334
  input: ['files'],
388
335
  resolvable: true,
389
336
  message: 'Duplicate code block detected ({lines} lines). First occurrence at {file}:{line}.',
@@ -407,9 +354,6 @@ export const RULE_REGISTRY = {
407
354
  },
408
355
  },
409
356
  'dry/structural-similarity': {
410
- analyzer: 'dry',
411
- field: 'rule',
412
- configGate: 'checkStructuralSimilarity',
413
357
  input: ['files'],
414
358
  resolvable: false,
415
359
  message: 'Structurally similar code block detected ({similarity}% similar to {file}:{line}).',
@@ -432,9 +376,6 @@ export const RULE_REGISTRY = {
432
376
  },
433
377
  },
434
378
  'dry/similar-expression': {
435
- analyzer: 'dry',
436
- field: 'rule',
437
- configGate: 'checkExpressionSimilarity',
438
379
  input: ['files'],
439
380
  resolvable: true,
440
381
  message: 'Near-identical expression detected ({shared} shared {unit}: {names}). First occurrence at {file}:{line}.',
@@ -471,8 +412,6 @@ export const RULE_REGISTRY = {
471
412
  // across consecutive runs (copy-paste then edit one side). Cross-run: emitted
472
413
  // by the divergence-tracking pass in auditRunner, not the per-file DRY visitor.
473
414
  'dry/diverging-clone': {
474
- analyzer: 'dry',
475
- field: 'rule',
476
415
  input: ['files'],
477
416
  resolvable: false,
478
417
  message: 'Clone pair has diverged: similarity dropped {drop} (from {previous} to {current}) across {runs} consecutive runs. Review {file1}:{line1} and {file2}:{line2} for diverged logic.',
@@ -491,9 +430,6 @@ export const RULE_REGISTRY = {
491
430
  },
492
431
  },
493
432
  'duplicate-string-literal': {
494
- analyzer: 'dry',
495
- field: 'rule',
496
- configGate: 'checkStrings',
497
433
  input: ['files'],
498
434
  resolvable: false,
499
435
  message: 'String literal "{text}" is duplicated {count} times.',
@@ -509,9 +445,6 @@ export const RULE_REGISTRY = {
509
445
  },
510
446
  },
511
447
  'duplicate-import': {
512
- analyzer: 'dry',
513
- field: 'rule',
514
- configGate: 'checkImports',
515
448
  input: ['files'],
516
449
  resolvable: false,
517
450
  message: 'Duplicate import of "{module}".',
@@ -528,8 +461,6 @@ export const RULE_REGISTRY = {
528
461
  },
529
462
  // ── data-access (UniversalDataAccessAnalyzer) ───────────────────────────
530
463
  'sql-injection-risk': {
531
- analyzer: 'data-access',
532
- field: 'rule',
533
464
  input: ['files'],
534
465
  resolvable: true,
535
466
  message: 'Potential SQL injection risk in {method}. Use parameterized queries.',
@@ -537,19 +468,17 @@ export const RULE_REGISTRY = {
537
468
  thresholds: [],
538
469
  samples: {
539
470
  valid: [
540
- { code: 'db.query("SELECT * FROM users WHERE id = ?", [userId])', nearMiss: true },
471
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM users WHERE id = ?", [userId])', nearMiss: true },
541
472
  ],
542
473
  invalid: [
543
474
  {
544
- code: 'db.query("SELECT * FROM users WHERE id = " + userId)',
475
+ code: 'import { Pool } from "pg";\nconst db = new Pool();\ndb.query("SELECT * FROM users WHERE id = " + userId)',
545
476
  resolution: { action: 'parameterize', summary: 'Replace the string-concatenated SQL with a parameterized query using the driver\'s placeholder form.', symbols: ['query'] },
546
477
  },
547
478
  ],
548
479
  },
549
480
  },
550
481
  'missing-org-filter': {
551
- analyzer: 'data-access-org-filter',
552
- field: 'rule',
553
482
  input: ['data-access', 'schema'],
554
483
  resolvable: true,
555
484
  // The claim is "no organization/tenant *predicate*", NOT "no filter". A
@@ -577,8 +506,6 @@ export const RULE_REGISTRY = {
577
506
  },
578
507
  },
579
508
  'complex-query': {
580
- analyzer: 'data-access',
581
- field: 'rule',
582
509
  input: ['files'],
583
510
  resolvable: false,
584
511
  message: 'Query references many tables (join-heavy).',
@@ -586,17 +513,15 @@ export const RULE_REGISTRY = {
586
513
  thresholds: ['performanceThresholds.joinedTableCount'],
587
514
  samples: {
588
515
  valid: [
589
- { code: 'db.query("SELECT COUNT(*) FROM users")', nearMiss: true },
590
- { code: 'db.query("SELECT * FROM users WHERE id IN (SELECT user_id FROM orders)")', nearMiss: true },
516
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT COUNT(*) FROM users")', nearMiss: true },
517
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM users WHERE id IN (SELECT user_id FROM orders)")', nearMiss: true },
591
518
  ],
592
519
  invalid: [
593
- { code: 'db.query("SELECT * FROM a JOIN b JOIN c JOIN d JOIN e JOIN f JOIN g JOIN h JOIN i")' },
520
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM a JOIN b JOIN c JOIN d JOIN e JOIN f JOIN g JOIN h JOIN i")' },
594
521
  ],
595
522
  },
596
523
  },
597
524
  'unfiltered-query': {
598
- analyzer: 'data-access',
599
- field: 'rule',
600
525
  input: ['files'],
601
526
  resolvable: false,
602
527
  message: 'Unfiltered write or tenant-scoped read on {tables} has no WHERE/HAVING/LIMIT.',
@@ -604,17 +529,15 @@ export const RULE_REGISTRY = {
604
529
  thresholds: [],
605
530
  samples: {
606
531
  valid: [
607
- { code: 'db.query("SELECT * FROM users")', nearMiss: true },
608
- { code: 'db.query("DELETE FROM users WHERE id = ?", [id])', nearMiss: true },
532
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM users")', nearMiss: true },
533
+ { code: 'const db: D1Database = getDb();\ndb.query("UPDATE users SET active = 0 WHERE id = ?")', nearMiss: true },
609
534
  ],
610
535
  invalid: [
611
- { code: 'db.query("DELETE FROM users")' },
536
+ { code: 'const db: D1Database = getDb();\ndb.query("UPDATE users SET active = 0")' },
612
537
  ],
613
538
  },
614
539
  },
615
540
  'hardcoded-connection': {
616
- analyzer: 'data-access',
617
- field: 'rule',
618
541
  input: ['files'],
619
542
  resolvable: false,
620
543
  message: 'Hardcoded database connection string detected.',
@@ -630,8 +553,6 @@ export const RULE_REGISTRY = {
630
553
  },
631
554
  },
632
555
  'loop-query': {
633
- analyzer: 'data-access',
634
- field: 'rule',
635
556
  input: ['files'],
636
557
  resolvable: false,
637
558
  message: 'Database query inside a loop detected in {method}.',
@@ -642,15 +563,12 @@ export const RULE_REGISTRY = {
642
563
  { code: 'for (const id of ids) {\n cache.set(id, lookup(id));\n}', nearMiss: true },
643
564
  ],
644
565
  invalid: [
645
- { code: 'for (const id of ids) {\n db.query("SELECT * FROM users WHERE id = ?", [id]);\n}' },
566
+ { code: 'const db: D1Database = getDb();\nfor (const id of ids) {\n db.query("SELECT * FROM users WHERE id = ?", [id]);\n}' },
646
567
  ],
647
568
  },
648
569
  },
649
570
  // ── secrets (UniversalSecretsAnalyzer) ──────────────────────────────────
650
571
  'hardcoded-secret': {
651
- analyzer: 'secrets',
652
- field: 'rule',
653
- configGate: 'checkHardcodedSecrets',
654
572
  input: ['files'],
655
573
  resolvable: true,
656
574
  message: 'Hardcoded secret detected: a credential value is embedded in source. Move it to an environment variable or secret store.',
@@ -684,8 +602,6 @@ export const RULE_REGISTRY = {
684
602
  },
685
603
  // ── documentation (UniversalDocumentationAnalyzer) ─────────────────────
686
604
  'file-documentation': {
687
- analyzer: 'documentation',
688
- field: 'rule',
689
605
  input: ['files'],
690
606
  resolvable: false,
691
607
  message: 'File is missing a leading documentation comment.',
@@ -701,8 +617,6 @@ export const RULE_REGISTRY = {
701
617
  },
702
618
  },
703
619
  'function-documentation': {
704
- analyzer: 'documentation',
705
- field: 'rule',
706
620
  input: ['files'],
707
621
  resolvable: false,
708
622
  message: 'Function "{name}" is missing a doc comment.',
@@ -718,8 +632,6 @@ export const RULE_REGISTRY = {
718
632
  },
719
633
  },
720
634
  'parameter-documentation': {
721
- analyzer: 'documentation',
722
- field: 'rule',
723
635
  input: ['files'],
724
636
  resolvable: false,
725
637
  message: 'Parameter "{name}" in function "{func}" is missing a @param tag.',
@@ -735,8 +647,6 @@ export const RULE_REGISTRY = {
735
647
  },
736
648
  },
737
649
  'return-documentation': {
738
- analyzer: 'documentation',
739
- field: 'rule',
740
650
  input: ['files'],
741
651
  resolvable: false,
742
652
  message: 'Function "{name}" is missing a @returns tag.',
@@ -763,8 +673,6 @@ export const RULE_REGISTRY = {
763
673
  },
764
674
  },
765
675
  'class-documentation': {
766
- analyzer: 'documentation',
767
- field: 'rule',
768
676
  input: ['files'],
769
677
  resolvable: false,
770
678
  message: 'Class "{name}" is missing a doc comment.',
@@ -780,8 +688,6 @@ export const RULE_REGISTRY = {
780
688
  },
781
689
  },
782
690
  'method-documentation': {
783
- analyzer: 'documentation',
784
- field: 'rule',
785
691
  input: ['files'],
786
692
  resolvable: false,
787
693
  message: 'Method "{name}" is missing a doc comment.',
@@ -799,8 +705,6 @@ export const RULE_REGISTRY = {
799
705
  // ── schema (UniversalSchemaAnalyzer) ────────────────────────────────────
800
706
  // JSON validation rules → emitted by the schema-json visitor path.
801
707
  'invalid-json': {
802
- analyzer: 'schema',
803
- field: 'rule',
804
708
  input: ['schema-json'],
805
709
  resolvable: false,
806
710
  message: 'Invalid JSON: {error}.',
@@ -816,8 +720,6 @@ export const RULE_REGISTRY = {
816
720
  },
817
721
  },
818
722
  'missing-schema-declaration': {
819
- analyzer: 'schema',
820
- field: 'rule',
821
723
  input: ['schema-json'],
822
724
  resolvable: false,
823
725
  message: 'Missing JSON schema declaration.',
@@ -833,8 +735,6 @@ export const RULE_REGISTRY = {
833
735
  },
834
736
  },
835
737
  'undefined-required-field': {
836
- analyzer: 'schema',
837
- field: 'rule',
838
738
  input: ['schema-json'],
839
739
  resolvable: false,
840
740
  message: 'Undefined required field "{field}".',
@@ -850,8 +750,6 @@ export const RULE_REGISTRY = {
850
750
  },
851
751
  },
852
752
  'invalid-type': {
853
- analyzer: 'schema',
854
- field: 'rule',
855
753
  input: ['schema-json'],
856
754
  resolvable: false,
857
755
  message: 'Invalid type for field "{field}".',
@@ -867,8 +765,6 @@ export const RULE_REGISTRY = {
867
765
  },
868
766
  },
869
767
  'invalid-range': {
870
- analyzer: 'schema',
871
- field: 'rule',
872
768
  input: ['schema-json'],
873
769
  resolvable: false,
874
770
  message: 'Invalid range for field "{field}".',
@@ -884,8 +780,6 @@ export const RULE_REGISTRY = {
884
780
  },
885
781
  },
886
782
  'type-mismatch': {
887
- analyzer: 'schema',
888
- field: 'rule',
889
783
  input: ['schema-json'],
890
784
  resolvable: false,
891
785
  message: 'Type mismatch for field "{field}".',
@@ -901,8 +795,6 @@ export const RULE_REGISTRY = {
901
795
  },
902
796
  },
903
797
  'string-too-short': {
904
- analyzer: 'schema',
905
- field: 'rule',
906
798
  input: ['schema-json'],
907
799
  resolvable: false,
908
800
  message: 'String value too short for field "{field}".',
@@ -918,8 +810,6 @@ export const RULE_REGISTRY = {
918
810
  },
919
811
  },
920
812
  'string-too-long': {
921
- analyzer: 'schema',
922
- field: 'rule',
923
813
  input: ['schema-json'],
924
814
  resolvable: false,
925
815
  message: 'String value too long for field "{field}".',
@@ -935,8 +825,6 @@ export const RULE_REGISTRY = {
935
825
  },
936
826
  },
937
827
  'pattern-mismatch': {
938
- analyzer: 'schema',
939
- field: 'rule',
940
828
  input: ['schema-json'],
941
829
  resolvable: false,
942
830
  message: 'Value does not match pattern for field "{field}".',
@@ -952,8 +840,6 @@ export const RULE_REGISTRY = {
952
840
  },
953
841
  },
954
842
  'invalid-format': {
955
- analyzer: 'schema',
956
- field: 'rule',
957
843
  input: ['schema-json'],
958
844
  resolvable: false,
959
845
  message: 'Invalid format for field "{field}".',
@@ -969,8 +855,6 @@ export const RULE_REGISTRY = {
969
855
  },
970
856
  },
971
857
  'below-minimum': {
972
- analyzer: 'schema',
973
- field: 'rule',
974
858
  input: ['schema-json'],
975
859
  resolvable: false,
976
860
  message: 'Value below minimum for field "{field}".',
@@ -986,8 +870,6 @@ export const RULE_REGISTRY = {
986
870
  },
987
871
  },
988
872
  'above-maximum': {
989
- analyzer: 'schema',
990
- field: 'rule',
991
873
  input: ['schema-json'],
992
874
  resolvable: false,
993
875
  message: 'Value above maximum for field "{field}".',
@@ -1003,8 +885,6 @@ export const RULE_REGISTRY = {
1003
885
  },
1004
886
  },
1005
887
  'too-few-items': {
1006
- analyzer: 'schema',
1007
- field: 'rule',
1008
888
  input: ['schema-json'],
1009
889
  resolvable: false,
1010
890
  message: 'Too few items for field "{field}".',
@@ -1020,8 +900,6 @@ export const RULE_REGISTRY = {
1020
900
  },
1021
901
  },
1022
902
  'too-many-items': {
1023
- analyzer: 'schema',
1024
- field: 'rule',
1025
903
  input: ['schema-json'],
1026
904
  resolvable: false,
1027
905
  message: 'Too many items for field "{field}".',
@@ -1037,8 +915,6 @@ export const RULE_REGISTRY = {
1037
915
  },
1038
916
  },
1039
917
  'missing-required-field': {
1040
- analyzer: 'schema',
1041
- field: 'rule',
1042
918
  input: ['schema-json'],
1043
919
  resolvable: false,
1044
920
  message: 'Missing required field "{field}".',
@@ -1054,8 +930,6 @@ export const RULE_REGISTRY = {
1054
930
  },
1055
931
  },
1056
932
  'unexpected-property': {
1057
- analyzer: 'schema',
1058
- field: 'rule',
1059
933
  input: ['schema-json'],
1060
934
  resolvable: false,
1061
935
  message: 'Unexpected property "{property}".',
@@ -1071,8 +945,6 @@ export const RULE_REGISTRY = {
1071
945
  },
1072
946
  },
1073
947
  'enum-mismatch': {
1074
- analyzer: 'schema',
1075
- field: 'rule',
1076
948
  input: ['schema-json'],
1077
949
  resolvable: false,
1078
950
  message: 'Value does not match any enum value for field "{field}".',
@@ -1089,8 +961,6 @@ export const RULE_REGISTRY = {
1089
961
  },
1090
962
  // SQL-injection → emitted by the schema-code visitor over TS/JS source.
1091
963
  'dynamic-sql-construction': {
1092
- analyzer: 'schema',
1093
- field: 'rule',
1094
964
  input: ['schema-code'],
1095
965
  resolvable: false,
1096
966
  message: 'SQL query built via string interpolation or concatenation in {method}; use parameterized queries.',
@@ -1098,19 +968,16 @@ export const RULE_REGISTRY = {
1098
968
  thresholds: [],
1099
969
  samples: {
1100
970
  valid: [
1101
- { code: 'db.query("SELECT * FROM t WHERE id = ?", [id])', nearMiss: true },
971
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM t WHERE id = ?", [id])', nearMiss: true },
1102
972
  ],
1103
973
  invalid: [
1104
- { code: 'db.query("SELECT * FROM t WHERE id = " + id)' },
974
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM t WHERE id = " + id)' },
1105
975
  ],
1106
976
  },
1107
977
  },
1108
978
  // Table naming-convention check → emitted by the schema-code visitor.
1109
979
  // Spec 38 R5: renamed from `naming-convention` (see src/ruleAliases.ts).
1110
980
  'table-naming-convention': {
1111
- analyzer: 'schema',
1112
- field: 'rule',
1113
- configGate: 'checkNamingConventions',
1114
981
  input: ['schema-code'],
1115
982
  resolvable: false,
1116
983
  message: 'Table name "{table}" should use snake_case convention.',
@@ -1127,8 +994,6 @@ export const RULE_REGISTRY = {
1127
994
  },
1128
995
  // Cross-file unknown-table detection → emitted by the schema Stage 3 reducer.
1129
996
  'unknown-table': {
1130
- analyzer: 'schema',
1131
- field: 'rule',
1132
997
  input: ['schema-code'],
1133
998
  resolvable: true,
1134
999
  message: 'Reference to unknown table "{table}" ({type}). Did you mean: {suggestions}?',
@@ -1136,11 +1001,11 @@ export const RULE_REGISTRY = {
1136
1001
  thresholds: [],
1137
1002
  samples: {
1138
1003
  valid: [
1139
- { code: 'db.query("SELECT * FROM users")', nearMiss: true },
1004
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM users")', nearMiss: true },
1140
1005
  ],
1141
1006
  invalid: [
1142
1007
  {
1143
- code: 'db.query("SELECT * FROM user")',
1008
+ code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM user")',
1144
1009
  resolution: { action: 'use-known-table', summary: 'Rename the table reference "user" to the nearest known table "users".', symbols: ['users'] },
1145
1010
  },
1146
1011
  ],
@@ -1152,8 +1017,6 @@ export const RULE_REGISTRY = {
1152
1017
  // reference, not a typo, so the message names the dropping migration and the
1153
1018
  // tables it created in its place.
1154
1019
  'stale-table-reference': {
1155
- analyzer: 'schema',
1156
- field: 'rule',
1157
1020
  input: ['schema-code'],
1158
1021
  resolvable: true,
1159
1022
  message: 'Reference to dropped table "{table}" — dropped in {migration}.',
@@ -1161,7 +1024,7 @@ export const RULE_REGISTRY = {
1161
1024
  thresholds: [],
1162
1025
  samples: {
1163
1026
  valid: [
1164
- { code: 'db.query("SELECT * FROM users")', nearMiss: true },
1027
+ { code: 'const db: D1Database = getDb();\ndb.query("SELECT * FROM users")', nearMiss: true },
1165
1028
  ],
1166
1029
  invalid: [
1167
1030
  {
@@ -1176,9 +1039,6 @@ export const RULE_REGISTRY = {
1176
1039
  // (like the other schema rules) has no config shape in the threshold-validation
1177
1040
  // test, so the knob is documented here rather than declared in `thresholds`.
1178
1041
  'too-many-queries': {
1179
- analyzer: 'schema',
1180
- field: 'rule',
1181
- configGate: 'validateQueryPatterns',
1182
1042
  input: ['schema-code'],
1183
1043
  resolvable: false,
1184
1044
  message: 'Function "{name}" has {count} queries, exceeding the maximum of {max}.',
@@ -1186,10 +1046,10 @@ export const RULE_REGISTRY = {
1186
1046
  thresholds: [],
1187
1047
  samples: {
1188
1048
  valid: [
1189
- { code: 'function getUser(id) {\n return db.query("SELECT * FROM users WHERE id = ?", [id]);\n}', nearMiss: true },
1049
+ { code: 'const db: D1Database = getDb();\nfunction getUser(id) {\n return db.query("SELECT * FROM users WHERE id = ?", [id]);\n}', nearMiss: true },
1190
1050
  ],
1191
1051
  invalid: [
1192
- { code: 'function loadDashboard() {\n db.query("SELECT * FROM users");\n db.query("SELECT * FROM orders");\n db.query("SELECT * FROM products");\n db.query("SELECT * FROM reviews");\n db.query("SELECT * FROM events");\n db.query("SELECT * FROM alerts");\n}' },
1052
+ { code: 'const db: D1Database = getDb();\nfunction loadDashboard() {\n db.query("SELECT * FROM users");\n db.query("SELECT * FROM orders");\n db.query("SELECT * FROM products");\n db.query("SELECT * FROM reviews");\n db.query("SELECT * FROM events");\n db.query("SELECT * FROM alerts");\n}' },
1193
1053
  ],
1194
1054
  },
1195
1055
  },
@@ -1197,13 +1057,11 @@ export const RULE_REGISTRY = {
1197
1057
  // constant, computed/concatenated expression, call result) is no longer a
1198
1058
  // violation rule. It moved to the coverage-diagnostics channel
1199
1059
  // (`CoverageDiagnostic`, kind `unresolved-query`) — surfaced in the report
1200
- // with file+line, never blocking. The registry entry is removed so
1201
- // `buildCoverageReport` doesn't classify it `clean` (which would assert the
1202
- // tool checked something it no longer checks as a finding).
1060
+ // with file+line, never blocking. The registry entry is removed so derived
1061
+ // coverage doesn't classify it `clean` (which would assert the tool checked
1062
+ // something it no longer checks as a finding).
1203
1063
  // ── react (reactAnalyzer) ───────────────────────────────────────────────
1204
1064
  'hooks-naming': {
1205
- analyzer: 'react',
1206
- field: 'rule',
1207
1065
  input: ['files'],
1208
1066
  resolvable: false,
1209
1067
  message: 'React hook "{name}" does not follow the "use*" naming convention.',
@@ -1219,8 +1077,6 @@ export const RULE_REGISTRY = {
1219
1077
  },
1220
1078
  },
1221
1079
  'complexity': {
1222
- analyzer: 'react',
1223
- field: 'rule',
1224
1080
  input: ['files'],
1225
1081
  resolvable: false,
1226
1082
  message: 'React component "{name}" has complexity {complexity}, exceeding the maximum.',
@@ -1243,9 +1099,6 @@ export const RULE_REGISTRY = {
1243
1099
  },
1244
1100
  },
1245
1101
  'missing-props': {
1246
- analyzer: 'react',
1247
- field: 'rule',
1248
- configGate: 'requirePropTypes',
1249
1102
  input: ['files'],
1250
1103
  resolvable: false,
1251
1104
  message: 'React component "{name}" is missing prop-types.',
@@ -1261,8 +1114,6 @@ export const RULE_REGISTRY = {
1261
1114
  },
1262
1115
  },
1263
1116
  'no-error-boundary': {
1264
- analyzer: 'react',
1265
- field: 'rule',
1266
1117
  input: ['files'],
1267
1118
  resolvable: false,
1268
1119
  message: 'React component tree is missing an error boundary.',
@@ -1278,9 +1129,6 @@ export const RULE_REGISTRY = {
1278
1129
  },
1279
1130
  },
1280
1131
  'performance': {
1281
- analyzer: 'react',
1282
- field: 'rule',
1283
- configGate: 'requireMemoization',
1284
1132
  input: ['files'],
1285
1133
  resolvable: false,
1286
1134
  message: 'React component "{name}" is missing memoization.',
@@ -1296,8 +1144,6 @@ export const RULE_REGISTRY = {
1296
1144
  },
1297
1145
  },
1298
1146
  'accessibility': {
1299
- analyzer: 'react',
1300
- field: 'rule',
1301
1147
  input: ['files'],
1302
1148
  resolvable: false,
1303
1149
  message: 'Accessibility issue in component "{name}": {issue}.',
@@ -1313,8 +1159,6 @@ export const RULE_REGISTRY = {
1313
1159
  },
1314
1160
  },
1315
1161
  'raw-element': {
1316
- analyzer: 'react',
1317
- field: 'rule',
1318
1162
  input: ['files'],
1319
1163
  resolvable: true,
1320
1164
  message: 'raw `<{element}>` — this project uses `<{wrapper}>` ({file}).',
@@ -1338,13 +1182,11 @@ export const RULE_REGISTRY = {
1338
1182
  // the coverage-diagnostics channel (`CoverageDiagnostic`, kinds `config-error`
1339
1183
  // / `engine-error`). A bad `.codeauditor.json` or a rule-engine failure is a
1340
1184
  // tool-side "couldn't do its job", not a defect in the audited code. The
1341
- // registry entries are removed so `buildCoverageReport` doesn't classify them
1185
+ // registry entries are removed so derived coverage doesn't classify them
1342
1186
  // `clean` (which would assert the tool checked something it no longer checks
1343
1187
  // as a finding).
1344
1188
  // ── schema-validator (SchemaValidator) ──────────────────────────────────
1345
1189
  'schema-field-mismatch': {
1346
- analyzer: 'schema-validator',
1347
- field: 'rule',
1348
1190
  input: ['cross-language-entities'],
1349
1191
  resolvable: false,
1350
1192
  message: 'Schema field type-name strings differ: {detail}.',
@@ -1360,8 +1202,6 @@ export const RULE_REGISTRY = {
1360
1202
  },
1361
1203
  },
1362
1204
  'missing-field': {
1363
- analyzer: 'schema-validator',
1364
- field: 'rule',
1365
1205
  input: ['cross-language-entities'],
1366
1206
  resolvable: false,
1367
1207
  message: 'Missing field: {field}.',
@@ -1377,8 +1217,6 @@ export const RULE_REGISTRY = {
1377
1217
  },
1378
1218
  },
1379
1219
  'extra-field': {
1380
- analyzer: 'schema-validator',
1381
- field: 'rule',
1382
1220
  input: ['cross-language-entities'],
1383
1221
  resolvable: false,
1384
1222
  message: 'Extra field: {field}.',
@@ -1395,8 +1233,6 @@ export const RULE_REGISTRY = {
1395
1233
  },
1396
1234
  // ── dependency-graph (DependencyGraphBuilder) ───────────────────────────
1397
1235
  'circular-dependency': {
1398
- analyzer: 'dependency-graph',
1399
- field: 'type',
1400
1236
  input: ['cross-language-entities'],
1401
1237
  resolvable: false,
1402
1238
  message: 'Circular dependency detected: {cycle}.',
@@ -1412,8 +1248,6 @@ export const RULE_REGISTRY = {
1412
1248
  },
1413
1249
  },
1414
1250
  'break-cycles': {
1415
- analyzer: 'dependency-graph',
1416
- field: 'type',
1417
1251
  input: ['cross-language-entities'],
1418
1252
  resolvable: false,
1419
1253
  message: 'Break dependency cycle: {cycle}.',
@@ -1429,14 +1263,12 @@ export const RULE_REGISTRY = {
1429
1263
  },
1430
1264
  },
1431
1265
  'tight-coupling': {
1432
- analyzer: 'dependency-graph',
1433
- field: 'type',
1434
1266
  input: ['cross-language-entities'],
1435
1267
  resolvable: false,
1436
1268
  message: 'Tight coupling detected between {a} and {b}.',
1437
1269
  docs: 'tight-coupling',
1438
1270
  thresholds: [],
1439
- thresholdRationale: 'Cohesion (internal edges / incident edges) > 0.7 — 70% of a cluster\'s edges staying internal is genuinely tight. A density ratio, not a "size" number; fires once per corpus. Kept at 0.7.',
1271
+ thresholdRationale: 'Pairwise coupling (cross-cluster edges / (cross + internal edges)) > 0.7 with ≥ 3 cross edges — two packages are tightly coupled when their mutual edges dominate the edges that stay inside either package. The prior metric measured single-cluster cohesion (internal / incident edges), which inverted the concept and flagged well-factored packages; this measures actual coupling between distinct clusters.',
1440
1272
  samples: {
1441
1273
  valid: [
1442
1274
  { code: 'import { one } from "./m";', nearMiss: true },
@@ -1447,8 +1279,6 @@ export const RULE_REGISTRY = {
1447
1279
  },
1448
1280
  },
1449
1281
  'reduce-coupling': {
1450
- analyzer: 'dependency-graph',
1451
- field: 'type',
1452
1282
  input: ['cross-language-entities'],
1453
1283
  resolvable: false,
1454
1284
  message: 'Reduce coupling between {a} and {b}.',
@@ -1463,43 +1293,7 @@ export const RULE_REGISTRY = {
1463
1293
  ],
1464
1294
  },
1465
1295
  },
1466
- 'hub-nodes': {
1467
- analyzer: 'dependency-graph',
1468
- field: 'type',
1469
- input: ['cross-language-entities'],
1470
- resolvable: false,
1471
- message: 'Hub node "{node}" has {count} dependencies.',
1472
- docs: 'hub-nodes',
1473
- thresholds: [],
1474
- samples: {
1475
- valid: [
1476
- { code: 'export function small() {}', nearMiss: true },
1477
- ],
1478
- invalid: [
1479
- { code: 'export function hub() {\n a(); b(); c(); d(); e(); f(); g(); h(); i(); j();\n}' },
1480
- ],
1481
- },
1482
- },
1483
- 'split-responsibilities': {
1484
- analyzer: 'dependency-graph',
1485
- field: 'type',
1486
- input: ['cross-language-entities'],
1487
- resolvable: false,
1488
- message: 'Split responsibilities of node "{node}".',
1489
- docs: 'split-responsibilities',
1490
- thresholds: [],
1491
- samples: {
1492
- valid: [
1493
- { code: 'export function focused() { return a(); }', nearMiss: true },
1494
- ],
1495
- invalid: [
1496
- { code: 'export function multi() {\n readDb(); writeLog(); renderUi(); sendMail();\n}' },
1497
- ],
1498
- },
1499
- },
1500
1296
  'orphaned-nodes': {
1501
- analyzer: 'dependency-graph',
1502
- field: 'type',
1503
1297
  input: ['cross-language-entities'],
1504
1298
  resolvable: false,
1505
1299
  message: 'Orphaned node "{node}" has no connections.',
@@ -1515,8 +1309,6 @@ export const RULE_REGISTRY = {
1515
1309
  },
1516
1310
  },
1517
1311
  'review-orphans': {
1518
- analyzer: 'dependency-graph',
1519
- field: 'type',
1520
1312
  input: ['cross-language-entities'],
1521
1313
  resolvable: false,
1522
1314
  message: 'Review orphaned nodes: {nodes}.',
@@ -1532,8 +1324,6 @@ export const RULE_REGISTRY = {
1532
1324
  },
1533
1325
  },
1534
1326
  'unreferenced-module': {
1535
- analyzer: 'dependency-graph',
1536
- field: 'type',
1537
1327
  input: ['cross-language-entities'],
1538
1328
  resolvable: false,
1539
1329
  message: 'Module is not imported by any other file and is not a framework entry point — dead code candidate.',
@@ -1552,16 +1342,14 @@ export const RULE_REGISTRY = {
1552
1342
  // specifier is no longer a violation rule. It moved to the coverage-
1553
1343
  // diagnostics channel (`CoverageDiagnostic`, kind `unresolved-dynamic-import`)
1554
1344
  // — surfaced with file+line, never blocking. Removed from the registry so
1555
- // `buildCoverageReport` doesn't flip it to a false `clean`.
1345
+ // derived coverage doesn't flip it to a false `clean`.
1556
1346
  // ── styles (UniversalStylesAnalyzer) ─────────────────────────────────────
1557
1347
  'styles/value-drift': {
1558
- analyzer: 'styles',
1559
- field: 'rule',
1560
1348
  input: ['styles-css'],
1561
1349
  resolvable: false,
1562
- message: 'Color value "{value}" drifts from the dominant token.',
1350
+ message: 'Color drift in "{property}": "{value}" is near-identical to "{canonical}" (ΔE = {d}). Consider using "{canonical}".',
1563
1351
  docs: 'styles/value-drift',
1564
- thresholds: ['colorDeltaE', 'outlierMaxShare'],
1352
+ thresholds: ['colorDeltaE'],
1565
1353
  samples: {
1566
1354
  valid: [
1567
1355
  { code: '.btn { color: var(--brand); }', nearMiss: true },
@@ -1572,13 +1360,11 @@ export const RULE_REGISTRY = {
1572
1360
  },
1573
1361
  },
1574
1362
  'styles/off-scale': {
1575
- analyzer: 'styles',
1576
- field: 'rule',
1577
1363
  input: ['styles-css'],
1578
1364
  resolvable: false,
1579
1365
  message: 'Value "{value}" is off the Tailwind spacing scale.',
1580
1366
  docs: 'styles/off-scale',
1581
- thresholds: ['minCorpus'],
1367
+ thresholds: ['offScaleMinDeclarations'],
1582
1368
  samples: {
1583
1369
  valid: [
1584
1370
  { code: '.x { padding: 8px; }', nearMiss: true },
@@ -1589,8 +1375,6 @@ export const RULE_REGISTRY = {
1589
1375
  },
1590
1376
  },
1591
1377
  'styles/undefined-class': {
1592
- analyzer: 'styles',
1593
- field: 'rule',
1594
1378
  input: ['styles-css'],
1595
1379
  resolvable: true,
1596
1380
  message: 'Class "{class}" was not found in any read stylesheet or utility set.',
@@ -1615,8 +1399,6 @@ export const RULE_REGISTRY = {
1615
1399
  // do its job", not a defect. The registry entry is removed so coverage never
1616
1400
  // asserts the tool checked something it no longer checks as a finding.
1617
1401
  'styles/token-bypass': {
1618
- analyzer: 'styles',
1619
- field: 'rule',
1620
1402
  input: ['styles-css'],
1621
1403
  resolvable: false,
1622
1404
  message: 'Token bypass: raw value "{value}" used instead of a design token.',
@@ -1632,8 +1414,6 @@ export const RULE_REGISTRY = {
1632
1414
  },
1633
1415
  },
1634
1416
  'styles/mechanism-fragmentation': {
1635
- analyzer: 'styles',
1636
- field: 'rule',
1637
1417
  input: ['styles-css'],
1638
1418
  resolvable: false,
1639
1419
  message: 'Styling mechanism fragmented across {count} mechanisms.',
@@ -1649,8 +1429,6 @@ export const RULE_REGISTRY = {
1649
1429
  },
1650
1430
  },
1651
1431
  'styles/mechanism-mixing': {
1652
- analyzer: 'styles',
1653
- field: 'rule',
1654
1432
  input: ['styles-css'],
1655
1433
  resolvable: false,
1656
1434
  message: 'Mixing styling mechanisms in one file.',
@@ -1666,8 +1444,6 @@ export const RULE_REGISTRY = {
1666
1444
  },
1667
1445
  },
1668
1446
  'styles/declaration-set-similarity': {
1669
- analyzer: 'styles',
1670
- field: 'rule',
1671
1447
  input: ['styles-css'],
1672
1448
  resolvable: false,
1673
1449
  message: 'Declaration set similar to another block ({similarity}%).',
@@ -1683,8 +1459,6 @@ export const RULE_REGISTRY = {
1683
1459
  },
1684
1460
  },
1685
1461
  'styles/z-index-sprawl': {
1686
- analyzer: 'styles',
1687
- field: 'rule',
1688
1462
  input: ['styles-css'],
1689
1463
  resolvable: false,
1690
1464
  message: 'Z-index sprawl: {count} distinct z-index values.',
@@ -1700,8 +1474,6 @@ export const RULE_REGISTRY = {
1700
1474
  },
1701
1475
  },
1702
1476
  'styles/z-index-singleton': {
1703
- analyzer: 'styles',
1704
- field: 'rule',
1705
1477
  input: ['styles-css'],
1706
1478
  resolvable: false,
1707
1479
  message: 'Z-index value "{value}" appears only once.',
@@ -1718,8 +1490,6 @@ export const RULE_REGISTRY = {
1718
1490
  },
1719
1491
  // ── conventions (UniversalConventionsAnalyzer) ───────────────────────────
1720
1492
  'conventions/usage-pair': {
1721
- analyzer: 'conventions',
1722
- field: 'rule',
1723
1493
  input: ['function-index'],
1724
1494
  resolvable: true,
1725
1495
  message: '{pct}% of `{antecedent}` callers also call `{consequent}`.',
@@ -1738,8 +1508,6 @@ export const RULE_REGISTRY = {
1738
1508
  },
1739
1509
  },
1740
1510
  'conventions/import-form': {
1741
- analyzer: 'conventions',
1742
- field: 'rule',
1743
1511
  input: ['function-index'],
1744
1512
  resolvable: false,
1745
1513
  message: 'Import form mismatch: use {form} for "{source}".',
@@ -1755,8 +1523,6 @@ export const RULE_REGISTRY = {
1755
1523
  },
1756
1524
  },
1757
1525
  'conventions/error-handling': {
1758
- analyzer: 'conventions',
1759
- field: 'rule',
1760
1526
  input: ['function-index'],
1761
1527
  resolvable: false,
1762
1528
  message: 'Error-handling convention mismatch: {detail}.',
@@ -1772,8 +1538,6 @@ export const RULE_REGISTRY = {
1772
1538
  },
1773
1539
  },
1774
1540
  'conventions/export-shape': {
1775
- analyzer: 'conventions',
1776
- field: 'rule',
1777
1541
  input: ['function-index'],
1778
1542
  resolvable: false,
1779
1543
  message: 'Export shape mismatch: {detail}.',
@@ -1789,8 +1553,6 @@ export const RULE_REGISTRY = {
1789
1553
  },
1790
1554
  },
1791
1555
  'conventions/naming': {
1792
- analyzer: 'conventions',
1793
- field: 'rule',
1794
1556
  input: ['function-index'],
1795
1557
  resolvable: false,
1796
1558
  message: 'Naming convention mismatch: {detail}.',
@@ -1807,8 +1569,6 @@ export const RULE_REGISTRY = {
1807
1569
  },
1808
1570
  // ── cross-domain (CrossDomainAnalyzer) ────────────────────────────────────
1809
1571
  'cross-domain/written-never-read': {
1810
- analyzer: 'cross-domain',
1811
- field: 'rule',
1812
1572
  input: ['schema_usage', 'functions'],
1813
1573
  resolvable: false,
1814
1574
  message: 'Table "{table}" is written but never read.',
@@ -1824,8 +1584,6 @@ export const RULE_REGISTRY = {
1824
1584
  },
1825
1585
  },
1826
1586
  'cross-domain/read-never-written': {
1827
- analyzer: 'cross-domain',
1828
- field: 'rule',
1829
1587
  input: ['schema_usage', 'functions'],
1830
1588
  resolvable: false,
1831
1589
  message: 'Table "{table}" is read but never written.',
@@ -1841,8 +1599,6 @@ export const RULE_REGISTRY = {
1841
1599
  },
1842
1600
  },
1843
1601
  'cross-domain/multi-table-write': {
1844
- analyzer: 'cross-domain',
1845
- field: 'rule',
1846
1602
  input: ['schema_usage', 'functions'],
1847
1603
  resolvable: false,
1848
1604
  message: 'Function writes to {count} distinct tables.',
@@ -1858,8 +1614,6 @@ export const RULE_REGISTRY = {
1858
1614
  },
1859
1615
  },
1860
1616
  'cross-domain/no-validator-reachable': {
1861
- analyzer: 'cross-domain',
1862
- field: 'rule',
1863
1617
  input: ['schema_usage', 'functions'],
1864
1618
  resolvable: false,
1865
1619
  message: 'No validator reachable within BFS depth: {detail}.',
@@ -1875,8 +1629,6 @@ export const RULE_REGISTRY = {
1875
1629
  },
1876
1630
  },
1877
1631
  'cross-domain/uncovered-risk': {
1878
- analyzer: 'cross-domain',
1879
- field: 'rule',
1880
1632
  input: ['schema_usage', 'functions'],
1881
1633
  resolvable: false,
1882
1634
  message: 'Uncovered risk: {detail}.',
@@ -1893,8 +1645,6 @@ export const RULE_REGISTRY = {
1893
1645
  },
1894
1646
  // ── security (UniversalSecurityAnalyzer) — Spec 61 R6 ─────────────────────
1895
1647
  'command-injection-risk': {
1896
- analyzer: 'security',
1897
- field: 'rule',
1898
1648
  input: ['files'],
1899
1649
  resolvable: true,
1900
1650
  message: 'Unsafe process invocation: {method} is passed a command built by interpolation/concatenation.',
@@ -1910,8 +1660,6 @@ export const RULE_REGISTRY = {
1910
1660
  },
1911
1661
  },
1912
1662
  'dynamic-require-of-project-path': {
1913
- analyzer: 'security',
1914
- field: 'rule',
1915
1663
  input: ['files'],
1916
1664
  resolvable: true,
1917
1665
  message: 'Dynamic require/import of a project config path: {path}.',
@@ -1928,8 +1676,6 @@ export const RULE_REGISTRY = {
1928
1676
  },
1929
1677
  },
1930
1678
  'unescaped-html-interpolation': {
1931
- analyzer: 'security',
1932
- field: 'rule',
1933
1679
  input: ['files'],
1934
1680
  resolvable: true,
1935
1681
  message: 'Unescaped HTML interpolation: {field} is inserted into an HTML template without an escaping call.',
@@ -1958,61 +1704,12 @@ export const RULE_REGISTRY = {
1958
1704
  },
1959
1705
  },
1960
1706
  };
1961
- /**
1962
- * Canonical set of every analyzer ID that emits at least one rule in
1963
- * {@link RULE_REGISTRY}, derived from the registry itself. An analyzer "exists"
1964
- * iff it emits a rule, so this is the single source of truth for analyzer
1965
- * identity.
1966
- *
1967
- * Every other analyzer list — the audit-runner registry, config validation,
1968
- * default-enabled analyzers, the detached runner, and the MCP default set —
1969
- * must derive from this rather than re-type names. Adding an analyzer is then a
1970
- * registry edit plus an enable decision, never a hunt across hand-maintained
1971
- * arrays that drift out of sync (the historical failure: four lists at 13, 10,
1972
- * 10, and 7).
1973
- */
1974
- export const ALL_ANALYZERS = [
1975
- ...new Set(Object.values(RULE_REGISTRY).map((e) => e.analyzer)),
1976
- ].sort();
1977
- /**
1978
- * The reduced analyzer set the MCP `audit.run` surface enables by default —
1979
- * a deliberate subset of {@link ALL_ANALYZERS} (the MCP path favors a lighter,
1980
- * latency-sensitive audit). The full CLI `audit` default is {@link ALL_ANALYZERS}.
1981
- * Referenced here so mcp.ts and mcp-tools-shared.ts don't each re-type the list.
1982
- */
1983
- export const MCP_DEFAULT_ANALYZERS = [
1984
- 'solid',
1985
- 'dry',
1986
- 'documentation',
1987
- 'react',
1988
- 'data-access',
1989
- 'data-access-org-filter',
1990
- ];
1991
- /**
1992
- * Analyzers the pipeline can run that emit *no* registry rule. Their rules come
1993
- * from a runtime source other than {@link RULE_REGISTRY}: `invariants` reads its
1994
- * rules from the `.codeauditor.json` `rules` array (the seven invariant rule
1995
- * kinds), not from registry rows, so it is absent from {@link ALL_ANALYZERS}.
1996
- */
1997
- export const PIPELINE_ONLY_ANALYZERS = ['invariants'];
1998
- /**
1999
- * Every analyzer `enabledAnalyzers` may legitimately name — {@link ALL_ANALYZERS}
2000
- * (registry rule emitters) plus {@link PIPELINE_ONLY_ANALYZERS}. This is the
2001
- * single source of truth for "can this analyzer actually run?" — used by config
2002
- * validation, which must not reject `invariants` (a valid pipeline analyzer that
2003
- * happens to carry no registry rule).
2004
- */
2005
- export const RUNNABLE_ANALYZERS = [
2006
- ...new Set([...ALL_ANALYZERS, ...PIPELINE_ONLY_ANALYZERS]),
2007
- ].sort();
2008
1707
  /**
2009
1708
  * Resolve a violation to its canonical {@link RuleRegistryEntry}, if any.
2010
1709
  *
2011
- * The registry records which field on the Violation carries the rule ID
2012
- * (`field` — `rule` for almost every analyzer, `type` for dependency-graph).
2013
- * This helper reads that field off the violation and matches it against the
2014
- * registry key, so the gate's resolution-gap detection (Spec 45 R1) never
2015
- * hard-codes a field.
1710
+ * Every migrated rule is re-emitted into the result with `rule` set to its
1711
+ * canonical registry id (the both-paths split, Spec 68 §11.1), so the registry
1712
+ * is a direct lookup by that id — no analyzer/field indirection remains.
2016
1713
  *
2017
1714
  * Invariant violations (user-defined rule IDs) have no registry entry and
2018
1715
  * return `undefined`. They still gate (Spec 45 R1) — the gate blocks on every
@@ -2020,15 +1717,8 @@ export const RUNNABLE_ANALYZERS = [
2020
1717
  * missing resolution is a recorded gap.
2021
1718
  */
2022
1719
  export function getViolationRuleEntry(v) {
2023
- if (!v.analyzer)
1720
+ if (!v.rule)
2024
1721
  return undefined;
2025
- for (const [ruleId, entry] of Object.entries(RULE_REGISTRY)) {
2026
- if (entry.analyzer !== v.analyzer)
2027
- continue;
2028
- const value = v[entry.field];
2029
- if (value === ruleId)
2030
- return entry;
2031
- }
2032
- return undefined;
1722
+ return RULE_REGISTRY[v.rule];
2033
1723
  }
2034
1724
  //# sourceMappingURL=ruleRegistry.js.map