code-auditor-mcp 5.0.2 → 5.3.3

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 (419) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +326 -3
  3. package/README.md +24 -2
  4. package/configs/hhra-compat.json +12 -118
  5. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  6. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +11 -1
  7. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  8. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  9. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +57 -52
  10. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  11. package/dist/analyzers/provenance.d.ts +9 -4
  12. package/dist/analyzers/provenance.d.ts.map +1 -1
  13. package/dist/analyzers/provenance.js +8 -25
  14. package/dist/analyzers/provenance.js.map +1 -1
  15. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  16. package/dist/analyzers/reactAnalyzer.js +35 -14
  17. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  18. package/dist/analyzers/ruleRegistry.js +4 -4
  19. package/dist/analyzers/ruleRegistry.js.map +1 -1
  20. package/dist/analyzers/ruleTiming.d.ts +1 -1
  21. package/dist/analyzers/ruleTiming.js +2 -2
  22. package/dist/analyzers/ruleTiming.js.map +1 -1
  23. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  24. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +22 -26
  25. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  26. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +0 -2
  27. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  28. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +4 -5
  29. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  30. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +32 -15
  31. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  32. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +189 -115
  33. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  34. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -2
  35. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  36. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +0 -5
  37. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  38. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -10
  39. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  40. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +7 -49
  41. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  42. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  43. package/dist/analyzers/universal/schema/codeAnalysis.js +51 -3
  44. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  45. package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
  46. package/dist/analyzers/universal/schema/config.js +0 -2
  47. package/dist/analyzers/universal/schema/config.js.map +1 -1
  48. package/dist/analyzers/universal/schema/types.d.ts +0 -2
  49. package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
  50. package/dist/analyzers/vendorSurfaces.d.ts +126 -0
  51. package/dist/analyzers/vendorSurfaces.d.ts.map +1 -0
  52. package/dist/analyzers/vendorSurfaces.js +580 -0
  53. package/dist/analyzers/vendorSurfaces.js.map +1 -0
  54. package/dist/auditRunner.d.ts +9 -1
  55. package/dist/auditRunner.d.ts.map +1 -1
  56. package/dist/auditRunner.js +198 -146
  57. package/dist/auditRunner.js.map +1 -1
  58. package/dist/cacheGc.d.ts +88 -0
  59. package/dist/cacheGc.d.ts.map +1 -0
  60. package/dist/cacheGc.js +196 -0
  61. package/dist/cacheGc.js.map +1 -0
  62. package/dist/churn/churnExtractor.d.ts +0 -1
  63. package/dist/churn/churnExtractor.d.ts.map +1 -1
  64. package/dist/churn/churnExtractor.js +2 -4
  65. package/dist/churn/churnExtractor.js.map +1 -1
  66. package/dist/cli.d.ts +1 -1
  67. package/dist/cli.d.ts.map +1 -1
  68. package/dist/cli.js +260 -47
  69. package/dist/cli.js.map +1 -1
  70. package/dist/codeIndex/migrations.d.ts.map +1 -1
  71. package/dist/codeIndex/migrations.js +4 -3
  72. package/dist/codeIndex/migrations.js.map +1 -1
  73. package/dist/codeIndexDB.d.ts +11 -2
  74. package/dist/codeIndexDB.d.ts.map +1 -1
  75. package/dist/codeIndexDB.js +27 -2
  76. package/dist/codeIndexDB.js.map +1 -1
  77. package/dist/config/configLoader.d.ts +60 -7
  78. package/dist/config/configLoader.d.ts.map +1 -1
  79. package/dist/config/configLoader.js +252 -60
  80. package/dist/config/configLoader.js.map +1 -1
  81. package/dist/config/defaults.d.ts +137 -43
  82. package/dist/config/defaults.d.ts.map +1 -1
  83. package/dist/config/defaults.js +174 -101
  84. package/dist/config/defaults.js.map +1 -1
  85. package/dist/config/effectiveConfig.d.ts +1 -1
  86. package/dist/config/effectiveConfig.d.ts.map +1 -1
  87. package/dist/config/effectiveConfig.js +4 -6
  88. package/dist/config/effectiveConfig.js.map +1 -1
  89. package/dist/config/pathProfiles.d.ts +4 -3
  90. package/dist/config/pathProfiles.d.ts.map +1 -1
  91. package/dist/config/pathProfiles.js +3 -2
  92. package/dist/config/pathProfiles.js.map +1 -1
  93. package/dist/constants.d.ts +2 -1
  94. package/dist/constants.d.ts.map +1 -1
  95. package/dist/constants.js +4 -0
  96. package/dist/constants.js.map +1 -1
  97. package/dist/daemon/main.d.ts +0 -1
  98. package/dist/daemon/main.d.ts.map +1 -1
  99. package/dist/daemon/main.js +11 -4
  100. package/dist/daemon/main.js.map +1 -1
  101. package/dist/dataPaths.d.ts +32 -9
  102. package/dist/dataPaths.d.ts.map +1 -1
  103. package/dist/dataPaths.js +69 -16
  104. package/dist/dataPaths.js.map +1 -1
  105. package/dist/hookLog.d.ts +54 -0
  106. package/dist/hookLog.d.ts.map +1 -0
  107. package/dist/hookLog.js +105 -0
  108. package/dist/hookLog.js.map +1 -0
  109. package/dist/hookLogPath.generated.d.ts +3 -0
  110. package/dist/hookLogPath.generated.d.ts.map +1 -0
  111. package/dist/hookLogPath.generated.js +8 -0
  112. package/dist/hookLogPath.generated.js.map +1 -0
  113. package/dist/index.d.ts +0 -5
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +0 -7
  116. package/dist/index.js.map +1 -1
  117. package/dist/installConfig.d.ts +15 -2
  118. package/dist/installConfig.d.ts.map +1 -1
  119. package/dist/installConfig.js +17 -2
  120. package/dist/installConfig.js.map +1 -1
  121. package/dist/installer.d.ts.map +1 -1
  122. package/dist/installer.js +2 -1
  123. package/dist/installer.js.map +1 -1
  124. package/dist/languages/adapterBridge.d.ts +11 -0
  125. package/dist/languages/adapterBridge.d.ts.map +1 -1
  126. package/dist/languages/adapterBridge.js +11 -0
  127. package/dist/languages/adapterBridge.js.map +1 -1
  128. package/dist/languages/types.d.ts +8 -0
  129. package/dist/languages/types.d.ts.map +1 -1
  130. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +13 -0
  131. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  132. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +135 -18
  133. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  134. package/dist/ledger.d.ts +7 -0
  135. package/dist/ledger.d.ts.map +1 -1
  136. package/dist/ledger.js +7 -0
  137. package/dist/ledger.js.map +1 -1
  138. package/dist/mcp-tools/workflowGuide.js +8 -8
  139. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  140. package/dist/mcp-tools-shared.d.ts.map +1 -1
  141. package/dist/mcp-tools-shared.js +5 -2
  142. package/dist/mcp-tools-shared.js.map +1 -1
  143. package/dist/mcp-ui-simple.d.ts +5 -0
  144. package/dist/mcp-ui-simple.d.ts.map +1 -1
  145. package/dist/mcp-ui-simple.js +9 -2
  146. package/dist/mcp-ui-simple.js.map +1 -1
  147. package/dist/mcp.d.ts +0 -1
  148. package/dist/mcp.d.ts.map +1 -1
  149. package/dist/mcp.js +36 -33
  150. package/dist/mcp.js.map +1 -1
  151. package/dist/mcpAuditJobs.d.ts +10 -0
  152. package/dist/mcpAuditJobs.d.ts.map +1 -1
  153. package/dist/mcpAuditJobs.js +10 -1
  154. package/dist/mcpAuditJobs.js.map +1 -1
  155. package/dist/mcpAutoIndex.d.ts.map +1 -1
  156. package/dist/mcpAutoIndex.js +2 -1
  157. package/dist/mcpAutoIndex.js.map +1 -1
  158. package/dist/mcpDiagnostics.d.ts +2 -0
  159. package/dist/mcpDiagnostics.d.ts.map +1 -1
  160. package/dist/mcpDiagnostics.js +2 -0
  161. package/dist/mcpDiagnostics.js.map +1 -1
  162. package/dist/phase/candidates.d.ts +53 -0
  163. package/dist/phase/candidates.d.ts.map +1 -0
  164. package/dist/phase/candidates.js +67 -0
  165. package/dist/phase/candidates.js.map +1 -0
  166. package/dist/phase/colorMath.d.ts +18 -5
  167. package/dist/phase/colorMath.d.ts.map +1 -1
  168. package/dist/phase/colorMath.js +88 -5
  169. package/dist/phase/colorMath.js.map +1 -1
  170. package/dist/phase/dataAccessCallsCandidates.js +1 -1
  171. package/dist/phase/dataAccessCallsCandidates.js.map +1 -1
  172. package/dist/phase/goFunctionAnalysis.d.ts +2 -2
  173. package/dist/phase/goFunctionAnalysis.js +2 -2
  174. package/dist/phase/goFunctions.d.ts +2 -2
  175. package/dist/phase/goFunctions.js +2 -2
  176. package/dist/phase/goImports.d.ts +2 -2
  177. package/dist/phase/goImports.js +2 -2
  178. package/dist/phase/goSwitches.d.ts +2 -2
  179. package/dist/phase/goSwitches.js +2 -2
  180. package/dist/phase/imports.d.ts.map +1 -1
  181. package/dist/phase/imports.js +1 -0
  182. package/dist/phase/imports.js.map +1 -1
  183. package/dist/phase/loopQueryCandidates.js +1 -1
  184. package/dist/phase/loopQueryCandidates.js.map +1 -1
  185. package/dist/phase/oracles.d.ts +28 -0
  186. package/dist/phase/oracles.d.ts.map +1 -1
  187. package/dist/phase/oracles.js +28 -0
  188. package/dist/phase/oracles.js.map +1 -1
  189. package/dist/phase/phaseModel.d.ts +47 -8
  190. package/dist/phase/phaseModel.d.ts.map +1 -1
  191. package/dist/phase/phaseModel.js +44 -8
  192. package/dist/phase/phaseModel.js.map +1 -1
  193. package/dist/phase/producers.d.ts.map +1 -1
  194. package/dist/phase/producers.js +24 -17
  195. package/dist/phase/producers.js.map +1 -1
  196. package/dist/phase/reachability.d.ts +44 -1
  197. package/dist/phase/reachability.d.ts.map +1 -1
  198. package/dist/phase/reachability.js +79 -0
  199. package/dist/phase/reachability.js.map +1 -1
  200. package/dist/phase/rules/conventions.d.ts.map +1 -1
  201. package/dist/phase/rules/conventions.js +6 -2
  202. package/dist/phase/rules/conventions.js.map +1 -1
  203. package/dist/phase/rules/crossDomain.d.ts.map +1 -1
  204. package/dist/phase/rules/crossDomain.js +16 -6
  205. package/dist/phase/rules/crossDomain.js.map +1 -1
  206. package/dist/phase/rules/dataAccess.d.ts.map +1 -1
  207. package/dist/phase/rules/dataAccess.js +13 -0
  208. package/dist/phase/rules/dataAccess.js.map +1 -1
  209. package/dist/phase/rules/documentation.d.ts.map +1 -1
  210. package/dist/phase/rules/documentation.js +11 -1
  211. package/dist/phase/rules/documentation.js.map +1 -1
  212. package/dist/phase/rules/dry.d.ts +16 -7
  213. package/dist/phase/rules/dry.d.ts.map +1 -1
  214. package/dist/phase/rules/dry.js +51 -32
  215. package/dist/phase/rules/dry.js.map +1 -1
  216. package/dist/phase/rules/goRules.d.ts +2 -2
  217. package/dist/phase/rules/goRules.js +2 -2
  218. package/dist/phase/rules/secrets.d.ts +22 -8
  219. package/dist/phase/rules/secrets.d.ts.map +1 -1
  220. package/dist/phase/rules/secrets.js +75 -69
  221. package/dist/phase/rules/secrets.js.map +1 -1
  222. package/dist/phase/rules/styles.d.ts +23 -9
  223. package/dist/phase/rules/styles.d.ts.map +1 -1
  224. package/dist/phase/rules/styles.js +61 -15
  225. package/dist/phase/rules/styles.js.map +1 -1
  226. package/dist/phase/rules/unreferencedModule.d.ts.map +1 -1
  227. package/dist/phase/rules/unreferencedModule.js +32 -10
  228. package/dist/phase/rules/unreferencedModule.js.map +1 -1
  229. package/dist/phase/runner.d.ts +16 -7
  230. package/dist/phase/runner.d.ts.map +1 -1
  231. package/dist/phase/runner.js +32 -20
  232. package/dist/phase/runner.js.map +1 -1
  233. package/dist/phase/stringLiterals.d.ts.map +1 -1
  234. package/dist/phase/stringLiterals.js +16 -7
  235. package/dist/phase/stringLiterals.js.map +1 -1
  236. package/dist/phase/stylesCss.d.ts.map +1 -1
  237. package/dist/phase/stylesCss.js +4 -0
  238. package/dist/phase/stylesCss.js.map +1 -1
  239. package/dist/phase/stylesMarkup.d.ts.map +1 -1
  240. package/dist/phase/stylesMarkup.js +4 -0
  241. package/dist/phase/stylesMarkup.js.map +1 -1
  242. package/dist/phase/stylesSource.d.ts.map +1 -1
  243. package/dist/phase/stylesSource.js +6 -0
  244. package/dist/phase/stylesSource.js.map +1 -1
  245. package/dist/phase/testProgram.d.ts +57 -0
  246. package/dist/phase/testProgram.d.ts.map +1 -0
  247. package/dist/phase/testProgram.js +244 -0
  248. package/dist/phase/testProgram.js.map +1 -0
  249. package/dist/phase/typeDeclarations.d.ts +2 -2
  250. package/dist/phase/typeDeclarations.js +2 -2
  251. package/dist/phase/types.d.ts +104 -0
  252. package/dist/phase/types.d.ts.map +1 -1
  253. package/dist/pipeline.d.ts +4 -0
  254. package/dist/pipeline.d.ts.map +1 -1
  255. package/dist/pipeline.js +4 -0
  256. package/dist/pipeline.js.map +1 -1
  257. package/dist/pipelineAdapters.d.ts +1 -171
  258. package/dist/pipelineAdapters.d.ts.map +1 -1
  259. package/dist/pipelineAdapters.js +47 -1281
  260. package/dist/pipelineAdapters.js.map +1 -1
  261. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  262. package/dist/reporting/csvReportGenerator.js +0 -6
  263. package/dist/reporting/csvReportGenerator.js.map +1 -1
  264. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  265. package/dist/reporting/htmlReportGenerator.js +0 -4
  266. package/dist/reporting/htmlReportGenerator.js.map +1 -1
  267. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  268. package/dist/reporting/jsonReportGenerator.js +0 -1
  269. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  270. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  271. package/dist/reporting/sarifReportGenerator.js +0 -7
  272. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  273. package/dist/services/auditJobService.d.ts +15 -0
  274. package/dist/services/auditJobService.d.ts.map +1 -1
  275. package/dist/services/auditJobService.js +15 -0
  276. package/dist/services/auditJobService.js.map +1 -1
  277. package/dist/services/projectTaskHelpers.d.ts +7 -0
  278. package/dist/services/projectTaskHelpers.d.ts.map +1 -1
  279. package/dist/services/projectTaskHelpers.js +7 -0
  280. package/dist/services/projectTaskHelpers.js.map +1 -1
  281. package/dist/services/whitelistService.d.ts +28 -0
  282. package/dist/services/whitelistService.d.ts.map +1 -1
  283. package/dist/services/whitelistService.js +28 -0
  284. package/dist/services/whitelistService.js.map +1 -1
  285. package/dist/sqlite/driver.d.ts +17 -1
  286. package/dist/sqlite/driver.d.ts.map +1 -1
  287. package/dist/sqlite/driver.js +28 -5
  288. package/dist/sqlite/driver.js.map +1 -1
  289. package/dist/styles/cssInJsHarvest.d.ts +36 -0
  290. package/dist/styles/cssInJsHarvest.d.ts.map +1 -0
  291. package/dist/styles/cssInJsHarvest.js +78 -0
  292. package/dist/styles/cssInJsHarvest.js.map +1 -0
  293. package/dist/styles/definedClasses.d.ts +95 -0
  294. package/dist/styles/definedClasses.d.ts.map +1 -0
  295. package/dist/styles/definedClasses.js +129 -0
  296. package/dist/styles/definedClasses.js.map +1 -0
  297. package/dist/styles/markupStyleHarvest.d.ts +33 -0
  298. package/dist/styles/markupStyleHarvest.d.ts.map +1 -0
  299. package/dist/styles/markupStyleHarvest.js +73 -0
  300. package/dist/styles/markupStyleHarvest.js.map +1 -0
  301. package/dist/styles/styleExtractor.d.ts +37 -0
  302. package/dist/styles/styleExtractor.d.ts.map +1 -1
  303. package/dist/styles/styleExtractor.js +89 -33
  304. package/dist/styles/styleExtractor.js.map +1 -1
  305. package/dist/styles/styleIndexer.d.ts.map +1 -1
  306. package/dist/styles/styleIndexer.js +11 -10
  307. package/dist/styles/styleIndexer.js.map +1 -1
  308. package/dist/styles/tailwindExpander.d.ts.map +1 -1
  309. package/dist/styles/tailwindExpander.js +31 -10
  310. package/dist/styles/tailwindExpander.js.map +1 -1
  311. package/dist/styles/tailwindUtilityExpander.d.ts +4 -0
  312. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  313. package/dist/styles/tailwindUtilityExpander.js +4 -0
  314. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  315. package/dist/telemetry.d.ts +67 -1
  316. package/dist/telemetry.d.ts.map +1 -1
  317. package/dist/telemetry.js +100 -20
  318. package/dist/telemetry.js.map +1 -1
  319. package/dist/types/crossLanguage.d.ts +1 -0
  320. package/dist/types/crossLanguage.d.ts.map +1 -1
  321. package/dist/types.d.ts +73 -56
  322. package/dist/types.d.ts.map +1 -1
  323. package/dist/types.js +4 -4
  324. package/dist/types.js.map +1 -1
  325. package/dist/version.generated.d.ts +1 -1
  326. package/dist/version.generated.js +1 -1
  327. package/examples/.auditrc.example.json +7 -22
  328. package/examples/.auditrc.json +12 -155
  329. package/examples/.code-auditor.json +8 -51
  330. package/examples/nextjs.auditrc.json +7 -34
  331. package/examples/node-api.auditrc.json +6 -46
  332. package/examples/react.auditrc.json +8 -25
  333. package/examples/tolerant-solid.auditrc.json +12 -44
  334. package/package.json +8 -5
  335. package/plugin/.claude-plugin/manifest.json +10 -9
  336. package/plugin/.claude-plugin/plugin.json +1 -1
  337. package/plugin/hooks/hooks.json +4 -4
  338. package/plugin/scripts/hook-audit.sh +25 -10
  339. package/plugin/scripts/hook-common.sh +12 -7
  340. package/plugin/scripts/hook-drift-check.sh +10 -1
  341. package/plugin/scripts/hook-log-path.sh +7 -0
  342. package/plugin/scripts/hook-self-audit.sh +21 -6
  343. package/plugin/scripts/hook-warm.sh +17 -11
  344. package/plugin/skills/code-auditor/SKILL.md +26 -3
  345. package/server.json +2 -2
  346. package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts +0 -6
  347. package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts.map +0 -1
  348. package/dist/__tests__/fixtures/spec-20/scripts/tool.js +0 -12
  349. package/dist/__tests__/fixtures/spec-20/scripts/tool.js.map +0 -1
  350. package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts +0 -7
  351. package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts.map +0 -1
  352. package/dist/__tests__/fixtures/spec-20/src/demo-module.js +0 -13
  353. package/dist/__tests__/fixtures/spec-20/src/demo-module.js.map +0 -1
  354. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts +0 -14
  355. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts.map +0 -1
  356. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js +0 -16
  357. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js.map +0 -1
  358. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts +0 -15
  359. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts.map +0 -1
  360. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js +0 -17
  361. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js.map +0 -1
  362. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +0 -14
  363. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +0 -1
  364. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +0 -19
  365. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +0 -1
  366. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +0 -18
  367. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +0 -1
  368. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +0 -19
  369. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +0 -1
  370. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts +0 -19
  371. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts.map +0 -1
  372. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js +0 -19
  373. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js.map +0 -1
  374. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +0 -17
  375. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +0 -1
  376. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js +0 -19
  377. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +0 -1
  378. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +0 -25
  379. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +0 -1
  380. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js +0 -21
  381. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +0 -1
  382. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts +0 -15
  383. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts.map +0 -1
  384. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js +0 -19
  385. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js.map +0 -1
  386. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts +0 -14
  387. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts.map +0 -1
  388. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js +0 -14
  389. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js.map +0 -1
  390. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +0 -15
  391. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +0 -1
  392. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js +0 -16
  393. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +0 -1
  394. package/dist/languages/go/analyzer-darwin-amd64 +0 -0
  395. package/dist/languages/go/analyzer-darwin-arm64 +0 -0
  396. package/dist/languages/go/analyzer-linux-amd64 +0 -0
  397. package/dist/languages/go/analyzer-linux-arm64 +0 -0
  398. package/dist/languages/go/analyzer-src/analyzer.go +0 -643
  399. package/dist/languages/go/analyzer-src/dataaccess.go +0 -388
  400. package/dist/languages/go/analyzer-src/go.mod +0 -3
  401. package/dist/languages/go/analyzer-src/indexer.go +0 -268
  402. package/dist/languages/go/analyzer-src/parser.go +0 -461
  403. package/dist/languages/go/analyzer-src/solid.go +0 -311
  404. package/dist/languages/go/analyzer-src/testconventions.go +0 -25
  405. package/dist/languages/go/analyzer-src/types.go +0 -156
  406. package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
  407. package/dist/languages/go/go.mod +0 -7
  408. package/dist/languages/go/main.go +0 -203
  409. package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
  410. package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
  411. package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
  412. package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
  413. package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
  414. package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
  415. package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
  416. package/dist/native-bootstrap.d.ts +0 -15
  417. package/dist/native-bootstrap.d.ts.map +0 -1
  418. package/dist/native-bootstrap.js +0 -75
  419. package/dist/native-bootstrap.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dry.js","sourceRoot":"","sources":["../../../src/phase/rules/dry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dry.js","sourceRoot":"","sources":["../../../src/phase/rules/dry.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Spec 68 §9 — the five Go non-SOLID rules, migrated to `analyze(ctx)`.
3
3
  *
4
- * These were the `imports` / `errors` / `goroutines` / `channels` arms of the Go
5
- * subprocess (analyzer-src/analyzer.go). Each re-homes the subprocess's *verdict*
4
+ * These were the `imports` / `errors` / `goroutines` / `channels` arms of the
5
+ * former Go subprocess. Each re-homes the subprocess's *verdict*
6
6
  * — the pure predicate over its extracted inputs — onto a plain-data fact the
7
7
  * corresponding §9 producer built where the AST still lived:
8
8
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Spec 68 §9 — the five Go non-SOLID rules, migrated to `analyze(ctx)`.
3
3
  *
4
- * These were the `imports` / `errors` / `goroutines` / `channels` arms of the Go
5
- * subprocess (analyzer-src/analyzer.go). Each re-homes the subprocess's *verdict*
4
+ * These were the `imports` / `errors` / `goroutines` / `channels` arms of the
5
+ * former Go subprocess. Each re-homes the subprocess's *verdict*
6
6
  * — the pure predicate over its extracted inputs — onto a plain-data fact the
7
7
  * corresponding §9 producer built where the AST still lived:
8
8
  *
@@ -9,14 +9,28 @@
9
9
  * The producer projected the positional context; this rule decides whether it is
10
10
  * a secret.
11
11
  *
12
- * The classification helpers (`SECRET_NAMES`, `normalizeName`, `isSecretName`,
13
- * `looksLikeRealSecret`, `isPlaceholder`, `hasKnownTokenPrefix`,
14
- * `isCredentialSelector`, `HARD_SYMBOL`, `PLACEHOLDERS`, `isTestOrFixtureFile`)
15
- * are re-homed verbatim — copied, not imported, because the analyzer is deleted
16
- * in §15 and the rule must not couple the new pipeline to a class about to
17
- * disappear. The `isTestOrFixtureFile` skip, which the legacy analyzer applied
18
- * per-file before walking, becomes a per-candidate skip here (a file is either a
19
- * test fixture or not, so the two are equivalent).
12
+ * The positive discriminants (`SECRET_NAMES`, `normalizeName`, `isSecretName`,
13
+ * `hasKnownTokenPrefix`, `isCredentialSelector`, `HARD_SYMBOL`) are re-homed
14
+ * verbatim — copied, not imported, because the analyzer is deleted in §15 and
15
+ * the rule must not couple the new pipeline to a class about to disappear. The
16
+ * legacy analyzer's *suppression* filters — a minimum length, a placeholder word
17
+ * list, email/URL/camelCase shape tests — made a finding vanish without
18
+ * establishing anything about the site; they stay gone. A candidate is a secret
19
+ * on positive evidence only.
20
+ *
21
+ * Two corrections (directive items 2 + 3) refine the positive evidence and the
22
+ * file scope without restoring a suppression:
23
+ *
24
+ * - `looksLikeRealSecret` drops the legacy `hasUpper` term. An uppercase letter
25
+ * is not entropy: the UI label `"API Key"` and the internal identifier
26
+ * `"styleToken"` both carry uppercase letters yet are labels, not
27
+ * credentials. A real credential carries a digit or a hard symbol (or a
28
+ * known token prefix).
29
+ * - A candidate whose file belongs to the tree's *declared test program* is
30
+ * skipped (a hardcoded credential in a test/mock is expected). The role is
31
+ * derived from the tree — the runner named in `package.json` scripts, mapped
32
+ * to its own discovery convention — not the legacy path-substring heuristic
33
+ * (`isTestOrFixtureFile`); see `testProgram.ts`.
20
34
  *
21
35
  * `hardcoded-connection` (the other security rule, reading `string-literals`)
22
36
  * lives in `security.ts` alongside this file; both are re-exported from
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/phase/rules/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA4B,MAAM,aAAa,CAAC;AAK5E,4EAA4E;AAC5E,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;CAChD,CAAC;AA8LF,wEAAwE;AACxE,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,CAAC,WAAW,CAAC,EAE9D,CAAC"}
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/phase/rules/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,aAAa,CAAC;AAM3F,4EAA4E;AAC5E,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;CAChD,CAAC;AA0LF,wEAAwE;AACxE,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,CAAC,WAAW,CAAC,EAE9D,CAAC"}
@@ -9,20 +9,35 @@
9
9
  * The producer projected the positional context; this rule decides whether it is
10
10
  * a secret.
11
11
  *
12
- * The classification helpers (`SECRET_NAMES`, `normalizeName`, `isSecretName`,
13
- * `looksLikeRealSecret`, `isPlaceholder`, `hasKnownTokenPrefix`,
14
- * `isCredentialSelector`, `HARD_SYMBOL`, `PLACEHOLDERS`, `isTestOrFixtureFile`)
15
- * are re-homed verbatim — copied, not imported, because the analyzer is deleted
16
- * in §15 and the rule must not couple the new pipeline to a class about to
17
- * disappear. The `isTestOrFixtureFile` skip, which the legacy analyzer applied
18
- * per-file before walking, becomes a per-candidate skip here (a file is either a
19
- * test fixture or not, so the two are equivalent).
12
+ * The positive discriminants (`SECRET_NAMES`, `normalizeName`, `isSecretName`,
13
+ * `hasKnownTokenPrefix`, `isCredentialSelector`, `HARD_SYMBOL`) are re-homed
14
+ * verbatim — copied, not imported, because the analyzer is deleted in §15 and
15
+ * the rule must not couple the new pipeline to a class about to disappear. The
16
+ * legacy analyzer's *suppression* filters — a minimum length, a placeholder word
17
+ * list, email/URL/camelCase shape tests — made a finding vanish without
18
+ * establishing anything about the site; they stay gone. A candidate is a secret
19
+ * on positive evidence only.
20
+ *
21
+ * Two corrections (directive items 2 + 3) refine the positive evidence and the
22
+ * file scope without restoring a suppression:
23
+ *
24
+ * - `looksLikeRealSecret` drops the legacy `hasUpper` term. An uppercase letter
25
+ * is not entropy: the UI label `"API Key"` and the internal identifier
26
+ * `"styleToken"` both carry uppercase letters yet are labels, not
27
+ * credentials. A real credential carries a digit or a hard symbol (or a
28
+ * known token prefix).
29
+ * - A candidate whose file belongs to the tree's *declared test program* is
30
+ * skipped (a hardcoded credential in a test/mock is expected). The role is
31
+ * derived from the tree — the runner named in `package.json` scripts, mapped
32
+ * to its own discovery convention — not the legacy path-substring heuristic
33
+ * (`isTestOrFixtureFile`); see `testProgram.ts`.
20
34
  *
21
35
  * `hardcoded-connection` (the other security rule, reading `string-literals`)
22
36
  * lives in `security.ts` alongside this file; both are re-exported from
23
37
  * `securityRules` in that module so the registry and runner stay unchanged.
24
38
  */
25
39
  import { RULE_REGISTRY } from '../../analyzers/ruleRegistry.js';
40
+ import { resolveTestProgram } from '../testProgram.js';
26
41
  const META = RULE_REGISTRY['hardcoded-secret'];
27
42
  // ── Classification (re-homed verbatim from UniversalSecretsAnalyzer) ───────
28
43
  /** Secret-ish names, normalized so `apiKey`/`api_key`/`API_KEY`/`x-api-key`
@@ -61,67 +76,26 @@ function hasKnownTokenPrefix(value) {
61
76
  /^xox[baprs]-/.test(t) ||
62
77
  /^eyJ[A-Za-z0-9_-]{10,}\./.test(t));
63
78
  }
64
- const PLACEHOLDERS = new Set([
65
- 'password', 'passwd', 'pwd', 'changeme', 'changethis', 'secret', 'yoursecret',
66
- 'yourapikey', 'yourtoken', 'yourapitoken', 'apikey', 'token', 'example',
67
- 'dummy', 'placeholder', 'replaceme', 'todo', 'fixme', 'xxx', 'xxxx', 'xxxxx',
68
- 'test', 'testpassword', 'testsecret', 'testtoken', '123456', '12345678',
69
- '123456789', 'password123', 'qwerty', 'letmein', 'abc123', 'foobar',
70
- 'helloworld', 'notareal', 'notreal', 'sample', 'samplekey', 'sampletoken',
71
- 'insecure', 'insecurepassword', 'notasecret',
72
- ]);
73
- /** Reject placeholder/example values: templates, redactions, and common words. */
74
- function isPlaceholder(value) {
75
- const t = value.trim();
76
- if (t.length === 0)
77
- return true;
78
- if (/^<[^>]+>$/.test(t))
79
- return true;
80
- if (/^[.…]{3,}$/.test(t))
81
- return true;
82
- if (/^[*xX]{3,}$/.test(t))
83
- return true;
84
- if (/^redacted$/i.test(t))
85
- return true;
86
- const norm = normalizeName(t);
87
- if (PLACEHOLDERS.has(norm))
88
- return true;
89
- if (/^(your|test|example|sample|dummy|placeholder|replaceme|changeme)/.test(norm))
90
- return true;
91
- return false;
92
- }
93
- /** Does this literal look like a real credential value rather than a placeholder? */
79
+ /** Does this literal carry positive evidence of a real credential? A known token
80
+ * prefix, or enough character entropy (a digit or a hard symbol). An uppercase
81
+ * letter alone is *not* entropy — a UI display string (`"API Key"`) and an
82
+ * internal identifier written as a string (`"styleToken"`) both carry uppercase
83
+ * letters yet are labels, not credentials; a real credential value carries a
84
+ * digit or a non-separator symbol (or a known token prefix). The legacy
85
+ * `hasUpper` term flagged both of those labels as secrets, which is the exact
86
+ * false positive item 2/3 corrects.
87
+ *
88
+ * The rule never dismisses a value for being short, a placeholder word, an
89
+ * email/URL, or a camelCase identifier — those suppressions made a finding
90
+ * vanish without establishing anything about the site, and stay gone. The
91
+ * digit/hard-symbol/prefix test is the *positive* evidence, not a suppression. */
94
92
  function looksLikeRealSecret(value) {
95
93
  const t = value.trim();
96
- if (isPlaceholder(t))
97
- return false;
98
94
  if (hasKnownTokenPrefix(t))
99
95
  return true;
100
- if (t.length < 8)
101
- return false;
102
- if (/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(t))
103
- return false;
104
- if (/^https?:\/\//i.test(t))
105
- return false;
106
- // A letters-only camelCase identifier (`styleToken`, `cssProperty`) is a code
107
- // reference written as a string — an operator→field map value, not a
108
- // credential. Real credentials carry digits or hard symbols; a clean
109
- // camelCase name carries none of that entropy.
110
- if (/^[A-Za-z_$][A-Za-z_$]*$/.test(t))
111
- return false;
112
96
  const hasDigit = /\d/.test(t);
113
- const hasUpper = /[A-Z]/.test(t);
114
97
  const hasHardSymbol = HARD_SYMBOL.test(t);
115
- return hasDigit || hasUpper || hasHardSymbol;
116
- }
117
- /** Is this path a test/fixture file? Excluded up front (precision-first). */
118
- function isTestOrFixtureFile(filePath) {
119
- const lower = filePath.toLowerCase();
120
- return (lower.includes('.test.') || lower.includes('.spec.') ||
121
- lower.includes('__tests__') ||
122
- lower.includes('/test/') || lower.includes('/tests/') ||
123
- lower.includes('/fixtures/') || lower.includes('.fixture.') ||
124
- lower.endsWith('_test.go'));
98
+ return hasDigit || hasHardSymbol;
125
99
  }
126
100
  /** Is this string a credential *field selector* (`#password`, `.api_key`,
127
101
  * `input[name=token]`)? Extracts the field-name core and checks the set. */
@@ -160,31 +134,59 @@ function makeFinding(file, line, column, name, value) {
160
134
  };
161
135
  }
162
136
  /** Re-homes `inspectNode` + `checkCredentialCall`: classify candidates into
163
- * hardcoded-secret findings. */
164
- function detectHardcodedSecret(candidates) {
137
+ * hardcoded-secret findings.
138
+ *
139
+ * A candidate whose file belongs to the project's declared test program is
140
+ * skipped: a hardcoded credential inside a test fixture or mock is expected and
141
+ * must not block the edit loop. The test-program role is *derived from the
142
+ * tree* (the runner declared in `package.json` scripts → the runner's own
143
+ * discovery convention), not a hardcoded path pattern — see `testProgram.ts`. */
144
+ function detectHardcodedSecret(candidates, projectRoot, emitCandidate) {
145
+ const testProgram = resolveTestProgram(projectRoot);
165
146
  const findings = [];
147
+ // Directive H — emit every classified candidate with its disposition,
148
+ // including `clean` for a candidate the classifier decides is not a secret.
149
+ const emit = (c, disposition) => {
150
+ emitCandidate?.({
151
+ ruleId: 'hardcoded-secret',
152
+ file: c.file,
153
+ span: { line: c.line, column: c.column },
154
+ disposition,
155
+ });
156
+ };
166
157
  for (const c of candidates) {
167
- if (isTestOrFixtureFile(c.file))
158
+ if (testProgram.isTestFile(c.file))
168
159
  continue;
169
160
  if (c.position === 'call') {
170
161
  // `fn('<selector>', '<secret>')` — the page.type reference case.
171
- if (c.args.length < 2)
162
+ if (c.args.length < 2) {
163
+ emit(c, 'clean');
172
164
  continue;
165
+ }
173
166
  const hasSelector = c.args.some(isCredentialSelector);
174
- if (!hasSelector)
167
+ if (!hasSelector) {
168
+ emit(c, 'clean');
175
169
  continue;
170
+ }
171
+ let secret = false;
176
172
  for (const value of c.args) {
177
173
  if (isCredentialSelector(value))
178
174
  continue;
179
175
  if (looksLikeRealSecret(value)) {
180
176
  findings.push(makeFinding(c.file, c.line, c.column, undefined, value));
177
+ secret = true;
181
178
  }
182
179
  }
180
+ emit(c, secret ? 'secret' : 'clean');
183
181
  continue;
184
182
  }
185
183
  if (isSecretName(c.name) && looksLikeRealSecret(c.value)) {
184
+ emit(c, 'secret');
186
185
  findings.push(makeFinding(c.file, c.line, c.column, c.name, c.value));
187
186
  }
187
+ else {
188
+ emit(c, 'clean');
189
+ }
188
190
  }
189
191
  return findings;
190
192
  }
@@ -197,8 +199,12 @@ const hardcodedSecret = {
197
199
  docs: META.docs,
198
200
  thresholds: META.thresholds,
199
201
  samples: META.samples,
202
+ dispositions: [
203
+ { key: 'clean', description: 'The candidate is not a hardcoded credential — no secret name or no positive value evidence.' },
204
+ { key: 'secret', description: 'The candidate is a hardcoded credential: a secret-named binding with a value carrying real-credential evidence (digit, hard symbol, or known token prefix).' },
205
+ ],
200
206
  analyze(ctx) {
201
- return detectHardcodedSecret(ctx.facts['secret-candidates']);
207
+ return detectHardcodedSecret(ctx.facts['secret-candidates'], ctx.projectRoot, ctx.emitCandidate);
202
208
  },
203
209
  };
204
210
  /** The hardcoded-secret rule this slice migrates, in registry order. */
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/phase/rules/secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/phase/rules/secrets.ts"],"names":[],"mappings":"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"}
@@ -16,14 +16,14 @@
16
16
  * it cannot share the eight rules' `StylesNeeds` tuple. It reads the fact's
17
17
  * `classUsage` against that catalog in memory (membership + Levenshtein ≤2
18
18
  * near-miss) and resolves candidates through the shared `getTailwindExpander()`
19
- * singleton. The compile-probe never initializes on the phase path — the rule's
20
- * `AnalysisContext` carries no `projectRoot`, exactly as the legacy reducer
21
- * passed none — so `resolve()` degrades to the user's `tailwindClasses`
22
- * custom-set + bare utilities + structural patterns, byte-identical to the
23
- * legacy `detectUndefinedClasses` run under the same (projectRoot-absent)
24
- * production config. The two off-ladder diagnostics (`undefined-class-not-found`
25
- * / `undefined-class-disabled`) have no `Finding` shape and stay on the legacy
26
- * path until §15 re-homes them.
19
+ * singleton, seeded with the threaded `ctx.projectRoot` so the compile-probe
20
+ * initializes on the phase path exactly as it did under the legacy reducer.
21
+ * §15 re-homes the fail-open diagnostic here: when the probe cannot validate but
22
+ * Tailwind is present on disk, the rule emits `undefined-class-disabled` on the
23
+ * `ctx.emitDiagnostic` channel (byte-identical to the deleted `initTailwindProbe`)
24
+ * instead of suppressing outright. The `undefined-class-not-found` coverage gap
25
+ * still has no `Finding` shape — a genuinely-undefined class with no near-miss
26
+ * is a zero-finding case on both paths, never a fail-open.
27
27
  *
28
28
  * The detector logic is re-homed verbatim from `UniversalStylesAnalyzer.ts` —
29
29
  * copied, not imported, because that analyzer is deleted in §15 and the rules
@@ -38,7 +38,9 @@
38
38
  *
39
39
  * Config resolution mirrors the legacy analyzer's `{...DEFAULT_STYLES_CONFIG,
40
40
  * ...config}` merge; the defaults are re-declared here (the legacy class is
41
- * deleted in §15). The §10 bridge (`resolvePhaseThresholds`) already merges the
41
+ * deleted in §15) except `colorDeltaE`, which reads the single source
42
+ * `DEFAULT_COLOR_DELTA_E` from `src/config/defaults.ts` (colour directive item
43
+ * 2). The §10 bridge (`resolvePhaseThresholds`) already merges the
42
44
  * same default into `ctx.thresholds`, so the merge is idempotent in production
43
45
  * and load-bearing only for the parity test, which passes raw config to both
44
46
  * sides.
@@ -56,6 +58,18 @@ type ValueDriftNeeds = {
56
58
  readonly formats: readonly ['css', 'scss', 'typescript', 'tsx', 'javascript'];
57
59
  readonly facts: readonly ['style-declarations', 'color-values'];
58
60
  };
61
+ /** The config surface the migrated rules read (the finding-relevant subset). */
62
+ interface StylesConfig {
63
+ colorDeltaE: number;
64
+ scaleProperties: string[];
65
+ zIndexMaxDistinct: number;
66
+ mechanismFragmentationMinMechanisms: number;
67
+ declarationSetMinDeclarations: number;
68
+ declarationSetSimilarityThreshold: number;
69
+ offScaleMinDeclarations: number;
70
+ categoricalPropertyExclusions?: string[];
71
+ }
72
+ export declare const STYLES_DEFAULTS: StylesConfig;
59
73
  /** `styles/undefined-class` reads the class-usage half of `style-declarations`
60
74
  * plus the corpus `defined-classes` catalog and the `unread-style-sources`
61
75
  * list — a different fact set than the eight rules above, so it carries its
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/phase/rules/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EACV,cAAc,EAQf,MAAM,aAAa,CAAC;AAcrB,kEAAkE;AAClE,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;CACjD,CAAC;AAEF;;uEAEuE;AACvE,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;CACjE,CAAC;AA0/BF;;;;oDAIoD;AACpD,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;CAC5F,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,mBAAmB,CA2ClE,CAAC;AAEF;;;;;wDAKwD;AACxD,eAAO,MAAM,WAAW,EAAE,SAAS,cAAc,CAAC,WAAW,GAAG,eAAe,CAAC,EAS/E,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/phase/rules/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EACV,cAAc,EAQf,MAAM,aAAa,CAAC;AAgBrB,kEAAkE;AAClE,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;CACjD,CAAC;AAEF;;uEAEuE;AACvE,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;CACjE,CAAC;AAIF,gFAAgF;AAChF,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,6BAA6B,EAAE,MAAM,CAAC;IACtC,iCAAiC,EAAE,MAAM,CAAC;IAC1C,uBAAuB,EAAE,MAAM,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,eAAe,EAAE,YAY7B,CAAC;AA+9BF;;;;oDAIoD;AACpD,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;CAC5F,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,mBAAmB,CAyFlE,CAAC;AAEF;;;;;wDAKwD;AACxD,eAAO,MAAM,WAAW,EAAE,SAAS,cAAc,CAAC,WAAW,GAAG,eAAe,CAAC,EAS/E,CAAC"}