@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,43 @@
1
+ /**
2
+ * @module indexer/stages/scip-enrichment
3
+ *
4
+ * Pipeline stage: enrich symbols, symbol_refs, type_refs, and
5
+ * symbol_relationships with SCIP-derived metadata.
6
+ *
7
+ * SCIP enrichment writes to the **same database columns** as LSP
8
+ * enrichment (`definition_path`, `definition_line`, `resolved_type_signature`,
9
+ * etc.) so the downstream resolution stage is agnostic to the data source.
10
+ *
11
+ * ## Pipeline ordering
12
+ *
13
+ * ```
14
+ * ... → DependencyApiStage → ScipEnrichmentStage → LspEnrichmentStage → ResolutionStage → ...
15
+ * ```
16
+ *
17
+ * SCIP runs **before** LSP. The LSP stage then skips any languages that
18
+ * SCIP already enriched (communicated via `context.scipCoveredLanguages`).
19
+ *
20
+ * ## Data written
21
+ *
22
+ * Identical columns to LSP enrichment — see `lsp-enrichment.ts` for the
23
+ * full list.
24
+ */
25
+ import type { PipelineContext, PipelineStage } from '../pipeline.js';
26
+ import type { Database } from '../../db/schema.js';
27
+ import { ScipEnrichmentCoordinator } from '../../scip/enrichment.js';
28
+ /**
29
+ * Enriches indexed artefacts with SCIP-derived metadata.
30
+ *
31
+ * Manages the lifecycle of a `ScipEnrichmentCoordinator` per pipeline run.
32
+ */
33
+ export declare class ScipEnrichmentStage implements PipelineStage {
34
+ readonly name = "scip-enrichment";
35
+ private coordinator;
36
+ execute(context: PipelineContext, _mode: 'build' | 'update'): Promise<void>;
37
+ dispose(): Promise<void>;
38
+ }
39
+ export declare function enrichProjectRefsWithScip(db: Database.Database, branch: string, files: Array<{
40
+ path: string;
41
+ language: string;
42
+ }>, coordinator: ScipEnrichmentCoordinator): Promise<void>;
43
+ //# sourceMappingURL=scip-enrichment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scip-enrichment.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/scip-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,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGrE;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,qBAAqB;IAElC,OAAO,CAAC,WAAW,CAA0C;IAEvD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAID,wBAAsB,yBAAyB,CAC7C,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,yBAAyB,GACrC,OAAO,CAAC,IAAI,CAAC,CAoMf"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * @module indexer/stages/scip-enrichment
3
+ *
4
+ * Pipeline stage: enrich symbols, symbol_refs, type_refs, and
5
+ * symbol_relationships with SCIP-derived metadata.
6
+ *
7
+ * SCIP enrichment writes to the **same database columns** as LSP
8
+ * enrichment (`definition_path`, `definition_line`, `resolved_type_signature`,
9
+ * etc.) so the downstream resolution stage is agnostic to the data source.
10
+ *
11
+ * ## Pipeline ordering
12
+ *
13
+ * ```
14
+ * ... → DependencyApiStage → ScipEnrichmentStage → LspEnrichmentStage → ResolutionStage → ...
15
+ * ```
16
+ *
17
+ * SCIP runs **before** LSP. The LSP stage then skips any languages that
18
+ * SCIP already enriched (communicated via `context.scipCoveredLanguages`).
19
+ *
20
+ * ## Data written
21
+ *
22
+ * Identical columns to LSP enrichment — see `lsp-enrichment.ts` for the
23
+ * full list.
24
+ */
25
+ import * as fs from 'node:fs';
26
+ import { ScipEnrichmentCoordinator } from '../../scip/enrichment.js';
27
+ import { buildStructuralEmbeddingText } from '../../embeddings/embedder.js';
28
+ /**
29
+ * Enriches indexed artefacts with SCIP-derived metadata.
30
+ *
31
+ * Manages the lifecycle of a `ScipEnrichmentCoordinator` per pipeline run.
32
+ */
33
+ export class ScipEnrichmentStage {
34
+ name = 'scip-enrichment';
35
+ coordinator = null;
36
+ async execute(context, _mode) {
37
+ if (!context.scip?.enabled || context.files.length === 0)
38
+ return;
39
+ this.coordinator = new ScipEnrichmentCoordinator(context.scip, context.walkerConfig.rootDir);
40
+ // Run SCIP indexers for all languages present in the file list.
41
+ const languages = new Set(context.files.map(f => f.language));
42
+ const coveredLanguages = await this.coordinator.start(languages);
43
+ if (coveredLanguages.size === 0)
44
+ return;
45
+ // Store which languages SCIP enriched so the LSP stage can skip them.
46
+ context.scipCoveredLanguages = coveredLanguages;
47
+ await enrichProjectRefsWithScip(context.db, context.branch, context.files, this.coordinator);
48
+ }
49
+ async dispose() {
50
+ if (this.coordinator) {
51
+ await this.coordinator.dispose();
52
+ this.coordinator = null;
53
+ }
54
+ }
55
+ }
56
+ // ─── Enrichment logic (mirrors lsp-enrichment.ts pattern) ─────────────────────
57
+ export async function enrichProjectRefsWithScip(db, branch, files, coordinator) {
58
+ const selectSymbols = db.prepare(`SELECT s.id, s.name, s.signature, s.start_line
59
+ FROM symbols s
60
+ JOIN files f ON f.id = s.file_id
61
+ WHERE f.path = ? AND f.branch = ?
62
+ ORDER BY s.id`);
63
+ const selectCallRefs = db.prepare(`SELECT sr.id, sr.call_line, sr.call_character
64
+ FROM symbol_refs sr
65
+ JOIN symbols s ON s.id = sr.caller_id
66
+ JOIN files f ON f.id = s.file_id
67
+ WHERE f.path = ? AND f.branch = ?
68
+ ORDER BY sr.id`);
69
+ const selectTypeRefs = db.prepare(`SELECT tr.id, tr.ref_line, tr.ref_character
70
+ FROM type_refs tr
71
+ JOIN files f ON f.id = tr.file_id
72
+ WHERE f.path = ? AND f.branch = ?
73
+ ORDER BY tr.id`);
74
+ const selectRelationships = db.prepare(`SELECT sr.id, sr.line, sr.character
75
+ FROM symbol_relationships sr
76
+ JOIN files f ON f.id = sr.file_id
77
+ WHERE f.path = ? AND f.branch = ? AND sr.line IS NOT NULL
78
+ ORDER BY sr.id`);
79
+ const updateSymbol = db.prepare(`UPDATE symbols
80
+ SET resolved_type_signature = ?, resolved_return_type = ?, definition_uri = ?, definition_path = ?
81
+ WHERE id = ?`);
82
+ const updateSymbolFts = db.prepare('UPDATE symbols_fts SET signature = ? WHERE rowid = ?');
83
+ const updateCallRef = db.prepare(`UPDATE symbol_refs
84
+ SET resolved_type_signature = ?, resolved_return_type = ?, definition_uri = ?, definition_path = ?, definition_line = ?, definition_character = ?
85
+ WHERE id = ?`);
86
+ const updateTypeRef = db.prepare(`UPDATE type_refs
87
+ SET resolved_type_signature = ?, definition_uri = ?, definition_path = ?, definition_line = ?, definition_character = ?
88
+ WHERE id = ?`);
89
+ const updateRelationship = db.prepare(`UPDATE symbol_relationships
90
+ SET definition_uri = ?, definition_path = ?, definition_line = ?, definition_character = ?
91
+ WHERE id = ?`);
92
+ const runInTransaction = db.transaction((updates) => {
93
+ for (const fn of updates)
94
+ fn();
95
+ });
96
+ for (const file of files) {
97
+ if (!file || !fs.existsSync(file.path))
98
+ continue;
99
+ // Only process files for languages covered by SCIP.
100
+ if (!coordinator.coveredLanguages.has(file.language))
101
+ continue;
102
+ let source;
103
+ try {
104
+ source = fs.readFileSync(file.path, 'utf8');
105
+ }
106
+ catch {
107
+ continue;
108
+ }
109
+ const tagged = [];
110
+ const symbols = selectSymbols.all(file.path, branch);
111
+ for (const s of symbols) {
112
+ tagged.push({ table: 'symbol', rowId: s.id, line: s.start_line, character: 0, name: s.name, signature: s.signature });
113
+ }
114
+ const callRefs = selectCallRefs.all(file.path, branch);
115
+ for (const cr of callRefs) {
116
+ tagged.push({ table: 'callRef', rowId: cr.id, line: cr.call_line, character: cr.call_character ?? 0 });
117
+ }
118
+ const typeRefs = selectTypeRefs.all(file.path, branch);
119
+ for (const tr of typeRefs) {
120
+ tagged.push({ table: 'typeRef', rowId: tr.id, line: tr.ref_line, character: tr.ref_character ?? 0 });
121
+ }
122
+ const relationships = selectRelationships.all(file.path, branch);
123
+ for (const r of relationships) {
124
+ tagged.push({ table: 'relationship', rowId: r.id, line: r.line, character: r.character ?? 0 });
125
+ }
126
+ if (tagged.length === 0)
127
+ continue;
128
+ // SCIP enrichment is synchronous (no network I/O).
129
+ const metadata = coordinator.enrich({
130
+ filePath: file.path,
131
+ language: file.language,
132
+ source,
133
+ targets: tagged.map(t => ({ line: t.line, character: t.character })),
134
+ });
135
+ const updates = [];
136
+ for (let i = 0; i < tagged.length; i++) {
137
+ const tag = tagged[i];
138
+ const m = metadata[i];
139
+ if (!m)
140
+ continue;
141
+ switch (tag.table) {
142
+ case 'symbol':
143
+ updates.push(() => {
144
+ updateSymbol.run(m.resolvedTypeSignature, m.resolvedReturnType, m.definitionUri, m.definitionPath, tag.rowId);
145
+ updateSymbolFts.run(buildStructuralEmbeddingText({
146
+ name: tag.name,
147
+ signature: tag.signature ?? null,
148
+ resolvedTypeSignature: m.resolvedTypeSignature,
149
+ resolvedReturnType: m.resolvedReturnType,
150
+ }), tag.rowId);
151
+ });
152
+ break;
153
+ case 'callRef':
154
+ updates.push(() => {
155
+ updateCallRef.run(m.resolvedTypeSignature, m.resolvedReturnType, m.definitionUri, m.definitionPath, m.definitionLine, m.definitionCharacter, tag.rowId);
156
+ });
157
+ break;
158
+ case 'typeRef':
159
+ updates.push(() => {
160
+ updateTypeRef.run(m.resolvedTypeSignature, m.definitionUri, m.definitionPath, m.definitionLine, m.definitionCharacter, tag.rowId);
161
+ });
162
+ break;
163
+ case 'relationship':
164
+ updates.push(() => {
165
+ updateRelationship.run(m.definitionUri, m.definitionPath, m.definitionLine, m.definitionCharacter, tag.rowId);
166
+ });
167
+ break;
168
+ }
169
+ }
170
+ if (updates.length > 0)
171
+ runInTransaction(updates);
172
+ }
173
+ }
174
+ //# sourceMappingURL=scip-enrichment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scip-enrichment.js","sourceRoot":"","sources":["../../../src/indexer/stages/scip-enrichment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * @module indexer/stages/scip-source
3
+ *
4
+ * Pipeline stage: for SCIP-covered languages, populate `files`, `symbols`,
5
+ * `symbol_refs`, `type_refs`, `symbol_relationships`, and `file_imports`
6
+ * **directly from the SCIP index** — bypassing tree-sitter entirely.
7
+ *
8
+ * This is the SCIP-primary architecture. SCIP is the source of truth for
9
+ * both the symbol table and the call graph. For each SCIP document:
10
+ *
11
+ * 1. **Symbols**: Definition occurrences → `symbols` rows; kinds inferred
12
+ * from SCIP descriptor suffixes; spans from `enclosing_range`.
13
+ * 2. **Refs**: Non-definition, non-local reference occurrences →
14
+ * `symbol_refs` rows with both `caller_id` and `callee_id` resolved
15
+ * using containment (which symbol's span encloses this ref?) and
16
+ * definition lookup (where is the referenced SCIP symbol defined?).
17
+ *
18
+ * SCIP refs are inserted **pre-resolved** with `resolution_method =
19
+ * 'scip_definition'`. The downstream resolution stage only processes
20
+ * refs from non-SCIP languages.
21
+ *
22
+ * ## Data written
23
+ *
24
+ * Same tables as `SourceIndexStage`: `files`, `symbols`, `symbols_fts`,
25
+ * `symbol_refs`, `type_refs`, `symbol_relationships`, `file_imports`.
26
+ *
27
+ * ## Pipeline ordering
28
+ *
29
+ * This stage runs **before** `SourceIndexStage`. It stores which
30
+ * languages and files it handled in `context.scipSourcedLanguages` and
31
+ * `context.scipSourcedFiles` so the tree-sitter path can skip them.
32
+ */
33
+ import type { PipelineContext, PipelineStage } from '../pipeline.js';
34
+ /**
35
+ * Infer a Lore symbol `kind` from a SCIP symbol string.
36
+ *
37
+ * SCIP symbol syntax: `<scheme> <package> (<descriptor>)+`
38
+ * Descriptor suffixes:
39
+ * - `/` → Namespace (module/package)
40
+ * - `#` → Type (class, interface, enum)
41
+ * - `.` → Term (variable, constant, property, enum member)
42
+ * - `().` → Method/Function
43
+ * - `(name)` → Parameter
44
+ * - `[name]` → Type parameter
45
+ * - `name:` → Meta (object property)
46
+ */
47
+ declare function inferKindFromScipSymbol(scipSymbol: string, docHint: string): string;
48
+ /**
49
+ * Extract a human-readable name from a SCIP symbol string.
50
+ *
51
+ * E.g. `scip-typescript npm pkg 1.0 src/\`file.ts\`/MyClass#myMethod().`
52
+ * → `myMethod`
53
+ */
54
+ declare function extractNameFromScipSymbol(scipSymbol: string): string;
55
+ /**
56
+ * Estimate the end line of a symbol whose `enclosing_range` was absent.
57
+ *
58
+ * Strategy: from the definition line, scan forward for curly-brace blocks
59
+ * (classes, functions, structs in C-family / Rust / Go / Java / etc.) or
60
+ * indentation-based blocks (Python). If nothing works, scan to the next
61
+ * definition or EOF.
62
+ */
63
+ declare function estimateSymbolEndLine(sourceLines: string[], defLine: number, nextDefLine: number | null): number;
64
+ /**
65
+ * Infer a `ref_kind` for a type reference from its surrounding source context.
66
+ *
67
+ * Reads the source line at `refLine` and applies simple pattern matching to
68
+ * distinguish parameter, return, field, variable, generic_arg and bound usages.
69
+ * Falls back to `'other'` when the context is ambiguous.
70
+ */
71
+ declare function inferTypeRefKind(sourceLines: string[], refLine: number, refChar: number): string;
72
+ export declare class ScipSourceStage implements PipelineStage {
73
+ readonly name = "scip-source";
74
+ execute(context: PipelineContext, mode: 'build' | 'update'): Promise<void>;
75
+ dispose(): Promise<void>;
76
+ private loadScipIndex;
77
+ }
78
+ /**
79
+ * Classify a SCIP symbol reference into the graph edge type it represents.
80
+ *
81
+ * SCIP descriptor suffixes:
82
+ * `().` → Method/Function → call edge (symbol_refs)
83
+ * `#` → Type → type edge (type_refs)
84
+ * `.` → Term (variable, property, constant, enum member) → skip
85
+ * `/` → Namespace (module) → skip
86
+ * `:` → Meta (object property) → skip
87
+ * `)` → Parameter → skip
88
+ * `]` → Type parameter → type edge (type_refs)
89
+ */
90
+ declare function classifyScipReference(scipSymbol: string): 'call' | 'type' | 'skip';
91
+ /**
92
+ * Extract the actual import/require path from a source line.
93
+ *
94
+ * Handles common patterns across languages:
95
+ * - JS/TS: `import ... from 'path'`, `require('path')`
96
+ * - Python: `import path`, `from path import ...`
97
+ * - Go: `"path"` (inside import block)
98
+ * - Java/Kotlin/Scala: `import path.to.Class`
99
+ * - Rust: `use path::to::item`
100
+ * - C/C++: `#include "path"` or `#include <path>`
101
+ * - Ruby: `require 'path'`, `require_relative 'path'`
102
+ * - PHP: `use Path\\To\\Class`
103
+ * - C#: `using Namespace.Name`
104
+ * - Dart: `import 'path'`
105
+ *
106
+ * Returns `null` when no recognizable import pattern is found.
107
+ */
108
+ declare function extractImportPathFromSource(line: string): string | null;
109
+ /**
110
+ * Determine the Lore language for a SCIP document.
111
+ *
112
+ * Many SCIP indexers (including scip-typescript) leave the `language` field
113
+ * blank. When that happens, infer from the file extension.
114
+ */
115
+ declare function inferLoreLanguage(scipLanguage: string, relativePath: string): string | null;
116
+ export { estimateSymbolEndLine as _estimateSymbolEndLine, inferTypeRefKind as _inferTypeRefKind, extractImportPathFromSource as _extractImportPathFromSource, inferKindFromScipSymbol as _inferKindFromScipSymbol, inferLoreLanguage as _inferLoreLanguage, classifyScipReference as _classifyScipReference, extractNameFromScipSymbol as _extractNameFromScipSymbol, };
117
+ //# sourceMappingURL=scip-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scip-source.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/scip-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAarE;;;;;;;;;;;;GAYG;AACH,iBAAS,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsC5E;AAED;;;;;GAKG;AACH,iBAAS,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAqB7D;AAkBD;;;;;;;GAOG;AACH,iBAAS,qBAAqB,CAC5B,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM,CA2CR;AAID;;;;;;GAMG;AACH,iBAAS,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiCzF;AAID,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAExB,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAghB1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,OAAO,CAAC,aAAa;CA4DtB;AAID;;;;;;;;;;;GAWG;AACH,iBAAS,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAgB3E;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4ChE;AAqDD;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAepF;AAKD,OAAO,EACL,qBAAqB,IAAI,sBAAsB,EAC/C,gBAAgB,IAAI,iBAAiB,EACrC,2BAA2B,IAAI,4BAA4B,EAC3D,uBAAuB,IAAI,wBAAwB,EACnD,iBAAiB,IAAI,kBAAkB,EACvC,qBAAqB,IAAI,sBAAsB,EAC/C,yBAAyB,IAAI,0BAA0B,GACxD,CAAC"}