@jafreck/lore 0.3.5 → 0.3.7

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 (401) hide show
  1. package/README.md +51 -58
  2. package/dist/cli.js +76 -22
  3. package/dist/cli.js.map +1 -1
  4. package/dist/{lore-server/db.d.ts → db/read-only.d.ts} +1 -1
  5. package/dist/db/read-only.d.ts.map +1 -0
  6. package/dist/{lore-server/db.js → db/read-only.js} +1 -1
  7. package/dist/db/read-only.js.map +1 -0
  8. package/dist/{indexer/db.d.ts → db/schema.d.ts} +1 -1
  9. package/dist/db/schema.d.ts.map +1 -0
  10. package/dist/{indexer/db.js → db/schema.js} +10 -3
  11. package/dist/db/schema.js.map +1 -0
  12. package/dist/{indexer → discovery}/poller.d.ts +27 -2
  13. package/dist/discovery/poller.d.ts.map +1 -0
  14. package/dist/{indexer → discovery}/poller.js +60 -1
  15. package/dist/discovery/poller.js.map +1 -0
  16. package/dist/{indexer → discovery}/walker.d.ts +1 -1
  17. package/dist/discovery/walker.d.ts.map +1 -0
  18. package/dist/{indexer → discovery}/walker.js +1 -1
  19. package/dist/discovery/walker.js.map +1 -0
  20. package/dist/{indexer → discovery}/watcher.d.ts +27 -2
  21. package/dist/discovery/watcher.d.ts.map +1 -0
  22. package/dist/{indexer → discovery}/watcher.js +62 -1
  23. package/dist/discovery/watcher.js.map +1 -0
  24. package/dist/docs/docs.d.ts.map +1 -0
  25. package/dist/docs/docs.js.map +1 -0
  26. package/dist/{indexer → embeddings}/embedder.d.ts +12 -8
  27. package/dist/embeddings/embedder.d.ts.map +1 -0
  28. package/dist/{indexer → embeddings}/embedder.js +35 -19
  29. package/dist/embeddings/embedder.js.map +1 -0
  30. package/dist/{indexer/git-history.d.ts → git/history.d.ts} +2 -2
  31. package/dist/git/history.d.ts.map +1 -0
  32. package/dist/{indexer/git-history.js → git/history.js} +2 -2
  33. package/dist/git/history.js.map +1 -0
  34. package/dist/{indexer/git-hooks.d.ts → git/hooks.d.ts} +2 -1
  35. package/dist/git/hooks.d.ts.map +1 -0
  36. package/dist/{indexer/git-hooks.js → git/hooks.js} +5 -4
  37. package/dist/git/hooks.js.map +1 -0
  38. package/dist/index.d.ts +29 -28
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +14 -14
  41. package/dist/index.js.map +1 -1
  42. package/dist/indexer/index.d.ts +9 -6
  43. package/dist/indexer/index.d.ts.map +1 -1
  44. package/dist/indexer/index.js +58 -17
  45. package/dist/indexer/index.js.map +1 -1
  46. package/dist/indexer/pipeline.d.ts +58 -20
  47. package/dist/indexer/pipeline.d.ts.map +1 -1
  48. package/dist/indexer/pipeline.js +53 -26
  49. package/dist/indexer/pipeline.js.map +1 -1
  50. package/dist/indexer/stages/dependency-api.js +4 -4
  51. package/dist/indexer/stages/dependency-api.js.map +1 -1
  52. package/dist/indexer/stages/docs-index.d.ts +2 -2
  53. package/dist/indexer/stages/docs-index.d.ts.map +1 -1
  54. package/dist/indexer/stages/docs-index.js +2 -2
  55. package/dist/indexer/stages/docs-index.js.map +1 -1
  56. package/dist/indexer/stages/embedding.js +2 -2
  57. package/dist/indexer/stages/embedding.js.map +1 -1
  58. package/dist/indexer/stages/import-resolution.js +1 -1
  59. package/dist/indexer/stages/import-resolution.js.map +1 -1
  60. package/dist/indexer/stages/index.d.ts +2 -0
  61. package/dist/indexer/stages/index.d.ts.map +1 -1
  62. package/dist/indexer/stages/index.js +2 -0
  63. package/dist/indexer/stages/index.js.map +1 -1
  64. package/dist/indexer/stages/lsp-enrichment.d.ts +3 -3
  65. package/dist/indexer/stages/lsp-enrichment.d.ts.map +1 -1
  66. package/dist/indexer/stages/lsp-enrichment.js +147 -18
  67. package/dist/indexer/stages/lsp-enrichment.js.map +1 -1
  68. package/dist/indexer/stages/scip-enrichment.d.ts +43 -0
  69. package/dist/indexer/stages/scip-enrichment.d.ts.map +1 -0
  70. package/dist/indexer/stages/scip-enrichment.js +172 -0
  71. package/dist/indexer/stages/scip-enrichment.js.map +1 -0
  72. package/dist/indexer/stages/scip-source.d.ts +117 -0
  73. package/dist/indexer/stages/scip-source.d.ts.map +1 -0
  74. package/dist/indexer/stages/scip-source.js +924 -0
  75. package/dist/indexer/stages/scip-source.js.map +1 -0
  76. package/dist/indexer/stages/source-index.d.ts +3 -3
  77. package/dist/indexer/stages/source-index.d.ts.map +1 -1
  78. package/dist/indexer/stages/source-index.js +126 -46
  79. package/dist/indexer/stages/source-index.js.map +1 -1
  80. package/dist/lsp/client.d.ts.map +1 -0
  81. package/dist/{indexer/lsp → lsp}/client.js +1 -1
  82. package/dist/lsp/client.js.map +1 -0
  83. package/dist/lsp/config.d.ts.map +1 -0
  84. package/dist/{indexer/lsp → lsp}/config.js +1 -1
  85. package/dist/lsp/config.js.map +1 -0
  86. package/dist/lsp/enrichment.d.ts.map +1 -0
  87. package/dist/lsp/enrichment.js.map +1 -0
  88. package/dist/lsp/registry.d.ts.map +1 -0
  89. package/dist/{indexer/lsp → lsp}/registry.js +1 -1
  90. package/dist/lsp/registry.js.map +1 -0
  91. package/dist/{indexer → parsing}/complexity.d.ts.map +1 -1
  92. package/dist/{indexer → parsing}/complexity.js.map +1 -1
  93. package/dist/{indexer → parsing}/config-parser.d.ts.map +1 -1
  94. package/dist/{indexer → parsing}/config-parser.js.map +1 -1
  95. package/dist/{indexer → parsing}/extractors/bash.d.ts.map +1 -1
  96. package/dist/{indexer → parsing}/extractors/bash.js.map +1 -1
  97. package/dist/{indexer → parsing}/extractors/c.d.ts.map +1 -1
  98. package/dist/{indexer → parsing}/extractors/c.js +4 -4
  99. package/dist/parsing/extractors/c.js.map +1 -0
  100. package/dist/{indexer → parsing}/extractors/cpp.d.ts.map +1 -1
  101. package/dist/{indexer → parsing}/extractors/cpp.js +6 -12
  102. package/dist/parsing/extractors/cpp.js.map +1 -0
  103. package/dist/{indexer → parsing}/extractors/csharp.d.ts.map +1 -1
  104. package/dist/{indexer → parsing}/extractors/csharp.js +1 -6
  105. package/dist/{indexer → parsing}/extractors/csharp.js.map +1 -1
  106. package/dist/{indexer → parsing}/extractors/elixir.d.ts.map +1 -1
  107. package/dist/{indexer → parsing}/extractors/elixir.js +10 -15
  108. package/dist/parsing/extractors/elixir.js.map +1 -0
  109. package/dist/{indexer → parsing}/extractors/elm.d.ts.map +1 -1
  110. package/dist/{indexer → parsing}/extractors/elm.js.map +1 -1
  111. package/dist/{indexer → parsing}/extractors/go.d.ts.map +1 -1
  112. package/dist/{indexer → parsing}/extractors/go.js +0 -1
  113. package/dist/parsing/extractors/go.js.map +1 -0
  114. package/dist/{indexer → parsing}/extractors/haskell.d.ts.map +1 -1
  115. package/dist/{indexer → parsing}/extractors/haskell.js +2 -4
  116. package/dist/parsing/extractors/haskell.js.map +1 -0
  117. package/dist/{indexer → parsing}/extractors/java.d.ts.map +1 -1
  118. package/dist/{indexer → parsing}/extractors/java.js.map +1 -1
  119. package/dist/{indexer → parsing}/extractors/javascript.d.ts.map +1 -1
  120. package/dist/{indexer → parsing}/extractors/javascript.js +23 -3
  121. package/dist/parsing/extractors/javascript.js.map +1 -0
  122. package/dist/{indexer → parsing}/extractors/julia.d.ts.map +1 -1
  123. package/dist/{indexer → parsing}/extractors/julia.js.map +1 -1
  124. package/dist/{indexer → parsing}/extractors/kotlin.d.ts.map +1 -1
  125. package/dist/{indexer → parsing}/extractors/kotlin.js +4 -3
  126. package/dist/{indexer → parsing}/extractors/kotlin.js.map +1 -1
  127. package/dist/{indexer → parsing}/extractors/lua.d.ts.map +1 -1
  128. package/dist/{indexer → parsing}/extractors/lua.js +1 -13
  129. package/dist/parsing/extractors/lua.js.map +1 -0
  130. package/dist/{indexer → parsing}/extractors/objc.d.ts.map +1 -1
  131. package/dist/{indexer → parsing}/extractors/objc.js +4 -6
  132. package/dist/parsing/extractors/objc.js.map +1 -0
  133. package/dist/{indexer → parsing}/extractors/ocaml.d.ts.map +1 -1
  134. package/dist/{indexer → parsing}/extractors/ocaml.js +2 -10
  135. package/dist/parsing/extractors/ocaml.js.map +1 -0
  136. package/dist/{indexer → parsing}/extractors/php.d.ts.map +1 -1
  137. package/dist/{indexer → parsing}/extractors/php.js.map +1 -1
  138. package/dist/{indexer → parsing}/extractors/python.d.ts.map +1 -1
  139. package/dist/{indexer → parsing}/extractors/python.js.map +1 -1
  140. package/dist/{indexer → parsing}/extractors/ruby.d.ts.map +1 -1
  141. package/dist/{indexer → parsing}/extractors/ruby.js.map +1 -1
  142. package/dist/{indexer → parsing}/extractors/rust.d.ts.map +1 -1
  143. package/dist/{indexer → parsing}/extractors/rust.js +1 -1
  144. package/dist/{indexer → parsing}/extractors/rust.js.map +1 -1
  145. package/dist/{indexer → parsing}/extractors/scala.d.ts.map +1 -1
  146. package/dist/{indexer → parsing}/extractors/scala.js.map +1 -1
  147. package/dist/{indexer → parsing}/extractors/swift.d.ts.map +1 -1
  148. package/dist/{indexer → parsing}/extractors/swift.js.map +1 -1
  149. package/dist/{indexer → parsing}/extractors/types.d.ts.map +1 -1
  150. package/dist/{indexer → parsing}/extractors/types.js.map +1 -1
  151. package/dist/{indexer → parsing}/extractors/typescript.d.ts.map +1 -1
  152. package/dist/{indexer → parsing}/extractors/typescript.js +61 -19
  153. package/dist/parsing/extractors/typescript.js.map +1 -0
  154. package/dist/{indexer → parsing}/extractors/zig.d.ts.map +1 -1
  155. package/dist/{indexer → parsing}/extractors/zig.js +0 -4
  156. package/dist/parsing/extractors/zig.js.map +1 -0
  157. package/dist/{indexer → parsing}/parser.d.ts.map +1 -1
  158. package/dist/{indexer → parsing}/parser.js.map +1 -1
  159. package/dist/{indexer → resolution}/call-graph.d.ts +15 -1
  160. package/dist/resolution/call-graph.d.ts.map +1 -0
  161. package/dist/{indexer → resolution}/call-graph.js +34 -0
  162. package/dist/resolution/call-graph.js.map +1 -0
  163. package/dist/{indexer → resolution}/graph-analysis.d.ts +1 -1
  164. package/dist/resolution/graph-analysis.d.ts.map +1 -0
  165. package/dist/resolution/graph-analysis.js.map +1 -0
  166. package/dist/{indexer → resolution}/resolution-method.d.ts +3 -1
  167. package/dist/resolution/resolution-method.d.ts.map +1 -0
  168. package/dist/{indexer → resolution}/resolution-method.js +4 -0
  169. package/dist/resolution/resolution-method.js.map +1 -0
  170. package/dist/{indexer → resolution}/resolver.d.ts +7 -1
  171. package/dist/resolution/resolver.d.ts.map +1 -0
  172. package/dist/{indexer → resolution}/resolver.js +21 -0
  173. package/dist/resolution/resolver.js.map +1 -0
  174. package/dist/runtime.d.ts +6 -3
  175. package/dist/runtime.d.ts.map +1 -1
  176. package/dist/runtime.js +5 -3
  177. package/dist/runtime.js.map +1 -1
  178. package/dist/scip/config.d.ts +32 -0
  179. package/dist/scip/config.d.ts.map +1 -0
  180. package/dist/scip/config.js +96 -0
  181. package/dist/scip/config.js.map +1 -0
  182. package/dist/scip/enrichment.d.ts +56 -0
  183. package/dist/scip/enrichment.d.ts.map +1 -0
  184. package/dist/scip/enrichment.js +258 -0
  185. package/dist/scip/enrichment.js.map +1 -0
  186. package/dist/scip/index-reader.d.ts +100 -0
  187. package/dist/scip/index-reader.d.ts.map +1 -0
  188. package/dist/scip/index-reader.js +225 -0
  189. package/dist/scip/index-reader.js.map +1 -0
  190. package/dist/scip/registry.d.ts +51 -0
  191. package/dist/scip/registry.d.ts.map +1 -0
  192. package/dist/scip/registry.js +131 -0
  193. package/dist/scip/registry.js.map +1 -0
  194. package/dist/scip/scip_pb.d.ts +2118 -0
  195. package/dist/scip/scip_pb.d.ts.map +1 -0
  196. package/dist/scip/scip_pb.js +1534 -0
  197. package/dist/scip/scip_pb.js.map +1 -0
  198. package/dist/{lore-server → server}/server.d.ts +3 -4
  199. package/dist/server/server.d.ts.map +1 -0
  200. package/dist/{lore-server → server}/server.js +4 -13
  201. package/dist/server/server.js.map +1 -0
  202. package/dist/{lore-server → server}/tool-registry.d.ts +2 -2
  203. package/dist/server/tool-registry.d.ts.map +1 -0
  204. package/dist/{lore-server → server}/tool-registry.js +1 -26
  205. package/dist/server/tool-registry.js.map +1 -0
  206. package/dist/{lore-server → server}/tools/blame.d.ts +1 -1
  207. package/dist/server/tools/blame.d.ts.map +1 -0
  208. package/dist/{lore-server → server}/tools/blame.js +1 -1
  209. package/dist/server/tools/blame.js.map +1 -0
  210. package/dist/{lore-server → server}/tools/docs.d.ts +3 -3
  211. package/dist/server/tools/docs.d.ts.map +1 -0
  212. package/dist/{lore-server → server}/tools/docs.js +1 -1
  213. package/dist/server/tools/docs.js.map +1 -0
  214. package/dist/{lore-server → server}/tools/graph.d.ts +32 -6
  215. package/dist/server/tools/graph.d.ts.map +1 -0
  216. package/dist/{lore-server → server}/tools/graph.js +115 -90
  217. package/dist/server/tools/graph.js.map +1 -0
  218. package/dist/{lore-server → server}/tools/history.d.ts +3 -3
  219. package/dist/server/tools/history.d.ts.map +1 -0
  220. package/dist/{lore-server → server}/tools/history.js +1 -1
  221. package/dist/server/tools/history.js.map +1 -0
  222. package/dist/{lore-server → server}/tools/lookup.d.ts +2 -2
  223. package/dist/server/tools/lookup.d.ts.map +1 -0
  224. package/dist/{lore-server → server}/tools/lookup.js +1 -1
  225. package/dist/server/tools/lookup.js.map +1 -0
  226. package/dist/server/tools/metrics.d.ts +48 -0
  227. package/dist/server/tools/metrics.d.ts.map +1 -0
  228. package/dist/server/tools/metrics.js +44 -0
  229. package/dist/server/tools/metrics.js.map +1 -0
  230. package/dist/{lore-server → server}/tools/notes.d.ts +1 -1
  231. package/dist/server/tools/notes.d.ts.map +1 -0
  232. package/dist/server/tools/notes.js.map +1 -0
  233. package/dist/{lore-server → server}/tools/routes.d.ts +2 -2
  234. package/dist/server/tools/routes.d.ts.map +1 -0
  235. package/dist/{lore-server → server}/tools/routes.js +1 -1
  236. package/dist/server/tools/routes.js.map +1 -0
  237. package/dist/{lore-server → server}/tools/search.d.ts +2 -2
  238. package/dist/server/tools/search.d.ts.map +1 -0
  239. package/dist/{lore-server → server}/tools/search.js +1 -1
  240. package/dist/server/tools/search.js.map +1 -0
  241. package/dist/{lore-server → server}/tools/snippet.d.ts +1 -1
  242. package/dist/server/tools/snippet.d.ts.map +1 -0
  243. package/dist/{lore-server → server}/tools/snippet.js +1 -1
  244. package/dist/server/tools/snippet.js.map +1 -0
  245. package/dist/{lore-server → server}/tools/test-map.d.ts +1 -1
  246. package/dist/server/tools/test-map.d.ts.map +1 -0
  247. package/dist/{lore-server → server}/tools/test-map.js +1 -1
  248. package/dist/server/tools/test-map.js.map +1 -0
  249. package/dist/{indexer → testing}/coverage.d.ts +1 -1
  250. package/dist/testing/coverage.d.ts.map +1 -0
  251. package/dist/{indexer → testing}/coverage.js.map +1 -1
  252. package/dist/{indexer → testing}/test-mapper.d.ts +1 -1
  253. package/dist/testing/test-mapper.d.ts.map +1 -0
  254. package/dist/{indexer → testing}/test-mapper.js.map +1 -1
  255. package/package.json +12 -9
  256. package/dist/indexer/call-graph.d.ts.map +0 -1
  257. package/dist/indexer/call-graph.js.map +0 -1
  258. package/dist/indexer/coverage.d.ts.map +0 -1
  259. package/dist/indexer/db.d.ts.map +0 -1
  260. package/dist/indexer/db.js.map +0 -1
  261. package/dist/indexer/docs.d.ts.map +0 -1
  262. package/dist/indexer/docs.js.map +0 -1
  263. package/dist/indexer/embedder.d.ts.map +0 -1
  264. package/dist/indexer/embedder.js.map +0 -1
  265. package/dist/indexer/extractors/c.js.map +0 -1
  266. package/dist/indexer/extractors/cpp.js.map +0 -1
  267. package/dist/indexer/extractors/elixir.js.map +0 -1
  268. package/dist/indexer/extractors/go.js.map +0 -1
  269. package/dist/indexer/extractors/haskell.js.map +0 -1
  270. package/dist/indexer/extractors/javascript.js.map +0 -1
  271. package/dist/indexer/extractors/lua.js.map +0 -1
  272. package/dist/indexer/extractors/objc.js.map +0 -1
  273. package/dist/indexer/extractors/ocaml.js.map +0 -1
  274. package/dist/indexer/extractors/typescript.js.map +0 -1
  275. package/dist/indexer/extractors/zig.js.map +0 -1
  276. package/dist/indexer/git-history.d.ts.map +0 -1
  277. package/dist/indexer/git-history.js.map +0 -1
  278. package/dist/indexer/git-hooks.d.ts.map +0 -1
  279. package/dist/indexer/git-hooks.js.map +0 -1
  280. package/dist/indexer/graph-analysis.d.ts.map +0 -1
  281. package/dist/indexer/graph-analysis.js.map +0 -1
  282. package/dist/indexer/lsp/client.d.ts.map +0 -1
  283. package/dist/indexer/lsp/client.js.map +0 -1
  284. package/dist/indexer/lsp/config.d.ts.map +0 -1
  285. package/dist/indexer/lsp/config.js.map +0 -1
  286. package/dist/indexer/lsp/enrichment.d.ts.map +0 -1
  287. package/dist/indexer/lsp/enrichment.js.map +0 -1
  288. package/dist/indexer/lsp/registry.d.ts.map +0 -1
  289. package/dist/indexer/lsp/registry.js.map +0 -1
  290. package/dist/indexer/poller.d.ts.map +0 -1
  291. package/dist/indexer/poller.js.map +0 -1
  292. package/dist/indexer/resolution-method.d.ts.map +0 -1
  293. package/dist/indexer/resolution-method.js.map +0 -1
  294. package/dist/indexer/resolver.d.ts.map +0 -1
  295. package/dist/indexer/resolver.js.map +0 -1
  296. package/dist/indexer/test-mapper.d.ts.map +0 -1
  297. package/dist/indexer/walker.d.ts.map +0 -1
  298. package/dist/indexer/walker.js.map +0 -1
  299. package/dist/indexer/watcher.d.ts.map +0 -1
  300. package/dist/indexer/watcher.js.map +0 -1
  301. package/dist/lore-server/db.d.ts.map +0 -1
  302. package/dist/lore-server/db.js.map +0 -1
  303. package/dist/lore-server/server.d.ts.map +0 -1
  304. package/dist/lore-server/server.js.map +0 -1
  305. package/dist/lore-server/tool-registry.d.ts.map +0 -1
  306. package/dist/lore-server/tool-registry.js.map +0 -1
  307. package/dist/lore-server/tools/annotations.d.ts +0 -40
  308. package/dist/lore-server/tools/annotations.d.ts.map +0 -1
  309. package/dist/lore-server/tools/annotations.js +0 -35
  310. package/dist/lore-server/tools/annotations.js.map +0 -1
  311. package/dist/lore-server/tools/architecture.d.ts +0 -67
  312. package/dist/lore-server/tools/architecture.d.ts.map +0 -1
  313. package/dist/lore-server/tools/architecture.js +0 -209
  314. package/dist/lore-server/tools/architecture.js.map +0 -1
  315. package/dist/lore-server/tools/blame.d.ts.map +0 -1
  316. package/dist/lore-server/tools/blame.js.map +0 -1
  317. package/dist/lore-server/tools/coverage.d.ts +0 -67
  318. package/dist/lore-server/tools/coverage.d.ts.map +0 -1
  319. package/dist/lore-server/tools/coverage.js +0 -74
  320. package/dist/lore-server/tools/coverage.js.map +0 -1
  321. package/dist/lore-server/tools/docs.d.ts.map +0 -1
  322. package/dist/lore-server/tools/docs.js.map +0 -1
  323. package/dist/lore-server/tools/graph-analysis.d.ts +0 -64
  324. package/dist/lore-server/tools/graph-analysis.d.ts.map +0 -1
  325. package/dist/lore-server/tools/graph-analysis.js +0 -82
  326. package/dist/lore-server/tools/graph-analysis.js.map +0 -1
  327. package/dist/lore-server/tools/graph.d.ts.map +0 -1
  328. package/dist/lore-server/tools/graph.js.map +0 -1
  329. package/dist/lore-server/tools/history.d.ts.map +0 -1
  330. package/dist/lore-server/tools/history.js.map +0 -1
  331. package/dist/lore-server/tools/lookup.d.ts.map +0 -1
  332. package/dist/lore-server/tools/lookup.js.map +0 -1
  333. package/dist/lore-server/tools/metrics.d.ts +0 -73
  334. package/dist/lore-server/tools/metrics.d.ts.map +0 -1
  335. package/dist/lore-server/tools/metrics.js +0 -79
  336. package/dist/lore-server/tools/metrics.js.map +0 -1
  337. package/dist/lore-server/tools/notes.d.ts.map +0 -1
  338. package/dist/lore-server/tools/notes.js.map +0 -1
  339. package/dist/lore-server/tools/routes.d.ts.map +0 -1
  340. package/dist/lore-server/tools/routes.js.map +0 -1
  341. package/dist/lore-server/tools/search.d.ts.map +0 -1
  342. package/dist/lore-server/tools/search.js.map +0 -1
  343. package/dist/lore-server/tools/snippet.d.ts.map +0 -1
  344. package/dist/lore-server/tools/snippet.js.map +0 -1
  345. package/dist/lore-server/tools/test-map.d.ts.map +0 -1
  346. package/dist/lore-server/tools/test-map.js.map +0 -1
  347. package/dist/lore-server/tools/writeback.d.ts +0 -49
  348. package/dist/lore-server/tools/writeback.d.ts.map +0 -1
  349. package/dist/lore-server/tools/writeback.js +0 -68
  350. package/dist/lore-server/tools/writeback.js.map +0 -1
  351. /package/dist/{indexer → docs}/docs.d.ts +0 -0
  352. /package/dist/{indexer → docs}/docs.js +0 -0
  353. /package/dist/{indexer/lsp → lsp}/client.d.ts +0 -0
  354. /package/dist/{indexer/lsp → lsp}/config.d.ts +0 -0
  355. /package/dist/{indexer/lsp → lsp}/enrichment.d.ts +0 -0
  356. /package/dist/{indexer/lsp → lsp}/enrichment.js +0 -0
  357. /package/dist/{indexer/lsp → lsp}/registry.d.ts +0 -0
  358. /package/dist/{indexer → parsing}/complexity.d.ts +0 -0
  359. /package/dist/{indexer → parsing}/complexity.js +0 -0
  360. /package/dist/{indexer → parsing}/config-parser.d.ts +0 -0
  361. /package/dist/{indexer → parsing}/config-parser.js +0 -0
  362. /package/dist/{indexer → parsing}/extractors/bash.d.ts +0 -0
  363. /package/dist/{indexer → parsing}/extractors/bash.js +0 -0
  364. /package/dist/{indexer → parsing}/extractors/c.d.ts +0 -0
  365. /package/dist/{indexer → parsing}/extractors/cpp.d.ts +0 -0
  366. /package/dist/{indexer → parsing}/extractors/csharp.d.ts +0 -0
  367. /package/dist/{indexer → parsing}/extractors/elixir.d.ts +0 -0
  368. /package/dist/{indexer → parsing}/extractors/elm.d.ts +0 -0
  369. /package/dist/{indexer → parsing}/extractors/elm.js +0 -0
  370. /package/dist/{indexer → parsing}/extractors/go.d.ts +0 -0
  371. /package/dist/{indexer → parsing}/extractors/haskell.d.ts +0 -0
  372. /package/dist/{indexer → parsing}/extractors/java.d.ts +0 -0
  373. /package/dist/{indexer → parsing}/extractors/java.js +0 -0
  374. /package/dist/{indexer → parsing}/extractors/javascript.d.ts +0 -0
  375. /package/dist/{indexer → parsing}/extractors/julia.d.ts +0 -0
  376. /package/dist/{indexer → parsing}/extractors/julia.js +0 -0
  377. /package/dist/{indexer → parsing}/extractors/kotlin.d.ts +0 -0
  378. /package/dist/{indexer → parsing}/extractors/lua.d.ts +0 -0
  379. /package/dist/{indexer → parsing}/extractors/objc.d.ts +0 -0
  380. /package/dist/{indexer → parsing}/extractors/ocaml.d.ts +0 -0
  381. /package/dist/{indexer → parsing}/extractors/php.d.ts +0 -0
  382. /package/dist/{indexer → parsing}/extractors/php.js +0 -0
  383. /package/dist/{indexer → parsing}/extractors/python.d.ts +0 -0
  384. /package/dist/{indexer → parsing}/extractors/python.js +0 -0
  385. /package/dist/{indexer → parsing}/extractors/ruby.d.ts +0 -0
  386. /package/dist/{indexer → parsing}/extractors/ruby.js +0 -0
  387. /package/dist/{indexer → parsing}/extractors/rust.d.ts +0 -0
  388. /package/dist/{indexer → parsing}/extractors/scala.d.ts +0 -0
  389. /package/dist/{indexer → parsing}/extractors/scala.js +0 -0
  390. /package/dist/{indexer → parsing}/extractors/swift.d.ts +0 -0
  391. /package/dist/{indexer → parsing}/extractors/swift.js +0 -0
  392. /package/dist/{indexer → parsing}/extractors/types.d.ts +0 -0
  393. /package/dist/{indexer → parsing}/extractors/types.js +0 -0
  394. /package/dist/{indexer → parsing}/extractors/typescript.d.ts +0 -0
  395. /package/dist/{indexer → parsing}/extractors/zig.d.ts +0 -0
  396. /package/dist/{indexer → parsing}/parser.d.ts +0 -0
  397. /package/dist/{indexer → parsing}/parser.js +0 -0
  398. /package/dist/{indexer → resolution}/graph-analysis.js +0 -0
  399. /package/dist/{lore-server → server}/tools/notes.js +0 -0
  400. /package/dist/{indexer → testing}/coverage.js +0 -0
  401. /package/dist/{indexer → testing}/test-mapper.js +0 -0
@@ -6,22 +6,24 @@
6
6
  * Both queries return adjacency lists so callers can build their own
7
7
  * traversals without additional round-trips.
8
8
  */
9
- import { getCoveragePercentBySymbolIds, semanticSearchSymbols } from '../db.js';
9
+ import { getCoveragePercentBySymbolIds, semanticSearchSymbols } from '../../db/read-only.js';
10
10
  // ─── Tool definition ──────────────────────────────────────────────────────────
11
11
  export const toolDef = {
12
12
  name: 'lore_graph',
13
- description: 'Query call, import, module, inheritance, or type dependency graph edges stored in the knowledge-base index. ' +
14
- 'Set `kind` to "call", "import", "module", "inheritance", or "type_dependency". ' +
13
+ description: 'Query call, import, inheritance, or type dependency graph edges stored in the knowledge-base index. ' +
14
+ 'Set `kind` to "call", "import", "inheritance", or "type_dependency". ' +
15
15
  'Use source_id for outbound edges (what does X call?) and target_id for inbound edges (who calls X?). ' +
16
+ 'Set depth > 1 to follow transitive edges (e.g., depth=3 returns the full 3-hop blast radius in one call). ' +
17
+ 'Set compact=true to omit provenance fields (line numbers, resolution details) and reduce token count. ' +
16
18
  'Optionally set mode="semantic" with query_vector to retrieve semantically related symbol/module nodes alongside edges.',
17
19
  inputSchema: {
18
20
  type: 'object',
19
21
  properties: {
20
22
  kind: {
21
23
  type: 'string',
22
- enum: ['call', 'import', 'module', 'inheritance', 'type_dependency'],
24
+ enum: ['call', 'import', 'inheritance', 'type_dependency'],
23
25
  description: '"call" returns symbol → callee edges; "import" returns file → imported-file edges; ' +
24
- '"module" returns module → imported-module edges; "inheritance" returns symbol → base-symbol edges; ' +
26
+ '"inheritance" returns symbol → base-symbol edges; ' +
25
27
  '"type_dependency" returns symbol → referenced-type edges.',
26
28
  },
27
29
  source_id: {
@@ -39,6 +41,18 @@ export const toolDef = {
39
41
  type: 'number',
40
42
  description: 'Maximum number of edges to return (default 200).',
41
43
  },
44
+ depth: {
45
+ type: 'number',
46
+ description: 'Traversal depth for transitive closure (default 1, max 5). ' +
47
+ 'depth=1 returns direct edges only. depth=N follows edges N hops deep, returning all discovered edges.',
48
+ minimum: 1,
49
+ maximum: 5,
50
+ },
51
+ compact: {
52
+ type: 'boolean',
53
+ description: 'If true, omit provenance fields (line, character, resolution_method, definition_path/line/character) ' +
54
+ 'from edge records. IDs and names are preserved for follow-up queries. Default false.',
55
+ },
42
56
  branch: {
43
57
  type: 'string',
44
58
  description: 'Optional branch name to filter edges by source branch.',
@@ -92,9 +106,11 @@ function getStructuralEdges(db, args, limit) {
92
106
  params.push(limit);
93
107
  const sql = `SELECT sr.caller_id AS source_id,
94
108
  s_caller.name AS source_name,
109
+ f_caller.path AS source_file_path,
95
110
  f_caller.branch AS source_branch,
96
111
  sr.callee_id AS target_id,
97
112
  sr.callee_name AS target_name,
113
+ sr.definition_path AS target_file_path,
98
114
  sr.call_kind AS call_kind,
99
115
  sr.call_line + 1 AS line,
100
116
  CASE
@@ -150,45 +166,6 @@ function getStructuralEdges(db, args, limit) {
150
166
  const edges = db.prepare(sql).all(...params);
151
167
  return edges;
152
168
  }
153
- else if (args.kind === 'module') {
154
- // Module-level: inferred from file_imports + file_modules.
155
- // NOTE: No writer populates `modules`/`file_modules` — this query returns
156
- // empty results until a module-detection writer is implemented.
157
- // The INNER JOIN on file_modules ensures graceful empty results.
158
- const conditions = [];
159
- const params = [];
160
- if (args.source_id !== undefined) {
161
- conditions.push('m_src.id = ?');
162
- params.push(args.source_id);
163
- }
164
- if (args.target_id !== undefined) {
165
- conditions.push('m_dst.id = ?');
166
- params.push(args.target_id);
167
- }
168
- if (args.branch !== undefined) {
169
- conditions.push('f_src.branch = ?');
170
- params.push(args.branch);
171
- }
172
- const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
173
- params.push(limit);
174
- const sql = `SELECT DISTINCT
175
- m_src.id AS source_id,
176
- m_src.name AS source_name,
177
- f_src.branch AS source_branch,
178
- m_dst.id AS target_id,
179
- COALESCE(m_dst.name, fi.raw_import) AS target_name
180
- FROM file_imports fi
181
- JOIN files f_src ON f_src.id = fi.file_id
182
- JOIN file_modules fm_src ON fm_src.file_id = f_src.id
183
- JOIN modules m_src ON m_src.id = fm_src.module_id
184
- LEFT JOIN files f_dst ON f_dst.id = fi.resolved_id
185
- LEFT JOIN file_modules fm_dst ON fm_dst.file_id = f_dst.id
186
- LEFT JOIN modules m_dst ON m_dst.id = fm_dst.module_id
187
- ${whereClause}
188
- LIMIT ?`;
189
- const edges = db.prepare(sql).all(...params);
190
- return edges;
191
- }
192
169
  else if (args.kind === 'inheritance') {
193
170
  // Symbol-level inheritance edges (e.g., class extends, implements)
194
171
  const conditions = ["rel.relationship_type IN ('extends', 'implements')"];
@@ -209,9 +186,11 @@ function getStructuralEdges(db, args, limit) {
209
186
  params.push(limit);
210
187
  const sql = `SELECT rel.source_symbol_id AS source_id,
211
188
  s_src.name AS source_name,
189
+ f_src.path AS source_file_path,
212
190
  f_src.branch AS source_branch,
213
191
  rel.target_symbol_id AS target_id,
214
192
  COALESCE(s_dst.name, rel.target_symbol_name) AS target_name,
193
+ rel.definition_path AS target_file_path,
215
194
  rel.line + 1 AS line,
216
195
  CASE
217
196
  WHEN rel.character IS NULL THEN NULL
@@ -250,9 +229,11 @@ function getStructuralEdges(db, args, limit) {
250
229
  params.push(limit);
251
230
  const sql = `SELECT tr.symbol_id AS source_id,
252
231
  COALESCE(s_src.name, '') AS source_name,
232
+ f_src.path AS source_file_path,
253
233
  f_src.branch AS source_branch,
254
234
  tr.type_id AS target_id,
255
235
  COALESCE(s_dst.name, tr.type_name) AS target_name,
236
+ tr.definition_path AS target_file_path,
256
237
  tr.ref_kind AS ref_kind,
257
238
  tr.ref_line + 1 AS line,
258
239
  CASE
@@ -273,43 +254,111 @@ function getStructuralEdges(db, args, limit) {
273
254
  return edges;
274
255
  }
275
256
  }
276
- function getSemanticModuleMappings(db, symbolIds) {
277
- if (symbolIds.length === 0) {
278
- return [];
279
- }
280
- const placeholders = symbolIds.map(() => '?').join(', ');
281
- return db.prepare(`SELECT s.id AS symbol_id,
282
- m.id AS module_id,
283
- m.name AS module_name,
284
- m.kind AS module_kind,
285
- f.branch AS source_branch
286
- FROM symbols s
287
- JOIN files f ON f.id = s.file_id
288
- JOIN file_modules fm ON fm.file_id = f.id
289
- JOIN modules m ON m.id = fm.module_id
290
- WHERE s.id IN (${placeholders})`).all(...symbolIds);
257
+ function compactEdge(edge) {
258
+ const compact = {
259
+ source_id: edge.source_id,
260
+ source_name: edge.source_name,
261
+ source_branch: edge.source_branch,
262
+ target_id: edge.target_id,
263
+ target_name: edge.target_name,
264
+ };
265
+ if (edge.source_file_path != null)
266
+ compact.source_file_path = edge.source_file_path;
267
+ if (edge.target_file_path != null)
268
+ compact.target_file_path = edge.target_file_path;
269
+ if (edge.callee_coverage_percent !== undefined)
270
+ compact.callee_coverage_percent = edge.callee_coverage_percent;
271
+ if (edge.ref_kind !== undefined)
272
+ compact.ref_kind = edge.ref_kind;
273
+ return compact;
291
274
  }
292
275
  /** Return adjacency-list edges from the call graph or import graph. */
293
276
  export function handler(db, args) {
294
277
  const limit = args.limit ?? 200;
295
- const edges = getStructuralEdges(db, args, limit);
278
+ const depth = Math.max(1, Math.min(args.depth ?? 1, 5));
279
+ const compact = args.compact ?? false;
280
+ // Depth-1 fast path (original behaviour)
281
+ if (depth === 1) {
282
+ const edges = getStructuralEdges(db, args, limit);
283
+ return finishResult(db, args, edges, limit, compact, depth);
284
+ }
285
+ // Multi-hop transitive expansion
286
+ const allEdges = [];
287
+ const seenEdgeKeys = new Set();
288
+ // Track frontier IDs for outbound traversal (source_id → target expansion)
289
+ // or inbound traversal (target_id → source expansion)
290
+ const isOutbound = args.source_id !== undefined && args.target_id === undefined;
291
+ let frontier;
292
+ if (isOutbound) {
293
+ frontier = [args.source_id];
294
+ }
295
+ else if (args.target_id !== undefined) {
296
+ frontier = [args.target_id];
297
+ }
298
+ else {
299
+ // No anchor → just run one hop with the given limit
300
+ const edges = getStructuralEdges(db, args, limit);
301
+ return finishResult(db, args, edges, limit, compact, depth);
302
+ }
303
+ for (let hop = 0; hop < depth && frontier.length > 0 && allEdges.length < limit; hop++) {
304
+ const hopArgs = {
305
+ kind: args.kind,
306
+ branch: args.branch,
307
+ };
308
+ // Query each frontier ID
309
+ const hopEdges = [];
310
+ for (const id of frontier) {
311
+ if (isOutbound) {
312
+ hopArgs.source_id = id;
313
+ }
314
+ else {
315
+ hopArgs.target_id = id;
316
+ }
317
+ const remaining = limit - allEdges.length - hopEdges.length;
318
+ if (remaining <= 0)
319
+ break;
320
+ const edges = getStructuralEdges(db, hopArgs, remaining);
321
+ hopEdges.push(...edges);
322
+ }
323
+ // Deduplicate edges
324
+ const nextFrontier = [];
325
+ for (const edge of hopEdges) {
326
+ const key = `${edge.source_id}:${edge.target_id}:${edge.source_name}:${edge.target_name}`;
327
+ if (seenEdgeKeys.has(key))
328
+ continue;
329
+ seenEdgeKeys.add(key);
330
+ allEdges.push(edge);
331
+ // Expand in the traversal direction
332
+ const nextId = isOutbound ? edge.target_id : edge.source_id;
333
+ if (nextId !== null) {
334
+ nextFrontier.push(nextId);
335
+ }
336
+ }
337
+ frontier = nextFrontier;
338
+ }
339
+ return finishResult(db, args, allEdges, limit, compact, depth);
340
+ }
341
+ function finishResult(db, args, edges, limit, compact, depth) {
296
342
  const mode = args.mode ?? 'structural';
343
+ const finalEdges = compact ? edges.map(compactEdge) : edges;
297
344
  if (mode !== 'semantic') {
298
- return { edges, mode_used: 'structural' };
345
+ return { edges: finalEdges, mode_used: 'structural', depth_used: depth };
299
346
  }
300
347
  const queryVector = args.query_vector;
301
348
  if (!queryVector || queryVector.length === 0) {
302
349
  return {
303
- edges,
350
+ edges: finalEdges,
304
351
  semantic_nodes: [],
305
352
  mode_used: 'structural (fallback: missing query_vector)',
353
+ depth_used: depth,
306
354
  };
307
355
  }
308
356
  if (!hasVirtualTable(db, 'symbol_embeddings')) {
309
357
  return {
310
- edges,
358
+ edges: finalEdges,
311
359
  semantic_nodes: [],
312
360
  mode_used: 'structural (fallback: no embeddings)',
361
+ depth_used: depth,
313
362
  };
314
363
  }
315
364
  const semanticLimit = Math.max(1, Math.floor(args.semantic_limit ?? Math.min(limit, 20)));
@@ -331,35 +380,11 @@ export function handler(db, args) {
331
380
  kind: row.kind,
332
381
  file_path: row.file_path,
333
382
  }));
334
- const scoreBySymbolId = new Map(filteredSymbols.map((row) => [row.id, row.score]));
335
- const moduleNodesByKey = new Map();
336
- const moduleMappings = getSemanticModuleMappings(db, Array.from(scoreBySymbolId.keys()));
337
- for (const mapping of moduleMappings) {
338
- const symbolScore = scoreBySymbolId.get(mapping.symbol_id);
339
- if (symbolScore === undefined) {
340
- continue;
341
- }
342
- const moduleKey = `${mapping.module_id}:${mapping.source_branch}`;
343
- const existing = moduleNodesByKey.get(moduleKey);
344
- if (!existing || symbolScore < existing.score) {
345
- moduleNodesByKey.set(moduleKey, {
346
- node_type: 'module',
347
- id: mapping.module_id,
348
- name: mapping.module_name,
349
- branch: mapping.source_branch,
350
- score: symbolScore,
351
- kind: mapping.module_kind,
352
- });
353
- }
354
- }
355
- const moduleNodes = Array.from(moduleNodesByKey.values()).sort((a, b) => a.score - b.score
356
- || a.branch.localeCompare(b.branch)
357
- || a.name.localeCompare(b.name)
358
- || a.id - b.id);
359
383
  return {
360
- edges,
361
- semantic_nodes: [...symbolNodes, ...moduleNodes],
384
+ edges: finalEdges,
385
+ semantic_nodes: symbolNodes,
362
386
  mode_used: 'semantic',
387
+ depth_used: depth,
363
388
  };
364
389
  }
365
390
  //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/server/tools/graph.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * MCP tool: query commit history by file, commit SHA, author, or recency.
5
5
  */
6
- import type { Database } from '../db.js';
7
- import { type CommitRow, type CommitFileRow, type CommitRefRow } from '../db.js';
8
- import type { EmbeddingProvider } from '../../indexer/embedder.js';
6
+ import type { Database } from '../../db/read-only.js';
7
+ import { type CommitRow, type CommitFileRow, type CommitRefRow } from '../../db/read-only.js';
8
+ import type { EmbeddingProvider } from '../../embeddings/embedder.js';
9
9
  export declare const toolDef: {
10
10
  readonly name: "lore_history";
11
11
  readonly description: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/server/tools/history.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAUL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAItE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;CAoCV,CAAC;AAIX,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,+DAA+D;AAC/D,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,SAAS,EAAE,EACpB,OAAO,GAAE,uBAA4B,GACpC,eAAe,EAAE,CASnB;AAED,iFAAiF;AACjF,wBAAsB,OAAO,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAmExB"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * MCP tool: query commit history by file, commit SHA, author, or recency.
5
5
  */
6
- import { getCommitBySha, listRecentCommits, listCommitsByFile, listCommitsByAuthor, listCommitsByRef, hasCommitEmbeddings, listCommitsBySemanticQuery, listCommitFiles, listCommitRefs, } from '../db.js';
6
+ import { getCommitBySha, listRecentCommits, listCommitsByFile, listCommitsByAuthor, listCommitsByRef, hasCommitEmbeddings, listCommitsBySemanticQuery, listCommitFiles, listCommitRefs, } from '../../db/read-only.js';
7
7
  // ─── Tool definition ──────────────────────────────────────────────────────────
8
8
  export const toolDef = {
9
9
  name: 'lore_history',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/server/tools/history.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,cAAc,GAIf,MAAM,uBAAuB,CAAC;AAG/B,iFAAiF;AAEjF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,0DAA0D;QAC1D,iEAAiE;QACjE,sDAAsD;QACtD,sDAAsD;QACtD,gDAAgD;QAChD,qDAAqD;QACrD,kCAAkC;QAClC,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;gBAC/D,WAAW,EAAE,aAAa;aAC3B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kCAAkC;oBAClC,iDAAiD;oBACjD,qDAAqD;oBACrD,yFAAyF;oBACzF,6DAA6D;oBAC7D,iCAAiC;aACpC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;CACO,CAAC;AA0BX,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,aAAa,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,wBAAwB,CACtC,EAAqB,EACrB,OAAoB,EACpB,UAAmC,EAAE;IAErC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAEhD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,EAAqB,EACrB,IAAiB,EACjB,QAA4B;IAE5B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,QAAQ;gBACnB,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC;gBACxC,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzD,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM;gBACjB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC;gBACxC,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/D,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5D,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACjE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjE,CAAC;gBACD,MAAM,IAAI,GAAG,0BAA0B,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBAChE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * MCP tool: look up symbols by name or files by path.
5
5
  */
6
- import type { Database } from '../db.js';
7
- import type { EmbeddingProvider } from '../../indexer/embedder.js';
6
+ import type { Database } from '../../db/read-only.js';
7
+ import type { EmbeddingProvider } from '../../embeddings/embedder.js';
8
8
  export declare const toolDef: {
9
9
  readonly name: "lore_lookup";
10
10
  readonly description: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/server/tools/lookup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAWtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAItE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DV,CAAC;AAIX,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyCD,oEAAoE;AACpE,wBAAsB,OAAO,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA2EvB"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * MCP tool: look up symbols by name or files by path.
5
5
  */
6
- import { getSymbolsByName, getExternalSymbolsByName, getFileByPath, listSymbols, listFiles, semanticSearchSymbols, } from '../db.js';
6
+ import { getSymbolsByName, getExternalSymbolsByName, getFileByPath, listSymbols, listFiles, semanticSearchSymbols, } from '../../db/read-only.js';
7
7
  // ─── Tool definition ──────────────────────────────────────────────────────────
8
8
  export const toolDef = {
9
9
  name: 'lore_lookup',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/server/tools/lookup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @module lore-server/tools/metrics
3
+ *
4
+ * MCP tool: return a global ranking of the most complex symbols in the codebase.
5
+ */
6
+ import type { Database } from '../../db/read-only.js';
7
+ export declare const toolDef: {
8
+ readonly name: "lore_metrics";
9
+ readonly description: string;
10
+ readonly inputSchema: {
11
+ readonly type: "object";
12
+ readonly properties: {
13
+ readonly limit: {
14
+ readonly type: "number";
15
+ readonly description: "Max symbols to return (default 20, max 200).";
16
+ };
17
+ readonly min_cyclomatic: {
18
+ readonly type: "number";
19
+ readonly description: "Minimum cyclomatic score filter (default 0).";
20
+ };
21
+ };
22
+ readonly required: readonly [];
23
+ };
24
+ };
25
+ export interface MetricsArgs {
26
+ limit?: number;
27
+ min_cyclomatic?: number;
28
+ }
29
+ export interface ComplexitySymbolRow {
30
+ id: number;
31
+ file_id: number;
32
+ name: string;
33
+ kind: string;
34
+ start_line: number;
35
+ end_line: number;
36
+ signature: string | null;
37
+ doc_comment: string | null;
38
+ line_count: number;
39
+ param_count: number;
40
+ cyclomatic: number;
41
+ max_nesting: number;
42
+ }
43
+ export interface MetricsResult {
44
+ symbols: ComplexitySymbolRow[];
45
+ }
46
+ /** Return symbols ranked by cyclomatic complexity. */
47
+ export declare function handler(db: Database.Database, args: MetricsArgs): MetricsResult;
48
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/server/tools/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;CAmBV,CAAC;AAIX,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,sDAAsD;AACtD,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,aAAa,CAmB/E"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @module lore-server/tools/metrics
3
+ *
4
+ * MCP tool: return a global ranking of the most complex symbols in the codebase.
5
+ */
6
+ // ─── Tool definition ──────────────────────────────────────────────────────────
7
+ export const toolDef = {
8
+ name: 'lore_metrics',
9
+ description: 'Return a global ranking of the most complex symbols across the entire codebase, ' +
10
+ 'ranked by cyclomatic complexity. Use limit and min_cyclomatic to filter.',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ limit: {
15
+ type: 'number',
16
+ description: 'Max symbols to return (default 20, max 200).',
17
+ },
18
+ min_cyclomatic: {
19
+ type: 'number',
20
+ description: 'Minimum cyclomatic score filter (default 0).',
21
+ },
22
+ },
23
+ required: [],
24
+ },
25
+ };
26
+ /** Return symbols ranked by cyclomatic complexity. */
27
+ export function handler(db, args) {
28
+ const minCyclomatic = Math.max(0, args.min_cyclomatic ?? 0);
29
+ const limit = Math.min(Math.max(1, args.limit ?? 20), 200);
30
+ const symbols = db
31
+ .prepare(`SELECT s.*,
32
+ sm.line_count,
33
+ sm.param_count,
34
+ sm.cyclomatic,
35
+ sm.max_nesting
36
+ FROM symbol_metrics sm
37
+ JOIN symbols s ON s.id = sm.symbol_id
38
+ WHERE sm.cyclomatic >= ?
39
+ ORDER BY sm.cyclomatic DESC, s.id ASC
40
+ LIMIT ?`)
41
+ .all(minCyclomatic, limit);
42
+ return { symbols };
43
+ }
44
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/server/tools/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,iFAAiF;AAEjF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,kFAAkF;QAClF,0EAA0E;IAC5E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACO,CAAC;AA4BX,sDAAsD;AACtD,MAAM,UAAU,OAAO,CAAC,EAAqB,EAAE,IAAiB;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;;;;;;;;;gBASU,CACX;SACA,GAAG,CAAC,aAAa,EAAE,KAAK,CAA0B,CAAC;IAEtD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * - lore_notes_write: upsert notes by (key, scope)
6
6
  * - lore_notes_read: retrieve notes with staleness/recency metadata
7
7
  */
8
- import type { Database as LoreDatabase } from '../db.js';
8
+ import type { Database as LoreDatabase } from '../../db/read-only.js';
9
9
  export declare const loreNotesWriteToolDef: {
10
10
  readonly name: "lore_notes_write";
11
11
  readonly description: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../../../src/server/tools/notes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAWtE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBxB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;CAevB,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,OAAO;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAYD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EACR,sBAAsB,GACtB,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,2BAA2B,GAC3B,IAAI,CAAC;IACT,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAuBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAgC5F;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,eAAe,CA4HpG;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAClD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;CAAuB,CAAC;AAChD,eAAO,MAAM,YAAY,8BAAwB,CAAC;AAClD,eAAO,MAAM,WAAW,6BAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notes.js","sourceRoot":"","sources":["../../../src/server/tools/notes.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * MCP tool: query extracted API routes/endpoints.
5
5
  */
6
- import type { Database } from '../db.js';
7
- import { type ApiRouteRow } from '../db.js';
6
+ import type { Database } from '../../db/read-only.js';
7
+ import { type ApiRouteRow } from '../../db/read-only.js';
8
8
  export declare const toolDef: {
9
9
  readonly name: "lore_routes";
10
10
  readonly description: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/server/tools/routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAExE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;CAsBV,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,YAAY,CAQ7E"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * MCP tool: query extracted API routes/endpoints.
5
5
  */
6
- import { listApiRoutes } from '../db.js';
6
+ import { listApiRoutes } from '../../db/read-only.js';
7
7
  export const toolDef = {
8
8
  name: 'lore_routes',
9
9
  description: 'Query extracted API routes/endpoints from the knowledge-base index. ' +
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/server/tools/routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAC;AAExE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,sEAAsE;QACtE,6DAA6D;IAC/D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sDAAsD;aACpE;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oCAAoC;aAClD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gEAAgE;aAC9E;SACF;KACF;CACO,CAAC;AAYX,MAAM,UAAU,OAAO,CAAC,EAAqB,EAAE,IAAgB;IAC7D,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -11,8 +11,8 @@
11
11
  * Semantic and fused modes fall back to structural-only when no EmbeddingProvider
12
12
  * is supplied, clearly indicating the degradation in `mode_used`.
13
13
  */
14
- import type { Database } from '../db.js';
15
- import type { EmbeddingProvider } from '../../indexer/embedder.js';
14
+ import type { Database } from '../../db/read-only.js';
15
+ import type { EmbeddingProvider } from '../../embeddings/embedder.js';
16
16
  /**
17
17
  * Observation emitted after every `lore_search` invocation.
18
18
  * Consumers can use this to log, collect metrics, or detect search-quality issues.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/server/tools/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKtE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,aAAa,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;IACnD,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4FAA4F;AAC5F,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAItE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDV,CAAC;AAIX,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,QAAQ,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AA2P3E,6DAA6D;AAC7D,wBAAsB,OAAO,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,YAAY,CAAC,CAuDvB"}
@@ -11,7 +11,7 @@
11
11
  * Semantic and fused modes fall back to structural-only when no EmbeddingProvider
12
12
  * is supplied, clearly indicating the degradation in `mode_used`.
13
13
  */
14
- import { semanticSearchDocSections } from '../db.js';
14
+ import { semanticSearchDocSections } from '../../db/read-only.js';
15
15
  // ─── Tool definition ──────────────────────────────────────────────────────────
16
16
  export const toolDef = {
17
17
  name: 'lore_search',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/server/tools/search.ts"],"names":[],"mappings":"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"}