@egentica/codemap 0.1.5

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 (527) hide show
  1. package/LICENSE.md +165 -0
  2. package/README.md +479 -0
  3. package/dist/adapters/EgenticaMcpAdapter.d.ts +128 -0
  4. package/dist/adapters/EgenticaMcpAdapter.d.ts.map +1 -0
  5. package/dist/adapters/EgenticaMcpAdapter.js +218 -0
  6. package/dist/adapters/EgenticaMcpAdapter.js.map +1 -0
  7. package/dist/assist/AssistEngine.d.ts +107 -0
  8. package/dist/assist/AssistEngine.d.ts.map +1 -0
  9. package/dist/assist/AssistEngine.js +188 -0
  10. package/dist/assist/AssistEngine.js.map +1 -0
  11. package/dist/assist/AssistScorer.d.ts +91 -0
  12. package/dist/assist/AssistScorer.d.ts.map +1 -0
  13. package/dist/assist/AssistScorer.js +254 -0
  14. package/dist/assist/AssistScorer.js.map +1 -0
  15. package/dist/assist/PatternAggregator.d.ts +116 -0
  16. package/dist/assist/PatternAggregator.d.ts.map +1 -0
  17. package/dist/assist/PatternAggregator.js +311 -0
  18. package/dist/assist/PatternAggregator.js.map +1 -0
  19. package/dist/assist/RelevanceScorer.d.ts +104 -0
  20. package/dist/assist/RelevanceScorer.d.ts.map +1 -0
  21. package/dist/assist/RelevanceScorer.js +240 -0
  22. package/dist/assist/RelevanceScorer.js.map +1 -0
  23. package/dist/assist/index.d.ts +6 -0
  24. package/dist/assist/index.d.ts.map +1 -0
  25. package/dist/assist/index.js +9 -0
  26. package/dist/assist/index.js.map +1 -0
  27. package/dist/core/AnnotationStore.d.ts +101 -0
  28. package/dist/core/AnnotationStore.d.ts.map +1 -0
  29. package/dist/core/AnnotationStore.js +236 -0
  30. package/dist/core/AnnotationStore.js.map +1 -0
  31. package/dist/core/BackupManager.d.ts +92 -0
  32. package/dist/core/BackupManager.d.ts.map +1 -0
  33. package/dist/core/BackupManager.js +311 -0
  34. package/dist/core/BackupManager.js.map +1 -0
  35. package/dist/core/ChecklistStore.d.ts +66 -0
  36. package/dist/core/ChecklistStore.d.ts.map +1 -0
  37. package/dist/core/ChecklistStore.js +199 -0
  38. package/dist/core/ChecklistStore.js.map +1 -0
  39. package/dist/core/CodeMap.d.ts +614 -0
  40. package/dist/core/CodeMap.d.ts.map +1 -0
  41. package/dist/core/CodeMap.js +880 -0
  42. package/dist/core/CodeMap.js.map +1 -0
  43. package/dist/core/DisplayFilter.d.ts +83 -0
  44. package/dist/core/DisplayFilter.d.ts.map +1 -0
  45. package/dist/core/DisplayFilter.js +228 -0
  46. package/dist/core/DisplayFilter.js.map +1 -0
  47. package/dist/core/EventBus.d.ts +114 -0
  48. package/dist/core/EventBus.d.ts.map +1 -0
  49. package/dist/core/EventBus.js +192 -0
  50. package/dist/core/EventBus.js.map +1 -0
  51. package/dist/core/ExperienceStore.d.ts +170 -0
  52. package/dist/core/ExperienceStore.d.ts.map +1 -0
  53. package/dist/core/ExperienceStore.js +292 -0
  54. package/dist/core/ExperienceStore.js.map +1 -0
  55. package/dist/core/ExperienceTracker.d.ts +110 -0
  56. package/dist/core/ExperienceTracker.d.ts.map +1 -0
  57. package/dist/core/ExperienceTracker.js +291 -0
  58. package/dist/core/ExperienceTracker.js.map +1 -0
  59. package/dist/core/FileSystemGraph.d.ts +157 -0
  60. package/dist/core/FileSystemGraph.d.ts.map +1 -0
  61. package/dist/core/FileSystemGraph.js +316 -0
  62. package/dist/core/FileSystemGraph.js.map +1 -0
  63. package/dist/core/FileSystemIO.d.ts +222 -0
  64. package/dist/core/FileSystemIO.d.ts.map +1 -0
  65. package/dist/core/FileSystemIO.js +403 -0
  66. package/dist/core/FileSystemIO.js.map +1 -0
  67. package/dist/core/FuzzyMatcher.d.ts +51 -0
  68. package/dist/core/FuzzyMatcher.d.ts.map +1 -0
  69. package/dist/core/FuzzyMatcher.js +280 -0
  70. package/dist/core/FuzzyMatcher.js.map +1 -0
  71. package/dist/core/GroupStore.d.ts +114 -0
  72. package/dist/core/GroupStore.d.ts.map +1 -0
  73. package/dist/core/GroupStore.js +246 -0
  74. package/dist/core/GroupStore.js.map +1 -0
  75. package/dist/core/HelpRegistry.d.ts +116 -0
  76. package/dist/core/HelpRegistry.d.ts.map +1 -0
  77. package/dist/core/HelpRegistry.js +160 -0
  78. package/dist/core/HelpRegistry.js.map +1 -0
  79. package/dist/core/HintRegistry.d.ts +49 -0
  80. package/dist/core/HintRegistry.d.ts.map +1 -0
  81. package/dist/core/HintRegistry.js +81 -0
  82. package/dist/core/HintRegistry.js.map +1 -0
  83. package/dist/core/LabelStore.d.ts +88 -0
  84. package/dist/core/LabelStore.d.ts.map +1 -0
  85. package/dist/core/LabelStore.js +520 -0
  86. package/dist/core/LabelStore.js.map +1 -0
  87. package/dist/core/LineRangeWriter.d.ts +63 -0
  88. package/dist/core/LineRangeWriter.d.ts.map +1 -0
  89. package/dist/core/LineRangeWriter.js +179 -0
  90. package/dist/core/LineRangeWriter.js.map +1 -0
  91. package/dist/core/ParserRegistry.d.ts +70 -0
  92. package/dist/core/ParserRegistry.d.ts.map +1 -0
  93. package/dist/core/ParserRegistry.js +109 -0
  94. package/dist/core/ParserRegistry.js.map +1 -0
  95. package/dist/core/PluginRegistry.d.ts +120 -0
  96. package/dist/core/PluginRegistry.d.ts.map +1 -0
  97. package/dist/core/PluginRegistry.js +230 -0
  98. package/dist/core/PluginRegistry.js.map +1 -0
  99. package/dist/core/QueryEngine.d.ts +134 -0
  100. package/dist/core/QueryEngine.d.ts.map +1 -0
  101. package/dist/core/QueryEngine.js +211 -0
  102. package/dist/core/QueryEngine.js.map +1 -0
  103. package/dist/core/Scanner.d.ts +84 -0
  104. package/dist/core/Scanner.d.ts.map +1 -0
  105. package/dist/core/Scanner.js +184 -0
  106. package/dist/core/Scanner.js.map +1 -0
  107. package/dist/core/SessionTransactionLog.d.ts +138 -0
  108. package/dist/core/SessionTransactionLog.d.ts.map +1 -0
  109. package/dist/core/SessionTransactionLog.js +397 -0
  110. package/dist/core/SessionTransactionLog.js.map +1 -0
  111. package/dist/core/TargetParser.d.ts +85 -0
  112. package/dist/core/TargetParser.d.ts.map +1 -0
  113. package/dist/core/TargetParser.js +167 -0
  114. package/dist/core/TargetParser.js.map +1 -0
  115. package/dist/core/TargetResolver.d.ts +115 -0
  116. package/dist/core/TargetResolver.d.ts.map +1 -0
  117. package/dist/core/TargetResolver.js +237 -0
  118. package/dist/core/TargetResolver.js.map +1 -0
  119. package/dist/core/WriteSafetyGuard.d.ts +101 -0
  120. package/dist/core/WriteSafetyGuard.d.ts.map +1 -0
  121. package/dist/core/WriteSafetyGuard.js +265 -0
  122. package/dist/core/WriteSafetyGuard.js.map +1 -0
  123. package/dist/core/index.d.ts +38 -0
  124. package/dist/core/index.d.ts.map +1 -0
  125. package/dist/core/index.js +51 -0
  126. package/dist/core/index.js.map +1 -0
  127. package/dist/core/query/DependencyTraversal.d.ts +23 -0
  128. package/dist/core/query/DependencyTraversal.d.ts.map +1 -0
  129. package/dist/core/query/DependencyTraversal.js +55 -0
  130. package/dist/core/query/DependencyTraversal.js.map +1 -0
  131. package/dist/core/query/ResultProcessor.d.ts +20 -0
  132. package/dist/core/query/ResultProcessor.d.ts.map +1 -0
  133. package/dist/core/query/ResultProcessor.js +99 -0
  134. package/dist/core/query/ResultProcessor.js.map +1 -0
  135. package/dist/core/query/SymbolSearchEngine.d.ts +20 -0
  136. package/dist/core/query/SymbolSearchEngine.d.ts.map +1 -0
  137. package/dist/core/query/SymbolSearchEngine.js +109 -0
  138. package/dist/core/query/SymbolSearchEngine.js.map +1 -0
  139. package/dist/core/query/TextSearchEngine.d.ts +23 -0
  140. package/dist/core/query/TextSearchEngine.d.ts.map +1 -0
  141. package/dist/core/query/TextSearchEngine.js +69 -0
  142. package/dist/core/query/TextSearchEngine.js.map +1 -0
  143. package/dist/core/query/index.d.ts +11 -0
  144. package/dist/core/query/index.d.ts.map +1 -0
  145. package/dist/core/query/index.js +18 -0
  146. package/dist/core/query/index.js.map +1 -0
  147. package/dist/core/scan/DependencyResolver.d.ts +26 -0
  148. package/dist/core/scan/DependencyResolver.d.ts.map +1 -0
  149. package/dist/core/scan/DependencyResolver.js +81 -0
  150. package/dist/core/scan/DependencyResolver.js.map +1 -0
  151. package/dist/core/scan/DirectoryWalker.d.ts +39 -0
  152. package/dist/core/scan/DirectoryWalker.d.ts.map +1 -0
  153. package/dist/core/scan/DirectoryWalker.js +136 -0
  154. package/dist/core/scan/DirectoryWalker.js.map +1 -0
  155. package/dist/core/scan/IgnorePatternMatcher.d.ts +32 -0
  156. package/dist/core/scan/IgnorePatternMatcher.d.ts.map +1 -0
  157. package/dist/core/scan/IgnorePatternMatcher.js +120 -0
  158. package/dist/core/scan/IgnorePatternMatcher.js.map +1 -0
  159. package/dist/core/scan/index.d.ts +10 -0
  160. package/dist/core/scan/index.d.ts.map +1 -0
  161. package/dist/core/scan/index.js +16 -0
  162. package/dist/core/scan/index.js.map +1 -0
  163. package/dist/core/utils/packageDiscovery.d.ts +24 -0
  164. package/dist/core/utils/packageDiscovery.d.ts.map +1 -0
  165. package/dist/core/utils/packageDiscovery.js +37 -0
  166. package/dist/core/utils/packageDiscovery.js.map +1 -0
  167. package/dist/index.d.ts +18 -0
  168. package/dist/index.d.ts.map +1 -0
  169. package/dist/index.js +37 -0
  170. package/dist/index.js.map +1 -0
  171. package/dist/mcp/operations/annotations.d.ts +9 -0
  172. package/dist/mcp/operations/annotations.d.ts.map +1 -0
  173. package/dist/mcp/operations/annotations.js +66 -0
  174. package/dist/mcp/operations/annotations.js.map +1 -0
  175. package/dist/mcp/operations/files.d.ts +13 -0
  176. package/dist/mcp/operations/files.d.ts.map +1 -0
  177. package/dist/mcp/operations/files.js +173 -0
  178. package/dist/mcp/operations/files.js.map +1 -0
  179. package/dist/mcp/operations/graph.d.ts +10 -0
  180. package/dist/mcp/operations/graph.d.ts.map +1 -0
  181. package/dist/mcp/operations/graph.js +69 -0
  182. package/dist/mcp/operations/graph.js.map +1 -0
  183. package/dist/mcp/operations/groups.d.ts +55 -0
  184. package/dist/mcp/operations/groups.d.ts.map +1 -0
  185. package/dist/mcp/operations/groups.js +233 -0
  186. package/dist/mcp/operations/groups.js.map +1 -0
  187. package/dist/mcp/operations/help.d.ts +36 -0
  188. package/dist/mcp/operations/help.d.ts.map +1 -0
  189. package/dist/mcp/operations/help.js +322 -0
  190. package/dist/mcp/operations/help.js.map +1 -0
  191. package/dist/mcp/operations/session.d.ts +13 -0
  192. package/dist/mcp/operations/session.d.ts.map +1 -0
  193. package/dist/mcp/operations/session.js +169 -0
  194. package/dist/mcp/operations/session.js.map +1 -0
  195. package/dist/mcp/operations/writes.d.ts +14 -0
  196. package/dist/mcp/operations/writes.d.ts.map +1 -0
  197. package/dist/mcp/operations/writes.js +287 -0
  198. package/dist/mcp/operations/writes.js.map +1 -0
  199. package/dist/mcp/registry/ToolRegistry.d.ts +54 -0
  200. package/dist/mcp/registry/ToolRegistry.d.ts.map +1 -0
  201. package/dist/mcp/registry/ToolRegistry.js +219 -0
  202. package/dist/mcp/registry/ToolRegistry.js.map +1 -0
  203. package/dist/mcp/registry/context-guard.d.ts +13 -0
  204. package/dist/mcp/registry/context-guard.d.ts.map +1 -0
  205. package/dist/mcp/registry/context-guard.js +19 -0
  206. package/dist/mcp/registry/context-guard.js.map +1 -0
  207. package/dist/mcp/registry/schemas.d.ts +221 -0
  208. package/dist/mcp/registry/schemas.d.ts.map +1 -0
  209. package/dist/mcp/registry/schemas.js +217 -0
  210. package/dist/mcp/registry/schemas.js.map +1 -0
  211. package/dist/mcp/registry/types.d.ts +50 -0
  212. package/dist/mcp/registry/types.d.ts.map +1 -0
  213. package/dist/mcp/registry/types.js +5 -0
  214. package/dist/mcp/registry/types.js.map +1 -0
  215. package/dist/mcp/server.d.ts +35 -0
  216. package/dist/mcp/server.d.ts.map +1 -0
  217. package/dist/mcp/server.js +264 -0
  218. package/dist/mcp/server.js.map +1 -0
  219. package/dist/mcp/tools/annotations/add.tool.d.ts +10 -0
  220. package/dist/mcp/tools/annotations/add.tool.d.ts.map +1 -0
  221. package/dist/mcp/tools/annotations/add.tool.js +88 -0
  222. package/dist/mcp/tools/annotations/add.tool.js.map +1 -0
  223. package/dist/mcp/tools/annotations/edit.tool.d.ts +10 -0
  224. package/dist/mcp/tools/annotations/edit.tool.d.ts.map +1 -0
  225. package/dist/mcp/tools/annotations/edit.tool.js +92 -0
  226. package/dist/mcp/tools/annotations/edit.tool.js.map +1 -0
  227. package/dist/mcp/tools/annotations/remove.tool.d.ts +9 -0
  228. package/dist/mcp/tools/annotations/remove.tool.d.ts.map +1 -0
  229. package/dist/mcp/tools/annotations/remove.tool.js +87 -0
  230. package/dist/mcp/tools/annotations/remove.tool.js.map +1 -0
  231. package/dist/mcp/tools/annotations/search-annotations.tool.d.ts +11 -0
  232. package/dist/mcp/tools/annotations/search-annotations.tool.d.ts.map +1 -0
  233. package/dist/mcp/tools/annotations/search-annotations.tool.js +91 -0
  234. package/dist/mcp/tools/annotations/search-annotations.tool.js.map +1 -0
  235. package/dist/mcp/tools/backup/list.tool.d.ts +16 -0
  236. package/dist/mcp/tools/backup/list.tool.d.ts.map +1 -0
  237. package/dist/mcp/tools/backup/list.tool.js +48 -0
  238. package/dist/mcp/tools/backup/list.tool.js.map +1 -0
  239. package/dist/mcp/tools/backup/restore.tool.d.ts +15 -0
  240. package/dist/mcp/tools/backup/restore.tool.d.ts.map +1 -0
  241. package/dist/mcp/tools/backup/restore.tool.js +138 -0
  242. package/dist/mcp/tools/backup/restore.tool.js.map +1 -0
  243. package/dist/mcp/tools/checklist/add.tool.d.ts +17 -0
  244. package/dist/mcp/tools/checklist/add.tool.d.ts.map +1 -0
  245. package/dist/mcp/tools/checklist/add.tool.js +53 -0
  246. package/dist/mcp/tools/checklist/add.tool.js.map +1 -0
  247. package/dist/mcp/tools/checklist/list.tool.d.ts +11 -0
  248. package/dist/mcp/tools/checklist/list.tool.d.ts.map +1 -0
  249. package/dist/mcp/tools/checklist/list.tool.js +53 -0
  250. package/dist/mcp/tools/checklist/list.tool.js.map +1 -0
  251. package/dist/mcp/tools/checklist/remove.tool.d.ts +9 -0
  252. package/dist/mcp/tools/checklist/remove.tool.d.ts.map +1 -0
  253. package/dist/mcp/tools/checklist/remove.tool.js +63 -0
  254. package/dist/mcp/tools/checklist/remove.tool.js.map +1 -0
  255. package/dist/mcp/tools/graph/get-dependencies.tool.d.ts +8 -0
  256. package/dist/mcp/tools/graph/get-dependencies.tool.d.ts.map +1 -0
  257. package/dist/mcp/tools/graph/get-dependencies.tool.js +58 -0
  258. package/dist/mcp/tools/graph/get-dependencies.tool.js.map +1 -0
  259. package/dist/mcp/tools/graph/get-related.tool.d.ts +9 -0
  260. package/dist/mcp/tools/graph/get-related.tool.d.ts.map +1 -0
  261. package/dist/mcp/tools/graph/get-related.tool.js +63 -0
  262. package/dist/mcp/tools/graph/get-related.tool.js.map +1 -0
  263. package/dist/mcp/tools/graph/impact-analysis.tool.d.ts +9 -0
  264. package/dist/mcp/tools/graph/impact-analysis.tool.d.ts.map +1 -0
  265. package/dist/mcp/tools/graph/impact-analysis.tool.js +61 -0
  266. package/dist/mcp/tools/graph/impact-analysis.tool.js.map +1 -0
  267. package/dist/mcp/tools/graph/traverse.tool.d.ts +13 -0
  268. package/dist/mcp/tools/graph/traverse.tool.d.ts.map +1 -0
  269. package/dist/mcp/tools/graph/traverse.tool.js +59 -0
  270. package/dist/mcp/tools/graph/traverse.tool.js.map +1 -0
  271. package/dist/mcp/tools/groups/add.tool.d.ts +10 -0
  272. package/dist/mcp/tools/groups/add.tool.d.ts.map +1 -0
  273. package/dist/mcp/tools/groups/add.tool.js +85 -0
  274. package/dist/mcp/tools/groups/add.tool.js.map +1 -0
  275. package/dist/mcp/tools/groups/notate.tool.d.ts +11 -0
  276. package/dist/mcp/tools/groups/notate.tool.d.ts.map +1 -0
  277. package/dist/mcp/tools/groups/notate.tool.js +86 -0
  278. package/dist/mcp/tools/groups/notate.tool.js.map +1 -0
  279. package/dist/mcp/tools/groups/search.tool.d.ts +8 -0
  280. package/dist/mcp/tools/groups/search.tool.d.ts.map +1 -0
  281. package/dist/mcp/tools/groups/search.tool.js +81 -0
  282. package/dist/mcp/tools/groups/search.tool.js.map +1 -0
  283. package/dist/mcp/tools/io/append.tool.d.ts +10 -0
  284. package/dist/mcp/tools/io/append.tool.d.ts.map +1 -0
  285. package/dist/mcp/tools/io/append.tool.js +103 -0
  286. package/dist/mcp/tools/io/append.tool.js.map +1 -0
  287. package/dist/mcp/tools/io/create.tool.d.ts +11 -0
  288. package/dist/mcp/tools/io/create.tool.d.ts.map +1 -0
  289. package/dist/mcp/tools/io/create.tool.js +119 -0
  290. package/dist/mcp/tools/io/create.tool.js.map +1 -0
  291. package/dist/mcp/tools/io/delete.tool.d.ts +9 -0
  292. package/dist/mcp/tools/io/delete.tool.d.ts.map +1 -0
  293. package/dist/mcp/tools/io/delete.tool.js +129 -0
  294. package/dist/mcp/tools/io/delete.tool.js.map +1 -0
  295. package/dist/mcp/tools/io/get-annotations.tool.d.ts +10 -0
  296. package/dist/mcp/tools/io/get-annotations.tool.d.ts.map +1 -0
  297. package/dist/mcp/tools/io/get-annotations.tool.js +97 -0
  298. package/dist/mcp/tools/io/get-annotations.tool.js.map +1 -0
  299. package/dist/mcp/tools/io/get-symbols.tool.d.ts +9 -0
  300. package/dist/mcp/tools/io/get-symbols.tool.d.ts.map +1 -0
  301. package/dist/mcp/tools/io/get-symbols.tool.js +63 -0
  302. package/dist/mcp/tools/io/get-symbols.tool.js.map +1 -0
  303. package/dist/mcp/tools/io/list.tool.d.ts +8 -0
  304. package/dist/mcp/tools/io/list.tool.d.ts.map +1 -0
  305. package/dist/mcp/tools/io/list.tool.js +68 -0
  306. package/dist/mcp/tools/io/list.tool.js.map +1 -0
  307. package/dist/mcp/tools/io/peek.tool.d.ts +11 -0
  308. package/dist/mcp/tools/io/peek.tool.d.ts.map +1 -0
  309. package/dist/mcp/tools/io/peek.tool.js +74 -0
  310. package/dist/mcp/tools/io/peek.tool.js.map +1 -0
  311. package/dist/mcp/tools/io/read-multiple.tool.d.ts +9 -0
  312. package/dist/mcp/tools/io/read-multiple.tool.d.ts.map +1 -0
  313. package/dist/mcp/tools/io/read-multiple.tool.js +72 -0
  314. package/dist/mcp/tools/io/read-multiple.tool.js.map +1 -0
  315. package/dist/mcp/tools/io/read.tool.d.ts +13 -0
  316. package/dist/mcp/tools/io/read.tool.d.ts.map +1 -0
  317. package/dist/mcp/tools/io/read.tool.js +132 -0
  318. package/dist/mcp/tools/io/read.tool.js.map +1 -0
  319. package/dist/mcp/tools/io/rename.tool.d.ts +9 -0
  320. package/dist/mcp/tools/io/rename.tool.d.ts.map +1 -0
  321. package/dist/mcp/tools/io/rename.tool.js +101 -0
  322. package/dist/mcp/tools/io/rename.tool.js.map +1 -0
  323. package/dist/mcp/tools/io/replace-many.tool.d.ts +10 -0
  324. package/dist/mcp/tools/io/replace-many.tool.d.ts.map +1 -0
  325. package/dist/mcp/tools/io/replace-many.tool.js +114 -0
  326. package/dist/mcp/tools/io/replace-many.tool.js.map +1 -0
  327. package/dist/mcp/tools/io/replace-text.tool.d.ts +12 -0
  328. package/dist/mcp/tools/io/replace-text.tool.d.ts.map +1 -0
  329. package/dist/mcp/tools/io/replace-text.tool.js +213 -0
  330. package/dist/mcp/tools/io/replace-text.tool.js.map +1 -0
  331. package/dist/mcp/tools/io/write.tool.d.ts +10 -0
  332. package/dist/mcp/tools/io/write.tool.d.ts.map +1 -0
  333. package/dist/mcp/tools/io/write.tool.js +103 -0
  334. package/dist/mcp/tools/io/write.tool.js.map +1 -0
  335. package/dist/mcp/tools/labels/assign.tool.d.ts +16 -0
  336. package/dist/mcp/tools/labels/assign.tool.d.ts.map +1 -0
  337. package/dist/mcp/tools/labels/assign.tool.js +52 -0
  338. package/dist/mcp/tools/labels/assign.tool.js.map +1 -0
  339. package/dist/mcp/tools/labels/create.tool.d.ts +12 -0
  340. package/dist/mcp/tools/labels/create.tool.d.ts.map +1 -0
  341. package/dist/mcp/tools/labels/create.tool.js +51 -0
  342. package/dist/mcp/tools/labels/create.tool.js.map +1 -0
  343. package/dist/mcp/tools/labels/delete.tool.d.ts +9 -0
  344. package/dist/mcp/tools/labels/delete.tool.d.ts.map +1 -0
  345. package/dist/mcp/tools/labels/delete.tool.js +48 -0
  346. package/dist/mcp/tools/labels/delete.tool.js.map +1 -0
  347. package/dist/mcp/tools/labels/edit.tool.d.ts +13 -0
  348. package/dist/mcp/tools/labels/edit.tool.d.ts.map +1 -0
  349. package/dist/mcp/tools/labels/edit.tool.js +58 -0
  350. package/dist/mcp/tools/labels/edit.tool.js.map +1 -0
  351. package/dist/mcp/tools/labels/list.tool.d.ts +11 -0
  352. package/dist/mcp/tools/labels/list.tool.d.ts.map +1 -0
  353. package/dist/mcp/tools/labels/list.tool.js +47 -0
  354. package/dist/mcp/tools/labels/list.tool.js.map +1 -0
  355. package/dist/mcp/tools/labels/migrate.tool.d.ts +10 -0
  356. package/dist/mcp/tools/labels/migrate.tool.d.ts.map +1 -0
  357. package/dist/mcp/tools/labels/migrate.tool.js +50 -0
  358. package/dist/mcp/tools/labels/migrate.tool.js.map +1 -0
  359. package/dist/mcp/tools/labels/search.tool.d.ts +16 -0
  360. package/dist/mcp/tools/labels/search.tool.d.ts.map +1 -0
  361. package/dist/mcp/tools/labels/search.tool.js +55 -0
  362. package/dist/mcp/tools/labels/search.tool.js.map +1 -0
  363. package/dist/mcp/tools/labels/unassign.tool.d.ts +9 -0
  364. package/dist/mcp/tools/labels/unassign.tool.d.ts.map +1 -0
  365. package/dist/mcp/tools/labels/unassign.tool.js +49 -0
  366. package/dist/mcp/tools/labels/unassign.tool.js.map +1 -0
  367. package/dist/mcp/tools/search/find-by-name.tool.d.ts +8 -0
  368. package/dist/mcp/tools/search/find-by-name.tool.d.ts.map +1 -0
  369. package/dist/mcp/tools/search/find-by-name.tool.js +57 -0
  370. package/dist/mcp/tools/search/find-by-name.tool.js.map +1 -0
  371. package/dist/mcp/tools/search/find-relevant.tool.d.ts +9 -0
  372. package/dist/mcp/tools/search/find-relevant.tool.d.ts.map +1 -0
  373. package/dist/mcp/tools/search/find-relevant.tool.js +71 -0
  374. package/dist/mcp/tools/search/find-relevant.tool.js.map +1 -0
  375. package/dist/mcp/tools/search/scan.tool.d.ts +8 -0
  376. package/dist/mcp/tools/search/scan.tool.d.ts.map +1 -0
  377. package/dist/mcp/tools/search/scan.tool.js +103 -0
  378. package/dist/mcp/tools/search/scan.tool.js.map +1 -0
  379. package/dist/mcp/tools/search/search-elements.tool.d.ts +11 -0
  380. package/dist/mcp/tools/search/search-elements.tool.d.ts.map +1 -0
  381. package/dist/mcp/tools/search/search-elements.tool.js +71 -0
  382. package/dist/mcp/tools/search/search-elements.tool.js.map +1 -0
  383. package/dist/mcp/tools/search/search-in-files.tool.d.ts +14 -0
  384. package/dist/mcp/tools/search/search-in-files.tool.d.ts.map +1 -0
  385. package/dist/mcp/tools/search/search-in-files.tool.js +204 -0
  386. package/dist/mcp/tools/search/search-in-files.tool.js.map +1 -0
  387. package/dist/mcp/tools/search/search.tool.d.ts +25 -0
  388. package/dist/mcp/tools/search/search.tool.d.ts.map +1 -0
  389. package/dist/mcp/tools/search/search.tool.js +109 -0
  390. package/dist/mcp/tools/search/search.tool.js.map +1 -0
  391. package/dist/mcp/tools/session/audit.tool.d.ts +6 -0
  392. package/dist/mcp/tools/session/audit.tool.d.ts.map +1 -0
  393. package/dist/mcp/tools/session/audit.tool.js +64 -0
  394. package/dist/mcp/tools/session/audit.tool.js.map +1 -0
  395. package/dist/mcp/tools/session/close.tool.d.ts +11 -0
  396. package/dist/mcp/tools/session/close.tool.d.ts.map +1 -0
  397. package/dist/mcp/tools/session/close.tool.js +79 -0
  398. package/dist/mcp/tools/session/close.tool.js.map +1 -0
  399. package/dist/mcp/tools/session/execute-shell.tool.d.ts +11 -0
  400. package/dist/mcp/tools/session/execute-shell.tool.d.ts.map +1 -0
  401. package/dist/mcp/tools/session/execute-shell.tool.js +87 -0
  402. package/dist/mcp/tools/session/execute-shell.tool.js.map +1 -0
  403. package/dist/mcp/tools/session/help.tool.d.ts +8 -0
  404. package/dist/mcp/tools/session/help.tool.d.ts.map +1 -0
  405. package/dist/mcp/tools/session/help.tool.js +84 -0
  406. package/dist/mcp/tools/session/help.tool.js.map +1 -0
  407. package/dist/mcp/tools/session/list.tool.d.ts +9 -0
  408. package/dist/mcp/tools/session/list.tool.d.ts.map +1 -0
  409. package/dist/mcp/tools/session/list.tool.js +49 -0
  410. package/dist/mcp/tools/session/list.tool.js.map +1 -0
  411. package/dist/mcp/tools/session/next-session.tool.d.ts +8 -0
  412. package/dist/mcp/tools/session/next-session.tool.d.ts.map +1 -0
  413. package/dist/mcp/tools/session/next-session.tool.js +87 -0
  414. package/dist/mcp/tools/session/next-session.tool.js.map +1 -0
  415. package/dist/mcp/tools/session/orient.tool.d.ts +11 -0
  416. package/dist/mcp/tools/session/orient.tool.d.ts.map +1 -0
  417. package/dist/mcp/tools/session/orient.tool.js +239 -0
  418. package/dist/mcp/tools/session/orient.tool.js.map +1 -0
  419. package/dist/mcp/tools/session/read.tool.d.ts +8 -0
  420. package/dist/mcp/tools/session/read.tool.d.ts.map +1 -0
  421. package/dist/mcp/tools/session/read.tool.js +63 -0
  422. package/dist/mcp/tools/session/read.tool.js.map +1 -0
  423. package/dist/mcp/tools/session/reindex.tool.d.ts +6 -0
  424. package/dist/mcp/tools/session/reindex.tool.d.ts.map +1 -0
  425. package/dist/mcp/tools/session/reindex.tool.js +59 -0
  426. package/dist/mcp/tools/session/reindex.tool.js.map +1 -0
  427. package/dist/mcp/tools/session/start.tool.d.ts +8 -0
  428. package/dist/mcp/tools/session/start.tool.d.ts.map +1 -0
  429. package/dist/mcp/tools/session/start.tool.js +170 -0
  430. package/dist/mcp/tools/session/start.tool.js.map +1 -0
  431. package/dist/mcp/tools/session/stats.tool.d.ts +6 -0
  432. package/dist/mcp/tools/session/stats.tool.d.ts.map +1 -0
  433. package/dist/mcp/tools/session/stats.tool.js +46 -0
  434. package/dist/mcp/tools/session/stats.tool.js.map +1 -0
  435. package/dist/plugins/parser-typescript/index.d.ts +80 -0
  436. package/dist/plugins/parser-typescript/index.d.ts.map +1 -0
  437. package/dist/plugins/parser-typescript/index.js +467 -0
  438. package/dist/plugins/parser-typescript/index.js.map +1 -0
  439. package/dist/plugins/parser-vue/index.d.ts +20 -0
  440. package/dist/plugins/parser-vue/index.d.ts.map +1 -0
  441. package/dist/plugins/parser-vue/index.js +88 -0
  442. package/dist/plugins/parser-vue/index.js.map +1 -0
  443. package/dist/plugins/parser-vue/script-parser.d.ts +18 -0
  444. package/dist/plugins/parser-vue/script-parser.d.ts.map +1 -0
  445. package/dist/plugins/parser-vue/script-parser.js +100 -0
  446. package/dist/plugins/parser-vue/script-parser.js.map +1 -0
  447. package/dist/plugins/parser-vue/template-parser.d.ts +14 -0
  448. package/dist/plugins/parser-vue/template-parser.d.ts.map +1 -0
  449. package/dist/plugins/parser-vue/template-parser.js +95 -0
  450. package/dist/plugins/parser-vue/template-parser.js.map +1 -0
  451. package/dist/query/SymbolSearch.d.ts +56 -0
  452. package/dist/query/SymbolSearch.d.ts.map +1 -0
  453. package/dist/query/SymbolSearch.js +132 -0
  454. package/dist/query/SymbolSearch.js.map +1 -0
  455. package/dist/query/TextSearch.d.ts +47 -0
  456. package/dist/query/TextSearch.d.ts.map +1 -0
  457. package/dist/query/TextSearch.js +110 -0
  458. package/dist/query/TextSearch.js.map +1 -0
  459. package/dist/storage/NodeFsProvider.d.ts +148 -0
  460. package/dist/storage/NodeFsProvider.d.ts.map +1 -0
  461. package/dist/storage/NodeFsProvider.js +264 -0
  462. package/dist/storage/NodeFsProvider.js.map +1 -0
  463. package/dist/types/annotation.d.ts +79 -0
  464. package/dist/types/annotation.d.ts.map +1 -0
  465. package/dist/types/annotation.js +10 -0
  466. package/dist/types/annotation.js.map +1 -0
  467. package/dist/types/assist.d.ts +147 -0
  468. package/dist/types/assist.d.ts.map +1 -0
  469. package/dist/types/assist.js +12 -0
  470. package/dist/types/assist.js.map +1 -0
  471. package/dist/types/contracts/FileSystemProvider.d.ts +24 -0
  472. package/dist/types/contracts/FileSystemProvider.d.ts.map +1 -0
  473. package/dist/types/contracts/FileSystemProvider.js +9 -0
  474. package/dist/types/contracts/FileSystemProvider.js.map +1 -0
  475. package/dist/types/contracts/LanguageParser.d.ts +146 -0
  476. package/dist/types/contracts/LanguageParser.d.ts.map +1 -0
  477. package/dist/types/contracts/LanguageParser.js +43 -0
  478. package/dist/types/contracts/LanguageParser.js.map +1 -0
  479. package/dist/types/contracts/Plugin.d.ts +226 -0
  480. package/dist/types/contracts/Plugin.d.ts.map +1 -0
  481. package/dist/types/contracts/Plugin.js +21 -0
  482. package/dist/types/contracts/Plugin.js.map +1 -0
  483. package/dist/types/contracts/index.d.ts +10 -0
  484. package/dist/types/contracts/index.d.ts.map +1 -0
  485. package/dist/types/contracts/index.js +26 -0
  486. package/dist/types/contracts/index.js.map +1 -0
  487. package/dist/types/core.d.ts +170 -0
  488. package/dist/types/core.d.ts.map +1 -0
  489. package/dist/types/core.js +10 -0
  490. package/dist/types/core.js.map +1 -0
  491. package/dist/types/events.d.ts +29 -0
  492. package/dist/types/events.d.ts.map +1 -0
  493. package/dist/types/events.js +18 -0
  494. package/dist/types/events.js.map +1 -0
  495. package/dist/types/experience.d.ts +153 -0
  496. package/dist/types/experience.d.ts.map +1 -0
  497. package/dist/types/experience.js +9 -0
  498. package/dist/types/experience.js.map +1 -0
  499. package/dist/types/graph.d.ts +35 -0
  500. package/dist/types/graph.d.ts.map +1 -0
  501. package/dist/types/graph.js +8 -0
  502. package/dist/types/graph.js.map +1 -0
  503. package/dist/types/index.d.ts +17 -0
  504. package/dist/types/index.d.ts.map +1 -0
  505. package/dist/types/index.js +33 -0
  506. package/dist/types/index.js.map +1 -0
  507. package/dist/types/label.d.ts +150 -0
  508. package/dist/types/label.d.ts.map +1 -0
  509. package/dist/types/label.js +9 -0
  510. package/dist/types/label.js.map +1 -0
  511. package/dist/types/query.d.ts +104 -0
  512. package/dist/types/query.d.ts.map +1 -0
  513. package/dist/types/query.js +11 -0
  514. package/dist/types/query.js.map +1 -0
  515. package/dist/types/response.d.ts +133 -0
  516. package/dist/types/response.d.ts.map +1 -0
  517. package/dist/types/response.js +60 -0
  518. package/dist/types/response.js.map +1 -0
  519. package/dist/types/target.d.ts +68 -0
  520. package/dist/types/target.d.ts.map +1 -0
  521. package/dist/types/target.js +11 -0
  522. package/dist/types/target.js.map +1 -0
  523. package/dist/utils/version.d.ts +9 -0
  524. package/dist/utils/version.d.ts.map +1 -0
  525. package/dist/utils/version.js +30 -0
  526. package/dist/utils/version.js.map +1 -0
  527. package/package.json +53 -0
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ /**
3
+ * WriteSafetyGuard — File Write Protection Layer
4
+ *
5
+ * Provides 5 critical safety guarantees for all write operations:
6
+ *
7
+ * 1. **Pre-Write Snapshot + Rollback**: Always recoverable from failures
8
+ * 2. **Fragment Detection**: No partial/corrupt code fragments
9
+ * 3. **Targeting Verification**: Ensure replace operations match correctly
10
+ * 4. **Atomic Writes**: Write succeeds completely or fails cleanly
11
+ * 5. **Write Locks**: No concurrent writes to same file
12
+ *
13
+ * @codemap.domain.name Write Safety
14
+ * @codemap.domain.relevance 1.0
15
+ * @codemap.domain.message File write protection with snapshot/rollback, fragment validation, atomic writes, and write locks.
16
+ * @codemap.tags FileSystem,Safety,WriteProtection,Atomicity,Rollback
17
+ * @codemap.usage ensure safe writes → use guard.safeWrite() instead of provider.write()
18
+ * @codemap.usage validate write target → use guard.verifyReplaceTarget() before replace operations
19
+ * @codemap.warning Rollback uses in-memory snapshot - large files may consume memory
20
+ * @codemap.note All write operations should flow through safeWrite() for protection
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.WriteSafetyGuard = void 0;
24
+ /**
25
+ * WriteSafetyGuard implements all write safety guarantees.
26
+ *
27
+ * @codemap.usage const guard = new WriteSafetyGuard(fsProvider);
28
+ * @codemap.usage const result = await guard.safeWrite('file.ts', content);
29
+ */
30
+ class WriteSafetyGuard {
31
+ provider;
32
+ writeLocks;
33
+ constructor(provider) {
34
+ this.provider = provider;
35
+ this.writeLocks = new Map();
36
+ }
37
+ // ── Layer 1: Pre-Write Snapshot + Rollback ────────────────────────────────
38
+ /**
39
+ * Safely write content with automatic rollback on failure.
40
+ *
41
+ * Flow:
42
+ * 1. Snapshot original (if file exists)
43
+ * 2. Attempt write
44
+ * 3. Verify written content matches intended
45
+ * 4. If verification fails → rollback to snapshot
46
+ *
47
+ * @param path - Target file path
48
+ * @param content - New content to write
49
+ * @returns Write result with verification status
50
+ */
51
+ async safeWrite(path, content) {
52
+ // Acquire write lock
53
+ await this.acquireWriteLock(path);
54
+ let originalContent;
55
+ try {
56
+ // Step 1: Snapshot original (if exists)
57
+ const fileExists = await this.provider.exists(path);
58
+ if (fileExists) {
59
+ originalContent = await this.provider.read(path);
60
+ }
61
+ // Step 2: WRITE FIRST (bypass validation)
62
+ await this.provider.write(path, content);
63
+ // Step 3: Verify disk content matches what we sent (validation disabled - regex false positives)
64
+ const diskContent = await this.provider.read(path);
65
+ // const validation = this.validateFragment(diskContent, path);
66
+ // if (!validation.isValid) {
67
+ // return {
68
+ // success: false,
69
+ // path,
70
+ // originalContent,
71
+ // error: `Fragment validation failed: ${validation.errors.join(', ')}`,
72
+ // verificationPassed: false
73
+ // };
74
+ // }
75
+ if (diskContent !== content) {
76
+ return {
77
+ success: false,
78
+ path,
79
+ originalContent,
80
+ error: `Disk verification failed - content mismatch (MCP sent ${content.length} bytes, disk has ${diskContent.length} bytes)`,
81
+ verificationPassed: false
82
+ };
83
+ }
84
+ // Step 3: Atomic write
85
+ await this.atomicWrite(path, content);
86
+ // Step 4: Verify write succeeded
87
+ const written = await this.provider.read(path);
88
+ if (written !== content) {
89
+ // Verification failed - rollback
90
+ if (originalContent !== undefined) {
91
+ await this.provider.write(path, originalContent);
92
+ }
93
+ else {
94
+ await this.provider.remove(path);
95
+ }
96
+ return {
97
+ success: false,
98
+ path,
99
+ originalContent,
100
+ error: 'Write verification failed - content mismatch after write',
101
+ verificationPassed: false
102
+ };
103
+ }
104
+ // Success
105
+ return {
106
+ success: true,
107
+ path,
108
+ originalContent,
109
+ verificationPassed: true
110
+ };
111
+ }
112
+ catch (error) {
113
+ // Rollback on any error
114
+ const result = {
115
+ success: false,
116
+ path,
117
+ error: error instanceof Error ? error.message : String(error),
118
+ verificationPassed: false
119
+ };
120
+ // Attempt rollback if we had a snapshot
121
+ if (originalContent !== undefined) {
122
+ try {
123
+ await this.provider.write(path, originalContent);
124
+ result.originalContent = originalContent;
125
+ }
126
+ catch {
127
+ // Rollback write failed - best effort
128
+ }
129
+ }
130
+ return result;
131
+ }
132
+ finally {
133
+ // Release write lock
134
+ this.releaseWriteLock(path);
135
+ }
136
+ }
137
+ // ── Layer 3: Targeting Verification ───────────────────────────────────────
138
+ /**
139
+ * Verify that a replace operation will match correctly.
140
+ * Returns context around the match for user confirmation.
141
+ *
142
+ * @param path - File to search
143
+ * @param oldString - String to find
144
+ * @returns Verification result with context
145
+ */
146
+ async verifyReplaceTarget(path, oldString) {
147
+ const content = await this.provider.read(path);
148
+ const lines = content.split('\n');
149
+ // Find all occurrences
150
+ let matches = 0;
151
+ let lastMatchLine = -1;
152
+ let context = '';
153
+ for (let i = 0; i < lines.length; i++) {
154
+ if (lines[i].includes(oldString)) {
155
+ matches++;
156
+ lastMatchLine = i;
157
+ // Capture context (5 lines before and after)
158
+ const start = Math.max(0, i - 5);
159
+ const end = Math.min(lines.length - 1, i + 5);
160
+ context = lines.slice(start, end + 1).join('\n');
161
+ }
162
+ }
163
+ return {
164
+ found: matches > 0,
165
+ matches,
166
+ context,
167
+ lineNumber: lastMatchLine >= 0 ? lastMatchLine + 1 : undefined
168
+ };
169
+ }
170
+ // ── Layer 4: Atomic Writes ────────────────────────────────────────────────
171
+ /**
172
+ * Write to temp file first, then rename for atomicity.
173
+ * Either succeeds completely or fails cleanly.
174
+ *
175
+ * @param path - Target file path
176
+ * @param content - Content to write
177
+ */
178
+ async atomicWrite(path, content) {
179
+ const tempPath = `${path}.tmp`;
180
+ try {
181
+ // Write to temp file
182
+ await this.provider.write(tempPath, content);
183
+ // Verify temp file
184
+ const verification = await this.provider.read(tempPath);
185
+ if (verification !== content) {
186
+ throw new Error('Temp file verification failed');
187
+ }
188
+ // Atomic rename
189
+ await this.provider.rename(tempPath, path);
190
+ }
191
+ catch (error) {
192
+ // Clean up temp file on failure
193
+ try {
194
+ await this.provider.remove(tempPath);
195
+ }
196
+ catch {
197
+ // Best effort cleanup
198
+ }
199
+ throw error;
200
+ }
201
+ }
202
+ // ── Layer 5: Write Locks ──────────────────────────────────────────────────
203
+ /**
204
+ * Acquire write lock for a file.
205
+ * Waits if file is already locked.
206
+ */
207
+ async acquireWriteLock(path) {
208
+ while (this.writeLocks.has(path)) {
209
+ await this.writeLocks.get(path);
210
+ }
211
+ // Create new lock
212
+ let resolve;
213
+ const lockPromise = new Promise(r => {
214
+ resolve = r;
215
+ });
216
+ this.writeLocks.set(path, lockPromise);
217
+ // Store resolver for release
218
+ lockPromise._resolve = resolve;
219
+ }
220
+ /**
221
+ * Release write lock for a file.
222
+ */
223
+ releaseWriteLock(path) {
224
+ const lock = this.writeLocks.get(path);
225
+ if (lock) {
226
+ lock._resolve();
227
+ this.writeLocks.delete(path);
228
+ }
229
+ }
230
+ // ── Public API ────────────────────────────────────────────────────────────
231
+ /**
232
+ * Replace text in file with safety guarantees.
233
+ *
234
+ * @param path - File path
235
+ * @param oldString - Text to find (must be unique)
236
+ * @param newString - Replacement text
237
+ * @returns Write result
238
+ */
239
+ async safeReplace(path, oldString, newString) {
240
+ // Verify target before replacing
241
+ const verification = await this.verifyReplaceTarget(path, oldString);
242
+ if (!verification.found) {
243
+ return {
244
+ success: false,
245
+ path,
246
+ error: `Target string not found in file`,
247
+ verificationPassed: false
248
+ };
249
+ }
250
+ if (verification.matches > 1) {
251
+ return {
252
+ success: false,
253
+ path,
254
+ error: `Target string appears ${verification.matches} times - must be unique. Context:\n${verification.context}`,
255
+ verificationPassed: false
256
+ };
257
+ }
258
+ // Perform replace
259
+ const content = await this.provider.read(path);
260
+ const newContent = content.replace(oldString, newString);
261
+ return this.safeWrite(path, newContent);
262
+ }
263
+ }
264
+ exports.WriteSafetyGuard = WriteSafetyGuard;
265
+ //# sourceMappingURL=WriteSafetyGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteSafetyGuard.js","sourceRoot":"","sources":["../../src/core/WriteSafetyGuard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Core module exports.
3
+ *
4
+ * Foundation layer for CodeMap:
5
+ * - FileSystemGraph: Passive knowledge base (files, symbols, dependencies)
6
+ * - FileSystemIO: Controlled gateway with lifecycle events
7
+ * - Scanner: Directory tree walker with lifecycle events
8
+ * - PluginRegistry: Plugin management and lifecycle
9
+ * - QueryEngine: Search and graph traversal
10
+ * - CodeMap: Main orchestrator (public API entry point)
11
+ */
12
+ export { FileSystemGraph } from './FileSystemGraph';
13
+ export { FileSystemIO } from './FileSystemIO';
14
+ export { TargetParser } from './TargetParser';
15
+ export { TargetResolver } from './TargetResolver';
16
+ export { AnnotationStore } from './AnnotationStore';
17
+ export { LineRangeWriter } from './LineRangeWriter';
18
+ export { WriteSafetyGuard } from './WriteSafetyGuard';
19
+ export { EventBus } from './EventBus';
20
+ export { ExperienceStore } from './ExperienceStore';
21
+ export { ExperienceTracker } from './ExperienceTracker';
22
+ export { Scanner } from './Scanner';
23
+ export { PluginRegistry } from './PluginRegistry';
24
+ export { ParserRegistry } from './ParserRegistry';
25
+ export { QueryEngine } from './QueryEngine';
26
+ export { CodeMap } from './CodeMap';
27
+ export { HelpRegistry } from './HelpRegistry';
28
+ export { GroupStore } from './GroupStore';
29
+ export { HintRegistry } from './HintRegistry';
30
+ export type { ScannerConfig, ScanStartPayload, ScanFilePayload, ScanCompletePayload } from './Scanner';
31
+ export type { QueryEngineConfig } from './QueryEngine';
32
+ export type { PathFormat, ResolvedTarget, ParsedTarget } from './TargetResolver';
33
+ export type { CodeMapConfig } from './CodeMap';
34
+ export type { HelpTopic, HelpTopicMetadata } from './HelpRegistry';
35
+ export type { Group, GroupMember, GroupNotation, GroupsData } from './GroupStore';
36
+ export type { HintCondition, HintContext } from './HintRegistry';
37
+ export type { SafeWriteResult, ReplaceVerification } from './WriteSafetyGuard';
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,YAAY,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACb,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,YAAY,EACV,SAAS,EACT,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,KAAK,EACL,WAAW,EACX,aAAa,EACb,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,aAAa,EACb,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * Core module exports.
4
+ *
5
+ * Foundation layer for CodeMap:
6
+ * - FileSystemGraph: Passive knowledge base (files, symbols, dependencies)
7
+ * - FileSystemIO: Controlled gateway with lifecycle events
8
+ * - Scanner: Directory tree walker with lifecycle events
9
+ * - PluginRegistry: Plugin management and lifecycle
10
+ * - QueryEngine: Search and graph traversal
11
+ * - CodeMap: Main orchestrator (public API entry point)
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.HintRegistry = exports.GroupStore = exports.HelpRegistry = exports.CodeMap = exports.QueryEngine = exports.ParserRegistry = exports.PluginRegistry = exports.Scanner = exports.ExperienceTracker = exports.ExperienceStore = exports.EventBus = exports.WriteSafetyGuard = exports.LineRangeWriter = exports.AnnotationStore = exports.TargetResolver = exports.TargetParser = exports.FileSystemIO = exports.FileSystemGraph = void 0;
15
+ var FileSystemGraph_1 = require("./FileSystemGraph");
16
+ Object.defineProperty(exports, "FileSystemGraph", { enumerable: true, get: function () { return FileSystemGraph_1.FileSystemGraph; } });
17
+ var FileSystemIO_1 = require("./FileSystemIO");
18
+ Object.defineProperty(exports, "FileSystemIO", { enumerable: true, get: function () { return FileSystemIO_1.FileSystemIO; } });
19
+ var TargetParser_1 = require("./TargetParser");
20
+ Object.defineProperty(exports, "TargetParser", { enumerable: true, get: function () { return TargetParser_1.TargetParser; } });
21
+ var TargetResolver_1 = require("./TargetResolver");
22
+ Object.defineProperty(exports, "TargetResolver", { enumerable: true, get: function () { return TargetResolver_1.TargetResolver; } });
23
+ var AnnotationStore_1 = require("./AnnotationStore");
24
+ Object.defineProperty(exports, "AnnotationStore", { enumerable: true, get: function () { return AnnotationStore_1.AnnotationStore; } });
25
+ var LineRangeWriter_1 = require("./LineRangeWriter");
26
+ Object.defineProperty(exports, "LineRangeWriter", { enumerable: true, get: function () { return LineRangeWriter_1.LineRangeWriter; } });
27
+ var WriteSafetyGuard_1 = require("./WriteSafetyGuard");
28
+ Object.defineProperty(exports, "WriteSafetyGuard", { enumerable: true, get: function () { return WriteSafetyGuard_1.WriteSafetyGuard; } });
29
+ var EventBus_1 = require("./EventBus");
30
+ Object.defineProperty(exports, "EventBus", { enumerable: true, get: function () { return EventBus_1.EventBus; } });
31
+ var ExperienceStore_1 = require("./ExperienceStore");
32
+ Object.defineProperty(exports, "ExperienceStore", { enumerable: true, get: function () { return ExperienceStore_1.ExperienceStore; } });
33
+ var ExperienceTracker_1 = require("./ExperienceTracker");
34
+ Object.defineProperty(exports, "ExperienceTracker", { enumerable: true, get: function () { return ExperienceTracker_1.ExperienceTracker; } });
35
+ var Scanner_1 = require("./Scanner");
36
+ Object.defineProperty(exports, "Scanner", { enumerable: true, get: function () { return Scanner_1.Scanner; } });
37
+ var PluginRegistry_1 = require("./PluginRegistry");
38
+ Object.defineProperty(exports, "PluginRegistry", { enumerable: true, get: function () { return PluginRegistry_1.PluginRegistry; } });
39
+ var ParserRegistry_1 = require("./ParserRegistry");
40
+ Object.defineProperty(exports, "ParserRegistry", { enumerable: true, get: function () { return ParserRegistry_1.ParserRegistry; } });
41
+ var QueryEngine_1 = require("./QueryEngine");
42
+ Object.defineProperty(exports, "QueryEngine", { enumerable: true, get: function () { return QueryEngine_1.QueryEngine; } });
43
+ var CodeMap_1 = require("./CodeMap");
44
+ Object.defineProperty(exports, "CodeMap", { enumerable: true, get: function () { return CodeMap_1.CodeMap; } });
45
+ var HelpRegistry_1 = require("./HelpRegistry");
46
+ Object.defineProperty(exports, "HelpRegistry", { enumerable: true, get: function () { return HelpRegistry_1.HelpRegistry; } });
47
+ var GroupStore_1 = require("./GroupStore");
48
+ Object.defineProperty(exports, "GroupStore", { enumerable: true, get: function () { return GroupStore_1.GroupStore; } });
49
+ var HintRegistry_1 = require("./HintRegistry");
50
+ Object.defineProperty(exports, "HintRegistry", { enumerable: true, get: function () { return HintRegistry_1.HintRegistry; } });
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * DependencyTraversal - Graph traversal operations.
3
+ *
4
+ * Handles dependency graph navigation:
5
+ * - Find importers (what imports this file)
6
+ * - Find imports (what this file imports)
7
+ * - BFS traversal with depth limiting
8
+ * - Related files discovery
9
+ */
10
+ import type { FileSystemGraph } from '../FileSystemGraph';
11
+ import type { FileEntry } from '../../types/core';
12
+ export declare class DependencyTraversal {
13
+ private graph;
14
+ constructor(graph: FileSystemGraph);
15
+ findImporters(relativePath: string): FileEntry[];
16
+ findImports(relativePath: string): FileEntry[];
17
+ getRelated(relativePath: string): {
18
+ imports: FileEntry[];
19
+ importers: FileEntry[];
20
+ };
21
+ traverse(startPath: string, direction: 'imports' | 'importers', maxDepth?: number): FileEntry[];
22
+ }
23
+ //# sourceMappingURL=DependencyTraversal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DependencyTraversal.d.ts","sourceRoot":"","sources":["../../../src/core/query/DependencyTraversal.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,mBAAmB;IAClB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAE1C,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE;IAIhD,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE;IAI9C,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,SAAS,EAAE,SAAS,EAAE,CAAA;KAAE;IAOlF,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GAAG,WAAW,EAClC,QAAQ,GAAE,MAAU,GACnB,SAAS,EAAE;CA2Bf"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * DependencyTraversal - Graph traversal operations.
4
+ *
5
+ * Handles dependency graph navigation:
6
+ * - Find importers (what imports this file)
7
+ * - Find imports (what this file imports)
8
+ * - BFS traversal with depth limiting
9
+ * - Related files discovery
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DependencyTraversal = void 0;
13
+ class DependencyTraversal {
14
+ graph;
15
+ constructor(graph) {
16
+ this.graph = graph;
17
+ }
18
+ findImporters(relativePath) {
19
+ return this.graph.findImporters(relativePath);
20
+ }
21
+ findImports(relativePath) {
22
+ return this.graph.findImports(relativePath);
23
+ }
24
+ getRelated(relativePath) {
25
+ return {
26
+ imports: this.findImports(relativePath),
27
+ importers: this.findImporters(relativePath)
28
+ };
29
+ }
30
+ traverse(startPath, direction, maxDepth = 3) {
31
+ const visited = new Set();
32
+ const queue = [{ path: startPath, depth: 0 }];
33
+ const results = [];
34
+ while (queue.length > 0) {
35
+ const { path, depth } = queue.shift();
36
+ if (visited.has(path) || depth > maxDepth)
37
+ continue;
38
+ visited.add(path);
39
+ const file = this.graph.getFile(path);
40
+ if (file)
41
+ results.push(file);
42
+ const neighbors = direction === 'imports'
43
+ ? this.findImports(path)
44
+ : this.findImporters(path);
45
+ for (const neighbor of neighbors) {
46
+ if (!visited.has(neighbor.relativePath)) {
47
+ queue.push({ path: neighbor.relativePath, depth: depth + 1 });
48
+ }
49
+ }
50
+ }
51
+ return results;
52
+ }
53
+ }
54
+ exports.DependencyTraversal = DependencyTraversal;
55
+ //# sourceMappingURL=DependencyTraversal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DependencyTraversal.js","sourceRoot":"","sources":["../../../src/core/query/DependencyTraversal.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAKH,MAAa,mBAAmB;IACV;IAApB,YAAoB,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;IAE9C,aAAa,CAAC,YAAoB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,YAAoB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,YAAoB;QAC7B,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,QAAQ,CACN,SAAiB,EACjB,SAAkC,EAClC,WAAmB,CAAC;QAEpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,KAAK,GAA2C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,QAAQ;gBAAE,SAAS;YACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS;gBACvC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACxB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACxC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAjDD,kDAiDC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ResultProcessor - Post-processing and enrichment of search results.
3
+ *
4
+ * Handles:
5
+ * - Result merging and deduplication
6
+ * - Symbol limiting and compacting
7
+ * - Group membership enrichment
8
+ * - File metadata stripping for token efficiency
9
+ */
10
+ import type { SearchResult } from '../../types/query';
11
+ export declare class ResultProcessor {
12
+ private groupStore?;
13
+ constructor(groupStore?: any | undefined);
14
+ mergeResults(a: SearchResult[], b: SearchResult[]): SearchResult[];
15
+ limitSymbolsPerFile(results: SearchResult[], maxSymbols: number): SearchResult[];
16
+ compactSymbols(results: SearchResult[], maxSymbols: number): SearchResult[];
17
+ stripFileSymbols(results: SearchResult[]): SearchResult[];
18
+ enrichWithGroups(results: SearchResult[]): SearchResult[];
19
+ }
20
+ //# sourceMappingURL=ResultProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultProcessor.d.ts","sourceRoot":"","sources":["../../../src/core/query/ResultProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,eAAe;IACd,OAAO,CAAC,UAAU,CAAC;gBAAX,UAAU,CAAC,EAAE,GAAG,YAAA;IAEpC,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;IAalE,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE;IAoBhF,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE;IAsB3E,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;IAUzD,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;CAoC1D"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * ResultProcessor - Post-processing and enrichment of search results.
4
+ *
5
+ * Handles:
6
+ * - Result merging and deduplication
7
+ * - Symbol limiting and compacting
8
+ * - Group membership enrichment
9
+ * - File metadata stripping for token efficiency
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ResultProcessor = void 0;
13
+ class ResultProcessor {
14
+ groupStore;
15
+ constructor(groupStore) {
16
+ this.groupStore = groupStore;
17
+ }
18
+ mergeResults(a, b) {
19
+ const map = new Map();
20
+ for (const result of [...a, ...b]) {
21
+ const existing = map.get(result.file.relativePath);
22
+ if (!existing || result.relevance > existing.relevance) {
23
+ map.set(result.file.relativePath, result);
24
+ }
25
+ }
26
+ return Array.from(map.values());
27
+ }
28
+ limitSymbolsPerFile(results, maxSymbols) {
29
+ for (const result of results) {
30
+ if (result.matchedSymbols && result.matchedSymbols.length > maxSymbols) {
31
+ const scoredSymbols = result.matchedSymbols.map((symbol, index) => ({
32
+ symbol,
33
+ score: result.relevance * (1 - index * 0.05)
34
+ }));
35
+ scoredSymbols.sort((a, b) => b.score - a.score);
36
+ result.matchedSymbols = scoredSymbols.slice(0, maxSymbols).map(s => s.symbol);
37
+ const hiddenCount = scoredSymbols.length - maxSymbols;
38
+ result.reasons.push(`Showing ${maxSymbols} of ${scoredSymbols.length} matching symbols (+${hiddenCount} more)`);
39
+ }
40
+ }
41
+ return results;
42
+ }
43
+ compactSymbols(results, maxSymbols) {
44
+ for (const result of results) {
45
+ if (result.matchedSymbols && result.matchedSymbols.length > 0) {
46
+ const symbolNames = result.matchedSymbols
47
+ .slice(0, maxSymbols)
48
+ .map(s => `${s.name} (${s.kind})`)
49
+ .join(', ');
50
+ const hasMore = result.matchedSymbols.length > maxSymbols;
51
+ const moreCount = result.matchedSymbols.length - maxSymbols;
52
+ result.symbolSummary = hasMore
53
+ ? `${symbolNames}, +${moreCount} more`
54
+ : symbolNames;
55
+ delete result.matchedSymbols;
56
+ }
57
+ }
58
+ return results;
59
+ }
60
+ stripFileSymbols(results) {
61
+ for (const result of results) {
62
+ if (result.file.symbols) {
63
+ delete result.file.symbols;
64
+ }
65
+ }
66
+ return results;
67
+ }
68
+ enrichWithGroups(results) {
69
+ if (!this.groupStore)
70
+ return results;
71
+ for (const result of results) {
72
+ const fileGroups = this.groupStore.findGroupsForMember('file', result.file.relativePath);
73
+ const symbolGroups = [];
74
+ if (result.matchedSymbols) {
75
+ for (const symbol of result.matchedSymbols) {
76
+ const symbolPath = `${result.file.relativePath}$${symbol.name}`;
77
+ const groups = this.groupStore.findGroupsForMember('symbol', symbolPath);
78
+ symbolGroups.push(...groups);
79
+ }
80
+ }
81
+ const allGroups = [...fileGroups, ...symbolGroups];
82
+ const uniqueGroups = Array.from(new Map(allGroups.map(g => [g.name, g])).values());
83
+ if (uniqueGroups.length > 0) {
84
+ result.groups = uniqueGroups.map(group => ({
85
+ name: group.name,
86
+ description: group.description,
87
+ firstNotation: group.notations.length > 0
88
+ ? group.notations[0].text
89
+ : group.description
90
+ }));
91
+ const groupNames = uniqueGroups.map(g => g.name).join(', ');
92
+ result.reasons.push(`Groups: ${groupNames}`);
93
+ }
94
+ }
95
+ return results;
96
+ }
97
+ }
98
+ exports.ResultProcessor = ResultProcessor;
99
+ //# sourceMappingURL=ResultProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultProcessor.js","sourceRoot":"","sources":["../../../src/core/query/ResultProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SymbolSearchEngine - Symbol name matching strategy.
3
+ *
4
+ * Handles symbol-based search with support for:
5
+ * - Symbol name matching (exact, contains, fuzzy)
6
+ * - Symbol kind filtering
7
+ * - Regex patterns
8
+ * - Relevance scoring
9
+ */
10
+ import type { FileSystemGraph } from '../FileSystemGraph';
11
+ import type { SearchRequest, SearchResult } from '../../types/query';
12
+ export declare class SymbolSearchEngine {
13
+ private graph;
14
+ constructor(graph: FileSystemGraph);
15
+ search(request: SearchRequest, useRegex: boolean): SearchResult[];
16
+ private regexSearch;
17
+ private keywordSearch;
18
+ private fuzzyMatch;
19
+ }
20
+ //# sourceMappingURL=SymbolSearchEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SymbolSearchEngine.d.ts","sourceRoot":"","sources":["../../../src/core/query/SymbolSearchEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErE,qBAAa,kBAAkB;IACjB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAE1C,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,YAAY,EAAE;IAQjE,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,aAAa;IA0CrB,OAAO,CAAC,UAAU;CAUnB"}