@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.
- package/README.md +53 -31
- package/dist/cli.js +113 -17
- package/dist/cli.js.map +1 -1
- package/dist/{lore-server/db.d.ts → db/read-only.d.ts} +75 -1
- package/dist/db/read-only.d.ts.map +1 -0
- package/dist/{lore-server/db.js → db/read-only.js} +115 -1
- package/dist/db/read-only.js.map +1 -0
- package/dist/{indexer/db.d.ts → db/schema.d.ts} +1 -1
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/{indexer/db.js → db/schema.js} +3 -3
- package/dist/db/schema.js.map +1 -0
- package/dist/{indexer → discovery}/poller.d.ts +27 -2
- package/dist/discovery/poller.d.ts.map +1 -0
- package/dist/{indexer → discovery}/poller.js +60 -1
- package/dist/discovery/poller.js.map +1 -0
- package/dist/{indexer → discovery}/walker.d.ts +1 -1
- package/dist/discovery/walker.d.ts.map +1 -0
- package/dist/{indexer → discovery}/walker.js +1 -1
- package/dist/discovery/walker.js.map +1 -0
- package/dist/{indexer → discovery}/watcher.d.ts +27 -2
- package/dist/discovery/watcher.d.ts.map +1 -0
- package/dist/{indexer → discovery}/watcher.js +62 -1
- package/dist/discovery/watcher.js.map +1 -0
- package/dist/docs/docs.d.ts.map +1 -0
- package/dist/docs/docs.js.map +1 -0
- package/dist/embeddings/embedder.d.ts +114 -0
- package/dist/embeddings/embedder.d.ts.map +1 -0
- package/dist/embeddings/embedder.js +208 -0
- package/dist/embeddings/embedder.js.map +1 -0
- package/dist/{indexer/git-history.d.ts → git/history.d.ts} +2 -2
- package/dist/git/history.d.ts.map +1 -0
- package/dist/{indexer/git-history.js → git/history.js} +2 -2
- package/dist/git/history.js.map +1 -0
- package/dist/{indexer/git-hooks.d.ts → git/hooks.d.ts} +2 -1
- package/dist/git/hooks.d.ts.map +1 -0
- package/dist/{indexer/git-hooks.js → git/hooks.js} +5 -4
- package/dist/git/hooks.js.map +1 -0
- package/dist/index.d.ts +29 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -13
- package/dist/index.js.map +1 -1
- package/dist/indexer/index.d.ts +9 -6
- package/dist/indexer/index.d.ts.map +1 -1
- package/dist/indexer/index.js +18 -9
- package/dist/indexer/index.js.map +1 -1
- package/dist/indexer/pipeline.d.ts +36 -10
- package/dist/indexer/pipeline.d.ts.map +1 -1
- package/dist/indexer/pipeline.js +12 -6
- package/dist/indexer/pipeline.js.map +1 -1
- package/dist/indexer/stages/dependency-api.js +4 -4
- package/dist/indexer/stages/dependency-api.js.map +1 -1
- package/dist/indexer/stages/docs-index.d.ts +2 -2
- package/dist/indexer/stages/docs-index.d.ts.map +1 -1
- package/dist/indexer/stages/docs-index.js +2 -2
- package/dist/indexer/stages/docs-index.js.map +1 -1
- package/dist/indexer/stages/embedding.d.ts +9 -0
- package/dist/indexer/stages/embedding.d.ts.map +1 -1
- package/dist/indexer/stages/embedding.js +128 -84
- package/dist/indexer/stages/embedding.js.map +1 -1
- package/dist/indexer/stages/import-resolution.js +1 -1
- package/dist/indexer/stages/import-resolution.js.map +1 -1
- package/dist/indexer/stages/index.d.ts +2 -0
- package/dist/indexer/stages/index.d.ts.map +1 -1
- package/dist/indexer/stages/index.js +2 -0
- package/dist/indexer/stages/index.js.map +1 -1
- package/dist/indexer/stages/lsp-enrichment.d.ts +2 -2
- package/dist/indexer/stages/lsp-enrichment.d.ts.map +1 -1
- package/dist/indexer/stages/lsp-enrichment.js +131 -6
- package/dist/indexer/stages/lsp-enrichment.js.map +1 -1
- package/dist/indexer/stages/scip-enrichment.d.ts +43 -0
- package/dist/indexer/stages/scip-enrichment.d.ts.map +1 -0
- package/dist/indexer/stages/scip-enrichment.js +174 -0
- package/dist/indexer/stages/scip-enrichment.js.map +1 -0
- package/dist/indexer/stages/scip-source.d.ts +117 -0
- package/dist/indexer/stages/scip-source.d.ts.map +1 -0
- package/dist/indexer/stages/scip-source.js +922 -0
- package/dist/indexer/stages/scip-source.js.map +1 -0
- package/dist/indexer/stages/source-index.d.ts +2 -2
- package/dist/indexer/stages/source-index.d.ts.map +1 -1
- package/dist/indexer/stages/source-index.js +39 -30
- package/dist/indexer/stages/source-index.js.map +1 -1
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/{indexer/lsp → lsp}/client.js +1 -1
- package/dist/lsp/client.js.map +1 -0
- package/dist/lsp/config.d.ts.map +1 -0
- package/dist/{indexer/lsp → lsp}/config.js +1 -1
- package/dist/lsp/config.js.map +1 -0
- package/dist/lsp/enrichment.d.ts.map +1 -0
- package/dist/lsp/enrichment.js.map +1 -0
- package/dist/lsp/registry.d.ts.map +1 -0
- package/dist/{indexer/lsp → lsp}/registry.js +1 -1
- package/dist/lsp/registry.js.map +1 -0
- package/dist/{indexer → parsing}/complexity.d.ts.map +1 -1
- package/dist/{indexer → parsing}/complexity.js.map +1 -1
- package/dist/{indexer → parsing}/config-parser.d.ts.map +1 -1
- package/dist/{indexer → parsing}/config-parser.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/bash.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/bash.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/c.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/c.js +4 -4
- package/dist/parsing/extractors/c.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/cpp.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/cpp.js +6 -12
- package/dist/parsing/extractors/cpp.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/csharp.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/csharp.js +1 -6
- package/dist/{indexer → parsing}/extractors/csharp.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/elixir.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/elixir.js +10 -15
- package/dist/parsing/extractors/elixir.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/elm.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/elm.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/go.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/go.js +0 -1
- package/dist/parsing/extractors/go.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/haskell.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/haskell.js +2 -4
- package/dist/parsing/extractors/haskell.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/java.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/java.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/javascript.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/javascript.js +23 -3
- package/dist/parsing/extractors/javascript.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/julia.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/julia.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/kotlin.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/kotlin.js +4 -3
- package/dist/{indexer → parsing}/extractors/kotlin.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/lua.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/lua.js +1 -13
- package/dist/parsing/extractors/lua.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/objc.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/objc.js +4 -6
- package/dist/parsing/extractors/objc.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/ocaml.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/ocaml.js +2 -10
- package/dist/parsing/extractors/ocaml.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/php.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/php.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/python.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/python.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/ruby.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/ruby.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/rust.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/rust.js +1 -1
- package/dist/{indexer → parsing}/extractors/rust.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/scala.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/scala.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/swift.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/swift.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/types.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/types.js.map +1 -1
- package/dist/{indexer → parsing}/extractors/typescript.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/typescript.js +45 -19
- package/dist/parsing/extractors/typescript.js.map +1 -0
- package/dist/{indexer → parsing}/extractors/zig.d.ts.map +1 -1
- package/dist/{indexer → parsing}/extractors/zig.js +0 -4
- package/dist/parsing/extractors/zig.js.map +1 -0
- package/dist/{indexer → parsing}/parser.d.ts.map +1 -1
- package/dist/{indexer → parsing}/parser.js.map +1 -1
- package/dist/{indexer → resolution}/call-graph.d.ts +15 -1
- package/dist/resolution/call-graph.d.ts.map +1 -0
- package/dist/{indexer → resolution}/call-graph.js +34 -0
- package/dist/resolution/call-graph.js.map +1 -0
- package/dist/resolution/graph-analysis.d.ts +115 -0
- package/dist/resolution/graph-analysis.d.ts.map +1 -0
- package/dist/resolution/graph-analysis.js +575 -0
- package/dist/resolution/graph-analysis.js.map +1 -0
- package/dist/{indexer → resolution}/resolution-method.d.ts +3 -1
- package/dist/resolution/resolution-method.d.ts.map +1 -0
- package/dist/{indexer → resolution}/resolution-method.js +4 -0
- package/dist/resolution/resolution-method.js.map +1 -0
- package/dist/{indexer → resolution}/resolver.d.ts +1 -1
- package/dist/resolution/resolver.d.ts.map +1 -0
- package/dist/resolution/resolver.js.map +1 -0
- package/dist/runtime.d.ts +6 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +8 -7
- package/dist/runtime.js.map +1 -1
- package/dist/scip/config.d.ts +32 -0
- package/dist/scip/config.d.ts.map +1 -0
- package/dist/scip/config.js +96 -0
- package/dist/scip/config.js.map +1 -0
- package/dist/scip/enrichment.d.ts +56 -0
- package/dist/scip/enrichment.d.ts.map +1 -0
- package/dist/scip/enrichment.js +258 -0
- package/dist/scip/enrichment.js.map +1 -0
- package/dist/scip/index-reader.d.ts +100 -0
- package/dist/scip/index-reader.d.ts.map +1 -0
- package/dist/scip/index-reader.js +225 -0
- package/dist/scip/index-reader.js.map +1 -0
- package/dist/scip/registry.d.ts +51 -0
- package/dist/scip/registry.d.ts.map +1 -0
- package/dist/scip/registry.js +131 -0
- package/dist/scip/registry.js.map +1 -0
- package/dist/scip/scip_pb.d.ts +2118 -0
- package/dist/scip/scip_pb.d.ts.map +1 -0
- package/dist/scip/scip_pb.js +1534 -0
- package/dist/scip/scip_pb.js.map +1 -0
- package/dist/{lore-server → server}/server.d.ts +2 -2
- package/dist/server/server.d.ts.map +1 -0
- package/dist/{lore-server → server}/server.js +9 -19
- package/dist/server/server.js.map +1 -0
- package/dist/{lore-server → server}/tool-registry.d.ts +2 -2
- package/dist/server/tool-registry.d.ts.map +1 -0
- package/dist/{lore-server → server}/tool-registry.js +6 -1
- package/dist/server/tool-registry.js.map +1 -0
- package/dist/{lore-server → server}/tools/annotations.d.ts +2 -2
- package/dist/server/tools/annotations.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/annotations.js +1 -1
- package/dist/server/tools/annotations.js.map +1 -0
- package/dist/{lore-server → server}/tools/architecture.d.ts +1 -1
- package/dist/server/tools/architecture.d.ts.map +1 -0
- package/dist/server/tools/architecture.js.map +1 -0
- package/dist/{lore-server → server}/tools/blame.d.ts +1 -1
- package/dist/server/tools/blame.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/blame.js +1 -1
- package/dist/server/tools/blame.js.map +1 -0
- package/dist/{lore-server → server}/tools/coverage.d.ts +1 -1
- package/dist/server/tools/coverage.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/coverage.js +1 -1
- package/dist/server/tools/coverage.js.map +1 -0
- package/dist/{lore-server → server}/tools/docs.d.ts +3 -3
- package/dist/server/tools/docs.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/docs.js +1 -1
- package/dist/server/tools/docs.js.map +1 -0
- package/dist/server/tools/graph-analysis.d.ts +64 -0
- package/dist/server/tools/graph-analysis.d.ts.map +1 -0
- package/dist/server/tools/graph-analysis.js +82 -0
- package/dist/server/tools/graph-analysis.js.map +1 -0
- package/dist/{lore-server → server}/tools/graph.d.ts +25 -3
- package/dist/server/tools/graph.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/graph.js +101 -6
- package/dist/server/tools/graph.js.map +1 -0
- package/dist/{lore-server → server}/tools/history.d.ts +3 -3
- package/dist/server/tools/history.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/history.js +1 -1
- package/dist/server/tools/history.js.map +1 -0
- package/dist/{lore-server → server}/tools/lookup.d.ts +2 -2
- package/dist/server/tools/lookup.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/lookup.js +1 -1
- package/dist/server/tools/lookup.js.map +1 -0
- package/dist/{lore-server → server}/tools/metrics.d.ts +2 -2
- package/dist/server/tools/metrics.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/metrics.js +3 -2
- package/dist/server/tools/metrics.js.map +1 -0
- package/dist/{lore-server → server}/tools/notes.d.ts +1 -1
- package/dist/server/tools/notes.d.ts.map +1 -0
- package/dist/server/tools/notes.js.map +1 -0
- package/dist/{lore-server → server}/tools/routes.d.ts +2 -2
- package/dist/server/tools/routes.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/routes.js +1 -1
- package/dist/server/tools/routes.js.map +1 -0
- package/dist/{lore-server → server}/tools/search.d.ts +2 -2
- package/dist/server/tools/search.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/search.js +1 -1
- package/dist/server/tools/search.js.map +1 -0
- package/dist/{lore-server → server}/tools/snippet.d.ts +1 -1
- package/dist/server/tools/snippet.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/snippet.js +1 -1
- package/dist/server/tools/snippet.js.map +1 -0
- package/dist/{lore-server → server}/tools/test-map.d.ts +1 -1
- package/dist/server/tools/test-map.d.ts.map +1 -0
- package/dist/{lore-server → server}/tools/test-map.js +1 -1
- package/dist/server/tools/test-map.js.map +1 -0
- package/dist/server/tools/writeback.d.ts.map +1 -0
- package/dist/server/tools/writeback.js.map +1 -0
- package/dist/{indexer → testing}/coverage.d.ts +1 -1
- package/dist/testing/coverage.d.ts.map +1 -0
- package/dist/{indexer → testing}/coverage.js.map +1 -1
- package/dist/{indexer → testing}/test-mapper.d.ts +1 -1
- package/dist/testing/test-mapper.d.ts.map +1 -0
- package/dist/{indexer → testing}/test-mapper.js.map +1 -1
- package/package.json +12 -9
- package/dist/indexer/call-graph.d.ts.map +0 -1
- package/dist/indexer/call-graph.js.map +0 -1
- package/dist/indexer/coverage.d.ts.map +0 -1
- package/dist/indexer/db.d.ts.map +0 -1
- package/dist/indexer/db.js.map +0 -1
- package/dist/indexer/docs.d.ts.map +0 -1
- package/dist/indexer/docs.js.map +0 -1
- package/dist/indexer/embedder.d.ts +0 -66
- package/dist/indexer/embedder.d.ts.map +0 -1
- package/dist/indexer/embedder.js +0 -85
- package/dist/indexer/embedder.js.map +0 -1
- package/dist/indexer/extractors/c.js.map +0 -1
- package/dist/indexer/extractors/cpp.js.map +0 -1
- package/dist/indexer/extractors/elixir.js.map +0 -1
- package/dist/indexer/extractors/go.js.map +0 -1
- package/dist/indexer/extractors/haskell.js.map +0 -1
- package/dist/indexer/extractors/javascript.js.map +0 -1
- package/dist/indexer/extractors/lua.js.map +0 -1
- package/dist/indexer/extractors/objc.js.map +0 -1
- package/dist/indexer/extractors/ocaml.js.map +0 -1
- package/dist/indexer/extractors/typescript.js.map +0 -1
- package/dist/indexer/extractors/zig.js.map +0 -1
- package/dist/indexer/git-history.d.ts.map +0 -1
- package/dist/indexer/git-history.js.map +0 -1
- package/dist/indexer/git-hooks.d.ts.map +0 -1
- package/dist/indexer/git-hooks.js.map +0 -1
- package/dist/indexer/lsp/client.d.ts.map +0 -1
- package/dist/indexer/lsp/client.js.map +0 -1
- package/dist/indexer/lsp/config.d.ts.map +0 -1
- package/dist/indexer/lsp/config.js.map +0 -1
- package/dist/indexer/lsp/enrichment.d.ts.map +0 -1
- package/dist/indexer/lsp/enrichment.js.map +0 -1
- package/dist/indexer/lsp/registry.d.ts.map +0 -1
- package/dist/indexer/lsp/registry.js.map +0 -1
- package/dist/indexer/poller.d.ts.map +0 -1
- package/dist/indexer/poller.js.map +0 -1
- package/dist/indexer/resolution-method.d.ts.map +0 -1
- package/dist/indexer/resolution-method.js.map +0 -1
- package/dist/indexer/resolver.d.ts.map +0 -1
- package/dist/indexer/resolver.js.map +0 -1
- package/dist/indexer/test-mapper.d.ts.map +0 -1
- package/dist/indexer/walker.d.ts.map +0 -1
- package/dist/indexer/walker.js.map +0 -1
- package/dist/indexer/watcher.d.ts.map +0 -1
- package/dist/indexer/watcher.js.map +0 -1
- package/dist/lore-server/db.d.ts.map +0 -1
- package/dist/lore-server/db.js.map +0 -1
- package/dist/lore-server/server.d.ts.map +0 -1
- package/dist/lore-server/server.js.map +0 -1
- package/dist/lore-server/tool-registry.d.ts.map +0 -1
- package/dist/lore-server/tool-registry.js.map +0 -1
- package/dist/lore-server/tools/annotations.d.ts.map +0 -1
- package/dist/lore-server/tools/annotations.js.map +0 -1
- package/dist/lore-server/tools/architecture.d.ts.map +0 -1
- package/dist/lore-server/tools/architecture.js.map +0 -1
- package/dist/lore-server/tools/blame.d.ts.map +0 -1
- package/dist/lore-server/tools/blame.js.map +0 -1
- package/dist/lore-server/tools/coverage.d.ts.map +0 -1
- package/dist/lore-server/tools/coverage.js.map +0 -1
- package/dist/lore-server/tools/docs.d.ts.map +0 -1
- package/dist/lore-server/tools/docs.js.map +0 -1
- package/dist/lore-server/tools/graph.d.ts.map +0 -1
- package/dist/lore-server/tools/graph.js.map +0 -1
- package/dist/lore-server/tools/history.d.ts.map +0 -1
- package/dist/lore-server/tools/history.js.map +0 -1
- package/dist/lore-server/tools/lookup.d.ts.map +0 -1
- package/dist/lore-server/tools/lookup.js.map +0 -1
- package/dist/lore-server/tools/metrics.d.ts.map +0 -1
- package/dist/lore-server/tools/metrics.js.map +0 -1
- package/dist/lore-server/tools/notes.d.ts.map +0 -1
- package/dist/lore-server/tools/notes.js.map +0 -1
- package/dist/lore-server/tools/routes.d.ts.map +0 -1
- package/dist/lore-server/tools/routes.js.map +0 -1
- package/dist/lore-server/tools/search.d.ts.map +0 -1
- package/dist/lore-server/tools/search.js.map +0 -1
- package/dist/lore-server/tools/snippet.d.ts.map +0 -1
- package/dist/lore-server/tools/snippet.js.map +0 -1
- package/dist/lore-server/tools/test-map.d.ts.map +0 -1
- package/dist/lore-server/tools/test-map.js.map +0 -1
- package/dist/lore-server/tools/writeback.d.ts.map +0 -1
- package/dist/lore-server/tools/writeback.js.map +0 -1
- /package/dist/{indexer → docs}/docs.d.ts +0 -0
- /package/dist/{indexer → docs}/docs.js +0 -0
- /package/dist/{indexer/lsp → lsp}/client.d.ts +0 -0
- /package/dist/{indexer/lsp → lsp}/config.d.ts +0 -0
- /package/dist/{indexer/lsp → lsp}/enrichment.d.ts +0 -0
- /package/dist/{indexer/lsp → lsp}/enrichment.js +0 -0
- /package/dist/{indexer/lsp → lsp}/registry.d.ts +0 -0
- /package/dist/{indexer → parsing}/complexity.d.ts +0 -0
- /package/dist/{indexer → parsing}/complexity.js +0 -0
- /package/dist/{indexer → parsing}/config-parser.d.ts +0 -0
- /package/dist/{indexer → parsing}/config-parser.js +0 -0
- /package/dist/{indexer → parsing}/extractors/bash.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/bash.js +0 -0
- /package/dist/{indexer → parsing}/extractors/c.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/cpp.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/csharp.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/elixir.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/elm.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/elm.js +0 -0
- /package/dist/{indexer → parsing}/extractors/go.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/haskell.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/java.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/java.js +0 -0
- /package/dist/{indexer → parsing}/extractors/javascript.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/julia.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/julia.js +0 -0
- /package/dist/{indexer → parsing}/extractors/kotlin.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/lua.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/objc.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/ocaml.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/php.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/php.js +0 -0
- /package/dist/{indexer → parsing}/extractors/python.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/python.js +0 -0
- /package/dist/{indexer → parsing}/extractors/ruby.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/ruby.js +0 -0
- /package/dist/{indexer → parsing}/extractors/rust.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/scala.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/scala.js +0 -0
- /package/dist/{indexer → parsing}/extractors/swift.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/swift.js +0 -0
- /package/dist/{indexer → parsing}/extractors/types.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/types.js +0 -0
- /package/dist/{indexer → parsing}/extractors/typescript.d.ts +0 -0
- /package/dist/{indexer → parsing}/extractors/zig.d.ts +0 -0
- /package/dist/{indexer → parsing}/parser.d.ts +0 -0
- /package/dist/{indexer → parsing}/parser.js +0 -0
- /package/dist/{indexer → resolution}/resolver.js +0 -0
- /package/dist/{lore-server → server}/tools/architecture.js +0 -0
- /package/dist/{lore-server → server}/tools/notes.js +0 -0
- /package/dist/{lore-server → server}/tools/writeback.d.ts +0 -0
- /package/dist/{lore-server → server}/tools/writeback.js +0 -0
- /package/dist/{indexer → testing}/coverage.js +0 -0
- /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 './
|
|
13
|
-
import type { EffectiveLspSettings } from './
|
|
14
|
-
import type {
|
|
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;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -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,
|
|
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 {
|
|
62
|
-
const provider = new
|
|
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
|
|
64
|
+
this.log.startup('embedding model configured (lazy — loads on first use)', {
|
|
66
65
|
embeddingModel: this.config.embeddingModel,
|
|
67
|
-
embeddingReady:
|
|
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('./
|
|
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('./
|
|
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();
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
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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"}
|