code-auditor-mcp 2.6.2 → 3.0.0

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 (343) hide show
  1. package/README.md +319 -147
  2. package/dist/analyzers/analyzerUtils.d.ts +13 -11
  3. package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
  4. package/dist/analyzers/analyzerUtils.js +22 -56
  5. package/dist/analyzers/analyzerUtils.js.map +1 -1
  6. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  7. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -1
  8. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -1
  9. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  10. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  11. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  12. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  13. package/dist/analyzers/dataAccessAnalyzer.d.ts.map +1 -1
  14. package/dist/analyzers/dataAccessAnalyzer.js +50 -24
  15. package/dist/analyzers/dataAccessAnalyzer.js.map +1 -1
  16. package/dist/analyzers/documentationAnalyzer.d.ts +4 -1
  17. package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
  18. package/dist/analyzers/documentationAnalyzer.js +210 -111
  19. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  20. package/dist/analyzers/dryAnalyzer.d.ts.map +1 -1
  21. package/dist/analyzers/dryAnalyzer.js +190 -58
  22. package/dist/analyzers/dryAnalyzer.js.map +1 -1
  23. package/dist/analyzers/invariantsAnalyzer.d.ts +20 -0
  24. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -0
  25. package/dist/analyzers/invariantsAnalyzer.js +148 -0
  26. package/dist/analyzers/invariantsAnalyzer.js.map +1 -0
  27. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  28. package/dist/analyzers/reactAnalyzer.js +2 -2
  29. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  30. package/dist/analyzers/schemaAnalyzer.d.ts +2 -0
  31. package/dist/analyzers/schemaAnalyzer.d.ts.map +1 -1
  32. package/dist/analyzers/schemaAnalyzer.js +306 -147
  33. package/dist/analyzers/schemaAnalyzer.js.map +1 -1
  34. package/dist/analyzers/solidAnalyzer.d.ts.map +1 -1
  35. package/dist/analyzers/solidAnalyzer.js +145 -119
  36. package/dist/analyzers/solidAnalyzer.js.map +1 -1
  37. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +3 -1
  38. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  39. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +41 -1
  40. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  41. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  42. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +8 -8
  43. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  44. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  45. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +6 -6
  46. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  47. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  48. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  49. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +1 -1
  50. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  51. package/dist/api/index.js +1 -0
  52. package/dist/api/index.js.map +1 -1
  53. package/dist/auditRunner.d.ts.map +1 -1
  54. package/dist/auditRunner.js +367 -24
  55. package/dist/auditRunner.js.map +1 -1
  56. package/dist/cli.d.ts +1 -1
  57. package/dist/cli.d.ts.map +1 -1
  58. package/dist/cli.js +740 -18
  59. package/dist/cli.js.map +1 -1
  60. package/dist/codeIndexDB-enhanced.d.ts +35 -13
  61. package/dist/codeIndexDB-enhanced.d.ts.map +1 -1
  62. package/dist/codeIndexDB-enhanced.js +311 -214
  63. package/dist/codeIndexDB-enhanced.js.map +1 -1
  64. package/dist/{codeIndexDb.d.ts → codeIndexDB.d.ts} +51 -224
  65. package/dist/codeIndexDB.d.ts.map +1 -0
  66. package/dist/codeIndexDB.js +2042 -0
  67. package/dist/codeIndexDB.js.map +1 -0
  68. package/dist/codeIndexService.d.ts.map +1 -1
  69. package/dist/codeIndexService.js.map +1 -1
  70. package/dist/componentScanner.d.ts +14 -8
  71. package/dist/componentScanner.d.ts.map +1 -1
  72. package/dist/componentScanner.js +136 -113
  73. package/dist/componentScanner.js.map +1 -1
  74. package/dist/config/configLoader.d.ts.map +1 -1
  75. package/dist/config/configLoader.js +10 -7
  76. package/dist/config/configLoader.js.map +1 -1
  77. package/dist/config/defaults.d.ts.map +1 -1
  78. package/dist/constants.js.map +1 -1
  79. package/dist/fingerprint.d.ts +15 -0
  80. package/dist/fingerprint.d.ts.map +1 -0
  81. package/dist/fingerprint.js +32 -0
  82. package/dist/fingerprint.js.map +1 -0
  83. package/dist/functionScanner.d.ts +5 -0
  84. package/dist/functionScanner.d.ts.map +1 -1
  85. package/dist/functionScanner.js +417 -341
  86. package/dist/functionScanner.js.map +1 -1
  87. package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
  88. package/dist/generators/AiderConfigGenerator.d.ts.map +1 -1
  89. package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
  90. package/dist/generators/BaseConfigGenerator.js.map +1 -1
  91. package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
  92. package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
  93. package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
  94. package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
  95. package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
  96. package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
  97. package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
  98. package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
  99. package/dist/generators/JetBrainsConfigGenerator.d.ts.map +1 -1
  100. package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
  101. package/dist/grammars/tree-sitter-go.wasm +0 -0
  102. package/dist/grammars/tree-sitter-javascript.wasm +0 -0
  103. package/dist/grammars/tree-sitter-tsx.wasm +0 -0
  104. package/dist/grammars/tree-sitter-typescript.wasm +0 -0
  105. package/dist/index.d.ts +1 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -1
  108. package/dist/index.js.map +1 -1
  109. package/dist/invariants/index.d.ts +9 -0
  110. package/dist/invariants/index.d.ts.map +1 -0
  111. package/dist/invariants/index.js +4 -0
  112. package/dist/invariants/index.js.map +1 -0
  113. package/dist/invariants/invariant-rules.schema.json +137 -0
  114. package/dist/invariants/ruleEngine.d.ts +32 -0
  115. package/dist/invariants/ruleEngine.d.ts.map +1 -0
  116. package/dist/invariants/ruleEngine.js +536 -0
  117. package/dist/invariants/ruleEngine.js.map +1 -0
  118. package/dist/invariants/ruleValidator.d.ts +17 -0
  119. package/dist/invariants/ruleValidator.d.ts.map +1 -0
  120. package/dist/invariants/ruleValidator.js +264 -0
  121. package/dist/invariants/ruleValidator.js.map +1 -0
  122. package/dist/invariants/types.d.ts +78 -0
  123. package/dist/invariants/types.d.ts.map +1 -0
  124. package/dist/invariants/types.js +5 -0
  125. package/dist/invariants/types.js.map +1 -0
  126. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  127. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  128. package/dist/languages/LanguageRegistry.d.ts.map +1 -1
  129. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  130. package/dist/languages/RuntimeManager.js +1 -1
  131. package/dist/languages/RuntimeManager.js.map +1 -1
  132. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  133. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  134. package/dist/languages/adapterBridge.d.ts +102 -0
  135. package/dist/languages/adapterBridge.d.ts.map +1 -0
  136. package/dist/languages/adapterBridge.js +382 -0
  137. package/dist/languages/adapterBridge.js.map +1 -0
  138. package/dist/languages/go/GoAdapter.d.ts +37 -26
  139. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  140. package/dist/languages/go/GoAdapter.js +560 -281
  141. package/dist/languages/go/GoAdapter.js.map +1 -1
  142. package/dist/languages/index.d.ts +5 -2
  143. package/dist/languages/index.d.ts.map +1 -1
  144. package/dist/languages/index.js +11 -9
  145. package/dist/languages/index.js.map +1 -1
  146. package/dist/languages/tree-sitter/converter.d.ts +43 -0
  147. package/dist/languages/tree-sitter/converter.d.ts.map +1 -0
  148. package/dist/languages/tree-sitter/converter.js +150 -0
  149. package/dist/languages/tree-sitter/converter.js.map +1 -0
  150. package/dist/languages/tree-sitter/parser.d.ts +36 -0
  151. package/dist/languages/tree-sitter/parser.d.ts.map +1 -0
  152. package/dist/languages/tree-sitter/parser.js +114 -0
  153. package/dist/languages/tree-sitter/parser.js.map +1 -0
  154. package/dist/languages/types.d.ts +11 -0
  155. package/dist/languages/types.d.ts.map +1 -1
  156. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +92 -0
  157. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -0
  158. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +951 -0
  159. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -0
  160. package/dist/mcp-tools/projectTasks.d.ts +58 -22
  161. package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
  162. package/dist/mcp-tools/projectTasks.js +172 -10
  163. package/dist/mcp-tools/projectTasks.js.map +1 -1
  164. package/dist/mcp-tools/whitelistTools.d.ts +21 -21
  165. package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
  166. package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
  167. package/dist/mcp-tools/workflowGuide.js +130 -126
  168. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  169. package/dist/mcp-tools-shared.d.ts.map +1 -1
  170. package/dist/mcp-tools-shared.js.map +1 -1
  171. package/dist/mcp-ui-simple.js +1 -1
  172. package/dist/mcp-ui-simple.js.map +1 -1
  173. package/dist/mcp.d.ts +1 -1
  174. package/dist/mcp.d.ts.map +1 -1
  175. package/dist/mcp.js +1376 -1181
  176. package/dist/mcp.js.map +1 -1
  177. package/dist/mcpAuditJobs.d.ts +4 -0
  178. package/dist/mcpAuditJobs.d.ts.map +1 -1
  179. package/dist/mcpAuditJobs.js +49 -2
  180. package/dist/mcpAuditJobs.js.map +1 -1
  181. package/dist/mcpToolErrors.d.ts.map +1 -1
  182. package/dist/mcpToolErrors.js.map +1 -1
  183. package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
  184. package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
  185. package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
  186. package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
  187. package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
  188. package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
  189. package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
  190. package/dist/native-bootstrap.d.ts +15 -0
  191. package/dist/native-bootstrap.d.ts.map +1 -0
  192. package/dist/native-bootstrap.js +75 -0
  193. package/dist/native-bootstrap.js.map +1 -0
  194. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  195. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  196. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  197. package/dist/reporting/reportGenerator.d.ts.map +1 -1
  198. package/dist/reporting/reportGenerator.js +4 -0
  199. package/dist/reporting/reportGenerator.js.map +1 -1
  200. package/dist/reporting/sarifReportGenerator.d.ts +39 -0
  201. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -0
  202. package/dist/reporting/sarifReportGenerator.js +229 -0
  203. package/dist/reporting/sarifReportGenerator.js.map +1 -0
  204. package/dist/search/QueryParser.d.ts +41 -0
  205. package/dist/search/QueryParser.d.ts.map +1 -1
  206. package/dist/search/QueryParser.js +200 -19
  207. package/dist/search/QueryParser.js.map +1 -1
  208. package/dist/services/CodeMapGenerator.d.ts.map +1 -1
  209. package/dist/services/CodeMapGenerator.js +4 -4
  210. package/dist/services/CodeMapGenerator.js.map +1 -1
  211. package/dist/services/ProjectTaskRepository.d.ts +15 -2
  212. package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
  213. package/dist/services/ProjectTaskRepository.js +16 -1
  214. package/dist/services/ProjectTaskRepository.js.map +1 -1
  215. package/dist/services/SchemaParser.d.ts.map +1 -1
  216. package/dist/services/SchemaParser.js +5 -8
  217. package/dist/services/SchemaParser.js.map +1 -1
  218. package/dist/services/auditJobService.d.ts +1 -1
  219. package/dist/services/projectTaskHelpers.js.map +1 -1
  220. package/dist/services/whitelistService.d.ts.map +1 -1
  221. package/dist/services/whitelistService.js +1 -1
  222. package/dist/services/whitelistService.js.map +1 -1
  223. package/dist/tool-registry.d.ts +79 -0
  224. package/dist/tool-registry.d.ts.map +1 -0
  225. package/dist/tool-registry.js +139 -0
  226. package/dist/tool-registry.js.map +1 -0
  227. package/dist/types/projectTask.d.ts +4 -0
  228. package/dist/types/projectTask.d.ts.map +1 -1
  229. package/dist/types.d.ts +26 -2
  230. package/dist/types.d.ts.map +1 -1
  231. package/dist/types.js.map +1 -1
  232. package/dist/ui/InteractivePrompts.d.ts.map +1 -1
  233. package/dist/ui/InteractivePrompts.js.map +1 -1
  234. package/dist/utils/astParser.d.ts +31 -38
  235. package/dist/utils/astParser.d.ts.map +1 -1
  236. package/dist/utils/astParser.js +138 -196
  237. package/dist/utils/astParser.js.map +1 -1
  238. package/dist/utils/astUtils.d.ts +87 -58
  239. package/dist/utils/astUtils.d.ts.map +1 -1
  240. package/dist/utils/astUtils.js +852 -581
  241. package/dist/utils/astUtils.js.map +1 -1
  242. package/dist/utils/componentPatterns.js.map +1 -1
  243. package/dist/utils/componentResponsibility.d.ts +13 -9
  244. package/dist/utils/componentResponsibility.d.ts.map +1 -1
  245. package/dist/utils/componentResponsibility.js +236 -206
  246. package/dist/utils/componentResponsibility.js.map +1 -1
  247. package/dist/utils/dependencyExtractor.d.ts +11 -6
  248. package/dist/utils/dependencyExtractor.d.ts.map +1 -1
  249. package/dist/utils/dependencyExtractor.js +200 -119
  250. package/dist/utils/dependencyExtractor.js.map +1 -1
  251. package/dist/utils/fileDiscovery.d.ts +1 -1
  252. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  253. package/dist/utils/fileDiscovery.js.map +1 -1
  254. package/dist/utils/jsDocParser.d.ts +27 -30
  255. package/dist/utils/jsDocParser.d.ts.map +1 -1
  256. package/dist/utils/jsDocParser.js +271 -207
  257. package/dist/utils/jsDocParser.js.map +1 -1
  258. package/dist/utils/reactDetection.d.ts +27 -12
  259. package/dist/utils/reactDetection.d.ts.map +1 -1
  260. package/dist/utils/reactDetection.js +331 -219
  261. package/dist/utils/reactDetection.js.map +1 -1
  262. package/dist/workers/auditWorker.js +17 -3
  263. package/dist/workers/auditWorker.js.map +1 -1
  264. package/package.json +54 -51
  265. package/dist/adapters/GoAdapter.d.ts +0 -53
  266. package/dist/adapters/GoAdapter.d.ts.map +0 -1
  267. package/dist/adapters/GoAdapter.js +0 -611
  268. package/dist/adapters/GoAdapter.js.map +0 -1
  269. package/dist/adapters/GoConfig.d.ts +0 -35
  270. package/dist/adapters/GoConfig.d.ts.map +0 -1
  271. package/dist/adapters/GoConfig.js +0 -155
  272. package/dist/adapters/GoConfig.js.map +0 -1
  273. package/dist/adapters/LanguageAdapter.d.ts +0 -135
  274. package/dist/adapters/LanguageAdapter.d.ts.map +0 -1
  275. package/dist/adapters/LanguageAdapter.js +0 -47
  276. package/dist/adapters/LanguageAdapter.js.map +0 -1
  277. package/dist/adapters/TypeScriptAdapter.d.ts +0 -43
  278. package/dist/adapters/TypeScriptAdapter.d.ts.map +0 -1
  279. package/dist/adapters/TypeScriptAdapter.js +0 -386
  280. package/dist/adapters/TypeScriptAdapter.js.map +0 -1
  281. package/dist/adapters/UniversalAnalyzer.d.ts +0 -42
  282. package/dist/adapters/UniversalAnalyzer.d.ts.map +0 -1
  283. package/dist/adapters/UniversalAnalyzer.js +0 -103
  284. package/dist/adapters/UniversalAnalyzer.js.map +0 -1
  285. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +0 -48
  286. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +0 -1
  287. package/dist/adapters/UniversalSOLIDAnalyzer.js +0 -178
  288. package/dist/adapters/UniversalSOLIDAnalyzer.js.map +0 -1
  289. package/dist/adapters/solidAnalyzerCompat.d.ts +0 -21
  290. package/dist/adapters/solidAnalyzerCompat.d.ts.map +0 -1
  291. package/dist/adapters/solidAnalyzerCompat.js +0 -78
  292. package/dist/adapters/solidAnalyzerCompat.js.map +0 -1
  293. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +0 -20
  294. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +0 -1
  295. package/dist/analyzers/dataAccessAnalyzerCompat.js +0 -59
  296. package/dist/analyzers/dataAccessAnalyzerCompat.js.map +0 -1
  297. package/dist/analyzers/documentationAnalyzerCompat.d.ts +0 -20
  298. package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +0 -1
  299. package/dist/analyzers/documentationAnalyzerCompat.js +0 -52
  300. package/dist/analyzers/documentationAnalyzerCompat.js.map +0 -1
  301. package/dist/analyzers/dryAnalyzerCompat.d.ts +0 -20
  302. package/dist/analyzers/dryAnalyzerCompat.d.ts.map +0 -1
  303. package/dist/analyzers/dryAnalyzerCompat.js +0 -44
  304. package/dist/analyzers/dryAnalyzerCompat.js.map +0 -1
  305. package/dist/analyzers/schemaAnalyzerCompat.d.ts +0 -20
  306. package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +0 -1
  307. package/dist/analyzers/schemaAnalyzerCompat.js +0 -69
  308. package/dist/analyzers/schemaAnalyzerCompat.js.map +0 -1
  309. package/dist/analyzers/solidAnalyzerCompat.d.ts +0 -20
  310. package/dist/analyzers/solidAnalyzerCompat.d.ts.map +0 -1
  311. package/dist/analyzers/solidAnalyzerCompat.js +0 -78
  312. package/dist/analyzers/solidAnalyzerCompat.js.map +0 -1
  313. package/dist/codeIndexDb.d.ts.map +0 -1
  314. package/dist/codeIndexDb.js +0 -2102
  315. package/dist/codeIndexDb.js.map +0 -1
  316. package/dist/languages/typescript/TypeScriptAdapter.d.ts +0 -108
  317. package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +0 -1
  318. package/dist/languages/typescript/TypeScriptAdapter.js +0 -567
  319. package/dist/languages/typescript/TypeScriptAdapter.js.map +0 -1
  320. package/dist/languages/typescript/test-extraction.d.ts +0 -2
  321. package/dist/languages/typescript/test-extraction.d.ts.map +0 -1
  322. package/dist/languages/typescript/test-extraction.js +0 -36
  323. package/dist/languages/typescript/test-extraction.js.map +0 -1
  324. package/dist/mcp-hybrid.d.ts +0 -10
  325. package/dist/mcp-hybrid.d.ts.map +0 -1
  326. package/dist/mcp-hybrid.js +0 -41
  327. package/dist/mcp-hybrid.js.map +0 -1
  328. package/dist/mcp-index.d.ts +0 -13
  329. package/dist/mcp-index.d.ts.map +0 -1
  330. package/dist/mcp-index.js +0 -136
  331. package/dist/mcp-index.js.map +0 -1
  332. package/dist/mcp-standalone.d.ts +0 -3
  333. package/dist/mcp-standalone.d.ts.map +0 -1
  334. package/dist/mcp-standalone.js +0 -1324
  335. package/dist/mcp-standalone.js.map +0 -1
  336. package/dist/mcp-ui-server.d.ts +0 -27
  337. package/dist/mcp-ui-server.d.ts.map +0 -1
  338. package/dist/mcp-ui-server.js +0 -484
  339. package/dist/mcp-ui-server.js.map +0 -1
  340. package/dist/test-multi-strategy-search.d.ts +0 -3
  341. package/dist/test-multi-strategy-search.d.ts.map +0 -1
  342. package/dist/test-multi-strategy-search.js +0 -170
  343. package/dist/test-multi-strategy-search.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"astParser.d.ts","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAqBjC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IAC1B,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;IACrB,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IACrF,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuDhF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,UAAU,EAAE,CA6ClE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,UAAU,EAAE,CA6DlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAC/C,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,IAAI,EAAE,EAAE,CAAC,UAAU,GAClB,CAAC,EAAE,CAYL;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAGlC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,GAAG,MAAM,CA8B5E"}
1
+ {"version":3,"file":"astParser.d.ts","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAQL,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAM1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAMhH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAMD,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IACrF,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA0BhF;AAMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,CAiBjD;AAMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,CA2DjD;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,EAAE,CAgBX;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,EAAE,CAEX;AAKD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,CAAC;AAYvB;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhE"}
@@ -1,244 +1,186 @@
1
1
  /**
2
2
  * AST Parser Utilities
3
- * Provides TypeScript AST parsing and analysis utilities
3
+ * Provides tree-sitter-based AST parsing and analysis utilities
4
4
  *
5
- * Core functionality for parsing TypeScript/JavaScript files and
6
- * extracting information for code analysis
5
+ * Core functionality for parsing TypeScript/JavaScript/Go files and
6
+ * extracting information for code analysis.
7
+ *
8
+ * This module replaces the old TypeScript compiler API with tree-sitter
9
+ * via the adapter bridge. Consumers receive AST/ASTNode instead of
10
+ * ts.SourceFile/ts.Node.
7
11
  */
8
- import * as ts from 'typescript';
9
12
  import { promises as fs } from 'fs';
13
+ import { parseFile, extractImports, getNodeName, } from '../languages/adapterBridge.js';
14
+ // ---------------------------------------------------------------------------
15
+ // Re-export adapter bridge functions for consumers that already import from here
16
+ // ---------------------------------------------------------------------------
17
+ export { getNodeText, getLineAndColumn, hasModifier, calculateComplexity } from '../languages/adapterBridge.js';
18
+ // ---------------------------------------------------------------------------
19
+ // Parse
20
+ // ---------------------------------------------------------------------------
10
21
  /**
11
- * Parse options for TypeScript compiler
12
- */
13
- const PARSE_OPTIONS = {
14
- target: ts.ScriptTarget.Latest,
15
- module: ts.ModuleKind.ESNext,
16
- jsx: ts.JsxEmit.React,
17
- allowJs: true,
18
- esModuleInterop: true,
19
- skipLibCheck: true,
20
- strict: false,
21
- moduleResolution: ts.ModuleResolutionKind.NodeJs,
22
- noResolve: true,
23
- isolatedModules: true,
24
- allowSyntheticDefaultImports: true,
25
- lib: ['lib.es2022.d.ts']
26
- };
27
- /**
28
- * Parse a TypeScript file and return AST
22
+ * Parse a TypeScript/JavaScript/Go file and return AST.
29
23
  */
30
24
  export async function parseTypeScriptFile(filePath) {
31
25
  try {
32
26
  const content = await fs.readFile(filePath, 'utf-8');
33
- // Determine script kind based on file extension
34
- let scriptKind = ts.ScriptKind.TS;
35
- if (filePath.endsWith('.tsx')) {
36
- scriptKind = ts.ScriptKind.TSX;
37
- }
38
- else if (filePath.endsWith('.jsx')) {
39
- scriptKind = ts.ScriptKind.JSX;
40
- }
41
- else if (filePath.endsWith('.js')) {
42
- scriptKind = ts.ScriptKind.JS;
27
+ const ast = parseFile(filePath, content);
28
+ if (!ast) {
29
+ return {
30
+ ast: { root: { type: 'program', range: [0, 0], location: { start: { line: 0, column: 0 }, end: { line: 0, column: 0 } }, raw: null }, language: 'typescript', filePath, errors: [] },
31
+ errors: [{ message: `Unsupported file type: ${filePath}` }],
32
+ };
43
33
  }
44
- // Create source file without type checking
45
- const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true, // setParentNodes
46
- scriptKind);
47
- // No errors for pure AST parsing
48
- const errors = [];
49
34
  return {
50
- sourceFile,
51
- program: undefined,
52
- errors
35
+ ast,
36
+ errors: ast.errors.map(e => ({
37
+ message: e.message,
38
+ line: e.location.start.line + 1,
39
+ column: e.location.start.column + 1,
40
+ })),
53
41
  };
54
42
  }
55
43
  catch (error) {
56
- // Return error as diagnostic
57
- const diagnostic = {
58
- file: undefined,
59
- start: 0,
60
- length: 0,
61
- messageText: `Failed to read file: ${error}`,
62
- category: ts.DiagnosticCategory.Error,
63
- code: 9999
64
- };
65
- // Create empty source file for consistency
66
- const sourceFile = ts.createSourceFile(filePath, '', ts.ScriptTarget.Latest, true);
67
44
  return {
68
- sourceFile,
69
- errors: [diagnostic]
45
+ ast: { root: { type: 'program', range: [0, 0], location: { start: { line: 0, column: 0 }, end: { line: 0, column: 0 } }, raw: null }, language: 'typescript', filePath, errors: [] },
46
+ errors: [{ message: `Failed to read file: ${error}` }],
70
47
  };
71
48
  }
72
49
  }
50
+ // ---------------------------------------------------------------------------
51
+ // Extract imports
52
+ // ---------------------------------------------------------------------------
73
53
  /**
74
- * Extract import statements from AST
54
+ * Extract import statements from an AST.
75
55
  */
76
- export function getImports(sourceFile) {
77
- const imports = [];
78
- function visit(node) {
79
- if (ts.isImportDeclaration(node)) {
80
- const moduleSpecifier = node.moduleSpecifier.text;
81
- const importClause = node.importClause;
82
- const line = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1;
83
- const importInfo = {
84
- moduleSpecifier,
85
- importedNames: [],
86
- isDefaultImport: false,
87
- isNamespaceImport: false,
88
- line
89
- };
90
- if (importClause) {
91
- // Default import
92
- if (importClause.name) {
93
- importInfo.isDefaultImport = true;
94
- importInfo.importedNames.push(importClause.name.text);
95
- }
96
- // Named imports
97
- if (importClause.namedBindings) {
98
- if (ts.isNamespaceImport(importClause.namedBindings)) {
99
- importInfo.isNamespaceImport = true;
100
- importInfo.importedNames.push(importClause.namedBindings.name.text);
101
- }
102
- else if (ts.isNamedImports(importClause.namedBindings)) {
103
- importClause.namedBindings.elements.forEach(element => {
104
- importInfo.importedNames.push(element.name.text);
105
- });
106
- }
107
- }
108
- }
109
- imports.push(importInfo);
110
- }
111
- ts.forEachChild(node, visit);
56
+ export function getImports(ast) {
57
+ const results = [];
58
+ const content = getSourceContent(ast);
59
+ if (!content)
60
+ return results;
61
+ const rawImports = extractImports(ast.filePath, content);
62
+ for (const imp of rawImports) {
63
+ results.push({
64
+ moduleSpecifier: imp.moduleSpecifier,
65
+ importedNames: imp.importedNames,
66
+ isDefaultImport: imp.isDefaultImport,
67
+ isNamespaceImport: imp.isNamespaceImport,
68
+ line: imp.line,
69
+ });
112
70
  }
113
- visit(sourceFile);
114
- return imports;
71
+ return results;
115
72
  }
73
+ // ---------------------------------------------------------------------------
74
+ // Extract exports
75
+ // ---------------------------------------------------------------------------
116
76
  /**
117
- * Extract export statements from AST
77
+ * Extract export statements from an AST.
118
78
  */
119
- export function getExports(sourceFile) {
79
+ export function getExports(ast) {
120
80
  const exports = [];
81
+ // Walk the AST to find exported nodes
121
82
  function visit(node) {
122
- const line = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1;
123
- // Export declarations
124
- if (ts.isExportDeclaration(node)) {
125
- if (node.exportClause && ts.isNamedExports(node.exportClause)) {
126
- node.exportClause.elements.forEach(element => {
83
+ const raw = node.raw;
84
+ if (!raw)
85
+ return;
86
+ // export_statement covers "export { x }", "export default X", "export const X"
87
+ if (node.type === 'export_statement') {
88
+ for (const child of raw.namedChildren) {
89
+ const line = child.startPosition.row + 1;
90
+ // export default expr
91
+ if (child.type === 'function_declaration') {
92
+ const name = child.namedChildren.find((c) => c.type === 'identifier');
127
93
  exports.push({
128
- name: element.name.text,
129
- type: 'const', // Generic type for re-exports
130
- isDefault: false,
131
- line
94
+ name: name?.text ?? 'default',
95
+ type: 'function',
96
+ isDefault: true,
97
+ line,
132
98
  });
133
- });
134
- }
135
- }
136
- // Function/const/class/interface with export keyword
137
- const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
138
- if (modifiers?.some(m => m.kind === ts.SyntaxKind.ExportKeyword)) {
139
- let name = '';
140
- let type = 'const';
141
- let isDefault = modifiers.some(m => m.kind === ts.SyntaxKind.DefaultKeyword);
142
- if (ts.isFunctionDeclaration(node)) {
143
- name = node.name?.text || (isDefault ? 'default' : 'anonymous');
144
- type = 'function';
145
- }
146
- else if (ts.isClassDeclaration(node)) {
147
- name = node.name?.text || (isDefault ? 'default' : 'anonymous');
148
- type = 'class';
149
- }
150
- else if (ts.isInterfaceDeclaration(node)) {
151
- name = node.name.text;
152
- type = 'interface';
153
- }
154
- else if (ts.isTypeAliasDeclaration(node)) {
155
- name = node.name.text;
156
- type = 'type';
157
- }
158
- else if (ts.isEnumDeclaration(node)) {
159
- name = node.name.text;
160
- type = 'enum';
161
- }
162
- else if (ts.isVariableStatement(node)) {
163
- const declaration = node.declarationList.declarations[0];
164
- if (declaration.name && ts.isIdentifier(declaration.name)) {
165
- name = declaration.name.text;
166
- type = node.declarationList.flags & ts.NodeFlags.Const ? 'const' :
167
- node.declarationList.flags & ts.NodeFlags.Let ? 'let' : 'var';
99
+ }
100
+ else if (child.type === 'class_declaration') {
101
+ const name = child.namedChildren.find((c) => c.type === 'identifier');
102
+ exports.push({
103
+ name: name?.text ?? 'default',
104
+ type: 'class',
105
+ isDefault: true,
106
+ line,
107
+ });
108
+ }
109
+ else if (child.type === 'lexical_declaration') {
110
+ for (const decl of child.namedChildren) {
111
+ if (decl.type === 'variable_declarator') {
112
+ const name = decl.namedChildren.find((c) => c.type === 'identifier');
113
+ if (name) {
114
+ exports.push({ name: name.text, type: 'const', isDefault: false, line });
115
+ }
116
+ }
117
+ }
118
+ }
119
+ else if (child.type === 'export_clause') {
120
+ for (const spec of child.namedChildren) {
121
+ if (spec.type === 'export_specifier') {
122
+ const name = spec.namedChildren.find((c) => c.type === 'identifier');
123
+ if (name) {
124
+ exports.push({ name: name.text, type: 'const', isDefault: false, line: child.startPosition.row + 1 });
125
+ }
126
+ }
127
+ }
168
128
  }
169
129
  }
170
- if (name) {
171
- exports.push({ name, type, isDefault, line });
172
- }
173
130
  }
174
- ts.forEachChild(node, visit);
131
+ if (node.children) {
132
+ for (const c of node.children)
133
+ visit(c);
134
+ }
175
135
  }
176
- visit(sourceFile);
136
+ visit(ast.root);
177
137
  return exports;
178
138
  }
139
+ // ---------------------------------------------------------------------------
140
+ // Find nodes by type
141
+ // ---------------------------------------------------------------------------
179
142
  /**
180
- * Find nodes by kind in AST
143
+ * Find all ASTNode matching a type string (replaces ts.SyntaxKind enum).
181
144
  */
182
- export function findNodesByKind(sourceFile, kind) {
183
- const nodes = [];
184
- function visit(node) {
185
- if (node.kind === kind) {
186
- nodes.push(node);
145
+ export function findNodesByType(ast, type) {
146
+ const results = [];
147
+ function walk(node) {
148
+ if (node.type === type) {
149
+ results.push(node);
150
+ }
151
+ if (node.children) {
152
+ for (const child of node.children) {
153
+ walk(child);
154
+ }
187
155
  }
188
- ts.forEachChild(node, visit);
189
156
  }
190
- visit(sourceFile);
191
- return nodes;
192
- }
193
- /**
194
- * Get the text content of a node
195
- */
196
- export function getNodeText(node, sourceFile) {
197
- return node.getText(sourceFile);
157
+ walk(ast);
158
+ return results;
198
159
  }
199
160
  /**
200
- * Get line and column for a position
161
+ * Kept for backward compatibility returns ASTNode[] where each node's type
162
+ * matches one of the provided type strings.
201
163
  */
202
- export function getLineAndColumn(sourceFile, position) {
203
- const { line, character } = sourceFile.getLineAndCharacterOfPosition(position);
204
- return { line: line + 1, column: character + 1 };
164
+ export function findNodesByKind(ast, kind) {
165
+ return findNodesByType(ast, kind);
205
166
  }
206
- /**
207
- * Check if a node has a specific modifier
208
- */
209
- export function hasModifier(node, modifier) {
210
- const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
211
- return modifiers?.some(m => m.kind === modifier) || false;
167
+ // ---------------------------------------------------------------------------
168
+ // Node helpers
169
+ // ---------------------------------------------------------------------------
170
+ export { isExported } from '../languages/adapterBridge.js';
171
+ export { getNodeName };
172
+ // ---------------------------------------------------------------------------
173
+ // Source content cache
174
+ // ---------------------------------------------------------------------------
175
+ const sourceCache = new WeakMap();
176
+ function getSourceContent(ast) {
177
+ return sourceCache.get(ast);
212
178
  }
213
179
  /**
214
- * Get function/method complexity (simplified cyclomatic complexity)
180
+ * Store source content for an AST so getNodeText() can work without passing
181
+ * sourceCode each time.
215
182
  */
216
- export function calculateComplexity(node) {
217
- let complexity = 1; // Base complexity
218
- function visit(node) {
219
- switch (node.kind) {
220
- case ts.SyntaxKind.IfStatement:
221
- case ts.SyntaxKind.ConditionalExpression:
222
- case ts.SyntaxKind.WhileStatement:
223
- case ts.SyntaxKind.ForStatement:
224
- case ts.SyntaxKind.ForInStatement:
225
- case ts.SyntaxKind.ForOfStatement:
226
- case ts.SyntaxKind.CaseClause:
227
- complexity++;
228
- break;
229
- case ts.SyntaxKind.BinaryExpression:
230
- const binaryExpr = node;
231
- if (binaryExpr.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken ||
232
- binaryExpr.operatorToken.kind === ts.SyntaxKind.BarBarToken) {
233
- complexity++;
234
- }
235
- break;
236
- }
237
- ts.forEachChild(node, visit);
238
- }
239
- if (node.body) {
240
- visit(node.body);
241
- }
242
- return complexity;
183
+ export function setSourceContent(ast, content) {
184
+ sourceCache.set(ast, content);
243
185
  }
244
186
  //# sourceMappingURL=astParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astParser.js","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astParser.js","sourceRoot":"","sources":["../../src/utils/astParser.ts"],"names":[],"mappings":"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"}