@optave/codegraph 3.3.0 → 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 +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 +3 -2
- 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 +31 -56
- 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 +246 -20
- 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 +78 -50
- 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 +183 -210
- package/dist/infrastructure/config.d.ts.map +1 -1
- package/dist/infrastructure/config.js +43 -13
- 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 -2
- package/dist/mcp/tools/semantic-search.d.ts.map +1 -1
- package/dist/mcp/tools/semantic-search.js +5 -5
- 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 -14
- 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} +4 -3
- 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} +7 -4
- 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} +193 -131
- 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.ts +618 -0
- 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} +185 -102
- 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} +102 -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} +16 -7
- 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/builder/incremental.js +0 -224
- 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,64 +433,83 @@ 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
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
backfilled: true
|
|
403
|
-
}
|
|
451
|
+
try {
|
|
452
|
+
if (!extracted || extracted.symbols.typeMap.size === 0) {
|
|
453
|
+
return { typeMap: new Map(), backfilled: false };
|
|
454
|
+
}
|
|
455
|
+
return { typeMap: extracted.symbols.typeMap, backfilled: true };
|
|
456
|
+
} finally {
|
|
457
|
+
// Free the WASM tree to prevent memory accumulation across repeated builds
|
|
458
|
+
if (extracted?.tree && typeof extracted.tree.delete === 'function') {
|
|
459
|
+
try {
|
|
460
|
+
extracted.tree.delete();
|
|
461
|
+
} catch {}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
404
464
|
}
|
|
405
465
|
|
|
406
466
|
/**
|
|
407
467
|
* WASM extraction helper: picks the right extractor based on file extension.
|
|
408
468
|
*/
|
|
409
|
-
function wasmExtractSymbols(
|
|
469
|
+
function wasmExtractSymbols(
|
|
470
|
+
parsers: Map<string, Parser | null>,
|
|
471
|
+
filePath: string,
|
|
472
|
+
code: string,
|
|
473
|
+
): WasmExtractResult | null {
|
|
410
474
|
const parser = getParser(parsers, filePath);
|
|
411
475
|
if (!parser) return null;
|
|
412
476
|
|
|
413
|
-
let tree;
|
|
477
|
+
let tree: Tree | null;
|
|
414
478
|
try {
|
|
415
479
|
tree = parser.parse(code);
|
|
416
|
-
} catch (e) {
|
|
417
|
-
warn(`Parse error in ${filePath}: ${e.message}`);
|
|
480
|
+
} catch (e: unknown) {
|
|
481
|
+
warn(`Parse error in ${filePath}: ${(e as Error).message}`);
|
|
418
482
|
return null;
|
|
419
483
|
}
|
|
484
|
+
if (!tree) return null;
|
|
420
485
|
|
|
421
486
|
const ext = path.extname(filePath);
|
|
422
487
|
const entry = _extToLang.get(ext);
|
|
423
488
|
if (!entry) return null;
|
|
424
|
-
const query = _queryCache.get(entry.id)
|
|
425
|
-
|
|
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);
|
|
426
493
|
return symbols ? { symbols, tree, langId: entry.id } : null;
|
|
427
494
|
}
|
|
428
495
|
|
|
429
496
|
/**
|
|
430
497
|
* Parse a single file and return normalized symbols.
|
|
431
|
-
*
|
|
432
|
-
* @param {string} filePath Absolute path to the file.
|
|
433
|
-
* @param {string} source Source code string.
|
|
434
|
-
* @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
|
|
435
|
-
* @returns {Promise<{definitions, calls, imports, classes, exports}|null>}
|
|
436
498
|
*/
|
|
437
|
-
export async function parseFileAuto(
|
|
499
|
+
export async function parseFileAuto(
|
|
500
|
+
filePath: string,
|
|
501
|
+
source: string,
|
|
502
|
+
opts: ParseEngineOpts = {},
|
|
503
|
+
): Promise<ExtractorOutput | null> {
|
|
438
504
|
const { native } = resolveEngine(opts);
|
|
439
505
|
|
|
440
506
|
if (native) {
|
|
441
507
|
const result = native.parseFile(filePath, source, !!opts.dataflow, opts.ast !== false);
|
|
442
508
|
if (!result) return null;
|
|
443
509
|
const patched = patchNativeResult(result);
|
|
444
|
-
|
|
510
|
+
// Only backfill typeMap for TS/TSX — JS files have no type annotations,
|
|
511
|
+
// and the native engine already handles `new Expr()` patterns.
|
|
512
|
+
if (patched.typeMap.size === 0 && TS_BACKFILL_EXTS.has(path.extname(filePath))) {
|
|
445
513
|
const { typeMap, backfilled } = await backfillTypeMap(filePath, source);
|
|
446
514
|
patched.typeMap = typeMap;
|
|
447
515
|
if (backfilled) patched._typeMapBackfilled = true;
|
|
@@ -457,15 +525,14 @@ export async function parseFileAuto(filePath, source, opts = {}) {
|
|
|
457
525
|
|
|
458
526
|
/**
|
|
459
527
|
* Parse multiple files in bulk and return a Map<relPath, symbols>.
|
|
460
|
-
*
|
|
461
|
-
* @param {string[]} filePaths Absolute paths to files.
|
|
462
|
-
* @param {string} rootDir Project root for computing relative paths.
|
|
463
|
-
* @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
|
|
464
|
-
* @returns {Promise<Map<string, {definitions, calls, imports, classes, exports}>>}
|
|
465
528
|
*/
|
|
466
|
-
export async function parseFilesAuto(
|
|
529
|
+
export async function parseFilesAuto(
|
|
530
|
+
filePaths: string[],
|
|
531
|
+
rootDir: string,
|
|
532
|
+
opts: ParseEngineOpts = {},
|
|
533
|
+
): Promise<Map<string, ExtractorOutput>> {
|
|
467
534
|
const { native } = resolveEngine(opts);
|
|
468
|
-
const result = new Map();
|
|
535
|
+
const result = new Map<string, ExtractorOutput>();
|
|
469
536
|
|
|
470
537
|
if (native) {
|
|
471
538
|
const nativeResults = native.parseFiles(
|
|
@@ -474,33 +541,46 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
|
|
|
474
541
|
!!opts.dataflow,
|
|
475
542
|
opts.ast !== false,
|
|
476
543
|
);
|
|
477
|
-
const needsTypeMap = [];
|
|
544
|
+
const needsTypeMap: { filePath: string; relPath: string }[] = [];
|
|
478
545
|
for (const r of nativeResults) {
|
|
479
546
|
if (!r) continue;
|
|
480
547
|
const patched = patchNativeResult(r);
|
|
481
548
|
const relPath = path.relative(rootDir, r.file).split(path.sep).join('/');
|
|
482
549
|
result.set(relPath, patched);
|
|
483
|
-
if (
|
|
550
|
+
if (patched.typeMap.size === 0) {
|
|
484
551
|
needsTypeMap.push({ filePath: r.file, relPath });
|
|
485
552
|
}
|
|
486
553
|
}
|
|
487
554
|
// Backfill typeMap via WASM for native binaries that predate the type-map feature
|
|
488
555
|
if (needsTypeMap.length > 0) {
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
556
|
+
// Only backfill for languages where WASM extraction can produce typeMap
|
|
557
|
+
// (TS/TSX have type annotations; JS only has `new Expr()` which native already handles)
|
|
558
|
+
const tsFiles = needsTypeMap.filter(({ filePath }) =>
|
|
559
|
+
TS_BACKFILL_EXTS.has(path.extname(filePath)),
|
|
560
|
+
);
|
|
561
|
+
if (tsFiles.length > 0) {
|
|
562
|
+
const parsers = await createParsers();
|
|
563
|
+
for (const { filePath, relPath } of tsFiles) {
|
|
564
|
+
let extracted: WasmExtractResult | null | undefined;
|
|
565
|
+
try {
|
|
566
|
+
const code = fs.readFileSync(filePath, 'utf-8');
|
|
567
|
+
extracted = wasmExtractSymbols(parsers, filePath, code);
|
|
568
|
+
if (extracted?.symbols && extracted.symbols.typeMap.size > 0) {
|
|
569
|
+
const symbols = result.get(relPath);
|
|
570
|
+
if (!symbols) continue;
|
|
571
|
+
symbols.typeMap = extracted.symbols.typeMap;
|
|
572
|
+
symbols._typeMapBackfilled = true;
|
|
573
|
+
}
|
|
574
|
+
} catch {
|
|
575
|
+
/* skip — typeMap is a best-effort backfill */
|
|
576
|
+
} finally {
|
|
577
|
+
// Free the WASM tree to prevent memory accumulation across repeated builds
|
|
578
|
+
if (extracted?.tree && typeof extracted.tree.delete === 'function') {
|
|
579
|
+
try {
|
|
580
|
+
extracted.tree.delete();
|
|
581
|
+
} catch {}
|
|
582
|
+
}
|
|
501
583
|
}
|
|
502
|
-
} catch {
|
|
503
|
-
/* skip — typeMap is a best-effort backfill */
|
|
504
584
|
}
|
|
505
585
|
}
|
|
506
586
|
}
|
|
@@ -510,11 +590,11 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
|
|
|
510
590
|
// WASM path
|
|
511
591
|
const parsers = await createParsers();
|
|
512
592
|
for (const filePath of filePaths) {
|
|
513
|
-
let code;
|
|
593
|
+
let code: string;
|
|
514
594
|
try {
|
|
515
595
|
code = fs.readFileSync(filePath, 'utf-8');
|
|
516
|
-
} catch (err) {
|
|
517
|
-
warn(`Skipping ${path.relative(rootDir, filePath)}: ${err.message}`);
|
|
596
|
+
} catch (err: unknown) {
|
|
597
|
+
warn(`Skipping ${path.relative(rootDir, filePath)}: ${(err as Error).message}`);
|
|
518
598
|
continue;
|
|
519
599
|
}
|
|
520
600
|
const extracted = wasmExtractSymbols(parsers, filePath, code);
|
|
@@ -531,13 +611,13 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
|
|
|
531
611
|
|
|
532
612
|
/**
|
|
533
613
|
* Report which engine is active.
|
|
534
|
-
*
|
|
535
|
-
* @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
|
|
536
|
-
* @returns {{ name: 'native'|'wasm', version: string|null }}
|
|
537
614
|
*/
|
|
538
|
-
export function getActiveEngine(opts = {}) {
|
|
615
|
+
export function getActiveEngine(opts: ParseEngineOpts = {}): {
|
|
616
|
+
name: 'native' | 'wasm';
|
|
617
|
+
version: string | null;
|
|
618
|
+
} {
|
|
539
619
|
const { name, native } = resolveEngine(opts);
|
|
540
|
-
let version = native
|
|
620
|
+
let version: string | null = native
|
|
541
621
|
? typeof native.engineVersion === 'function'
|
|
542
622
|
? native.engineVersion()
|
|
543
623
|
: null
|
|
@@ -547,8 +627,8 @@ export function getActiveEngine(opts = {}) {
|
|
|
547
627
|
if (native) {
|
|
548
628
|
try {
|
|
549
629
|
version = getNativePackageVersion() ?? version;
|
|
550
|
-
} catch (e) {
|
|
551
|
-
debug(`getNativePackageVersion failed: ${e.message}`);
|
|
630
|
+
} catch (e: unknown) {
|
|
631
|
+
debug(`getNativePackageVersion failed: ${(e as Error).message}`);
|
|
552
632
|
}
|
|
553
633
|
}
|
|
554
634
|
return { name, version };
|
|
@@ -558,7 +638,8 @@ export function getActiveEngine(opts = {}) {
|
|
|
558
638
|
* Create a native ParseTreeCache for incremental parsing.
|
|
559
639
|
* Returns null if the native engine is unavailable (WASM fallback).
|
|
560
640
|
*/
|
|
561
|
-
|
|
641
|
+
// biome-ignore lint/suspicious/noExplicitAny: native ParseTreeCache has no type declarations
|
|
642
|
+
export function createParseTreeCache(): any {
|
|
562
643
|
const native = loadNative();
|
|
563
644
|
if (!native || !native.ParseTreeCache) return null;
|
|
564
645
|
return new native.ParseTreeCache();
|
|
@@ -566,19 +647,21 @@ export function createParseTreeCache() {
|
|
|
566
647
|
|
|
567
648
|
/**
|
|
568
649
|
* Parse a file incrementally using the cache, or fall back to full parse.
|
|
569
|
-
*
|
|
570
|
-
* @param {object|null} cache ParseTreeCache instance (or null for full parse)
|
|
571
|
-
* @param {string} filePath Absolute path to the file
|
|
572
|
-
* @param {string} source Source code string
|
|
573
|
-
* @param {object} [opts] Options forwarded to parseFileAuto on fallback
|
|
574
|
-
* @returns {Promise<{definitions, calls, imports, classes, exports}|null>}
|
|
575
650
|
*/
|
|
576
|
-
|
|
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> {
|
|
577
658
|
if (cache) {
|
|
578
659
|
const result = cache.parseFile(filePath, source);
|
|
579
660
|
if (!result) return null;
|
|
580
661
|
const patched = patchNativeResult(result);
|
|
581
|
-
|
|
662
|
+
// Only backfill typeMap for TS/TSX — JS files have no type annotations,
|
|
663
|
+
// and the native engine already handles `new Expr()` patterns.
|
|
664
|
+
if (patched.typeMap.size === 0 && TS_BACKFILL_EXTS.has(path.extname(filePath))) {
|
|
582
665
|
const { typeMap, backfilled } = await backfillTypeMap(filePath, source);
|
|
583
666
|
patched.typeMap = typeMap;
|
|
584
667
|
if (backfilled) patched._typeMapBackfilled = true;
|