code-auditor-mcp 4.1.1 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1082) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +338 -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 +424 -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 +328 -0
  67. package/dist/analyzers/receiverRoot.d.ts.map +1 -0
  68. package/dist/analyzers/receiverRoot.js +990 -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 +231 -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 +64 -1
  161. package/dist/auditRunner.d.ts.map +1 -1
  162. package/dist/auditRunner.js +1538 -1033
  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 +969 -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 +2 -0
  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/hooks/codex.d.ts +8 -1
  409. package/dist/hooks/codex.d.ts.map +1 -1
  410. package/dist/hooks/codex.js +7 -0
  411. package/dist/hooks/codex.js.map +1 -1
  412. package/dist/hooks/core.d.ts +6 -0
  413. package/dist/hooks/core.d.ts.map +1 -1
  414. package/dist/hooks/core.js +6 -1
  415. package/dist/hooks/core.js.map +1 -1
  416. package/dist/hooks/cursor.d.ts +11 -1
  417. package/dist/hooks/cursor.d.ts.map +1 -1
  418. package/dist/hooks/cursor.js +10 -0
  419. package/dist/hooks/cursor.js.map +1 -1
  420. package/dist/index.d.ts +4 -0
  421. package/dist/index.d.ts.map +1 -1
  422. package/dist/index.js +4 -0
  423. package/dist/index.js.map +1 -1
  424. package/dist/installConfig.d.ts +23 -5
  425. package/dist/installConfig.d.ts.map +1 -1
  426. package/dist/installConfig.js +23 -5
  427. package/dist/installConfig.js.map +1 -1
  428. package/dist/installer.d.ts +6 -0
  429. package/dist/installer.d.ts.map +1 -1
  430. package/dist/installer.js +6 -0
  431. package/dist/installer.js.map +1 -1
  432. package/dist/invariants/ruleEngine.d.ts +3 -0
  433. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  434. package/dist/invariants/ruleEngine.js +156 -119
  435. package/dist/invariants/ruleEngine.js.map +1 -1
  436. package/dist/invariants/ruleValidator.d.ts +3 -0
  437. package/dist/invariants/ruleValidator.d.ts.map +1 -1
  438. package/dist/invariants/ruleValidator.js +185 -178
  439. package/dist/invariants/ruleValidator.js.map +1 -1
  440. package/dist/languages/LanguageOrchestrator.d.ts +4 -1
  441. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  442. package/dist/languages/LanguageOrchestrator.js +8 -19
  443. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  444. package/dist/languages/RuntimeManager.d.ts +8 -0
  445. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  446. package/dist/languages/RuntimeManager.js +55 -5
  447. package/dist/languages/RuntimeManager.js.map +1 -1
  448. package/dist/languages/UniversalAnalyzer.js +1 -1
  449. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  450. package/dist/languages/adapterBridge.d.ts +4 -0
  451. package/dist/languages/adapterBridge.d.ts.map +1 -1
  452. package/dist/languages/adapterBridge.js +37 -3
  453. package/dist/languages/adapterBridge.js.map +1 -1
  454. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  455. package/dist/languages/go/GoAdapter.js +11 -14
  456. package/dist/languages/go/GoAdapter.js.map +1 -1
  457. package/dist/languages/go/analyzer-darwin-amd64 +0 -0
  458. package/dist/languages/go/analyzer-darwin-arm64 +0 -0
  459. package/dist/languages/go/analyzer-linux-amd64 +0 -0
  460. package/dist/languages/go/analyzer-linux-arm64 +0 -0
  461. package/dist/languages/go/analyzer-src/analyzer.go +2 -0
  462. package/dist/languages/go/analyzer-src/dataaccess.go +388 -0
  463. package/dist/languages/go/analyzer-src/types.go +8 -0
  464. package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
  465. package/dist/languages/go/database-packages.json +8 -0
  466. package/dist/languages/go/goResolution.d.ts +229 -0
  467. package/dist/languages/go/goResolution.d.ts.map +1 -0
  468. package/dist/languages/go/goResolution.js +799 -0
  469. package/dist/languages/go/goResolution.js.map +1 -0
  470. package/dist/languages/go/stdlib-packages.json +353 -0
  471. package/dist/languages/go/tenantInputs.d.ts +37 -0
  472. package/dist/languages/go/tenantInputs.d.ts.map +1 -0
  473. package/dist/languages/go/tenantInputs.js +121 -0
  474. package/dist/languages/go/tenantInputs.js.map +1 -0
  475. package/dist/languages/index.d.ts +1 -0
  476. package/dist/languages/index.d.ts.map +1 -1
  477. package/dist/languages/index.js +5 -0
  478. package/dist/languages/index.js.map +1 -1
  479. package/dist/languages/json/JsonAdapter.d.ts +177 -0
  480. package/dist/languages/json/JsonAdapter.d.ts.map +1 -0
  481. package/dist/languages/json/JsonAdapter.js +531 -0
  482. package/dist/languages/json/JsonAdapter.js.map +1 -0
  483. package/dist/languages/locationIndex.d.ts +41 -0
  484. package/dist/languages/locationIndex.d.ts.map +1 -0
  485. package/dist/languages/locationIndex.js +42 -0
  486. package/dist/languages/locationIndex.js.map +1 -0
  487. package/dist/languages/sql/dialectDetection.d.ts +57 -0
  488. package/dist/languages/sql/dialectDetection.d.ts.map +1 -0
  489. package/dist/languages/sql/dialectDetection.js +135 -0
  490. package/dist/languages/sql/dialectDetection.js.map +1 -0
  491. package/dist/languages/sql/sqlAst.d.ts +494 -0
  492. package/dist/languages/sql/sqlAst.d.ts.map +1 -0
  493. package/dist/languages/sql/sqlAst.js +1817 -0
  494. package/dist/languages/sql/sqlAst.js.map +1 -0
  495. package/dist/languages/testConventions.d.ts +12 -1
  496. package/dist/languages/testConventions.d.ts.map +1 -1
  497. package/dist/languages/testConventions.js +13 -1
  498. package/dist/languages/testConventions.js.map +1 -1
  499. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +1 -1
  500. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  501. package/dist/languages/tree-sitter/converter.js +2 -2
  502. package/dist/languages/tree-sitter/converter.js.map +1 -1
  503. package/dist/languages/tree-sitter/parser.d.ts +3 -4
  504. package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
  505. package/dist/languages/tree-sitter/parser.js +10 -4
  506. package/dist/languages/tree-sitter/parser.js.map +1 -1
  507. package/dist/languages/tree-sitter/rawNode.d.ts +3 -0
  508. package/dist/languages/tree-sitter/rawNode.d.ts.map +1 -1
  509. package/dist/languages/tree-sitter/rawNode.js +3 -0
  510. package/dist/languages/tree-sitter/rawNode.js.map +1 -1
  511. package/dist/languages/types.d.ts +7 -0
  512. package/dist/languages/types.d.ts.map +1 -1
  513. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +36 -0
  514. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  515. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +168 -45
  516. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  517. package/dist/languages/typescript/database-packages.json +19 -0
  518. package/dist/ledger.d.ts +118 -2
  519. package/dist/ledger.d.ts.map +1 -1
  520. package/dist/ledger.js +167 -45
  521. package/dist/ledger.js.map +1 -1
  522. package/dist/legacyIndexNotice.d.ts +32 -0
  523. package/dist/legacyIndexNotice.d.ts.map +1 -0
  524. package/dist/legacyIndexNotice.js +89 -0
  525. package/dist/legacyIndexNotice.js.map +1 -0
  526. package/dist/mcp-tools/discoveryQueries.d.ts +55 -0
  527. package/dist/mcp-tools/discoveryQueries.d.ts.map +1 -0
  528. package/dist/mcp-tools/discoveryQueries.js +157 -0
  529. package/dist/mcp-tools/discoveryQueries.js.map +1 -0
  530. package/dist/mcp-tools/projectTasks.d.ts +9 -123
  531. package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
  532. package/dist/mcp-tools/projectTasks.js +180 -170
  533. package/dist/mcp-tools/projectTasks.js.map +1 -1
  534. package/dist/mcp-tools/whitelistTools.d.ts +20 -0
  535. package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
  536. package/dist/mcp-tools/whitelistTools.js +20 -0
  537. package/dist/mcp-tools/whitelistTools.js.map +1 -1
  538. package/dist/mcp-tools/workflowGuide.d.ts +9 -0
  539. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  540. package/dist/mcp-tools/workflowGuide.js +13 -5
  541. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  542. package/dist/mcp-tools-shared.d.ts +78 -0
  543. package/dist/mcp-tools-shared.d.ts.map +1 -1
  544. package/dist/mcp-tools-shared.js +203 -340
  545. package/dist/mcp-tools-shared.js.map +1 -1
  546. package/dist/mcp-ui-simple.d.ts +2 -0
  547. package/dist/mcp-ui-simple.d.ts.map +1 -1
  548. package/dist/mcp-ui-simple.js +12 -5
  549. package/dist/mcp-ui-simple.js.map +1 -1
  550. package/dist/mcp.d.ts +6 -0
  551. package/dist/mcp.d.ts.map +1 -1
  552. package/dist/mcp.js +827 -850
  553. package/dist/mcp.js.map +1 -1
  554. package/dist/mcpAuditJobs.d.ts +29 -33
  555. package/dist/mcpAuditJobs.d.ts.map +1 -1
  556. package/dist/mcpAuditJobs.js +102 -791
  557. package/dist/mcpAuditJobs.js.map +1 -1
  558. package/dist/mcpAutoIndex.d.ts +5 -0
  559. package/dist/mcpAutoIndex.d.ts.map +1 -1
  560. package/dist/mcpAutoIndex.js +7 -2
  561. package/dist/mcpAutoIndex.js.map +1 -1
  562. package/dist/mcpDiagnostics.d.ts +7 -0
  563. package/dist/mcpDiagnostics.d.ts.map +1 -1
  564. package/dist/mcpDiagnostics.js +34 -9
  565. package/dist/mcpDiagnostics.js.map +1 -1
  566. package/dist/mcpToolErrors.d.ts +16 -0
  567. package/dist/mcpToolErrors.d.ts.map +1 -1
  568. package/dist/mcpToolErrors.js +16 -0
  569. package/dist/mcpToolErrors.js.map +1 -1
  570. package/dist/nextFile.d.ts +6 -0
  571. package/dist/nextFile.d.ts.map +1 -1
  572. package/dist/nextFile.js +6 -0
  573. package/dist/nextFile.js.map +1 -1
  574. package/dist/nextFileIncremental.d.ts +44 -4
  575. package/dist/nextFileIncremental.d.ts.map +1 -1
  576. package/dist/nextFileIncremental.js +47 -7
  577. package/dist/nextFileIncremental.js.map +1 -1
  578. package/dist/phase/batchFunctions.d.ts +38 -0
  579. package/dist/phase/batchFunctions.d.ts.map +1 -0
  580. package/dist/phase/batchFunctions.js +64 -0
  581. package/dist/phase/batchFunctions.js.map +1 -0
  582. package/dist/phase/checks.d.ts +39 -0
  583. package/dist/phase/checks.d.ts.map +1 -0
  584. package/dist/phase/checks.js +48 -0
  585. package/dist/phase/checks.js.map +1 -0
  586. package/dist/phase/codeBlocks.d.ts +25 -0
  587. package/dist/phase/codeBlocks.d.ts.map +1 -0
  588. package/dist/phase/codeBlocks.js +268 -0
  589. package/dist/phase/codeBlocks.js.map +1 -0
  590. package/dist/phase/colorMath.d.ts +41 -0
  591. package/dist/phase/colorMath.d.ts.map +1 -0
  592. package/dist/phase/colorMath.js +109 -0
  593. package/dist/phase/colorMath.js.map +1 -0
  594. package/dist/phase/config.d.ts +29 -0
  595. package/dist/phase/config.d.ts.map +1 -0
  596. package/dist/phase/config.js +54 -0
  597. package/dist/phase/config.js.map +1 -0
  598. package/dist/phase/consumed.d.ts +47 -0
  599. package/dist/phase/consumed.d.ts.map +1 -0
  600. package/dist/phase/consumed.js +22 -0
  601. package/dist/phase/consumed.js.map +1 -0
  602. package/dist/phase/conventionMining.d.ts +59 -0
  603. package/dist/phase/conventionMining.d.ts.map +1 -0
  604. package/dist/phase/conventionMining.js +152 -0
  605. package/dist/phase/conventionMining.js.map +1 -0
  606. package/dist/phase/coverage.d.ts +65 -0
  607. package/dist/phase/coverage.d.ts.map +1 -0
  608. package/dist/phase/coverage.js +121 -0
  609. package/dist/phase/coverage.js.map +1 -0
  610. package/dist/phase/dag.d.ts +49 -0
  611. package/dist/phase/dag.d.ts.map +1 -0
  612. package/dist/phase/dag.js +120 -0
  613. package/dist/phase/dag.js.map +1 -0
  614. package/dist/phase/dataAccessCalls.d.ts +33 -0
  615. package/dist/phase/dataAccessCalls.d.ts.map +1 -0
  616. package/dist/phase/dataAccessCalls.js +42 -0
  617. package/dist/phase/dataAccessCalls.js.map +1 -0
  618. package/dist/phase/dataAccessCallsCandidates.d.ts +25 -0
  619. package/dist/phase/dataAccessCallsCandidates.d.ts.map +1 -0
  620. package/dist/phase/dataAccessCallsCandidates.js +27 -0
  621. package/dist/phase/dataAccessCallsCandidates.js.map +1 -0
  622. package/dist/phase/dynamicSql.d.ts +18 -0
  623. package/dist/phase/dynamicSql.d.ts.map +1 -0
  624. package/dist/phase/dynamicSql.js +20 -0
  625. package/dist/phase/dynamicSql.js.map +1 -0
  626. package/dist/phase/exportForm.d.ts +23 -0
  627. package/dist/phase/exportForm.d.ts.map +1 -0
  628. package/dist/phase/exportForm.js +29 -0
  629. package/dist/phase/exportForm.js.map +1 -0
  630. package/dist/phase/exportSymbols.d.ts +21 -0
  631. package/dist/phase/exportSymbols.d.ts.map +1 -0
  632. package/dist/phase/exportSymbols.js +28 -0
  633. package/dist/phase/exportSymbols.js.map +1 -0
  634. package/dist/phase/fileHeader.d.ts +15 -0
  635. package/dist/phase/fileHeader.d.ts.map +1 -0
  636. package/dist/phase/fileHeader.js +33 -0
  637. package/dist/phase/fileHeader.js.map +1 -0
  638. package/dist/phase/fileImports.d.ts +39 -0
  639. package/dist/phase/fileImports.d.ts.map +1 -0
  640. package/dist/phase/fileImports.js +138 -0
  641. package/dist/phase/fileImports.js.map +1 -0
  642. package/dist/phase/fileSymbols.d.ts +25 -0
  643. package/dist/phase/fileSymbols.d.ts.map +1 -0
  644. package/dist/phase/fileSymbols.js +302 -0
  645. package/dist/phase/fileSymbols.js.map +1 -0
  646. package/dist/phase/functionBodies.d.ts +28 -0
  647. package/dist/phase/functionBodies.d.ts.map +1 -0
  648. package/dist/phase/functionBodies.js +67 -0
  649. package/dist/phase/functionBodies.js.map +1 -0
  650. package/dist/phase/functionIndex.d.ts +28 -0
  651. package/dist/phase/functionIndex.d.ts.map +1 -0
  652. package/dist/phase/functionIndex.js +152 -0
  653. package/dist/phase/functionIndex.js.map +1 -0
  654. package/dist/phase/goFunctionAnalysis.d.ts +47 -0
  655. package/dist/phase/goFunctionAnalysis.d.ts.map +1 -0
  656. package/dist/phase/goFunctionAnalysis.js +291 -0
  657. package/dist/phase/goFunctionAnalysis.js.map +1 -0
  658. package/dist/phase/goFunctions.d.ts +38 -0
  659. package/dist/phase/goFunctions.d.ts.map +1 -0
  660. package/dist/phase/goFunctions.js +154 -0
  661. package/dist/phase/goFunctions.js.map +1 -0
  662. package/dist/phase/goImports.d.ts +29 -0
  663. package/dist/phase/goImports.d.ts.map +1 -0
  664. package/dist/phase/goImports.js +68 -0
  665. package/dist/phase/goImports.js.map +1 -0
  666. package/dist/phase/goPackageBindings.d.ts +22 -0
  667. package/dist/phase/goPackageBindings.d.ts.map +1 -0
  668. package/dist/phase/goPackageBindings.js +30 -0
  669. package/dist/phase/goPackageBindings.js.map +1 -0
  670. package/dist/phase/goSwitches.d.ts +28 -0
  671. package/dist/phase/goSwitches.d.ts.map +1 -0
  672. package/dist/phase/goSwitches.js +52 -0
  673. package/dist/phase/goSwitches.js.map +1 -0
  674. package/dist/phase/importForm.d.ts +20 -0
  675. package/dist/phase/importForm.d.ts.map +1 -0
  676. package/dist/phase/importForm.js +27 -0
  677. package/dist/phase/importForm.js.map +1 -0
  678. package/dist/phase/importSpecifiers.d.ts +20 -0
  679. package/dist/phase/importSpecifiers.d.ts.map +1 -0
  680. package/dist/phase/importSpecifiers.js +30 -0
  681. package/dist/phase/importSpecifiers.js.map +1 -0
  682. package/dist/phase/imports.d.ts +18 -0
  683. package/dist/phase/imports.d.ts.map +1 -0
  684. package/dist/phase/imports.js +25 -0
  685. package/dist/phase/imports.js.map +1 -0
  686. package/dist/phase/jsonDocument.d.ts +26 -0
  687. package/dist/phase/jsonDocument.d.ts.map +1 -0
  688. package/dist/phase/jsonDocument.js +36 -0
  689. package/dist/phase/jsonDocument.js.map +1 -0
  690. package/dist/phase/localBinding.d.ts +33 -0
  691. package/dist/phase/localBinding.d.ts.map +1 -0
  692. package/dist/phase/localBinding.js +208 -0
  693. package/dist/phase/localBinding.js.map +1 -0
  694. package/dist/phase/loopQueries.d.ts +31 -0
  695. package/dist/phase/loopQueries.d.ts.map +1 -0
  696. package/dist/phase/loopQueries.js +44 -0
  697. package/dist/phase/loopQueries.js.map +1 -0
  698. package/dist/phase/loopQueryCandidates.d.ts +26 -0
  699. package/dist/phase/loopQueryCandidates.d.ts.map +1 -0
  700. package/dist/phase/loopQueryCandidates.js +28 -0
  701. package/dist/phase/loopQueryCandidates.js.map +1 -0
  702. package/dist/phase/oracles.d.ts +216 -0
  703. package/dist/phase/oracles.d.ts.map +1 -0
  704. package/dist/phase/oracles.js +484 -0
  705. package/dist/phase/oracles.js.map +1 -0
  706. package/dist/phase/phaseModel.d.ts +190 -0
  707. package/dist/phase/phaseModel.d.ts.map +1 -0
  708. package/dist/phase/phaseModel.js +468 -0
  709. package/dist/phase/phaseModel.js.map +1 -0
  710. package/dist/phase/producers.d.ts +450 -0
  711. package/dist/phase/producers.d.ts.map +1 -0
  712. package/dist/phase/producers.js +1027 -0
  713. package/dist/phase/producers.js.map +1 -0
  714. package/dist/phase/querySiteCandidates.d.ts +27 -0
  715. package/dist/phase/querySiteCandidates.d.ts.map +1 -0
  716. package/dist/phase/querySiteCandidates.js +66 -0
  717. package/dist/phase/querySiteCandidates.js.map +1 -0
  718. package/dist/phase/querySites.d.ts +30 -0
  719. package/dist/phase/querySites.d.ts.map +1 -0
  720. package/dist/phase/querySites.js +93 -0
  721. package/dist/phase/querySites.js.map +1 -0
  722. package/dist/phase/reachability.d.ts +61 -0
  723. package/dist/phase/reachability.d.ts.map +1 -0
  724. package/dist/phase/reachability.js +104 -0
  725. package/dist/phase/reachability.js.map +1 -0
  726. package/dist/phase/reactComponents.d.ts +33 -0
  727. package/dist/phase/reactComponents.d.ts.map +1 -0
  728. package/dist/phase/reactComponents.js +47 -0
  729. package/dist/phase/reactComponents.js.map +1 -0
  730. package/dist/phase/receiverActivity.d.ts +35 -0
  731. package/dist/phase/receiverActivity.d.ts.map +1 -0
  732. package/dist/phase/receiverActivity.js +66 -0
  733. package/dist/phase/receiverActivity.js.map +1 -0
  734. package/dist/phase/receiverConsumers.d.ts +200 -0
  735. package/dist/phase/receiverConsumers.d.ts.map +1 -0
  736. package/dist/phase/receiverConsumers.js +1025 -0
  737. package/dist/phase/receiverConsumers.js.map +1 -0
  738. package/dist/phase/receiverProvenance.d.ts +97 -0
  739. package/dist/phase/receiverProvenance.d.ts.map +1 -0
  740. package/dist/phase/receiverProvenance.js +337 -0
  741. package/dist/phase/receiverProvenance.js.map +1 -0
  742. package/dist/phase/routing.d.ts +47 -0
  743. package/dist/phase/routing.d.ts.map +1 -0
  744. package/dist/phase/routing.js +62 -0
  745. package/dist/phase/routing.js.map +1 -0
  746. package/dist/phase/rules/conventions.d.ts +61 -0
  747. package/dist/phase/rules/conventions.d.ts.map +1 -0
  748. package/dist/phase/rules/conventions.js +403 -0
  749. package/dist/phase/rules/conventions.js.map +1 -0
  750. package/dist/phase/rules/crossDomain.d.ts +102 -0
  751. package/dist/phase/rules/crossDomain.d.ts.map +1 -0
  752. package/dist/phase/rules/crossDomain.js +918 -0
  753. package/dist/phase/rules/crossDomain.js.map +1 -0
  754. package/dist/phase/rules/dataAccess.d.ts +62 -0
  755. package/dist/phase/rules/dataAccess.d.ts.map +1 -0
  756. package/dist/phase/rules/dataAccess.js +480 -0
  757. package/dist/phase/rules/dataAccess.js.map +1 -0
  758. package/dist/phase/rules/dependencyGraph.d.ts +44 -0
  759. package/dist/phase/rules/dependencyGraph.d.ts.map +1 -0
  760. package/dist/phase/rules/dependencyGraph.js +260 -0
  761. package/dist/phase/rules/dependencyGraph.js.map +1 -0
  762. package/dist/phase/rules/documentation.d.ts +45 -0
  763. package/dist/phase/rules/documentation.d.ts.map +1 -0
  764. package/dist/phase/rules/documentation.js +340 -0
  765. package/dist/phase/rules/documentation.js.map +1 -0
  766. package/dist/phase/rules/dry.d.ts +109 -0
  767. package/dist/phase/rules/dry.d.ts.map +1 -0
  768. package/dist/phase/rules/dry.js +803 -0
  769. package/dist/phase/rules/dry.js.map +1 -0
  770. package/dist/phase/rules/fileDocumentation.d.ts +36 -0
  771. package/dist/phase/rules/fileDocumentation.d.ts.map +1 -0
  772. package/dist/phase/rules/fileDocumentation.js +134 -0
  773. package/dist/phase/rules/fileDocumentation.js.map +1 -0
  774. package/dist/phase/rules/functionBodies.d.ts +33 -0
  775. package/dist/phase/rules/functionBodies.d.ts.map +1 -0
  776. package/dist/phase/rules/functionBodies.js +71 -0
  777. package/dist/phase/rules/functionBodies.js.map +1 -0
  778. package/dist/phase/rules/goRules.d.ts +49 -0
  779. package/dist/phase/rules/goRules.d.ts.map +1 -0
  780. package/dist/phase/rules/goRules.js +209 -0
  781. package/dist/phase/rules/goRules.js.map +1 -0
  782. package/dist/phase/rules/querySites.d.ts +29 -0
  783. package/dist/phase/rules/querySites.d.ts.map +1 -0
  784. package/dist/phase/rules/querySites.js +94 -0
  785. package/dist/phase/rules/querySites.js.map +1 -0
  786. package/dist/phase/rules/react.d.ts +38 -0
  787. package/dist/phase/rules/react.d.ts.map +1 -0
  788. package/dist/phase/rules/react.js +202 -0
  789. package/dist/phase/rules/react.js.map +1 -0
  790. package/dist/phase/rules/registry.d.ts +170 -0
  791. package/dist/phase/rules/registry.d.ts.map +1 -0
  792. package/dist/phase/rules/registry.js +103 -0
  793. package/dist/phase/rules/registry.js.map +1 -0
  794. package/dist/phase/rules/schema.d.ts +79 -0
  795. package/dist/phase/rules/schema.d.ts.map +1 -0
  796. package/dist/phase/rules/schema.js +273 -0
  797. package/dist/phase/rules/schema.js.map +1 -0
  798. package/dist/phase/rules/schemaJson.d.ts +32 -0
  799. package/dist/phase/rules/schemaJson.d.ts.map +1 -0
  800. package/dist/phase/rules/schemaJson.js +81 -0
  801. package/dist/phase/rules/schemaJson.js.map +1 -0
  802. package/dist/phase/rules/schemaValidator.d.ts +38 -0
  803. package/dist/phase/rules/schemaValidator.d.ts.map +1 -0
  804. package/dist/phase/rules/schemaValidator.js +107 -0
  805. package/dist/phase/rules/schemaValidator.js.map +1 -0
  806. package/dist/phase/rules/secrets.d.ts +34 -0
  807. package/dist/phase/rules/secrets.d.ts.map +1 -0
  808. package/dist/phase/rules/secrets.js +208 -0
  809. package/dist/phase/rules/secrets.js.map +1 -0
  810. package/dist/phase/rules/security.d.ts +30 -0
  811. package/dist/phase/rules/security.d.ts.map +1 -0
  812. package/dist/phase/rules/security.js +85 -0
  813. package/dist/phase/rules/security.js.map +1 -0
  814. package/dist/phase/rules/securityDefects.d.ts +37 -0
  815. package/dist/phase/rules/securityDefects.d.ts.map +1 -0
  816. package/dist/phase/rules/securityDefects.js +167 -0
  817. package/dist/phase/rules/securityDefects.js.map +1 -0
  818. package/dist/phase/rules/solid.d.ts +61 -0
  819. package/dist/phase/rules/solid.d.ts.map +1 -0
  820. package/dist/phase/rules/solid.js +562 -0
  821. package/dist/phase/rules/solid.js.map +1 -0
  822. package/dist/phase/rules/styles.d.ts +77 -0
  823. package/dist/phase/rules/styles.d.ts.map +1 -0
  824. package/dist/phase/rules/styles.js +868 -0
  825. package/dist/phase/rules/styles.js.map +1 -0
  826. package/dist/phase/rules/unreferencedModule.d.ts +26 -0
  827. package/dist/phase/rules/unreferencedModule.d.ts.map +1 -0
  828. package/dist/phase/rules/unreferencedModule.js +61 -0
  829. package/dist/phase/rules/unreferencedModule.js.map +1 -0
  830. package/dist/phase/runner.d.ts +549 -0
  831. package/dist/phase/runner.d.ts.map +1 -0
  832. package/dist/phase/runner.js +1098 -0
  833. package/dist/phase/runner.js.map +1 -0
  834. package/dist/phase/schemaCode.d.ts +34 -0
  835. package/dist/phase/schemaCode.d.ts.map +1 -0
  836. package/dist/phase/schemaCode.js +53 -0
  837. package/dist/phase/schemaCode.js.map +1 -0
  838. package/dist/phase/schemaObjects.d.ts +37 -0
  839. package/dist/phase/schemaObjects.d.ts.map +1 -0
  840. package/dist/phase/schemaObjects.js +139 -0
  841. package/dist/phase/schemaObjects.js.map +1 -0
  842. package/dist/phase/schemaUsage.d.ts +30 -0
  843. package/dist/phase/schemaUsage.d.ts.map +1 -0
  844. package/dist/phase/schemaUsage.js +99 -0
  845. package/dist/phase/schemaUsage.js.map +1 -0
  846. package/dist/phase/schemaUsageCandidates.d.ts +32 -0
  847. package/dist/phase/schemaUsageCandidates.d.ts.map +1 -0
  848. package/dist/phase/schemaUsageCandidates.js +165 -0
  849. package/dist/phase/schemaUsageCandidates.js.map +1 -0
  850. package/dist/phase/schemaValidations.d.ts +34 -0
  851. package/dist/phase/schemaValidations.d.ts.map +1 -0
  852. package/dist/phase/schemaValidations.js +53 -0
  853. package/dist/phase/schemaValidations.js.map +1 -0
  854. package/dist/phase/secretCandidates.d.ts +28 -0
  855. package/dist/phase/secretCandidates.d.ts.map +1 -0
  856. package/dist/phase/secretCandidates.js +132 -0
  857. package/dist/phase/secretCandidates.js.map +1 -0
  858. package/dist/phase/securityCandidates.d.ts +29 -0
  859. package/dist/phase/securityCandidates.d.ts.map +1 -0
  860. package/dist/phase/securityCandidates.js +469 -0
  861. package/dist/phase/securityCandidates.js.map +1 -0
  862. package/dist/phase/seeded-defects.d.ts +18 -0
  863. package/dist/phase/seeded-defects.d.ts.map +1 -0
  864. package/dist/phase/seeded-defects.js +61 -0
  865. package/dist/phase/seeded-defects.js.map +1 -0
  866. package/dist/phase/stringLiterals.d.ts +24 -0
  867. package/dist/phase/stringLiterals.d.ts.map +1 -0
  868. package/dist/phase/stringLiterals.js +35 -0
  869. package/dist/phase/stringLiterals.js.map +1 -0
  870. package/dist/phase/stylesCss.d.ts +25 -0
  871. package/dist/phase/stylesCss.d.ts.map +1 -0
  872. package/dist/phase/stylesCss.js +34 -0
  873. package/dist/phase/stylesCss.js.map +1 -0
  874. package/dist/phase/stylesMarkup.d.ts +31 -0
  875. package/dist/phase/stylesMarkup.d.ts.map +1 -0
  876. package/dist/phase/stylesMarkup.js +48 -0
  877. package/dist/phase/stylesMarkup.js.map +1 -0
  878. package/dist/phase/stylesSource.d.ts +36 -0
  879. package/dist/phase/stylesSource.d.ts.map +1 -0
  880. package/dist/phase/stylesSource.js +50 -0
  881. package/dist/phase/stylesSource.js.map +1 -0
  882. package/dist/phase/typeDeclarations.d.ts +33 -0
  883. package/dist/phase/typeDeclarations.d.ts.map +1 -0
  884. package/dist/phase/typeDeclarations.js +76 -0
  885. package/dist/phase/typeDeclarations.js.map +1 -0
  886. package/dist/phase/types.d.ts +2191 -0
  887. package/dist/phase/types.d.ts.map +1 -0
  888. package/dist/phase/types.js +27 -0
  889. package/dist/phase/types.js.map +1 -0
  890. package/dist/phase/withinFileProvenance.d.ts +50 -0
  891. package/dist/phase/withinFileProvenance.d.ts.map +1 -0
  892. package/dist/phase/withinFileProvenance.js +112 -0
  893. package/dist/phase/withinFileProvenance.js.map +1 -0
  894. package/dist/pipeline.d.ts +37 -30
  895. package/dist/pipeline.d.ts.map +1 -1
  896. package/dist/pipeline.js +131 -326
  897. package/dist/pipeline.js.map +1 -1
  898. package/dist/pipelineAdapters.d.ts +104 -21
  899. package/dist/pipelineAdapters.d.ts.map +1 -1
  900. package/dist/pipelineAdapters.js +1144 -984
  901. package/dist/pipelineAdapters.js.map +1 -1
  902. package/dist/pipelineTypes.d.ts +21 -0
  903. package/dist/pipelineTypes.d.ts.map +1 -1
  904. package/dist/pipelineTypes.js +21 -10
  905. package/dist/pipelineTypes.js.map +1 -1
  906. package/dist/presets/presets.d.ts +9 -2
  907. package/dist/presets/presets.d.ts.map +1 -1
  908. package/dist/presets/presets.js +15 -26
  909. package/dist/presets/presets.js.map +1 -1
  910. package/dist/reporting/csvReportGenerator.d.ts +14 -3
  911. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  912. package/dist/reporting/csvReportGenerator.js +14 -3
  913. package/dist/reporting/csvReportGenerator.js.map +1 -1
  914. package/dist/reporting/htmlReportGenerator.d.ts +5 -1
  915. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  916. package/dist/reporting/htmlReportGenerator.js +5 -1
  917. package/dist/reporting/htmlReportGenerator.js.map +1 -1
  918. package/dist/reporting/jsonReportGenerator.d.ts +9 -2
  919. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  920. package/dist/reporting/jsonReportGenerator.js +19 -5
  921. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  922. package/dist/reporting/reportGenerator.d.ts +9 -2
  923. package/dist/reporting/reportGenerator.d.ts.map +1 -1
  924. package/dist/reporting/reportGenerator.js +9 -2
  925. package/dist/reporting/reportGenerator.js.map +1 -1
  926. package/dist/reporting/sarifReportGenerator.d.ts +14 -0
  927. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  928. package/dist/reporting/sarifReportGenerator.js +14 -0
  929. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  930. package/dist/reporting/sizeDistribution.d.ts +19 -2
  931. package/dist/reporting/sizeDistribution.d.ts.map +1 -1
  932. package/dist/reporting/sizeDistribution.js +23 -5
  933. package/dist/reporting/sizeDistribution.js.map +1 -1
  934. package/dist/ruleAliases.d.ts +6 -8
  935. package/dist/ruleAliases.d.ts.map +1 -1
  936. package/dist/ruleAliases.js +29 -4
  937. package/dist/ruleAliases.js.map +1 -1
  938. package/dist/search/QueryParser.d.ts +1 -0
  939. package/dist/search/QueryParser.d.ts.map +1 -1
  940. package/dist/search/QueryParser.js +32 -91
  941. package/dist/search/QueryParser.js.map +1 -1
  942. package/dist/services/CodeMapGenerator.d.ts +19 -20
  943. package/dist/services/CodeMapGenerator.d.ts.map +1 -1
  944. package/dist/services/CodeMapGenerator.js +214 -194
  945. package/dist/services/CodeMapGenerator.js.map +1 -1
  946. package/dist/services/ProjectTaskRepository.d.ts +65 -3
  947. package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
  948. package/dist/services/ProjectTaskRepository.js +94 -25
  949. package/dist/services/ProjectTaskRepository.js.map +1 -1
  950. package/dist/services/auditJobService.d.ts +17 -1
  951. package/dist/services/auditJobService.d.ts.map +1 -1
  952. package/dist/services/auditJobService.js +16 -0
  953. package/dist/services/auditJobService.js.map +1 -1
  954. package/dist/services/fileAccounting.d.ts +43 -5
  955. package/dist/services/fileAccounting.d.ts.map +1 -1
  956. package/dist/services/fileAccounting.js +48 -9
  957. package/dist/services/fileAccounting.js.map +1 -1
  958. package/dist/services/projectTaskHelpers.d.ts +45 -0
  959. package/dist/services/projectTaskHelpers.d.ts.map +1 -1
  960. package/dist/services/projectTaskHelpers.js +45 -0
  961. package/dist/services/projectTaskHelpers.js.map +1 -1
  962. package/dist/services/whitelistService.d.ts +40 -5
  963. package/dist/services/whitelistService.d.ts.map +1 -1
  964. package/dist/services/whitelistService.js +87 -46
  965. package/dist/services/whitelistService.js.map +1 -1
  966. package/dist/sqlite/betterSqlite3.d.ts +35 -1
  967. package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
  968. package/dist/sqlite/betterSqlite3.js +35 -1
  969. package/dist/sqlite/betterSqlite3.js.map +1 -1
  970. package/dist/sqlite/driver.d.ts +23 -0
  971. package/dist/sqlite/driver.d.ts.map +1 -1
  972. package/dist/sqlite/driver.js +23 -0
  973. package/dist/sqlite/driver.js.map +1 -1
  974. package/dist/sqlite/nodeSqlite.d.ts +35 -1
  975. package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
  976. package/dist/sqlite/nodeSqlite.js +35 -1
  977. package/dist/sqlite/nodeSqlite.js.map +1 -1
  978. package/dist/structuralSignature.d.ts +9 -0
  979. package/dist/structuralSignature.d.ts.map +1 -1
  980. package/dist/structuralSignature.js +9 -0
  981. package/dist/structuralSignature.js.map +1 -1
  982. package/dist/styles/cssAstExtractor.d.ts +15 -0
  983. package/dist/styles/cssAstExtractor.d.ts.map +1 -1
  984. package/dist/styles/cssAstExtractor.js +15 -0
  985. package/dist/styles/cssAstExtractor.js.map +1 -1
  986. package/dist/styles/normalizer.d.ts +6 -0
  987. package/dist/styles/normalizer.d.ts.map +1 -1
  988. package/dist/styles/normalizer.js +6 -0
  989. package/dist/styles/normalizer.js.map +1 -1
  990. package/dist/styles/styleExtractor.d.ts +29 -2
  991. package/dist/styles/styleExtractor.d.ts.map +1 -1
  992. package/dist/styles/styleExtractor.js +67 -48
  993. package/dist/styles/styleExtractor.js.map +1 -1
  994. package/dist/styles/styleIndexer.d.ts +8 -0
  995. package/dist/styles/styleIndexer.d.ts.map +1 -1
  996. package/dist/styles/styleIndexer.js +135 -138
  997. package/dist/styles/styleIndexer.js.map +1 -1
  998. package/dist/styles/tailwindConfigLoader.d.ts +12 -0
  999. package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
  1000. package/dist/styles/tailwindConfigLoader.js +12 -0
  1001. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  1002. package/dist/styles/tailwindExpander.d.ts +3 -0
  1003. package/dist/styles/tailwindExpander.d.ts.map +1 -1
  1004. package/dist/styles/tailwindExpander.js +8 -4
  1005. package/dist/styles/tailwindExpander.js.map +1 -1
  1006. package/dist/styles/tailwindProbe.d.ts +9 -0
  1007. package/dist/styles/tailwindProbe.d.ts.map +1 -1
  1008. package/dist/styles/tailwindProbe.js +181 -166
  1009. package/dist/styles/tailwindProbe.js.map +1 -1
  1010. package/dist/styles/tailwindUtilityExpander.d.ts +13 -0
  1011. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  1012. package/dist/styles/tailwindUtilityExpander.js +13 -0
  1013. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  1014. package/dist/symbols.d.ts +13 -11
  1015. package/dist/symbols.d.ts.map +1 -1
  1016. package/dist/symbols.js +14 -21
  1017. package/dist/symbols.js.map +1 -1
  1018. package/dist/telemetry.d.ts +31 -3
  1019. package/dist/telemetry.d.ts.map +1 -1
  1020. package/dist/telemetry.js +31 -3
  1021. package/dist/telemetry.js.map +1 -1
  1022. package/dist/tool-registry.d.ts +37 -1
  1023. package/dist/tool-registry.d.ts.map +1 -1
  1024. package/dist/tool-registry.js +37 -1
  1025. package/dist/tool-registry.js.map +1 -1
  1026. package/dist/types.d.ts +101 -71
  1027. package/dist/types.d.ts.map +1 -1
  1028. package/dist/types.js +7 -16
  1029. package/dist/types.js.map +1 -1
  1030. package/dist/ui/InteractivePrompts.d.ts +12 -0
  1031. package/dist/ui/InteractivePrompts.d.ts.map +1 -1
  1032. package/dist/ui/InteractivePrompts.js +12 -0
  1033. package/dist/ui/InteractivePrompts.js.map +1 -1
  1034. package/dist/utils/astParser.d.ts +15 -0
  1035. package/dist/utils/astParser.d.ts.map +1 -1
  1036. package/dist/utils/astParser.js +15 -0
  1037. package/dist/utils/astParser.js.map +1 -1
  1038. package/dist/utils/astUtils.d.ts +60 -0
  1039. package/dist/utils/astUtils.d.ts.map +1 -1
  1040. package/dist/utils/astUtils.js +350 -362
  1041. package/dist/utils/astUtils.js.map +1 -1
  1042. package/dist/utils/contentHash.d.ts +22 -0
  1043. package/dist/utils/contentHash.d.ts.map +1 -0
  1044. package/dist/utils/contentHash.js +26 -0
  1045. package/dist/utils/contentHash.js.map +1 -0
  1046. package/dist/utils/dependencyExtractor.d.ts +28 -0
  1047. package/dist/utils/dependencyExtractor.d.ts.map +1 -1
  1048. package/dist/utils/dependencyExtractor.js +28 -1
  1049. package/dist/utils/dependencyExtractor.js.map +1 -1
  1050. package/dist/utils/errorMessage.d.ts +10 -0
  1051. package/dist/utils/errorMessage.d.ts.map +1 -0
  1052. package/dist/utils/errorMessage.js +12 -0
  1053. package/dist/utils/errorMessage.js.map +1 -0
  1054. package/dist/utils/fileDiscovery.d.ts +61 -2
  1055. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  1056. package/dist/utils/fileDiscovery.js +131 -23
  1057. package/dist/utils/fileDiscovery.js.map +1 -1
  1058. package/dist/utils/reactDetection.d.ts +34 -5
  1059. package/dist/utils/reactDetection.d.ts.map +1 -1
  1060. package/dist/utils/reactDetection.js +73 -52
  1061. package/dist/utils/reactDetection.js.map +1 -1
  1062. package/dist/version.generated.d.ts +1 -1
  1063. package/dist/version.generated.js +1 -1
  1064. package/dist/workers/auditWorker.js +7 -3
  1065. package/dist/workers/auditWorker.js.map +1 -1
  1066. package/examples/.auditrc.example.json +0 -8
  1067. package/examples/.auditrc.json +0 -11
  1068. package/examples/.code-auditor.json +0 -2
  1069. package/examples/nextjs.auditrc.json +0 -8
  1070. package/examples/node-api.auditrc.json +0 -7
  1071. package/examples/react.auditrc.json +0 -6
  1072. package/examples/tolerant-solid.auditrc.json +0 -5
  1073. package/package.json +11 -5
  1074. package/plugin/.claude-plugin/manifest.json +16 -0
  1075. package/plugin/.claude-plugin/plugin.json +1 -1
  1076. package/plugin/hooks/hooks.json +6 -2
  1077. package/plugin/scripts/hook-audit.sh +41 -14
  1078. package/plugin/scripts/hook-common.sh +50 -5
  1079. package/plugin/scripts/hook-drift-check.sh +72 -0
  1080. package/plugin/scripts/hook-self-audit.sh +17 -12
  1081. package/plugin/skills/code-auditor/SKILL.md +1 -1
  1082. package/server.json +2 -2
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Spec 69 R3 — local binding resolution for `.where(and(...conditions))`.
3
+ *
4
+ * A `.where(...)` whose predicate spreads a local array binding
5
+ * (`and(...conditions)`) hides the tenant predicate from the query text: the
6
+ * `data-access-calls` producer extracts the candidate node's own text, which
7
+ * mentions `conditions` but not the `eq(orders.organizationId, …)` elements
8
+ * assembled in prior statements. This module resolves that spread to the
9
+ * elements — a local `const`/`let` array binding and its `.push(...)` calls —
10
+ * within the enclosing function body only. Syntactic and repo-local, no type
11
+ * checker, no cross-function analysis (Spec 69 R3's stated ceiling).
12
+ *
13
+ * The result distinguishes all-paths from some-paths: an element present in the
14
+ * array initializer, or pushed unconditionally, scopes the query on every path;
15
+ * an element pushed under an `if`/`switch`/ternary/`&&`/`||`/loop scopes it on
16
+ * only some paths. `missing-org-filter` reads this to go quiet only on an
17
+ * all-paths tenant predicate — a some-paths predicate still fires (the query
18
+ * executes unscoped on the branch where the guard is absent).
19
+ */
20
+ const FUNCTION_NODE_TYPES = new Set([
21
+ 'arrow_function',
22
+ 'function_declaration',
23
+ 'function_expression',
24
+ 'generator_function_declaration',
25
+ 'generator_function',
26
+ 'method_definition',
27
+ ]);
28
+ /** Loop kinds whose body runs 0..N times — a push inside is some-paths. */
29
+ const LOOP_TYPES = new Set([
30
+ 'for_statement',
31
+ 'for_in_statement',
32
+ 'while_statement',
33
+ 'do_statement',
34
+ ]);
35
+ function textOf(node, sourceCode, adapter) {
36
+ return adapter.getNodeText(node, sourceCode);
37
+ }
38
+ /** Direct children of a given node type (name/property/condition discovery). */
39
+ function childrenOfType(node, type) {
40
+ return (node.children ?? []).filter((c) => c.type === type);
41
+ }
42
+ /** Array/argument expression children — filter out the `,` separator (the only
43
+ * significant anonymous node inside an array literal or an argument list). */
44
+ function expressionChildren(node) {
45
+ return (node.children ?? []).filter((c) => c.type !== ',');
46
+ }
47
+ /** Depth-first traversal that never descends into a nested function body — the
48
+ * binding resolution is within-function only (Spec 69 R3's ceiling). */
49
+ function collectWithin(node, predicate) {
50
+ const out = [];
51
+ const visit = (n, isRoot) => {
52
+ if (!isRoot && FUNCTION_NODE_TYPES.has(n.type))
53
+ return;
54
+ if (predicate(n))
55
+ out.push(n);
56
+ for (const c of n.children ?? [])
57
+ visit(c, false);
58
+ };
59
+ visit(node, true);
60
+ return out;
61
+ }
62
+ /** Plain full-subtree walk (used to find the spread inside the candidate call). */
63
+ function walk(node, fn) {
64
+ fn(node);
65
+ for (const c of node.children ?? [])
66
+ walk(c, fn);
67
+ }
68
+ /** True when `node` is a `<binding>.push(...)` call. */
69
+ function isPushCall(node, bindingName, sourceCode, adapter) {
70
+ if (node.type !== 'call_expression')
71
+ return false;
72
+ const member = (node.children ?? []).find((c) => c.type === 'member_expression');
73
+ if (!member)
74
+ return false;
75
+ const object = (member.children ?? []).find((c) => c.type === 'identifier');
76
+ const property = (member.children ?? []).find((c) => c.type === 'property_identifier');
77
+ if (!object || !property)
78
+ return false;
79
+ return (textOf(object, sourceCode, adapter) === bindingName &&
80
+ textOf(property, sourceCode, adapter) === 'push');
81
+ }
82
+ /** First argument of a call (the pushed element), skipping the `,` separator. */
83
+ function firstArgument(callNode, sourceCode, adapter) {
84
+ const args = (callNode.children ?? []).find((c) => c.type === 'arguments');
85
+ if (!args)
86
+ return null;
87
+ return expressionChildren(args)[0] ?? null;
88
+ }
89
+ /** The `if (...)` condition text with the outer parens stripped. */
90
+ function conditionLabel(ifNode, sourceCode, adapter) {
91
+ const cond = (ifNode.children ?? []).find((c) => c.type === 'parenthesized_expression');
92
+ if (cond) {
93
+ const t = textOf(cond, sourceCode, adapter).trim();
94
+ return t.replace(/^\((.*)\)$/s, '$1').trim();
95
+ }
96
+ return 'if';
97
+ }
98
+ /** Best-effort condition label for a switch-case / ternary gating node. */
99
+ function branchLabel(node, sourceCode, adapter) {
100
+ if (node.type === 'if_statement')
101
+ return conditionLabel(node, sourceCode, adapter);
102
+ if (node.type === 'switch_case' || node.type === 'ternary_expression') {
103
+ const first = (node.children ?? []).find((c) => c.type !== ':' && c.type !== '?' && c.type !== '{' && c.type !== '}');
104
+ if (first)
105
+ return textOf(first, sourceCode, adapter).trim();
106
+ }
107
+ return node.type;
108
+ }
109
+ /**
110
+ * Classify a `.push(...)` call as all-paths or some-paths by walking up from it
111
+ * to the enclosing function. A push gated by an `if`/`switch`/ternary/`&&`/
112
+ * `||`/loop is some-paths, with the guard's text as the branch name.
113
+ */
114
+ function gateInfo(pushNode, fnNode, sourceCode, adapter) {
115
+ let child = pushNode;
116
+ let cur = pushNode.parent ?? null;
117
+ while (cur && cur !== fnNode) {
118
+ const t = cur.type;
119
+ if (t === 'if_statement' || t === 'switch_case' || t === 'ternary_expression') {
120
+ return { gated: true, branch: branchLabel(cur, sourceCode, adapter) };
121
+ }
122
+ if (LOOP_TYPES.has(t)) {
123
+ return { gated: true, branch: t };
124
+ }
125
+ if (t === 'binary_expression') {
126
+ const kids = cur.children ?? [];
127
+ const opIdx = kids.findIndex((c) => c.type === '&&' || c.type === '||');
128
+ // A push on the right of `&&`/`||` runs only when the guard short-circuits
129
+ // it there; a push on the left always runs.
130
+ if (opIdx >= 0 && kids.indexOf(child) > opIdx) {
131
+ const left = kids
132
+ .slice(0, opIdx)
133
+ .map((c) => textOf(c, sourceCode, adapter).trim())
134
+ .join(' ');
135
+ return { gated: true, branch: left || kids[opIdx].type };
136
+ }
137
+ }
138
+ child = cur;
139
+ cur = cur.parent ?? null;
140
+ }
141
+ return { gated: false };
142
+ }
143
+ /**
144
+ * Resolve a `.where(...)` spread (`and(...conditions)`) to the elements of the
145
+ * local `conditions` binding, classified all-paths vs some-paths.
146
+ *
147
+ * @param callNode The data-access candidate node (the whole query statement).
148
+ * @param sourceCode The file source for text extraction.
149
+ * @param adapter The language adapter (text/type/parent navigation).
150
+ * @returns The resolved elements, or null when there is no spread, no local
151
+ * binding, or no elements to resolve (the caller then fires as today).
152
+ */
153
+ export function resolveWhereBinding(callNode, sourceCode, adapter) {
154
+ // 1. The spread identifier (`...conditions`) inside the candidate call.
155
+ let bindingName = null;
156
+ walk(callNode, (n) => {
157
+ if (bindingName !== null || n.type !== 'spread_element')
158
+ return;
159
+ const id = childrenOfType(n, 'identifier')[0];
160
+ if (id && /^[A-Za-z_$][\w$]*$/.test(textOf(id, sourceCode, adapter))) {
161
+ bindingName = textOf(id, sourceCode, adapter);
162
+ }
163
+ });
164
+ if (bindingName === null)
165
+ return null;
166
+ // 2. The enclosing function — the resolution ceiling.
167
+ let fn = callNode.parent ?? null;
168
+ while (fn && !FUNCTION_NODE_TYPES.has(fn.type))
169
+ fn = fn.parent ?? null;
170
+ if (!fn)
171
+ return null;
172
+ const name = bindingName;
173
+ const elements = [];
174
+ // 3. Array-initializer elements — all-paths by construction.
175
+ const declarators = collectWithin(fn, (n) => n.type === 'variable_declarator')
176
+ .filter((d) => d.range[1] <= callNode.range[0]) // declared before use
177
+ .filter((d) => {
178
+ const id = childrenOfType(d, 'identifier')[0];
179
+ return id && textOf(id, sourceCode, adapter) === name;
180
+ });
181
+ const declarator = declarators[declarators.length - 1] ?? null;
182
+ if (declarator) {
183
+ const value = (declarator.children ?? []).find((c) => c.type === 'array');
184
+ if (value) {
185
+ for (const el of expressionChildren(value)) {
186
+ elements.push({ text: textOf(el, sourceCode, adapter).trim(), allPaths: true });
187
+ }
188
+ }
189
+ }
190
+ // 4. `.push(...)` elements — all-paths only when not gated.
191
+ for (const push of collectWithin(fn, (n) => isPushCall(n, name, sourceCode, adapter))) {
192
+ if (push.range[1] > callNode.range[0])
193
+ continue; // pushed after the query ran
194
+ const arg = firstArgument(push, sourceCode, adapter);
195
+ if (!arg)
196
+ continue;
197
+ const gate = gateInfo(push, fn, sourceCode, adapter);
198
+ elements.push({
199
+ text: textOf(arg, sourceCode, adapter).trim(),
200
+ allPaths: !gate.gated,
201
+ branch: gate.gated ? gate.branch : undefined,
202
+ });
203
+ }
204
+ if (elements.length === 0)
205
+ return null;
206
+ return { elements };
207
+ }
208
+ //# sourceMappingURL=localBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localBinding.js","sourceRoot":"","sources":["../../src/phase/localBinding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Spec 68 §3.2 — the per-file `loop-queries` producer.
3
+ *
4
+ * Re-homes the "find loops whose body issues a DB call" half of
5
+ * `UniversalDataAccessAnalyzer.checkLoopQueries` as a pure per-file processor.
6
+ * The analyzer did two jobs: collect the loop→query candidates and derive
7
+ * violations from them. The producer keeps only the collection — the candidates
8
+ * the `loop-query` rule reads. The analyzer's `extractLoopQueries` export is the
9
+ * synchronous extraction, run on {@link DEFAULT_DATA_ACCESS_CONFIG} (config is
10
+ * the §10 tuning surface and is not available to a `process(file)` call).
11
+ *
12
+ * `LoopQueryCandidate` is structurally identical to the `LoopQueryFact` fact, so
13
+ * the mapping is the identity — this module owns only the `AstFile` → fact
14
+ * unwrapping, and the fact shape is pinned in `phase/types.ts`.
15
+ */
16
+ import type { AstFile, LoopQueryFact } from './types.js';
17
+ /** Extract the per-file loop-query candidates from one parsed file.
18
+ *
19
+ * Spec 69 §10 S5a — mirror `dataAccessCalls.ts`: when the legacy pipeline's
20
+ * cross-file resolution pre-pass seeded this file's provenanced identifiers
21
+ * (`file.receiverProvenance`), thread them as the extraction's provenance seed.
22
+ * Without it, a `const db = getDB()` whose `getDB` is declared in another file
23
+ * reads as unprovenanced and the loop-query rule under-fires on exactly the
24
+ * same shape the data-access rules fire on. Absent a seed (slice tests), the
25
+ * extraction runs on the default config exactly as before.
26
+ *
27
+ * @param file the parsed file to extract loop-query candidates from
28
+ * @returns the file's loop-query candidates
29
+ */
30
+ export declare function extractLoopQueries(file: AstFile): LoopQueryFact[];
31
+ //# sourceMappingURL=loopQueries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopQueries.d.ts","sourceRoot":"","sources":["../../src/phase/loopQueries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,CAajE"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Spec 68 §3.2 — the per-file `loop-queries` producer.
3
+ *
4
+ * Re-homes the "find loops whose body issues a DB call" half of
5
+ * `UniversalDataAccessAnalyzer.checkLoopQueries` as a pure per-file processor.
6
+ * The analyzer did two jobs: collect the loop→query candidates and derive
7
+ * violations from them. The producer keeps only the collection — the candidates
8
+ * the `loop-query` rule reads. The analyzer's `extractLoopQueries` export is the
9
+ * synchronous extraction, run on {@link DEFAULT_DATA_ACCESS_CONFIG} (config is
10
+ * the §10 tuning surface and is not available to a `process(file)` call).
11
+ *
12
+ * `LoopQueryCandidate` is structurally identical to the `LoopQueryFact` fact, so
13
+ * the mapping is the identity — this module owns only the `AstFile` → fact
14
+ * unwrapping, and the fact shape is pinned in `phase/types.ts`.
15
+ */
16
+ import { extractLoopQueries as extractAnalyzerLoopQueries, } from '../analyzers/universal/UniversalDataAccessAnalyzer.js';
17
+ /** Extract the per-file loop-query candidates from one parsed file.
18
+ *
19
+ * Spec 69 §10 S5a — mirror `dataAccessCalls.ts`: when the legacy pipeline's
20
+ * cross-file resolution pre-pass seeded this file's provenanced identifiers
21
+ * (`file.receiverProvenance`), thread them as the extraction's provenance seed.
22
+ * Without it, a `const db = getDB()` whose `getDB` is declared in another file
23
+ * reads as unprovenanced and the loop-query rule under-fires on exactly the
24
+ * same shape the data-access rules fire on. Absent a seed (slice tests), the
25
+ * extraction runs on the default config exactly as before.
26
+ *
27
+ * @param file the parsed file to extract loop-query candidates from
28
+ * @returns the file's loop-query candidates
29
+ */
30
+ export function extractLoopQueries(file) {
31
+ const seed = file.receiverProvenance;
32
+ // Spec 70 R1 — thread the corpus dialect (when the runner named one) so the
33
+ // producer's SQL-content facts parse; absent a dialect they `cannot-fire`.
34
+ // Without this, R3's sql-argument handle inference is skipped and a helper
35
+ // whose body queries via a SQL literal (`fetchUser` → `db.prepare(\`SELECT…\`)`)
36
+ // is not learned as a DB wrapper, so `fetchUser(db, id)` inside a loop under-fires
37
+ // on exactly the shape the data-access-calls producer fires on.
38
+ const dialect = file.sqlDialect ?? null;
39
+ const config = (seed || dialect)
40
+ ? { _receiverProvenance: seed, dialect }
41
+ : undefined;
42
+ return extractAnalyzerLoopQueries(file.ast, file.adapter, file.source, config);
43
+ }
44
+ //# sourceMappingURL=loopQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopQueries.js","sourceRoot":"","sources":["../../src/phase/loopQueries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,kBAAkB,IAAI,0BAA0B,GAEjD,MAAM,uDAAuD,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACrC,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,iFAAiF;IACjF,mFAAmF;IACnF,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC;QAC9B,CAAC,CAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAA0C;QACjF,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Spec 70 Item 4 (step 3) — the per-file `loop-query-candidates` producer.
3
+ *
4
+ * The extract half of the corpus `loop-queries` reduction. The legacy
5
+ * `loop-queries` producer did two jobs: find every in-loop DB call (via
6
+ * `collectLoopQueryCandidates`) and fold the provenance-dependent half — the
7
+ * strict-handle filter (`isDbCallNode`'s `identifyHandle`), the per-loop dedup,
8
+ * and the stable symbol — over the cross-file `dbProvenanced` seed. The collapse
9
+ * splits them: this producer runs only the provenance-free half — the broadened
10
+ * discovery and every provenance-free discriminator (statement-construction,
11
+ * for-of-iterable, hoisted-reuse, batch-argument, LLM/queue suppression) — while
12
+ * the AST lives, projecting the handle identity so the corpus producer re-folds
13
+ * the strict-handle filter once the `receiver-provenance` fixed point supplies the
14
+ * seed. No dedup and no symbol happen here: both depend on the re-folded handle
15
+ * set. The producer runs on the empty-provenance scan (the analyzer's
16
+ * `buildCandidateScan`).
17
+ */
18
+ import type { AstFile, LoopQueryRawCandidate } from './types.js';
19
+ /** Extract one file's raw, provenance-free loop-query candidates.
20
+ *
21
+ * @param file the parsed file to project loop-query candidates from
22
+ * @returns the file's `LoopQueryRawCandidate[]` (no raw-side dedup or symbol —
23
+ * the corpus producer re-folds both after re-folding the handle verdict)
24
+ */
25
+ export declare function extractLoopQueryRawCandidates(file: AstFile): LoopQueryRawCandidate[];
26
+ //# sourceMappingURL=loopQueryCandidates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopQueryCandidates.d.ts","sourceRoot":"","sources":["../../src/phase/loopQueryCandidates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGjE;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,qBAAqB,EAAE,CAEpF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Spec 70 Item 4 (step 3) — the per-file `loop-query-candidates` producer.
3
+ *
4
+ * The extract half of the corpus `loop-queries` reduction. The legacy
5
+ * `loop-queries` producer did two jobs: find every in-loop DB call (via
6
+ * `collectLoopQueryCandidates`) and fold the provenance-dependent half — the
7
+ * strict-handle filter (`isDbCallNode`'s `identifyHandle`), the per-loop dedup,
8
+ * and the stable symbol — over the cross-file `dbProvenanced` seed. The collapse
9
+ * splits them: this producer runs only the provenance-free half — the broadened
10
+ * discovery and every provenance-free discriminator (statement-construction,
11
+ * for-of-iterable, hoisted-reuse, batch-argument, LLM/queue suppression) — while
12
+ * the AST lives, projecting the handle identity so the corpus producer re-folds
13
+ * the strict-handle filter once the `receiver-provenance` fixed point supplies the
14
+ * seed. No dedup and no symbol happen here: both depend on the re-folded handle
15
+ * set. The producer runs on the empty-provenance scan (the analyzer's
16
+ * `buildCandidateScan`).
17
+ */
18
+ import { extractLoopQueryRawCandidates as extractAnalyzerCandidates } from '../analyzers/universal/UniversalDataAccessAnalyzer.js';
19
+ /** Extract one file's raw, provenance-free loop-query candidates.
20
+ *
21
+ * @param file the parsed file to project loop-query candidates from
22
+ * @returns the file's `LoopQueryRawCandidate[]` (no raw-side dedup or symbol —
23
+ * the corpus producer re-folds both after re-folding the handle verdict)
24
+ */
25
+ export function extractLoopQueryRawCandidates(file) {
26
+ return extractAnalyzerCandidates(file.ast, file.adapter, file.source);
27
+ }
28
+ //# sourceMappingURL=loopQueryCandidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopQueryCandidates.js","sourceRoot":"","sources":["../../src/phase/loopQueryCandidates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,6BAA6B,IAAI,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAEnI;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAa;IACzD,OAAO,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Spec 69 R1 — the completeness oracles a file processor declares.
3
+ *
4
+ * Each oracle is one of two arms: a `counted` count of the fragments a file
5
+ * *should* yield (a cheap, independent upper bound computed from the same input,
6
+ * written for that processor), or an explicit `none` with the reason no statable
7
+ * oracle exists. `none` is not an exemption — it is the report that closes the
8
+ * silent-unprovable failure mode: the run enumerates it, named, with its reason.
9
+ *
10
+ * The counts here are deliberately dumber than the producer they shadow. A
11
+ * producer runs the full extraction (metrics, classification, dedup); the oracle
12
+ * counts raw tree nodes off the same tree. The gap — a producer emitting fewer
13
+ * than the oracle expects — is the *residual* the aggregate gate pins (§69 R1,
14
+ * criterion 4). An oracle is an upper bound, not a promise of equality: e.g.
15
+ * `countFileSymbols` counts `method_definition` nodes, which the file-symbols
16
+ * producer folds into their class symbol rather than emitting, so a class with
17
+ * methods has a positive residual by design. The baseline records what each
18
+ * number is composed of, so a residual of mostly-non-candidates is not later
19
+ * read as missing input.
20
+ *
21
+ * The `measured` half is the same unit counted *inside* the emitted fragments.
22
+ * For a per-fragment producer both count and measured count fragments; for an
23
+ * aggregate producer (one fragment per file) `count` still counts the units, so
24
+ * `measured` must read them from the fragment's payload — comparing a unit count
25
+ * against `fragments.length` would be a meaningless 1-against-1.
26
+ */
27
+ import type { CompletenessOracle, OracleShortfall, ParsedFile } from './types.js';
28
+ /** A counted oracle: `count` returns the units one file should yield; `measured`
29
+ * reads the same unit back out of the emitted fragments.
30
+ *
31
+ * @param count The expected-unit counter, computed from the same input the
32
+ * processor walks.
33
+ * @param measured Reads the same unit back out of the emitted fragments; defaults
34
+ * to the fragment-array length for one-fragment-per-unit producers.
35
+ * @returns A counted completeness oracle pairing the two.
36
+ */
37
+ export declare function countOracle(count: (file: ParsedFile) => number, measured?: (fragments: readonly unknown[]) => number): CompletenessOracle;
38
+ /** A no-oracle: there is no statable count, and here is why. */
39
+ export declare function noOracle(reason: string): CompletenessOracle;
40
+ /**
41
+ * Compare a `counted` oracle against what its processor actually emitted for one
42
+ * file. Returns the shortfall record when the emitted count fell below the
43
+ * expected count, else `null`. The actual count is read through the oracle's own
44
+ * `measured` so aggregate producers compare the unit inside their single
45
+ * fragment, not the fragment array length. A `none` oracle never produces a
46
+ * shortfall — its absence is enumerated by `noOracleProcessors`, not measured
47
+ * here.
48
+ *
49
+ * @param oracle The completeness oracle to compare against (only `counted` ones).
50
+ * @param file The parsed file whose emission is being checked.
51
+ * @param fragments The fragments the file's processor actually emitted.
52
+ * @param processorId The id of the processor being checked, recorded on a shortfall.
53
+ * @returns A shortfall record when the emitted count fell below the expected
54
+ * count, otherwise `null`.
55
+ */
56
+ export declare function oracleShortfall(oracle: CompletenessOracle, file: ParsedFile, fragments: readonly unknown[], processorId: string): OracleShortfall | null;
57
+ /** file-symbols — count function-like, class, and interface declaration nodes
58
+ * off the tree. An upper bound: a method is a function-like node that rides on
59
+ * its class symbol, so a class with methods emits fewer symbols than the node
60
+ * count.
61
+ *
62
+ * @param file The parsed file to count over.
63
+ * @returns The number of function-like, class, and interface declaration nodes.
64
+ */
65
+ export declare function countFileSymbols(file: ParsedFile): number;
66
+ /** imports (TS/JS) — count `import_statement` nodes off the tree.
67
+ *
68
+ * @param file The parsed file to count over.
69
+ * @returns The number of `import_statement` nodes.
70
+ */
71
+ export declare function countImports(file: ParsedFile): number;
72
+ /** export-form (TS/JS) — count `export_statement` nodes off the tree.
73
+ *
74
+ * @param file The parsed file to count over.
75
+ * @returns The number of `export_statement` nodes.
76
+ */
77
+ export declare function countExportForm(file: ParsedFile): number;
78
+ /** export-symbols — count the exported names the producer emits, mirroring
79
+ * `collectExports` (one fragment per named / default / star-reexported name).
80
+ * A raw `export_statement` count is neither an upper nor a lower bound here: it
81
+ * under-counts multi-name `export { a, b, c }` (one statement, three names) and
82
+ * over-counts the empty `export {}` (one statement, zero names). So this counts
83
+ * the same units the producer does: named `export_specifier`s carrying a leading
84
+ * identifier, one declaration-wrapped name, one default identifier, and the
85
+ * `export * from '…'` star re-export.
86
+ *
87
+ * @param file The parsed file to count over.
88
+ * @returns The number of exported names `collectExports` would emit.
89
+ */
90
+ export declare function countExportSymbols(file: ParsedFile): number;
91
+ /** function-index — count `function_declaration` + `arrow_function` nodes. A
92
+ * function declaration is emitted one-to-one; an arrow is emitted only when
93
+ * bound to a `variable_declarator`, so a bare callback arrow is a residual by
94
+ * design (the producer legitimately skips it). Class components and
95
+ * `memo`/`forwardRef` wrappers that are not a function/arrow are under-counted
96
+ * (a safe bound, never a false shortfall). */
97
+ export declare const countFunctionIndex: (file: ParsedFile) => number;
98
+ /** string-literals — count `string` + `template_string` nodes; the producer
99
+ * emits one literal per node, so this is exact, not merely an upper bound. */
100
+ export declare const countStringLiterals: (file: ParsedFile) => number;
101
+ /** cross-language-entities — count the entity-declaring node types the
102
+ * cross-language extractor projects: TS/JS function/method/arrow/interface, and
103
+ * Go function + type_spec. Go test files are NOT exempted here (the
104
+ * cross-language entity extractor does not skip them). */
105
+ export declare const countCrossLanguageEntities: (file: ParsedFile) => number;
106
+ /** code-block — count the block nodes (functions, classes, control-flow) plus the
107
+ * fragment nodes (object literals, call expressions) the DRY extractor projects.
108
+ * Methods are emitted through both the function walk and the class walk, so the
109
+ * single node count under-counts them (safe); object literals outside a
110
+ * declarator/assignment value are a residual. */
111
+ export declare const countCodeBlocks: (file: ParsedFile) => number;
112
+ /** file-imports — count the static import nodes (`import_statement` for TS/JS,
113
+ * `import_spec` for Go). The producer's `imports` array is a deduped set, so
114
+ * duplicate specifiers are a residual; re-exports and dynamic `import()` are
115
+ * under-counted (safe). */
116
+ export declare const countFileImports: (file: ParsedFile) => number;
117
+ /** react-component — count `jsx_element` + `jsx_self_closing_element` nodes off
118
+ * the tree; the measured side sums each component's `jsxElementDetails` (one per
119
+ * JSX element occurrence, nested included), so the residual is JSX that sits
120
+ * outside a component. */
121
+ export declare const countJsxElements: (file: ParsedFile) => number;
122
+ /** batch-functions — count the function node types the batch walk recognizes; a
123
+ * function whose span holds no `.batch(`/`.transaction(` is a residual. */
124
+ export declare const countBatchFunctions: (file: ParsedFile) => number;
125
+ /** imports (Go) — count `import_spec` nodes, exempting `*_test.go`. */
126
+ export declare const countGoImports: (file: ParsedFile) => number;
127
+ /** go-functions — count Go `function_declaration` + `method_declaration` nodes,
128
+ * exempting `*_test.go`. */
129
+ export declare const countGoFunctions: (file: ParsedFile) => number;
130
+ /** go-switches — count Go switch statements, exempting `*_test.go`. */
131
+ export declare const countGoSwitches: (file: ParsedFile) => number;
132
+ /** type-declarations — count Go `type_spec` nodes (one per declared struct /
133
+ * interface), exempting `*_test.go`. */
134
+ export declare const countTypeDeclarations: (file: ParsedFile) => number;
135
+ /** go-package-bindings — count the *pre-dedup* package-scope binding
136
+ * declarations: top-level `function_declaration`/`method_declaration` with a
137
+ * name, plus the named `type_spec`/`var_spec` children of a top-level
138
+ * `type_declaration`/`var_declaration`. This is the number of bindings
139
+ * `buildGoFileBindings` emits *before* its first-wins dedup — which is a no-op
140
+ * within a single valid Go file (package-scope names are unique per file), so it
141
+ * bounds the deduped `bindings.length` exactly. A raw node-type count would
142
+ * over-count (a `type_spec`/`var_spec` may nest inside a function body), so this
143
+ * walks the root's named children exactly as the producer does. Exempts
144
+ * `*_test.go`.
145
+ * @param file - The parsed file to count package-scope bindings for.
146
+ * @returns The number of package-scope bindings `buildGoFileBindings` would emit. */
147
+ export declare function countGoPackageBindings(file: ParsedFile): number;
148
+ export declare function countSchemaObjects(file: ParsedFile): number;
149
+ export declare function countDdlOps(file: ParsedFile): number;
150
+ /** style-declarations (css/scss) — count `declaration` nodes off the CSS AST.
151
+ * An upper bound, not exact: the producer projects only declarations inside a
152
+ * `rule_set` (skipping `@keyframes`/`@font-face`/`@page` declarations) and may
153
+ * expand a shorthand into several, so a declaration outside a rule_set is a
154
+ * positive residual.
155
+ *
156
+ * @param file The parsed file to count over.
157
+ * @returns The number of `declaration` nodes off the CSS AST.
158
+ */
159
+ export declare function countCssDeclarations(file: ParsedFile): number;
160
+ /** secret-candidates — count `string` + `template_string` nodes. Every candidate
161
+ * (a declarator / assignment / pair / call that carries a string in a
162
+ * credential position) holds ≥1 string literal, so the string-node count
163
+ * upper-bounds the candidate count. Residual = string literals outside a
164
+ * credential position (the majority of a file's strings). */
165
+ export declare const countSecretCandidates: (file: ParsedFile) => number;
166
+ /** security-candidates — count `call_expression` + `template_string` nodes.
167
+ * Every candidate is either a call (command-injection / dynamic-require) or a
168
+ * sink-reaching template (unescaped-html), so this upper-bounds the candidate
169
+ * count. Residual = the large majority of calls/templates that are not
170
+ * security-relevant. */
171
+ export declare const countSecurityCandidates: (file: ParsedFile) => number;
172
+ /** data-access-calls — count `call_expression` + `template_string` nodes. Every
173
+ * resolved DB call is a call (or a tagged-template call), so this upper-bounds
174
+ * the resolved-call count. Residual = non-DB calls/templates (the bulk of a
175
+ * file's call sites). */
176
+ export declare const countDataAccessCalls: (file: ParsedFile) => number;
177
+ /** loop-queries — count loop nodes. The producer emits one candidate per loop
178
+ * whose body issues a DB call; this counts every loop. Residual = loops whose
179
+ * body holds no DB call. */
180
+ export declare const countLoopQueries: (file: ParsedFile) => number;
181
+ export declare function countDynamicSql(file: ParsedFile): number;
182
+ export declare function countQuerySites(file: ParsedFile): number;
183
+ /** schema-usage — count `call_expression` + `string` + `template_string` nodes.
184
+ * Every table reference is carried in a string literal, a tagged template, or a
185
+ * call, so this upper-bounds the reference count. Residual = strings/calls/
186
+ * templates that name no table reference (the bulk of the file). */
187
+ export declare const countSchemaUsage: (file: ParsedFile) => number;
188
+ /** ddl-declarations — the DDL op count inside the (single) declaration fragment. */
189
+ export declare function measuredDdlOps(fragments: readonly unknown[]): number;
190
+ /** style-declarations css/scss — the declaration count inside the fragment. */
191
+ export declare function measuredStyleDeclarations(fragments: readonly unknown[]): number;
192
+ /** react-component — the JSX element count across the file's components.
193
+ *
194
+ * @param fragments The emitted react-component fragments for one file.
195
+ * @returns The total JSX element count summed across every component.
196
+ */
197
+ export declare function measuredJsxElements(fragments: readonly unknown[]): number;
198
+ /** file-imports — the import specifier count inside the fragment. */
199
+ export declare function measuredFileImports(fragments: readonly unknown[]): number;
200
+ /** go-package-bindings — the package-scope binding count inside the (single)
201
+ * fragment. */
202
+ export declare function measuredGoPackageBindings(fragments: readonly unknown[]): number;
203
+ /** query-site-candidates — the located-site count across the file's candidate
204
+ * fragments. The producer emits one fragment per TS-family file carrying the
205
+ * `sites` array, so this sums the site count inside it (the same unit
206
+ * `countQuerySites` upper-bounds), not the fragment count. */
207
+ export declare function measuredQuerySites(fragments: readonly unknown[]): number;
208
+ /** schema-usage-candidates — the candidate count across the file's candidate
209
+ * fragments. One fragment per TS-family file carries the five candidate arrays
210
+ * (`ormRefs`, `queryBuilderRefs`, `collectionAdapterRefs`, `tagged`, `dbCalls`);
211
+ * this sums their lengths (the unit `countSchemaUsage` upper-bounds), not the
212
+ * fragment count.
213
+ * @param fragments - The schema-usage-candidates fragments to sum candidate counts across.
214
+ * @returns The total candidate count across all fragments. */
215
+ export declare function measuredSchemaUsageCandidates(fragments: readonly unknown[]): number;
216
+ //# sourceMappingURL=oracles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracles.d.ts","sourceRoot":"","sources":["../../src/phase/oracles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAEV,kBAAkB,EAElB,eAAe,EACf,UAAU,EAOX,MAAM,YAAY,CAAC;AAOpB;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,EACnC,QAAQ,GAAE,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,KAAK,MAAgC,GAC5E,kBAAkB,CAEpB;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAE3D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,OAAO,EAAE,EAC7B,WAAW,EAAE,MAAM,GAClB,eAAe,GAAG,IAAI,CAKxB;AA0BD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAKrD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAKxD;AAsCD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAyC3D;AAED;;;;;+CAK+C;AAC/C,eAAO,MAAM,kBAAkB,SA/J2B,UAAU,KAAK,MA+JmB,CAAC;AAE7F;+EAC+E;AAC/E,eAAO,MAAM,mBAAmB,SAnK0B,UAAU,KAAK,MAmKO,CAAC;AAEjF;;;2DAG2D;AAC3D,eAAO,MAAM,0BAA0B,SAzKmB,UAAU,KAAK,MA+KvE,CAAC;AAEH;;;;kDAIkD;AAClD,eAAO,MAAM,eAAe,SAtL8B,UAAU,KAAK,MAuMvE,CAAC;AAEH;;;4BAG4B;AAC5B,eAAO,MAAM,gBAAgB,SA7M6B,UAAU,KAAK,MA6MU,CAAC;AAEpF;;;2BAG2B;AAC3B,eAAO,MAAM,gBAAgB,SAnN6B,UAAU,KAAK,MAmNkB,CAAC;AAE5F;4EAC4E;AAC5E,eAAO,MAAM,mBAAmB,SAvN0B,UAAU,KAAK,MA8NvE,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,cAAc,SApN4B,UAAU,KAAK,MAoNZ,CAAC;AAE3D;6BAC6B;AAC7B,eAAO,MAAM,gBAAgB,SAxN0B,UAAU,KAAK,MAwNqB,CAAC;AAE5F,uEAAuE;AACvE,eAAO,MAAM,eAAe,SA3N2B,UAAU,KAAK,MA2N8B,CAAC;AAErG;yCACyC;AACzC,eAAO,MAAM,qBAAqB,SA/NqB,UAAU,KAAK,MA+NP,CAAC;AAEhE;;;;;;;;;;;qFAWqF;AACrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAyB/D;AAYD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE3D;AAiBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAK7D;AAYD;;;;8DAI8D;AAC9D,eAAO,MAAM,qBAAqB,SArVwB,UAAU,KAAK,MAqVS,CAAC;AAEnF;;;;yBAIyB;AACzB,eAAO,MAAM,uBAAuB,SA5VsB,UAAU,KAAK,MA4VoB,CAAC;AAE9F;;;0BAG0B;AAC1B,eAAO,MAAM,oBAAoB,SAlWyB,UAAU,KAAK,MAkWiB,CAAC;AAE3F;;6BAE6B;AAC7B,eAAO,MAAM,gBAAgB,SAvW6B,UAAU,KAAK,MA4WvE,CAAC;AASH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAExD;AAWD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAGxD;AAED;;;qEAGqE;AACrE,eAAO,MAAM,gBAAgB,SA3Y6B,UAAU,KAAK,MA2YuB,CAAC;AAQjG,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAEpE;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAKzE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAEzE;AAED;gBACgB;AAChB,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAE/E;AAED;;;+DAG+D;AAC/D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAExE;AAED;;;;;;8DAM8D;AAC9D,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAWnF"}