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,799 @@
1
+ /**
2
+ * Go receiver resolution — Spec 69 §10 S5e (#369).
3
+ *
4
+ * The Go half of the three-way receiver disposition. It answers the same
5
+ * question the TypeScript processor (`analyzers/receiverRoot.ts`) answers —
6
+ * "does this identifier resolve to a DB handle, a definitively non-DB value, or
7
+ * something undetermined?" — using Go's own declaration grammar:
8
+ *
9
+ * • `parameter_declaration` — `db *sql.DB` (function params AND method
10
+ * receivers; both are parameter_declarations).
11
+ * • `var_spec` — package-level `var db *sql.DB`.
12
+ * • `short_var_declaration` — `db, err := sql.Open(...)` / `c := New()`.
13
+ * • `field_declaration` — struct field `db *sql.DB`.
14
+ * • `function_declaration` / `method_declaration` — the return-type half of
15
+ * form-5: `func New() *Engine` resolves a
16
+ * `router := New()` receiver to not-a-handle.
17
+ *
18
+ * The ecosystem list lives HERE with the Go adapter — not in a shared constant
19
+ * and not in the TypeScript implementation's `DB_PACKAGES` (tsEcosystem.ts,
20
+ * which is npm/TypeScript only). A
21
+ * name is a *handle* because it resolved to the `database/sql` package (the
22
+ * parsed SQL argument proves the handle, not the type name), never because it
23
+ * *looks* like `db`; a name is
24
+ * *not-a-handle* because it resolved to a local type/primitive or an ambient
25
+ * global, never because it is on a list. A name that resolved to an
26
+ * *unrecognized* package (a non-`database/sql` import such as `gin`, `net/http`,
27
+ * `testing`) is `unproven` — Spec 70 R4 reports `cannot-fire` for a package the
28
+ * manifest does not recognize, rather than guessing it is not a DB client.
29
+ *
30
+ * The functions here are pure and parser-agnostic at their boundary: they take
31
+ * the already-parsed `AST` + adapter, so the analyzer layer (`receiverResolution.ts`)
32
+ * dispatches to them the same way it dispatches to the TypeScript processor.
33
+ */
34
+ import { getRawNode } from '../tree-sitter/rawNode.js';
35
+ import databasePackages from './database-packages.json' with { type: 'json' };
36
+ import stdlibPackages from './stdlib-packages.json' with { type: 'json' };
37
+ /**
38
+ * Package paths whose types are DB handles. Go-only, stdlib-first.
39
+ *
40
+ * Spec 70 R4 / criterion 10: loaded from the per-ecosystem manifest
41
+ * (`src/languages/go/database-packages.json`, beside the format adapter), a
42
+ * declarative data file holding import paths only. An unlisted package reached
43
+ * by resolution reports `cannot-fire` (see `classifyGoRootIdentifier` /
44
+ * `classifyGoTypeText`), never a guessed `not-handle`.
45
+ */
46
+ export const GO_DB_PACKAGES = new Set(databasePackages);
47
+ /**
48
+ * Go standard-library import paths — the authoritative `go list std` snapshot
49
+ * (committed from `scripts/generate-go-stdlib.mjs`, not hand-edited). A receiver
50
+ * whose import path resolves to a stdlib package (`fmt`, `strings`, `net/http`,
51
+ * `reflect`, …) is `not-handle` — it cannot be a database client. This is the
52
+ * package discriminant's `not-handle` half for Go, replacing the deleted method-
53
+ * name surface: the *package* a receiver resolves to proves it is not a DB handle,
54
+ * never the method name (criterion: the method name cannot discriminate).
55
+ */
56
+ export const GO_STDLIB_PACKAGES = new Set(stdlibPackages);
57
+ /** Unqualified builtin types that are definitively not a DB handle. */
58
+ const GO_NON_HANDLE_TYPES = new Set([
59
+ 'bool',
60
+ 'byte',
61
+ 'complex64',
62
+ 'complex128',
63
+ 'error',
64
+ 'float32',
65
+ 'float64',
66
+ 'int',
67
+ 'int8',
68
+ 'int16',
69
+ 'int32',
70
+ 'int64',
71
+ 'rune',
72
+ 'string',
73
+ 'uint',
74
+ 'uint8',
75
+ 'uint16',
76
+ 'uint32',
77
+ 'uint64',
78
+ 'uintptr',
79
+ 'any',
80
+ 'nil',
81
+ ]);
82
+ /**
83
+ * Project a live tree-sitter value node onto a {@link GoValueDescriptor}. Bounded
84
+ * to `depth` named-field hops — `classifyGoValue` reads at most `call_expression
85
+ * → function → operand` (two hops), so depth 4 is more than sufficient while
86
+ * guarding against pathological nesting.
87
+ */
88
+ function describeGoValue(raw, depth = 4) {
89
+ // tree-sitter-go wraps even a single `const`/`var` value in an
90
+ // `expression_list` (`const x = `…`` → the `value` field is `expression_list`
91
+ // whose only named child is the `raw_string_literal`). Unwrap a one-element
92
+ // list so the descriptor carries the literal/expression itself, not the wrapper.
93
+ if (raw.type === 'expression_list') {
94
+ const children = raw.namedChildren ?? [];
95
+ if (children.length === 1)
96
+ return describeGoValue(children[0], depth - 1);
97
+ }
98
+ const child = (field) => {
99
+ if (depth <= 0)
100
+ return null;
101
+ const c = raw.childForFieldName(field);
102
+ return c ? describeGoValue(c, depth - 1) : null;
103
+ };
104
+ return {
105
+ type: raw.type,
106
+ text: raw.text ?? '',
107
+ function: child('function'),
108
+ operand: child('operand'),
109
+ typeNode: child('type'),
110
+ };
111
+ }
112
+ // ── Import resolution ────────────────────────────────────────────────────────
113
+ /** The package name for an import path when no explicit alias is present. */
114
+ function defaultPackageName(source) {
115
+ const parts = source.split('/');
116
+ return parts[parts.length - 1] || source;
117
+ }
118
+ /** Strip surrounding quotes from a Go string-literal node text. */
119
+ function unquote(text) {
120
+ if (text.length >= 2 && (text[0] === '"' || text[0] === '`')) {
121
+ return text.slice(1, -1);
122
+ }
123
+ return text;
124
+ }
125
+ /**
126
+ * Build the package-name → import-path map for one Go file.
127
+ *
128
+ * Handles both `import "database/sql"` (single) and the parenthesized
129
+ * `import ( "database/sql"; alias "fmt" )` form — the latter is the shape
130
+ * `adapter.extractImports` misses (its `import_declaration` iteration only
131
+ * sees the `import_spec_list` wrapper, not the `import_spec` children). Dot and
132
+ * blank imports (`. "x"`, `_ "x"`) are skipped: they contribute no package name.
133
+ *
134
+ * @param ast the parsed Go file AST
135
+ * @param adapter the language adapter used to find `import_spec` nodes
136
+ * @returns the package-name → import-path map for this file
137
+ */
138
+ export function buildGoImportMap(ast, adapter) {
139
+ const imports = new Map();
140
+ const specs = adapter.findNodes(ast, { custom: (n) => n.type === 'import_spec' });
141
+ for (const spec of specs) {
142
+ const raw = getRawNode(spec);
143
+ const pathNode = raw.childForFieldName('path');
144
+ if (!pathNode)
145
+ continue;
146
+ const source = unquote(pathNode.text);
147
+ if (!source)
148
+ continue;
149
+ const nameNode = raw.childForFieldName('name');
150
+ let pkgName;
151
+ if (!nameNode) {
152
+ pkgName = defaultPackageName(source);
153
+ }
154
+ else if (nameNode.type === 'package_identifier' || nameNode.type === 'identifier') {
155
+ pkgName = nameNode.text;
156
+ }
157
+ else {
158
+ continue; // dot or blank import — no package name to resolve
159
+ }
160
+ if (pkgName)
161
+ imports.set(pkgName, source);
162
+ }
163
+ return imports;
164
+ }
165
+ // ── Binding extraction ───────────────────────────────────────────────────────
166
+ /**
167
+ * Build the per-file binding environment: imports, parameters (incl. method
168
+ * receivers), package/local vars, short-vars, struct fields, function/method
169
+ * return types, and local type declarations.
170
+ *
171
+ * @param ast the parsed Go file AST
172
+ * @param adapter the language adapter used to walk nodes
173
+ * @param sourceCode the file source text for reading node text
174
+ * @returns the name → binding map for every name bound in the file
175
+ */
176
+ export function buildGoBindingEnv(ast, adapter, sourceCode) {
177
+ const bindings = new Map();
178
+ const imports = buildGoImportMap(ast, adapter);
179
+ for (const [pkgName, source] of imports) {
180
+ if (!bindings.has(pkgName))
181
+ bindings.set(pkgName, { kind: 'import', source });
182
+ }
183
+ const rawWalk = (node, visit) => {
184
+ visit(getRawNode(node));
185
+ for (const child of adapter.getChildren(node))
186
+ rawWalk(child, visit);
187
+ };
188
+ rawWalk(ast.root, (raw) => {
189
+ switch (raw.type) {
190
+ case 'parameter_declaration': {
191
+ const nameNode = raw.childForFieldName('name');
192
+ const typeNode = raw.childForFieldName('type');
193
+ if (nameNode && !bindings.has(nameNode.text)) {
194
+ bindings.set(nameNode.text, {
195
+ kind: 'parameter',
196
+ typeText: typeNode?.text,
197
+ });
198
+ }
199
+ break;
200
+ }
201
+ case 'var_spec': {
202
+ const nameNode = raw.childForFieldName('name');
203
+ const typeNode = raw.childForFieldName('type');
204
+ const valueNode = raw.childForFieldName('value');
205
+ if (nameNode && !bindings.has(nameNode.text)) {
206
+ bindings.set(nameNode.text, {
207
+ kind: 'variable',
208
+ typeText: typeNode?.text,
209
+ value: valueNode ? describeGoValue(valueNode) : undefined,
210
+ });
211
+ }
212
+ break;
213
+ }
214
+ case 'short_var_declaration': {
215
+ const left = raw.childForFieldName('left');
216
+ const right = raw.childForFieldName('right');
217
+ const rightExprs = right?.namedChildren ?? [];
218
+ const singleRight = rightExprs.length === 1 ? rightExprs[0] : null;
219
+ for (const id of left?.namedChildren ?? []) {
220
+ if (id.type !== 'identifier' || bindings.has(id.text))
221
+ continue;
222
+ bindings.set(id.text, {
223
+ kind: 'variable',
224
+ value: singleRight ? describeGoValue(singleRight) : undefined,
225
+ });
226
+ }
227
+ break;
228
+ }
229
+ case 'field_declaration': {
230
+ const nameNode = raw.childForFieldName('name');
231
+ const typeNode = raw.childForFieldName('type');
232
+ const valueNode = raw.childForFieldName('value');
233
+ if (nameNode && !bindings.has(nameNode.text)) {
234
+ bindings.set(nameNode.text, {
235
+ kind: 'field',
236
+ typeText: typeNode?.text,
237
+ value: valueNode ? describeGoValue(valueNode) : undefined,
238
+ });
239
+ }
240
+ break;
241
+ }
242
+ case 'type_spec': {
243
+ const nameNode = raw.childForFieldName('name');
244
+ if (nameNode && !bindings.has(nameNode.text)) {
245
+ bindings.set(nameNode.text, { kind: 'type' });
246
+ }
247
+ break;
248
+ }
249
+ case 'const_spec': {
250
+ // A package-level `const` — the sqlc-generated SQL surface: sqlc emits
251
+ // `const getAllUsers = `-- name: GetAllUsers :many\nSELECT …`` and the
252
+ // query method references it by identifier
253
+ // (`q.db.QueryContext(ctx, getAllUsers)`). The value is a literal; store
254
+ // it as a serializable descriptor so the analyzer can unquote it with
255
+ // `stripSqlQuotes` (raw strings are literal, interpreted strings un-escape).
256
+ const nameNode = raw.childForFieldName('name');
257
+ const valueNode = raw.childForFieldName('value');
258
+ if (nameNode && !bindings.has(nameNode.text)) {
259
+ bindings.set(nameNode.text, {
260
+ kind: 'const',
261
+ value: valueNode ? describeGoValue(valueNode) : undefined,
262
+ });
263
+ }
264
+ break;
265
+ }
266
+ case 'function_declaration':
267
+ case 'method_declaration': {
268
+ const nameNode = raw.childForFieldName('name');
269
+ const resultNode = raw.childForFieldName('result');
270
+ if (nameNode && !bindings.has(nameNode.text)) {
271
+ bindings.set(nameNode.text, {
272
+ kind: raw.type === 'method_declaration' ? 'method' : 'function',
273
+ returnTypeText: resultNode?.text,
274
+ });
275
+ }
276
+ break;
277
+ }
278
+ }
279
+ });
280
+ return bindings;
281
+ }
282
+ /**
283
+ * Build a *package-scope* symbol table from a set of Go files in the same
284
+ * package: top-level `function_declaration`/`method_declaration` (name + return
285
+ * type), `type_declaration` → `type_spec` (name), and `var_declaration` →
286
+ * `var_spec` (name + type + value). Local declarations (params, short-vars,
287
+ * fields inside function bodies) are deliberately excluded — those are file/scope
288
+ * local and must never bleed across files.
289
+ *
290
+ * This is the Go equivalent of the TS cross-file in-repo resolution: an
291
+ * unqualified package-level call like `New()` / `CreateTestContext()` in one
292
+ * file resolves through the symbol declared in a *sibling* file, so its return
293
+ * type (`*Engine` / `*Context`) drives the receiver disposition instead of
294
+ * `unproven`.
295
+ *
296
+ * @param files the Go files (AST + adapter) that share this package
297
+ * @returns the package-scope name → binding symbol table
298
+ */
299
+ export function buildGoPackageBindings(files) {
300
+ const bindings = new Map();
301
+ for (const { ast } of files) {
302
+ for (const [name, binding] of buildGoFileBindings(ast)) {
303
+ if (!bindings.has(name))
304
+ bindings.set(name, binding);
305
+ }
306
+ }
307
+ return bindings;
308
+ }
309
+ /**
310
+ * Extract one Go file's *package-scope* declarations — the per-file half of
311
+ * {@link buildGoPackageBindings}. Spec 70 Item 4 (2a): the phase model lifts
312
+ * this per-file extraction into the `go-package-bindings` file fact so the
313
+ * cross-file fixed point can group files by directory and merge first-wins,
314
+ * exactly as {@link buildGoPackageBindings} does, with no AST outliving its
315
+ * file. The bindings returned are `GoBinding` (already a serializable
316
+ * projection: `value` is a {@link GoValueDescriptor}, not a live node).
317
+ *
318
+ * @param ast the parsed Go file AST
319
+ * @returns this file's package-scope name → binding symbol table
320
+ */
321
+ export function buildGoFileBindings(ast) {
322
+ const bindings = new Map();
323
+ const root = getRawNode(ast.root);
324
+ for (const decl of root.namedChildren) {
325
+ switch (decl.type) {
326
+ case 'function_declaration':
327
+ case 'method_declaration': {
328
+ const nameNode = decl.childForFieldName('name');
329
+ const resultNode = decl.childForFieldName('result');
330
+ if (nameNode && !bindings.has(nameNode.text)) {
331
+ bindings.set(nameNode.text, {
332
+ kind: decl.type === 'method_declaration' ? 'method' : 'function',
333
+ returnTypeText: resultNode?.text,
334
+ });
335
+ }
336
+ break;
337
+ }
338
+ case 'type_declaration': {
339
+ for (const spec of decl.namedChildren) {
340
+ if (spec.type !== 'type_spec')
341
+ continue;
342
+ const nameNode = spec.childForFieldName('name');
343
+ if (nameNode && !bindings.has(nameNode.text)) {
344
+ bindings.set(nameNode.text, { kind: 'type' });
345
+ }
346
+ }
347
+ break;
348
+ }
349
+ case 'var_declaration': {
350
+ for (const spec of decl.namedChildren) {
351
+ if (spec.type !== 'var_spec')
352
+ continue;
353
+ const nameNode = spec.childForFieldName('name');
354
+ const typeNode = spec.childForFieldName('type');
355
+ const valueNode = spec.childForFieldName('value');
356
+ if (nameNode && !bindings.has(nameNode.text)) {
357
+ bindings.set(nameNode.text, {
358
+ kind: 'variable',
359
+ typeText: typeNode?.text,
360
+ value: valueNode ? describeGoValue(valueNode) : undefined,
361
+ });
362
+ }
363
+ }
364
+ break;
365
+ }
366
+ }
367
+ }
368
+ return bindings;
369
+ }
370
+ // ── Classification ───────────────────────────────────────────────────────────
371
+ /** Resolve a package name to its import path (or null when not imported). */
372
+ function resolvePackage(pkgName, env) {
373
+ return env.imports.get(pkgName) ?? null;
374
+ }
375
+ /**
376
+ * The first return *type* of a Go function signature text, e.g.
377
+ * `(*sql.DB, error)` → `*sql.DB`, `*Engine` → `*Engine`,
378
+ * `(c *Context, r *Engine)` → `*Context` (named results). Handles three shapes:
379
+ *
380
+ * 1. bare — `*Engine`, `error`, `map[string]*sql.DB`
381
+ * 2. parens — `(*sql.DB, error)` → strip the outer parens, take first
382
+ * 3. named — `(c *Context, r *Engine)` → drop the leading result *name*,
383
+ * keep its type
384
+ *
385
+ * Splits on top-level commas (tracking paren/bracket/brace depth) so
386
+ * `map[string]*sql.DB` and `func() error` stay whole.
387
+ */
388
+ function firstReturnType(resultText) {
389
+ let t = resultText.trim();
390
+ // Strip a single outer paren group: `(c *Context, r *Engine)` →
391
+ // `c *Context, r *Engine`, `(*sql.DB, error)` → `*sql.DB, error`.
392
+ if (t.startsWith('(') && t.endsWith(')'))
393
+ t = t.slice(1, -1).trim();
394
+ let depth = 0;
395
+ let first = '';
396
+ for (const ch of t) {
397
+ if (ch === '(' || ch === '[' || ch === '{')
398
+ depth++;
399
+ if (ch === ')' || ch === ']' || ch === '}')
400
+ depth--;
401
+ if (ch === ',' && depth === 0)
402
+ break;
403
+ first += ch;
404
+ }
405
+ first = first.trim();
406
+ // Named result: `c *Context` → the name is a plain identifier prefix, the type
407
+ // is the rest. A bare type like `*Context` / `map[K]V` / `chan int` has no
408
+ // such leading identifier, and `map`/`chan`/`func`/`struct`/`interface` are
409
+ // type keywords, never result names.
410
+ const named = first.match(/^([A-Za-z_][A-Za-z0-9_]*)\s+(.+)$/s);
411
+ if (named && !/^(map|chan|func|struct|interface)$/.test(named[1])) {
412
+ return named[2].trim();
413
+ }
414
+ return first;
415
+ }
416
+ /**
417
+ * Classify a bare Go root identifier's disposition under the file's env.
418
+ *
419
+ * @param name the bare root identifier to classify
420
+ * @param env the file's Go resolution environment (provenance, bindings, imports)
421
+ * @param depth recursion guard; classification gives up past depth 8
422
+ * @returns `handle`, `not-handle`, or `unproven`
423
+ */
424
+ export function classifyGoRootIdentifier(name, env, depth = 0) {
425
+ if (!name)
426
+ return 'unproven';
427
+ if (env.provenance.has(name))
428
+ return 'handle';
429
+ if (depth > 8)
430
+ return 'unproven';
431
+ const binding = env.bindings.get(name) ?? env.packageBindings?.get(name);
432
+ if (!binding)
433
+ return 'not-handle'; // ambient global → not-handle
434
+ switch (binding.kind) {
435
+ case 'import': {
436
+ const source = binding.source ?? '';
437
+ // A DB package proves handle; a stdlib package proves not-handle (it cannot
438
+ // be a DB client); any other package is unrecognized, not a DB client, or a
439
+ // DB client we do not list — all `unproven` (cannot-fire), never a guessed
440
+ // `not-handle` (Spec 70 R4).
441
+ return GO_DB_PACKAGES.has(source)
442
+ ? 'handle'
443
+ : GO_STDLIB_PACKAGES.has(source)
444
+ ? 'not-handle'
445
+ : 'unproven';
446
+ }
447
+ case 'variable':
448
+ case 'field':
449
+ if (binding.typeText)
450
+ return classifyGoTypeText(binding.typeText, env, depth);
451
+ if (binding.value)
452
+ return classifyGoValue(binding.value, env, depth);
453
+ return 'unproven';
454
+ case 'parameter':
455
+ if (binding.typeText)
456
+ return classifyGoTypeText(binding.typeText, env, depth);
457
+ return 'unproven';
458
+ case 'function':
459
+ case 'method':
460
+ if (binding.returnTypeText) {
461
+ return classifyGoTypeText(firstReturnType(binding.returnTypeText), env, depth + 1);
462
+ }
463
+ return 'unproven';
464
+ case 'type':
465
+ // A local type name is definitively not a DB handle (unless provenanced,
466
+ // checked above).
467
+ return 'not-handle';
468
+ case 'const':
469
+ // A `const` can only hold a compile-time literal (string/number/bool),
470
+ // never a DB handle, so it is definitively not a handle (unless provenanced,
471
+ // checked above). The sqlc SQL const reaches the parser via the SQL-argument
472
+ // source's `extractStaticSql` const resolution, not via this classifier.
473
+ return 'not-handle';
474
+ }
475
+ }
476
+ /**
477
+ * Classify a Go type text (`*sql.DB`, `sql.DB`, `*gin.Context`, `string`).
478
+ * Strips pointer/slice prefixes, then dispatches on qualified (`pkg.Type`) vs
479
+ * unqualified (`Type` / builtin).
480
+ *
481
+ * @param typeText the Go type expression to classify
482
+ * @param env the file's Go resolution environment
483
+ * @param depth recursion guard
484
+ * @returns `handle`, `not-handle`, or `unproven`
485
+ */
486
+ export function classifyGoTypeText(typeText, env, depth) {
487
+ let t = typeText.trim();
488
+ // Strip leading pointer (`*sql.DB`) and slice/array (`[]byte`, `[4]string`)
489
+ // prefixes. The slice regex is anchored to a leading `[`, so a `map[K]V` type
490
+ // (no leading `[`) is left untouched.
491
+ for (;;) {
492
+ if (t.startsWith('*')) {
493
+ t = t.slice(1).trim();
494
+ continue;
495
+ }
496
+ const slice = t.match(/^\[(\d*)\](.*)$/s);
497
+ if (slice) {
498
+ t = slice[2].trim();
499
+ continue;
500
+ }
501
+ break;
502
+ }
503
+ const dot = t.indexOf('.');
504
+ if (dot > 0 && !/[\s()\[\]{},*]/.test(t)) {
505
+ // Qualified type: `pkg.Type`. Handle-ness follows the *package* (the
506
+ // `database/sql` import path), never the type name — the parsed SQL argument
507
+ // is the handle proof; the package is the resolution fallback.
508
+ const pkgName = t.slice(0, dot);
509
+ const source = resolvePackage(pkgName, env);
510
+ if (source === null)
511
+ return 'unproven'; // package not imported → unknown
512
+ if (GO_DB_PACKAGES.has(source))
513
+ return 'handle';
514
+ if (GO_STDLIB_PACKAGES.has(source))
515
+ return 'not-handle'; // stdlib → not a DB client
516
+ return 'unproven'; // unrecognized package → cannot-fire (Spec 70 R4)
517
+ }
518
+ // Unqualified: a builtin or a local named type.
519
+ if (GO_NON_HANDLE_TYPES.has(t))
520
+ return 'not-handle';
521
+ return classifyGoRootIdentifier(t, env, depth + 1);
522
+ }
523
+ /**
524
+ * Classify a Go value expression's disposition (an initializer). A call to a
525
+ * function whose return type is known resolves through it — `c := New()` where
526
+ * `New() *Engine` is not-a-handle, `db := sql.Open(...)` is a handle.
527
+ */
528
+ function classifyGoValue(raw, env, depth) {
529
+ if (raw.type === 'identifier') {
530
+ return classifyGoRootIdentifier(raw.text, env, depth + 1);
531
+ }
532
+ if (raw.type === 'call_expression') {
533
+ const fnNode = raw.function;
534
+ if (fnNode?.type === 'identifier') {
535
+ const name = fnNode.text;
536
+ if (env.provenance.has(name))
537
+ return 'handle';
538
+ const b = env.bindings.get(name) ?? env.packageBindings?.get(name);
539
+ if (b && (b.kind === 'function' || b.kind === 'method') && b.returnTypeText) {
540
+ return classifyGoTypeText(firstReturnType(b.returnTypeText), env, depth + 1);
541
+ }
542
+ return 'unproven';
543
+ }
544
+ if (fnNode?.type === 'selector_expression') {
545
+ const operand = fnNode.operand;
546
+ const root = operand?.text ?? '';
547
+ if (root && env.provenance.has(root))
548
+ return 'handle';
549
+ const b = env.bindings.get(root);
550
+ if (b && b.kind === 'import') {
551
+ const source = b.source ?? '';
552
+ if (GO_DB_PACKAGES.has(source))
553
+ return 'handle';
554
+ if (GO_STDLIB_PACKAGES.has(source))
555
+ return 'not-handle';
556
+ return 'unproven';
557
+ }
558
+ return 'unproven';
559
+ }
560
+ return 'unproven';
561
+ }
562
+ if (raw.type === 'selector_expression') {
563
+ const operand = raw.operand;
564
+ if (operand?.type === 'identifier')
565
+ return classifyGoRootIdentifier(operand.text, env, depth + 1);
566
+ return 'unproven';
567
+ }
568
+ if (raw.type === 'unary_expression') {
569
+ // `&Context{}` / `&sql.DB{}` — classify the operand (the address-of target).
570
+ const operand = raw.operand;
571
+ if (operand) {
572
+ const opText = operand.text;
573
+ if (opText)
574
+ return classifyGoTypeText(opText, env, depth + 1);
575
+ }
576
+ return 'unproven';
577
+ }
578
+ if (raw.type === 'composite_literal') {
579
+ const typeNode = raw.typeNode;
580
+ if (typeNode?.text)
581
+ return classifyGoTypeText(typeNode.text, env, depth + 1);
582
+ return 'unproven';
583
+ }
584
+ if (raw.type === 'interpreted_string_literal' ||
585
+ raw.type === 'raw_string_literal' ||
586
+ raw.type === 'int_literal' ||
587
+ raw.type === 'float_literal' ||
588
+ raw.type === 'true' ||
589
+ raw.type === 'false' ||
590
+ raw.type === 'nil') {
591
+ return 'not-handle';
592
+ }
593
+ return 'unproven';
594
+ }
595
+ // ── Unproven reason (Go) ─────────────────────────────────────────────────────
596
+ /** The package path a qualified type text (`*ent.Client`, `sqlx.DB`) resolves to,
597
+ * when that package is imported but absent from the database-packages manifest.
598
+ * Mirrors `classifyGoTypeText`'s pointer/slice stripping + qualified-type
599
+ * package resolution, but returns the *source* instead of the disposition. */
600
+ function unrecognizedPackageInType(typeText, env) {
601
+ let t = typeText.trim();
602
+ for (;;) {
603
+ if (t.startsWith('*')) {
604
+ t = t.slice(1).trim();
605
+ continue;
606
+ }
607
+ const slice = t.match(/^\[(\d*)\](.*)$/s);
608
+ if (slice) {
609
+ t = slice[2].trim();
610
+ continue;
611
+ }
612
+ break;
613
+ }
614
+ const dot = t.indexOf('.');
615
+ if (dot > 0 && !/[\s()\[\]{},*]/.test(t)) {
616
+ const pkgName = t.slice(0, dot);
617
+ const source = resolvePackage(pkgName, env);
618
+ if (source !== null && !GO_DB_PACKAGES.has(source))
619
+ return source;
620
+ }
621
+ return null;
622
+ }
623
+ /** The package path a value/initializer descriptor resolves to when that package
624
+ * is imported but absent from the manifest (`client, _ := ent.Open(…)` → `ent` →
625
+ * `entgo.io/ent`). Mirrors `classifyGoValue`'s selector/identifier/type arms. */
626
+ function unrecognizedPackageInValue(raw, env, depth) {
627
+ if (depth > 8)
628
+ return null;
629
+ if (raw.type === 'selector_expression') {
630
+ if (raw.operand?.type === 'identifier') {
631
+ const b = env.bindings.get(raw.operand.text) ?? env.packageBindings?.get(raw.operand.text);
632
+ if (b?.kind === 'import')
633
+ return b.source && !GO_DB_PACKAGES.has(b.source) ? b.source : null;
634
+ }
635
+ return null;
636
+ }
637
+ if (raw.type === 'call_expression') {
638
+ const fn = raw.function;
639
+ if (!fn)
640
+ return null;
641
+ if (fn.type === 'identifier') {
642
+ const b = env.bindings.get(fn.text) ?? env.packageBindings?.get(fn.text);
643
+ if (b && (b.kind === 'function' || b.kind === 'method') && b.returnTypeText) {
644
+ return unrecognizedPackageInType(firstReturnType(b.returnTypeText), env);
645
+ }
646
+ return null;
647
+ }
648
+ return unrecognizedPackageInValue(fn, env, depth + 1);
649
+ }
650
+ if (raw.type === 'unary_expression' || raw.type === 'composite_literal') {
651
+ if (raw.typeNode?.text)
652
+ return unrecognizedPackageInType(raw.typeNode.text, env);
653
+ return null;
654
+ }
655
+ return null;
656
+ }
657
+ /** The package path a binding resolves to when it is imported but absent from the
658
+ * manifest — the source `describeGoUnprovenCause` names instead of a generic
659
+ * "indeterminate". Returns null when the binding does not resolve to an
660
+ * unrecognized package (no type, an unlisted-but-unimported name, etc.). */
661
+ function unrecognizedPackageOf(binding, env, depth = 0) {
662
+ if (depth > 8)
663
+ return null;
664
+ switch (binding.kind) {
665
+ case 'import':
666
+ return binding.source && !GO_DB_PACKAGES.has(binding.source) ? binding.source : null;
667
+ case 'parameter':
668
+ case 'variable':
669
+ case 'field':
670
+ if (binding.typeText)
671
+ return unrecognizedPackageInType(binding.typeText, env);
672
+ if (binding.value)
673
+ return unrecognizedPackageInValue(binding.value, env, depth + 1);
674
+ return null;
675
+ case 'function':
676
+ case 'method':
677
+ if (binding.returnTypeText) {
678
+ return unrecognizedPackageInType(firstReturnType(binding.returnTypeText), env);
679
+ }
680
+ return null;
681
+ default:
682
+ return null;
683
+ }
684
+ }
685
+ /**
686
+ * Why a Go root classified `unproven` stayed unresolved — the Go-specific reason
687
+ * behind `goResolution.resolveRoot`. Where the generic `describeUnprovenCause`
688
+ * reports a qualified type as "indeterminate", this names the package the type
689
+ * *does* resolve to when that package is absent from the database-packages
690
+ * manifest: `*ent.Client` is not indeterminate — it resolves to `entgo.io/ent`,
691
+ * which the manifest simply does not list (Spec 70 R4 — an unrecognized package
692
+ * reached by resolution is an honest unknown, not a guessed clean).
693
+ *
694
+ * @param root the receiver's base identifier being described.
695
+ * @param env the file's Go resolution environment (provenance, bindings, imports).
696
+ * @returns a human-readable reason the root stayed `unproven`.
697
+ */
698
+ export function describeGoUnprovenCause(root, env) {
699
+ if (env.provenance.has(root))
700
+ return 'resolved to a DB handle (misclassified)';
701
+ const binding = env.bindings.get(root) ?? env.packageBindings?.get(root);
702
+ if (!binding)
703
+ return 'has no binding in the file scope chain';
704
+ const pkg = unrecognizedPackageOf(binding, env);
705
+ if (pkg) {
706
+ return `resolves to \`${pkg}\` — an unrecognized package (not in the database-packages manifest)`;
707
+ }
708
+ switch (binding.kind) {
709
+ case 'import':
710
+ return `imports from '${binding.source ?? '?'}' — an unrecognized package (not in the database-packages manifest)`;
711
+ case 'parameter':
712
+ return binding.typeText ? `parameter type \`${binding.typeText}\` is indeterminate` : 'is an un-annotated parameter';
713
+ case 'variable':
714
+ if (binding.typeText)
715
+ return `declared type \`${binding.typeText}\` is indeterminate`;
716
+ return binding.value ? 'is an un-annotated factory return' : 'is an un-annotated declaration';
717
+ case 'field':
718
+ if (binding.typeText)
719
+ return `field type \`${binding.typeText}\` is indeterminate`;
720
+ return binding.value ? 'is an un-annotated field initializer' : 'is an un-annotated struct field';
721
+ case 'function':
722
+ case 'method':
723
+ return 'is a function reference without a DB return type';
724
+ case 'type':
725
+ return 'is a local type name';
726
+ default:
727
+ return 'is indeterminate';
728
+ }
729
+ }
730
+ // ── Within-file provenance ───────────────────────────────────────────────────
731
+ /**
732
+ * The Go within-file provenance: seed DB package names (`sql` for
733
+ * `database/sql`) plus every binding whose type/value resolves to a DB handle.
734
+ * `packageBindings` (optional) carries package-scope declarations from *other*
735
+ * files in the same package, so `router := New()` resolves `New`'s return type
736
+ * (`*Engine` → not-a-handle) instead of falling back to `unproven`.
737
+ *
738
+ * @param ast the parsed Go file AST
739
+ * @param adapter the language adapter used to walk nodes
740
+ * @param sourceCode the file source text for reading node text
741
+ * @param packageBindings package-scope declarations from sibling files (optional)
742
+ * @returns the name → provenance-evidence map of DB handles resolved in this file
743
+ */
744
+ export function buildGoWithinFileProvenance(ast, adapter, sourceCode, packageBindings) {
745
+ const imports = buildGoImportMap(ast, adapter);
746
+ const bindings = buildGoBindingEnv(ast, adapter, sourceCode);
747
+ return classifyGoBindings(imports, bindings, packageBindings);
748
+ }
749
+ /**
750
+ * The corpus-side, no-AST arm of {@link buildGoWithinFileProvenance}: seed DB
751
+ * package names then classify every binding against the (already-extracted)
752
+ * imports + bindings + package-scope declarations. This is the functional
753
+ * half — it reads only the serializable maps, so the receiver-provenance corpus
754
+ * producer (Spec 70 Item 4) can finalize a Go file's within-file provenance once
755
+ * its sibling package-scope symbols are known, without re-holding the AST.
756
+ *
757
+ * @param imports package-name → import path for the file
758
+ * @param bindings the file's name → binding environment (from `buildGoBindingEnv`)
759
+ * @param packageBindings package-scope declarations from sibling `.go` files
760
+ * @returns the name → provenance-evidence map of DB handles resolved in this file
761
+ */
762
+ export function classifyGoBindings(imports, bindings, packageBindings) {
763
+ const env = {
764
+ provenance: new Map(),
765
+ bindings,
766
+ imports,
767
+ packageBindings,
768
+ };
769
+ const prov = new Map();
770
+ for (const [pkgName, source] of imports) {
771
+ if (GO_DB_PACKAGES.has(source)) {
772
+ prov.set(pkgName, {
773
+ identifier: pkgName,
774
+ reason: 'package',
775
+ source: `import ${source}`,
776
+ chain: [],
777
+ });
778
+ }
779
+ }
780
+ for (const [name, binding] of bindings) {
781
+ let disposition = 'unproven';
782
+ if (binding.typeText)
783
+ disposition = classifyGoTypeText(binding.typeText, env, 0);
784
+ else if (binding.value)
785
+ disposition = classifyGoValue(binding.value, env, 0);
786
+ if (disposition === 'handle') {
787
+ prov.set(name, {
788
+ identifier: name,
789
+ reason: 'binding',
790
+ source: binding.typeText
791
+ ? `declared ${binding.typeText}`
792
+ : 'declared as a DB handle',
793
+ chain: [],
794
+ });
795
+ }
796
+ }
797
+ return prov;
798
+ }
799
+ //# sourceMappingURL=goResolution.js.map