@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
@@ -3,11 +3,18 @@
3
3
  *
4
4
  * Pipeline stage: embed symbol signatures, documentation sections, and
5
5
  * commit messages into vec0 virtual tables for semantic search.
6
+ *
7
+ * Optimisations:
8
+ * - **Token-aware batching**: batches are sized by estimated token budget
9
+ * rather than a fixed item count, avoiding pathological padding waste
10
+ * when one long signature inflates the whole batch.
11
+ * - **Skip-unchanged**: in update mode, symbols whose embedding input text
12
+ * has not changed (by SHA-256 hash) are skipped entirely.
13
+ * - **Double-buffered I/O**: the next `embed()` call fires while the
14
+ * current batch's vectors are written to SQLite.
6
15
  */
7
- import { setLoreMeta, createVec0Tables } from '../db.js';
8
- import { buildStructuralEmbeddingText } from '../embedder.js';
9
- /** Number of items to embed per batch. */
10
- const EMBED_BATCH_SIZE = 64;
16
+ import { setLoreMeta, createVec0Tables } from '../../db/schema.js';
17
+ import { buildStructuralEmbeddingText, hashEmbeddingText, tokenAwareBatch } from '../../embeddings/embedder.js';
11
18
  /**
12
19
  * Embed symbol signatures, documentation sections, and commit messages.
13
20
  *
@@ -27,8 +34,8 @@ export class EmbeddingStage {
27
34
  // Resolve scoped file/doc IDs for incremental embedding.
28
35
  const changedFileIds = resolveFileIds(db, context.changedSourcePaths, context.branch);
29
36
  const changedDocIds = resolveDocIds(db, context.changedDocPaths, context.branch);
30
- await embedStructural(db, embedder, changedFileIds);
31
- await embedDocumentation(db, embedder, changedDocIds);
37
+ await embedStructural(db, embedder, changedFileIds, /* skipUnchanged */ true);
38
+ await embedDocumentation(db, embedder, changedDocIds, /* skipUnchanged */ true);
32
39
  }
33
40
  else {
34
41
  await embedStructural(db, embedder);
@@ -40,11 +47,12 @@ export class EmbeddingStage {
40
47
  context.log.indexing('embedding complete');
41
48
  }
42
49
  }
43
- // ─── Structural symbol embeddings ─────────────────────────────────────────────
44
- async function embedStructural(db, embedder, fileIds) {
50
+ async function embedStructural(db, embedder, fileIds, skipUnchanged = false) {
45
51
  setLoreMeta(db, 'embedding_model', embedder.modelName);
46
52
  setLoreMeta(db, 'embedding_dims', String(embedder.dims));
47
53
  createVec0Tables(db, embedder.dims);
54
+ // Ensure the hash tracking column exists (idempotent).
55
+ ensureEmbeddingHashColumn(db, 'symbol_embeddings');
48
56
  const baseQuery = `SELECT id, name, signature, resolved_type_signature, resolved_return_type
49
57
  FROM symbols
50
58
  WHERE (signature IS NOT NULL
@@ -59,49 +67,46 @@ async function embedStructural(db, embedder, fileIds) {
59
67
  else {
60
68
  symbols = db.prepare(baseQuery).all();
61
69
  }
62
- const insertEmbed = db.prepare('INSERT OR REPLACE INTO symbol_embeddings(rowid, embedding) VALUES (CAST(? AS INTEGER), json(?))');
63
- // P4: Pipeline — start embedding the next batch while writing the current one.
64
- let pendingEmbed = null;
65
- let pendingBatch = [];
66
- for (let i = 0; i < symbols.length; i += EMBED_BATCH_SIZE) {
67
- const batch = symbols.slice(i, i + EMBED_BATCH_SIZE);
68
- const texts = batch.map((symbol) => buildStructuralEmbeddingText({
69
- name: symbol.name,
70
- signature: symbol.signature,
71
- resolvedTypeSignature: symbol.resolved_type_signature,
72
- resolvedReturnType: symbol.resolved_return_type,
73
- }));
74
- if (pendingEmbed) {
75
- const embeddings = await pendingEmbed;
76
- db.transaction(() => {
77
- for (let j = 0; j < pendingBatch.length; j++) {
78
- const sym = pendingBatch[j];
79
- if (sym)
80
- insertEmbed.run(sym.id, JSON.stringify(embeddings[j]));
81
- }
82
- })();
83
- }
84
- pendingEmbed = embedder.embed(texts);
85
- pendingBatch = batch;
70
+ // Build texts and compute hashes; filter out unchanged if requested.
71
+ const items = [];
72
+ const existingHashes = skipUnchanged ? loadExistingHashes(db, 'symbol_embeddings', symbols.map(s => s.id)) : new Map();
73
+ for (const sym of symbols) {
74
+ const text = buildStructuralEmbeddingText({
75
+ name: sym.name,
76
+ signature: sym.signature,
77
+ resolvedTypeSignature: sym.resolved_type_signature,
78
+ resolvedReturnType: sym.resolved_return_type,
79
+ });
80
+ const hash = hashEmbeddingText(text);
81
+ if (skipUnchanged && existingHashes.get(sym.id) === hash)
82
+ continue;
83
+ items.push({ sym, text, hash });
86
84
  }
87
- if (pendingEmbed) {
88
- const embeddings = await pendingEmbed;
85
+ if (items.length === 0)
86
+ return;
87
+ const insertEmbed = db.prepare('INSERT OR REPLACE INTO symbol_embeddings(rowid, embedding) VALUES (CAST(? AS INTEGER), json(?))');
88
+ const insertHash = db.prepare('INSERT OR REPLACE INTO symbol_embeddings_hashes(rowid, content_hash) VALUES (?, ?)');
89
+ const batches = tokenAwareBatch(items, (item) => item.text);
90
+ await embedBatchesDoubleBuffered(batches, embedder, (item) => item.text, (batch, embeddings) => {
89
91
  db.transaction(() => {
90
- for (let j = 0; j < pendingBatch.length; j++) {
91
- const sym = pendingBatch[j];
92
- if (sym)
93
- insertEmbed.run(sym.id, JSON.stringify(embeddings[j]));
92
+ for (let j = 0; j < batch.length; j++) {
93
+ const item = batch[j];
94
+ if (item) {
95
+ insertEmbed.run(item.sym.id, JSON.stringify(embeddings[j]));
96
+ insertHash.run(item.sym.id, item.hash);
97
+ }
94
98
  }
95
99
  })();
96
- }
100
+ });
97
101
  }
98
102
  // ─── Documentation section embeddings ─────────────────────────────────────────
99
- async function embedDocumentation(db, embedder, docIds) {
103
+ async function embedDocumentation(db, embedder, docIds, skipUnchanged = false) {
100
104
  db.exec(`
101
105
  CREATE VIRTUAL TABLE IF NOT EXISTS doc_section_embeddings USING vec0(
102
106
  embedding FLOAT[${embedder.dims}]
103
107
  );
104
108
  `);
109
+ ensureEmbeddingHashColumn(db, 'doc_section_embeddings');
105
110
  let sections;
106
111
  if (docIds && docIds.length > 0) {
107
112
  sections = db.prepare(`SELECT id, title, content
@@ -116,36 +121,32 @@ async function embedDocumentation(db, embedder, docIds) {
116
121
  }
117
122
  if (sections.length === 0)
118
123
  return;
119
- const insertEmbed = db.prepare('INSERT OR REPLACE INTO doc_section_embeddings(rowid, embedding) VALUES (CAST(? AS INTEGER), json(?))');
120
- // P4: Pipeline — start embedding the next batch while writing the current one.
121
- let pendingEmbed = null;
122
- let pendingBatch = [];
123
- for (let i = 0; i < sections.length; i += EMBED_BATCH_SIZE) {
124
- const batch = sections.slice(i, i + EMBED_BATCH_SIZE);
125
- const texts = batch.map(section => section.content || section.title);
126
- if (pendingEmbed) {
127
- const embeddings = await pendingEmbed;
128
- db.transaction(() => {
129
- for (let j = 0; j < pendingBatch.length; j++) {
130
- const section = pendingBatch[j];
131
- if (section)
132
- insertEmbed.run(section.id, JSON.stringify(embeddings[j]));
133
- }
134
- })();
135
- }
136
- pendingEmbed = embedder.embed(texts);
137
- pendingBatch = batch;
124
+ // Build texts, compute hashes, filter unchanged.
125
+ const items = [];
126
+ const existingHashes = skipUnchanged ? loadExistingHashes(db, 'doc_section_embeddings', sections.map(s => s.id)) : new Map();
127
+ for (const section of sections) {
128
+ const text = section.content || section.title;
129
+ const hash = hashEmbeddingText(text);
130
+ if (skipUnchanged && existingHashes.get(section.id) === hash)
131
+ continue;
132
+ items.push({ section, text, hash });
138
133
  }
139
- if (pendingEmbed) {
140
- const embeddings = await pendingEmbed;
134
+ if (items.length === 0)
135
+ return;
136
+ const insertEmbed = db.prepare('INSERT OR REPLACE INTO doc_section_embeddings(rowid, embedding) VALUES (CAST(? AS INTEGER), json(?))');
137
+ const insertHash = db.prepare('INSERT OR REPLACE INTO doc_section_embeddings_hashes(rowid, content_hash) VALUES (?, ?)');
138
+ const batches = tokenAwareBatch(items, (item) => item.text);
139
+ await embedBatchesDoubleBuffered(batches, embedder, (item) => item.text, (batch, embeddings) => {
141
140
  db.transaction(() => {
142
- for (let j = 0; j < pendingBatch.length; j++) {
143
- const section = pendingBatch[j];
144
- if (section)
145
- insertEmbed.run(section.id, JSON.stringify(embeddings[j]));
141
+ for (let j = 0; j < batch.length; j++) {
142
+ const item = batch[j];
143
+ if (item) {
144
+ insertEmbed.run(item.section.id, JSON.stringify(embeddings[j]));
145
+ insertHash.run(item.section.id, item.hash);
146
+ }
146
147
  }
147
148
  })();
148
- }
149
+ });
149
150
  }
150
151
  // ─── Commit message embeddings ────────────────────────────────────────────────
151
152
  async function embedCommitMessages(db, embedder) {
@@ -158,34 +159,77 @@ async function embedCommitMessages(db, embedder) {
158
159
  if (commits.length === 0)
159
160
  return;
160
161
  const insertEmbed = db.prepare('INSERT OR REPLACE INTO commit_embeddings(rowid, embedding) VALUES (CAST(? AS INTEGER), json(?))');
161
- // P4: Pipeline start embedding the next batch while writing the current one.
162
+ const batches = tokenAwareBatch(commits, (c) => c.message);
163
+ await embedBatchesDoubleBuffered(batches, embedder, (c) => c.message, (batch, embeddings) => {
164
+ db.transaction(() => {
165
+ for (let j = 0; j < batch.length; j++) {
166
+ const commit = batch[j];
167
+ if (commit)
168
+ insertEmbed.run(commit.rowid, JSON.stringify(embeddings[j]));
169
+ }
170
+ })();
171
+ });
172
+ }
173
+ // ─── Double-buffered batch embedding ──────────────────────────────────────────
174
+ /**
175
+ * Embeds pre-batched items using double-buffered I/O: fires the next
176
+ * `embed()` call while writing the current batch's results to the DB.
177
+ */
178
+ async function embedBatchesDoubleBuffered(batches, embedder, getText, writeBatch) {
162
179
  let pendingEmbed = null;
163
180
  let pendingBatch = [];
164
- for (let i = 0; i < commits.length; i += EMBED_BATCH_SIZE) {
165
- const batch = commits.slice(i, i + EMBED_BATCH_SIZE);
181
+ for (const batch of batches) {
182
+ const texts = batch.map(getText);
183
+ // Write the previous batch while starting the next embed.
166
184
  if (pendingEmbed) {
167
185
  const embeddings = await pendingEmbed;
168
- db.transaction(() => {
169
- for (let j = 0; j < pendingBatch.length; j++) {
170
- const commit = pendingBatch[j];
171
- if (commit)
172
- insertEmbed.run(commit.rowid, JSON.stringify(embeddings[j]));
173
- }
174
- })();
186
+ writeBatch(pendingBatch, embeddings);
175
187
  }
176
- pendingEmbed = embedder.embed(batch.map((commit) => commit.message));
188
+ pendingEmbed = embedder.embed(texts);
177
189
  pendingBatch = batch;
178
190
  }
191
+ // Drain the last pending batch.
179
192
  if (pendingEmbed) {
180
193
  const embeddings = await pendingEmbed;
181
- db.transaction(() => {
182
- for (let j = 0; j < pendingBatch.length; j++) {
183
- const commit = pendingBatch[j];
184
- if (commit)
185
- insertEmbed.run(commit.rowid, JSON.stringify(embeddings[j]));
186
- }
187
- })();
194
+ writeBatch(pendingBatch, embeddings);
195
+ }
196
+ }
197
+ // ─── Skip-unchanged helpers ───────────────────────────────────────────────────
198
+ /**
199
+ * Idempotently add a `content_hash` column to an embedding virtual table's
200
+ * shadow storage. vec0 virtual tables don't support ALTER TABLE, so we use
201
+ * a companion regular table for the hash.
202
+ */
203
+ function ensureEmbeddingHashColumn(db, tableName) {
204
+ db.exec(`
205
+ CREATE TABLE IF NOT EXISTS ${tableName}_hashes (
206
+ rowid INTEGER PRIMARY KEY,
207
+ content_hash TEXT NOT NULL
208
+ );
209
+ `);
210
+ // Migrate: if we previously stored content_hash inline in the INSERT OR REPLACE
211
+ // statement, the vec0 table ignores unknown columns silently, so nothing to migrate.
212
+ }
213
+ /**
214
+ * Load existing content hashes for a set of row IDs from the hash companion table.
215
+ */
216
+ function loadExistingHashes(db, tableName, ids) {
217
+ const map = new Map();
218
+ if (ids.length === 0)
219
+ return map;
220
+ const hashTable = `${tableName}_hashes`;
221
+ const hasTable = db.prepare("SELECT 1 AS present FROM sqlite_master WHERE type = 'table' AND name = ?").get(hashTable);
222
+ if (!hasTable)
223
+ return map;
224
+ const CHUNK = 900;
225
+ for (let i = 0; i < ids.length; i += CHUNK) {
226
+ const chunk = ids.slice(i, i + CHUNK);
227
+ const rows = db.prepare(`SELECT rowid, content_hash FROM ${hashTable} WHERE rowid IN (${chunk.map(() => '?').join(', ')})`).all(...chunk);
228
+ for (const row of rows) {
229
+ map.set(row.rowid, row.content_hash);
230
+ }
188
231
  }
232
+ return map;
189
233
  }
190
234
  // ─── Update-mode helpers ──────────────────────────────────────────────────────
191
235
  function deleteSymbolEmbeddings(db, symbolIds) {
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../../src/indexer/stages/embedding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../../src/indexer/stages/embedding.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * external package names. Populates `file_imports.resolved_id` and
6
6
  * `external_deps` rows.
7
7
  */
8
- import { ImportResolver } from '../resolver.js';
8
+ import { ImportResolver } from '../../resolution/resolver.js';
9
9
  // ─── Stage ────────────────────────────────────────────────────────────────────
10
10
  /**
11
11
  * Resolves raw imports in `file_imports` to internal file IDs (`resolved_id`)
@@ -1 +1 @@
1
- {"version":3,"file":"import-resolution.js","sourceRoot":"","sources":["../../../src/indexer/stages/import-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IACvB,IAAI,GAAG,mBAAmB,CAAC;IAEpC,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,KAAyB;QAC/D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAEtC,6EAA6E;QAC7E,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CACN;;;uDAG+C,CAChD;aACA,GAAG,CAAC,MAAM,CAMT,CAAC;QAEL,2EAA2E;QAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,CACzB,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAyC;aAC3G,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAC5B,CAAC;QAEF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,sDAAsD,CACvD,CAAC;QACF,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAClC,sEAAsE,CACvE,CAAC;QAEF,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAC/B,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,EAC7C,GAAG,CAAC,IAAI,EACR,OAAO,EACP,GAAG,CAAC,QAAQ,CACb,CAAC;gBAEF,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBACxD,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;CACF"}
1
+ {"version":3,"file":"import-resolution.js","sourceRoot":"","sources":["../../../src/indexer/stages/import-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IACvB,IAAI,GAAG,mBAAmB,CAAC;IAEpC,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,KAAyB;QAC/D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAEtC,6EAA6E;QAC7E,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CACN;;;uDAG+C,CAChD;aACA,GAAG,CAAC,MAAM,CAMT,CAAC;QAEL,2EAA2E;QAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,CACzB,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAyC;aAC3G,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAC5B,CAAC;QAEF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,sDAAsD,CACvD,CAAC;QACF,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAClC,sEAAsE,CACvE,CAAC;QAEF,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAC/B,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,EAC7C,GAAG,CAAC,IAAI,EACR,OAAO,EACP,GAAG,CAAC,QAAQ,CACb,CAAC;gBAEF,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBACxD,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -3,10 +3,12 @@
3
3
  *
4
4
  * Concrete pipeline stages with real implementations.
5
5
  */
6
+ export { ScipSourceStage } from './scip-source.js';
6
7
  export { SourceIndexStage } from './source-index.js';
7
8
  export { DocsIndexStage } from './docs-index.js';
8
9
  export { ImportResolutionStage } from './import-resolution.js';
9
10
  export { DependencyApiStage } from './dependency-api.js';
11
+ export { ScipEnrichmentStage } from './scip-enrichment.js';
10
12
  export { LspEnrichmentStage } from './lsp-enrichment.js';
11
13
  export { EmbeddingStage } from './embedding.js';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -3,10 +3,12 @@
3
3
  *
4
4
  * Concrete pipeline stages with real implementations.
5
5
  */
6
+ export { ScipSourceStage } from './scip-source.js';
6
7
  export { SourceIndexStage } from './source-index.js';
7
8
  export { DocsIndexStage } from './docs-index.js';
8
9
  export { ImportResolutionStage } from './import-resolution.js';
9
10
  export { DependencyApiStage } from './dependency-api.js';
11
+ export { ScipEnrichmentStage } from './scip-enrichment.js';
10
12
  export { LspEnrichmentStage } from './lsp-enrichment.js';
11
13
  export { EmbeddingStage } from './embedding.js';
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/indexer/stages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/indexer/stages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -23,8 +23,8 @@
23
23
  * LSP-based containment resolution.
24
24
  */
25
25
  import type { PipelineContext, PipelineStage } from '../pipeline.js';
26
- import type { Database } from '../db.js';
27
- import { LspEnrichmentCoordinator } from '../lsp/enrichment.js';
26
+ import type { Database } from '../../db/schema.js';
27
+ import { LspEnrichmentCoordinator } from '../../lsp/enrichment.js';
28
28
  /**
29
29
  * Enriches indexed artefacts with LSP-derived metadata.
30
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-enrichment.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGhE;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,QAAQ,CAAC,IAAI,oBAAoB;IAEjC,OAAO,CAAC,WAAW,CAAyC;IAEtD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAID;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,WAAW,EAAE,wBAAwB,GACpC,OAAO,CAAC,IAAI,CAAC,CAgMf"}
1
+ {"version":3,"file":"lsp-enrichment.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,QAAQ,CAAC,IAAI,oBAAoB;IAEjC,OAAO,CAAC,WAAW,CAAyC;IAEtD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiD3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAID;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,WAAW,EAAE,wBAAwB,GACpC,OAAO,CAAC,IAAI,CAAC,CAgMf"}
@@ -23,8 +23,8 @@
23
23
  * LSP-based containment resolution.
24
24
  */
25
25
  import * as fs from 'node:fs';
26
- import { LspEnrichmentCoordinator } from '../lsp/enrichment.js';
27
- import { buildStructuralEmbeddingText } from '../embedder.js';
26
+ import { LspEnrichmentCoordinator } from '../../lsp/enrichment.js';
27
+ import { buildStructuralEmbeddingText } from '../../embeddings/embedder.js';
28
28
  /**
29
29
  * Enriches indexed artefacts with LSP-derived metadata.
30
30
  *
@@ -37,13 +37,45 @@ export class LspEnrichmentStage {
37
37
  async execute(context, _mode) {
38
38
  if (!context.lsp?.enabled || context.files.length === 0)
39
39
  return;
40
- this.coordinator = new LspEnrichmentCoordinator(context.lsp, context.walkerConfig.rootDir);
41
- // Start language servers for all languages seen in the file list.
42
- const languages = new Set(context.files.map(f => f.language));
40
+ const scipSourced = context.scipSourcedLanguages;
41
+ const scipCovered = context.scipCoveredLanguages;
42
+ // Split files into two groups:
43
+ // 1. Non-SCIP files: full enrichment (all symbols, refs, type_refs)
44
+ // 2. SCIP-sourced files: targeted enrichment (only unresolved refs)
45
+ const fullEnrichFiles = [];
46
+ const scipFiles = [];
47
+ for (const f of context.files) {
48
+ if (scipSourced?.has(f.language) || scipCovered?.has(f.language)) {
49
+ scipFiles.push(f);
50
+ }
51
+ else {
52
+ fullEnrichFiles.push(f);
53
+ }
54
+ }
55
+ if (fullEnrichFiles.length === 0 && scipFiles.length === 0) {
56
+ context.log.indexing('lsp-enrichment: no files to enrich');
57
+ return;
58
+ }
59
+ // Start language servers for all languages that need enrichment.
60
+ const languages = new Set([
61
+ ...fullEnrichFiles.map(f => f.language),
62
+ ...scipFiles.map(f => f.language),
63
+ ]);
43
64
  if (context.indexDependencies)
44
65
  languages.add('typescript');
66
+ this.coordinator = new LspEnrichmentCoordinator(context.lsp, context.walkerConfig.rootDir);
45
67
  await this.coordinator.start(languages);
46
- await enrichProjectRefs(context.db, context.branch, context.files, this.coordinator);
68
+ // Full enrichment for non-SCIP files (all targets).
69
+ if (fullEnrichFiles.length > 0) {
70
+ await enrichProjectRefs(context.db, context.branch, fullEnrichFiles, this.coordinator);
71
+ }
72
+ // Targeted enrichment for SCIP-sourced files (only unresolved refs).
73
+ if (scipFiles.length > 0) {
74
+ context.log.indexing('lsp-enrichment: enriching unresolved SCIP refs', {
75
+ files: scipFiles.length,
76
+ });
77
+ await enrichUnresolvedScipRefs(context.db, context.branch, scipFiles, this.coordinator);
78
+ }
47
79
  }
48
80
  async dispose() {
49
81
  if (this.coordinator) {
@@ -171,4 +203,97 @@ export async function enrichProjectRefs(db, branch, files, coordinator) {
171
203
  runInTransaction(updates);
172
204
  }
173
205
  }
206
+ // ─── Targeted LSP enrichment for SCIP-sourced files ───────────────────────────
207
+ /**
208
+ * For SCIP-sourced files, only enrich refs that are still `unresolved`.
209
+ *
210
+ * SCIP pre-resolves most refs during `ScipSourceStage`, but some refs
211
+ * (notably member-access calls like `db.prepare(...)`) remain unresolved
212
+ * because SCIP tracks the receiver and method as separate occurrences.
213
+ *
214
+ * LSP can resolve these by querying `textDocument/definition` at the
215
+ * call-site position. We write `definition_path` / `definition_line`
216
+ * so the downstream resolution stage can map them to a `callee_id`.
217
+ */
218
+ async function enrichUnresolvedScipRefs(db, branch, files, coordinator) {
219
+ // Only select refs that SCIP left unresolved.
220
+ const selectUnresolvedCallRefs = db.prepare(`SELECT sr.id, sr.call_line, sr.call_character
221
+ FROM symbol_refs sr
222
+ JOIN symbols s ON s.id = sr.caller_id
223
+ JOIN files f ON f.id = s.file_id
224
+ WHERE f.path = ? AND f.branch = ?
225
+ AND sr.resolution_method = 'unresolved'
226
+ AND sr.definition_path IS NULL
227
+ ORDER BY sr.id`);
228
+ const selectUnresolvedTypeRefs = db.prepare(`SELECT tr.id, tr.ref_line, tr.ref_character
229
+ FROM type_refs tr
230
+ JOIN files f ON f.id = tr.file_id
231
+ WHERE f.path = ? AND f.branch = ?
232
+ AND tr.resolution_method = 'unresolved'
233
+ AND tr.definition_path IS NULL
234
+ ORDER BY tr.id`);
235
+ const updateCallRef = db.prepare(`UPDATE symbol_refs
236
+ SET resolved_type_signature = ?, resolved_return_type = ?,
237
+ definition_uri = ?, definition_path = ?, definition_line = ?, definition_character = ?,
238
+ resolution_method = 'unresolved'
239
+ WHERE id = ?`);
240
+ const updateTypeRef = db.prepare(`UPDATE type_refs
241
+ SET resolved_type_signature = ?,
242
+ definition_uri = ?, definition_path = ?, definition_line = ?, definition_character = ?,
243
+ resolution_method = 'unresolved'
244
+ WHERE id = ?`);
245
+ const runInTransaction = db.transaction((updates) => {
246
+ for (const fn of updates)
247
+ fn();
248
+ });
249
+ for (const file of files) {
250
+ if (!file || !fs.existsSync(file.path))
251
+ continue;
252
+ let source;
253
+ try {
254
+ source = fs.readFileSync(file.path, 'utf8');
255
+ }
256
+ catch {
257
+ continue;
258
+ }
259
+ const tagged = [];
260
+ const callRefs = selectUnresolvedCallRefs.all(file.path, branch);
261
+ for (const cr of callRefs) {
262
+ tagged.push({ table: 'callRef', rowId: cr.id, line: cr.call_line, character: cr.call_character ?? 0 });
263
+ }
264
+ const typeRefs = selectUnresolvedTypeRefs.all(file.path, branch);
265
+ for (const tr of typeRefs) {
266
+ tagged.push({ table: 'typeRef', rowId: tr.id, line: tr.ref_line, character: tr.ref_character ?? 0 });
267
+ }
268
+ if (tagged.length === 0)
269
+ continue;
270
+ const metadata = await coordinator.enrich({
271
+ filePath: file.path,
272
+ language: file.language,
273
+ source,
274
+ targets: tagged.map(t => ({ line: t.line, character: t.character })),
275
+ });
276
+ const updates = [];
277
+ for (let i = 0; i < tagged.length; i++) {
278
+ const tag = tagged[i];
279
+ const m = metadata[i];
280
+ if (!m)
281
+ continue;
282
+ switch (tag.table) {
283
+ case 'callRef':
284
+ updates.push(() => {
285
+ updateCallRef.run(m.resolvedTypeSignature, m.resolvedReturnType, m.definitionUri, m.definitionPath, m.definitionLine, m.definitionCharacter, tag.rowId);
286
+ });
287
+ break;
288
+ case 'typeRef':
289
+ updates.push(() => {
290
+ updateTypeRef.run(m.resolvedTypeSignature, m.definitionUri, m.definitionPath, m.definitionLine, m.definitionCharacter, tag.rowId);
291
+ });
292
+ break;
293
+ }
294
+ }
295
+ if (updates.length > 0)
296
+ runInTransaction(updates);
297
+ }
298
+ }
174
299
  //# sourceMappingURL=lsp-enrichment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-enrichment.js","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-enrichment.js","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"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"}