@jafreck/lore 0.3.4 → 0.3.6

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 (409) hide show
  1. package/README.md +53 -31
  2. package/dist/cli.js +113 -17
  3. package/dist/cli.js.map +1 -1
  4. package/dist/{lore-server/db.d.ts → db/read-only.d.ts} +75 -1
  5. package/dist/db/read-only.d.ts.map +1 -0
  6. package/dist/{lore-server/db.js → db/read-only.js} +115 -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} +3 -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/embeddings/embedder.d.ts +114 -0
  27. package/dist/embeddings/embedder.d.ts.map +1 -0
  28. package/dist/embeddings/embedder.js +208 -0
  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 -26
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +14 -13
  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 +18 -9
  45. package/dist/indexer/index.js.map +1 -1
  46. package/dist/indexer/pipeline.d.ts +36 -10
  47. package/dist/indexer/pipeline.d.ts.map +1 -1
  48. package/dist/indexer/pipeline.js +12 -6
  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.d.ts +9 -0
  57. package/dist/indexer/stages/embedding.d.ts.map +1 -1
  58. package/dist/indexer/stages/embedding.js +128 -84
  59. package/dist/indexer/stages/embedding.js.map +1 -1
  60. package/dist/indexer/stages/import-resolution.js +1 -1
  61. package/dist/indexer/stages/import-resolution.js.map +1 -1
  62. package/dist/indexer/stages/index.d.ts +2 -0
  63. package/dist/indexer/stages/index.d.ts.map +1 -1
  64. package/dist/indexer/stages/index.js +2 -0
  65. package/dist/indexer/stages/index.js.map +1 -1
  66. package/dist/indexer/stages/lsp-enrichment.d.ts +2 -2
  67. package/dist/indexer/stages/lsp-enrichment.d.ts.map +1 -1
  68. package/dist/indexer/stages/lsp-enrichment.js +131 -6
  69. package/dist/indexer/stages/lsp-enrichment.js.map +1 -1
  70. package/dist/indexer/stages/scip-enrichment.d.ts +43 -0
  71. package/dist/indexer/stages/scip-enrichment.d.ts.map +1 -0
  72. package/dist/indexer/stages/scip-enrichment.js +174 -0
  73. package/dist/indexer/stages/scip-enrichment.js.map +1 -0
  74. package/dist/indexer/stages/scip-source.d.ts +117 -0
  75. package/dist/indexer/stages/scip-source.d.ts.map +1 -0
  76. package/dist/indexer/stages/scip-source.js +922 -0
  77. package/dist/indexer/stages/scip-source.js.map +1 -0
  78. package/dist/indexer/stages/source-index.d.ts +2 -2
  79. package/dist/indexer/stages/source-index.d.ts.map +1 -1
  80. package/dist/indexer/stages/source-index.js +39 -30
  81. package/dist/indexer/stages/source-index.js.map +1 -1
  82. package/dist/lsp/client.d.ts.map +1 -0
  83. package/dist/{indexer/lsp → lsp}/client.js +1 -1
  84. package/dist/lsp/client.js.map +1 -0
  85. package/dist/lsp/config.d.ts.map +1 -0
  86. package/dist/{indexer/lsp → lsp}/config.js +1 -1
  87. package/dist/lsp/config.js.map +1 -0
  88. package/dist/lsp/enrichment.d.ts.map +1 -0
  89. package/dist/lsp/enrichment.js.map +1 -0
  90. package/dist/lsp/registry.d.ts.map +1 -0
  91. package/dist/{indexer/lsp → lsp}/registry.js +1 -1
  92. package/dist/lsp/registry.js.map +1 -0
  93. package/dist/{indexer → parsing}/complexity.d.ts.map +1 -1
  94. package/dist/{indexer → parsing}/complexity.js.map +1 -1
  95. package/dist/{indexer → parsing}/config-parser.d.ts.map +1 -1
  96. package/dist/{indexer → parsing}/config-parser.js.map +1 -1
  97. package/dist/{indexer → parsing}/extractors/bash.d.ts.map +1 -1
  98. package/dist/{indexer → parsing}/extractors/bash.js.map +1 -1
  99. package/dist/{indexer → parsing}/extractors/c.d.ts.map +1 -1
  100. package/dist/{indexer → parsing}/extractors/c.js +4 -4
  101. package/dist/parsing/extractors/c.js.map +1 -0
  102. package/dist/{indexer → parsing}/extractors/cpp.d.ts.map +1 -1
  103. package/dist/{indexer → parsing}/extractors/cpp.js +6 -12
  104. package/dist/parsing/extractors/cpp.js.map +1 -0
  105. package/dist/{indexer → parsing}/extractors/csharp.d.ts.map +1 -1
  106. package/dist/{indexer → parsing}/extractors/csharp.js +1 -6
  107. package/dist/{indexer → parsing}/extractors/csharp.js.map +1 -1
  108. package/dist/{indexer → parsing}/extractors/elixir.d.ts.map +1 -1
  109. package/dist/{indexer → parsing}/extractors/elixir.js +10 -15
  110. package/dist/parsing/extractors/elixir.js.map +1 -0
  111. package/dist/{indexer → parsing}/extractors/elm.d.ts.map +1 -1
  112. package/dist/{indexer → parsing}/extractors/elm.js.map +1 -1
  113. package/dist/{indexer → parsing}/extractors/go.d.ts.map +1 -1
  114. package/dist/{indexer → parsing}/extractors/go.js +0 -1
  115. package/dist/parsing/extractors/go.js.map +1 -0
  116. package/dist/{indexer → parsing}/extractors/haskell.d.ts.map +1 -1
  117. package/dist/{indexer → parsing}/extractors/haskell.js +2 -4
  118. package/dist/parsing/extractors/haskell.js.map +1 -0
  119. package/dist/{indexer → parsing}/extractors/java.d.ts.map +1 -1
  120. package/dist/{indexer → parsing}/extractors/java.js.map +1 -1
  121. package/dist/{indexer → parsing}/extractors/javascript.d.ts.map +1 -1
  122. package/dist/{indexer → parsing}/extractors/javascript.js +23 -3
  123. package/dist/parsing/extractors/javascript.js.map +1 -0
  124. package/dist/{indexer → parsing}/extractors/julia.d.ts.map +1 -1
  125. package/dist/{indexer → parsing}/extractors/julia.js.map +1 -1
  126. package/dist/{indexer → parsing}/extractors/kotlin.d.ts.map +1 -1
  127. package/dist/{indexer → parsing}/extractors/kotlin.js +4 -3
  128. package/dist/{indexer → parsing}/extractors/kotlin.js.map +1 -1
  129. package/dist/{indexer → parsing}/extractors/lua.d.ts.map +1 -1
  130. package/dist/{indexer → parsing}/extractors/lua.js +1 -13
  131. package/dist/parsing/extractors/lua.js.map +1 -0
  132. package/dist/{indexer → parsing}/extractors/objc.d.ts.map +1 -1
  133. package/dist/{indexer → parsing}/extractors/objc.js +4 -6
  134. package/dist/parsing/extractors/objc.js.map +1 -0
  135. package/dist/{indexer → parsing}/extractors/ocaml.d.ts.map +1 -1
  136. package/dist/{indexer → parsing}/extractors/ocaml.js +2 -10
  137. package/dist/parsing/extractors/ocaml.js.map +1 -0
  138. package/dist/{indexer → parsing}/extractors/php.d.ts.map +1 -1
  139. package/dist/{indexer → parsing}/extractors/php.js.map +1 -1
  140. package/dist/{indexer → parsing}/extractors/python.d.ts.map +1 -1
  141. package/dist/{indexer → parsing}/extractors/python.js.map +1 -1
  142. package/dist/{indexer → parsing}/extractors/ruby.d.ts.map +1 -1
  143. package/dist/{indexer → parsing}/extractors/ruby.js.map +1 -1
  144. package/dist/{indexer → parsing}/extractors/rust.d.ts.map +1 -1
  145. package/dist/{indexer → parsing}/extractors/rust.js +1 -1
  146. package/dist/{indexer → parsing}/extractors/rust.js.map +1 -1
  147. package/dist/{indexer → parsing}/extractors/scala.d.ts.map +1 -1
  148. package/dist/{indexer → parsing}/extractors/scala.js.map +1 -1
  149. package/dist/{indexer → parsing}/extractors/swift.d.ts.map +1 -1
  150. package/dist/{indexer → parsing}/extractors/swift.js.map +1 -1
  151. package/dist/{indexer → parsing}/extractors/types.d.ts.map +1 -1
  152. package/dist/{indexer → parsing}/extractors/types.js.map +1 -1
  153. package/dist/{indexer → parsing}/extractors/typescript.d.ts.map +1 -1
  154. package/dist/{indexer → parsing}/extractors/typescript.js +45 -19
  155. package/dist/parsing/extractors/typescript.js.map +1 -0
  156. package/dist/{indexer → parsing}/extractors/zig.d.ts.map +1 -1
  157. package/dist/{indexer → parsing}/extractors/zig.js +0 -4
  158. package/dist/parsing/extractors/zig.js.map +1 -0
  159. package/dist/{indexer → parsing}/parser.d.ts.map +1 -1
  160. package/dist/{indexer → parsing}/parser.js.map +1 -1
  161. package/dist/{indexer → resolution}/call-graph.d.ts +15 -1
  162. package/dist/resolution/call-graph.d.ts.map +1 -0
  163. package/dist/{indexer → resolution}/call-graph.js +34 -0
  164. package/dist/resolution/call-graph.js.map +1 -0
  165. package/dist/resolution/graph-analysis.d.ts +115 -0
  166. package/dist/resolution/graph-analysis.d.ts.map +1 -0
  167. package/dist/resolution/graph-analysis.js +575 -0
  168. package/dist/resolution/graph-analysis.js.map +1 -0
  169. package/dist/{indexer → resolution}/resolution-method.d.ts +3 -1
  170. package/dist/resolution/resolution-method.d.ts.map +1 -0
  171. package/dist/{indexer → resolution}/resolution-method.js +4 -0
  172. package/dist/resolution/resolution-method.js.map +1 -0
  173. package/dist/{indexer → resolution}/resolver.d.ts +1 -1
  174. package/dist/resolution/resolver.d.ts.map +1 -0
  175. package/dist/resolution/resolver.js.map +1 -0
  176. package/dist/runtime.d.ts +6 -3
  177. package/dist/runtime.d.ts.map +1 -1
  178. package/dist/runtime.js +8 -7
  179. package/dist/runtime.js.map +1 -1
  180. package/dist/scip/config.d.ts +32 -0
  181. package/dist/scip/config.d.ts.map +1 -0
  182. package/dist/scip/config.js +96 -0
  183. package/dist/scip/config.js.map +1 -0
  184. package/dist/scip/enrichment.d.ts +56 -0
  185. package/dist/scip/enrichment.d.ts.map +1 -0
  186. package/dist/scip/enrichment.js +258 -0
  187. package/dist/scip/enrichment.js.map +1 -0
  188. package/dist/scip/index-reader.d.ts +100 -0
  189. package/dist/scip/index-reader.d.ts.map +1 -0
  190. package/dist/scip/index-reader.js +225 -0
  191. package/dist/scip/index-reader.js.map +1 -0
  192. package/dist/scip/registry.d.ts +51 -0
  193. package/dist/scip/registry.d.ts.map +1 -0
  194. package/dist/scip/registry.js +131 -0
  195. package/dist/scip/registry.js.map +1 -0
  196. package/dist/scip/scip_pb.d.ts +2118 -0
  197. package/dist/scip/scip_pb.d.ts.map +1 -0
  198. package/dist/scip/scip_pb.js +1534 -0
  199. package/dist/scip/scip_pb.js.map +1 -0
  200. package/dist/{lore-server → server}/server.d.ts +2 -2
  201. package/dist/server/server.d.ts.map +1 -0
  202. package/dist/{lore-server → server}/server.js +9 -19
  203. package/dist/server/server.js.map +1 -0
  204. package/dist/{lore-server → server}/tool-registry.d.ts +2 -2
  205. package/dist/server/tool-registry.d.ts.map +1 -0
  206. package/dist/{lore-server → server}/tool-registry.js +6 -1
  207. package/dist/server/tool-registry.js.map +1 -0
  208. package/dist/{lore-server → server}/tools/annotations.d.ts +2 -2
  209. package/dist/server/tools/annotations.d.ts.map +1 -0
  210. package/dist/{lore-server → server}/tools/annotations.js +1 -1
  211. package/dist/server/tools/annotations.js.map +1 -0
  212. package/dist/{lore-server → server}/tools/architecture.d.ts +1 -1
  213. package/dist/server/tools/architecture.d.ts.map +1 -0
  214. package/dist/server/tools/architecture.js.map +1 -0
  215. package/dist/{lore-server → server}/tools/blame.d.ts +1 -1
  216. package/dist/server/tools/blame.d.ts.map +1 -0
  217. package/dist/{lore-server → server}/tools/blame.js +1 -1
  218. package/dist/server/tools/blame.js.map +1 -0
  219. package/dist/{lore-server → server}/tools/coverage.d.ts +1 -1
  220. package/dist/server/tools/coverage.d.ts.map +1 -0
  221. package/dist/{lore-server → server}/tools/coverage.js +1 -1
  222. package/dist/server/tools/coverage.js.map +1 -0
  223. package/dist/{lore-server → server}/tools/docs.d.ts +3 -3
  224. package/dist/server/tools/docs.d.ts.map +1 -0
  225. package/dist/{lore-server → server}/tools/docs.js +1 -1
  226. package/dist/server/tools/docs.js.map +1 -0
  227. package/dist/server/tools/graph-analysis.d.ts +64 -0
  228. package/dist/server/tools/graph-analysis.d.ts.map +1 -0
  229. package/dist/server/tools/graph-analysis.js +82 -0
  230. package/dist/server/tools/graph-analysis.js.map +1 -0
  231. package/dist/{lore-server → server}/tools/graph.d.ts +25 -3
  232. package/dist/server/tools/graph.d.ts.map +1 -0
  233. package/dist/{lore-server → server}/tools/graph.js +101 -6
  234. package/dist/server/tools/graph.js.map +1 -0
  235. package/dist/{lore-server → server}/tools/history.d.ts +3 -3
  236. package/dist/server/tools/history.d.ts.map +1 -0
  237. package/dist/{lore-server → server}/tools/history.js +1 -1
  238. package/dist/server/tools/history.js.map +1 -0
  239. package/dist/{lore-server → server}/tools/lookup.d.ts +2 -2
  240. package/dist/server/tools/lookup.d.ts.map +1 -0
  241. package/dist/{lore-server → server}/tools/lookup.js +1 -1
  242. package/dist/server/tools/lookup.js.map +1 -0
  243. package/dist/{lore-server → server}/tools/metrics.d.ts +2 -2
  244. package/dist/server/tools/metrics.d.ts.map +1 -0
  245. package/dist/{lore-server → server}/tools/metrics.js +3 -2
  246. package/dist/server/tools/metrics.js.map +1 -0
  247. package/dist/{lore-server → server}/tools/notes.d.ts +1 -1
  248. package/dist/server/tools/notes.d.ts.map +1 -0
  249. package/dist/server/tools/notes.js.map +1 -0
  250. package/dist/{lore-server → server}/tools/routes.d.ts +2 -2
  251. package/dist/server/tools/routes.d.ts.map +1 -0
  252. package/dist/{lore-server → server}/tools/routes.js +1 -1
  253. package/dist/server/tools/routes.js.map +1 -0
  254. package/dist/{lore-server → server}/tools/search.d.ts +2 -2
  255. package/dist/server/tools/search.d.ts.map +1 -0
  256. package/dist/{lore-server → server}/tools/search.js +1 -1
  257. package/dist/server/tools/search.js.map +1 -0
  258. package/dist/{lore-server → server}/tools/snippet.d.ts +1 -1
  259. package/dist/server/tools/snippet.d.ts.map +1 -0
  260. package/dist/{lore-server → server}/tools/snippet.js +1 -1
  261. package/dist/server/tools/snippet.js.map +1 -0
  262. package/dist/{lore-server → server}/tools/test-map.d.ts +1 -1
  263. package/dist/server/tools/test-map.d.ts.map +1 -0
  264. package/dist/{lore-server → server}/tools/test-map.js +1 -1
  265. package/dist/server/tools/test-map.js.map +1 -0
  266. package/dist/server/tools/writeback.d.ts.map +1 -0
  267. package/dist/server/tools/writeback.js.map +1 -0
  268. package/dist/{indexer → testing}/coverage.d.ts +1 -1
  269. package/dist/testing/coverage.d.ts.map +1 -0
  270. package/dist/{indexer → testing}/coverage.js.map +1 -1
  271. package/dist/{indexer → testing}/test-mapper.d.ts +1 -1
  272. package/dist/testing/test-mapper.d.ts.map +1 -0
  273. package/dist/{indexer → testing}/test-mapper.js.map +1 -1
  274. package/package.json +12 -9
  275. package/dist/indexer/call-graph.d.ts.map +0 -1
  276. package/dist/indexer/call-graph.js.map +0 -1
  277. package/dist/indexer/coverage.d.ts.map +0 -1
  278. package/dist/indexer/db.d.ts.map +0 -1
  279. package/dist/indexer/db.js.map +0 -1
  280. package/dist/indexer/docs.d.ts.map +0 -1
  281. package/dist/indexer/docs.js.map +0 -1
  282. package/dist/indexer/embedder.d.ts +0 -66
  283. package/dist/indexer/embedder.d.ts.map +0 -1
  284. package/dist/indexer/embedder.js +0 -85
  285. package/dist/indexer/embedder.js.map +0 -1
  286. package/dist/indexer/extractors/c.js.map +0 -1
  287. package/dist/indexer/extractors/cpp.js.map +0 -1
  288. package/dist/indexer/extractors/elixir.js.map +0 -1
  289. package/dist/indexer/extractors/go.js.map +0 -1
  290. package/dist/indexer/extractors/haskell.js.map +0 -1
  291. package/dist/indexer/extractors/javascript.js.map +0 -1
  292. package/dist/indexer/extractors/lua.js.map +0 -1
  293. package/dist/indexer/extractors/objc.js.map +0 -1
  294. package/dist/indexer/extractors/ocaml.js.map +0 -1
  295. package/dist/indexer/extractors/typescript.js.map +0 -1
  296. package/dist/indexer/extractors/zig.js.map +0 -1
  297. package/dist/indexer/git-history.d.ts.map +0 -1
  298. package/dist/indexer/git-history.js.map +0 -1
  299. package/dist/indexer/git-hooks.d.ts.map +0 -1
  300. package/dist/indexer/git-hooks.js.map +0 -1
  301. package/dist/indexer/lsp/client.d.ts.map +0 -1
  302. package/dist/indexer/lsp/client.js.map +0 -1
  303. package/dist/indexer/lsp/config.d.ts.map +0 -1
  304. package/dist/indexer/lsp/config.js.map +0 -1
  305. package/dist/indexer/lsp/enrichment.d.ts.map +0 -1
  306. package/dist/indexer/lsp/enrichment.js.map +0 -1
  307. package/dist/indexer/lsp/registry.d.ts.map +0 -1
  308. package/dist/indexer/lsp/registry.js.map +0 -1
  309. package/dist/indexer/poller.d.ts.map +0 -1
  310. package/dist/indexer/poller.js.map +0 -1
  311. package/dist/indexer/resolution-method.d.ts.map +0 -1
  312. package/dist/indexer/resolution-method.js.map +0 -1
  313. package/dist/indexer/resolver.d.ts.map +0 -1
  314. package/dist/indexer/resolver.js.map +0 -1
  315. package/dist/indexer/test-mapper.d.ts.map +0 -1
  316. package/dist/indexer/walker.d.ts.map +0 -1
  317. package/dist/indexer/walker.js.map +0 -1
  318. package/dist/indexer/watcher.d.ts.map +0 -1
  319. package/dist/indexer/watcher.js.map +0 -1
  320. package/dist/lore-server/db.d.ts.map +0 -1
  321. package/dist/lore-server/db.js.map +0 -1
  322. package/dist/lore-server/server.d.ts.map +0 -1
  323. package/dist/lore-server/server.js.map +0 -1
  324. package/dist/lore-server/tool-registry.d.ts.map +0 -1
  325. package/dist/lore-server/tool-registry.js.map +0 -1
  326. package/dist/lore-server/tools/annotations.d.ts.map +0 -1
  327. package/dist/lore-server/tools/annotations.js.map +0 -1
  328. package/dist/lore-server/tools/architecture.d.ts.map +0 -1
  329. package/dist/lore-server/tools/architecture.js.map +0 -1
  330. package/dist/lore-server/tools/blame.d.ts.map +0 -1
  331. package/dist/lore-server/tools/blame.js.map +0 -1
  332. package/dist/lore-server/tools/coverage.d.ts.map +0 -1
  333. package/dist/lore-server/tools/coverage.js.map +0 -1
  334. package/dist/lore-server/tools/docs.d.ts.map +0 -1
  335. package/dist/lore-server/tools/docs.js.map +0 -1
  336. package/dist/lore-server/tools/graph.d.ts.map +0 -1
  337. package/dist/lore-server/tools/graph.js.map +0 -1
  338. package/dist/lore-server/tools/history.d.ts.map +0 -1
  339. package/dist/lore-server/tools/history.js.map +0 -1
  340. package/dist/lore-server/tools/lookup.d.ts.map +0 -1
  341. package/dist/lore-server/tools/lookup.js.map +0 -1
  342. package/dist/lore-server/tools/metrics.d.ts.map +0 -1
  343. package/dist/lore-server/tools/metrics.js.map +0 -1
  344. package/dist/lore-server/tools/notes.d.ts.map +0 -1
  345. package/dist/lore-server/tools/notes.js.map +0 -1
  346. package/dist/lore-server/tools/routes.d.ts.map +0 -1
  347. package/dist/lore-server/tools/routes.js.map +0 -1
  348. package/dist/lore-server/tools/search.d.ts.map +0 -1
  349. package/dist/lore-server/tools/search.js.map +0 -1
  350. package/dist/lore-server/tools/snippet.d.ts.map +0 -1
  351. package/dist/lore-server/tools/snippet.js.map +0 -1
  352. package/dist/lore-server/tools/test-map.d.ts.map +0 -1
  353. package/dist/lore-server/tools/test-map.js.map +0 -1
  354. package/dist/lore-server/tools/writeback.d.ts.map +0 -1
  355. package/dist/lore-server/tools/writeback.js.map +0 -1
  356. /package/dist/{indexer → docs}/docs.d.ts +0 -0
  357. /package/dist/{indexer → docs}/docs.js +0 -0
  358. /package/dist/{indexer/lsp → lsp}/client.d.ts +0 -0
  359. /package/dist/{indexer/lsp → lsp}/config.d.ts +0 -0
  360. /package/dist/{indexer/lsp → lsp}/enrichment.d.ts +0 -0
  361. /package/dist/{indexer/lsp → lsp}/enrichment.js +0 -0
  362. /package/dist/{indexer/lsp → lsp}/registry.d.ts +0 -0
  363. /package/dist/{indexer → parsing}/complexity.d.ts +0 -0
  364. /package/dist/{indexer → parsing}/complexity.js +0 -0
  365. /package/dist/{indexer → parsing}/config-parser.d.ts +0 -0
  366. /package/dist/{indexer → parsing}/config-parser.js +0 -0
  367. /package/dist/{indexer → parsing}/extractors/bash.d.ts +0 -0
  368. /package/dist/{indexer → parsing}/extractors/bash.js +0 -0
  369. /package/dist/{indexer → parsing}/extractors/c.d.ts +0 -0
  370. /package/dist/{indexer → parsing}/extractors/cpp.d.ts +0 -0
  371. /package/dist/{indexer → parsing}/extractors/csharp.d.ts +0 -0
  372. /package/dist/{indexer → parsing}/extractors/elixir.d.ts +0 -0
  373. /package/dist/{indexer → parsing}/extractors/elm.d.ts +0 -0
  374. /package/dist/{indexer → parsing}/extractors/elm.js +0 -0
  375. /package/dist/{indexer → parsing}/extractors/go.d.ts +0 -0
  376. /package/dist/{indexer → parsing}/extractors/haskell.d.ts +0 -0
  377. /package/dist/{indexer → parsing}/extractors/java.d.ts +0 -0
  378. /package/dist/{indexer → parsing}/extractors/java.js +0 -0
  379. /package/dist/{indexer → parsing}/extractors/javascript.d.ts +0 -0
  380. /package/dist/{indexer → parsing}/extractors/julia.d.ts +0 -0
  381. /package/dist/{indexer → parsing}/extractors/julia.js +0 -0
  382. /package/dist/{indexer → parsing}/extractors/kotlin.d.ts +0 -0
  383. /package/dist/{indexer → parsing}/extractors/lua.d.ts +0 -0
  384. /package/dist/{indexer → parsing}/extractors/objc.d.ts +0 -0
  385. /package/dist/{indexer → parsing}/extractors/ocaml.d.ts +0 -0
  386. /package/dist/{indexer → parsing}/extractors/php.d.ts +0 -0
  387. /package/dist/{indexer → parsing}/extractors/php.js +0 -0
  388. /package/dist/{indexer → parsing}/extractors/python.d.ts +0 -0
  389. /package/dist/{indexer → parsing}/extractors/python.js +0 -0
  390. /package/dist/{indexer → parsing}/extractors/ruby.d.ts +0 -0
  391. /package/dist/{indexer → parsing}/extractors/ruby.js +0 -0
  392. /package/dist/{indexer → parsing}/extractors/rust.d.ts +0 -0
  393. /package/dist/{indexer → parsing}/extractors/scala.d.ts +0 -0
  394. /package/dist/{indexer → parsing}/extractors/scala.js +0 -0
  395. /package/dist/{indexer → parsing}/extractors/swift.d.ts +0 -0
  396. /package/dist/{indexer → parsing}/extractors/swift.js +0 -0
  397. /package/dist/{indexer → parsing}/extractors/types.d.ts +0 -0
  398. /package/dist/{indexer → parsing}/extractors/types.js +0 -0
  399. /package/dist/{indexer → parsing}/extractors/typescript.d.ts +0 -0
  400. /package/dist/{indexer → parsing}/extractors/zig.d.ts +0 -0
  401. /package/dist/{indexer → parsing}/parser.d.ts +0 -0
  402. /package/dist/{indexer → parsing}/parser.js +0 -0
  403. /package/dist/{indexer → resolution}/resolver.js +0 -0
  404. /package/dist/{lore-server → server}/tools/architecture.js +0 -0
  405. /package/dist/{lore-server → server}/tools/notes.js +0 -0
  406. /package/dist/{lore-server → server}/tools/writeback.d.ts +0 -0
  407. /package/dist/{lore-server → server}/tools/writeback.js +0 -0
  408. /package/dist/{indexer → testing}/coverage.js +0 -0
  409. /package/dist/{indexer → testing}/test-mapper.js +0 -0
package/README.md CHANGED
@@ -7,15 +7,17 @@
7
7
  [![Node.js](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen)](https://nodejs.org)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9+-blue)](https://www.typescriptlang.org)
9
9
 
10
- **The teammate that has seen it all**
10
+ **The teammate that knows it all**
11
11
 
12
- Lore is your agent's institutional knowledge over the codebase — it knows what was built, why it changed, and how it all connects. Lore indexes your code and git history into a structured knowledge base that agents query through MCP. It maps symbols, imports, call relationships, type relationships, routes, annotations, and git history — with optional embeddings for semantic search — so agents can reason about your codebase
13
- without re-reading it from scratch.
12
+ Lore holds your agent's institutional knowledge over the codebase — it knows what was built, why it changed, and how it all connects. Lore indexes your code and git history into a structured knowledge base that agents query through MCP. It maps symbols, imports, call relationships, type relationships, routes, annotations, docs, and all git data — with optional embeddings for semantic search — so agents can reason about your codebase without re-reading it from scratch.
13
+
14
+ Lore-enabled agents achieve up to **2.1× faster** responses, up to **79% fewer tokens**, and up to **+43pp correctness improvement** on code intelligence tasks compared to a baseline agent grep and file reads alone. See the [full benchmark results](docs/benchmark-results.md) for details.
14
15
 
15
16
  ## What Lore does
16
17
 
17
- - Parses source files and extracts symbols, imports, call refs, type refs, annotations, and API routes across all 23 supported languages
18
- - Resolves internal vs external imports and builds call/import/module/inheritance/type-dependency graph edges using a 3-tier resolution strategy (LSP containment, same-file name match, unique name match)
18
+ - Indexes source files using SCIP indexers by default for pre-resolved symbols and edges, with tree-sitter parsing as a fallback for languages without a SCIP indexer
19
+ - Extracts symbols, imports, call refs, type refs, annotations, and API routes across all 23 supported languages
20
+ - Resolves internal vs external imports and builds call/import/module/inheritance/type-dependency graph edges using a 3-tier resolution strategy (SCIP/LSP containment, same-file name match, unique name match)
19
21
  - Discovers and indexes documentation (`.md`, `.rst`, `.adoc`, `.txt`) with inferred kinds/titles
20
22
  - Stores everything in a normalized SQL schema with optional vector search
21
23
  - Enables RAG-style retrieval with semantic/fused search across symbols and doc sections
@@ -36,6 +38,7 @@ flowchart LR
36
38
  end
37
39
 
38
40
  subgraph Lore Indexer
41
+ SCIPDIRECT[SCIP Source<br/>pre-resolved symbols + refs] --> WALK
39
42
  WALK[Walker] --> PARSE[Parser] --> EXTRACT[Extractors<br/>symbols · imports · call refs<br/>type refs · routes · annotations]
40
43
  EXTRACT --> RESOLVE[Import Resolver<br/>internal ↔ external]
41
44
  EXTRACT --> CALLGRAPH[Relationship Resolver]
@@ -64,6 +67,7 @@ flowchart LR
64
67
  METRICS[lore_metrics]
65
68
  COVERAGE[lore_coverage]
66
69
  WRITEBACK[lore_writeback]
70
+ ANALYZE[lore_analyze]
67
71
  end
68
72
 
69
73
  subgraph MCP_CLIENTS[MCP Clients — Agents]
@@ -84,10 +88,10 @@ flowchart LR
84
88
  RESOLVE -.->|optional| EMBED
85
89
  EMBED -.-> DB
86
90
 
87
- DB --- LOOKUP & SEARCH & DOCS_TOOL & ANNOT & GRAPH & ROUTES & NOTES & ARCH & TESTMAP & SNIPPET & BLAME & HISTORY & METRICS & COVERAGE & WRITEBACK
91
+ DB --- LOOKUP & SEARCH & DOCS_TOOL & ANNOT & GRAPH & ROUTES & NOTES & ARCH & TESTMAP & SNIPPET & BLAME & HISTORY & METRICS & COVERAGE & WRITEBACK & ANALYZE
88
92
  EMBED <-.->|semantic/fused| SEARCH
89
93
 
90
- LOOKUP & SEARCH & DOCS_TOOL & ANNOT & GRAPH & ROUTES & NOTES & ARCH & TESTMAP & SNIPPET & BLAME & HISTORY & METRICS & COVERAGE & WRITEBACK <--> MCP_CLIENTS
94
+ LOOKUP & SEARCH & DOCS_TOOL & ANNOT & GRAPH & ROUTES & NOTES & ARCH & TESTMAP & SNIPPET & BLAME & HISTORY & METRICS & COVERAGE & WRITEBACK & ANALYZE <--> MCP_CLIENTS
91
95
  ```
92
96
 
93
97
  Lore sits between your codebase and any LLM-powered tool. A `LoreRuntime`
@@ -101,20 +105,22 @@ by `IndexPipeline`. `IndexBuilder` is now a thin façade (~310 lines, down from
101
105
  updates. The stage ordering enforces data dependencies structurally:
102
106
 
103
107
  ```
104
- SourceIndex → DocsIndex → ImportResolution → DependencyApi
105
- → LspEnrichment → Resolution → TestMap → History → Embedding
108
+ ScipSource → SourceIndex → DocsIndex → ImportResolution → DependencyApi
109
+ ScipEnrichment → LspEnrichment → Resolution → TestMap → History → Embedding
106
110
  ```
107
111
 
108
- Each stage walks source files, parses them into ASTs, and extracts
109
- symbols/imports/call-refs via language-specific extractors, then resolves
110
- imports (internal vs external) and resolves symbol references using a
111
- **3-tier resolution** strategy: LSP containment same-file name match →
112
- unique name match. An optional **LSP enrichment** stage queries language
113
- servers with batch-pipelined hover + definition requests. An optional
114
- **embedder** generates dense vectors for semantic search (with async
115
- initialization so the MCP server starts instantly), and a parallel **git
116
- history** ingest captures commits, diffs, and refs. Everything is persisted to
117
- a normalized SQL database.
112
+ **SCIP is the default source stage.** `ScipSourceStage` runs first and
113
+ populates symbols, refs, and pre-resolved edges for every language that has
114
+ a SCIP indexer available. `SourceIndexStage` then handles remaining languages
115
+ (or all languages if SCIP is explicitly disabled) via tree-sitter as a
116
+ fallback. A **SCIP enrichment** stage then writes definition locations and
117
+ type metadata from SCIP data, while an optional **LSP enrichment** stage can
118
+ enrich symbols not already covered by SCIP. Symbol references are
119
+ resolved using a **3-tier strategy**: SCIP/LSP containment same-file name
120
+ match unique name match. An optional **embedder** generates dense vectors
121
+ for semantic search (with async initialization so the MCP server starts
122
+ instantly), and a parallel **git history** ingest captures commits, diffs,
123
+ and refs. Everything is persisted to a normalized SQL database.
118
124
 
119
125
  The **MCP server** uses a `ToolRegistry` that auto-discovers tool modules
120
126
  from their exported `toolDef` / `handler` definitions — no duplicate schema
@@ -196,6 +202,7 @@ await builder.build();
196
202
  | `lore_metrics` | Aggregate index metrics plus coverage/staleness fields |
197
203
  | `lore_coverage` | Symbol-level coverage, uncovered lines, and staleness metadata |
198
204
  | `lore_writeback` | Persist agent-authored symbol summaries |
205
+ | `lore_analyze` | Run graph analysis primitives: symbol-level cycle detection (SCC), connected components (file or symbol scope), bounded-size symbol clustering, and condensed codebase summary |
199
206
 
200
207
  ### lore_lookup query options
201
208
 
@@ -286,10 +293,11 @@ has its own ingestion pipeline and can be enabled independently.
286
293
 
287
294
  ### Source code
288
295
 
289
- The indexer walks source files, parses them into ASTs via tree-sitter, and
290
- extracts symbols, imports, and call references through language-specific
291
- extractors. The import resolver classifies each import as internal or external,
292
- and a call-graph builder creates edges between symbols.
296
+ The indexer uses a SCIP-first strategy: for languages with a SCIP indexer it
297
+ produces symbols and pre-resolved edges directly, then falls back to tree-sitter
298
+ parsing for remaining languages. Optional LSP enrichment can augment symbols
299
+ from either path. The import resolver classifies each import as internal or
300
+ external, and a call-graph builder creates edges between symbols.
293
301
 
294
302
  Programmatic example:
295
303
 
@@ -380,14 +388,20 @@ npx @jafreck/lore ingest-coverage --db ./lore.db --root ./my-project \
380
388
 
381
389
  Lore optionally generates dense vector embeddings for semantic search using
382
390
  `@huggingface/transformers` (Transformers.js), which runs ONNX models natively
383
- in Node.js — no Python or external processes required. Specify the model with
384
- `--embedding-model`:
391
+ in Node.js — no Python or external processes required. The default model is
392
+ `Qwen/Qwen3-Embedding-0.6B` (1024-dim); override with `--embedding-model`:
385
393
 
386
394
  ```bash
387
395
  npx @jafreck/lore index --root ./my-project --db ./lore.db \
388
396
  --embedding-model 'nomic-ai/nomic-embed-text-v1.5'
389
397
  ```
390
398
 
399
+ Hardware acceleration is automatic: CoreML on Apple Silicon, WebGPU when
400
+ available, CPU elsewhere. Override via the `LORE_EMBED_DEVICE` env var.
401
+ Quantized ONNX dtype (fp32/fp16/q8/q4) is configurable with `LORE_EMBED_DTYPE`.
402
+ In update/watch/poll mode, symbols and docs whose embedding text is unchanged
403
+ (SHA-256 hash comparison) are skipped entirely for fast incremental re-embeds.
404
+
391
405
  At query time, `lore_search` in `semantic` or `fused` mode embeds the query
392
406
  and performs cosine similarity against stored vectors. If the model cannot
393
407
  initialize, search gracefully degrades to structural BM25.
@@ -408,7 +422,7 @@ SQLite-only — language servers are never invoked at runtime.
408
422
 
409
423
  LSP precedence:
410
424
 
411
- 1. CLI flags (`--lsp` / `--no-lsp`)
425
+ 1. CLI flag (`--lsp`)
412
426
  2. `.lore.config` `lsp.enabled`
413
427
  3. Built-in default (`false`)
414
428
 
@@ -506,7 +520,7 @@ are fast even on large repositories.
506
520
  Build or update a knowledge base.
507
521
 
508
522
  ```bash
509
- npx @jafreck/lore index --root <dir> --db <path> [--embedding-model <id>] [--blocking-embedder] [--index-deps] [--history] [--history-depth <n>] [--history-all] [--include <glob>] [--exclude <glob>] [--language <lang>] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--docs-auto-notes|--no-docs-auto-notes] [--lsp] [--no-lsp]
523
+ npx @jafreck/lore index --root <dir> --db <path> [--embedding-model <id>] [--blocking-embedder] [--index-deps] [--history] [--history-depth <n>] [--history-all] [--include <glob>] [--exclude <glob>] [--language <lang>] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--docs-auto-notes|--no-docs-auto-notes] [--lsp] [--no-scip]
510
524
  ```
511
525
 
512
526
  ### lore refresh
@@ -514,9 +528,9 @@ npx @jafreck/lore index --root <dir> --db <path> [--embedding-model <id>] [--blo
514
528
  Incremental refresh (one-shot, watch, or poll).
515
529
 
516
530
  ```bash
517
- npx @jafreck/lore refresh --db <path> --root <dir> [--index-deps] [--history] [--history-depth <n>] [--history-all] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--docs-auto-notes|--no-docs-auto-notes] [--lsp] [--no-lsp]
518
- npx @jafreck/lore refresh --db <path> --root <dir> --watch [--index-deps] [--history] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--lsp] [--no-lsp]
519
- npx @jafreck/lore refresh --db <path> --root <dir> --poll [--index-deps] [--history] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--lsp] [--no-lsp]
531
+ npx @jafreck/lore refresh --db <path> --root <dir> [--index-deps] [--history] [--history-depth <n>] [--history-all] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--docs-auto-notes|--no-docs-auto-notes] [--lsp] [--no-scip]
532
+ npx @jafreck/lore refresh --db <path> --root <dir> --watch [--index-deps] [--history] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--lsp] [--no-scip]
533
+ npx @jafreck/lore refresh --db <path> --root <dir> --poll [--index-deps] [--history] [--docs-include <glob>] [--docs-exclude <glob>] [--docs-extension <ext>] [--lsp] [--no-scip]
520
534
  ```
521
535
 
522
536
  ### lore hooks
@@ -524,7 +538,7 @@ npx @jafreck/lore refresh --db <path> --root <dir> --poll [--index-deps] [--hist
524
538
  Install repo-local git hooks for automatic refresh.
525
539
 
526
540
  ```bash
527
- npx @jafreck/lore hooks --root <repo> --db <path> [--history] [--lsp] [--no-lsp]
541
+ npx @jafreck/lore hooks --root <repo> --db <path> [--history] [--lsp] [--no-scip]
528
542
  ```
529
543
 
530
544
  ### lore ingest-coverage
@@ -543,6 +557,14 @@ Start the MCP server over stdio.
543
557
  npx @jafreck/lore mcp --db <path> [--blocking-embedder]
544
558
  ```
545
559
 
560
+ ### lore analyze
561
+
562
+ Run graph analysis on an indexed knowledge base.
563
+
564
+ ```bash
565
+ npx @jafreck/lore analyze --db <path> [--mode <cycles|components|clusters|summary>] [--edge-kinds <call|type|both>] [--branch <name>] [--max-lines <n>]
566
+ ```
567
+
546
568
  ## Build from source
547
569
 
548
570
  ```bash
package/dist/cli.js CHANGED
@@ -16,7 +16,8 @@
16
16
  * Ingest a coverage report file into the knowledge base.
17
17
  */
18
18
  import * as fs from 'node:fs';
19
- import { loadLspSettingsFromLoreConfig, resolveEffectiveLspSettings, } from './indexer/lsp/config.js';
19
+ import { loadLspSettingsFromLoreConfig, resolveEffectiveLspSettings, } from './lsp/config.js';
20
+ import { loadScipSettingsFromLoreConfig, resolveEffectiveScipSettings, } from './scip/config.js';
20
21
  import { initLogger, LogLevel, LOG_LEVEL_NAMES } from './logger.js';
21
22
  import { killAllTracked } from './process-tracker.js';
22
23
  import { LoreRuntime } from './runtime.js';
@@ -29,10 +30,12 @@ function usage() {
29
30
  lore refresh --db <path> --root <dir> [--index-deps] [--history] [--history-depth <n>] [--history-all] Run an incremental index update and exit
30
31
  lore refresh --db <path> --root <dir> --watch [--embedding-model <id>] Watch for file changes and refresh automatically
31
32
  lore refresh --db <path> --root <dir> --poll [--embedding-model <id>] Poll for file changes and refresh automatically
32
- lore hooks --db <path> --root <dir> [--history] [--history-depth <n>] [--history-all] [--lsp] [--no-lsp]
33
+ lore hooks --db <path> --root <dir> [--history] [--history-depth <n>] [--history-all] [--lsp]
33
34
  Install git hooks for automatic refresh on commit/merge/checkout
34
35
  lore ingest-coverage --db <path> --root <dir> --file <path> --format <lcov|cobertura> [--commit <sha>]
35
36
  Ingest an explicit coverage report file into the knowledge base
37
+ lore analyze --db <path> [--mode <mode>] [--edge-kinds <kind>] [--branch <name>] [--max-lines <n>]
38
+ Run graph analysis on the knowledge-base (cycles, components, clusters, summary)
36
39
 
37
40
  Options:
38
41
  --root <dir> Root directory to index (required for index, refresh)
@@ -52,8 +55,8 @@ Options:
52
55
  --no-docs-auto-notes Disable doc-based note seeding during indexing
53
56
  --watch Enable fs-event watch mode (low-latency, may miss events on some platforms)
54
57
  --poll Enable polling mode (reliable but higher CPU/IO cost)
55
- --lsp Force-enable index-time LSP settings
56
- --no-lsp Force-disable index-time LSP settings
58
+ --lsp Enable index-time LSP enrichment (disabled by default)
59
+ --no-scip Disable index-time SCIP indexing (enabled by default)
57
60
  --file <path> Coverage report path (required for ingest-coverage)
58
61
  --format <name> Coverage format: lcov or cobertura (required for ingest-coverage)
59
62
  --commit <sha> Commit SHA to associate with coverage ingestion (default: HEAD)
@@ -91,14 +94,12 @@ function docsAutoNotesFlag(args) {
91
94
  return true;
92
95
  }
93
96
  function explicitLspEnabled(args) {
94
- const enabled = args.includes('--lsp');
95
- const disabled = args.includes('--no-lsp');
96
- if (enabled && disabled) {
97
- throw new Error('cannot combine --lsp and --no-lsp');
98
- }
99
- if (enabled)
97
+ if (args.includes('--lsp'))
100
98
  return true;
101
- if (disabled)
99
+ return undefined;
100
+ }
101
+ function explicitScipEnabled(args) {
102
+ if (args.includes('--no-scip'))
102
103
  return false;
103
104
  return undefined;
104
105
  }
@@ -156,8 +157,10 @@ async function main() {
156
157
  historyDepth = Math.floor(parsed);
157
158
  }
158
159
  let lspEnabled;
160
+ let scipEnabled;
159
161
  try {
160
162
  lspEnabled = explicitLspEnabled(args);
163
+ scipEnabled = explicitScipEnabled(args);
161
164
  }
162
165
  catch (error) {
163
166
  const message = error instanceof Error ? error.message : String(error);
@@ -176,6 +179,17 @@ async function main() {
176
179
  process.exit(1);
177
180
  return;
178
181
  }
182
+ let scipSettings;
183
+ try {
184
+ const scipConfig = loadScipSettingsFromLoreConfig(rootDir);
185
+ scipSettings = resolveEffectiveScipSettings(scipConfig, { ...(scipEnabled !== undefined && { enabled: scipEnabled }) });
186
+ }
187
+ catch (error) {
188
+ const message = error instanceof Error ? error.message : String(error);
189
+ console.error(`Error: ${message}\n`);
190
+ process.exit(1);
191
+ return;
192
+ }
179
193
  const includeGlobs = flags(args, '--include');
180
194
  const excludeGlobs = flags(args, '--exclude');
181
195
  const languageNames = flags(args, '--language');
@@ -229,6 +243,7 @@ async function main() {
229
243
  docsAutoNotes,
230
244
  indexDependencies,
231
245
  lsp: lspSettings,
246
+ scip: scipSettings,
232
247
  ...(embeddingModel && { embeddingModel }),
233
248
  ...(shouldEnableHistory && {
234
249
  history: {
@@ -260,9 +275,9 @@ async function main() {
260
275
  // library entry point for consumers who only need the indexer.
261
276
  const { McpServer } = await import('@modelcontextprotocol/sdk/server/mcp.js');
262
277
  const { StdioServerTransport } = await import('@modelcontextprotocol/sdk/server/stdio.js');
263
- const { openReadOnly } = await import('./lore-server/db.js');
264
- const { createLoreMcpServer } = await import('./lore-server/server.js');
265
- const { getLoreMeta } = await import('./indexer/db.js');
278
+ const { openReadOnly } = await import('./db/read-only.js');
279
+ const { createLoreMcpServer } = await import('./server/server.js');
280
+ const { getLoreMeta } = await import('./db/schema.js');
266
281
  const db = openReadOnly(dbPath);
267
282
  // Gather DB stats for startup log
268
283
  const totalFiles = db.prepare('SELECT COUNT(*) AS cnt FROM files').get().cnt;
@@ -295,6 +310,7 @@ async function main() {
295
310
  rootDir: rootDir ?? '.',
296
311
  walkerConfig: { rootDir: rootDir ?? '.' },
297
312
  lsp: null,
313
+ scip: null,
298
314
  history: false,
299
315
  indexDependencies: false,
300
316
  docsAutoNotes: true,
@@ -350,8 +366,10 @@ async function main() {
350
366
  historyDepth = Math.floor(parsed);
351
367
  }
352
368
  let lspEnabled;
369
+ let scipEnabled2;
353
370
  try {
354
371
  lspEnabled = explicitLspEnabled(args);
372
+ scipEnabled2 = explicitScipEnabled(args);
355
373
  }
356
374
  catch (error) {
357
375
  const message = error instanceof Error ? error.message : String(error);
@@ -370,6 +388,17 @@ async function main() {
370
388
  process.exit(1);
371
389
  return;
372
390
  }
391
+ let scipSettings;
392
+ try {
393
+ const scipConfig = loadScipSettingsFromLoreConfig(rootDir);
394
+ scipSettings = resolveEffectiveScipSettings(scipConfig, { ...(scipEnabled2 !== undefined && { enabled: scipEnabled2 }) });
395
+ }
396
+ catch (error) {
397
+ const message = error instanceof Error ? error.message : String(error);
398
+ console.error(`Error: ${message}\n`);
399
+ process.exit(1);
400
+ return;
401
+ }
373
402
  const shouldEnableHistory = historyEnabled || historyAll || historyDepth !== undefined;
374
403
  const historyOption = shouldEnableHistory
375
404
  ? {
@@ -390,6 +419,7 @@ async function main() {
390
419
  const refreshOptions = {
391
420
  indexDependencies,
392
421
  lsp: lspSettings,
422
+ scip: scipSettings,
393
423
  ...(shouldEnableHistory && { history: historyOption }),
394
424
  };
395
425
  // Build an optional long-lived embedder for watch/poll modes.
@@ -400,6 +430,7 @@ async function main() {
400
430
  rootDir,
401
431
  walkerConfig,
402
432
  lsp: lspSettings,
433
+ scip: scipSettings,
403
434
  history: shouldEnableHistory ? historyOption : false,
404
435
  indexDependencies,
405
436
  docsAutoNotes,
@@ -419,8 +450,8 @@ async function main() {
419
450
  const dbExists = fs.existsSync(dbPath);
420
451
  if (dbExists) {
421
452
  const [{ openDb }, { walkFiles }] = await Promise.all([
422
- import('./indexer/db.js'),
423
- import('./indexer/walker.js'),
453
+ import('./db/schema.js'),
454
+ import('./discovery/walker.js'),
424
455
  ]);
425
456
  const files = await walkFiles(walkerConfig);
426
457
  const db = openDb(dbPath);
@@ -454,8 +485,10 @@ async function main() {
454
485
  const historyDepthRaw = flag(args, '--history-depth');
455
486
  const includeHistory = historyEnabled || historyAll || historyDepthRaw !== undefined;
456
487
  let lspEnabled;
488
+ let scipEnabled3;
457
489
  try {
458
490
  lspEnabled = explicitLspEnabled(args);
491
+ scipEnabled3 = explicitScipEnabled(args);
459
492
  }
460
493
  catch (error) {
461
494
  const message = error instanceof Error ? error.message : String(error);
@@ -474,13 +507,22 @@ async function main() {
474
507
  process.exit(1);
475
508
  return;
476
509
  }
477
- const { installGitHooks } = await import('./indexer/git-hooks.js');
510
+ let scipSettings;
511
+ try {
512
+ const scipConfig = loadScipSettingsFromLoreConfig(rootDir);
513
+ scipSettings = resolveEffectiveScipSettings(scipConfig, { ...(scipEnabled3 !== undefined && { enabled: scipEnabled3 }) });
514
+ }
515
+ catch {
516
+ // SCIP config errors in hooks are non-fatal.
517
+ }
518
+ const { installGitHooks } = await import('./git/hooks.js');
478
519
  const result = installGitHooks({
479
520
  repoRoot: rootDir,
480
521
  rootDir,
481
522
  dbPath,
482
523
  includeHistory,
483
524
  lspEnabled: lspSettings.enabled,
525
+ scipEnabled: scipSettings?.enabled ?? false,
484
526
  });
485
527
  process.stderr.write(JSON.stringify({
486
528
  level: 'info',
@@ -510,6 +552,60 @@ async function main() {
510
552
  const builder = new IndexBuilder(dbPath, { rootDir });
511
553
  await builder.ingestCoverage(reportPath, format, commitSha);
512
554
  }
555
+ else if (subcommand === 'analyze') {
556
+ const dbPath = flag(args, '--db');
557
+ if (!dbPath) {
558
+ console.error('Error: --db <path> is required for the analyze subcommand.\n');
559
+ usage();
560
+ return;
561
+ }
562
+ const mode = flag(args, '--mode') ?? 'summary';
563
+ const validModes = ['cycles', 'components', 'clusters', 'summary'];
564
+ if (!validModes.includes(mode)) {
565
+ console.error(`Error: --mode must be one of: ${validModes.join(', ')}\n`);
566
+ usage();
567
+ return;
568
+ }
569
+ const edgeKindsRaw = flag(args, '--edge-kinds') ?? 'both';
570
+ const validEdgeKinds = ['call', 'type', 'both'];
571
+ if (!validEdgeKinds.includes(edgeKindsRaw)) {
572
+ console.error(`Error: --edge-kinds must be one of: ${validEdgeKinds.join(', ')}\n`);
573
+ usage();
574
+ return;
575
+ }
576
+ const edgeKinds = edgeKindsRaw;
577
+ const branch = flag(args, '--branch');
578
+ const maxLinesRaw = flag(args, '--max-lines');
579
+ let maxLines;
580
+ if (maxLinesRaw !== undefined) {
581
+ const parsed = Number(maxLinesRaw);
582
+ if (!Number.isFinite(parsed) || parsed <= 0) {
583
+ console.error('Error: --max-lines must be a positive number.\n');
584
+ usage();
585
+ return;
586
+ }
587
+ maxLines = Math.floor(parsed);
588
+ }
589
+ const { openReadOnly } = await import('./db/read-only.js');
590
+ const { detectSymbolCycles, findConnectedComponents, clusterSymbols, buildCodebaseSummary, } = await import('./resolution/graph-analysis.js');
591
+ const db = openReadOnly(dbPath);
592
+ const opts = { edgeKinds, branch };
593
+ let result;
594
+ if (mode === 'cycles') {
595
+ result = detectSymbolCycles(db, opts);
596
+ }
597
+ else if (mode === 'components') {
598
+ result = findConnectedComponents(db, { ...opts, scope: 'symbol' });
599
+ }
600
+ else if (mode === 'clusters') {
601
+ result = clusterSymbols(db, { ...opts, maxLinesPerCluster: maxLines });
602
+ }
603
+ else {
604
+ result = buildCodebaseSummary(db, { ...opts, maxLinesPerModule: maxLines });
605
+ }
606
+ db.close();
607
+ console.log(JSON.stringify(result, null, 2));
608
+ }
513
609
  else {
514
610
  console.error(`Unknown subcommand: ${subcommand}\n`);
515
611
  usage();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -168,6 +168,9 @@ export interface ListResolvedEdgesOptions {
168
168
  fileId?: number;
169
169
  /** Filter by caller branch. */
170
170
  branch?: string;
171
+ /** Allowlist of resolution methods to include. When set, only edges whose
172
+ * `resolution_method` is in this list are returned. */
173
+ methods?: string[];
171
174
  /** Maximum rows to return. Default: 100 000. */
172
175
  limit?: number;
173
176
  }
@@ -184,6 +187,77 @@ export interface ListResolvedEdgesOptions {
184
187
  * - Defaults to a high limit (100 000) to avoid silent truncation
185
188
  */
186
189
  export declare function listResolvedEdges(db: Database.Database, options?: ListResolvedEdgesOptions): ResolvedEdge[];
190
+ export interface TypeRefEdge {
191
+ ref_id: number;
192
+ symbol_id: number | null;
193
+ symbol_name: string | null;
194
+ symbol_kind: string | null;
195
+ symbol_file_id: number | null;
196
+ symbol_file_path: string | null;
197
+ type_id: number | null;
198
+ type_name: string;
199
+ type_name_bare: string;
200
+ type_kind: string | null;
201
+ type_file_id: number | null;
202
+ type_file_path: string | null;
203
+ ref_kind: string;
204
+ ref_line: number;
205
+ ref_character: number | null;
206
+ resolution_method: string;
207
+ }
208
+ export interface ListTypeRefsOptions {
209
+ /** Only include edges where `type_id` is resolved (non-NULL). Default: false. */
210
+ resolvedOnly?: boolean;
211
+ /** Restrict to edges from this file. */
212
+ fileId?: number;
213
+ /** Filter by branch. */
214
+ branch?: string;
215
+ /** Allowlist of resolution methods to include. */
216
+ methods?: string[];
217
+ /** Maximum rows to return. Default: 100 000. */
218
+ limit?: number;
219
+ }
220
+ /**
221
+ * Returns type-reference edges from `type_refs`, joining through
222
+ * `symbols` and `files` to denormalize source/target metadata.
223
+ */
224
+ export declare function listTypeRefs(db: Database.Database, options?: ListTypeRefsOptions): TypeRefEdge[];
225
+ export interface SymbolRelationshipEdge {
226
+ ref_id: number;
227
+ source_symbol_id: number | null;
228
+ source_name: string | null;
229
+ source_kind: string | null;
230
+ source_file_id: number | null;
231
+ source_file_path: string | null;
232
+ target_symbol_id: number | null;
233
+ target_symbol_name: string;
234
+ target_kind: string | null;
235
+ target_file_id: number | null;
236
+ target_file_path: string | null;
237
+ relationship_type: string;
238
+ line: number;
239
+ character: number | null;
240
+ resolution_method: string;
241
+ }
242
+ export interface ListSymbolRelationshipsOptions {
243
+ /** Only include edges where `target_symbol_id` is resolved (non-NULL). Default: false. */
244
+ resolvedOnly?: boolean;
245
+ /** Restrict to edges from this file. */
246
+ fileId?: number;
247
+ /** Filter by branch. */
248
+ branch?: string;
249
+ /** Filter by relationship type (e.g. 'extends', 'implements'). */
250
+ relationshipType?: string;
251
+ /** Allowlist of resolution methods to include. */
252
+ methods?: string[];
253
+ /** Maximum rows to return. Default: 100 000. */
254
+ limit?: number;
255
+ }
256
+ /**
257
+ * Returns symbol-relationship edges (extends, implements, etc.) from
258
+ * `symbol_relationships`, joining through `symbols` and `files`.
259
+ */
260
+ export declare function listSymbolRelationships(db: Database.Database, options?: ListSymbolRelationshipsOptions): SymbolRelationshipEdge[];
187
261
  export interface DocRow {
188
262
  id: number;
189
263
  path: string;
@@ -439,4 +513,4 @@ export declare function getSymbolCoverageAggregates(db: Database.Database, optio
439
513
  }): SymbolCoverageAggregate[];
440
514
  /** Return symbol coverage percentages for selected symbol ids from latest coverage run. */
441
515
  export declare function getCoveragePercentBySymbolIds(db: Database.Database, symbolIds: number[], branch?: string): Map<number, number | null>;
442
- //# sourceMappingURL=db.d.ts.map
516
+ //# sourceMappingURL=read-only.d.ts.map