code-auditor-mcp 2.6.1 → 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 (347) 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 +222 -0
  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 +80 -11
  161. package/dist/mcp-tools/projectTasks.d.ts.map +1 -1
  162. package/dist/mcp-tools/projectTasks.js +279 -13
  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 +1455 -1132
  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/mcpDiagnostics.d.ts.map +1 -1
  182. package/dist/mcpDiagnostics.js +8 -5
  183. package/dist/mcpDiagnostics.js.map +1 -1
  184. package/dist/mcpToolErrors.d.ts.map +1 -1
  185. package/dist/mcpToolErrors.js.map +1 -1
  186. package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
  187. package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
  188. package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
  189. package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
  190. package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
  191. package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
  192. package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
  193. package/dist/native-bootstrap.d.ts +15 -0
  194. package/dist/native-bootstrap.d.ts.map +1 -0
  195. package/dist/native-bootstrap.js +75 -0
  196. package/dist/native-bootstrap.js.map +1 -0
  197. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  198. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  199. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  200. package/dist/reporting/reportGenerator.d.ts.map +1 -1
  201. package/dist/reporting/reportGenerator.js +4 -0
  202. package/dist/reporting/reportGenerator.js.map +1 -1
  203. package/dist/reporting/sarifReportGenerator.d.ts +39 -0
  204. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -0
  205. package/dist/reporting/sarifReportGenerator.js +229 -0
  206. package/dist/reporting/sarifReportGenerator.js.map +1 -0
  207. package/dist/search/QueryParser.d.ts +41 -0
  208. package/dist/search/QueryParser.d.ts.map +1 -1
  209. package/dist/search/QueryParser.js +200 -19
  210. package/dist/search/QueryParser.js.map +1 -1
  211. package/dist/services/CodeMapGenerator.d.ts.map +1 -1
  212. package/dist/services/CodeMapGenerator.js +4 -4
  213. package/dist/services/CodeMapGenerator.js.map +1 -1
  214. package/dist/services/ProjectTaskRepository.d.ts +34 -9
  215. package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
  216. package/dist/services/ProjectTaskRepository.js +385 -10
  217. package/dist/services/ProjectTaskRepository.js.map +1 -1
  218. package/dist/services/SchemaParser.d.ts.map +1 -1
  219. package/dist/services/SchemaParser.js +5 -8
  220. package/dist/services/SchemaParser.js.map +1 -1
  221. package/dist/services/auditJobService.d.ts +1 -1
  222. package/dist/services/projectTaskHelpers.js.map +1 -1
  223. package/dist/services/whitelistService.d.ts.map +1 -1
  224. package/dist/services/whitelistService.js +1 -1
  225. package/dist/services/whitelistService.js.map +1 -1
  226. package/dist/tool-registry.d.ts +79 -0
  227. package/dist/tool-registry.d.ts.map +1 -0
  228. package/dist/tool-registry.js +139 -0
  229. package/dist/tool-registry.js.map +1 -0
  230. package/dist/types/projectTask.d.ts +31 -0
  231. package/dist/types/projectTask.d.ts.map +1 -1
  232. package/dist/types.d.ts +26 -2
  233. package/dist/types.d.ts.map +1 -1
  234. package/dist/types.js.map +1 -1
  235. package/dist/ui/InteractivePrompts.d.ts.map +1 -1
  236. package/dist/ui/InteractivePrompts.js.map +1 -1
  237. package/dist/utils/astParser.d.ts +31 -38
  238. package/dist/utils/astParser.d.ts.map +1 -1
  239. package/dist/utils/astParser.js +138 -196
  240. package/dist/utils/astParser.js.map +1 -1
  241. package/dist/utils/astUtils.d.ts +87 -58
  242. package/dist/utils/astUtils.d.ts.map +1 -1
  243. package/dist/utils/astUtils.js +852 -581
  244. package/dist/utils/astUtils.js.map +1 -1
  245. package/dist/utils/componentPatterns.js.map +1 -1
  246. package/dist/utils/componentResponsibility.d.ts +13 -9
  247. package/dist/utils/componentResponsibility.d.ts.map +1 -1
  248. package/dist/utils/componentResponsibility.js +236 -206
  249. package/dist/utils/componentResponsibility.js.map +1 -1
  250. package/dist/utils/dependencyExtractor.d.ts +11 -6
  251. package/dist/utils/dependencyExtractor.d.ts.map +1 -1
  252. package/dist/utils/dependencyExtractor.js +200 -119
  253. package/dist/utils/dependencyExtractor.js.map +1 -1
  254. package/dist/utils/fileDiscovery.d.ts +1 -1
  255. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  256. package/dist/utils/fileDiscovery.js.map +1 -1
  257. package/dist/utils/jsDocParser.d.ts +27 -30
  258. package/dist/utils/jsDocParser.d.ts.map +1 -1
  259. package/dist/utils/jsDocParser.js +271 -207
  260. package/dist/utils/jsDocParser.js.map +1 -1
  261. package/dist/utils/reactDetection.d.ts +27 -12
  262. package/dist/utils/reactDetection.d.ts.map +1 -1
  263. package/dist/utils/reactDetection.js +331 -219
  264. package/dist/utils/reactDetection.js.map +1 -1
  265. package/dist/workers/auditWorker.js +17 -3
  266. package/dist/workers/auditWorker.js.map +1 -1
  267. package/package.json +54 -51
  268. package/dist/adapters/GoAdapter.d.ts +0 -53
  269. package/dist/adapters/GoAdapter.d.ts.map +0 -1
  270. package/dist/adapters/GoAdapter.js +0 -611
  271. package/dist/adapters/GoAdapter.js.map +0 -1
  272. package/dist/adapters/GoConfig.d.ts +0 -35
  273. package/dist/adapters/GoConfig.d.ts.map +0 -1
  274. package/dist/adapters/GoConfig.js +0 -155
  275. package/dist/adapters/GoConfig.js.map +0 -1
  276. package/dist/adapters/LanguageAdapter.d.ts +0 -135
  277. package/dist/adapters/LanguageAdapter.d.ts.map +0 -1
  278. package/dist/adapters/LanguageAdapter.js +0 -47
  279. package/dist/adapters/LanguageAdapter.js.map +0 -1
  280. package/dist/adapters/TypeScriptAdapter.d.ts +0 -43
  281. package/dist/adapters/TypeScriptAdapter.d.ts.map +0 -1
  282. package/dist/adapters/TypeScriptAdapter.js +0 -386
  283. package/dist/adapters/TypeScriptAdapter.js.map +0 -1
  284. package/dist/adapters/UniversalAnalyzer.d.ts +0 -42
  285. package/dist/adapters/UniversalAnalyzer.d.ts.map +0 -1
  286. package/dist/adapters/UniversalAnalyzer.js +0 -103
  287. package/dist/adapters/UniversalAnalyzer.js.map +0 -1
  288. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts +0 -48
  289. package/dist/adapters/UniversalSOLIDAnalyzer.d.ts.map +0 -1
  290. package/dist/adapters/UniversalSOLIDAnalyzer.js +0 -178
  291. package/dist/adapters/UniversalSOLIDAnalyzer.js.map +0 -1
  292. package/dist/adapters/solidAnalyzerCompat.d.ts +0 -21
  293. package/dist/adapters/solidAnalyzerCompat.d.ts.map +0 -1
  294. package/dist/adapters/solidAnalyzerCompat.js +0 -78
  295. package/dist/adapters/solidAnalyzerCompat.js.map +0 -1
  296. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts +0 -20
  297. package/dist/analyzers/dataAccessAnalyzerCompat.d.ts.map +0 -1
  298. package/dist/analyzers/dataAccessAnalyzerCompat.js +0 -59
  299. package/dist/analyzers/dataAccessAnalyzerCompat.js.map +0 -1
  300. package/dist/analyzers/documentationAnalyzerCompat.d.ts +0 -20
  301. package/dist/analyzers/documentationAnalyzerCompat.d.ts.map +0 -1
  302. package/dist/analyzers/documentationAnalyzerCompat.js +0 -52
  303. package/dist/analyzers/documentationAnalyzerCompat.js.map +0 -1
  304. package/dist/analyzers/dryAnalyzerCompat.d.ts +0 -20
  305. package/dist/analyzers/dryAnalyzerCompat.d.ts.map +0 -1
  306. package/dist/analyzers/dryAnalyzerCompat.js +0 -44
  307. package/dist/analyzers/dryAnalyzerCompat.js.map +0 -1
  308. package/dist/analyzers/schemaAnalyzerCompat.d.ts +0 -20
  309. package/dist/analyzers/schemaAnalyzerCompat.d.ts.map +0 -1
  310. package/dist/analyzers/schemaAnalyzerCompat.js +0 -69
  311. package/dist/analyzers/schemaAnalyzerCompat.js.map +0 -1
  312. package/dist/analyzers/solidAnalyzerCompat.d.ts +0 -20
  313. package/dist/analyzers/solidAnalyzerCompat.d.ts.map +0 -1
  314. package/dist/analyzers/solidAnalyzerCompat.js +0 -78
  315. package/dist/analyzers/solidAnalyzerCompat.js.map +0 -1
  316. package/dist/codeIndexDb.d.ts +0 -394
  317. package/dist/codeIndexDb.d.ts.map +0 -1
  318. package/dist/codeIndexDb.js +0 -2077
  319. package/dist/codeIndexDb.js.map +0 -1
  320. package/dist/languages/typescript/TypeScriptAdapter.d.ts +0 -108
  321. package/dist/languages/typescript/TypeScriptAdapter.d.ts.map +0 -1
  322. package/dist/languages/typescript/TypeScriptAdapter.js +0 -567
  323. package/dist/languages/typescript/TypeScriptAdapter.js.map +0 -1
  324. package/dist/languages/typescript/test-extraction.d.ts +0 -2
  325. package/dist/languages/typescript/test-extraction.d.ts.map +0 -1
  326. package/dist/languages/typescript/test-extraction.js +0 -36
  327. package/dist/languages/typescript/test-extraction.js.map +0 -1
  328. package/dist/mcp-hybrid.d.ts +0 -10
  329. package/dist/mcp-hybrid.d.ts.map +0 -1
  330. package/dist/mcp-hybrid.js +0 -41
  331. package/dist/mcp-hybrid.js.map +0 -1
  332. package/dist/mcp-index.d.ts +0 -13
  333. package/dist/mcp-index.d.ts.map +0 -1
  334. package/dist/mcp-index.js +0 -123
  335. package/dist/mcp-index.js.map +0 -1
  336. package/dist/mcp-standalone.d.ts +0 -3
  337. package/dist/mcp-standalone.d.ts.map +0 -1
  338. package/dist/mcp-standalone.js +0 -1201
  339. package/dist/mcp-standalone.js.map +0 -1
  340. package/dist/mcp-ui-server.d.ts +0 -27
  341. package/dist/mcp-ui-server.d.ts.map +0 -1
  342. package/dist/mcp-ui-server.js +0 -484
  343. package/dist/mcp-ui-server.js.map +0 -1
  344. package/dist/test-multi-strategy-search.d.ts +0 -3
  345. package/dist/test-multi-strategy-search.d.ts.map +0 -1
  346. package/dist/test-multi-strategy-search.js +0 -170
  347. package/dist/test-multi-strategy-search.js.map +0 -1
@@ -1,69 +0,0 @@
1
- /**
2
- * Compatibility layer for Schema Analyzer
3
- * Ensures the new universal analyzer produces similar results to the legacy one
4
- */
5
- import { UniversalSchemaAnalyzer } from './universal/UniversalSchemaAnalyzer.js';
6
- import { initializeLanguages } from '../languages/index.js';
7
- import { CodeIndexDB } from '../codeIndexDB.js';
8
- // Initialize language system on module load
9
- initializeLanguages();
10
- /**
11
- * Legacy-compatible schema analyzer function
12
- * This wraps the new UniversalSchemaAnalyzer to maintain API compatibility
13
- */
14
- export const analyzeSchema = async (files, config = {}, options = {}, progressCallback) => {
15
- const analyzer = new UniversalSchemaAnalyzer();
16
- // Get loaded schemas from database if available
17
- let schemas = [];
18
- try {
19
- const db = CodeIndexDB.getInstance();
20
- await db.initialize();
21
- const loadedSchemas = await db.getAllSchemas();
22
- // Convert database schemas to universal format
23
- schemas = loadedSchemas.map(({ schema }) => ({
24
- name: schema.name,
25
- tables: schema.databases.flatMap(db => db.tables.map(table => ({
26
- name: table.name,
27
- columns: table.columns || []
28
- })))
29
- }));
30
- }
31
- catch (error) {
32
- // If database isn't available, continue without schemas
33
- console.warn('Schema database not available:', error);
34
- }
35
- // Map legacy config to universal config
36
- const universalConfig = {
37
- enableTableUsageTracking: config.enableTableUsageTracking ?? true,
38
- checkMissingReferences: config.checkMissingReferences ?? true,
39
- checkNamingConventions: config.checkNamingConventions ?? true,
40
- detectUnusedTables: config.detectUnusedTables ?? false,
41
- validateQueryPatterns: config.validateQueryPatterns ?? true,
42
- maxQueriesPerFunction: config.maxQueriesPerFunction ?? 5,
43
- requiredSchemas: config.requiredSchemas ?? [],
44
- schemas // Pass loaded schemas
45
- };
46
- // Call the universal analyzer
47
- const result = await analyzer.analyze(files, universalConfig);
48
- // Transform violations to match legacy format
49
- const transformedViolations = result.violations.map(v => ({
50
- ...v,
51
- schemaType: v.rule,
52
- details: v.message,
53
- analyzer: 'schema'
54
- }));
55
- return {
56
- ...result,
57
- violations: transformedViolations
58
- };
59
- };
60
- /**
61
- * Analyzer definition for registration
62
- */
63
- export const schemaAnalyzer = {
64
- name: 'schema',
65
- description: 'Analyzes code against database schemas',
66
- category: 'database',
67
- analyze: analyzeSchema
68
- };
69
- //# sourceMappingURL=schemaAnalyzerCompat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaAnalyzerCompat.js","sourceRoot":"","sources":["../../src/analyzers/schemaAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,4CAA4C;AAC5C,mBAAmB,EAAE,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqB,KAAK,EAClD,KAAe,EACf,SAAc,EAAE,EAChB,OAAO,GAAG,EAAE,EACZ,gBAAgB,EAChB,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAE/C,gDAAgD;IAChD,IAAI,OAAO,GAAU,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;QAE/C,+CAA+C;QAC/C,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CACpC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;aAC7B,CAAC,CAAC,CACJ;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wDAAwD;QACxD,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,wCAAwC;IACxC,MAAM,eAAe,GAAG;QACtB,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,IAAI,IAAI;QACjE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,IAAI;QAC7D,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,IAAI;QAC7D,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK;QACtD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;QAC3D,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,CAAC;QACxD,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;QAC7C,OAAO,CAAC,sBAAsB;KAC/B,CAAC;IAEF,8BAA8B;IAC9B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAE9D,8CAA8C;IAC9C,MAAM,qBAAqB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,GAAG,CAAC;QACJ,UAAU,EAAE,CAAC,CAAC,IAAI;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,qBAAqB;KAClC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wCAAwC;IACrD,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,aAAa;CACvB,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Compatibility layer for SOLID Analyzer
3
- * Ensures the new universal analyzer produces similar results to the legacy one
4
- */
5
- import type { AnalyzerFunction } from '../types.js';
6
- /**
7
- * Legacy-compatible SOLID analyzer function
8
- * This wraps the new UniversalSOLIDAnalyzer to maintain API compatibility
9
- */
10
- export declare const analyzeSOLID: AnalyzerFunction;
11
- /**
12
- * Analyzer definition for registration
13
- */
14
- export declare const solidAnalyzer: {
15
- name: string;
16
- description: string;
17
- category: string;
18
- analyze: AnalyzerFunction;
19
- };
20
- //# sourceMappingURL=solidAnalyzerCompat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solidAnalyzerCompat.d.ts","sourceRoot":"","sources":["../../src/analyzers/solidAnalyzerCompat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,gBAuD1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Compatibility layer for SOLID Analyzer
3
- * Ensures the new universal analyzer produces similar results to the legacy one
4
- */
5
- import { UniversalSOLIDAnalyzer } from './universal/UniversalSOLIDAnalyzer.js';
6
- import { initializeLanguages } from '../languages/index.js';
7
- // Initialize language system on module load
8
- initializeLanguages();
9
- /**
10
- * Legacy-compatible SOLID analyzer function
11
- * This wraps the new UniversalSOLIDAnalyzer to maintain API compatibility
12
- */
13
- export const analyzeSOLID = async (files, config = {}, options = {}, progressCallback) => {
14
- console.error('[DEBUG] SOLID compat layer called with files:', files);
15
- console.error('[DEBUG] SOLID compat layer config:', config);
16
- const analyzer = new UniversalSOLIDAnalyzer();
17
- // Map legacy config to universal config, only override defined values
18
- const universalConfig = {
19
- skipTestFiles: true
20
- };
21
- // Only set properties that are explicitly provided to avoid overriding defaults with undefined
22
- if (config.maxMethodsPerClass !== undefined)
23
- universalConfig.maxMethodsPerClass = config.maxMethodsPerClass;
24
- if (config.maxLinesPerMethod !== undefined)
25
- universalConfig.maxLinesPerMethod = config.maxLinesPerMethod;
26
- if (config.maxParametersPerMethod !== undefined)
27
- universalConfig.maxParametersPerMethod = config.maxParametersPerMethod;
28
- if (config.maxClassComplexity !== undefined)
29
- universalConfig.maxClassComplexity = config.maxClassComplexity;
30
- if (config.maxInterfaceMembers !== undefined)
31
- universalConfig.maxInterfaceMembers = config.maxInterfaceMembers;
32
- if (config.checkDependencyInversion !== undefined)
33
- universalConfig.checkDependencyInversion = config.checkDependencyInversion;
34
- if (config.checkInterfaceSegregation !== undefined)
35
- universalConfig.checkInterfaceSegregation = config.checkInterfaceSegregation;
36
- if (config.checkLiskovSubstitution !== undefined)
37
- universalConfig.checkLiskovSubstitution = config.checkLiskovSubstitution;
38
- console.error('[DEBUG] SOLID compat: Universal config:', universalConfig);
39
- // Call the universal analyzer
40
- console.error('[DEBUG] SOLID compat: About to call analyzer.analyze()');
41
- try {
42
- const result = await analyzer.analyze(files, universalConfig, {
43
- progressCallback: progressCallback ? (progress) => {
44
- progressCallback({
45
- current: Math.floor(progress * 100),
46
- total: 100,
47
- analyzer: 'solid',
48
- phase: 'analyzing'
49
- });
50
- } : undefined,
51
- ...options
52
- });
53
- console.error('[DEBUG] SOLID compat: analyzer.analyze() completed, violations:', result.violations.length);
54
- return {
55
- ...result,
56
- violations: result.violations.map(v => ({
57
- ...v,
58
- principle: v.rule,
59
- analyzer: 'solid',
60
- rule: v.rule
61
- }))
62
- };
63
- }
64
- catch (error) {
65
- console.error('[DEBUG] SOLID compat: ERROR in analyzer.analyze():', error);
66
- throw error;
67
- }
68
- };
69
- /**
70
- * Analyzer definition for registration
71
- */
72
- export const solidAnalyzer = {
73
- name: 'solid',
74
- description: 'Detects violations of SOLID principles',
75
- category: 'architecture',
76
- analyze: analyzeSOLID
77
- };
78
- //# sourceMappingURL=solidAnalyzerCompat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solidAnalyzerCompat.js","sourceRoot":"","sources":["../../src/analyzers/solidAnalyzerCompat.ts"],"names":[],"mappings":"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"}
@@ -1,394 +0,0 @@
1
- /**
2
- * Code Index Database using LokiJS + FlexSearch
3
- * Pure JavaScript implementation with no native dependencies
4
- */
5
- import Loki from 'lokijs';
6
- import type { CreateProjectTaskInput, ProjectTask, ProjectTaskSource, ProjectTaskStatus } from './types/projectTask.js';
7
- import { EnhancedFunctionMetadata, FunctionMetadata, SearchResult, SearchOptions, SchemaDefinition, SchemaIndexMetadata, SchemaUsage } from './types.js';
8
- import { WhitelistEntry, WhitelistType, WhitelistStatus, WhitelistSuggestion } from './types/whitelist.js';
9
- export declare class CodeIndexDB {
10
- private static instance;
11
- /** Subclasses (e.g. EnhancedCodeIndexDB) need access for extra collections without `as any`. */
12
- protected db: Loki;
13
- private functionsCollection;
14
- private whitelistCollection;
15
- private auditResultsCollection;
16
- private analyzerConfigCollection;
17
- private codeMapCollection;
18
- private schemaCollection;
19
- private schemaUsageCollection;
20
- /** User tasks: NOT cleared by clearIndex() — see clearIndex() */
21
- private tasksCollection;
22
- private taskRepository;
23
- private searchIndex;
24
- private dbPath;
25
- private isInitialized;
26
- constructor(dbPath?: string);
27
- static getInstance(dbPath?: string): CodeIndexDB;
28
- initialize(): Promise<void>;
29
- private ensureInitialized;
30
- /**
31
- * Normalize function metadata for indexing
32
- * Converts FunctionMetadata to have required fields for FlexSearch
33
- */
34
- private normalizeFunctionData;
35
- /**
36
- * Tokenize function name for better search
37
- * Splits camelCase, PascalCase, and snake_case into individual words
38
- */
39
- private tokenizeFunctionName;
40
- registerFunction(func: FunctionMetadata | EnhancedFunctionMetadata): Promise<void>;
41
- registerFunctions(functions: (FunctionMetadata | EnhancedFunctionMetadata)[]): Promise<{
42
- success: boolean;
43
- registered: number;
44
- failed: number;
45
- errors?: Array<{
46
- function: string;
47
- error: string;
48
- }>;
49
- }>;
50
- /**
51
- * Synchronize file index - add new functions, update existing, remove deleted
52
- * @param filePath The file path to synchronize
53
- * @param currentFunctions The current functions found in the file
54
- * @returns Sync statistics
55
- */
56
- syncFileIndex(filePath: string, currentFunctions: (FunctionMetadata | EnhancedFunctionMetadata)[]): Promise<{
57
- added: number;
58
- updated: number;
59
- removed: number;
60
- }>;
61
- /**
62
- * Update dependency graph - build reverse mappings for calledBy relationships
63
- * @param filePath Optional file path to limit the update scope
64
- */
65
- updateDependencyGraph(filePath?: string): Promise<void>;
66
- /**
67
- * Find a function by its qualified name (e.g., "filePath#functionName")
68
- */
69
- private findFunctionByQualifiedName;
70
- /**
71
- * Get qualified name for a function
72
- */
73
- private getQualifiedFunctionName;
74
- /**
75
- * Get transitive dependencies for a function (functions it calls, directly and indirectly)
76
- * @param functionName The function to analyze
77
- * @param maxDepth Maximum depth to traverse (default 10)
78
- * @returns Array of function names with their depth
79
- */
80
- getTransitiveDependencies(functionName: string, maxDepth?: number): Promise<Array<{
81
- name: string;
82
- depth: number;
83
- }>>;
84
- /**
85
- * Get transitive callers for a function (functions that call it, directly and indirectly)
86
- * @param functionName The function to analyze
87
- * @param maxDepth Maximum depth to traverse (default 10)
88
- * @returns Array of function names with their depth
89
- */
90
- getTransitiveCallers(functionName: string, maxDepth?: number): Promise<Array<{
91
- name: string;
92
- depth: number;
93
- }>>;
94
- /**
95
- * Detect circular dependencies in the codebase
96
- * @returns Array of circular dependency chains
97
- */
98
- detectCircularDependencies(): Promise<Array<string[]>>;
99
- /**
100
- * Calculate the maximum dependency depth for each function
101
- * Updates the dependencyDepth field in metadata
102
- */
103
- calculateDependencyDepths(): Promise<void>;
104
- /**
105
- * Get all functions from the index
106
- */
107
- getAllFunctions(): Promise<EnhancedFunctionMetadata[]>;
108
- searchFunctions(options: SearchOptions): Promise<SearchResult>;
109
- /**
110
- * Execute multi-strategy search with different approaches
111
- * @param parsedQuery The parsed query object
112
- * @param searchScores Map to store relevance scores
113
- * @returns Array of matching documents
114
- */
115
- private executeMultiStrategySearch;
116
- /**
117
- * Search using FlexSearch and return document results
118
- */
119
- private searchWithFlexSearch;
120
- /**
121
- * Merge search results with scoring
122
- */
123
- private mergeSearchResults;
124
- /**
125
- * Calculate bonus score based on which fields matched
126
- */
127
- private calculateFieldMatchScore;
128
- /**
129
- * Count how many terms match in a document
130
- */
131
- private countMatchingTerms;
132
- /**
133
- * Get searchable text from document
134
- */
135
- private getDocumentSearchText;
136
- /**
137
- * Get synonyms for a term using QueryParser
138
- */
139
- private getSynonyms;
140
- /**
141
- * Exclude documents containing any of the excluded terms
142
- */
143
- private excludeTermsFromResults;
144
- /**
145
- * Intersect multiple sets to find common elements
146
- */
147
- private intersectSets;
148
- /**
149
- * Merge filters from options and parsed query
150
- */
151
- private mergeFilters;
152
- /**
153
- * Apply filters to search results
154
- */
155
- private applyFilters;
156
- findDefinition(name: string, filePath?: string): Promise<EnhancedFunctionMetadata | null>;
157
- getStats(): Promise<{
158
- totalFunctions: number;
159
- languages: Record<string, number>;
160
- topDependencies: Array<{
161
- name: string;
162
- count: number;
163
- }>;
164
- filesIndexed: number;
165
- lastUpdated: Date;
166
- }>;
167
- /**
168
- * Drops analysis-derived data so search, cached audits, code maps, and schema overlays
169
- * cannot reference removed or stale code ("ghost" analysis).
170
- *
171
- * Clears: indexed functions, FlexSearch, auditResults, codeMaps, schemas, schemaUsage.
172
- * Preserves: projectTasks, analyzerConfigs, whitelist (user rules, not mirrored code).
173
- *
174
- * When adding collections that store derived code intelligence, clear them here unless
175
- * they are durable user preferences (same category as analyzerConfigs).
176
- */
177
- clearIndex(): Promise<void>;
178
- close(): Promise<void>;
179
- private getTaskRepository;
180
- /**
181
- * Synchronize a single file's functions with the index
182
- * Adds new functions, updates existing ones, and removes deleted ones
183
- */
184
- synchronizeFile(filePath: string): Promise<{
185
- added: number;
186
- updated: number;
187
- removed: number;
188
- } | null>;
189
- /**
190
- * Performs bulk cleanup of the index by verifying all indexed files still exist
191
- * and removing entries for deleted files
192
- */
193
- bulkCleanup(): Promise<{
194
- scannedCount: number;
195
- removedCount: number;
196
- removedFiles: string[];
197
- errors: Array<{
198
- file: string;
199
- error: string;
200
- }>;
201
- }>;
202
- /**
203
- * Performs deep synchronization by re-scanning all indexed files
204
- * Updates function signatures and removes stale entries
205
- */
206
- deepSync(progressCallback?: (progress: {
207
- current: number;
208
- total: number;
209
- file: string;
210
- }) => void): Promise<{
211
- syncedFiles: number;
212
- addedFunctions: number;
213
- updatedFunctions: number;
214
- removedFunctions: number;
215
- errors: Array<{
216
- file: string;
217
- error: string;
218
- }>;
219
- }>;
220
- /**
221
- * Execute content search - search within function bodies
222
- */
223
- private executeContentSearch;
224
- /**
225
- * Initialize default whitelist entries
226
- */
227
- private initializeDefaultWhitelists;
228
- /**
229
- * Get all whitelist entries
230
- */
231
- getWhitelist(type?: WhitelistType, status?: WhitelistStatus): Promise<WhitelistEntry[]>;
232
- /**
233
- * Add a whitelist entry
234
- */
235
- addWhitelistEntry(entry: Omit<WhitelistEntry, 'id' | 'addedAt'>): Promise<WhitelistEntry>;
236
- /**
237
- * Update whitelist entry status
238
- */
239
- updateWhitelistStatus(name: string, status: WhitelistStatus): Promise<void>;
240
- /**
241
- * Check if a class/import is whitelisted
242
- */
243
- isWhitelisted(name: string, type: WhitelistType): boolean;
244
- /**
245
- * Detect and suggest new whitelist entries based on usage patterns
246
- */
247
- detectWhitelistCandidates(): Promise<WhitelistSuggestion[]>;
248
- /**
249
- * Store audit results in database
250
- */
251
- storeAuditResults(auditResult: any, projectPath: string): Promise<string>;
252
- /**
253
- * Retrieve cached audit results
254
- */
255
- getAuditResults(auditId: string): Promise<any | null>;
256
- /**
257
- * Clean up expired audit results
258
- */
259
- private cleanupExpiredAudits;
260
- /**
261
- * Store analyzer configuration
262
- */
263
- storeAnalyzerConfig(analyzerName: string, config: Record<string, any>, options?: {
264
- projectPath?: string;
265
- isGlobal?: boolean;
266
- metadata?: any;
267
- }): Promise<string>;
268
- /**
269
- * Retrieve analyzer configuration
270
- */
271
- getAnalyzerConfig(analyzerName: string, projectPath?: string): Promise<Record<string, any> | null>;
272
- /**
273
- * Get all analyzer configurations
274
- */
275
- getAllAnalyzerConfigs(projectPath?: string): Promise<Record<string, any>>;
276
- /**
277
- * Delete analyzer configuration
278
- */
279
- deleteAnalyzerConfig(analyzerName: string, options?: {
280
- projectPath?: string;
281
- isGlobal?: boolean;
282
- }): Promise<boolean>;
283
- /**
284
- * Reset all analyzer configurations to defaults
285
- */
286
- resetAnalyzerConfigs(projectPath?: string): Promise<void>;
287
- /**
288
- * Store a code map section in the database
289
- */
290
- storeCodeMapSection(mapId: string, sectionType: string, content: string, metadata?: any): Promise<void>;
291
- /**
292
- * Retrieve a code map section
293
- */
294
- getCodeMapSection(mapId: string, sectionType: string): Promise<{
295
- content: string;
296
- metadata: any;
297
- } | null>;
298
- /**
299
- * List available code map sections for a mapId
300
- */
301
- listCodeMapSections(mapId: string): Promise<Array<{
302
- sectionType: string;
303
- size: number;
304
- timestamp: Date;
305
- }>>;
306
- /**
307
- * Clear code map sections older than specified time
308
- */
309
- clearOldCodeMaps(olderThanHours?: number): Promise<number>;
310
- /**
311
- * Delete all sections for a specific mapId
312
- */
313
- deleteCodeMap(mapId: string): Promise<number>;
314
- /**
315
- * Store a database schema definition
316
- */
317
- storeSchema(schema: SchemaDefinition): Promise<string>;
318
- /**
319
- * Retrieve a schema by ID
320
- */
321
- getSchema(schemaId: string): Promise<SchemaDefinition | null>;
322
- /**
323
- * Get all schemas
324
- */
325
- getAllSchemas(): Promise<Array<{
326
- schemaId: string;
327
- metadata: SchemaIndexMetadata;
328
- schema: SchemaDefinition;
329
- }>>;
330
- /**
331
- * Delete a schema
332
- */
333
- deleteSchema(schemaId: string): Promise<boolean>;
334
- /**
335
- * Record schema usage in code
336
- */
337
- recordSchemaUsage(usage: SchemaUsage, schemaId?: string): Promise<void>;
338
- /**
339
- * Get schema usage patterns
340
- */
341
- getSchemaUsage(options?: {
342
- schemaId?: string;
343
- tableName?: string;
344
- filePath?: string;
345
- functionName?: string;
346
- usageType?: string;
347
- }): Promise<SchemaUsage[]>;
348
- /**
349
- * Find functions that interact with specific tables
350
- */
351
- findFunctionsUsingTable(tableName: string): Promise<Array<{
352
- functionName: string;
353
- filePath: string;
354
- usageType: string;
355
- line: number;
356
- }>>;
357
- /**
358
- * Get schema statistics
359
- */
360
- getSchemaStats(): Promise<{
361
- totalSchemas: number;
362
- totalTables: number;
363
- totalUsagePatterns: number;
364
- mostUsedTables: Array<{
365
- tableName: string;
366
- usageCount: number;
367
- }>;
368
- usageByType: Record<string, number>;
369
- }>;
370
- /**
371
- * Update search to include schema context
372
- */
373
- searchWithSchemaContext(query: string, options?: SearchOptions & {
374
- includeSchemaUsage?: boolean;
375
- }): Promise<SearchResult & {
376
- schemaContext?: Array<{
377
- tableName: string;
378
- usageType: string;
379
- }>;
380
- }>;
381
- createProjectTask(input: CreateProjectTaskInput): Promise<ProjectTask>;
382
- getProjectTask(taskId: string): Promise<ProjectTask | null>;
383
- listProjectTasks(projectPath: string, options?: {
384
- status?: ProjectTaskStatus;
385
- source?: ProjectTaskSource;
386
- limit?: number;
387
- }): Promise<ProjectTask[]>;
388
- /**
389
- * @param patch Raw JSON-shaped update; unknown keys are ignored (see sanitizeUpdatePatch).
390
- */
391
- updateProjectTask(taskId: string, patch: unknown): Promise<ProjectTask | null>;
392
- deleteProjectTask(taskId: string): Promise<boolean>;
393
- }
394
- //# sourceMappingURL=codeIndexDB.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codeIndexDB.d.ts","sourceRoot":"","sources":["../src/codeIndexDB.ts"],"names":[],"mappings":"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"}