@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,91 @@
1
+ /**
2
+ * AssistScorer - Multi-phase scoring engine for file discovery.
3
+ *
4
+ * Implements the 4-phase scoring algorithm:
5
+ * - Phase A: Static scoring (keyword/symbol matching)
6
+ * - Phase B: Stack bias (language-specific patterns)
7
+ * - Phase C: Experience weighting (query history, usage, anti-results)
8
+ * - Phase D: Confidence + warnings
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const scorer = new AssistScorer(patternAggregator, config);
13
+ *
14
+ * const candidates = await scorer.score(
15
+ * 'make cards draggable',
16
+ * [file1, file2, file3]
17
+ * );
18
+ * // → Returns ranked candidates with confidence scores
19
+ * ```
20
+ */
21
+ import type { AssistCandidate, StackPackBias } from '../types';
22
+ import type { FileEntry } from '../types';
23
+ import { PatternAggregator } from './PatternAggregator';
24
+ /**
25
+ * Scorer configuration.
26
+ */
27
+ export interface AssistScorerConfig {
28
+ /** Stack pack bias rules (optional) */
29
+ stackBias?: StackPackBias;
30
+ /** Enable experience weighting */
31
+ useExperience?: boolean;
32
+ }
33
+ export declare class AssistScorer {
34
+ private aggregator;
35
+ private config;
36
+ constructor(aggregator: PatternAggregator | null, config?: AssistScorerConfig);
37
+ /**
38
+ * Score file candidates using multi-phase algorithm.
39
+ *
40
+ * @param goal - Goal query
41
+ * @param candidates - File candidates to score
42
+ * @returns Ranked candidates with scores
43
+ */
44
+ score(goal: string, candidates: FileEntry[]): Promise<AssistCandidate[]>;
45
+ /**
46
+ * Phase A: Score candidates based on keyword and symbol matching.
47
+ *
48
+ * @param goal - Goal query
49
+ * @param candidates - File candidates
50
+ * @returns Raw candidates with static scores
51
+ */
52
+ private phaseA_StaticScoring;
53
+ /**
54
+ * Phase B: Apply stack-specific bias rules.
55
+ *
56
+ * @param goal - Goal query
57
+ * @param candidates - Raw candidates
58
+ * @returns Candidates with bias applied
59
+ */
60
+ private phaseB_StackBias;
61
+ /**
62
+ * Phase C: Apply experience-based scoring adjustments.
63
+ *
64
+ * This is where the self-improving magic happens:
65
+ * - Query history matching (+points for similar past queries)
66
+ * - Usage metadata matching (+points for curated usage phrases)
67
+ * - Anti-result penalties (-points for past failures)
68
+ * - File experience multiplier (success rate, recency, heat)
69
+ *
70
+ * @param goal - Goal query
71
+ * @param candidates - Raw candidates
72
+ * @returns Candidates with experience weighting
73
+ */
74
+ private phaseC_ExperienceWeighting;
75
+ /**
76
+ * Phase D: Calculate final confidence scores and generate warnings.
77
+ *
78
+ * @param candidates - Raw candidates with total scores
79
+ * @returns Final candidates with confidence and warnings
80
+ */
81
+ private phaseD_ConfidenceAndWarnings;
82
+ /**
83
+ * Extract keywords from text.
84
+ */
85
+ private extractKeywords;
86
+ /**
87
+ * Calculate keyword overlap.
88
+ */
89
+ private calculateOverlap;
90
+ }
91
+ //# sourceMappingURL=AssistScorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistScorer.d.ts","sourceRoot":"","sources":["../../src/assist/AssistScorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAWxD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,YAAY;IAGrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;gBADN,UAAU,EAAE,iBAAiB,GAAG,IAAI,EACpC,MAAM,GAAE,kBAAuB;IAGzC;;;;;;OAMG;IACG,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC;IAwB7B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;;;;;;;;;;;OAYG;YACW,0BAA0B;IAoExC;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IA2CpC;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAazB"}
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ /**
3
+ * AssistScorer - Multi-phase scoring engine for file discovery.
4
+ *
5
+ * Implements the 4-phase scoring algorithm:
6
+ * - Phase A: Static scoring (keyword/symbol matching)
7
+ * - Phase B: Stack bias (language-specific patterns)
8
+ * - Phase C: Experience weighting (query history, usage, anti-results)
9
+ * - Phase D: Confidence + warnings
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const scorer = new AssistScorer(patternAggregator, config);
14
+ *
15
+ * const candidates = await scorer.score(
16
+ * 'make cards draggable',
17
+ * [file1, file2, file3]
18
+ * );
19
+ * // → Returns ranked candidates with confidence scores
20
+ * ```
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.AssistScorer = void 0;
24
+ class AssistScorer {
25
+ aggregator;
26
+ config;
27
+ constructor(aggregator, config = {}) {
28
+ this.aggregator = aggregator;
29
+ this.config = config;
30
+ }
31
+ /**
32
+ * Score file candidates using multi-phase algorithm.
33
+ *
34
+ * @param goal - Goal query
35
+ * @param candidates - File candidates to score
36
+ * @returns Ranked candidates with scores
37
+ */
38
+ async score(goal, candidates) {
39
+ // Phase A: Static scoring
40
+ let raw = this.phaseA_StaticScoring(goal, candidates);
41
+ // Phase B: Stack bias (if configured)
42
+ if (this.config.stackBias) {
43
+ raw = this.phaseB_StackBias(goal, raw);
44
+ }
45
+ // Phase C: Experience weighting (if enabled and aggregator available)
46
+ if (this.config.useExperience !== false && this.aggregator) {
47
+ raw = await this.phaseC_ExperienceWeighting(goal, raw);
48
+ }
49
+ // Phase D: Confidence + warnings
50
+ const final = this.phaseD_ConfidenceAndWarnings(raw);
51
+ // Sort by confidence descending
52
+ return final.sort((a, b) => b.confidence - a.confidence);
53
+ }
54
+ // ── Phase A: Static Scoring ────────────────────────────────────────────────
55
+ /**
56
+ * Phase A: Score candidates based on keyword and symbol matching.
57
+ *
58
+ * @param goal - Goal query
59
+ * @param candidates - File candidates
60
+ * @returns Raw candidates with static scores
61
+ */
62
+ phaseA_StaticScoring(goal, candidates) {
63
+ const keywords = this.extractKeywords(goal);
64
+ const raw = [];
65
+ for (const file of candidates) {
66
+ let score = 0;
67
+ const reasons = [];
68
+ // Path matching
69
+ const pathKeywords = this.extractKeywords(file.relativePath);
70
+ const pathOverlap = this.calculateOverlap(keywords, pathKeywords);
71
+ if (pathOverlap > 0) {
72
+ const pathScore = pathOverlap * 5;
73
+ score += pathScore;
74
+ reasons.push(`path match (+${pathScore.toFixed(1)})`);
75
+ }
76
+ // Symbol matching
77
+ if (file.symbols && file.symbols.length > 0) {
78
+ for (const symbol of file.symbols) {
79
+ const symbolKeywords = this.extractKeywords(symbol.name);
80
+ const symbolOverlap = this.calculateOverlap(keywords, symbolKeywords);
81
+ if (symbolOverlap > 0) {
82
+ const symbolScore = symbolOverlap * 3;
83
+ score += symbolScore;
84
+ reasons.push(`symbol ${symbol.name} (+${symbolScore.toFixed(1)})`);
85
+ }
86
+ }
87
+ }
88
+ raw.push({ file, score, reasons });
89
+ }
90
+ return raw;
91
+ }
92
+ // ── Phase B: Stack Bias ────────────────────────────────────────────────────
93
+ /**
94
+ * Phase B: Apply stack-specific bias rules.
95
+ *
96
+ * @param goal - Goal query
97
+ * @param candidates - Raw candidates
98
+ * @returns Candidates with bias applied
99
+ */
100
+ phaseB_StackBias(goal, candidates) {
101
+ if (!this.config.stackBias)
102
+ return candidates;
103
+ for (const rule of this.config.stackBias.rules) {
104
+ // Check if rule applies to this goal
105
+ const matches = typeof rule.when === 'string'
106
+ ? goal.includes(rule.when)
107
+ : rule.when.test(goal);
108
+ if (!matches)
109
+ continue;
110
+ // Apply boosts to matching paths
111
+ for (const candidate of candidates) {
112
+ for (const [pathPattern, boost] of Object.entries(rule.boost)) {
113
+ if (candidate.file.relativePath.includes(pathPattern)) {
114
+ candidate.score += boost;
115
+ candidate.reasons.push(`stack bias: ${pathPattern} (+${boost})`);
116
+ }
117
+ }
118
+ }
119
+ }
120
+ return candidates;
121
+ }
122
+ // ── Phase C: Experience Weighting ──────────────────────────────────────────
123
+ /**
124
+ * Phase C: Apply experience-based scoring adjustments.
125
+ *
126
+ * This is where the self-improving magic happens:
127
+ * - Query history matching (+points for similar past queries)
128
+ * - Usage metadata matching (+points for curated usage phrases)
129
+ * - Anti-result penalties (-points for past failures)
130
+ * - File experience multiplier (success rate, recency, heat)
131
+ *
132
+ * @param goal - Goal query
133
+ * @param candidates - Raw candidates
134
+ * @returns Candidates with experience weighting
135
+ */
136
+ async phaseC_ExperienceWeighting(goal, candidates) {
137
+ if (!this.aggregator)
138
+ return candidates;
139
+ for (const candidate of candidates) {
140
+ const filePath = candidate.file.relativePath;
141
+ // 1. Query history matching (+12 max)
142
+ const queryMatch = await this.aggregator.getQueryPatternMatches(filePath, goal);
143
+ if (queryMatch.matchingQueries.length > 0) {
144
+ const boost = Math.min(queryMatch.matchingQueries.length * 3, 12);
145
+ candidate.score += boost;
146
+ candidate.reasons.push(`query history (+${boost}, ${queryMatch.matchingQueries.length} matches)`);
147
+ }
148
+ // 2. Usage metadata matching (+16 max)
149
+ const usageMatches = await this.aggregator.getUsageMatches(goal);
150
+ const fileUsageMatch = usageMatches.find(m => m.file === filePath);
151
+ if (fileUsageMatch && fileUsageMatch.matchingUsages.length > 0) {
152
+ const boost = Math.min(fileUsageMatch.matchingUsages.length * 4, 16);
153
+ candidate.score += boost;
154
+ candidate.reasons.push(`usage metadata (+${boost}, ${fileUsageMatch.matchingUsages.length} phrases)`);
155
+ }
156
+ // 3. Anti-result penalty (-10 max)
157
+ const antiPenalty = await this.aggregator.getAntiResultPenalty(filePath, goal);
158
+ if (antiPenalty.penalty < 0) {
159
+ candidate.score += antiPenalty.penalty;
160
+ candidate.reasons.push(`anti-result penalty (${antiPenalty.penalty})`);
161
+ }
162
+ // 4. File experience multiplier (0.5–2.0×)
163
+ const metrics = await this.aggregator.getFileMetrics(filePath);
164
+ if (metrics.totalOps > 0) {
165
+ let multiplier = 1.0;
166
+ // Success rate influence
167
+ if (metrics.successRate < 0.5) {
168
+ multiplier *= 0.5;
169
+ }
170
+ else if (metrics.successRate > 0.75) {
171
+ multiplier *= 1.5;
172
+ }
173
+ // Recency boost
174
+ if (metrics.daysSinceAccess !== undefined && metrics.daysSinceAccess < 7) {
175
+ multiplier += 0.3;
176
+ }
177
+ // Heat score boost
178
+ multiplier += metrics.heatScore * 0.5;
179
+ // Apply multiplier
180
+ if (multiplier !== 1.0) {
181
+ candidate.score *= multiplier;
182
+ candidate.reasons.push(`experience multiplier (×${multiplier.toFixed(2)})`);
183
+ }
184
+ }
185
+ }
186
+ return candidates;
187
+ }
188
+ // ── Phase D: Confidence + Warnings ─────────────────────────────────────────
189
+ /**
190
+ * Phase D: Calculate final confidence scores and generate warnings.
191
+ *
192
+ * @param candidates - Raw candidates with total scores
193
+ * @returns Final candidates with confidence and warnings
194
+ */
195
+ phaseD_ConfidenceAndWarnings(candidates) {
196
+ // Find max score for normalization
197
+ const maxScore = Math.max(...candidates.map(c => c.score), 1);
198
+ const final = [];
199
+ for (const candidate of candidates) {
200
+ // Normalize to 0-1 confidence
201
+ const confidence = Math.min(candidate.score / maxScore, 1.0);
202
+ // Generate warnings
203
+ const warnings = [];
204
+ if (candidate.score < 3) {
205
+ warnings.push('Low confidence match');
206
+ }
207
+ if (candidate.file.symbols && candidate.file.symbols.length === 0) {
208
+ warnings.push('No symbols indexed');
209
+ }
210
+ final.push({
211
+ file: candidate.file.relativePath,
212
+ confidence,
213
+ rawScore: candidate.score,
214
+ scoring: {
215
+ static: 0, // Not tracked separately in this implementation
216
+ bias: 0, // Not tracked separately
217
+ experience: 0, // Not tracked separately
218
+ total: candidate.score
219
+ },
220
+ reasons: candidate.reasons,
221
+ warnings: warnings.length > 0 ? warnings : undefined
222
+ });
223
+ }
224
+ return final;
225
+ }
226
+ // ── Utilities ──────────────────────────────────────────────────────────────
227
+ /**
228
+ * Extract keywords from text.
229
+ */
230
+ extractKeywords(text) {
231
+ const words = text.toLowerCase().split(/[^a-z0-9]+/);
232
+ const stopWords = new Set(['a', 'an', 'the', 'is', 'are', 'was', 'were', 'be', 'to', 'of', 'in', 'on', 'at']);
233
+ return words
234
+ .filter(w => w.length > 2 && !stopWords.has(w))
235
+ .filter((w, i, arr) => arr.indexOf(w) === i);
236
+ }
237
+ /**
238
+ * Calculate keyword overlap.
239
+ */
240
+ calculateOverlap(keywords1, keywords2) {
241
+ if (keywords1.length === 0 || keywords2.length === 0)
242
+ return 0;
243
+ const set1 = new Set(keywords1);
244
+ const set2 = new Set(keywords2);
245
+ let overlap = 0;
246
+ for (const keyword of set1) {
247
+ if (set2.has(keyword))
248
+ overlap++;
249
+ }
250
+ return overlap / Math.max(keywords1.length, keywords2.length);
251
+ }
252
+ }
253
+ exports.AssistScorer = AssistScorer;
254
+ //# sourceMappingURL=AssistScorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistScorer.js","sourceRoot":"","sources":["../../src/assist/AssistScorer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * PatternAggregator - Analyzes experience data to extract scoring patterns.
3
+ *
4
+ * Reads from ExperienceStore and provides:
5
+ * - Query pattern matching (which queries led to which files)
6
+ * - Usage metadata matching (curated usage phrases)
7
+ * - Anti-result penalties (learn from mistakes)
8
+ * - File experience metrics (success rate, recency, heat)
9
+ * - Symbol experience metrics (edit history, keywords)
10
+ *
11
+ * This is the intelligence layer that powers AssistMap's experience scoring.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const aggregator = new PatternAggregator(experienceStore);
16
+ *
17
+ * // Get query pattern matches
18
+ * const matches = await aggregator.getQueryPatternMatches('file.ts', 'make cards draggable');
19
+ * // → Returns matching queries + confidence score
20
+ *
21
+ * // Get usage metadata matches
22
+ * const usageMatches = await aggregator.getUsageMatches('make cards draggable');
23
+ * // → Returns files with matching usage phrases
24
+ *
25
+ * // Get anti-result penalty
26
+ * const penalty = await aggregator.getAntiResultPenalty('file.ts', 'drag drop');
27
+ * // → Returns negative score if this file was previously rejected
28
+ * ```
29
+ */
30
+ import type { QueryPatternMatch, UsageMatch, AntiResultPenalty, FileExperienceMetrics, SymbolExperienceMetrics } from '../types';
31
+ import { ExperienceStore } from '../core/ExperienceStore';
32
+ export declare class PatternAggregator {
33
+ private store;
34
+ constructor(store: ExperienceStore);
35
+ /**
36
+ * Get query pattern matches for a file.
37
+ *
38
+ * Finds successful queries from journey history that led to this file.
39
+ *
40
+ * @param filePath - Target file path
41
+ * @param currentQuery - Current query to compare against
42
+ * @returns Query pattern match result
43
+ */
44
+ getQueryPatternMatches(filePath: string, currentQuery: string): Promise<QueryPatternMatch>;
45
+ /**
46
+ * Get usage metadata matches for a query.
47
+ *
48
+ * Finds files with usage phrases matching the query.
49
+ *
50
+ * @param query - Search query
51
+ * @returns Array of usage matches
52
+ */
53
+ getUsageMatches(query: string): Promise<UsageMatch[]>;
54
+ /**
55
+ * Get anti-result penalty for a file.
56
+ *
57
+ * Returns negative score if this file was previously shown but rejected
58
+ * or abandoned for similar queries.
59
+ *
60
+ * @param filePath - File path
61
+ * @param currentQuery - Current query
62
+ * @returns Anti-result penalty
63
+ */
64
+ getAntiResultPenalty(filePath: string, currentQuery: string): Promise<AntiResultPenalty>;
65
+ /**
66
+ * Get experience metrics for a file.
67
+ *
68
+ * @param filePath - File path
69
+ * @returns File experience metrics
70
+ */
71
+ getFileMetrics(filePath: string): Promise<FileExperienceMetrics>;
72
+ /**
73
+ * Get symbol experience metrics for a file.
74
+ *
75
+ * @param filePath - File path
76
+ * @returns Array of symbol metrics
77
+ */
78
+ getSymbolMetrics(filePath: string): Promise<SymbolExperienceMetrics[]>;
79
+ /**
80
+ * Get all events for a specific file.
81
+ *
82
+ * @param filePath - File path
83
+ * @returns Array of events
84
+ */
85
+ private getEventsForFile;
86
+ /**
87
+ * Extract keywords from a query string.
88
+ *
89
+ * @param text - Query text
90
+ * @returns Array of keywords
91
+ */
92
+ private extractKeywords;
93
+ /**
94
+ * Calculate keyword overlap between two keyword sets.
95
+ *
96
+ * @param keywords1 - First set
97
+ * @param keywords2 - Second set
98
+ * @returns Overlap ratio (0-1)
99
+ */
100
+ private calculateKeywordOverlap;
101
+ /**
102
+ * Calculate heat score based on recent activity.
103
+ *
104
+ * @param events - Events for a file
105
+ * @returns Heat score (0-1)
106
+ */
107
+ private calculateHeatScore;
108
+ /**
109
+ * Extract domain keywords from a symbol reference.
110
+ *
111
+ * @param symbolRef - Symbol reference (e.g., "src/renderer/components/TaskCard.vue$handleDragStart")
112
+ * @returns Array of domain keywords
113
+ */
114
+ private extractDomainKeywords;
115
+ }
116
+ //# sourceMappingURL=PatternAggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternAggregator.d.ts","sourceRoot":"","sources":["../../src/assist/PatternAggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,qBAAa,iBAAiB;IAEhB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI1C;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IA2C7B;;;;;;;OAOG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA+B3D;;;;;;;;;OASG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAoC7B;;;;;OAKG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyCtE;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAsC5E;;;;;OAKG;YACW,gBAAgB;IAQ9B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;CAkB9B"}