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