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
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Spec 68 §2.1 — the migrated-rules registry.
3
+ *
4
+ * A rule enters this array only when it satisfies all four migration
5
+ * conditions: it is a `RuleDefinition` with `analyze(ctx)`; every fact it
6
+ * declares has a live producer; the old analyzer path for it is deleted; and a
7
+ * parity test pins its findings against the pre-migration output on a fixture.
8
+ * Partial states are zero — a rule with `analyze(ctx)` written but its old path
9
+ * still live, or with no parity test, is not listed here.
10
+ *
11
+ * The single failing assertion that drives the migration is the size of this
12
+ * array against 100 (spec68-registry-size.spec.ts): it reads 0 today and goes
13
+ * green at 100. A rule is added here in the same edit that deletes its old path
14
+ * and pins its parity test — never before, and never as a placeholder.
15
+ */
16
+ import { solidRules } from './solid.js';
17
+ import { dataAccessRules, loopQueryRules } from './dataAccess.js';
18
+ import { dependencyGraphRules } from './dependencyGraph.js';
19
+ import { schemaValidatorRules } from './schemaValidator.js';
20
+ import { documentationRules } from './documentation.js';
21
+ import { stylesRules, undefinedClassRule } from './styles.js';
22
+ import { crossDomainRules, multiTableWriteRule, noValidatorReachableRule, uncoveredRiskRule } from './crossDomain.js';
23
+ import { schemaRules, dynamicSqlRules } from './schema.js';
24
+ import { schemaJsonRules } from './schemaJson.js';
25
+ import { conventionsRules, conventionsExportShapeRules, conventionsImportFormRules } from './conventions.js';
26
+ import { dryRules } from './dry.js';
27
+ import { securityRules } from './security.js';
28
+ import { secretsRules } from './secrets.js';
29
+ import { securityDefectRules } from './securityDefects.js';
30
+ import { querySiteRules } from './querySites.js';
31
+ import { reactRules } from './react.js';
32
+ import { fileDocumentationRules } from './fileDocumentation.js';
33
+ import { unreferencedModuleRule } from './unreferencedModule.js';
34
+ import { goRules } from './goRules.js';
35
+ /**
36
+ * The 12 already-pinned rules that are parity-clean on the *full* pipeline
37
+ * (Spec 68 §11.2): 9 SOLID + 3 data-access. Each has `analyze(ctx)`, live
38
+ * producers for every declared fact, and a green parity test pinned on
39
+ * `(file, line, column, rule, severity)`, and flipping it changes nothing a
40
+ * full-pipeline audit reports (composite-fixtures pins the complete set by
41
+ * equality, so a rule whose phase output diverges anywhere stays off this list).
42
+ *
43
+ * The 2 schema rules (`unknown-table`, `table-naming-convention`) land once the
44
+ * `.sql` DDL source (§5) and the provenance-aware `db.query("SELECT …")` string-
45
+ * argument extraction are in: `unknown-table` reads `resolution` (now fed by
46
+ * `.sql` migration files via the `ddl-declarations.sql` producer), and
47
+ * `table-naming-convention` reads `schema-usage` (now extracting string-arg
48
+ * references). Their bucket is the one rule-level override in the both-paths
49
+ * re-emission (`table-naming-convention → schema-code`), matching the legacy
50
+ * schema-code visitor's result key.
51
+ *
52
+ * The 6 dependency-graph rules (`circular-dependency`, `break-cycles`,
53
+ * `tight-coupling`, `reduce-coupling`, `orphaned-nodes`, `review-orphans`)
54
+ * read the `cross-language-entities` fact
55
+ * through `DependencyGraphBuilder` — the same class the legacy Stage-4 reducer
56
+ * ran — so their full-pipeline output is byte-for-byte the reducer's.
57
+ *
58
+ * The 3 schema-validator rules (`schema-field-mismatch`, `missing-field`,
59
+ * `extra-field`) read the same fact through `SchemaValidator`/`extractSchemas`
60
+ * — the same class the legacy Stage-4 reducer ran, and the producer already
61
+ * emits the `parameters`/`metadata.fields` they read, so they need no shape
62
+ * enrichment.
63
+ *
64
+ * The 7th dependency-graph rule, `unreferenced-module` (file-level
65
+ * imports/reachability — RENEW, §8), reads the `file-imports` + `reachability`
66
+ * facts and lands as its own rule in `unreferencedModule.ts`.
67
+ *
68
+ * The remaining 74 land one fact kind at a time (§11.3), and the size drives
69
+ * spec68-registry-size.spec.ts (0 → … → 97).
70
+ */
71
+ export const MIGRATED_RULES = [
72
+ ...solidRules,
73
+ ...dataAccessRules,
74
+ ...loopQueryRules,
75
+ ...dependencyGraphRules,
76
+ ...schemaValidatorRules,
77
+ ...documentationRules,
78
+ ...stylesRules,
79
+ undefinedClassRule,
80
+ ...crossDomainRules,
81
+ multiTableWriteRule,
82
+ noValidatorReachableRule,
83
+ uncoveredRiskRule,
84
+ ...schemaRules,
85
+ ...schemaJsonRules,
86
+ ...dynamicSqlRules,
87
+ ...conventionsRules,
88
+ ...conventionsExportShapeRules,
89
+ ...conventionsImportFormRules,
90
+ ...dryRules,
91
+ ...securityRules,
92
+ ...secretsRules,
93
+ ...securityDefectRules,
94
+ ...querySiteRules,
95
+ ...reactRules,
96
+ ...fileDocumentationRules,
97
+ unreferencedModuleRule,
98
+ ...goRules,
99
+ ];
100
+ /** Rule id → analyzer namespace, a pure projection of `MIGRATED_RULES` (§15 —
101
+ * replaces the deleted `RuleRegistryEntry.analyzer` cross-reference). */
102
+ export const RULE_ANALYZER = new Map(MIGRATED_RULES.map((r) => [r.id, r.analyzer]));
103
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/phase/rules/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,UAAU;IACb,GAAG,eAAe;IAClB,GAAG,cAAc;IACjB,GAAG,oBAAoB;IACvB,GAAG,oBAAoB;IACvB,GAAG,kBAAkB;IACrB,GAAG,WAAW;IACd,kBAAkB;IAClB,GAAG,gBAAgB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,iBAAiB;IACjB,GAAG,WAAW;IACd,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,gBAAgB;IACnB,GAAG,2BAA2B;IAC9B,GAAG,0BAA0B;IAC7B,GAAG,QAAQ;IACX,GAAG,aAAa;IAChB,GAAG,YAAY;IACf,GAAG,mBAAmB;IACtB,GAAG,cAAc;IACjB,GAAG,UAAU;IACb,GAAG,sBAAsB;IACzB,sBAAsB;IACtB,GAAG,OAAO;CACX,CAAC;AAEF;0EAC0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAgC,IAAI,GAAG,CAC/D,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAU,CAAC,CACvD,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Spec 68 §3.2 — the schema rules that are pure over extracted facts.
3
+ *
4
+ * Two of the five `schema` rules are a clean reduction over facts the producers
5
+ * already extract: `unknown-table` (schema-usage × resolution) and
6
+ * `table-naming-convention` (schema-usage alone). Their violation logic is
7
+ * re-homed verbatim from `UniversalSchemaAnalyzer`'s `checkMissingReferences`
8
+ * and `checkNamingConventions` (in `codeAnalysis.ts`), which are pure functions
9
+ * over a table-reference list and a known-table set — exactly the two facts, so
10
+ * `analyze` never touches a tree, an adapter, or source text.
11
+ *
12
+ * The `needs` declarations here CORRECT the registry's placeholder entries,
13
+ * which said `schema-code` for both: the analyzer walked *references* (usages),
14
+ * not DDL declarations. `unknown-table` reads the known-table catalog too, so
15
+ * it declares `resolution` — the §5 corpus fact — alongside `schema-usage`.
16
+ * `unknown-table`'s registry entry also claimed `go`; the Node implementation
17
+ * is TypeScript-shaped and cannot evaluate a Go AST, so this declaration omits
18
+ * `'go'` and the rule reports the honest `notApplicable` on a Go corpus (§9).
19
+ *
20
+ * The pure helpers `isSystemTable` / `isTableValuedFunction` /
21
+ * `getNearestTableSuggestions` are imported from `codeAnalysis.ts` — a Spec-34
22
+ * helper module that, like `orgFilterTiers.ts`, survives §15 because it imports
23
+ * no analyzer class and no pipeline.
24
+ *
25
+ * Not here, by design:
26
+ * - `too-many-queries` — walks function *bodies* to count raw `query(`/
27
+ * `execute(` call sites, a per-function signal `schema-usage` doesn't carry.
28
+ * - The unregistered `reserved-word` emission inside the old
29
+ * `checkNamingConventions` is dropped: it has no registry entry (no
30
+ * message/docs/thresholds/samples), so it is an emission with no rule
31
+ * definition — the inverse of §0's "no emission site", to be disposed in
32
+ * §13 rather than silently re-homed into the unified `ruleId` model.
33
+ *
34
+ * `dynamic-sql-construction` lives below in a *separate* array: it reads the
35
+ * `dynamic-sql` fact (dangerous query/execute call sites), not `schema-usage`,
36
+ * so its context carries `dynamic-sql` alone — the same producer-before-rule
37
+ * split as `loop-query` next to `data-access`.
38
+ */
39
+ import type { RuleDefinition } from '../types.js';
40
+ /** The shared declaration for the TS schema rules in this slice. */
41
+ type SchemaUsageNeeds = {
42
+ readonly formats: readonly ['typescript', 'tsx', 'javascript'];
43
+ readonly facts: readonly ['schema-usage'];
44
+ };
45
+ /** `unknown-table` additionally reads the known-table catalog (§5) and the
46
+ * migration-history corpus fact (§5) so it can hand dropped tables to
47
+ * `stale-table-reference` instead of mislabeling them as never-existed. */
48
+ type UnknownTableNeeds = {
49
+ readonly formats: readonly ['typescript', 'tsx', 'javascript'];
50
+ readonly facts: readonly ['schema-usage', 'resolution', 'migration-history'];
51
+ };
52
+ /** `stale-table-reference` additionally reads the migration-history corpus fact
53
+ * (§5) to distinguish "dropped in a migration" from "never existed". */
54
+ type StaleTableReferenceNeeds = {
55
+ readonly formats: readonly ['typescript', 'tsx', 'javascript'];
56
+ readonly facts: readonly ['schema-usage', 'resolution', 'migration-history'];
57
+ };
58
+ /** The three TypeScript schema rules this slice migrates, in registry order. */
59
+ export declare const schemaRules: readonly RuleDefinition<SchemaUsageNeeds | UnknownTableNeeds | StaleTableReferenceNeeds>[];
60
+ /**
61
+ * `dynamic-sql-construction` reads the `dynamic-sql` fact (a flat array of
62
+ * `DynamicSqlFact`, one per dangerous query/execute call site) — not
63
+ * `schema-usage`. It is exported in a *separate* array from `schemaRules`
64
+ * because the two fact kinds are distinct: the schema slice context carries
65
+ * `schema-usage` + `resolution`, while this rule's context carries
66
+ * `dynamic-sql` alone.
67
+ *
68
+ * Detection is the producer's — `collectDynamicSqlCandidates` in `codeAnalysis.ts`,
69
+ * shared with the legacy `checkSQLInjection` — so `analyze` is a pure projection
70
+ * of the pre-computed anchor/enclosingFn/symbol, and parity holds by construction.
71
+ */
72
+ type DynamicSqlNeeds = {
73
+ readonly formats: readonly ['typescript', 'tsx', 'javascript'];
74
+ readonly facts: readonly ['dynamic-sql'];
75
+ };
76
+ /** The dynamic-sql-construction rule this slice migrates (reads `dynamic-sql`). */
77
+ export declare const dynamicSqlRules: readonly RuleDefinition<DynamicSqlNeeds>[];
78
+ export {};
79
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/phase/rules/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,aAAa,CAAC;AASrB,oEAAoE;AACpE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC3C,CAAC;AAEF;;4EAE4E;AAC5E,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;CAC9E,CAAC;AAEF;yEACyE;AACzE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;CAC9E,CAAC;AA+NF,gFAAgF;AAChF,eAAO,MAAM,WAAW,EAAE,SAAS,cAAc,CAC/C,gBAAgB,GAAG,iBAAiB,GAAG,wBAAwB,CAChE,EAA+D,CAAC;AAIjE;;;;;;;;;;;GAWG;AACH,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CAC1C,CAAC;AAwBF,mFAAmF;AACnF,eAAO,MAAM,eAAe,EAAE,SAAS,cAAc,CAAC,eAAe,CAAC,EAA6B,CAAC"}
@@ -0,0 +1,273 @@
1
+ /**
2
+ * Spec 68 §3.2 — the schema rules that are pure over extracted facts.
3
+ *
4
+ * Two of the five `schema` rules are a clean reduction over facts the producers
5
+ * already extract: `unknown-table` (schema-usage × resolution) and
6
+ * `table-naming-convention` (schema-usage alone). Their violation logic is
7
+ * re-homed verbatim from `UniversalSchemaAnalyzer`'s `checkMissingReferences`
8
+ * and `checkNamingConventions` (in `codeAnalysis.ts`), which are pure functions
9
+ * over a table-reference list and a known-table set — exactly the two facts, so
10
+ * `analyze` never touches a tree, an adapter, or source text.
11
+ *
12
+ * The `needs` declarations here CORRECT the registry's placeholder entries,
13
+ * which said `schema-code` for both: the analyzer walked *references* (usages),
14
+ * not DDL declarations. `unknown-table` reads the known-table catalog too, so
15
+ * it declares `resolution` — the §5 corpus fact — alongside `schema-usage`.
16
+ * `unknown-table`'s registry entry also claimed `go`; the Node implementation
17
+ * is TypeScript-shaped and cannot evaluate a Go AST, so this declaration omits
18
+ * `'go'` and the rule reports the honest `notApplicable` on a Go corpus (§9).
19
+ *
20
+ * The pure helpers `isSystemTable` / `isTableValuedFunction` /
21
+ * `getNearestTableSuggestions` are imported from `codeAnalysis.ts` — a Spec-34
22
+ * helper module that, like `orgFilterTiers.ts`, survives §15 because it imports
23
+ * no analyzer class and no pipeline.
24
+ *
25
+ * Not here, by design:
26
+ * - `too-many-queries` — walks function *bodies* to count raw `query(`/
27
+ * `execute(` call sites, a per-function signal `schema-usage` doesn't carry.
28
+ * - The unregistered `reserved-word` emission inside the old
29
+ * `checkNamingConventions` is dropped: it has no registry entry (no
30
+ * message/docs/thresholds/samples), so it is an emission with no rule
31
+ * definition — the inverse of §0's "no emission site", to be disposed in
32
+ * §13 rather than silently re-homed into the unified `ruleId` model.
33
+ *
34
+ * `dynamic-sql-construction` lives below in a *separate* array: it reads the
35
+ * `dynamic-sql` fact (dangerous query/execute call sites), not `schema-usage`,
36
+ * so its context carries `dynamic-sql` alone — the same producer-before-rule
37
+ * split as `loop-query` next to `data-access`.
38
+ */
39
+ import { RULE_REGISTRY } from '../../analyzers/ruleRegistry.js';
40
+ import { isTestOrSpecPath } from '../../languages/testConventions.js';
41
+ import { isSystemTable, isTableValuedFunction, getNearestTableSuggestions, } from '../../analyzers/universal/schema/codeAnalysis.js';
42
+ /** Join a list of names as prose: "a", "a and b", "a, b and c". Mirrors the
43
+ * legacy `joinEnglish` in pipelineAdapters.ts (not exported). */
44
+ function joinEnglish(names) {
45
+ if (names.length === 0)
46
+ return '';
47
+ if (names.length === 1)
48
+ return names[0];
49
+ return `${names.slice(0, -1).join(', ')} and ${names[names.length - 1]}`;
50
+ }
51
+ const META = RULE_REGISTRY;
52
+ /** The known-table set from the corpus catalog (case-sensitive, as the old
53
+ * `collectAllTableNames` built it). */
54
+ function knownTableSet(catalog) {
55
+ const names = new Set();
56
+ for (const t of catalog.tables)
57
+ names.add(t.name);
58
+ return names;
59
+ }
60
+ /** A usage is a candidate when it is a real table reference, not a fluent
61
+ * query-builder selector, a system/table-valued function, or a host-language
62
+ * template substitution. The `${…}` form is a table name filled in at
63
+ * query-composition time (`FROM "${this.tableName}"`), not a literal name the
64
+ * catalog can resolve — the same carve-out `table-naming-convention` already
65
+ * draws, so a dynamic table name is not misreported as unknown/stale. */
66
+ function isRealTableRef(u) {
67
+ return u.origin !== 'query-builder'
68
+ && !isSystemTable(u.tableName)
69
+ && !isTableValuedFunction(u.tableName)
70
+ && !u.tableName.includes('${');
71
+ }
72
+ /**
73
+ * The shared unknown-reference set + fail-open guard that BOTH `unknown-table`
74
+ * and `stale-table-reference` compute identically, so a reference lands in
75
+ * exactly one rule: dropped tables partition to `stale-table-reference`, the
76
+ * rest to `unknown-table`. The guard (R2.4) is the legacy fail-open — at 0
77
+ * known tables, or an unknown:known ratio above 10, the catalog is not
78
+ * trustworthy enough to flag individual references, so neither rule fires.
79
+ */
80
+ function unknownRefs(usages, catalog) {
81
+ const known = knownTableSet(catalog);
82
+ // Symmetric scoping (#408): a file excluded from schema *declaration* is
83
+ // excluded from schema *reference*. The DDL replay drops `isTestOrSpecPath`
84
+ // files from the known-table set, so a table declared only in a test/spec file
85
+ // reads as unknown; references in those same test/spec files must not then
86
+ // fire `unknown-table`/`stale-table-reference`. Same predicate, both directions.
87
+ const refs = usages.filter((u) => isRealTableRef(u) && !isTestOrSpecPath(u.filePath) && !known.has(u.tableName));
88
+ const knownCount = known.size;
89
+ const failOpen = knownCount === 0 || refs.length / Math.max(knownCount, 1) > 10;
90
+ return { refs, knownCount, failOpen };
91
+ }
92
+ // ── unknown-table ───────────────────────────────────────────────────────────
93
+ const unknownTable = {
94
+ id: 'unknown-table',
95
+ analyzer: 'schema',
96
+ needs: { formats: ['typescript', 'tsx', 'javascript'], facts: ['schema-usage', 'resolution', 'migration-history'] },
97
+ severity: 'critical',
98
+ message: META['unknown-table'].message,
99
+ docs: META['unknown-table'].docs,
100
+ thresholds: META['unknown-table'].thresholds,
101
+ samples: META['unknown-table'].samples,
102
+ analyze(ctx) {
103
+ const known = knownTableSet(ctx.facts['resolution']);
104
+ const { refs, failOpen } = unknownRefs(ctx.facts['schema-usage'], ctx.facts['resolution']);
105
+ // R2.4 fail-open: at 0 known tables, or an unknown:known ratio above 10,
106
+ // the catalog is not trustworthy enough to flag individual references.
107
+ if (failOpen) {
108
+ return [];
109
+ }
110
+ // Dropped tables are `stale-table-reference`'s, not this rule's: the two
111
+ // rules partition the unknown set by the migration-history provenance.
112
+ const dropped = ctx.facts['migration-history'].dropped;
113
+ const out = [];
114
+ for (const ref of refs) {
115
+ if (dropped[ref.tableName])
116
+ continue;
117
+ const suggestions = getNearestTableSuggestions(ref.tableName, known, 2);
118
+ const suggestionNames = suggestions.map((s) => s.replace(/^'|'$/g, ''));
119
+ const message = suggestions.length > 0
120
+ ? `Reference to unknown table '${ref.tableName}' (${ref.usageType}). Did you mean: ${suggestions.join(', ')}?`
121
+ : `Reference to unknown table '${ref.tableName}' (${ref.usageType})`;
122
+ out.push({
123
+ ruleId: 'unknown-table',
124
+ severity: 'critical',
125
+ message,
126
+ file: ref.filePath,
127
+ line: ref.line,
128
+ column: ref.column,
129
+ symbol: ref.tableName,
130
+ resolution: {
131
+ action: suggestionNames.length > 0 ? 'use-known-table' : 'register-or-fix-table',
132
+ summary: suggestionNames.length > 0
133
+ ? `Rename the table reference '${ref.tableName}' to the nearest known table: ${suggestions.join(', ')}.`
134
+ : `The table '${ref.tableName}' is not in the known catalog — register it, or fix the reference to a known table.`,
135
+ symbols: suggestionNames.length > 0 ? suggestionNames : [ref.tableName],
136
+ files: [ref.filePath],
137
+ lines: ref.line != null ? [ref.line] : undefined,
138
+ },
139
+ });
140
+ }
141
+ return out;
142
+ },
143
+ };
144
+ // ── table-naming-convention ─────────────────────────────────────────────────
145
+ const tableNamingConvention = {
146
+ id: 'table-naming-convention',
147
+ analyzer: 'schema',
148
+ needs: { formats: ['typescript', 'tsx', 'javascript'], facts: ['schema-usage'] },
149
+ severity: 'high',
150
+ message: META['table-naming-convention'].message,
151
+ docs: META['table-naming-convention'].docs,
152
+ thresholds: META['table-naming-convention'].thresholds,
153
+ samples: META['table-naming-convention'].samples,
154
+ analyze(ctx) {
155
+ const out = [];
156
+ for (const ref of ctx.facts['schema-usage']) {
157
+ // Fluent-builder references carry a dynamic table string; naming
158
+ // conformance is a property of the schema, not the call.
159
+ if (ref.origin === 'query-builder')
160
+ continue;
161
+ // A `${…}` template substitution is a host-language table name filled in
162
+ // at query-composition time (`FROM "${this.tableName}"`), not a literal
163
+ // name. The producer reports it accurately; naming conformance is a
164
+ // property of the schema, not the substitution — same carve-out rationale
165
+ // as `query-builder` origin above.
166
+ if (ref.tableName.includes('${'))
167
+ continue;
168
+ const isSnakeCase = /^[a-z][a-z0-9_]*$/.test(ref.tableName);
169
+ const isTableSuffix = ref.tableName.endsWith('Table');
170
+ if (isSnakeCase || isTableSuffix)
171
+ continue;
172
+ out.push({
173
+ ruleId: 'table-naming-convention',
174
+ severity: 'high',
175
+ message: `Table name '${ref.tableName}' should use snake_case convention`,
176
+ file: ref.filePath,
177
+ line: ref.line,
178
+ column: ref.column,
179
+ symbol: ref.tableName,
180
+ });
181
+ }
182
+ return out;
183
+ },
184
+ };
185
+ // ── stale-table-reference ────────────────────────────────────────────────────
186
+ /**
187
+ * `stale-table-reference` reads the `migration-history` corpus fact (§5) — the
188
+ * drop-provenance map built by the shared `buildDropProvenance` the legacy
189
+ * schema reducer called — alongside `schema-usage` + `resolution`. It is the
190
+ * partition of the unknown-reference set that `unknown-table` hands off: a
191
+ * reference whose table a migration dropped is a stale code reference (the
192
+ * message names the dropping migration and the tables it introduced as
193
+ * evidence, not proof, of a successor), not a typo.
194
+ *
195
+ * Parity holds by construction: `buildDropProvenance` is the identical pure
196
+ * function the legacy reducer ran, and the message/resolution here are the
197
+ * verbatim emission from `UniversalSchemaAnalyzer` (pipelineAdapters.ts).
198
+ */
199
+ const staleTableReference = {
200
+ id: 'stale-table-reference',
201
+ analyzer: 'schema',
202
+ needs: { formats: ['typescript', 'tsx', 'javascript'], facts: ['schema-usage', 'resolution', 'migration-history'] },
203
+ severity: 'critical',
204
+ message: META['stale-table-reference'].message,
205
+ docs: META['stale-table-reference'].docs,
206
+ thresholds: META['stale-table-reference'].thresholds,
207
+ samples: META['stale-table-reference'].samples,
208
+ analyze(ctx) {
209
+ const dropped = ctx.facts['migration-history'].dropped;
210
+ const { refs, failOpen } = unknownRefs(ctx.facts['schema-usage'], ctx.facts['resolution']);
211
+ if (failOpen)
212
+ return [];
213
+ const out = [];
214
+ for (const ref of refs) {
215
+ const drop = dropped[ref.tableName];
216
+ if (!drop)
217
+ continue;
218
+ const migrationName = drop.migrationFile.split('/').pop() ?? drop.migrationFile;
219
+ const created = [...drop.createdInSameMigration];
220
+ const message = created.length > 0
221
+ ? `${ref.tableName} was dropped in ${migrationName}; that migration creates ${joinEnglish(created)}.`
222
+ : `${ref.tableName} was dropped in ${migrationName} and was not recreated.`;
223
+ out.push({
224
+ ruleId: 'stale-table-reference',
225
+ severity: 'critical',
226
+ message,
227
+ file: ref.filePath,
228
+ line: ref.line,
229
+ column: ref.column,
230
+ symbol: ref.tableName,
231
+ resolution: {
232
+ action: 'update-stale-reference',
233
+ // `created` are evidence the migration replaced the dropped table, not
234
+ // proof of a drop-in successor — the summary names them as context and
235
+ // leaves update-vs-remove to the reviewer.
236
+ summary: created.length > 0
237
+ ? `The table '${ref.tableName}' was dropped in ${migrationName}. That migration introduces ${joinEnglish(created)} — review this reference and update or remove it.`
238
+ : `The table '${ref.tableName}' was dropped in ${migrationName} and was not recreated — update or remove this reference.`,
239
+ symbols: created.length > 0 ? created : [ref.tableName],
240
+ files: [ref.filePath],
241
+ lines: ref.line != null ? [ref.line] : undefined,
242
+ },
243
+ });
244
+ }
245
+ return out;
246
+ },
247
+ };
248
+ /** The three TypeScript schema rules this slice migrates, in registry order. */
249
+ export const schemaRules = [unknownTable, tableNamingConvention, staleTableReference];
250
+ const dynamicSqlConstruction = {
251
+ id: 'dynamic-sql-construction',
252
+ analyzer: 'schema',
253
+ needs: { formats: ['typescript', 'tsx', 'javascript'], facts: ['dynamic-sql'] },
254
+ severity: 'critical',
255
+ message: META['dynamic-sql-construction'].message,
256
+ docs: META['dynamic-sql-construction'].docs,
257
+ thresholds: META['dynamic-sql-construction'].thresholds,
258
+ samples: META['dynamic-sql-construction'].samples,
259
+ analyze(ctx) {
260
+ return ctx.facts['dynamic-sql'].map((c) => ({
261
+ ruleId: 'dynamic-sql-construction',
262
+ severity: 'critical',
263
+ message: `SQL query built via string interpolation or concatenation in ${c.enclosingFn}; use parameterized queries.`,
264
+ file: c.file,
265
+ line: c.line,
266
+ column: c.column,
267
+ symbol: c.symbol,
268
+ }));
269
+ },
270
+ };
271
+ /** The dynamic-sql-construction rule this slice migrates (reads `dynamic-sql`). */
272
+ export const dynamicSqlRules = [dynamicSqlConstruction];
273
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/phase/rules/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Spec 68 §3.2 — the schema-json rules, migrated to `analyze(ctx)`.
3
+ *
4
+ * The legacy JSON-schema validation was one monolithic free function
5
+ * (`analyzeJsonSchemas` in `jsonSchema.ts`) that emitted 17 distinct rule ids
6
+ * with hardcoded `line:1, column:1` anchors (JSON files have no AST position
7
+ * the old path read). The phase model splits that into:
8
+ *
9
+ * - a `json-document` producer (the parsed value of each `.json` file);
10
+ * - the `schema-validations` corpus processor (the one `analyzeJsonSchemas`
11
+ * call, projected onto `SchemaValidationFact` — the classification of which
12
+ * rule fired, at what severity, with what message is the processor's);
13
+ * - these 17 rules, each a thin filter over the fact by its own rule id.
14
+ *
15
+ * Because the processor re-homes the validation verbatim, each rule's `analyze`
16
+ * is a pure projection: it does not re-validate, it just names the rule whose
17
+ * findings it owns. The severity is the fact's (the legacy emit carried it per
18
+ * violation, e.g. `invalid-json` is `critical`, `missing-schema-declaration` is
19
+ * `high`, the rest `severe`), so the static `severity` below is the rule's
20
+ * default and the finding's severity is the fact's — identical on every path.
21
+ */
22
+ import type { RuleDefinition } from '../types.js';
23
+ /** The shared declaration for all 17 schema-json rules: they evaluate JSON
24
+ * files and read the one corpus fact the processor reduces from them. */
25
+ type SchemaJsonNeeds = {
26
+ readonly formats: readonly ['json'];
27
+ readonly facts: readonly ['schema-validations'];
28
+ };
29
+ /** The 17 schema-json rules this slice migrates, in registry order. */
30
+ export declare const schemaJsonRules: readonly RuleDefinition<SchemaJsonNeeds>[];
31
+ export {};
32
+ //# sourceMappingURL=schemaJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaJson.d.ts","sourceRoot":"","sources":["../../../src/phase/rules/schemaJson.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAiC,MAAM,aAAa,CAAC;AAMjF;0EAC0E;AAC1E,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;CACjD,CAAC;AA2DF,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAE,SAAS,cAAc,CAAC,eAAe,CAAC,EACK,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Spec 68 §3.2 — the schema-json rules, migrated to `analyze(ctx)`.
3
+ *
4
+ * The legacy JSON-schema validation was one monolithic free function
5
+ * (`analyzeJsonSchemas` in `jsonSchema.ts`) that emitted 17 distinct rule ids
6
+ * with hardcoded `line:1, column:1` anchors (JSON files have no AST position
7
+ * the old path read). The phase model splits that into:
8
+ *
9
+ * - a `json-document` producer (the parsed value of each `.json` file);
10
+ * - the `schema-validations` corpus processor (the one `analyzeJsonSchemas`
11
+ * call, projected onto `SchemaValidationFact` — the classification of which
12
+ * rule fired, at what severity, with what message is the processor's);
13
+ * - these 17 rules, each a thin filter over the fact by its own rule id.
14
+ *
15
+ * Because the processor re-homes the validation verbatim, each rule's `analyze`
16
+ * is a pure projection: it does not re-validate, it just names the rule whose
17
+ * findings it owns. The severity is the fact's (the legacy emit carried it per
18
+ * violation, e.g. `invalid-json` is `critical`, `missing-schema-declaration` is
19
+ * `high`, the rest `severe`), so the static `severity` below is the rule's
20
+ * default and the finding's severity is the fact's — identical on every path.
21
+ */
22
+ import { RULE_REGISTRY } from '../../analyzers/ruleRegistry.js';
23
+ const META = RULE_REGISTRY;
24
+ /** The 17 registry rule ids, in registry order, each mapped to its fixed
25
+ * severity (the value the legacy `emit`/`emitViolation` carried for that id). */
26
+ const SCHEMA_JSON_RULES = [
27
+ { id: 'invalid-json', severity: 'critical' },
28
+ { id: 'missing-schema-declaration', severity: 'high' },
29
+ { id: 'undefined-required-field', severity: 'severe' },
30
+ { id: 'invalid-type', severity: 'severe' },
31
+ { id: 'invalid-range', severity: 'severe' },
32
+ { id: 'type-mismatch', severity: 'severe' },
33
+ { id: 'string-too-short', severity: 'severe' },
34
+ { id: 'string-too-long', severity: 'severe' },
35
+ { id: 'pattern-mismatch', severity: 'severe' },
36
+ { id: 'invalid-format', severity: 'severe' },
37
+ { id: 'below-minimum', severity: 'severe' },
38
+ { id: 'above-maximum', severity: 'severe' },
39
+ { id: 'too-few-items', severity: 'severe' },
40
+ { id: 'too-many-items', severity: 'severe' },
41
+ { id: 'missing-required-field', severity: 'severe' },
42
+ { id: 'unexpected-property', severity: 'severe' },
43
+ { id: 'enum-mismatch', severity: 'severe' },
44
+ ];
45
+ /** Project one rule's slice of the fact onto its findings, re-homed verbatim
46
+ * from the legacy violation fields (anchor always 1:1). */
47
+ function findingsFor(validations, ruleId) {
48
+ const out = [];
49
+ for (const v of validations) {
50
+ if (v.rule !== ruleId)
51
+ continue;
52
+ out.push({
53
+ ruleId,
54
+ severity: v.severity,
55
+ message: v.message,
56
+ file: v.file,
57
+ line: v.line,
58
+ column: v.column,
59
+ });
60
+ }
61
+ return out;
62
+ }
63
+ /** Build one thin rule definition for a schema-json rule id. */
64
+ function schemaJsonRule(id, severity) {
65
+ return {
66
+ id,
67
+ analyzer: 'schema',
68
+ needs: { formats: ['json'], facts: ['schema-validations'] },
69
+ severity,
70
+ message: META[id].message,
71
+ docs: META[id].docs,
72
+ thresholds: META[id].thresholds,
73
+ samples: META[id].samples,
74
+ analyze(ctx) {
75
+ return findingsFor(ctx.facts['schema-validations'], id);
76
+ },
77
+ };
78
+ }
79
+ /** The 17 schema-json rules this slice migrates, in registry order. */
80
+ export const schemaJsonRules = SCHEMA_JSON_RULES.map(({ id, severity }) => schemaJsonRule(id, severity));
81
+ //# sourceMappingURL=schemaJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaJson.js","sourceRoot":"","sources":["../../../src/phase/rules/schemaJson.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Spec 68 §3.2 — the schema-validator rules, migrated to `analyze(ctx)`.
3
+ *
4
+ * The three rules here (`schema-field-mismatch`, `missing-field`, `extra-field`)
5
+ * read the `cross-language-entities` fact and reduce it through
6
+ * `SchemaValidator` — the same pure class the legacy Stage-4 reducer ran. The
7
+ * reducer (`createSchemaValidatorReducer` in pipelineAdapters.ts) called
8
+ * `extractSchemas(entities)` then `new SchemaValidator().validateSchemas(schemas)`
9
+ * and returned the resulting `SchemaViolation[]`; each violation already carries
10
+ * its own `rule` (`schema-field-mismatch` | `missing-field` | `extra-field`), so
11
+ * the migration is a filter: one rule per violation type, re-homed verbatim.
12
+ *
13
+ * `extractSchemas` and `SchemaValidator` are imported (not re-homed) because —
14
+ * like `DependencyGraphBuilder` — they import no analyzer class and no pipeline,
15
+ * so §15 keeps them. The reducer's two guards are dropped here by construction:
16
+ * - the `isScoped` early-return is a *stage* concern (scoped runs never reach
17
+ * a full-corpus reducer), not a rule concern — the phase model hands a rule
18
+ * whatever facts it declared and the rule evaluates them;
19
+ * - the `countCrossLanguagePairs === 0` notRunReason is a *coverage* signal
20
+ * (§8), not a finding — `validateSchemas` on a single-language corpus
21
+ * returns `[]` because every name-group has `byLanguage.size < 2`, so the
22
+ * rules already emit nothing (the empty multiset the parity test pins).
23
+ *
24
+ * The `cross-language-entities` producer (`extractCrossLanguageEntities`) emits
25
+ * full `CrossLanguageEntity` values whose `parameters` (TS interfaces) and
26
+ * `metadata.fields` (Go structs) already carry `description`/`tag`, so
27
+ * `extractSchemas` works over the fact as-is — no shape enrichment is required.
28
+ */
29
+ import type { RuleDefinition } from '../types.js';
30
+ /** The shared declaration for the three schema-validator rules. */
31
+ type SchemaValidatorNeeds = {
32
+ readonly formats: readonly ['typescript', 'tsx', 'javascript', 'go'];
33
+ readonly facts: readonly ['cross-language-entities'];
34
+ };
35
+ /** The three schema-validator rules this slice migrates, in registry order. */
36
+ export declare const schemaValidatorRules: readonly RuleDefinition<SchemaValidatorNeeds>[];
37
+ export {};
38
+ //# sourceMappingURL=schemaValidator.d.ts.map