@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/resolution/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAIhE,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,UAAU,EAAE,OAAO,CAAC;IACpB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,qBAAa,cAAc;IACzB,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE;;;;;;;OAOG;IACH,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,cAAc;IAkCjB,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,UAAU;IAuBlB,4EAA4E;IAC5E,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;CAGrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolution/resolver.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -9,9 +9,10 @@
9
9
  * runtime instance so that startup, shutdown, and resource ownership are
10
10
  * handled in one place.
11
11
  */
12
- import type { EmbeddingProvider } from './indexer/embedder.js';
13
- import type { EffectiveLspSettings } from './indexer/lsp/config.js';
14
- import type { WalkerConfig } from './indexer/walker.js';
12
+ import type { EmbeddingProvider } from './embeddings/embedder.js';
13
+ import type { EffectiveLspSettings } from './lsp/config.js';
14
+ import type { EffectiveScipSettings } from './scip/config.js';
15
+ import type { WalkerConfig } from './discovery/walker.js';
15
16
  import { type LoreLogger } from './logger.js';
16
17
  /** Immutable bag of settings collected from CLI flags / programmatic callers. */
17
18
  export interface RuntimeConfig {
@@ -27,6 +28,8 @@ export interface RuntimeConfig {
27
28
  embeddingModel?: string;
28
29
  /** LSP enrichment policy. `null` = disabled. */
29
30
  lsp: EffectiveLspSettings | null;
31
+ /** SCIP enrichment policy. `null` = disabled. */
32
+ scip: EffectiveScipSettings | null;
30
33
  /** Git history ingestion policy. */
31
34
  history: boolean | {
32
35
  depth?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzD,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,YAAY,EAAE,YAAY,CAAC;IAG3B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjC,oCAAoC;IACpC,OAAO,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrD,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,EAAE,OAAO,CAAC;IACvB,iEAAiE;IACjE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACxC;AAID,8DAA8D;AAC9D,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAID;;;;;;;;;;GAUG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAEzB,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,UAAU;IAOtD,8EAA8E;IAC9E,IAAI,QAAQ,IAAI,iBAAiB,GAAG,SAAS,CAE5C;IAED,kFAAkF;IAClF,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAID;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D5B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;;;;;;;OAQG;IACH,qBAAqB,IAAI,IAAI;CA0B9B"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzD,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,YAAY,EAAE,YAAY,CAAC;IAG3B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjC,iDAAiD;IACjD,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,oCAAoC;IACpC,OAAO,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrD,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,EAAE,OAAO,CAAC;IACvB,iEAAiE;IACjE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACxC;AAID,8DAA8D;AAC9D,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAID;;;;;;;;;;GAUG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAEzB,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,UAAU;IAOtD,8EAA8E;IAC9E,IAAI,QAAQ,IAAI,iBAAiB,GAAG,SAAS,CAE5C;IAED,kFAAkF;IAClF,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAID;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+D5B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;;;;;;;OAQG;IACH,qBAAqB,IAAI,IAAI;CA0B9B"}
package/dist/runtime.js CHANGED
@@ -58,13 +58,12 @@ export class LoreRuntime {
58
58
  // ── Embedder ─────────────────────────────────────────────────────────────
59
59
  if (this.config.embeddingModel) {
60
60
  try {
61
- const { TransformersJsProvider } = await import('./indexer/embedder.js');
62
- const provider = new TransformersJsProvider(this.config.embeddingModel);
63
- await provider.init();
61
+ const { LazyEmbeddingProvider } = await import('./embeddings/embedder.js');
62
+ const provider = new LazyEmbeddingProvider(this.config.embeddingModel);
64
63
  this._embedder = provider;
65
- this.log.startup('embedding model loaded', {
64
+ this.log.startup('embedding model configured (lazy — loads on first use)', {
66
65
  embeddingModel: this.config.embeddingModel,
67
- embeddingReady: true,
66
+ embeddingReady: false,
68
67
  });
69
68
  }
70
69
  catch {
@@ -73,11 +72,12 @@ export class LoreRuntime {
73
72
  }
74
73
  // ── Refresher (watch / poll) ─────────────────────────────────────────────
75
74
  if (this.config.refreshMode === 'watch') {
76
- const { FileWatcher } = await import('./indexer/watcher.js');
75
+ const { FileWatcher } = await import('./discovery/watcher.js');
77
76
  const watcher = new FileWatcher(this.config.dbPath, this.config.walkerConfig, {
78
77
  history: this.config.history,
79
78
  indexDependencies: this.config.indexDependencies,
80
79
  lsp: this.config.lsp ?? undefined,
80
+ scip: this.config.scip ?? undefined,
81
81
  embedder: this._embedder ?? undefined,
82
82
  });
83
83
  watcher.start();
@@ -89,11 +89,12 @@ export class LoreRuntime {
89
89
  process.stderr.write(JSON.stringify({ level: 'info', source: 'cli', message: 'watch mode started', rootDir: this.config.rootDir, embeddingEnabled: !!this._embedder }) + '\n');
90
90
  }
91
91
  else if (this.config.refreshMode === 'poll') {
92
- const { FilePoller } = await import('./indexer/poller.js');
92
+ const { FilePoller } = await import('./discovery/poller.js');
93
93
  const poller = new FilePoller(this.config.dbPath, this.config.walkerConfig, {
94
94
  history: this.config.history,
95
95
  indexDependencies: this.config.indexDependencies,
96
96
  lsp: this.config.lsp ?? undefined,
97
+ scip: this.config.scip ?? undefined,
97
98
  embedder: this._embedder ?? undefined,
98
99
  });
99
100
  poller.start();
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @module indexer/scip/config
3
+ *
4
+ * Configuration for the SCIP enrichment pipeline stage.
5
+ *
6
+ * Settings are loaded from `.lore.config` under the `"scip"` key, with
7
+ * the same layering as LSP config: file settings ← explicit overrides.
8
+ */
9
+ import type { ScipIndexerRegistry, ScipIndexerRegistryOverrides } from './registry.js';
10
+ export declare const DEFAULT_SCIP_ENABLED = true;
11
+ export declare const DEFAULT_SCIP_TIMEOUT_MS = 120000;
12
+ export interface EffectiveScipSettings {
13
+ enabled: boolean;
14
+ /** Per-indexer execution timeout in milliseconds. */
15
+ timeoutMs: number;
16
+ /** Merged indexer registry (defaults + overrides). */
17
+ indexers: ScipIndexerRegistry;
18
+ /**
19
+ * Optional path to a directory containing pre-computed SCIP index files.
20
+ * If set, Lore reads `<dir>/<language>.scip` instead of running indexers.
21
+ */
22
+ indexDir: string | null;
23
+ }
24
+ export interface ScipSettingsOverrides {
25
+ enabled?: boolean;
26
+ timeoutMs?: number;
27
+ indexers?: ScipIndexerRegistryOverrides;
28
+ indexDir?: string;
29
+ }
30
+ export declare function loadScipSettingsFromLoreConfig(rootDir: string): ScipSettingsOverrides;
31
+ export declare function resolveEffectiveScipSettings(configSettings?: ScipSettingsOverrides, explicitOverrides?: ScipSettingsOverrides): EffectiveScipSettings;
32
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/scip/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAKvF,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,QAAQ,EAAE,mBAAmB,CAAC;IAC9B;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0BD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAmCrF;AAED,wBAAgB,4BAA4B,CAC1C,cAAc,GAAE,qBAA0B,EAC1C,iBAAiB,GAAE,qBAA0B,GAC5C,qBAAqB,CAwBvB"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @module indexer/scip/config
3
+ *
4
+ * Configuration for the SCIP enrichment pipeline stage.
5
+ *
6
+ * Settings are loaded from `.lore.config` under the `"scip"` key, with
7
+ * the same layering as LSP config: file settings ← explicit overrides.
8
+ */
9
+ import { existsSync, readFileSync } from 'node:fs';
10
+ import { join } from 'node:path';
11
+ import { z } from 'zod';
12
+ import { mergeScipIndexerRegistry } from './registry.js';
13
+ // ─── Effective settings ───────────────────────────────────────────────────────
14
+ export const DEFAULT_SCIP_ENABLED = true;
15
+ export const DEFAULT_SCIP_TIMEOUT_MS = 120_000; // 2 minutes per indexer run
16
+ // ─── Zod schema for .lore.config → scip section ──────────────────────────────
17
+ const IndexerOverrideSchema = z
18
+ .object({
19
+ command: z.string().trim().min(1).optional(),
20
+ args: z.array(z.string()).optional(),
21
+ cwd: z.string().optional(),
22
+ })
23
+ .strict()
24
+ .refine((v) => v.command !== undefined || v.args !== undefined, {
25
+ message: 'must provide at least one of "command" or "args"',
26
+ });
27
+ const ScipSchema = z
28
+ .object({
29
+ enabled: z.boolean().optional(),
30
+ timeoutMs: z.number().int().positive().optional(),
31
+ indexDir: z.string().optional(),
32
+ indexers: z.record(z.string(), IndexerOverrideSchema).optional(),
33
+ })
34
+ .strict();
35
+ // ─── Config loaders ───────────────────────────────────────────────────────────
36
+ export function loadScipSettingsFromLoreConfig(rootDir) {
37
+ const configPath = join(rootDir, '.lore.config');
38
+ if (!existsSync(configPath))
39
+ return {};
40
+ let parsedConfig;
41
+ try {
42
+ const raw = readFileSync(configPath, 'utf8');
43
+ parsedConfig = JSON.parse(raw);
44
+ }
45
+ catch (error) {
46
+ const message = error instanceof Error ? error.message : String(error);
47
+ throw new Error(`Invalid .lore.config: ${message}`);
48
+ }
49
+ if (!isRecord(parsedConfig)) {
50
+ throw new Error('Invalid .lore.config: root must be a JSON object');
51
+ }
52
+ if (!Object.prototype.hasOwnProperty.call(parsedConfig, 'scip')) {
53
+ return {};
54
+ }
55
+ const parse = ScipSchema.safeParse(parsedConfig.scip);
56
+ if (!parse.success) {
57
+ const issue = parse.error.issues[0];
58
+ throw new Error(`Invalid .lore.config scip settings: ${issue?.path.join('.') ?? 'scip'} ${issue?.message ?? 'invalid value'}`);
59
+ }
60
+ const scip = parse.data;
61
+ return {
62
+ ...(scip.enabled !== undefined && { enabled: scip.enabled }),
63
+ ...(scip.timeoutMs !== undefined && { timeoutMs: scip.timeoutMs }),
64
+ ...(scip.indexDir !== undefined && { indexDir: scip.indexDir }),
65
+ ...(scip.indexers && { indexers: scip.indexers }),
66
+ };
67
+ }
68
+ export function resolveEffectiveScipSettings(configSettings = {}, explicitOverrides = {}) {
69
+ // Merge per-language indexer overrides.
70
+ const configIndexers = configSettings.indexers ?? {};
71
+ const overrideIndexers = explicitOverrides.indexers ?? {};
72
+ const mergedOverrides = { ...configIndexers };
73
+ for (const [lang, override] of Object.entries(overrideIndexers)) {
74
+ const existing = mergedOverrides[lang];
75
+ if (existing && override) {
76
+ mergedOverrides[lang] = {
77
+ command: override.command ?? existing.command,
78
+ args: override.args ?? existing.args,
79
+ ...(override.cwd !== undefined ? { cwd: override.cwd } : existing.cwd ? { cwd: existing.cwd } : {}),
80
+ };
81
+ }
82
+ else {
83
+ mergedOverrides[lang] = override;
84
+ }
85
+ }
86
+ return {
87
+ enabled: explicitOverrides.enabled ?? configSettings.enabled ?? DEFAULT_SCIP_ENABLED,
88
+ timeoutMs: explicitOverrides.timeoutMs ?? configSettings.timeoutMs ?? DEFAULT_SCIP_TIMEOUT_MS,
89
+ indexers: mergeScipIndexerRegistry(mergedOverrides),
90
+ indexDir: explicitOverrides.indexDir ?? configSettings.indexDir ?? null,
91
+ };
92
+ }
93
+ function isRecord(value) {
94
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
95
+ }
96
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/scip/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @module indexer/scip/enrichment
3
+ *
4
+ * `ScipEnrichmentCoordinator` drives the SCIP enrichment workflow:
5
+ *
6
+ * 1. Run SCIP indexers (or read pre-computed index files) for each language.
7
+ * 2. Parse the resulting protobuf indexes into in-memory lookup structures.
8
+ * 3. For a batch of targets (file + position), resolve each to its
9
+ * definition location and type signature using the SCIP data.
10
+ *
11
+ * Returns the same `ResolvedTypeMetadata` shape as the LSP enrichment
12
+ * coordinator, so the enrichment stage and resolution stage are agnostic
13
+ * to the enrichment source.
14
+ */
15
+ import type { ResolvedTypeMetadata } from '../lsp/enrichment.js';
16
+ import type { EffectiveScipSettings } from './config.js';
17
+ export interface ScipEnrichmentTarget {
18
+ line: number;
19
+ character: number;
20
+ }
21
+ export interface ScipEnrichmentRequest {
22
+ filePath: string;
23
+ language: string;
24
+ source: string;
25
+ targets: readonly ScipEnrichmentTarget[];
26
+ }
27
+ export declare class ScipEnrichmentCoordinator {
28
+ private readonly settings;
29
+ private readonly rootDir;
30
+ private readonly resolvedIndexers;
31
+ /** Merged SCIP index data from all indexer runs. */
32
+ private indexData;
33
+ /** Languages for which SCIP indexing succeeded. */
34
+ private readonly enrichedLanguages;
35
+ constructor(settings: EffectiveScipSettings, rootDir: string);
36
+ /**
37
+ * Run SCIP indexers (or load pre-computed indexes) for the given languages.
38
+ * Must be called before `enrich()`.
39
+ *
40
+ * @returns Set of languages for which SCIP data is available.
41
+ */
42
+ start(languages: Iterable<string>): Promise<ReadonlySet<string>>;
43
+ /**
44
+ * Enrich a batch of targets with SCIP-derived metadata.
45
+ *
46
+ * Returns an array parallel to `request.targets` — each entry is either
47
+ * a `ResolvedTypeMetadata` or `null` (no SCIP data for that position).
48
+ */
49
+ enrich(request: ScipEnrichmentRequest): Array<ResolvedTypeMetadata | null>;
50
+ /** Set of languages for which SCIP enrichment data is available. */
51
+ get coveredLanguages(): ReadonlySet<string>;
52
+ dispose(): Promise<void>;
53
+ private readPrecomputedIndex;
54
+ private runIndexer;
55
+ }
56
+ //# sourceMappingURL=enrichment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrichment.d.ts","sourceRoot":"","sources":["../../src/scip/enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAazD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC1C;AAID,qBAAa,yBAAyB;IASlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6C;IAC9E,oDAAoD;IACpD,OAAO,CAAC,SAAS,CAA8B;IAC/C,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;gBAGpC,QAAQ,EAAE,qBAAqB,EAChD,OAAO,EAAE,MAAM;IAMjB;;;;;OAKG;IACG,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAgFtE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA0C1E,oEAAoE;IACpE,IAAI,gBAAgB,IAAI,WAAW,CAAC,MAAM,CAAC,CAE1C;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,oBAAoB;YAiBd,UAAU;CA+DzB"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * @module indexer/scip/enrichment
3
+ *
4
+ * `ScipEnrichmentCoordinator` drives the SCIP enrichment workflow:
5
+ *
6
+ * 1. Run SCIP indexers (or read pre-computed index files) for each language.
7
+ * 2. Parse the resulting protobuf indexes into in-memory lookup structures.
8
+ * 3. For a batch of targets (file + position), resolve each to its
9
+ * definition location and type signature using the SCIP data.
10
+ *
11
+ * Returns the same `ResolvedTypeMetadata` shape as the LSP enrichment
12
+ * coordinator, so the enrichment stage and resolution stage are agnostic
13
+ * to the enrichment source.
14
+ */
15
+ import { existsSync, readFileSync, unlinkSync } from 'node:fs';
16
+ import { join } from 'node:path';
17
+ import { execFileSync } from 'node:child_process';
18
+ import { pathToFileURL } from 'node:url';
19
+ import { resolveScipIndexerRegistry, SCIP_SUPPORTED_LANGUAGES } from './registry.js';
20
+ import { parseScipIndex, extractSignatureFromDocs, extractReturnType, } from './index-reader.js';
21
+ import { getLogger } from '../logger.js';
22
+ // ─── Coordinator ──────────────────────────────────────────────────────────────
23
+ export class ScipEnrichmentCoordinator {
24
+ settings;
25
+ rootDir;
26
+ resolvedIndexers;
27
+ /** Merged SCIP index data from all indexer runs. */
28
+ indexData = null;
29
+ /** Languages for which SCIP indexing succeeded. */
30
+ enrichedLanguages = new Set();
31
+ constructor(settings, rootDir) {
32
+ this.settings = settings;
33
+ this.rootDir = rootDir;
34
+ this.resolvedIndexers = resolveScipIndexerRegistry(settings.indexers);
35
+ }
36
+ /**
37
+ * Run SCIP indexers (or load pre-computed indexes) for the given languages.
38
+ * Must be called before `enrich()`.
39
+ *
40
+ * @returns Set of languages for which SCIP data is available.
41
+ */
42
+ async start(languages) {
43
+ if (!this.settings.enabled)
44
+ return this.enrichedLanguages;
45
+ const log = getLogger();
46
+ const uniqueLanguages = new Set(languages);
47
+ // Determine which languages have SCIP coverage.
48
+ const toProcess = new Set();
49
+ for (const lang of uniqueLanguages) {
50
+ if (SCIP_SUPPORTED_LANGUAGES.has(lang)) {
51
+ const resolved = this.resolvedIndexers[lang];
52
+ if (resolved?.available || this.settings.indexDir) {
53
+ toProcess.add(lang);
54
+ }
55
+ }
56
+ }
57
+ if (toProcess.size === 0) {
58
+ log.indexing('scip: no indexers available for requested languages');
59
+ return this.enrichedLanguages;
60
+ }
61
+ // Group languages by shared indexer command to avoid running the same
62
+ // indexer multiple times (e.g., scip-java for java + scala + kotlin).
63
+ const commandGroups = new Map();
64
+ for (const lang of toProcess) {
65
+ const resolved = this.resolvedIndexers[lang];
66
+ const key = resolved ? resolved.command : `indexDir:${lang}`;
67
+ if (!commandGroups.has(key))
68
+ commandGroups.set(key, new Set());
69
+ commandGroups.get(key).add(lang);
70
+ }
71
+ for (const [commandKey, langs] of commandGroups) {
72
+ const representativeLang = langs.values().next().value;
73
+ try {
74
+ let indexBuffer = null;
75
+ if (this.settings.indexDir) {
76
+ // Read pre-computed index from the configured directory.
77
+ indexBuffer = this.readPrecomputedIndex(representativeLang);
78
+ }
79
+ if (!indexBuffer) {
80
+ // Run the SCIP indexer.
81
+ indexBuffer = await this.runIndexer(representativeLang);
82
+ }
83
+ if (indexBuffer) {
84
+ const parsed = parseScipIndex(indexBuffer, this.rootDir);
85
+ // Merge documents and symbols into the combined index.
86
+ for (const lang of langs) {
87
+ this.enrichedLanguages.add(lang);
88
+ }
89
+ // Re-parse and merge (the parsed data is self-contained per ScipIndexData).
90
+ // For a proper merge we need to transfer data. Since our parsing is
91
+ // cheap, just re-assign if single or accumulate:
92
+ if (this.indexData === null) {
93
+ this.indexData = parsed;
94
+ }
95
+ else {
96
+ // Merge by re-parsing into the existing index.
97
+ // This is a design limitation — for now, multiple indexes are
98
+ // handled by re-reading. A future optimisation could merge the
99
+ // ScipIndexData structures directly.
100
+ this.indexData = mergeScipIndexDataPartial(this.indexData, parsed);
101
+ }
102
+ log.indexing(`scip: loaded index for ${[...langs].join(', ')}`, {
103
+ files: parsed.fileCount,
104
+ definitions: parsed.definitionCount,
105
+ });
106
+ }
107
+ }
108
+ catch (error) {
109
+ const msg = error instanceof Error ? error.message : String(error);
110
+ log.indexing(`scip: indexer failed for ${[...langs].join(', ')}: ${msg}`);
111
+ }
112
+ }
113
+ return this.enrichedLanguages;
114
+ }
115
+ /**
116
+ * Enrich a batch of targets with SCIP-derived metadata.
117
+ *
118
+ * Returns an array parallel to `request.targets` — each entry is either
119
+ * a `ResolvedTypeMetadata` or `null` (no SCIP data for that position).
120
+ */
121
+ enrich(request) {
122
+ const empty = request.targets.map(() => null);
123
+ if (!this.indexData || !this.enrichedLanguages.has(request.language)) {
124
+ return empty;
125
+ }
126
+ const results = [];
127
+ for (const target of request.targets) {
128
+ const occ = this.indexData.findOccurrence(request.filePath, target.line, target.character);
129
+ if (!occ || !occ.symbol) {
130
+ results.push(null);
131
+ continue;
132
+ }
133
+ // Resolve definition location.
134
+ const def = this.indexData.getDefinition(occ.symbol);
135
+ const info = this.indexData.getSymbolInfo(occ.symbol);
136
+ // Extract type signature.
137
+ const resolvedTypeSignature = info ? extractSignatureFromDocs(info) : null;
138
+ const resolvedReturnType = extractReturnType(resolvedTypeSignature);
139
+ if (!def && !resolvedTypeSignature) {
140
+ results.push(null);
141
+ continue;
142
+ }
143
+ const definitionUri = def ? pathToFileURL(def.filePath).toString() : null;
144
+ results.push({
145
+ resolvedTypeSignature,
146
+ resolvedReturnType,
147
+ definitionUri,
148
+ definitionPath: def?.filePath ?? null,
149
+ definitionLine: def?.line ?? null,
150
+ definitionCharacter: def?.character ?? null,
151
+ });
152
+ }
153
+ return results;
154
+ }
155
+ /** Set of languages for which SCIP enrichment data is available. */
156
+ get coveredLanguages() {
157
+ return this.enrichedLanguages;
158
+ }
159
+ async dispose() {
160
+ this.indexData = null;
161
+ this.enrichedLanguages.clear();
162
+ }
163
+ // ─── Private helpers ──────────────────────────────────────────────────────
164
+ readPrecomputedIndex(language) {
165
+ if (!this.settings.indexDir)
166
+ return null;
167
+ // Check for language-specific index or generic index.scip.
168
+ const candidates = [
169
+ join(this.rootDir, this.settings.indexDir, `${language}.scip`),
170
+ join(this.rootDir, this.settings.indexDir, 'index.scip'),
171
+ ];
172
+ for (const candidate of candidates) {
173
+ if (existsSync(candidate)) {
174
+ return readFileSync(candidate);
175
+ }
176
+ }
177
+ return null;
178
+ }
179
+ async runIndexer(language) {
180
+ const resolved = this.resolvedIndexers[language];
181
+ if (!resolved?.available)
182
+ return null;
183
+ const log = getLogger();
184
+ const outputPath = join(this.rootDir, `.lore-scip-${language}.scip`);
185
+ // Replace {output} placeholder in args.
186
+ const args = resolved.args.map((arg) => arg.replace(/\{output\}/gu, outputPath));
187
+ const cwd = resolved.cwd ? join(this.rootDir, resolved.cwd) : this.rootDir;
188
+ log.indexing(`scip: running ${resolved.command} for ${language}`);
189
+ try {
190
+ execFileSync(resolved.command, args, {
191
+ cwd,
192
+ timeout: this.settings.timeoutMs,
193
+ stdio: ['ignore', 'pipe', 'pipe'],
194
+ encoding: 'utf8',
195
+ });
196
+ }
197
+ catch (error) {
198
+ const msg = error instanceof Error ? error.message : String(error);
199
+ log.indexing(`scip: ${resolved.command} failed: ${msg}`);
200
+ // rust-analyzer scip writes to index.scip in cwd, not to {output}.
201
+ // Check if it wrote to the default location.
202
+ const defaultOutput = join(cwd, 'index.scip');
203
+ if (existsSync(defaultOutput) && defaultOutput !== outputPath) {
204
+ try {
205
+ const data = readFileSync(defaultOutput);
206
+ unlinkSync(defaultOutput);
207
+ return data;
208
+ }
209
+ catch {
210
+ // Fall through to return null.
211
+ }
212
+ }
213
+ return null;
214
+ }
215
+ // Read the output.
216
+ // Some indexers write to the specified path; others write to index.scip.
217
+ const candidatePaths = [outputPath, join(cwd, 'index.scip')];
218
+ for (const candidate of candidatePaths) {
219
+ if (existsSync(candidate)) {
220
+ try {
221
+ const data = readFileSync(candidate);
222
+ // Clean up temporary files.
223
+ if (candidate.includes('.lore-scip-')) {
224
+ try {
225
+ unlinkSync(candidate);
226
+ }
227
+ catch { /* best effort */ }
228
+ }
229
+ return data;
230
+ }
231
+ catch {
232
+ continue;
233
+ }
234
+ }
235
+ }
236
+ log.indexing(`scip: ${resolved.command} completed but no index file found`);
237
+ return null;
238
+ }
239
+ }
240
+ // ─── Merge helper ─────────────────────────────────────────────────────────────
241
+ /**
242
+ * Partial merge of two ScipIndexData instances.
243
+ * In practice we re-parse the protobuf bytes, so this is a simple
244
+ * "use the second index" fallback. A full merge would iterate the
245
+ * internal maps, but for the common case (one indexer per run) this
246
+ * is sufficient.
247
+ */
248
+ function mergeScipIndexDataPartial(a, b) {
249
+ // For now, since ScipIndexData doesn't expose its internal maps for
250
+ // iteration, we rely on the coordinator loading indexes sequentially
251
+ // and always use the latest one. A proper merge would require adding
252
+ // a `merge()` method to ScipIndexData.
253
+ //
254
+ // TODO: Implement proper merge across multiple SCIP indexes.
255
+ // For single-language projects (the common case), `b` is sufficient.
256
+ return b;
257
+ }
258
+ //# sourceMappingURL=enrichment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrichment.js","sourceRoot":"","sources":["../../src/scip/enrichment.ts"],"names":[],"mappings":"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"}