@optave/codegraph 3.3.1 → 3.4.0
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 +31 -28
- package/dist/ast-analysis/engine.d.ts +15 -13
- package/dist/ast-analysis/engine.d.ts.map +1 -1
- package/dist/ast-analysis/engine.js +40 -26
- package/dist/ast-analysis/engine.js.map +1 -1
- package/dist/ast-analysis/metrics.d.ts +4 -18
- package/dist/ast-analysis/metrics.d.ts.map +1 -1
- package/dist/ast-analysis/metrics.js.map +1 -1
- package/dist/ast-analysis/rules/csharp.d.ts +6 -23
- package/dist/ast-analysis/rules/csharp.d.ts.map +1 -1
- package/dist/ast-analysis/rules/csharp.js +0 -3
- package/dist/ast-analysis/rules/csharp.js.map +1 -1
- package/dist/ast-analysis/rules/go.d.ts +6 -23
- package/dist/ast-analysis/rules/go.d.ts.map +1 -1
- package/dist/ast-analysis/rules/go.js +0 -3
- package/dist/ast-analysis/rules/go.js.map +1 -1
- package/dist/ast-analysis/rules/index.d.ts +6 -30
- package/dist/ast-analysis/rules/index.d.ts.map +1 -1
- package/dist/ast-analysis/rules/index.js +0 -5
- package/dist/ast-analysis/rules/index.js.map +1 -1
- package/dist/ast-analysis/rules/java.d.ts +6 -23
- package/dist/ast-analysis/rules/java.d.ts.map +1 -1
- package/dist/ast-analysis/rules/java.js +0 -3
- package/dist/ast-analysis/rules/java.js.map +1 -1
- package/dist/ast-analysis/rules/javascript.d.ts +6 -30
- package/dist/ast-analysis/rules/javascript.d.ts.map +1 -1
- package/dist/ast-analysis/rules/javascript.js +0 -5
- package/dist/ast-analysis/rules/javascript.js.map +1 -1
- package/dist/ast-analysis/rules/php.d.ts +6 -23
- package/dist/ast-analysis/rules/php.d.ts.map +1 -1
- package/dist/ast-analysis/rules/php.js +0 -3
- package/dist/ast-analysis/rules/php.js.map +1 -1
- package/dist/ast-analysis/rules/python.d.ts +6 -23
- package/dist/ast-analysis/rules/python.d.ts.map +1 -1
- package/dist/ast-analysis/rules/python.js +0 -3
- package/dist/ast-analysis/rules/python.js.map +1 -1
- package/dist/ast-analysis/rules/ruby.d.ts +6 -23
- package/dist/ast-analysis/rules/ruby.d.ts.map +1 -1
- package/dist/ast-analysis/rules/ruby.js +0 -3
- package/dist/ast-analysis/rules/ruby.js.map +1 -1
- package/dist/ast-analysis/rules/rust.d.ts +6 -23
- package/dist/ast-analysis/rules/rust.d.ts.map +1 -1
- package/dist/ast-analysis/rules/rust.js +0 -3
- package/dist/ast-analysis/rules/rust.js.map +1 -1
- package/dist/ast-analysis/shared.d.ts +11 -105
- package/dist/ast-analysis/shared.d.ts.map +1 -1
- package/dist/ast-analysis/shared.js +1 -27
- package/dist/ast-analysis/shared.js.map +1 -1
- package/dist/ast-analysis/visitor-utils.d.ts +36 -11
- package/dist/ast-analysis/visitor-utils.d.ts.map +1 -1
- package/dist/ast-analysis/visitor-utils.js.map +1 -1
- package/dist/ast-analysis/visitor.d.ts +2 -94
- package/dist/ast-analysis/visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitor.js +0 -16
- package/dist/ast-analysis/visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/ast-store-visitor.d.ts +2 -10
- package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/ast-store-visitor.js +10 -20
- package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/cfg-visitor.d.ts +4 -7
- package/dist/ast-analysis/visitors/cfg-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/cfg-visitor.js +20 -65
- package/dist/ast-analysis/visitors/cfg-visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/complexity-visitor.d.ts +6 -15
- package/dist/ast-analysis/visitors/complexity-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/complexity-visitor.js +6 -41
- package/dist/ast-analysis/visitors/complexity-visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/dataflow-visitor.d.ts +4 -7
- package/dist/ast-analysis/visitors/dataflow-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/dataflow-visitor.js +19 -33
- package/dist/ast-analysis/visitors/dataflow-visitor.js.map +1 -1
- package/dist/cli/commands/ast.d.ts +2 -8
- package/dist/cli/commands/ast.d.ts.map +1 -1
- package/dist/cli/commands/ast.js.map +1 -1
- package/dist/cli/commands/audit.d.ts +2 -8
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/batch.d.ts +2 -8
- package/dist/cli/commands/batch.d.ts.map +1 -1
- package/dist/cli/commands/batch.js +9 -3
- package/dist/cli/commands/batch.js.map +1 -1
- package/dist/cli/commands/branch-compare.d.ts +2 -6
- package/dist/cli/commands/branch-compare.d.ts.map +1 -1
- package/dist/cli/commands/branch-compare.js +1 -1
- package/dist/cli/commands/branch-compare.js.map +1 -1
- package/dist/cli/commands/brief.d.ts +2 -6
- package/dist/cli/commands/brief.d.ts.map +1 -1
- package/dist/cli/commands/brief.js.map +1 -1
- package/dist/cli/commands/build.d.ts +2 -6
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +2 -2
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/cfg.d.ts +2 -9
- package/dist/cli/commands/cfg.d.ts.map +1 -1
- package/dist/cli/commands/cfg.js.map +1 -1
- package/dist/cli/commands/check.d.ts +2 -7
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/children.d.ts +2 -8
- package/dist/cli/commands/children.d.ts.map +1 -1
- package/dist/cli/commands/children.js.map +1 -1
- package/dist/cli/commands/co-change.d.ts +2 -6
- package/dist/cli/commands/co-change.d.ts.map +1 -1
- package/dist/cli/commands/co-change.js +9 -5
- package/dist/cli/commands/co-change.js.map +1 -1
- package/dist/cli/commands/communities.d.ts +2 -7
- package/dist/cli/commands/communities.d.ts.map +1 -1
- package/dist/cli/commands/communities.js.map +1 -1
- package/dist/cli/commands/complexity.d.ts +2 -8
- package/dist/cli/commands/complexity.d.ts.map +1 -1
- package/dist/cli/commands/complexity.js.map +1 -1
- package/dist/cli/commands/context.d.ts +2 -9
- package/dist/cli/commands/context.d.ts.map +1 -1
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/cycles.d.ts +2 -6
- package/dist/cli/commands/cycles.d.ts.map +1 -1
- package/dist/cli/commands/cycles.js.map +1 -1
- package/dist/cli/commands/dataflow.d.ts +2 -9
- package/dist/cli/commands/dataflow.d.ts.map +1 -1
- package/dist/cli/commands/dataflow.js.map +1 -1
- package/dist/cli/commands/deps.d.ts +2 -7
- package/dist/cli/commands/deps.d.ts.map +1 -1
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/diff-impact.d.ts +2 -6
- package/dist/cli/commands/diff-impact.d.ts.map +1 -1
- package/dist/cli/commands/diff-impact.js.map +1 -1
- package/dist/cli/commands/embed.d.ts +2 -7
- package/dist/cli/commands/embed.d.ts.map +1 -1
- package/dist/cli/commands/embed.js +2 -1
- package/dist/cli/commands/embed.js.map +1 -1
- package/dist/cli/commands/export.d.ts +2 -6
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/exports.d.ts +2 -7
- package/dist/cli/commands/exports.d.ts.map +1 -1
- package/dist/cli/commands/exports.js.map +1 -1
- package/dist/cli/commands/flow.d.ts +2 -9
- package/dist/cli/commands/flow.d.ts.map +1 -1
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/fn-impact.d.ts +2 -9
- package/dist/cli/commands/fn-impact.d.ts.map +1 -1
- package/dist/cli/commands/fn-impact.js.map +1 -1
- package/dist/cli/commands/impact.d.ts +2 -6
- package/dist/cli/commands/impact.d.ts.map +1 -1
- package/dist/cli/commands/impact.js.map +1 -1
- package/dist/cli/commands/implementations.d.ts +2 -9
- package/dist/cli/commands/implementations.d.ts.map +1 -1
- package/dist/cli/commands/implementations.js.map +1 -1
- package/dist/cli/commands/info.d.ts +2 -5
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +2 -1
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/interfaces.d.ts +2 -9
- package/dist/cli/commands/interfaces.d.ts.map +1 -1
- package/dist/cli/commands/interfaces.js.map +1 -1
- package/dist/cli/commands/map.d.ts +2 -6
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +2 -6
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +4 -5
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/models.d.ts +2 -5
- package/dist/cli/commands/models.d.ts.map +1 -1
- package/dist/cli/commands/models.js +5 -3
- package/dist/cli/commands/models.js.map +1 -1
- package/dist/cli/commands/owners.d.ts +2 -7
- package/dist/cli/commands/owners.d.ts.map +1 -1
- package/dist/cli/commands/owners.js.map +1 -1
- package/dist/cli/commands/path.d.ts +2 -7
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/plot.d.ts +2 -6
- package/dist/cli/commands/plot.d.ts.map +1 -1
- package/dist/cli/commands/plot.js +3 -1
- package/dist/cli/commands/plot.js.map +1 -1
- package/dist/cli/commands/query.d.ts +2 -9
- package/dist/cli/commands/query.d.ts.map +1 -1
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/registry.d.ts +2 -15
- package/dist/cli/commands/registry.d.ts.map +1 -1
- package/dist/cli/commands/registry.js.map +1 -1
- package/dist/cli/commands/roles.d.ts +2 -8
- package/dist/cli/commands/roles.d.ts.map +1 -1
- package/dist/cli/commands/roles.js.map +1 -1
- package/dist/cli/commands/search.d.ts +2 -8
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +1 -5
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/sequence.d.ts +2 -9
- package/dist/cli/commands/sequence.d.ts.map +1 -1
- package/dist/cli/commands/sequence.js.map +1 -1
- package/dist/cli/commands/snapshot.d.ts +2 -10
- package/dist/cli/commands/snapshot.d.ts.map +1 -1
- package/dist/cli/commands/snapshot.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +2 -6
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/structure.d.ts +2 -6
- package/dist/cli/commands/structure.d.ts.map +1 -1
- package/dist/cli/commands/structure.js.map +1 -1
- package/dist/cli/commands/triage.d.ts +2 -7
- package/dist/cli/commands/triage.d.ts.map +1 -1
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/commands/watch.d.ts +2 -5
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +1 -1
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/commands/where.d.ts +2 -8
- package/dist/cli/commands/where.d.ts.map +1 -1
- package/dist/cli/commands/where.js +1 -1
- package/dist/cli/commands/where.js.map +1 -1
- package/dist/cli/index.d.ts +8 -17
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +27 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/shared/open-graph.d.ts +4 -7
- package/dist/cli/shared/open-graph.d.ts.map +1 -1
- package/dist/cli/shared/open-graph.js +0 -4
- package/dist/cli/shared/open-graph.js.map +1 -1
- package/dist/cli/shared/options.d.ts +8 -15
- package/dist/cli/shared/options.d.ts.map +1 -1
- package/dist/cli/shared/options.js +0 -2
- package/dist/cli/shared/options.js.map +1 -1
- package/dist/cli/shared/output.d.ts +1 -1
- package/dist/cli/shared/output.d.ts.map +1 -1
- package/dist/cli/shared/output.js.map +1 -1
- package/dist/cli/types.d.ts +30 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/db/connection.d.ts +15 -19
- package/dist/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +2 -10
- package/dist/db/connection.js.map +1 -1
- package/dist/db/index.d.ts +5 -4
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +8 -5
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +6 -3
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/query-builder.d.ts +28 -46
- package/dist/db/query-builder.d.ts.map +1 -1
- package/dist/db/query-builder.js +2 -21
- package/dist/db/query-builder.js.map +1 -1
- package/dist/db/repository/base.d.ts +38 -101
- package/dist/db/repository/base.d.ts.map +1 -1
- package/dist/db/repository/base.js +6 -38
- package/dist/db/repository/base.js.map +1 -1
- package/dist/db/repository/build-stmts.d.ts +7 -16
- package/dist/db/repository/build-stmts.d.ts.map +1 -1
- package/dist/db/repository/build-stmts.js +0 -17
- package/dist/db/repository/build-stmts.js.map +1 -1
- package/dist/db/repository/cached-stmt.d.ts +2 -6
- package/dist/db/repository/cached-stmt.d.ts.map +1 -1
- package/dist/db/repository/cached-stmt.js +0 -5
- package/dist/db/repository/cached-stmt.js.map +1 -1
- package/dist/db/repository/cfg.d.ts +21 -14
- package/dist/db/repository/cfg.d.ts.map +1 -1
- package/dist/db/repository/cfg.js +0 -11
- package/dist/db/repository/cfg.js.map +1 -1
- package/dist/db/repository/cochange.d.ts +4 -10
- package/dist/db/repository/cochange.d.ts.map +1 -1
- package/dist/db/repository/cochange.js +0 -7
- package/dist/db/repository/cochange.js.map +1 -1
- package/dist/db/repository/complexity.d.ts +2 -10
- package/dist/db/repository/complexity.d.ts.map +1 -1
- package/dist/db/repository/complexity.js +0 -3
- package/dist/db/repository/complexity.js.map +1 -1
- package/dist/db/repository/dataflow.d.ts +2 -3
- package/dist/db/repository/dataflow.d.ts.map +1 -1
- package/dist/db/repository/dataflow.js +2 -3
- package/dist/db/repository/dataflow.js.map +1 -1
- package/dist/db/repository/edges.d.ts +25 -132
- package/dist/db/repository/edges.d.ts.map +1 -1
- package/dist/db/repository/edges.js +2 -58
- package/dist/db/repository/edges.js.map +1 -1
- package/dist/db/repository/embeddings.d.ts +4 -10
- package/dist/db/repository/embeddings.d.ts.map +1 -1
- package/dist/db/repository/embeddings.js +1 -8
- package/dist/db/repository/embeddings.js.map +1 -1
- package/dist/db/repository/graph-read.d.ts +5 -28
- package/dist/db/repository/graph-read.d.ts.map +1 -1
- package/dist/db/repository/graph-read.js +0 -8
- package/dist/db/repository/graph-read.js.map +1 -1
- package/dist/db/repository/in-memory-repository.d.ts +73 -141
- package/dist/db/repository/in-memory-repository.d.ts.map +1 -1
- package/dist/db/repository/in-memory-repository.js +28 -20
- package/dist/db/repository/in-memory-repository.js.map +1 -1
- package/dist/db/repository/index.d.ts +13 -13
- package/dist/db/repository/index.d.ts.map +1 -1
- package/dist/db/repository/index.js +1 -1
- package/dist/db/repository/index.js.map +1 -1
- package/dist/db/repository/nodes.d.ts +40 -105
- package/dist/db/repository/nodes.d.ts.map +1 -1
- package/dist/db/repository/nodes.js +29 -74
- package/dist/db/repository/nodes.js.map +1 -1
- package/dist/db/repository/sqlite-repository.d.ts +48 -93
- package/dist/db/repository/sqlite-repository.d.ts.map +1 -1
- package/dist/db/repository/sqlite-repository.js +7 -2
- package/dist/db/repository/sqlite-repository.js.map +1 -1
- package/dist/domain/analysis/brief.d.ts +16 -7
- package/dist/domain/analysis/brief.d.ts.map +1 -1
- package/dist/domain/analysis/brief.js +3 -8
- package/dist/domain/analysis/brief.js.map +1 -1
- package/dist/domain/analysis/context.d.ts +240 -2
- package/dist/domain/analysis/context.d.ts.map +1 -1
- package/dist/domain/analysis/context.js +39 -32
- package/dist/domain/analysis/context.js.map +1 -1
- package/dist/domain/analysis/dependencies.d.ts +113 -37
- package/dist/domain/analysis/dependencies.d.ts.map +1 -1
- package/dist/domain/analysis/dependencies.js +20 -27
- package/dist/domain/analysis/dependencies.js.map +1 -1
- package/dist/domain/analysis/exports.d.ts +7 -1
- package/dist/domain/analysis/exports.d.ts.map +1 -1
- package/dist/domain/analysis/exports.js +48 -33
- package/dist/domain/analysis/exports.js.map +1 -1
- package/dist/domain/analysis/impact.d.ts +128 -16
- package/dist/domain/analysis/impact.d.ts.map +1 -1
- package/dist/domain/analysis/impact.js +14 -54
- package/dist/domain/analysis/impact.js.map +1 -1
- package/dist/domain/analysis/implementations.d.ts +28 -28
- package/dist/domain/analysis/implementations.d.ts.map +1 -1
- package/dist/domain/analysis/implementations.js +0 -10
- package/dist/domain/analysis/implementations.js.map +1 -1
- package/dist/domain/analysis/module-map.d.ts +44 -24
- package/dist/domain/analysis/module-map.d.ts.map +1 -1
- package/dist/domain/analysis/module-map.js +19 -7
- package/dist/domain/analysis/module-map.js.map +1 -1
- package/dist/domain/analysis/roles.d.ts +13 -1
- package/dist/domain/analysis/roles.d.ts.map +1 -1
- package/dist/domain/analysis/roles.js +10 -2
- package/dist/domain/analysis/roles.js.map +1 -1
- package/dist/domain/analysis/symbol-lookup.d.ts +120 -7
- package/dist/domain/analysis/symbol-lookup.d.ts.map +1 -1
- package/dist/domain/analysis/symbol-lookup.js +11 -7
- package/dist/domain/analysis/symbol-lookup.js.map +1 -1
- package/dist/domain/graph/builder/context.d.ts +32 -67
- package/dist/domain/graph/builder/context.d.ts.map +1 -1
- package/dist/domain/graph/builder/context.js +0 -36
- package/dist/domain/graph/builder/context.js.map +1 -1
- package/dist/domain/graph/builder/helpers.d.ts +14 -14
- package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
- package/dist/domain/graph/builder/helpers.js +62 -23
- package/dist/domain/graph/builder/helpers.js.map +1 -1
- package/dist/domain/graph/builder/incremental.d.ts +50 -13
- package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
- package/dist/domain/graph/builder/incremental.js +10 -19
- package/dist/domain/graph/builder/incremental.js.map +1 -1
- package/dist/domain/graph/builder/pipeline.d.ts +2 -7
- package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
- package/dist/domain/graph/builder/pipeline.js +21 -19
- package/dist/domain/graph/builder/pipeline.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.d.ts +2 -4
- package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.js +6 -12
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-structure.d.ts +2 -4
- package/dist/domain/graph/builder/stages/build-structure.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-structure.js +8 -8
- package/dist/domain/graph/builder/stages/build-structure.js.map +1 -1
- package/dist/domain/graph/builder/stages/collect-files.d.ts +2 -4
- package/dist/domain/graph/builder/stages/collect-files.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/collect-files.js +0 -3
- package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.d.ts +2 -4
- package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.js +38 -45
- package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.d.ts +2 -4
- package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.js +45 -26
- package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
- package/dist/domain/graph/builder/stages/insert-nodes.d.ts +2 -4
- package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/insert-nodes.js +57 -33
- package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
- package/dist/domain/graph/builder/stages/parse-files.d.ts +2 -4
- package/dist/domain/graph/builder/stages/parse-files.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/parse-files.js +0 -3
- package/dist/domain/graph/builder/stages/parse-files.js.map +1 -1
- package/dist/domain/graph/builder/stages/resolve-imports.d.ts +5 -17
- package/dist/domain/graph/builder/stages/resolve-imports.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/resolve-imports.js +0 -22
- package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
- package/dist/domain/graph/builder/stages/run-analyses.d.ts +2 -4
- package/dist/domain/graph/builder/stages/run-analyses.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/run-analyses.js +3 -4
- package/dist/domain/graph/builder/stages/run-analyses.js.map +1 -1
- package/dist/domain/graph/builder.d.ts +3 -3
- package/dist/domain/graph/builder.d.ts.map +1 -1
- package/dist/domain/graph/builder.js.map +1 -1
- package/dist/domain/graph/change-journal.d.ts +39 -46
- package/dist/domain/graph/change-journal.d.ts.map +1 -1
- package/dist/domain/graph/change-journal.js +1 -24
- package/dist/domain/graph/change-journal.js.map +1 -1
- package/dist/domain/graph/cycles.d.ts +10 -17
- package/dist/domain/graph/cycles.d.ts.map +1 -1
- package/dist/domain/graph/cycles.js +4 -24
- package/dist/domain/graph/cycles.js.map +1 -1
- package/dist/domain/graph/journal.d.ts +13 -25
- package/dist/domain/graph/journal.d.ts.map +1 -1
- package/dist/domain/graph/journal.js +0 -14
- package/dist/domain/graph/journal.js.map +1 -1
- package/dist/domain/graph/resolve.d.ts +20 -25
- package/dist/domain/graph/resolve.d.ts.map +1 -1
- package/dist/domain/graph/resolve.js +62 -9
- package/dist/domain/graph/resolve.js.map +1 -1
- package/dist/domain/graph/watcher.d.ts +3 -1
- package/dist/domain/graph/watcher.d.ts.map +1 -1
- package/dist/domain/graph/watcher.js +14 -6
- package/dist/domain/graph/watcher.js.map +1 -1
- package/dist/domain/parser.d.ts +26 -72
- package/dist/domain/parser.d.ts.map +1 -1
- package/dist/domain/parser.js +38 -46
- package/dist/domain/parser.js.map +1 -1
- package/dist/domain/queries.d.ts +20 -13
- package/dist/domain/queries.d.ts.map +1 -1
- package/dist/domain/queries.js +1 -1
- package/dist/domain/queries.js.map +1 -1
- package/dist/domain/search/generator.d.ts +5 -9
- package/dist/domain/search/generator.d.ts.map +1 -1
- package/dist/domain/search/generator.js +4 -8
- package/dist/domain/search/generator.js.map +1 -1
- package/dist/domain/search/index.d.ts +14 -7
- package/dist/domain/search/index.d.ts.map +1 -1
- package/dist/domain/search/index.js.map +1 -1
- package/dist/domain/search/models.d.ts +17 -60
- package/dist/domain/search/models.d.ts.map +1 -1
- package/dist/domain/search/models.js +13 -9
- package/dist/domain/search/models.js.map +1 -1
- package/dist/domain/search/search/cli-formatter.d.ts +9 -5
- package/dist/domain/search/search/cli-formatter.d.ts.map +1 -1
- package/dist/domain/search/search/cli-formatter.js +4 -10
- package/dist/domain/search/search/cli-formatter.js.map +1 -1
- package/dist/domain/search/search/filters.d.ts +8 -18
- package/dist/domain/search/search/filters.d.ts.map +1 -1
- package/dist/domain/search/search/filters.js +0 -17
- package/dist/domain/search/search/filters.js.map +1 -1
- package/dist/domain/search/search/hybrid.d.ts +20 -21
- package/dist/domain/search/search/hybrid.d.ts.map +1 -1
- package/dist/domain/search/search/hybrid.js +2 -13
- package/dist/domain/search/search/hybrid.js.map +1 -1
- package/dist/domain/search/search/keyword.d.ts +13 -12
- package/dist/domain/search/search/keyword.d.ts.map +1 -1
- package/dist/domain/search/search/keyword.js +2 -10
- package/dist/domain/search/search/keyword.js.map +1 -1
- package/dist/domain/search/search/prepare.d.ts +23 -11
- package/dist/domain/search/search/prepare.d.ts.map +1 -1
- package/dist/domain/search/search/prepare.js +0 -7
- package/dist/domain/search/search/prepare.js.map +1 -1
- package/dist/domain/search/search/semantic.d.ts +36 -29
- package/dist/domain/search/search/semantic.d.ts.map +1 -1
- package/dist/domain/search/search/semantic.js +3 -17
- package/dist/domain/search/search/semantic.js.map +1 -1
- package/dist/domain/search/stores/fts5.d.ts +3 -4
- package/dist/domain/search/stores/fts5.d.ts.map +1 -1
- package/dist/domain/search/stores/fts5.js +1 -5
- package/dist/domain/search/stores/fts5.js.map +1 -1
- package/dist/domain/search/stores/sqlite-blob.d.ts +1 -23
- package/dist/domain/search/stores/sqlite-blob.d.ts.map +1 -1
- package/dist/domain/search/stores/sqlite-blob.js +3 -9
- package/dist/domain/search/stores/sqlite-blob.js.map +1 -1
- package/dist/domain/search/strategies/source.d.ts +2 -1
- package/dist/domain/search/strategies/source.d.ts.map +1 -1
- package/dist/domain/search/strategies/source.js.map +1 -1
- package/dist/domain/search/strategies/structured.d.ts +6 -2
- package/dist/domain/search/strategies/structured.d.ts.map +1 -1
- package/dist/domain/search/strategies/structured.js +0 -5
- package/dist/domain/search/strategies/structured.js.map +1 -1
- package/dist/domain/search/strategies/text-utils.d.ts +3 -5
- package/dist/domain/search/strategies/text-utils.d.ts.map +1 -1
- package/dist/domain/search/strategies/text-utils.js +5 -7
- package/dist/domain/search/strategies/text-utils.js.map +1 -1
- package/dist/extractors/csharp.d.ts +2 -8
- package/dist/extractors/csharp.d.ts.map +1 -1
- package/dist/extractors/csharp.js +30 -19
- package/dist/extractors/csharp.js.map +1 -1
- package/dist/extractors/go.d.ts +2 -8
- package/dist/extractors/go.d.ts.map +1 -1
- package/dist/extractors/go.js +72 -10
- package/dist/extractors/go.js.map +1 -1
- package/dist/extractors/hcl.d.ts +2 -7
- package/dist/extractors/hcl.d.ts.map +1 -1
- package/dist/extractors/hcl.js +25 -16
- package/dist/extractors/hcl.js.map +1 -1
- package/dist/extractors/helpers.d.ts +7 -6
- package/dist/extractors/helpers.d.ts.map +1 -1
- package/dist/extractors/helpers.js +6 -5
- package/dist/extractors/helpers.js.map +1 -1
- package/dist/extractors/index.d.ts +9 -9
- package/dist/extractors/index.d.ts.map +1 -1
- package/dist/extractors/index.js.map +1 -1
- package/dist/extractors/java.d.ts +2 -8
- package/dist/extractors/java.d.ts.map +1 -1
- package/dist/extractors/java.js +7 -4
- package/dist/extractors/java.js.map +1 -1
- package/dist/extractors/javascript.d.ts +2 -75
- package/dist/extractors/javascript.d.ts.map +1 -1
- package/dist/extractors/javascript.js +62 -59
- package/dist/extractors/javascript.js.map +1 -1
- package/dist/extractors/php.d.ts +2 -8
- package/dist/extractors/php.d.ts.map +1 -1
- package/dist/extractors/php.js +13 -7
- package/dist/extractors/php.js.map +1 -1
- package/dist/extractors/python.d.ts +2 -8
- package/dist/extractors/python.d.ts.map +1 -1
- package/dist/extractors/python.js +23 -11
- package/dist/extractors/python.js.map +1 -1
- package/dist/extractors/ruby.d.ts +2 -7
- package/dist/extractors/ruby.d.ts.map +1 -1
- package/dist/extractors/ruby.js +8 -4
- package/dist/extractors/ruby.js.map +1 -1
- package/dist/extractors/rust.d.ts +2 -8
- package/dist/extractors/rust.d.ts.map +1 -1
- package/dist/extractors/rust.js +8 -5
- package/dist/extractors/rust.js.map +1 -1
- package/dist/features/ast.d.ts +59 -28
- package/dist/features/ast.d.ts.map +1 -1
- package/dist/features/ast.js +14 -53
- package/dist/features/ast.js.map +1 -1
- package/dist/features/audit.d.ts +13 -4
- package/dist/features/audit.d.ts.map +1 -1
- package/dist/features/audit.js +12 -21
- package/dist/features/audit.js.map +1 -1
- package/dist/features/batch.d.ts +44 -100
- package/dist/features/batch.d.ts.map +1 -1
- package/dist/features/batch.js +0 -41
- package/dist/features/batch.js.map +1 -1
- package/dist/features/boundaries.d.ts +42 -60
- package/dist/features/boundaries.d.ts.map +1 -1
- package/dist/features/boundaries.js +9 -87
- package/dist/features/boundaries.js.map +1 -1
- package/dist/features/branch-compare.d.ts +69 -50
- package/dist/features/branch-compare.d.ts.map +1 -1
- package/dist/features/branch-compare.js +27 -51
- package/dist/features/branch-compare.js.map +1 -1
- package/dist/features/cfg.d.ts +70 -48
- package/dist/features/cfg.d.ts.map +1 -1
- package/dist/features/cfg.js +81 -59
- package/dist/features/cfg.js.map +1 -1
- package/dist/features/check.d.ts +75 -90
- package/dist/features/check.d.ts.map +1 -1
- package/dist/features/check.js +2 -47
- package/dist/features/check.js.map +1 -1
- package/dist/features/cochange.d.ts +47 -98
- package/dist/features/cochange.d.ts.map +1 -1
- package/dist/features/cochange.js +10 -63
- package/dist/features/cochange.js.map +1 -1
- package/dist/features/communities.d.ts +18 -34
- package/dist/features/communities.d.ts.map +1 -1
- package/dist/features/communities.js +13 -41
- package/dist/features/communities.js.map +1 -1
- package/dist/features/complexity.d.ts +64 -117
- package/dist/features/complexity.d.ts.map +1 -1
- package/dist/features/complexity.js +58 -110
- package/dist/features/complexity.js.map +1 -1
- package/dist/features/dataflow.d.ts +56 -65
- package/dist/features/dataflow.d.ts.map +1 -1
- package/dist/features/dataflow.js +24 -55
- package/dist/features/dataflow.js.map +1 -1
- package/dist/features/export.d.ts +16 -9
- package/dist/features/export.d.ts.map +1 -1
- package/dist/features/export.js +20 -16
- package/dist/features/export.js.map +1 -1
- package/dist/features/flow.d.ts +17 -45
- package/dist/features/flow.d.ts.map +1 -1
- package/dist/features/flow.js +4 -27
- package/dist/features/flow.js.map +1 -1
- package/dist/features/graph-enrichment.d.ts +43 -53
- package/dist/features/graph-enrichment.d.ts.map +1 -1
- package/dist/features/graph-enrichment.js +15 -18
- package/dist/features/graph-enrichment.js.map +1 -1
- package/dist/features/manifesto.d.ts +18 -41
- package/dist/features/manifesto.d.ts.map +1 -1
- package/dist/features/manifesto.js +22 -39
- package/dist/features/manifesto.js.map +1 -1
- package/dist/features/owners.d.ts +44 -98
- package/dist/features/owners.d.ts.map +1 -1
- package/dist/features/owners.js +2 -54
- package/dist/features/owners.js.map +1 -1
- package/dist/features/sequence.d.ts +41 -32
- package/dist/features/sequence.d.ts.map +1 -1
- package/dist/features/sequence.js +7 -36
- package/dist/features/sequence.js.map +1 -1
- package/dist/features/shared/find-nodes.d.ts +6 -10
- package/dist/features/shared/find-nodes.d.ts.map +1 -1
- package/dist/features/shared/find-nodes.js +1 -10
- package/dist/features/shared/find-nodes.js.map +1 -1
- package/dist/features/snapshot.d.ts +16 -55
- package/dist/features/snapshot.d.ts.map +1 -1
- package/dist/features/snapshot.js +2 -40
- package/dist/features/snapshot.js.map +1 -1
- package/dist/features/structure.d.ts +80 -28
- package/dist/features/structure.d.ts.map +1 -1
- package/dist/features/structure.js +64 -76
- package/dist/features/structure.js.map +1 -1
- package/dist/features/triage.d.ts +45 -11
- package/dist/features/triage.d.ts.map +1 -1
- package/dist/features/triage.js +10 -27
- package/dist/features/triage.js.map +1 -1
- package/dist/graph/algorithms/bfs.d.ts +7 -8
- package/dist/graph/algorithms/bfs.d.ts.map +1 -1
- package/dist/graph/algorithms/bfs.js +1 -4
- package/dist/graph/algorithms/bfs.js.map +1 -1
- package/dist/graph/algorithms/centrality.d.ts +6 -7
- package/dist/graph/algorithms/centrality.d.ts.map +1 -1
- package/dist/graph/algorithms/centrality.js +0 -3
- package/dist/graph/algorithms/centrality.js.map +1 -1
- package/dist/graph/algorithms/index.d.ts +6 -5
- package/dist/graph/algorithms/index.d.ts.map +1 -1
- package/dist/graph/algorithms/index.js +1 -0
- package/dist/graph/algorithms/index.js.map +1 -1
- package/dist/graph/algorithms/leiden/adapter.d.ts +37 -0
- package/dist/graph/algorithms/leiden/adapter.d.ts.map +1 -0
- package/dist/graph/algorithms/leiden/adapter.js +165 -0
- package/dist/graph/algorithms/leiden/adapter.js.map +1 -0
- package/dist/graph/algorithms/leiden/cpm.d.ts +28 -0
- package/dist/graph/algorithms/leiden/cpm.d.ts.map +1 -0
- package/dist/graph/algorithms/leiden/cpm.js +48 -0
- package/dist/graph/algorithms/leiden/cpm.js.map +1 -0
- package/dist/graph/algorithms/leiden/index.d.ts +37 -0
- package/dist/graph/algorithms/leiden/index.d.ts.map +1 -0
- package/dist/graph/algorithms/leiden/index.js +142 -0
- package/dist/graph/algorithms/leiden/index.js.map +1 -0
- package/dist/graph/algorithms/leiden/modularity.d.ts +33 -0
- package/dist/graph/algorithms/leiden/modularity.d.ts.map +1 -0
- package/dist/graph/algorithms/leiden/modularity.js +80 -0
- package/dist/graph/algorithms/leiden/modularity.js.map +1 -0
- package/dist/graph/algorithms/leiden/optimiser.d.ts +62 -0
- package/dist/graph/algorithms/leiden/optimiser.d.ts.map +1 -0
- package/dist/graph/algorithms/leiden/optimiser.js +498 -0
- package/dist/graph/algorithms/leiden/optimiser.js.map +1 -0
- package/dist/graph/algorithms/leiden/partition.d.ts +44 -0
- package/dist/graph/algorithms/leiden/partition.d.ts.map +1 -0
- package/dist/graph/algorithms/leiden/partition.js +433 -0
- package/dist/graph/algorithms/leiden/partition.js.map +1 -0
- package/dist/graph/algorithms/leiden/rng.d.ts +9 -0
- package/dist/graph/algorithms/leiden/rng.d.ts.map +1 -0
- package/dist/graph/algorithms/leiden/rng.js +17 -0
- package/dist/graph/algorithms/leiden/rng.js.map +1 -0
- package/dist/graph/algorithms/louvain.d.ts +20 -4
- package/dist/graph/algorithms/louvain.d.ts.map +1 -1
- package/dist/graph/algorithms/louvain.js +15 -14
- package/dist/graph/algorithms/louvain.js.map +1 -1
- package/dist/graph/algorithms/shortest-path.d.ts +3 -5
- package/dist/graph/algorithms/shortest-path.d.ts.map +1 -1
- package/dist/graph/algorithms/shortest-path.js +2 -5
- package/dist/graph/algorithms/shortest-path.js.map +1 -1
- package/dist/graph/algorithms/tarjan.d.ts +3 -3
- package/dist/graph/algorithms/tarjan.d.ts.map +1 -1
- package/dist/graph/algorithms/tarjan.js +1 -2
- package/dist/graph/algorithms/tarjan.js.map +1 -1
- package/dist/graph/builders/dependency.d.ts +14 -11
- package/dist/graph/builders/dependency.d.ts.map +1 -1
- package/dist/graph/builders/dependency.js +2 -6
- package/dist/graph/builders/dependency.js.map +1 -1
- package/dist/graph/builders/index.d.ts +3 -3
- package/dist/graph/builders/index.d.ts.map +1 -1
- package/dist/graph/builders/index.js.map +1 -1
- package/dist/graph/builders/structure.d.ts +6 -3
- package/dist/graph/builders/structure.d.ts.map +1 -1
- package/dist/graph/builders/structure.js +5 -4
- package/dist/graph/builders/structure.js.map +1 -1
- package/dist/graph/builders/temporal.d.ts +9 -6
- package/dist/graph/builders/temporal.d.ts.map +1 -1
- package/dist/graph/builders/temporal.js +1 -3
- package/dist/graph/builders/temporal.js.map +1 -1
- package/dist/graph/classifiers/index.d.ts +2 -2
- package/dist/graph/classifiers/index.d.ts.map +1 -1
- package/dist/graph/classifiers/index.js.map +1 -1
- package/dist/graph/classifiers/risk.d.ts +25 -35
- package/dist/graph/classifiers/risk.d.ts.map +1 -1
- package/dist/graph/classifiers/risk.js +10 -16
- package/dist/graph/classifiers/risk.js.map +1 -1
- package/dist/graph/classifiers/roles.d.ts +19 -15
- package/dist/graph/classifiers/roles.d.ts.map +1 -1
- package/dist/graph/classifiers/roles.js +4 -7
- package/dist/graph/classifiers/roles.js.map +1 -1
- package/dist/graph/index.d.ts +4 -4
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/model.d.ts +39 -37
- package/dist/graph/model.d.ts.map +1 -1
- package/dist/graph/model.js +4 -25
- package/dist/graph/model.js.map +1 -1
- package/dist/index.cjs +0 -2
- package/dist/index.d.ts +35 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/config.d.ts +177 -210
- package/dist/infrastructure/config.d.ts.map +1 -1
- package/dist/infrastructure/config.js +22 -10
- package/dist/infrastructure/config.js.map +1 -1
- package/dist/infrastructure/logger.d.ts +6 -6
- package/dist/infrastructure/logger.d.ts.map +1 -1
- package/dist/infrastructure/logger.js.map +1 -1
- package/dist/infrastructure/native.d.ts +12 -4
- package/dist/infrastructure/native.d.ts.map +1 -1
- package/dist/infrastructure/native.js +2 -2
- package/dist/infrastructure/native.js.map +1 -1
- package/dist/infrastructure/registry.d.ts +34 -22
- package/dist/infrastructure/registry.d.ts.map +1 -1
- package/dist/infrastructure/registry.js +1 -1
- package/dist/infrastructure/registry.js.map +1 -1
- package/dist/infrastructure/result-formatter.d.ts +1 -1
- package/dist/infrastructure/result-formatter.d.ts.map +1 -1
- package/dist/infrastructure/result-formatter.js.map +1 -1
- package/dist/infrastructure/test-filter.d.ts +3 -3
- package/dist/infrastructure/test-filter.d.ts.map +1 -1
- package/dist/infrastructure/test-filter.js.map +1 -1
- package/dist/infrastructure/update-check.d.ts +12 -10
- package/dist/infrastructure/update-check.d.ts.map +1 -1
- package/dist/infrastructure/update-check.js +3 -7
- package/dist/infrastructure/update-check.js.map +1 -1
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/middleware.d.ts +13 -13
- package/dist/mcp/middleware.d.ts.map +1 -1
- package/dist/mcp/middleware.js +0 -6
- package/dist/mcp/middleware.js.map +1 -1
- package/dist/mcp/server.d.ts +21 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +79 -13
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-registry.d.ts +17 -4
- package/dist/mcp/tool-registry.d.ts.map +1 -1
- package/dist/mcp/tool-registry.js +0 -3
- package/dist/mcp/tool-registry.js.map +1 -1
- package/dist/mcp/tools/ast-query.d.ts +13 -8
- package/dist/mcp/tools/ast-query.d.ts.map +1 -1
- package/dist/mcp/tools/ast-query.js.map +1 -1
- package/dist/mcp/tools/audit.d.ts +14 -2
- package/dist/mcp/tools/audit.d.ts.map +1 -1
- package/dist/mcp/tools/audit.js +1 -1
- package/dist/mcp/tools/audit.js.map +1 -1
- package/dist/mcp/tools/batch-query.d.ts +11 -7
- package/dist/mcp/tools/batch-query.d.ts.map +1 -1
- package/dist/mcp/tools/batch-query.js.map +1 -1
- package/dist/mcp/tools/branch-compare.d.ts +11 -2
- package/dist/mcp/tools/branch-compare.d.ts.map +1 -1
- package/dist/mcp/tools/branch-compare.js.map +1 -1
- package/dist/mcp/tools/brief.d.ts +8 -2
- package/dist/mcp/tools/brief.d.ts.map +1 -1
- package/dist/mcp/tools/brief.js.map +1 -1
- package/dist/mcp/tools/cfg.d.ts +13 -9
- package/dist/mcp/tools/cfg.d.ts.map +1 -1
- package/dist/mcp/tools/cfg.js +1 -1
- package/dist/mcp/tools/cfg.js.map +1 -1
- package/dist/mcp/tools/check.d.ts +19 -23
- package/dist/mcp/tools/check.d.ts.map +1 -1
- package/dist/mcp/tools/check.js +2 -2
- package/dist/mcp/tools/check.js.map +1 -1
- package/dist/mcp/tools/co-changes.d.ts +11 -9
- package/dist/mcp/tools/co-changes.d.ts.map +1 -1
- package/dist/mcp/tools/co-changes.js.map +1 -1
- package/dist/mcp/tools/code-owners.d.ts +11 -47
- package/dist/mcp/tools/code-owners.d.ts.map +1 -1
- package/dist/mcp/tools/code-owners.js.map +1 -1
- package/dist/mcp/tools/communities.d.ts +12 -7
- package/dist/mcp/tools/communities.d.ts.map +1 -1
- package/dist/mcp/tools/communities.js.map +1 -1
- package/dist/mcp/tools/complexity.d.ts +15 -6
- package/dist/mcp/tools/complexity.d.ts.map +1 -1
- package/dist/mcp/tools/complexity.js +0 -1
- package/dist/mcp/tools/complexity.js.map +1 -1
- package/dist/mcp/tools/context.d.ts +15 -2
- package/dist/mcp/tools/context.d.ts.map +1 -1
- package/dist/mcp/tools/context.js.map +1 -1
- package/dist/mcp/tools/dataflow.d.ts +14 -5
- package/dist/mcp/tools/dataflow.d.ts.map +1 -1
- package/dist/mcp/tools/dataflow.js +2 -2
- package/dist/mcp/tools/dataflow.js.map +1 -1
- package/dist/mcp/tools/diff-impact.d.ts +13 -2
- package/dist/mcp/tools/diff-impact.d.ts.map +1 -1
- package/dist/mcp/tools/diff-impact.js.map +1 -1
- package/dist/mcp/tools/execution-flow.d.ts +14 -16
- package/dist/mcp/tools/execution-flow.d.ts.map +1 -1
- package/dist/mcp/tools/execution-flow.js.map +1 -1
- package/dist/mcp/tools/export-graph.d.ts +10 -2
- package/dist/mcp/tools/export-graph.d.ts.map +1 -1
- package/dist/mcp/tools/export-graph.js +3 -1
- package/dist/mcp/tools/export-graph.js.map +1 -1
- package/dist/mcp/tools/file-deps.d.ts +10 -2
- package/dist/mcp/tools/file-deps.d.ts.map +1 -1
- package/dist/mcp/tools/file-deps.js.map +1 -1
- package/dist/mcp/tools/file-exports.d.ts +11 -2
- package/dist/mcp/tools/file-exports.d.ts.map +1 -1
- package/dist/mcp/tools/file-exports.js.map +1 -1
- package/dist/mcp/tools/find-cycles.d.ts +3 -2
- package/dist/mcp/tools/find-cycles.d.ts.map +1 -1
- package/dist/mcp/tools/find-cycles.js.map +1 -1
- package/dist/mcp/tools/fn-impact.d.ts +13 -2
- package/dist/mcp/tools/fn-impact.d.ts.map +1 -1
- package/dist/mcp/tools/fn-impact.js.map +1 -1
- package/dist/mcp/tools/impact-analysis.d.ts +8 -2
- package/dist/mcp/tools/impact-analysis.d.ts.map +1 -1
- package/dist/mcp/tools/impact-analysis.js +0 -3
- package/dist/mcp/tools/impact-analysis.js.map +1 -1
- package/dist/mcp/tools/implementations.d.ts +12 -2
- package/dist/mcp/tools/implementations.d.ts.map +1 -1
- package/dist/mcp/tools/implementations.js.map +1 -1
- package/dist/mcp/tools/index.d.ts +9 -2
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +2 -2
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/interfaces.d.ts +12 -2
- package/dist/mcp/tools/interfaces.d.ts.map +1 -1
- package/dist/mcp/tools/interfaces.js.map +1 -1
- package/dist/mcp/tools/list-functions.d.ts +11 -2
- package/dist/mcp/tools/list-functions.d.ts.map +1 -1
- package/dist/mcp/tools/list-functions.js.map +1 -1
- package/dist/mcp/tools/list-repos.d.ts +7 -10
- package/dist/mcp/tools/list-repos.d.ts.map +1 -1
- package/dist/mcp/tools/list-repos.js.map +1 -1
- package/dist/mcp/tools/module-map.d.ts +8 -2
- package/dist/mcp/tools/module-map.d.ts.map +1 -1
- package/dist/mcp/tools/module-map.js.map +1 -1
- package/dist/mcp/tools/node-roles.d.ts +11 -2
- package/dist/mcp/tools/node-roles.d.ts.map +1 -1
- package/dist/mcp/tools/node-roles.js.map +1 -1
- package/dist/mcp/tools/path.d.ts +13 -2
- package/dist/mcp/tools/path.d.ts.map +1 -1
- package/dist/mcp/tools/path.js.map +1 -1
- package/dist/mcp/tools/query.d.ts +19 -2
- package/dist/mcp/tools/query.d.ts.map +1 -1
- package/dist/mcp/tools/query.js +1 -1
- package/dist/mcp/tools/query.js.map +1 -1
- package/dist/mcp/tools/semantic-search.d.ts +11 -45
- package/dist/mcp/tools/semantic-search.d.ts.map +1 -1
- package/dist/mcp/tools/semantic-search.js +2 -2
- package/dist/mcp/tools/semantic-search.js.map +1 -1
- package/dist/mcp/tools/sequence.d.ts +15 -17
- package/dist/mcp/tools/sequence.d.ts.map +1 -1
- package/dist/mcp/tools/sequence.js +1 -1
- package/dist/mcp/tools/sequence.js.map +1 -1
- package/dist/mcp/tools/structure.d.ts +12 -2
- package/dist/mcp/tools/structure.d.ts.map +1 -1
- package/dist/mcp/tools/structure.js.map +1 -1
- package/dist/mcp/tools/symbol-children.d.ts +12 -2
- package/dist/mcp/tools/symbol-children.d.ts.map +1 -1
- package/dist/mcp/tools/symbol-children.js +1 -1
- package/dist/mcp/tools/symbol-children.js.map +1 -1
- package/dist/mcp/tools/triage.d.ts +16 -2
- package/dist/mcp/tools/triage.d.ts.map +1 -1
- package/dist/mcp/tools/triage.js +1 -1
- package/dist/mcp/tools/triage.js.map +1 -1
- package/dist/mcp/tools/where.d.ts +11 -2
- package/dist/mcp/tools/where.d.ts.map +1 -1
- package/dist/mcp/tools/where.js.map +1 -1
- package/dist/presentation/audit.d.ts +14 -4
- package/dist/presentation/audit.d.ts.map +1 -1
- package/dist/presentation/audit.js +1 -3
- package/dist/presentation/audit.js.map +1 -1
- package/dist/presentation/batch.d.ts +19 -9
- package/dist/presentation/batch.d.ts.map +1 -1
- package/dist/presentation/batch.js +3 -8
- package/dist/presentation/batch.js.map +1 -1
- package/dist/presentation/branch-compare.d.ts +12 -1
- package/dist/presentation/branch-compare.d.ts.map +1 -1
- package/dist/presentation/branch-compare.js +7 -9
- package/dist/presentation/branch-compare.js.map +1 -1
- package/dist/presentation/brief.d.ts +8 -11
- package/dist/presentation/brief.d.ts.map +1 -1
- package/dist/presentation/brief.js +0 -10
- package/dist/presentation/brief.js.map +1 -1
- package/dist/presentation/cfg.d.ts +12 -4
- package/dist/presentation/cfg.d.ts.map +1 -1
- package/dist/presentation/cfg.js +0 -3
- package/dist/presentation/cfg.js.map +1 -1
- package/dist/presentation/check.d.ts +18 -4
- package/dist/presentation/check.d.ts.map +1 -1
- package/dist/presentation/check.js +10 -4
- package/dist/presentation/check.js.map +1 -1
- package/dist/presentation/cochange.d.ts +31 -8
- package/dist/presentation/cochange.d.ts.map +1 -1
- package/dist/presentation/cochange.js +0 -6
- package/dist/presentation/cochange.js.map +1 -1
- package/dist/presentation/colors.d.ts +11 -25
- package/dist/presentation/colors.d.ts.map +1 -1
- package/dist/presentation/colors.js +3 -0
- package/dist/presentation/colors.js.map +1 -1
- package/dist/presentation/communities.d.ts +10 -4
- package/dist/presentation/communities.d.ts.map +1 -1
- package/dist/presentation/communities.js +0 -3
- package/dist/presentation/communities.js.map +1 -1
- package/dist/presentation/complexity.d.ts +16 -4
- package/dist/presentation/complexity.d.ts.map +1 -1
- package/dist/presentation/complexity.js +0 -3
- package/dist/presentation/complexity.js.map +1 -1
- package/dist/presentation/dataflow.d.ts +13 -4
- package/dist/presentation/dataflow.d.ts.map +1 -1
- package/dist/presentation/dataflow.js +12 -17
- package/dist/presentation/dataflow.js.map +1 -1
- package/dist/presentation/export.d.ts +82 -89
- package/dist/presentation/export.d.ts.map +1 -1
- package/dist/presentation/export.js +0 -63
- package/dist/presentation/export.js.map +1 -1
- package/dist/presentation/flow.d.ts +15 -4
- package/dist/presentation/flow.d.ts.map +1 -1
- package/dist/presentation/flow.js +6 -3
- package/dist/presentation/flow.js.map +1 -1
- package/dist/presentation/manifesto.d.ts +12 -4
- package/dist/presentation/manifesto.d.ts.map +1 -1
- package/dist/presentation/manifesto.js +1 -3
- package/dist/presentation/manifesto.js.map +1 -1
- package/dist/presentation/owners.d.ts +15 -4
- package/dist/presentation/owners.d.ts.map +1 -1
- package/dist/presentation/owners.js +0 -3
- package/dist/presentation/owners.js.map +1 -1
- package/dist/presentation/queries-cli/exports.d.ts +11 -1
- package/dist/presentation/queries-cli/exports.d.ts.map +1 -1
- package/dist/presentation/queries-cli/exports.js.map +1 -1
- package/dist/presentation/queries-cli/impact.d.ts +22 -5
- package/dist/presentation/queries-cli/impact.d.ts.map +1 -1
- package/dist/presentation/queries-cli/impact.js +2 -2
- package/dist/presentation/queries-cli/impact.js.map +1 -1
- package/dist/presentation/queries-cli/index.d.ts +5 -5
- package/dist/presentation/queries-cli/index.d.ts.map +1 -1
- package/dist/presentation/queries-cli/index.js.map +1 -1
- package/dist/presentation/queries-cli/inspect.d.ts +22 -7
- package/dist/presentation/queries-cli/inspect.d.ts.map +1 -1
- package/dist/presentation/queries-cli/inspect.js.map +1 -1
- package/dist/presentation/queries-cli/overview.d.ts +17 -3
- package/dist/presentation/queries-cli/overview.d.ts.map +1 -1
- package/dist/presentation/queries-cli/overview.js +1 -1
- package/dist/presentation/queries-cli/overview.js.map +1 -1
- package/dist/presentation/queries-cli/path.d.ts +14 -1
- package/dist/presentation/queries-cli/path.d.ts.map +1 -1
- package/dist/presentation/queries-cli/path.js.map +1 -1
- package/dist/presentation/queries-cli.d.ts +11 -1
- package/dist/presentation/queries-cli.d.ts.map +1 -1
- package/dist/presentation/queries-cli.js.map +1 -1
- package/dist/presentation/query.d.ts +1 -1
- package/dist/presentation/query.d.ts.map +1 -1
- package/dist/presentation/query.js +0 -4
- package/dist/presentation/query.js.map +1 -1
- package/dist/presentation/result-formatter.d.ts +12 -9
- package/dist/presentation/result-formatter.d.ts.map +1 -1
- package/dist/presentation/result-formatter.js +10 -35
- package/dist/presentation/result-formatter.js.map +1 -1
- package/dist/presentation/sequence-renderer.d.ts +18 -11
- package/dist/presentation/sequence-renderer.d.ts.map +1 -1
- package/dist/presentation/sequence-renderer.js +2 -15
- package/dist/presentation/sequence-renderer.js.map +1 -1
- package/dist/presentation/sequence.d.ts +14 -4
- package/dist/presentation/sequence.d.ts.map +1 -1
- package/dist/presentation/sequence.js +1 -3
- package/dist/presentation/sequence.js.map +1 -1
- package/dist/presentation/structure.d.ts +44 -6
- package/dist/presentation/structure.d.ts.map +1 -1
- package/dist/presentation/structure.js +1 -1
- package/dist/presentation/structure.js.map +1 -1
- package/dist/presentation/table.d.ts +12 -16
- package/dist/presentation/table.d.ts.map +1 -1
- package/dist/presentation/table.js +0 -6
- package/dist/presentation/table.js.map +1 -1
- package/dist/presentation/triage.d.ts +18 -4
- package/dist/presentation/triage.d.ts.map +1 -1
- package/dist/presentation/triage.js +3 -5
- package/dist/presentation/triage.js.map +1 -1
- package/dist/presentation/viewer.d.ts +79 -62
- package/dist/presentation/viewer.d.ts.map +1 -1
- package/dist/presentation/viewer.js +25 -47
- package/dist/presentation/viewer.js.map +1 -1
- package/dist/shared/constants.d.ts +6 -6
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/errors.d.ts +21 -29
- package/dist/shared/errors.d.ts.map +1 -1
- package/dist/shared/errors.js +0 -9
- package/dist/shared/errors.js.map +1 -1
- package/dist/shared/file-utils.d.ts +22 -9
- package/dist/shared/file-utils.d.ts.map +1 -1
- package/dist/shared/file-utils.js +2 -3
- package/dist/shared/file-utils.js.map +1 -1
- package/dist/shared/generators.d.ts +47 -52
- package/dist/shared/generators.d.ts.map +1 -1
- package/dist/shared/generators.js +5 -19
- package/dist/shared/generators.js.map +1 -1
- package/dist/shared/hierarchy.d.ts +2 -1
- package/dist/shared/hierarchy.d.ts.map +1 -1
- package/dist/shared/hierarchy.js.map +1 -1
- package/dist/shared/kinds.d.ts +11 -10
- package/dist/shared/kinds.d.ts.map +1 -1
- package/dist/shared/kinds.js +14 -3
- package/dist/shared/kinds.js.map +1 -1
- package/dist/shared/normalize.d.ts +24 -11
- package/dist/shared/normalize.d.ts.map +1 -1
- package/dist/shared/normalize.js +1 -5
- package/dist/shared/normalize.js.map +1 -1
- package/dist/shared/paginate.d.ts +33 -59
- package/dist/shared/paginate.d.ts.map +1 -1
- package/dist/shared/paginate.js +0 -14
- package/dist/shared/paginate.js.map +1 -1
- package/dist/types.d.ts +234 -15
- package/dist/types.d.ts.map +1 -1
- package/package.json +14 -15
- package/src/ast-analysis/{engine.js → engine.ts} +151 -64
- package/src/ast-analysis/{metrics.js → metrics.ts} +14 -4
- package/src/ast-analysis/rules/{csharp.js → csharp.ts} +11 -9
- package/src/ast-analysis/rules/{go.js → go.ts} +12 -10
- package/src/ast-analysis/rules/{index.js → index.ts} +14 -14
- package/src/ast-analysis/rules/{java.js → java.ts} +11 -9
- package/src/ast-analysis/rules/{javascript.js → javascript.ts} +11 -11
- package/src/ast-analysis/rules/{php.js → php.ts} +11 -9
- package/src/ast-analysis/rules/{python.js → python.ts} +11 -9
- package/src/ast-analysis/rules/{ruby.js → ruby.ts} +11 -9
- package/src/ast-analysis/rules/{rust.js → rust.ts} +11 -9
- package/src/ast-analysis/{shared.js → shared.ts} +44 -43
- package/src/ast-analysis/{visitor-utils.js → visitor-utils.ts} +49 -12
- package/src/ast-analysis/{visitor.js → visitor.ts} +29 -31
- package/src/ast-analysis/visitors/{ast-store-visitor.js → ast-store-visitor.ts} +44 -36
- package/src/ast-analysis/visitors/{cfg-visitor.js → cfg-visitor.ts} +251 -155
- package/src/ast-analysis/visitors/{complexity-visitor.js → complexity-visitor.ts} +74 -61
- package/src/ast-analysis/visitors/{dataflow-visitor.js → dataflow-visitor.ts} +149 -63
- package/src/cli/commands/{ast.js → ast.ts} +3 -2
- package/src/cli/commands/{audit.js → audit.ts} +7 -6
- package/src/cli/commands/{batch.js → batch.ts} +30 -14
- package/src/cli/commands/{branch-compare.js → branch-compare.ts} +6 -4
- package/src/cli/commands/{brief.js → brief.ts} +3 -2
- package/src/cli/commands/{build.js → build.ts} +10 -8
- package/src/cli/commands/{cfg.js → cfg.ts} +4 -3
- package/src/cli/commands/{check.js → check.ts} +7 -6
- package/src/cli/commands/{children.js → children.ts} +4 -3
- package/src/cli/commands/{co-change.js → co-change.ts} +17 -12
- package/src/cli/commands/{communities.js → communities.ts} +4 -2
- package/src/cli/commands/{complexity.js → complexity.ts} +5 -4
- package/src/cli/commands/{context.js → context.ts} +5 -4
- package/src/cli/commands/{cycles.js → cycles.ts} +4 -3
- package/src/cli/commands/{dataflow.js → dataflow.ts} +5 -4
- package/src/cli/commands/{deps.js → deps.ts} +4 -3
- package/src/cli/commands/{diff-impact.js → diff-impact.ts} +3 -2
- package/src/cli/commands/{embed.js → embed.ts} +6 -4
- package/src/cli/commands/{export.js → export.ts} +8 -7
- package/src/cli/commands/{exports.js → exports.ts} +3 -2
- package/src/cli/commands/{flow.js → flow.ts} +4 -3
- package/src/cli/commands/{fn-impact.js → fn-impact.ts} +5 -4
- package/src/cli/commands/{impact.js → impact.ts} +3 -2
- package/src/cli/commands/{implementations.js → implementations.ts} +4 -3
- package/src/cli/commands/{info.js → info.ts} +6 -3
- package/src/cli/commands/{interfaces.js → interfaces.ts} +4 -3
- package/src/cli/commands/{map.js → map.ts} +3 -2
- package/src/cli/commands/{mcp.js → mcp.ts} +8 -7
- package/src/cli/commands/models.ts +29 -0
- package/src/cli/commands/{owners.js → owners.ts} +3 -2
- package/src/cli/commands/{path.js → path.ts} +6 -5
- package/src/cli/commands/{plot.js → plot.ts} +35 -14
- package/src/cli/commands/{query.js → query.ts} +8 -7
- package/src/cli/commands/{registry.js → registry.ts} +12 -6
- package/src/cli/commands/{roles.js → roles.ts} +3 -2
- package/src/cli/commands/{search.js → search.ts} +12 -15
- package/src/cli/commands/{sequence.js → sequence.ts} +5 -4
- package/src/cli/commands/{snapshot.js → snapshot.ts} +5 -4
- package/src/cli/commands/{stats.js → stats.ts} +2 -1
- package/src/cli/commands/{structure.js → structure.ts} +4 -2
- package/src/cli/commands/{triage.js → triage.ts} +14 -13
- package/src/cli/commands/{watch.js → watch.ts} +3 -2
- package/src/cli/commands/{where.js → where.ts} +3 -2
- package/src/cli/{index.js → index.ts} +40 -15
- package/src/cli/shared/{open-graph.js → open-graph.ts} +5 -5
- package/src/cli/shared/{options.js → options.ts} +6 -6
- package/src/cli/types.ts +33 -0
- package/src/{cli.js → cli.ts} +3 -2
- package/src/db/{connection.js → connection.ts} +46 -37
- package/src/db/{index.js → index.ts} +4 -0
- package/src/db/{migrations.js → migrations.ts} +33 -11
- package/src/db/{query-builder.js → query-builder.ts} +50 -65
- package/src/db/repository/base.ts +192 -0
- package/src/db/repository/{build-stmts.js → build-stmts.ts} +28 -22
- package/src/db/repository/{cached-stmt.js → cached-stmt.ts} +8 -7
- package/src/db/repository/{cfg.js → cfg.ts} +27 -18
- package/src/db/repository/{cochange.js → cochange.ts} +8 -14
- package/src/db/repository/{complexity.js → complexity.ts} +6 -5
- package/src/db/repository/dataflow.ts +19 -0
- package/src/db/repository/{edges.js → edges.ts} +57 -95
- package/src/db/repository/{embeddings.js → embeddings.ts} +10 -14
- package/src/db/repository/{graph-read.js → graph-read.ts} +17 -17
- package/src/db/repository/{in-memory-repository.js → in-memory-repository.ts} +155 -93
- package/src/db/repository/{index.js → index.ts} +2 -0
- package/src/db/repository/{nodes.js → nodes.ts} +120 -106
- package/src/db/repository/{sqlite-repository.js → sqlite-repository.ts} +71 -42
- package/src/domain/analysis/{brief.js → brief.ts} +34 -19
- package/src/domain/analysis/{context.js → context.ts} +179 -79
- package/src/domain/analysis/{dependencies.js → dependencies.ts} +149 -61
- package/src/domain/analysis/{exports.js → exports.ts} +101 -54
- package/src/domain/analysis/{impact.js → impact.ts} +178 -132
- package/src/domain/analysis/{implementations.js → implementations.ts} +13 -14
- package/src/domain/analysis/{module-map.js → module-map.ts} +128 -61
- package/src/domain/analysis/{roles.js → roles.ts} +24 -6
- package/src/domain/analysis/{symbol-lookup.js → symbol-lookup.ts} +78 -34
- package/src/domain/graph/builder/context.ts +81 -0
- package/src/domain/graph/builder/helpers.ts +289 -0
- package/src/domain/graph/builder/{incremental.js → incremental.ts} +179 -76
- package/src/domain/graph/builder/{pipeline.js → pipeline.ts} +33 -27
- package/src/domain/graph/builder/stages/{build-edges.js → build-edges.ts} +174 -56
- package/src/domain/graph/builder/stages/{build-structure.js → build-structure.ts} +34 -17
- package/src/domain/graph/builder/stages/{collect-files.js → collect-files.ts} +6 -8
- package/src/domain/graph/builder/stages/{detect-changes.js → detect-changes.ts} +156 -123
- package/src/domain/graph/builder/stages/{finalize.js → finalize.ts} +79 -41
- package/src/domain/graph/builder/stages/{insert-nodes.js → insert-nodes.ts} +102 -47
- package/src/domain/graph/builder/stages/{parse-files.js → parse-files.ts} +2 -4
- package/src/domain/graph/builder/stages/{resolve-imports.js → resolve-imports.ts} +26 -39
- package/src/domain/graph/builder/stages/{run-analyses.js → run-analyses.ts} +10 -7
- package/src/domain/graph/{change-journal.js → change-journal.ts} +48 -37
- package/src/domain/graph/cycles.ts +66 -0
- package/src/domain/graph/{journal.js → journal.ts} +22 -26
- package/src/domain/graph/{resolve.js → resolve.ts} +125 -35
- package/src/domain/graph/{watcher.js → watcher.ts} +45 -19
- package/src/domain/{parser.js → parser.ts} +151 -105
- package/src/domain/{queries.js → queries.ts} +1 -1
- package/src/domain/search/{generator.js → generator.ts} +28 -21
- package/src/domain/search/{index.js → index.ts} +2 -0
- package/src/domain/search/{models.js → models.ts} +62 -38
- package/src/domain/search/search/{cli-formatter.js → cli-formatter.ts} +22 -21
- package/src/domain/search/search/{filters.js → filters.ts} +7 -19
- package/src/domain/search/search/{hybrid.js → hybrid.ts} +69 -25
- package/src/domain/search/search/{keyword.js → keyword.ts} +42 -16
- package/src/domain/search/search/{prepare.js → prepare.ts} +34 -13
- package/src/domain/search/search/{semantic.js → semantic.ts} +73 -37
- package/src/domain/search/stores/{fts5.js → fts5.ts} +8 -8
- package/src/domain/search/stores/sqlite-blob.ts +15 -0
- package/src/domain/search/strategies/{source.js → source.ts} +6 -1
- package/src/domain/search/strategies/{structured.js → structured.ts} +12 -7
- package/src/domain/search/strategies/{text-utils.js → text-utils.ts} +9 -11
- package/src/extractors/{csharp.js → csharp.ts} +71 -42
- package/src/extractors/{go.js → go.ts} +105 -30
- package/src/extractors/{hcl.js → hcl.ts} +52 -27
- package/src/extractors/{helpers.js → helpers.ts} +20 -15
- package/src/extractors/{java.js → java.ts} +43 -24
- package/src/extractors/{javascript.js → javascript.ts} +165 -133
- package/src/extractors/{php.js → php.ts} +45 -32
- package/src/extractors/{python.js → python.ts} +63 -36
- package/src/extractors/{ruby.js → ruby.ts} +40 -25
- package/src/extractors/{rust.js → rust.ts} +41 -31
- package/src/features/{ast.js → ast.ts} +117 -72
- package/src/features/{audit.js → audit.ts} +173 -54
- package/src/features/batch.ts +182 -0
- package/src/features/{boundaries.js → boundaries.ts} +101 -116
- package/src/features/{branch-compare.js → branch-compare.ts} +153 -81
- package/src/features/{cfg.js → cfg.ts} +230 -88
- package/src/features/{check.js → check.ts} +143 -70
- package/src/features/{cochange.js → cochange.ts} +117 -97
- package/src/features/{communities.js → communities.ts} +85 -57
- package/src/features/{complexity.js → complexity.ts} +256 -156
- package/src/features/{dataflow.js → dataflow.ts} +242 -143
- package/src/features/{export.js → export.ts} +164 -52
- package/src/features/{flow.js → flow.ts} +63 -45
- package/src/features/{graph-enrichment.js → graph-enrichment.ts} +138 -49
- package/src/features/{manifesto.js → manifesto.ts} +138 -77
- package/src/features/{owners.js → owners.ts} +88 -73
- package/src/features/{sequence.js → sequence.ts} +114 -65
- package/src/features/shared/{find-nodes.js → find-nodes.ts} +10 -13
- package/src/features/{snapshot.js → snapshot.ts} +28 -47
- package/src/features/{structure.js → structure.ts} +309 -130
- package/src/features/{triage.js → triage.ts} +80 -42
- package/src/graph/algorithms/{bfs.js → bfs.ts} +18 -10
- package/src/graph/algorithms/{centrality.js → centrality.ts} +9 -5
- package/src/graph/algorithms/{index.js → index.ts} +1 -0
- package/src/graph/algorithms/leiden/LICENSE +24 -0
- package/src/graph/algorithms/leiden/adapter.ts +204 -0
- package/src/graph/algorithms/leiden/cpm.ts +77 -0
- package/src/graph/algorithms/leiden/index.ts +185 -0
- package/src/graph/algorithms/leiden/modularity.ts +122 -0
- package/src/graph/algorithms/leiden/optimiser.ts +598 -0
- package/src/graph/algorithms/leiden/partition.ts +479 -0
- package/src/graph/algorithms/leiden/rng.ts +20 -0
- package/src/graph/algorithms/louvain.ts +47 -0
- package/src/graph/algorithms/{shortest-path.js → shortest-path.ts} +9 -10
- package/src/graph/algorithms/{tarjan.js → tarjan.ts} +15 -14
- package/src/graph/builders/{dependency.js → dependency.ts} +43 -17
- package/src/graph/builders/structure.ts +58 -0
- package/src/graph/builders/temporal.ts +51 -0
- package/src/graph/classifiers/{risk.js → risk.ts} +52 -22
- package/src/graph/classifiers/{roles.js → roles.ts} +32 -16
- package/src/graph/{model.js → model.ts} +49 -58
- package/src/index.cjs +1 -1
- package/src/infrastructure/{config.js → config.ts} +82 -54
- package/src/infrastructure/{logger.js → logger.ts} +6 -6
- package/src/infrastructure/{native.js → native.ts} +16 -15
- package/src/infrastructure/{registry.js → registry.ts} +48 -16
- package/src/infrastructure/{test-filter.js → test-filter.ts} +1 -1
- package/src/infrastructure/{update-check.js → update-check.ts} +30 -16
- package/src/mcp/{middleware.js → middleware.ts} +6 -12
- package/src/mcp/server.ts +249 -0
- package/src/mcp/{tool-registry.js → tool-registry.ts} +16 -9
- package/src/mcp/tools/{ast-query.js → ast-query.ts} +12 -1
- package/src/mcp/tools/{audit.js → audit.ts} +14 -2
- package/src/mcp/tools/batch-query.ts +22 -0
- package/src/mcp/tools/{branch-compare.js → branch-compare.ts} +11 -1
- package/src/mcp/tools/brief.ts +15 -0
- package/src/mcp/tools/{cfg.js → cfg.ts} +13 -2
- package/src/mcp/tools/{check.js → check.ts} +20 -3
- package/src/mcp/tools/{co-changes.js → co-changes.ts} +10 -1
- package/src/mcp/tools/code-owners.ts +22 -0
- package/src/mcp/tools/{communities.js → communities.ts} +11 -1
- package/src/mcp/tools/{complexity.js → complexity.ts} +14 -2
- package/src/mcp/tools/{context.js → context.ts} +14 -1
- package/src/mcp/tools/{dataflow.js → dataflow.ts} +15 -3
- package/src/mcp/tools/{diff-impact.js → diff-impact.ts} +12 -1
- package/src/mcp/tools/{execution-flow.js → execution-flow.ts} +13 -1
- package/src/mcp/tools/{export-graph.js → export-graph.ts} +13 -3
- package/src/mcp/tools/{file-deps.js → file-deps.ts} +9 -1
- package/src/mcp/tools/{file-exports.js → file-exports.ts} +10 -1
- package/src/mcp/tools/{find-cycles.js → find-cycles.ts} +5 -1
- package/src/mcp/tools/{fn-impact.js → fn-impact.ts} +12 -1
- package/src/mcp/tools/impact-analysis.ts +15 -0
- package/src/mcp/tools/{implementations.js → implementations.ts} +11 -1
- package/src/mcp/tools/{index.js → index.ts} +11 -3
- package/src/mcp/tools/{interfaces.js → interfaces.ts} +11 -1
- package/src/mcp/tools/{list-functions.js → list-functions.ts} +10 -1
- package/src/mcp/tools/list-repos.ts +17 -0
- package/src/mcp/tools/module-map.ts +13 -0
- package/src/mcp/tools/{node-roles.js → node-roles.ts} +10 -1
- package/src/mcp/tools/path.ts +24 -0
- package/src/mcp/tools/{query.js → query.ts} +19 -2
- package/src/mcp/tools/{semantic-search.js → semantic-search.ts} +13 -4
- package/src/mcp/tools/{sequence.js → sequence.ts} +15 -2
- package/src/mcp/tools/{structure.js → structure.ts} +11 -1
- package/src/mcp/tools/symbol-children.ts +24 -0
- package/src/mcp/tools/{triage.js → triage.ts} +20 -5
- package/src/mcp/tools/{where.js → where.ts} +10 -1
- package/src/presentation/{audit.js → audit.ts} +23 -6
- package/src/presentation/batch.ts +49 -0
- package/src/presentation/{branch-compare.js → branch-compare.ts} +59 -12
- package/src/presentation/{brief.js → brief.ts} +26 -14
- package/src/presentation/{cfg.js → cfg.ts} +37 -5
- package/src/presentation/{check.js → check.ts} +61 -5
- package/src/presentation/{cochange.js → cochange.ts} +30 -10
- package/src/presentation/{colors.js → colors.ts} +8 -3
- package/src/presentation/{communities.js → communities.ts} +45 -5
- package/src/presentation/{complexity.js → complexity.ts} +49 -5
- package/src/presentation/dataflow.ts +173 -0
- package/src/presentation/{export.js → export.ts} +160 -95
- package/src/presentation/{flow.js → flow.ts} +39 -8
- package/src/presentation/{manifesto.js → manifesto.ts} +26 -7
- package/src/presentation/{owners.js → owners.ts} +43 -6
- package/src/presentation/queries-cli/{exports.js → exports.ts} +49 -8
- package/src/presentation/queries-cli/{impact.js → impact.ts} +139 -23
- package/src/presentation/queries-cli/{inspect.js → inspect.ts} +209 -28
- package/src/presentation/queries-cli/{overview.js → overview.ts} +151 -30
- package/src/presentation/queries-cli/{path.js → path.ts} +53 -9
- package/src/presentation/{query.js → query.ts} +0 -4
- package/src/presentation/{result-formatter.js → result-formatter.ts} +44 -48
- package/src/presentation/sequence-renderer.ts +46 -0
- package/src/presentation/{sequence.js → sequence.ts} +16 -5
- package/src/presentation/{structure.js → structure.ts} +62 -5
- package/src/presentation/{table.js → table.ts} +14 -8
- package/src/presentation/{triage.js → triage.ts} +44 -8
- package/src/presentation/{viewer.js → viewer.ts} +96 -54
- package/src/shared/{constants.js → constants.ts} +4 -4
- package/src/shared/{errors.js → errors.ts} +16 -20
- package/src/shared/{file-utils.js → file-utils.ts} +55 -23
- package/src/shared/{generators.js → generators.ts} +78 -31
- package/src/shared/{hierarchy.js → hierarchy.ts} +12 -6
- package/src/shared/{kinds.js → kinds.ts} +34 -12
- package/src/shared/{normalize.js → normalize.ts} +37 -10
- package/src/shared/{paginate.js → paginate.ts} +30 -19
- package/src/types.ts +258 -17
- package/src/vendor.d.ts +39 -0
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -3
- package/dist/index.d.cts.map +0 -1
- package/src/cli/commands/models.js +0 -19
- package/src/db/repository/base.js +0 -201
- package/src/db/repository/dataflow.js +0 -17
- package/src/domain/graph/builder/context.js +0 -85
- package/src/domain/graph/builder/helpers.js +0 -218
- package/src/domain/graph/cycles.js +0 -82
- package/src/domain/search/stores/sqlite-blob.js +0 -24
- package/src/features/batch.js +0 -156
- package/src/graph/algorithms/louvain.js +0 -26
- package/src/graph/builders/structure.js +0 -40
- package/src/graph/builders/temporal.js +0 -33
- package/src/mcp/server.js +0 -143
- package/src/mcp/tools/batch-query.js +0 -11
- package/src/mcp/tools/brief.js +0 -8
- package/src/mcp/tools/code-owners.js +0 -12
- package/src/mcp/tools/impact-analysis.js +0 -12
- package/src/mcp/tools/list-repos.js +0 -11
- package/src/mcp/tools/module-map.js +0 -6
- package/src/mcp/tools/path.js +0 -12
- package/src/mcp/tools/symbol-children.js +0 -14
- package/src/presentation/batch.js +0 -26
- package/src/presentation/dataflow.js +0 -110
- package/src/presentation/sequence-renderer.js +0 -43
- /package/src/cli/shared/{output.js → output.ts} +0 -0
- /package/src/domain/graph/{builder.js → builder.ts} +0 -0
- /package/src/extractors/{index.js → index.ts} +0 -0
- /package/src/graph/builders/{index.js → index.ts} +0 -0
- /package/src/graph/classifiers/{index.js → index.ts} +0 -0
- /package/src/graph/{index.js → index.ts} +0 -0
- /package/src/{index.js → index.ts} +0 -0
- /package/src/infrastructure/{result-formatter.js → result-formatter.ts} +0 -0
- /package/src/mcp/{index.js → index.ts} +0 -0
- /package/src/presentation/queries-cli/{index.js → index.ts} +0 -0
- /package/src/presentation/{queries-cli.js → queries-cli.ts} +0 -0
|
@@ -5,28 +5,34 @@ import { info } from '../../infrastructure/logger.js';
|
|
|
5
5
|
import { EXTENSIONS, IGNORE_DIRS, normalizePath } from '../../shared/constants.js';
|
|
6
6
|
import { DbError } from '../../shared/errors.js';
|
|
7
7
|
import { createParseTreeCache, getActiveEngine } from '../parser.js';
|
|
8
|
-
import { rebuildFile } from './builder/incremental.js';
|
|
8
|
+
import { type IncrementalStmts, rebuildFile } from './builder/incremental.js';
|
|
9
9
|
import { appendChangeEvents, buildChangeEvent, diffSymbols } from './change-journal.js';
|
|
10
10
|
import { appendJournalEntries } from './journal.js';
|
|
11
11
|
|
|
12
|
-
function shouldIgnore(filePath) {
|
|
12
|
+
function shouldIgnore(filePath: string): boolean {
|
|
13
13
|
const parts = filePath.split(path.sep);
|
|
14
14
|
return parts.some((p) => IGNORE_DIRS.has(p));
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
function isTrackedExt(filePath) {
|
|
17
|
+
function isTrackedExt(filePath: string): boolean {
|
|
18
18
|
return EXTENSIONS.has(path.extname(filePath));
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export async function watchProject(rootDir, opts = {}) {
|
|
21
|
+
export async function watchProject(rootDir: string, opts: { engine?: string } = {}): Promise<void> {
|
|
22
22
|
const dbPath = path.join(rootDir, '.codegraph', 'graph.db');
|
|
23
23
|
if (!fs.existsSync(dbPath)) {
|
|
24
24
|
throw new DbError('No graph.db found. Run `codegraph build` first.', { file: dbPath });
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
const db = openDb(dbPath);
|
|
27
|
+
const db = openDb(dbPath) as import('better-sqlite3').Database;
|
|
28
|
+
// Alias for functions expecting the project's BetterSqlite3Database interface
|
|
29
|
+
const typedDb = db as unknown as import('../../types.js').BetterSqlite3Database;
|
|
28
30
|
initSchema(db);
|
|
29
|
-
const engineOpts
|
|
31
|
+
const engineOpts: import('../../types.js').EngineOpts = {
|
|
32
|
+
engine: (opts.engine || 'auto') as import('../../types.js').EngineMode,
|
|
33
|
+
dataflow: false,
|
|
34
|
+
ast: false,
|
|
35
|
+
};
|
|
30
36
|
const { name: engineName, version: engineVersion } = getActiveEngine(engineOpts);
|
|
31
37
|
console.log(
|
|
32
38
|
`Watch mode using ${engineName} engine${engineVersion ? ` (v${engineVersion})` : ''}`,
|
|
@@ -44,8 +50,8 @@ export async function watchProject(rootDir, opts = {}) {
|
|
|
44
50
|
'INSERT OR IGNORE INTO nodes (name, kind, file, line, end_line) VALUES (?, ?, ?, ?, ?)',
|
|
45
51
|
),
|
|
46
52
|
getNodeId: {
|
|
47
|
-
get: (name, kind, file, line) => {
|
|
48
|
-
const id = getNodeIdQuery(
|
|
53
|
+
get: (name: string, kind: string, file: string, line: number) => {
|
|
54
|
+
const id = getNodeIdQuery(typedDb, name, kind, file, line);
|
|
49
55
|
return id != null ? { id } : undefined;
|
|
50
56
|
},
|
|
51
57
|
},
|
|
@@ -53,9 +59,9 @@ export async function watchProject(rootDir, opts = {}) {
|
|
|
53
59
|
'INSERT INTO edges (source_id, target_id, kind, confidence, dynamic) VALUES (?, ?, ?, ?, ?)',
|
|
54
60
|
),
|
|
55
61
|
deleteNodes: db.prepare('DELETE FROM nodes WHERE file = ?'),
|
|
56
|
-
deleteEdgesForFile: null,
|
|
62
|
+
deleteEdgesForFile: null as { run: (f: string) => void } | null,
|
|
57
63
|
countNodes: db.prepare('SELECT COUNT(*) as c FROM nodes WHERE file = ?'),
|
|
58
|
-
countEdgesForFile: null,
|
|
64
|
+
countEdgesForFile: null as { get: (f: string) => { c: number } | undefined } | null,
|
|
59
65
|
findNodeInFile: db.prepare(
|
|
60
66
|
"SELECT id, file FROM nodes WHERE name = ? AND kind IN ('function', 'method', 'class', 'interface', 'type', 'struct', 'enum', 'trait', 'record', 'module', 'constant') AND file = ?",
|
|
61
67
|
),
|
|
@@ -72,22 +78,42 @@ export async function watchProject(rootDir, opts = {}) {
|
|
|
72
78
|
const origCountEdges = db.prepare(
|
|
73
79
|
`SELECT COUNT(*) as c FROM edges WHERE source_id IN (SELECT id FROM nodes WHERE file = @f) OR target_id IN (SELECT id FROM nodes WHERE file = @f)`,
|
|
74
80
|
);
|
|
75
|
-
stmts.deleteEdgesForFile = { run: (f) => origDeleteEdges.run({ f }) };
|
|
76
|
-
stmts.countEdgesForFile = {
|
|
81
|
+
stmts.deleteEdgesForFile = { run: (f: string) => origDeleteEdges.run({ f }) };
|
|
82
|
+
stmts.countEdgesForFile = {
|
|
83
|
+
get: (f: string) => origCountEdges.get({ f }) as { c: number } | undefined,
|
|
84
|
+
};
|
|
77
85
|
|
|
78
|
-
const pending = new Set();
|
|
79
|
-
let timer = null;
|
|
86
|
+
const pending = new Set<string>();
|
|
87
|
+
let timer: ReturnType<typeof setTimeout> | null = null;
|
|
80
88
|
const DEBOUNCE_MS = 300;
|
|
81
89
|
|
|
82
|
-
async function processPending() {
|
|
90
|
+
async function processPending(): Promise<void> {
|
|
83
91
|
const files = [...pending];
|
|
84
92
|
pending.clear();
|
|
85
93
|
|
|
86
|
-
const results
|
|
94
|
+
const results: Array<{
|
|
95
|
+
file: string;
|
|
96
|
+
deleted?: boolean;
|
|
97
|
+
event: string;
|
|
98
|
+
symbolDiff: unknown;
|
|
99
|
+
nodesBefore: number;
|
|
100
|
+
nodesAfter: number;
|
|
101
|
+
nodesAdded: number;
|
|
102
|
+
nodesRemoved: number;
|
|
103
|
+
edgesAdded: number;
|
|
104
|
+
}> = [];
|
|
87
105
|
for (const filePath of files) {
|
|
88
|
-
const result = await rebuildFile(
|
|
89
|
-
|
|
90
|
-
|
|
106
|
+
const result = (await rebuildFile(
|
|
107
|
+
db,
|
|
108
|
+
rootDir,
|
|
109
|
+
filePath,
|
|
110
|
+
stmts as IncrementalStmts,
|
|
111
|
+
engineOpts,
|
|
112
|
+
cache,
|
|
113
|
+
{
|
|
114
|
+
diffSymbols: diffSymbols as (old: unknown[], new_: unknown[]) => unknown,
|
|
115
|
+
},
|
|
116
|
+
)) as (typeof results)[number] | null;
|
|
91
117
|
if (result) results.push(result);
|
|
92
118
|
}
|
|
93
119
|
const updates = results;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import type { Tree } from 'web-tree-sitter';
|
|
4
5
|
import { Language, Parser, Query } from 'web-tree-sitter';
|
|
5
6
|
import { debug, warn } from '../infrastructure/logger.js';
|
|
6
7
|
import { getNative, getNativePackageVersion, loadNative } from '../infrastructure/native.js';
|
|
8
|
+
import type {
|
|
9
|
+
EngineMode,
|
|
10
|
+
ExtractorOutput,
|
|
11
|
+
LanguageId,
|
|
12
|
+
LanguageRegistryEntry,
|
|
13
|
+
TypeMapEntry,
|
|
14
|
+
} from '../types.js';
|
|
7
15
|
|
|
8
16
|
// Re-export all extractors for backward compatibility
|
|
9
17
|
export {
|
|
@@ -32,23 +40,47 @@ import {
|
|
|
32
40
|
|
|
33
41
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
34
42
|
|
|
35
|
-
function grammarPath(name) {
|
|
43
|
+
function grammarPath(name: string): string {
|
|
36
44
|
return path.join(__dirname, '..', '..', 'grammars', name);
|
|
37
45
|
}
|
|
38
46
|
|
|
39
|
-
let _initialized = false;
|
|
47
|
+
let _initialized: boolean = false;
|
|
40
48
|
|
|
41
49
|
// Memoized parsers — avoids reloading WASM grammars on every createParsers() call
|
|
42
|
-
let _cachedParsers = null;
|
|
50
|
+
let _cachedParsers: Map<string, Parser | null> | null = null;
|
|
43
51
|
|
|
44
52
|
// Cached Language objects — WASM-backed, must be .delete()'d explicitly
|
|
45
|
-
let _cachedLanguages = null;
|
|
53
|
+
let _cachedLanguages: Map<string, Language> | null = null;
|
|
46
54
|
|
|
47
55
|
// Query cache for JS/TS/TSX extractors (populated during createParsers)
|
|
48
|
-
const _queryCache = new Map();
|
|
56
|
+
const _queryCache: Map<string, Query> = new Map();
|
|
57
|
+
|
|
58
|
+
// Extensions that need typeMap backfill (type annotations only exist in TS/TSX)
|
|
59
|
+
const TS_BACKFILL_EXTS = new Set(['.ts', '.tsx']);
|
|
60
|
+
|
|
61
|
+
// Re-export for backward compatibility
|
|
62
|
+
export type { LanguageRegistryEntry } from '../types.js';
|
|
63
|
+
|
|
64
|
+
interface ParseEngineOpts {
|
|
65
|
+
engine?: EngineMode;
|
|
66
|
+
dataflow?: boolean;
|
|
67
|
+
ast?: boolean;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
interface ResolvedEngine {
|
|
71
|
+
name: 'native' | 'wasm';
|
|
72
|
+
// biome-ignore lint/suspicious/noExplicitAny: native addon has no type declarations
|
|
73
|
+
native: any;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface WasmExtractResult {
|
|
77
|
+
symbols: ExtractorOutput;
|
|
78
|
+
tree: Tree;
|
|
79
|
+
langId: LanguageId;
|
|
80
|
+
}
|
|
49
81
|
|
|
50
82
|
// Shared patterns for all JS/TS/TSX (class_declaration excluded — name type differs)
|
|
51
|
-
const COMMON_QUERY_PATTERNS = [
|
|
83
|
+
const COMMON_QUERY_PATTERNS: string[] = [
|
|
52
84
|
'(function_declaration name: (identifier) @fn_name) @fn_node',
|
|
53
85
|
'(variable_declarator name: (identifier) @varfn_name value: (arrow_function) @varfn_value)',
|
|
54
86
|
'(variable_declarator name: (identifier) @varfn_name value: (function_expression) @varfn_value)',
|
|
@@ -62,16 +94,16 @@ const COMMON_QUERY_PATTERNS = [
|
|
|
62
94
|
];
|
|
63
95
|
|
|
64
96
|
// JS: class name is (identifier)
|
|
65
|
-
const JS_CLASS_PATTERN = '(class_declaration name: (identifier) @cls_name) @cls_node';
|
|
97
|
+
const JS_CLASS_PATTERN: string = '(class_declaration name: (identifier) @cls_name) @cls_node';
|
|
66
98
|
|
|
67
99
|
// TS/TSX: class name is (type_identifier), plus interface and type alias
|
|
68
|
-
const TS_EXTRA_PATTERNS = [
|
|
100
|
+
const TS_EXTRA_PATTERNS: string[] = [
|
|
69
101
|
'(class_declaration name: (type_identifier) @cls_name) @cls_node',
|
|
70
102
|
'(interface_declaration name: (type_identifier) @iface_name) @iface_node',
|
|
71
103
|
'(type_alias_declaration name: (type_identifier) @type_name) @type_node',
|
|
72
104
|
];
|
|
73
105
|
|
|
74
|
-
export async function createParsers() {
|
|
106
|
+
export async function createParsers(): Promise<Map<string, Parser | null>> {
|
|
75
107
|
if (_cachedParsers) return _cachedParsers;
|
|
76
108
|
|
|
77
109
|
if (!_initialized) {
|
|
@@ -79,8 +111,8 @@ export async function createParsers() {
|
|
|
79
111
|
_initialized = true;
|
|
80
112
|
}
|
|
81
113
|
|
|
82
|
-
const parsers = new Map();
|
|
83
|
-
const languages = new Map();
|
|
114
|
+
const parsers = new Map<string, Parser | null>();
|
|
115
|
+
const languages = new Map<string, Language>();
|
|
84
116
|
for (const entry of LANGUAGE_REGISTRY) {
|
|
85
117
|
try {
|
|
86
118
|
const lang = await Language.load(grammarPath(entry.grammarFile));
|
|
@@ -96,10 +128,10 @@ export async function createParsers() {
|
|
|
96
128
|
: [...COMMON_QUERY_PATTERNS, JS_CLASS_PATTERN];
|
|
97
129
|
_queryCache.set(entry.id, new Query(lang, patterns.join('\n')));
|
|
98
130
|
}
|
|
99
|
-
} catch (e) {
|
|
131
|
+
} catch (e: unknown) {
|
|
100
132
|
if (entry.required) throw e;
|
|
101
133
|
warn(
|
|
102
|
-
`${entry.id} parser failed to initialize: ${e.message}. ${entry.id} files will be skipped.`,
|
|
134
|
+
`${entry.id} parser failed to initialize: ${(e as Error).message}. ${entry.id} files will be skipped.`,
|
|
103
135
|
);
|
|
104
136
|
parsers.set(entry.id, null);
|
|
105
137
|
}
|
|
@@ -114,14 +146,14 @@ export async function createParsers() {
|
|
|
114
146
|
* Call this between repeated builds in the same process (e.g. benchmarks)
|
|
115
147
|
* to prevent memory accumulation that can cause segfaults.
|
|
116
148
|
*/
|
|
117
|
-
export function disposeParsers() {
|
|
149
|
+
export function disposeParsers(): void {
|
|
118
150
|
if (_cachedParsers) {
|
|
119
151
|
for (const [id, parser] of _cachedParsers) {
|
|
120
152
|
if (parser && typeof parser.delete === 'function') {
|
|
121
153
|
try {
|
|
122
154
|
parser.delete();
|
|
123
|
-
} catch (e) {
|
|
124
|
-
debug(`Failed to dispose parser ${id}: ${e.message}`);
|
|
155
|
+
} catch (e: unknown) {
|
|
156
|
+
debug(`Failed to dispose parser ${id}: ${(e as Error).message}`);
|
|
125
157
|
}
|
|
126
158
|
}
|
|
127
159
|
}
|
|
@@ -131,19 +163,20 @@ export function disposeParsers() {
|
|
|
131
163
|
if (query && typeof query.delete === 'function') {
|
|
132
164
|
try {
|
|
133
165
|
query.delete();
|
|
134
|
-
} catch (e) {
|
|
135
|
-
debug(`Failed to dispose query ${id}: ${e.message}`);
|
|
166
|
+
} catch (e: unknown) {
|
|
167
|
+
debug(`Failed to dispose query ${id}: ${(e as Error).message}`);
|
|
136
168
|
}
|
|
137
169
|
}
|
|
138
170
|
}
|
|
139
171
|
_queryCache.clear();
|
|
140
172
|
if (_cachedLanguages) {
|
|
141
173
|
for (const [id, lang] of _cachedLanguages) {
|
|
142
|
-
|
|
174
|
+
// biome-ignore lint/suspicious/noExplicitAny: .delete() exists at runtime on WASM Language objects but is missing from typings
|
|
175
|
+
if (lang && typeof (lang as any).delete === 'function') {
|
|
143
176
|
try {
|
|
144
|
-
lang.delete();
|
|
145
|
-
} catch (e) {
|
|
146
|
-
debug(`Failed to dispose language ${id}: ${e.message}`);
|
|
177
|
+
(lang as any).delete();
|
|
178
|
+
} catch (e: unknown) {
|
|
179
|
+
debug(`Failed to dispose language ${id}: ${(e as Error).message}`);
|
|
147
180
|
}
|
|
148
181
|
}
|
|
149
182
|
}
|
|
@@ -152,7 +185,7 @@ export function disposeParsers() {
|
|
|
152
185
|
_initialized = false;
|
|
153
186
|
}
|
|
154
187
|
|
|
155
|
-
export function getParser(parsers, filePath) {
|
|
188
|
+
export function getParser(parsers: Map<string, Parser | null>, filePath: string): Parser | null {
|
|
156
189
|
const ext = path.extname(filePath);
|
|
157
190
|
const entry = _extToLang.get(ext);
|
|
158
191
|
if (!entry) return null;
|
|
@@ -163,11 +196,12 @@ export function getParser(parsers, filePath) {
|
|
|
163
196
|
* Pre-parse files missing `_tree` via WASM so downstream phases (CFG, dataflow)
|
|
164
197
|
* don't each need to create parsers and re-parse independently.
|
|
165
198
|
* Only parses files whose extension is in SUPPORTED_EXTENSIONS.
|
|
166
|
-
*
|
|
167
|
-
* @param {Map<string, object>} fileSymbols - Map<relPath, { definitions, _tree, _langId, ... }>
|
|
168
|
-
* @param {string} rootDir - absolute project root
|
|
169
199
|
*/
|
|
170
|
-
|
|
200
|
+
// biome-ignore lint/suspicious/noExplicitAny: fileSymbols values have dynamic shape from extractors
|
|
201
|
+
export async function ensureWasmTrees(
|
|
202
|
+
fileSymbols: Map<string, any>,
|
|
203
|
+
rootDir: string,
|
|
204
|
+
): Promise<void> {
|
|
171
205
|
// Check if any file needs a tree
|
|
172
206
|
let needsParse = false;
|
|
173
207
|
for (const [relPath, symbols] of fileSymbols) {
|
|
@@ -192,18 +226,18 @@ export async function ensureWasmTrees(fileSymbols, rootDir) {
|
|
|
192
226
|
if (!parser) continue;
|
|
193
227
|
|
|
194
228
|
const absPath = path.join(rootDir, relPath);
|
|
195
|
-
let code;
|
|
229
|
+
let code: string;
|
|
196
230
|
try {
|
|
197
231
|
code = fs.readFileSync(absPath, 'utf-8');
|
|
198
|
-
} catch (e) {
|
|
199
|
-
debug(`ensureWasmTrees: cannot read ${relPath}: ${e.message}`);
|
|
232
|
+
} catch (e: unknown) {
|
|
233
|
+
debug(`ensureWasmTrees: cannot read ${relPath}: ${(e as Error).message}`);
|
|
200
234
|
continue;
|
|
201
235
|
}
|
|
202
236
|
try {
|
|
203
237
|
symbols._tree = parser.parse(code);
|
|
204
238
|
symbols._langId = entry.id;
|
|
205
|
-
} catch (e) {
|
|
206
|
-
debug(`ensureWasmTrees: parse failed for ${relPath}: ${e.message}`);
|
|
239
|
+
} catch (e: unknown) {
|
|
240
|
+
debug(`ensureWasmTrees: parse failed for ${relPath}: ${(e as Error).message}`);
|
|
207
241
|
}
|
|
208
242
|
}
|
|
209
243
|
}
|
|
@@ -211,7 +245,7 @@ export async function ensureWasmTrees(fileSymbols, rootDir) {
|
|
|
211
245
|
/**
|
|
212
246
|
* Check whether the required WASM grammar files exist on disk.
|
|
213
247
|
*/
|
|
214
|
-
export function isWasmAvailable() {
|
|
248
|
+
export function isWasmAvailable(): boolean {
|
|
215
249
|
return LANGUAGE_REGISTRY.filter((e) => e.required).every((e) =>
|
|
216
250
|
fs.existsSync(grammarPath(e.grammarFile)),
|
|
217
251
|
);
|
|
@@ -219,7 +253,7 @@ export function isWasmAvailable() {
|
|
|
219
253
|
|
|
220
254
|
// ── Unified API ──────────────────────────────────────────────────────────────
|
|
221
255
|
|
|
222
|
-
function resolveEngine(opts = {}) {
|
|
256
|
+
function resolveEngine(opts: ParseEngineOpts = {}): ResolvedEngine {
|
|
223
257
|
const pref = opts.engine || 'auto';
|
|
224
258
|
if (pref === 'wasm') return { name: 'wasm', native: null };
|
|
225
259
|
if (pref === 'native' || pref === 'auto') {
|
|
@@ -238,9 +272,10 @@ function resolveEngine(opts = {}) {
|
|
|
238
272
|
* This only handles:
|
|
239
273
|
* - _lineCount compat for builder.js
|
|
240
274
|
* - Backward compat for older native binaries missing js_name annotations
|
|
241
|
-
* - dataflow argFlows/mutations bindingType
|
|
275
|
+
* - dataflow argFlows/mutations bindingType -> binding wrapper
|
|
242
276
|
*/
|
|
243
|
-
|
|
277
|
+
// biome-ignore lint/suspicious/noExplicitAny: native addon result has no type declarations
|
|
278
|
+
function patchNativeResult(r: any): ExtractorOutput {
|
|
244
279
|
// lineCount: napi(js_name) emits "lineCount"; older binaries may emit "line_count"
|
|
245
280
|
r.lineCount = r.lineCount ?? r.line_count ?? null;
|
|
246
281
|
r._lineCount = r.lineCount;
|
|
@@ -268,6 +303,20 @@ function patchNativeResult(r) {
|
|
|
268
303
|
}
|
|
269
304
|
}
|
|
270
305
|
|
|
306
|
+
// typeMap: native returns an array of {name, typeName}; normalize to Map.
|
|
307
|
+
// Non-TS languages may omit typeMap entirely — default to empty Map so
|
|
308
|
+
// callers can safely access .entries()/.size without null checks.
|
|
309
|
+
if (!r.typeMap) {
|
|
310
|
+
r.typeMap = new Map();
|
|
311
|
+
} else if (!(r.typeMap instanceof Map)) {
|
|
312
|
+
r.typeMap = new Map(
|
|
313
|
+
r.typeMap.map((e: { name: string; typeName: string }) => [
|
|
314
|
+
e.name,
|
|
315
|
+
{ type: e.typeName, confidence: 0.9 } as TypeMapEntry,
|
|
316
|
+
]),
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
|
|
271
320
|
// dataflow: wrap bindingType into binding object for argFlows and mutations
|
|
272
321
|
if (r.dataflow) {
|
|
273
322
|
if (r.dataflow.argFlows) {
|
|
@@ -289,7 +338,7 @@ function patchNativeResult(r) {
|
|
|
289
338
|
* Declarative registry of all supported languages.
|
|
290
339
|
* Adding a new language requires only a new entry here + its extractor function.
|
|
291
340
|
*/
|
|
292
|
-
export const LANGUAGE_REGISTRY = [
|
|
341
|
+
export const LANGUAGE_REGISTRY: LanguageRegistryEntry[] = [
|
|
293
342
|
{
|
|
294
343
|
id: 'javascript',
|
|
295
344
|
extensions: ['.js', '.jsx', '.mjs', '.cjs'],
|
|
@@ -369,14 +418,14 @@ export const LANGUAGE_REGISTRY = [
|
|
|
369
418
|
},
|
|
370
419
|
];
|
|
371
420
|
|
|
372
|
-
const _extToLang = new Map();
|
|
421
|
+
const _extToLang: Map<string, LanguageRegistryEntry> = new Map();
|
|
373
422
|
for (const entry of LANGUAGE_REGISTRY) {
|
|
374
423
|
for (const ext of entry.extensions) {
|
|
375
424
|
_extToLang.set(ext, entry);
|
|
376
425
|
}
|
|
377
426
|
}
|
|
378
427
|
|
|
379
|
-
export const SUPPORTED_EXTENSIONS = new Set(_extToLang.keys());
|
|
428
|
+
export const SUPPORTED_EXTENSIONS: Set<string> = new Set(_extToLang.keys());
|
|
380
429
|
|
|
381
430
|
/**
|
|
382
431
|
* WASM-based typeMap backfill for older native binaries that don't emit typeMap.
|
|
@@ -384,26 +433,26 @@ export const SUPPORTED_EXTENSIONS = new Set(_extToLang.keys());
|
|
|
384
433
|
* matches inside comments and string literals.
|
|
385
434
|
* TODO: Remove once all published native binaries include typeMap extraction (>= 3.2.0)
|
|
386
435
|
*/
|
|
387
|
-
|
|
436
|
+
// biome-ignore lint/suspicious/noExplicitAny: return shape matches native result typeMap
|
|
437
|
+
async function backfillTypeMap(
|
|
438
|
+
filePath: string,
|
|
439
|
+
source?: string,
|
|
440
|
+
): Promise<{ typeMap: Map<string, TypeMapEntry>; backfilled: boolean }> {
|
|
388
441
|
let code = source;
|
|
389
442
|
if (!code) {
|
|
390
443
|
try {
|
|
391
444
|
code = fs.readFileSync(filePath, 'utf-8');
|
|
392
445
|
} catch {
|
|
393
|
-
return { typeMap:
|
|
446
|
+
return { typeMap: new Map(), backfilled: false };
|
|
394
447
|
}
|
|
395
448
|
}
|
|
396
449
|
const parsers = await createParsers();
|
|
397
450
|
const extracted = wasmExtractSymbols(parsers, filePath, code);
|
|
398
451
|
try {
|
|
399
|
-
if (!extracted
|
|
400
|
-
return { typeMap:
|
|
452
|
+
if (!extracted || extracted.symbols.typeMap.size === 0) {
|
|
453
|
+
return { typeMap: new Map(), backfilled: false };
|
|
401
454
|
}
|
|
402
|
-
|
|
403
|
-
return {
|
|
404
|
-
typeMap: tm instanceof Map ? tm : new Map(tm.map((e) => [e.name, e.typeName])),
|
|
405
|
-
backfilled: true,
|
|
406
|
-
};
|
|
455
|
+
return { typeMap: extracted.symbols.typeMap, backfilled: true };
|
|
407
456
|
} finally {
|
|
408
457
|
// Free the WASM tree to prevent memory accumulation across repeated builds
|
|
409
458
|
if (extracted?.tree && typeof extracted.tree.delete === 'function') {
|
|
@@ -417,35 +466,41 @@ async function backfillTypeMap(filePath, source) {
|
|
|
417
466
|
/**
|
|
418
467
|
* WASM extraction helper: picks the right extractor based on file extension.
|
|
419
468
|
*/
|
|
420
|
-
function wasmExtractSymbols(
|
|
469
|
+
function wasmExtractSymbols(
|
|
470
|
+
parsers: Map<string, Parser | null>,
|
|
471
|
+
filePath: string,
|
|
472
|
+
code: string,
|
|
473
|
+
): WasmExtractResult | null {
|
|
421
474
|
const parser = getParser(parsers, filePath);
|
|
422
475
|
if (!parser) return null;
|
|
423
476
|
|
|
424
|
-
let tree;
|
|
477
|
+
let tree: Tree | null;
|
|
425
478
|
try {
|
|
426
479
|
tree = parser.parse(code);
|
|
427
|
-
} catch (e) {
|
|
428
|
-
warn(`Parse error in ${filePath}: ${e.message}`);
|
|
480
|
+
} catch (e: unknown) {
|
|
481
|
+
warn(`Parse error in ${filePath}: ${(e as Error).message}`);
|
|
429
482
|
return null;
|
|
430
483
|
}
|
|
484
|
+
if (!tree) return null;
|
|
431
485
|
|
|
432
486
|
const ext = path.extname(filePath);
|
|
433
487
|
const entry = _extToLang.get(ext);
|
|
434
488
|
if (!entry) return null;
|
|
435
|
-
const query = _queryCache.get(entry.id)
|
|
436
|
-
|
|
489
|
+
const query = _queryCache.get(entry.id) ?? undefined;
|
|
490
|
+
// Query (web-tree-sitter) is structurally compatible with TreeSitterQuery at runtime
|
|
491
|
+
// biome-ignore lint/suspicious/noExplicitAny: thin WASM wrapper type mismatch
|
|
492
|
+
const symbols = entry.extractor(tree as any, filePath, query as any);
|
|
437
493
|
return symbols ? { symbols, tree, langId: entry.id } : null;
|
|
438
494
|
}
|
|
439
495
|
|
|
440
496
|
/**
|
|
441
497
|
* Parse a single file and return normalized symbols.
|
|
442
|
-
*
|
|
443
|
-
* @param {string} filePath Absolute path to the file.
|
|
444
|
-
* @param {string} source Source code string.
|
|
445
|
-
* @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
|
|
446
|
-
* @returns {Promise<{definitions, calls, imports, classes, exports}|null>}
|
|
447
498
|
*/
|
|
448
|
-
export async function parseFileAuto(
|
|
499
|
+
export async function parseFileAuto(
|
|
500
|
+
filePath: string,
|
|
501
|
+
source: string,
|
|
502
|
+
opts: ParseEngineOpts = {},
|
|
503
|
+
): Promise<ExtractorOutput | null> {
|
|
449
504
|
const { native } = resolveEngine(opts);
|
|
450
505
|
|
|
451
506
|
if (native) {
|
|
@@ -454,11 +509,7 @@ export async function parseFileAuto(filePath, source, opts = {}) {
|
|
|
454
509
|
const patched = patchNativeResult(result);
|
|
455
510
|
// Only backfill typeMap for TS/TSX — JS files have no type annotations,
|
|
456
511
|
// and the native engine already handles `new Expr()` patterns.
|
|
457
|
-
|
|
458
|
-
if (
|
|
459
|
-
(!patched.typeMap || patched.typeMap.length === 0) &&
|
|
460
|
-
TS_BACKFILL_EXTS.has(path.extname(filePath))
|
|
461
|
-
) {
|
|
512
|
+
if (patched.typeMap.size === 0 && TS_BACKFILL_EXTS.has(path.extname(filePath))) {
|
|
462
513
|
const { typeMap, backfilled } = await backfillTypeMap(filePath, source);
|
|
463
514
|
patched.typeMap = typeMap;
|
|
464
515
|
if (backfilled) patched._typeMapBackfilled = true;
|
|
@@ -474,15 +525,14 @@ export async function parseFileAuto(filePath, source, opts = {}) {
|
|
|
474
525
|
|
|
475
526
|
/**
|
|
476
527
|
* Parse multiple files in bulk and return a Map<relPath, symbols>.
|
|
477
|
-
*
|
|
478
|
-
* @param {string[]} filePaths Absolute paths to files.
|
|
479
|
-
* @param {string} rootDir Project root for computing relative paths.
|
|
480
|
-
* @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
|
|
481
|
-
* @returns {Promise<Map<string, {definitions, calls, imports, classes, exports}>>}
|
|
482
528
|
*/
|
|
483
|
-
export async function parseFilesAuto(
|
|
529
|
+
export async function parseFilesAuto(
|
|
530
|
+
filePaths: string[],
|
|
531
|
+
rootDir: string,
|
|
532
|
+
opts: ParseEngineOpts = {},
|
|
533
|
+
): Promise<Map<string, ExtractorOutput>> {
|
|
484
534
|
const { native } = resolveEngine(opts);
|
|
485
|
-
const result = new Map();
|
|
535
|
+
const result = new Map<string, ExtractorOutput>();
|
|
486
536
|
|
|
487
537
|
if (native) {
|
|
488
538
|
const nativeResults = native.parseFiles(
|
|
@@ -491,13 +541,13 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
|
|
|
491
541
|
!!opts.dataflow,
|
|
492
542
|
opts.ast !== false,
|
|
493
543
|
);
|
|
494
|
-
const needsTypeMap = [];
|
|
544
|
+
const needsTypeMap: { filePath: string; relPath: string }[] = [];
|
|
495
545
|
for (const r of nativeResults) {
|
|
496
546
|
if (!r) continue;
|
|
497
547
|
const patched = patchNativeResult(r);
|
|
498
548
|
const relPath = path.relative(rootDir, r.file).split(path.sep).join('/');
|
|
499
549
|
result.set(relPath, patched);
|
|
500
|
-
if (
|
|
550
|
+
if (patched.typeMap.size === 0) {
|
|
501
551
|
needsTypeMap.push({ filePath: r.file, relPath });
|
|
502
552
|
}
|
|
503
553
|
}
|
|
@@ -505,21 +555,20 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
|
|
|
505
555
|
if (needsTypeMap.length > 0) {
|
|
506
556
|
// Only backfill for languages where WASM extraction can produce typeMap
|
|
507
557
|
// (TS/TSX have type annotations; JS only has `new Expr()` which native already handles)
|
|
508
|
-
const
|
|
509
|
-
|
|
558
|
+
const tsFiles = needsTypeMap.filter(({ filePath }) =>
|
|
559
|
+
TS_BACKFILL_EXTS.has(path.extname(filePath)),
|
|
560
|
+
);
|
|
510
561
|
if (tsFiles.length > 0) {
|
|
511
562
|
const parsers = await createParsers();
|
|
512
563
|
for (const { filePath, relPath } of tsFiles) {
|
|
513
|
-
let extracted;
|
|
564
|
+
let extracted: WasmExtractResult | null | undefined;
|
|
514
565
|
try {
|
|
515
566
|
const code = fs.readFileSync(filePath, 'utf-8');
|
|
516
567
|
extracted = wasmExtractSymbols(parsers, filePath, code);
|
|
517
|
-
if (extracted?.symbols
|
|
568
|
+
if (extracted?.symbols && extracted.symbols.typeMap.size > 0) {
|
|
518
569
|
const symbols = result.get(relPath);
|
|
519
|
-
symbols
|
|
520
|
-
|
|
521
|
-
? extracted.symbols.typeMap
|
|
522
|
-
: new Map(extracted.symbols.typeMap.map((e) => [e.name, e.typeName]));
|
|
570
|
+
if (!symbols) continue;
|
|
571
|
+
symbols.typeMap = extracted.symbols.typeMap;
|
|
523
572
|
symbols._typeMapBackfilled = true;
|
|
524
573
|
}
|
|
525
574
|
} catch {
|
|
@@ -541,11 +590,11 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
|
|
|
541
590
|
// WASM path
|
|
542
591
|
const parsers = await createParsers();
|
|
543
592
|
for (const filePath of filePaths) {
|
|
544
|
-
let code;
|
|
593
|
+
let code: string;
|
|
545
594
|
try {
|
|
546
595
|
code = fs.readFileSync(filePath, 'utf-8');
|
|
547
|
-
} catch (err) {
|
|
548
|
-
warn(`Skipping ${path.relative(rootDir, filePath)}: ${err.message}`);
|
|
596
|
+
} catch (err: unknown) {
|
|
597
|
+
warn(`Skipping ${path.relative(rootDir, filePath)}: ${(err as Error).message}`);
|
|
549
598
|
continue;
|
|
550
599
|
}
|
|
551
600
|
const extracted = wasmExtractSymbols(parsers, filePath, code);
|
|
@@ -562,13 +611,13 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
|
|
|
562
611
|
|
|
563
612
|
/**
|
|
564
613
|
* Report which engine is active.
|
|
565
|
-
*
|
|
566
|
-
* @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
|
|
567
|
-
* @returns {{ name: 'native'|'wasm', version: string|null }}
|
|
568
614
|
*/
|
|
569
|
-
export function getActiveEngine(opts = {}) {
|
|
615
|
+
export function getActiveEngine(opts: ParseEngineOpts = {}): {
|
|
616
|
+
name: 'native' | 'wasm';
|
|
617
|
+
version: string | null;
|
|
618
|
+
} {
|
|
570
619
|
const { name, native } = resolveEngine(opts);
|
|
571
|
-
let version = native
|
|
620
|
+
let version: string | null = native
|
|
572
621
|
? typeof native.engineVersion === 'function'
|
|
573
622
|
? native.engineVersion()
|
|
574
623
|
: null
|
|
@@ -578,8 +627,8 @@ export function getActiveEngine(opts = {}) {
|
|
|
578
627
|
if (native) {
|
|
579
628
|
try {
|
|
580
629
|
version = getNativePackageVersion() ?? version;
|
|
581
|
-
} catch (e) {
|
|
582
|
-
debug(`getNativePackageVersion failed: ${e.message}`);
|
|
630
|
+
} catch (e: unknown) {
|
|
631
|
+
debug(`getNativePackageVersion failed: ${(e as Error).message}`);
|
|
583
632
|
}
|
|
584
633
|
}
|
|
585
634
|
return { name, version };
|
|
@@ -589,7 +638,8 @@ export function getActiveEngine(opts = {}) {
|
|
|
589
638
|
* Create a native ParseTreeCache for incremental parsing.
|
|
590
639
|
* Returns null if the native engine is unavailable (WASM fallback).
|
|
591
640
|
*/
|
|
592
|
-
|
|
641
|
+
// biome-ignore lint/suspicious/noExplicitAny: native ParseTreeCache has no type declarations
|
|
642
|
+
export function createParseTreeCache(): any {
|
|
593
643
|
const native = loadNative();
|
|
594
644
|
if (!native || !native.ParseTreeCache) return null;
|
|
595
645
|
return new native.ParseTreeCache();
|
|
@@ -597,25 +647,21 @@ export function createParseTreeCache() {
|
|
|
597
647
|
|
|
598
648
|
/**
|
|
599
649
|
* Parse a file incrementally using the cache, or fall back to full parse.
|
|
600
|
-
*
|
|
601
|
-
* @param {object|null} cache ParseTreeCache instance (or null for full parse)
|
|
602
|
-
* @param {string} filePath Absolute path to the file
|
|
603
|
-
* @param {string} source Source code string
|
|
604
|
-
* @param {object} [opts] Options forwarded to parseFileAuto on fallback
|
|
605
|
-
* @returns {Promise<{definitions, calls, imports, classes, exports}|null>}
|
|
606
650
|
*/
|
|
607
|
-
|
|
651
|
+
// biome-ignore lint/suspicious/noExplicitAny: cache is native ParseTreeCache with no type declarations
|
|
652
|
+
export async function parseFileIncremental(
|
|
653
|
+
cache: any,
|
|
654
|
+
filePath: string,
|
|
655
|
+
source: string,
|
|
656
|
+
opts: ParseEngineOpts = {},
|
|
657
|
+
): Promise<ExtractorOutput | null> {
|
|
608
658
|
if (cache) {
|
|
609
659
|
const result = cache.parseFile(filePath, source);
|
|
610
660
|
if (!result) return null;
|
|
611
661
|
const patched = patchNativeResult(result);
|
|
612
662
|
// Only backfill typeMap for TS/TSX — JS files have no type annotations,
|
|
613
663
|
// and the native engine already handles `new Expr()` patterns.
|
|
614
|
-
|
|
615
|
-
if (
|
|
616
|
-
(!patched.typeMap || patched.typeMap.length === 0) &&
|
|
617
|
-
TS_BACKFILL_EXTS.has(path.extname(filePath))
|
|
618
|
-
) {
|
|
664
|
+
if (patched.typeMap.size === 0 && TS_BACKFILL_EXTS.has(path.extname(filePath))) {
|
|
619
665
|
const { typeMap, backfilled } = await backfillTypeMap(filePath, source);
|
|
620
666
|
patched.typeMap = typeMap;
|
|
621
667
|
if (backfilled) patched._typeMapBackfilled = true;
|