@optave/codegraph 3.12.0 → 3.15.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 +83 -46
- package/dist/ast-analysis/engine.d.ts.map +1 -1
- package/dist/ast-analysis/engine.js +38 -40
- package/dist/ast-analysis/engine.js.map +1 -1
- package/dist/ast-analysis/rules/b2.d.ts +7 -0
- package/dist/ast-analysis/rules/b2.d.ts.map +1 -0
- package/dist/ast-analysis/rules/b2.js +240 -0
- package/dist/ast-analysis/rules/b2.js.map +1 -0
- package/dist/ast-analysis/rules/b3.d.ts +6 -0
- package/dist/ast-analysis/rules/b3.d.ts.map +1 -0
- package/dist/ast-analysis/rules/b3.js +105 -0
- package/dist/ast-analysis/rules/b3.js.map +1 -0
- package/dist/ast-analysis/rules/b4.d.ts +9 -0
- package/dist/ast-analysis/rules/b4.d.ts.map +1 -0
- package/dist/ast-analysis/rules/b4.js +361 -0
- package/dist/ast-analysis/rules/b4.js.map +1 -0
- package/dist/ast-analysis/rules/b5.d.ts +4 -0
- package/dist/ast-analysis/rules/b5.d.ts.map +1 -0
- package/dist/ast-analysis/rules/b5.js +52 -0
- package/dist/ast-analysis/rules/b5.js.map +1 -0
- package/dist/ast-analysis/rules/c.d.ts +4 -0
- package/dist/ast-analysis/rules/c.d.ts.map +1 -0
- package/dist/ast-analysis/rules/c.js +143 -0
- package/dist/ast-analysis/rules/c.js.map +1 -0
- package/dist/ast-analysis/rules/index.d.ts.map +1 -1
- package/dist/ast-analysis/rules/index.js +34 -0
- package/dist/ast-analysis/rules/index.js.map +1 -1
- package/dist/ast-analysis/rules/javascript.d.ts.map +1 -1
- package/dist/ast-analysis/rules/javascript.js +3 -0
- package/dist/ast-analysis/rules/javascript.js.map +1 -1
- package/dist/ast-analysis/shared.d.ts.map +1 -1
- package/dist/ast-analysis/shared.js +2 -0
- package/dist/ast-analysis/shared.js.map +1 -1
- package/dist/ast-analysis/visitor-utils.d.ts +1 -0
- package/dist/ast-analysis/visitor-utils.d.ts.map +1 -1
- package/dist/ast-analysis/visitor-utils.js +5 -0
- package/dist/ast-analysis/visitor-utils.js.map +1 -1
- package/dist/ast-analysis/visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitor.js +60 -47
- package/dist/ast-analysis/visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/cfg-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/cfg-visitor.js +126 -76
- package/dist/ast-analysis/visitors/cfg-visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/complexity-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/complexity-visitor.js +27 -15
- package/dist/ast-analysis/visitors/complexity-visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/dataflow-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/dataflow-visitor.js +54 -21
- package/dist/ast-analysis/visitors/dataflow-visitor.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +2 -1
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/batch.d.ts.map +1 -1
- package/dist/cli/commands/batch.js +1 -0
- package/dist/cli/commands/batch.js.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +6 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +275 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/roles.d.ts.map +1 -1
- package/dist/cli/commands/roles.js +6 -1
- package/dist/cli/commands/roles.js.map +1 -1
- package/dist/cli/commands/triage.js +1 -1
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/shared/options.d.ts +2 -1
- package/dist/cli/shared/options.d.ts.map +1 -1
- package/dist/cli/shared/options.js +11 -1
- package/dist/cli/shared/options.js.map +1 -1
- package/dist/cli/types.d.ts +2 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/db/better-sqlite3.d.ts +2 -1
- package/dist/db/better-sqlite3.d.ts.map +1 -1
- package/dist/db/better-sqlite3.js.map +1 -1
- package/dist/db/connection.d.ts +7 -1
- package/dist/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +20 -5
- package/dist/db/connection.js.map +1 -1
- package/dist/db/index.d.ts +1 -1
- 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.map +1 -1
- package/dist/db/migrations.js +69 -1
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/repository/build-stmts.d.ts.map +1 -1
- package/dist/db/repository/build-stmts.js +18 -0
- package/dist/db/repository/build-stmts.js.map +1 -1
- package/dist/db/repository/dataflow.d.ts +5 -0
- package/dist/db/repository/dataflow.d.ts.map +1 -1
- package/dist/db/repository/dataflow.js +14 -0
- package/dist/db/repository/dataflow.js.map +1 -1
- package/dist/db/repository/index.d.ts +1 -1
- 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/native-repository.d.ts.map +1 -1
- package/dist/db/repository/native-repository.js +47 -34
- package/dist/db/repository/native-repository.js.map +1 -1
- package/dist/domain/analysis/context.d.ts +2 -2
- package/dist/domain/analysis/dependencies.d.ts +2 -2
- package/dist/domain/analysis/diff-impact.d.ts +2 -2
- package/dist/domain/analysis/fn-impact.d.ts +3 -1
- package/dist/domain/analysis/fn-impact.d.ts.map +1 -1
- package/dist/domain/analysis/fn-impact.js +4 -0
- package/dist/domain/analysis/fn-impact.js.map +1 -1
- package/dist/domain/analysis/implementations.d.ts +2 -2
- package/dist/domain/analysis/module-map.d.ts.map +1 -1
- package/dist/domain/analysis/module-map.js +32 -5
- package/dist/domain/analysis/module-map.js.map +1 -1
- package/dist/domain/analysis/roles.d.ts +7 -1
- package/dist/domain/analysis/roles.d.ts.map +1 -1
- package/dist/domain/analysis/roles.js +16 -0
- package/dist/domain/analysis/roles.js.map +1 -1
- package/dist/domain/analysis/symbol-lookup.d.ts +4 -4
- package/dist/domain/graph/builder/call-resolver.d.ts +29 -13
- package/dist/domain/graph/builder/call-resolver.d.ts.map +1 -1
- package/dist/domain/graph/builder/call-resolver.js +125 -205
- package/dist/domain/graph/builder/call-resolver.js.map +1 -1
- package/dist/domain/graph/builder/cha.d.ts +9 -1
- package/dist/domain/graph/builder/cha.d.ts.map +1 -1
- package/dist/domain/graph/builder/cha.js +17 -2
- package/dist/domain/graph/builder/cha.js.map +1 -1
- package/dist/domain/graph/builder/context.d.ts +1 -0
- package/dist/domain/graph/builder/context.d.ts.map +1 -1
- package/dist/domain/graph/builder/context.js.map +1 -1
- package/dist/domain/graph/builder/helpers.d.ts +24 -1
- package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
- package/dist/domain/graph/builder/helpers.js +174 -65
- package/dist/domain/graph/builder/helpers.js.map +1 -1
- package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
- package/dist/domain/graph/builder/incremental.js +166 -97
- package/dist/domain/graph/builder/incremental.js.map +1 -1
- package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
- package/dist/domain/graph/builder/pipeline.js +46 -5
- package/dist/domain/graph/builder/pipeline.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.d.ts +0 -2
- package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.js +554 -538
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/graph/builder/stages/collect-files.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/collect-files.js +10 -7
- package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.js +3 -2
- package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.js +4 -0
- package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
- package/dist/domain/graph/builder/stages/native-orchestrator.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/native-orchestrator.js +952 -343
- package/dist/domain/graph/builder/stages/native-orchestrator.js.map +1 -1
- package/dist/domain/graph/builder/stages/resolve-imports.js +1 -1
- package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
- package/dist/domain/graph/resolver/points-to.d.ts.map +1 -1
- package/dist/domain/graph/resolver/points-to.js +105 -57
- package/dist/domain/graph/resolver/points-to.js.map +1 -1
- package/dist/domain/graph/resolver/strategy.d.ts +61 -0
- package/dist/domain/graph/resolver/strategy.d.ts.map +1 -0
- package/dist/domain/graph/resolver/strategy.js +222 -0
- package/dist/domain/graph/resolver/strategy.js.map +1 -0
- package/dist/domain/graph/watcher.d.ts.map +1 -1
- package/dist/domain/graph/watcher.js +16 -9
- package/dist/domain/graph/watcher.js.map +1 -1
- package/dist/domain/parser.d.ts +16 -5
- package/dist/domain/parser.d.ts.map +1 -1
- package/dist/domain/parser.js +58 -17
- package/dist/domain/parser.js.map +1 -1
- package/dist/domain/queries.d.ts +1 -1
- 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/wasm-worker-entry.js +13 -2
- package/dist/domain/wasm-worker-entry.js.map +1 -1
- package/dist/domain/wasm-worker-pool.d.ts.map +1 -1
- package/dist/domain/wasm-worker-pool.js +26 -5
- package/dist/domain/wasm-worker-pool.js.map +1 -1
- package/dist/domain/wasm-worker-protocol.d.ts +8 -0
- package/dist/domain/wasm-worker-protocol.d.ts.map +1 -1
- package/dist/extractors/cpp.d.ts.map +1 -1
- package/dist/extractors/cpp.js +42 -1
- package/dist/extractors/cpp.js.map +1 -1
- package/dist/extractors/cuda.d.ts.map +1 -1
- package/dist/extractors/cuda.js +42 -1
- package/dist/extractors/cuda.js.map +1 -1
- package/dist/extractors/dart.js +48 -3
- package/dist/extractors/dart.js.map +1 -1
- package/dist/extractors/groovy.js +62 -3
- package/dist/extractors/groovy.js.map +1 -1
- package/dist/extractors/helpers.d.ts +15 -2
- package/dist/extractors/helpers.d.ts.map +1 -1
- package/dist/extractors/helpers.js +45 -1
- package/dist/extractors/helpers.js.map +1 -1
- package/dist/extractors/java.d.ts.map +1 -1
- package/dist/extractors/java.js +85 -8
- package/dist/extractors/java.js.map +1 -1
- package/dist/extractors/javascript.d.ts.map +1 -1
- package/dist/extractors/javascript.js +686 -169
- package/dist/extractors/javascript.js.map +1 -1
- package/dist/extractors/kotlin.js +58 -3
- package/dist/extractors/kotlin.js.map +1 -1
- package/dist/extractors/objc.js +25 -2
- package/dist/extractors/objc.js.map +1 -1
- package/dist/extractors/scala.js +62 -2
- package/dist/extractors/scala.js.map +1 -1
- package/dist/extractors/swift.js +52 -3
- package/dist/extractors/swift.js.map +1 -1
- package/dist/features/audit.js +26 -23
- package/dist/features/audit.js.map +1 -1
- package/dist/features/boundaries.d.ts.map +1 -1
- package/dist/features/boundaries.js +12 -9
- package/dist/features/boundaries.js.map +1 -1
- package/dist/features/cfg.d.ts.map +1 -1
- package/dist/features/cfg.js +25 -18
- package/dist/features/cfg.js.map +1 -1
- package/dist/features/check.d.ts.map +1 -1
- package/dist/features/check.js +18 -5
- package/dist/features/check.js.map +1 -1
- package/dist/features/communities.d.ts +4 -2
- package/dist/features/communities.d.ts.map +1 -1
- package/dist/features/communities.js +6 -4
- package/dist/features/communities.js.map +1 -1
- package/dist/features/dataflow.d.ts +60 -0
- package/dist/features/dataflow.d.ts.map +1 -1
- package/dist/features/dataflow.js +530 -6
- package/dist/features/dataflow.js.map +1 -1
- package/dist/features/manifesto.d.ts.map +1 -1
- package/dist/features/manifesto.js +59 -72
- package/dist/features/manifesto.js.map +1 -1
- package/dist/features/sequence.d.ts.map +1 -1
- package/dist/features/sequence.js +27 -22
- package/dist/features/sequence.js.map +1 -1
- package/dist/features/snapshot.d.ts.map +1 -1
- package/dist/features/snapshot.js +36 -28
- package/dist/features/snapshot.js.map +1 -1
- package/dist/features/structure-query.d.ts +1 -1
- package/dist/features/structure-query.d.ts.map +1 -1
- package/dist/features/structure-query.js +6 -6
- package/dist/features/structure-query.js.map +1 -1
- package/dist/features/structure.d.ts.map +1 -1
- package/dist/features/structure.js +150 -62
- package/dist/features/structure.js.map +1 -1
- package/dist/features/triage.d.ts.map +1 -1
- package/dist/features/triage.js +18 -11
- package/dist/features/triage.js.map +1 -1
- package/dist/graph/algorithms/bfs.d.ts +1 -1
- package/dist/graph/algorithms/bfs.d.ts.map +1 -1
- package/dist/graph/algorithms/bfs.js +14 -13
- package/dist/graph/algorithms/bfs.js.map +1 -1
- package/dist/graph/algorithms/tarjan.d.ts.map +1 -1
- package/dist/graph/algorithms/tarjan.js +5 -0
- package/dist/graph/algorithms/tarjan.js.map +1 -1
- package/dist/graph/builders/dependency.js +28 -22
- package/dist/graph/builders/dependency.js.map +1 -1
- package/dist/graph/classifiers/roles.d.ts +10 -1
- package/dist/graph/classifiers/roles.d.ts.map +1 -1
- package/dist/graph/classifiers/roles.js +60 -6
- package/dist/graph/classifiers/roles.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/config.d.ts +87 -4
- package/dist/infrastructure/config.d.ts.map +1 -1
- package/dist/infrastructure/config.js +424 -22
- package/dist/infrastructure/config.js.map +1 -1
- package/dist/infrastructure/registry.d.ts +27 -7
- package/dist/infrastructure/registry.d.ts.map +1 -1
- package/dist/infrastructure/registry.js +79 -5
- package/dist/infrastructure/registry.js.map +1 -1
- package/dist/infrastructure/update-check.d.ts.map +1 -1
- package/dist/infrastructure/update-check.js +49 -31
- package/dist/infrastructure/update-check.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -10
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/ast-query.d.ts +1 -1
- package/dist/mcp/tools/ast-query.d.ts.map +1 -1
- package/dist/mcp/tools/audit.d.ts +1 -1
- package/dist/mcp/tools/audit.d.ts.map +1 -1
- package/dist/mcp/tools/batch-query.d.ts +1 -1
- package/dist/mcp/tools/batch-query.d.ts.map +1 -1
- package/dist/mcp/tools/branch-compare.d.ts +1 -1
- package/dist/mcp/tools/branch-compare.d.ts.map +1 -1
- package/dist/mcp/tools/brief.d.ts +1 -1
- package/dist/mcp/tools/brief.d.ts.map +1 -1
- package/dist/mcp/tools/cfg.d.ts +1 -1
- package/dist/mcp/tools/cfg.d.ts.map +1 -1
- package/dist/mcp/tools/check.d.ts +1 -1
- package/dist/mcp/tools/check.d.ts.map +1 -1
- package/dist/mcp/tools/co-changes.d.ts +1 -1
- package/dist/mcp/tools/co-changes.d.ts.map +1 -1
- package/dist/mcp/tools/code-owners.d.ts +1 -1
- package/dist/mcp/tools/code-owners.d.ts.map +1 -1
- package/dist/mcp/tools/communities.d.ts +1 -1
- package/dist/mcp/tools/communities.d.ts.map +1 -1
- package/dist/mcp/tools/complexity.d.ts +1 -1
- package/dist/mcp/tools/complexity.d.ts.map +1 -1
- package/dist/mcp/tools/context.d.ts +1 -1
- package/dist/mcp/tools/context.d.ts.map +1 -1
- package/dist/mcp/tools/dataflow.d.ts +1 -1
- package/dist/mcp/tools/dataflow.d.ts.map +1 -1
- package/dist/mcp/tools/diff-impact.d.ts +1 -1
- package/dist/mcp/tools/diff-impact.d.ts.map +1 -1
- package/dist/mcp/tools/execution-flow.d.ts +1 -1
- package/dist/mcp/tools/execution-flow.d.ts.map +1 -1
- package/dist/mcp/tools/export-graph.d.ts +1 -1
- package/dist/mcp/tools/export-graph.d.ts.map +1 -1
- package/dist/mcp/tools/file-deps.d.ts +1 -1
- package/dist/mcp/tools/file-deps.d.ts.map +1 -1
- package/dist/mcp/tools/file-exports.d.ts +1 -1
- package/dist/mcp/tools/file-exports.d.ts.map +1 -1
- package/dist/mcp/tools/find-cycles.d.ts +1 -1
- package/dist/mcp/tools/find-cycles.d.ts.map +1 -1
- package/dist/mcp/tools/fn-impact.d.ts +1 -1
- package/dist/mcp/tools/fn-impact.d.ts.map +1 -1
- package/dist/mcp/tools/impact-analysis.d.ts +1 -1
- package/dist/mcp/tools/impact-analysis.d.ts.map +1 -1
- package/dist/mcp/tools/implementations.d.ts +1 -1
- package/dist/mcp/tools/implementations.d.ts.map +1 -1
- package/dist/mcp/tools/index.d.ts +2 -5
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/interfaces.d.ts +1 -1
- package/dist/mcp/tools/interfaces.d.ts.map +1 -1
- package/dist/mcp/tools/list-functions.d.ts +1 -1
- package/dist/mcp/tools/list-functions.d.ts.map +1 -1
- package/dist/mcp/tools/list-repos.d.ts +1 -1
- package/dist/mcp/tools/list-repos.d.ts.map +1 -1
- package/dist/mcp/tools/module-map.d.ts +1 -1
- package/dist/mcp/tools/module-map.d.ts.map +1 -1
- package/dist/mcp/tools/node-roles.d.ts +1 -1
- package/dist/mcp/tools/node-roles.d.ts.map +1 -1
- package/dist/mcp/tools/path.d.ts +1 -1
- package/dist/mcp/tools/path.d.ts.map +1 -1
- package/dist/mcp/tools/query.d.ts +1 -1
- package/dist/mcp/tools/query.d.ts.map +1 -1
- package/dist/mcp/tools/semantic-search.d.ts +1 -1
- package/dist/mcp/tools/semantic-search.d.ts.map +1 -1
- package/dist/mcp/tools/sequence.d.ts +1 -1
- package/dist/mcp/tools/sequence.d.ts.map +1 -1
- package/dist/mcp/tools/structure.d.ts +1 -1
- package/dist/mcp/tools/structure.d.ts.map +1 -1
- package/dist/mcp/tools/symbol-children.d.ts +1 -1
- package/dist/mcp/tools/symbol-children.d.ts.map +1 -1
- package/dist/mcp/tools/triage.d.ts +1 -1
- package/dist/mcp/tools/triage.d.ts.map +1 -1
- package/dist/mcp/tools/where.d.ts +1 -1
- package/dist/mcp/tools/where.d.ts.map +1 -1
- package/dist/mcp/types.d.ts +19 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +6 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/presentation/queries-cli/index.d.ts +1 -1
- package/dist/presentation/queries-cli/index.d.ts.map +1 -1
- package/dist/presentation/queries-cli/index.js +1 -1
- package/dist/presentation/queries-cli/index.js.map +1 -1
- package/dist/presentation/queries-cli/overview.d.ts +1 -0
- package/dist/presentation/queries-cli/overview.d.ts.map +1 -1
- package/dist/presentation/queries-cli/overview.js +20 -1
- package/dist/presentation/queries-cli/overview.js.map +1 -1
- package/dist/presentation/queries-cli.d.ts +1 -1
- package/dist/presentation/queries-cli.d.ts.map +1 -1
- package/dist/presentation/queries-cli.js +1 -1
- package/dist/presentation/queries-cli.js.map +1 -1
- package/dist/presentation/structure.d.ts +1 -1
- package/dist/presentation/structure.d.ts.map +1 -1
- package/dist/presentation/structure.js +2 -2
- package/dist/presentation/structure.js.map +1 -1
- package/dist/presentation/viewer.d.ts.map +1 -1
- package/dist/presentation/viewer.js +45 -32
- package/dist/presentation/viewer.js.map +1 -1
- package/dist/shared/constants.d.ts +21 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +25 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/normalize.d.ts.map +1 -1
- package/dist/shared/normalize.js +12 -22
- package/dist/shared/normalize.js.map +1 -1
- package/dist/shared/paginate.d.ts +4 -17
- package/dist/shared/paginate.d.ts.map +1 -1
- package/dist/shared/paginate.js.map +1 -1
- package/dist/types.d.ts +113 -1
- package/dist/types.d.ts.map +1 -1
- package/grammars/tree-sitter-erlang.wasm +0 -0
- package/grammars/tree-sitter-gleam.wasm +0 -0
- package/package.json +7 -8
- package/src/ast-analysis/engine.ts +43 -63
- package/src/ast-analysis/rules/b2.ts +263 -0
- package/src/ast-analysis/rules/b3.ts +127 -0
- package/src/ast-analysis/rules/b4.ts +378 -0
- package/src/ast-analysis/rules/b5.ts +65 -0
- package/src/ast-analysis/rules/c.ts +157 -0
- package/src/ast-analysis/rules/index.ts +34 -0
- package/src/ast-analysis/rules/javascript.ts +3 -0
- package/src/ast-analysis/shared.ts +2 -0
- package/src/ast-analysis/visitor-utils.ts +5 -0
- package/src/ast-analysis/visitor.ts +82 -52
- package/src/ast-analysis/visitors/cfg-visitor.ts +198 -84
- package/src/ast-analysis/visitors/complexity-visitor.ts +44 -16
- package/src/ast-analysis/visitors/dataflow-visitor.ts +68 -29
- package/src/cli/commands/audit.ts +2 -1
- package/src/cli/commands/batch.ts +1 -0
- package/src/cli/commands/build.ts +6 -1
- package/src/cli/commands/config.ts +353 -0
- package/src/cli/commands/roles.ts +6 -1
- package/src/cli/commands/triage.ts +1 -1
- package/src/cli/index.ts +10 -0
- package/src/cli/shared/options.ts +11 -1
- package/src/cli/types.ts +2 -0
- package/src/db/better-sqlite3.ts +5 -4
- package/src/db/connection.ts +23 -5
- package/src/db/index.ts +1 -0
- package/src/db/migrations.ts +69 -1
- package/src/db/repository/build-stmts.ts +30 -0
- package/src/db/repository/dataflow.ts +16 -0
- package/src/db/repository/index.ts +1 -1
- package/src/db/repository/native-repository.ts +56 -40
- package/src/domain/analysis/fn-impact.ts +4 -0
- package/src/domain/analysis/module-map.ts +38 -6
- package/src/domain/analysis/roles.ts +23 -0
- package/src/domain/graph/builder/call-resolver.ts +156 -218
- package/src/domain/graph/builder/cha.ts +18 -1
- package/src/domain/graph/builder/context.ts +1 -0
- package/src/domain/graph/builder/helpers.ts +205 -67
- package/src/domain/graph/builder/incremental.ts +249 -119
- package/src/domain/graph/builder/pipeline.ts +59 -6
- package/src/domain/graph/builder/stages/build-edges.ts +783 -652
- package/src/domain/graph/builder/stages/collect-files.ts +12 -6
- package/src/domain/graph/builder/stages/detect-changes.ts +4 -2
- package/src/domain/graph/builder/stages/finalize.ts +4 -0
- package/src/domain/graph/builder/stages/native-orchestrator.ts +1214 -398
- package/src/domain/graph/builder/stages/resolve-imports.ts +1 -1
- package/src/domain/graph/resolver/points-to.ts +182 -59
- package/src/domain/graph/resolver/strategy.ts +265 -0
- package/src/domain/graph/watcher.ts +19 -9
- package/src/domain/parser.ts +57 -16
- package/src/domain/queries.ts +1 -1
- package/src/domain/wasm-worker-entry.ts +13 -2
- package/src/domain/wasm-worker-pool.ts +29 -4
- package/src/domain/wasm-worker-protocol.ts +5 -0
- package/src/extractors/cpp.ts +44 -1
- package/src/extractors/cuda.ts +44 -1
- package/src/extractors/dart.ts +48 -3
- package/src/extractors/groovy.ts +62 -2
- package/src/extractors/helpers.ts +48 -2
- package/src/extractors/java.ts +88 -8
- package/src/extractors/javascript.ts +693 -167
- package/src/extractors/kotlin.ts +57 -3
- package/src/extractors/objc.ts +25 -1
- package/src/extractors/scala.ts +63 -1
- package/src/extractors/swift.ts +46 -3
- package/src/features/audit.ts +43 -34
- package/src/features/boundaries.ts +17 -9
- package/src/features/cfg.ts +31 -22
- package/src/features/check.ts +21 -5
- package/src/features/communities.ts +28 -19
- package/src/features/dataflow.ts +755 -6
- package/src/features/manifesto.ts +76 -75
- package/src/features/sequence.ts +29 -23
- package/src/features/snapshot.ts +36 -25
- package/src/features/structure-query.ts +7 -7
- package/src/features/structure.ts +185 -55
- package/src/features/triage.ts +28 -15
- package/src/graph/algorithms/bfs.ts +13 -12
- package/src/graph/algorithms/tarjan.ts +5 -0
- package/src/graph/builders/dependency.ts +35 -23
- package/src/graph/classifiers/roles.ts +74 -7
- package/src/index.ts +5 -1
- package/src/infrastructure/config.ts +511 -23
- package/src/infrastructure/registry.ts +117 -12
- package/src/infrastructure/update-check.ts +55 -33
- package/src/mcp/server.ts +2 -8
- package/src/mcp/tools/ast-query.ts +1 -1
- package/src/mcp/tools/audit.ts +1 -1
- package/src/mcp/tools/batch-query.ts +1 -1
- package/src/mcp/tools/branch-compare.ts +1 -1
- package/src/mcp/tools/brief.ts +1 -1
- package/src/mcp/tools/cfg.ts +1 -1
- package/src/mcp/tools/check.ts +1 -1
- package/src/mcp/tools/co-changes.ts +1 -1
- package/src/mcp/tools/code-owners.ts +1 -1
- package/src/mcp/tools/communities.ts +1 -1
- package/src/mcp/tools/complexity.ts +1 -1
- package/src/mcp/tools/context.ts +1 -1
- package/src/mcp/tools/dataflow.ts +1 -1
- package/src/mcp/tools/diff-impact.ts +1 -1
- package/src/mcp/tools/execution-flow.ts +1 -1
- package/src/mcp/tools/export-graph.ts +1 -1
- package/src/mcp/tools/file-deps.ts +1 -1
- package/src/mcp/tools/file-exports.ts +1 -1
- package/src/mcp/tools/find-cycles.ts +1 -1
- package/src/mcp/tools/fn-impact.ts +1 -1
- package/src/mcp/tools/impact-analysis.ts +1 -1
- package/src/mcp/tools/implementations.ts +1 -1
- package/src/mcp/tools/index.ts +2 -5
- package/src/mcp/tools/interfaces.ts +1 -1
- package/src/mcp/tools/list-functions.ts +1 -1
- package/src/mcp/tools/list-repos.ts +1 -1
- package/src/mcp/tools/module-map.ts +1 -1
- package/src/mcp/tools/node-roles.ts +1 -1
- package/src/mcp/tools/path.ts +1 -1
- package/src/mcp/tools/query.ts +1 -1
- package/src/mcp/tools/semantic-search.ts +1 -1
- package/src/mcp/tools/sequence.ts +1 -1
- package/src/mcp/tools/structure.ts +1 -1
- package/src/mcp/tools/symbol-children.ts +1 -1
- package/src/mcp/tools/triage.ts +1 -1
- package/src/mcp/tools/where.ts +1 -1
- package/src/mcp/types.ts +21 -0
- package/src/presentation/queries-cli/index.ts +1 -1
- package/src/presentation/queries-cli/overview.ts +35 -1
- package/src/presentation/queries-cli.ts +1 -0
- package/src/presentation/structure.ts +3 -3
- package/src/presentation/viewer.ts +98 -87
- package/src/shared/constants.ts +26 -0
- package/src/shared/normalize.ts +13 -22
- package/src/shared/paginate.ts +4 -18
- package/src/types.ts +127 -1
|
@@ -106,24 +106,9 @@ export function buildLayoutOptions(cfg) {
|
|
|
106
106
|
}
|
|
107
107
|
return opts;
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
title: cfg.title || 'Codegraph',
|
|
113
|
-
layoutAlgorithm: cfg.layout?.algorithm || 'hierarchical',
|
|
114
|
-
layoutDirection: cfg.layout?.direction || 'LR',
|
|
115
|
-
physicsEnabled: cfg.physics?.enabled !== false,
|
|
116
|
-
sizeBy: cfg.sizeBy || 'uniform',
|
|
117
|
-
clusterBy: cfg.clusterBy || 'none',
|
|
118
|
-
effectiveColorBy: cfg.overlays?.complexity && cfg.colorBy === 'kind' ? 'complexity' : cfg.colorBy || 'kind',
|
|
119
|
-
effectiveRisk: cfg.overlays?.risk || false,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
export function renderPlotHTML(data, cfg) {
|
|
123
|
-
const { layoutOpts, title, layoutAlgorithm, layoutDirection, physicsEnabled, sizeBy, clusterBy, effectiveColorBy, effectiveRisk, } = resolvePlotConfig(cfg);
|
|
124
|
-
return `<!DOCTYPE html>
|
|
125
|
-
<html lang="en">
|
|
126
|
-
<head>
|
|
109
|
+
// ─── HTML Section Renderers ──────────────────────────────────────────
|
|
110
|
+
function renderViewerHead(title) {
|
|
111
|
+
return `<head>
|
|
127
112
|
<meta charset="UTF-8">
|
|
128
113
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
129
114
|
<title>${escapeHtml(title)}</title>
|
|
@@ -157,9 +142,11 @@ export function renderPlotHTML(data, cfg) {
|
|
|
157
142
|
#legend div { display: flex; align-items: center; gap: 6px; margin: 2px 0; }
|
|
158
143
|
#legend span.swatch { width: 14px; height: 14px; border-radius: 3px; display: inline-block; flex-shrink: 0; }
|
|
159
144
|
</style>
|
|
160
|
-
</head
|
|
161
|
-
|
|
162
|
-
|
|
145
|
+
</head>`;
|
|
146
|
+
}
|
|
147
|
+
function renderViewerControls(resolved) {
|
|
148
|
+
const { layoutAlgorithm, physicsEnabled, effectiveColorBy, sizeBy, clusterBy, effectiveRisk } = resolved;
|
|
149
|
+
return `<div id="controls">
|
|
163
150
|
<label>Layout:
|
|
164
151
|
<select id="layoutSelect">
|
|
165
152
|
<option value="hierarchical"${layoutAlgorithm === 'hierarchical' ? ' selected' : ''}>Hierarchical</option>
|
|
@@ -193,16 +180,11 @@ export function renderPlotHTML(data, cfg) {
|
|
|
193
180
|
</select>
|
|
194
181
|
</label>
|
|
195
182
|
<label>Risk: <input type="checkbox" id="riskToggle"${effectiveRisk ? ' checked' : ''}></label>
|
|
196
|
-
</div
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
<div id="detailContent"></div>
|
|
202
|
-
</div>
|
|
203
|
-
</div>
|
|
204
|
-
<div id="legend"></div>
|
|
205
|
-
<script>
|
|
183
|
+
</div>`;
|
|
184
|
+
}
|
|
185
|
+
function renderViewerScript(data, cfg, resolved) {
|
|
186
|
+
const { layoutOpts, layoutDirection, clusterBy, effectiveColorBy } = resolved;
|
|
187
|
+
return `<script>
|
|
206
188
|
/* ── Data ──────────────────────────────────────────────────────────── */
|
|
207
189
|
var allNodes = ${JSON.stringify(data.nodes)};
|
|
208
190
|
var allEdges = ${JSON.stringify(data.edges)};
|
|
@@ -598,7 +580,38 @@ document.getElementById('detailClose').addEventListener('click', hideDetail);
|
|
|
598
580
|
refreshNodeAppearance();
|
|
599
581
|
updateLegend(${JSON.stringify(effectiveColorBy)});
|
|
600
582
|
${clusterBy !== 'none' ? `applyClusterBy(${JSON.stringify(clusterBy)});` : ''}
|
|
601
|
-
</script
|
|
583
|
+
</script>`;
|
|
584
|
+
}
|
|
585
|
+
function resolvePlotConfig(cfg) {
|
|
586
|
+
return {
|
|
587
|
+
layoutOpts: buildLayoutOptions(cfg),
|
|
588
|
+
title: cfg.title || 'Codegraph',
|
|
589
|
+
layoutAlgorithm: cfg.layout?.algorithm || 'hierarchical',
|
|
590
|
+
layoutDirection: cfg.layout?.direction || 'LR',
|
|
591
|
+
physicsEnabled: cfg.physics?.enabled !== false,
|
|
592
|
+
sizeBy: cfg.sizeBy || 'uniform',
|
|
593
|
+
clusterBy: cfg.clusterBy || 'none',
|
|
594
|
+
effectiveColorBy: cfg.overlays?.complexity && cfg.colorBy === 'kind' ? 'complexity' : cfg.colorBy || 'kind',
|
|
595
|
+
effectiveRisk: cfg.overlays?.risk || false,
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
export function renderPlotHTML(data, cfg) {
|
|
599
|
+
const resolved = resolvePlotConfig(cfg);
|
|
600
|
+
const { title } = resolved;
|
|
601
|
+
return `<!DOCTYPE html>
|
|
602
|
+
<html lang="en">
|
|
603
|
+
${renderViewerHead(title)}
|
|
604
|
+
<body>
|
|
605
|
+
${renderViewerControls(resolved)}
|
|
606
|
+
<div id="main">
|
|
607
|
+
<div id="graph"></div>
|
|
608
|
+
<div id="detail">
|
|
609
|
+
<span id="detailClose">×</span>
|
|
610
|
+
<div id="detailContent"></div>
|
|
611
|
+
</div>
|
|
612
|
+
</div>
|
|
613
|
+
<div id="legend"></div>
|
|
614
|
+
${renderViewerScript(data, cfg, resolved)}
|
|
602
615
|
</body>
|
|
603
616
|
</html>`;
|
|
604
617
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/presentation/viewer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/presentation/viewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,28 @@ export interface ArrayCompatSet<T> extends Set<T> {
|
|
|
6
6
|
toArray(): T[];
|
|
7
7
|
}
|
|
8
8
|
export declare const IGNORE_DIRS: ArrayCompatSet<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Merge the global IGNORE_DIRS set with a per-repo additional list from config.
|
|
11
|
+
* Returns a new Set — does not mutate IGNORE_DIRS.
|
|
12
|
+
*/
|
|
13
|
+
export declare function buildIgnoreSet(additionalDirs?: string[]): ReadonlySet<string>;
|
|
9
14
|
export declare const EXTENSIONS: ArrayCompatSet<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Minimum confidence assigned to resolved `ts-native` call edges.
|
|
17
|
+
*
|
|
18
|
+
* The native engine's proximity heuristic returns 0.3 for cross-module calls
|
|
19
|
+
* where no import-path evidence is available. For ts-native edges the engine
|
|
20
|
+
* performed actual name-based symbol lookup, which is stronger evidence than
|
|
21
|
+
* pure file-proximity. Clamping to 0.5 (same-parent-directory level) avoids
|
|
22
|
+
* unfairly dragging down the call-confidence metric. Sink edges
|
|
23
|
+
* (confidence = 0.0) are intentionally excluded and must remain at 0.0 so
|
|
24
|
+
* they stay below DEFAULT_MIN_CONFIDENCE and never surface in normal queries.
|
|
25
|
+
*
|
|
26
|
+
* Used in `build-edges.ts` (in-memory + `applyEdgeTechniquesAfterNativeInsert`)
|
|
27
|
+
* and `native-orchestrator.ts` (`backfillEdgeTechniquesAfterNativeOrchestrator`).
|
|
28
|
+
* Centralised here so all three insertion paths apply the same value.
|
|
29
|
+
*/
|
|
30
|
+
export declare const TS_NATIVE_CONFIDENCE_FLOOR = 0.5;
|
|
10
31
|
export declare function shouldIgnore(dirName: string): boolean;
|
|
11
32
|
export declare function isSupportedFile(filePath: string): boolean;
|
|
12
33
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,EAAE,CAAC;CAChB;AAMD,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,MAAM,CAmB9C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,MAAM,CAAkD,CAAC;AAEjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,EAAE,CAAC;CAChB;AAMD,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,MAAM,CAmB9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAG7E;AAED,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,MAAM,CAAkD,CAAC;AAEjG;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
package/dist/shared/constants.js
CHANGED
|
@@ -21,7 +21,32 @@ export const IGNORE_DIRS = withArrayCompat(new Set([
|
|
|
21
21
|
'env',
|
|
22
22
|
'.env',
|
|
23
23
|
]));
|
|
24
|
+
/**
|
|
25
|
+
* Merge the global IGNORE_DIRS set with a per-repo additional list from config.
|
|
26
|
+
* Returns a new Set — does not mutate IGNORE_DIRS.
|
|
27
|
+
*/
|
|
28
|
+
export function buildIgnoreSet(additionalDirs) {
|
|
29
|
+
if (!additionalDirs || additionalDirs.length === 0)
|
|
30
|
+
return IGNORE_DIRS;
|
|
31
|
+
return new Set([...IGNORE_DIRS, ...additionalDirs]);
|
|
32
|
+
}
|
|
24
33
|
export const EXTENSIONS = withArrayCompat(new Set(SUPPORTED_EXTENSIONS));
|
|
34
|
+
/**
|
|
35
|
+
* Minimum confidence assigned to resolved `ts-native` call edges.
|
|
36
|
+
*
|
|
37
|
+
* The native engine's proximity heuristic returns 0.3 for cross-module calls
|
|
38
|
+
* where no import-path evidence is available. For ts-native edges the engine
|
|
39
|
+
* performed actual name-based symbol lookup, which is stronger evidence than
|
|
40
|
+
* pure file-proximity. Clamping to 0.5 (same-parent-directory level) avoids
|
|
41
|
+
* unfairly dragging down the call-confidence metric. Sink edges
|
|
42
|
+
* (confidence = 0.0) are intentionally excluded and must remain at 0.0 so
|
|
43
|
+
* they stay below DEFAULT_MIN_CONFIDENCE and never surface in normal queries.
|
|
44
|
+
*
|
|
45
|
+
* Used in `build-edges.ts` (in-memory + `applyEdgeTechniquesAfterNativeInsert`)
|
|
46
|
+
* and `native-orchestrator.ts` (`backfillEdgeTechniquesAfterNativeOrchestrator`).
|
|
47
|
+
* Centralised here so all three insertion paths apply the same value.
|
|
48
|
+
*/
|
|
49
|
+
export const TS_NATIVE_CONFIDENCE_FLOOR = 0.5;
|
|
25
50
|
export function shouldIgnore(dirName) {
|
|
26
51
|
return IGNORE_DIRS.has(dirName) || dirName.startsWith('.');
|
|
27
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAU3D,SAAS,eAAe,CAAI,CAAS;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAA2B,eAAe,CAChE,IAAI,GAAG,CAAC;IACN,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;IACb,UAAU;IACV,YAAY;IACZ,aAAa;IACb,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;CACP,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA2B,eAAe,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEjG,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAU3D,SAAS,eAAe,CAAI,CAAS;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAA2B,eAAe,CAChE,IAAI,GAAG,CAAC;IACN,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;IACb,UAAU;IACV,YAAY;IACZ,aAAa;IACb,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;CACP,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,cAAyB;IACtD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACvE,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAA2B,eAAe,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,UAAU,QAAQ;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;KAAE,CAAC;CAC9D;AAED,+EAA+E;AAC/E,UAAU,UAAU;IAClB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C;AAMD,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrE;AAED,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAEA;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,UAAU,QAAQ;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;KAAE,CAAC;CAC9D;AAED,+EAA+E;AAC/E,UAAU,UAAU;IAClB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C;AAMD,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrE;AAED,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAEA;AAcD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAqBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,YAAY,EACjB,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,EACjC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GACrC,gBAAgB,CAWlB"}
|
package/dist/shared/normalize.js
CHANGED
|
@@ -9,29 +9,19 @@ export function getFileHash(db, file) {
|
|
|
9
9
|
export function toSymbolRef(row) {
|
|
10
10
|
return { name: row.name, kind: row.kind, file: row.file, line: row.line };
|
|
11
11
|
}
|
|
12
|
+
const KIND_ICONS = {
|
|
13
|
+
function: 'f',
|
|
14
|
+
class: '*',
|
|
15
|
+
method: 'o',
|
|
16
|
+
file: '#',
|
|
17
|
+
interface: 'I',
|
|
18
|
+
type: 'T',
|
|
19
|
+
parameter: 'p',
|
|
20
|
+
property: '.',
|
|
21
|
+
constant: 'C',
|
|
22
|
+
};
|
|
12
23
|
export function kindIcon(kind) {
|
|
13
|
-
|
|
14
|
-
case 'function':
|
|
15
|
-
return 'f';
|
|
16
|
-
case 'class':
|
|
17
|
-
return '*';
|
|
18
|
-
case 'method':
|
|
19
|
-
return 'o';
|
|
20
|
-
case 'file':
|
|
21
|
-
return '#';
|
|
22
|
-
case 'interface':
|
|
23
|
-
return 'I';
|
|
24
|
-
case 'type':
|
|
25
|
-
return 'T';
|
|
26
|
-
case 'parameter':
|
|
27
|
-
return 'p';
|
|
28
|
-
case 'property':
|
|
29
|
-
return '.';
|
|
30
|
-
case 'constant':
|
|
31
|
-
return 'C';
|
|
32
|
-
default:
|
|
33
|
-
return '-';
|
|
34
|
-
}
|
|
24
|
+
return KIND_ICONS[kind] ?? '-';
|
|
35
25
|
}
|
|
36
26
|
/**
|
|
37
27
|
* Resolve a file hash, using the cache when available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAUA,SAAS,YAAY,CAAC,CAAU;IAC9B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAgB,CAAC,WAAW,KAAK,UAAU,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,IAAI,CAEjE,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,WAAW,CAAC,GAA+D;IAMzF,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAUA,SAAS,YAAY,CAAC,CAAU;IAC9B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAgB,CAAC,WAAW,KAAK,UAAU,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,IAAI,CAEjE,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,WAAW,CAAC,GAA+D;IAMzF,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,GAAqC;IACnD,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AACjC,CAAC;AAsBD;;;GAGG;AACH,SAAS,eAAe,CACtB,EAAyB,EACzB,IAAY,EACZ,SAAsC;IAEtC,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,EAAc,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAiB,EACjB,EAAiC,EACjC,SAAsC;IAEtC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI;QAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;QACtB,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -4,21 +4,8 @@
|
|
|
4
4
|
* Offset/limit pagination — the DB is a read-only snapshot so data doesn't
|
|
5
5
|
* change between pages; offset/limit is simpler and maps directly to SQL.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
offset: number;
|
|
10
|
-
limit: number;
|
|
11
|
-
hasMore: boolean;
|
|
12
|
-
returned: number;
|
|
13
|
-
}
|
|
14
|
-
export interface PaginatedResult<T> {
|
|
15
|
-
items: T[];
|
|
16
|
-
pagination?: PaginationMeta;
|
|
17
|
-
}
|
|
18
|
-
export interface PaginateOpts {
|
|
19
|
-
limit?: number;
|
|
20
|
-
offset?: number;
|
|
21
|
-
}
|
|
7
|
+
import type { PaginatedItems, PaginationMeta, PaginationOpts } from '../types.js';
|
|
8
|
+
export type { PaginatedItems as PaginatedResult, PaginationMeta, PaginationOpts as PaginateOpts };
|
|
22
9
|
/** Default limits applied by MCP tool handlers (not by the programmatic API). */
|
|
23
10
|
export declare const MCP_DEFAULTS: Record<string, number>;
|
|
24
11
|
/**
|
|
@@ -32,14 +19,14 @@ export declare const MCP_MAX_LIMIT = 1000;
|
|
|
32
19
|
*
|
|
33
20
|
* When `limit` is undefined the input is returned unchanged (no-op).
|
|
34
21
|
*/
|
|
35
|
-
export declare function paginate<T>(items: T[], { limit, offset }?:
|
|
22
|
+
export declare function paginate<T>(items: T[], { limit, offset }?: PaginationOpts): PaginatedItems<T>;
|
|
36
23
|
/**
|
|
37
24
|
* Apply pagination to a named array field on a result object.
|
|
38
25
|
*
|
|
39
26
|
* When `limit` is undefined the result is returned unchanged (backward compat).
|
|
40
27
|
* When active, `_pagination` metadata is added to the result.
|
|
41
28
|
*/
|
|
42
|
-
export declare function paginateResult<T extends Record<string, unknown>>(result: T, field: string, { limit, offset }?:
|
|
29
|
+
export declare function paginateResult<T extends Record<string, unknown>>(result: T, field: string, { limit, offset }?: PaginationOpts): T & {
|
|
43
30
|
_pagination?: PaginationMeta;
|
|
44
31
|
};
|
|
45
32
|
//# sourceMappingURL=paginate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginate.d.ts","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,
|
|
1
|
+
{"version":3,"file":"paginate.d.ts","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EAAE,cAAc,IAAI,eAAe,EAAE,cAAc,EAAE,cAAc,IAAI,YAAY,EAAE,CAAC;AAElG,iFAAiF;AACjF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuB/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG9F;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAE,cAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBjG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EACb,EAAE,KAAK,EAAE,MAAM,EAAE,GAAE,cAAmB,GACrC,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,cAAc,CAAA;CAAE,CAStC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginate.js","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"paginate.js","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,cAAc,EAAE,GAAG;IACnB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,EAAE;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,cAAuC;IACpE,IAAI,CAAC,cAAc;QAAE,OAAO,YAAY,CAAC;IACzC,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC;AAChD,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAI,KAAU,EAAE,EAAE,KAAK,EAAE,MAAM,KAAqB,EAAE;IAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzC,OAAO;QACL,KAAK,EAAE,IAAI;QACX,UAAU,EAAE;YACV,KAAK;YACL,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK;YAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAS,EACT,KAAa,EACb,EAAE,KAAK,EAAE,MAAM,KAAqB,EAAE;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAChE,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export type CoreEdgeKind = 'imports' | 'imports-type' | 'dynamic-imports' | 'ree
|
|
|
21
21
|
/** Parent/child and type relationship edges. */
|
|
22
22
|
export type StructuralEdgeKind = 'parameter_of' | 'receiver';
|
|
23
23
|
/** Dataflow-specific edge kinds. */
|
|
24
|
-
export type DataflowEdgeKind = 'flows_to' | 'returns' | 'mutates';
|
|
24
|
+
export type DataflowEdgeKind = 'flows_to' | 'returns' | 'mutates' | 'def_use' | 'arg_in' | 'return_out';
|
|
25
25
|
/** All edge kinds that can appear in the graph. */
|
|
26
26
|
export type EdgeKind = CoreEdgeKind | StructuralEdgeKind;
|
|
27
27
|
/** Extended edge kinds including dataflow. */
|
|
@@ -94,6 +94,7 @@ export interface EdgeRow {
|
|
|
94
94
|
kind: EdgeKind;
|
|
95
95
|
confidence: number | null;
|
|
96
96
|
dynamic: 0 | 1;
|
|
97
|
+
dynamic_kind?: string | null;
|
|
97
98
|
}
|
|
98
99
|
/** Callee/caller node shape (from findCallees / findCallers). */
|
|
99
100
|
export interface RelatedNodeRow {
|
|
@@ -352,12 +353,21 @@ export interface LOCMetrics {
|
|
|
352
353
|
sloc: number;
|
|
353
354
|
commentLines: number;
|
|
354
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Taxonomy for dynamic/computed call sites — distinguishes resolvable kinds
|
|
358
|
+
* (computed-literal, reflection) from flag-only kinds (eval, computed-key,
|
|
359
|
+
* unresolved-dynamic) that cannot be resolved statically.
|
|
360
|
+
*/
|
|
361
|
+
export type DynamicKind = 'computed-literal' | 'computed-key' | 'reflection' | 'eval' | 'unresolved-dynamic';
|
|
355
362
|
/** A function/method call detected by an extractor. */
|
|
356
363
|
export interface Call {
|
|
357
364
|
name: string;
|
|
358
365
|
line: number;
|
|
359
366
|
receiver?: string;
|
|
360
367
|
dynamic?: boolean;
|
|
368
|
+
dynamicKind?: DynamicKind;
|
|
369
|
+
/** Raw key/arg text — used for diagnostics and future RES-1 const-string resolution. */
|
|
370
|
+
keyExpr?: string;
|
|
361
371
|
}
|
|
362
372
|
/** An import statement detected by an extractor. */
|
|
363
373
|
export interface Import {
|
|
@@ -573,6 +583,17 @@ export interface ExtractorOutput {
|
|
|
573
583
|
* `definePropertyReceivers.set("getter", "obj")`.
|
|
574
584
|
*/
|
|
575
585
|
definePropertyReceivers?: Map<string, string>;
|
|
586
|
+
/**
|
|
587
|
+
* CJS require bindings from `const { X, Y } = require('./path')` patterns.
|
|
588
|
+
* Used by buildImportedNamesMap to classify X and Y as import artifacts so
|
|
589
|
+
* receiver-edge resolution falls back to the global class lookup rather than
|
|
590
|
+
* treating the destructured-binding function node as a local definition (#1661).
|
|
591
|
+
* Does NOT cause DB import edges — use `imports` for that.
|
|
592
|
+
*/
|
|
593
|
+
cjsRequireBindings?: Array<{
|
|
594
|
+
names: string[];
|
|
595
|
+
source: string;
|
|
596
|
+
}>;
|
|
576
597
|
/** WASM tree retained for downstream analysis (complexity, CFG, dataflow). */
|
|
577
598
|
_tree?: TreeSitterTree;
|
|
578
599
|
/** Language identifier. */
|
|
@@ -780,10 +801,14 @@ export interface CfgRulesConfig {
|
|
|
780
801
|
export interface DataflowRulesConfig {
|
|
781
802
|
functionNodes: Set<string>;
|
|
782
803
|
nameField: string;
|
|
804
|
+
/** Override for languages with nested function name structures (e.g. C/C++). */
|
|
805
|
+
nameExtractor: ((node: TreeSitterNode) => string | null) | null;
|
|
783
806
|
varAssignedFnParent: string | null;
|
|
784
807
|
assignmentFnParent: string | null;
|
|
785
808
|
pairFnParent: string | null;
|
|
786
809
|
paramListField: string;
|
|
810
|
+
/** Override for languages where the param list is nested (e.g. C: function_definition → declarator → parameters). */
|
|
811
|
+
getParamListNode: ((funcNode: TreeSitterNode) => TreeSitterNode | null) | null;
|
|
787
812
|
paramIdentifier: string;
|
|
788
813
|
paramWrapperTypes: Set<string>;
|
|
789
814
|
defaultParamType: string | null;
|
|
@@ -840,6 +865,19 @@ export interface CfgEdge {
|
|
|
840
865
|
to: number;
|
|
841
866
|
label?: string;
|
|
842
867
|
}
|
|
868
|
+
/**
|
|
869
|
+
* A dataflow vertex: an addressable data location within a function.
|
|
870
|
+
* Populated during extraction (P1+); persisted to `dataflow_vertices`.
|
|
871
|
+
*/
|
|
872
|
+
export interface DataflowVertex {
|
|
873
|
+
/** Name of the enclosing function (used to resolve func_id at insert time). */
|
|
874
|
+
funcName: string;
|
|
875
|
+
/** Vertex kind: 'param' | 'local' | 'return' | 'receiver'. */
|
|
876
|
+
kind: 'param' | 'local' | 'return' | 'receiver';
|
|
877
|
+
name?: string;
|
|
878
|
+
paramIndex?: number;
|
|
879
|
+
line?: number;
|
|
880
|
+
}
|
|
843
881
|
/** Dataflow extraction result. */
|
|
844
882
|
export interface DataflowResult {
|
|
845
883
|
parameters: DataflowParam[];
|
|
@@ -1044,6 +1082,20 @@ export interface BuildGraphOpts {
|
|
|
1044
1082
|
* `findDbPath` for every other DB-scoped command.
|
|
1045
1083
|
*/
|
|
1046
1084
|
dbPath?: string;
|
|
1085
|
+
/**
|
|
1086
|
+
* User-config override for this build (from --user-config / --no-user-config).
|
|
1087
|
+
* - false → --no-user-config: skip global layer for this run
|
|
1088
|
+
* - string → --user-config <path>: apply the given file
|
|
1089
|
+
* - true → --user-config (bare): apply the default global file
|
|
1090
|
+
* - undefined → honour per-repo consent from the registry (normal)
|
|
1091
|
+
*/
|
|
1092
|
+
userConfig?: string | boolean;
|
|
1093
|
+
/**
|
|
1094
|
+
* When true, an interactive consent prompt may fire on first build for
|
|
1095
|
+
* repos whose global-config consent is undecided. Only set by the CLI
|
|
1096
|
+
* build command when stdin/stdout are TTYs and CI is not set.
|
|
1097
|
+
*/
|
|
1098
|
+
promptForConsent?: boolean;
|
|
1047
1099
|
}
|
|
1048
1100
|
/** Build timing result from buildGraph. */
|
|
1049
1101
|
export interface BuildResult {
|
|
@@ -1057,8 +1109,16 @@ export interface BuildResult {
|
|
|
1057
1109
|
edgesMs: number;
|
|
1058
1110
|
structureMs: number;
|
|
1059
1111
|
rolesMs: number;
|
|
1112
|
+
/** Wall-clock time for the CHA expansion post-pass (native path only). */
|
|
1113
|
+
chaMs?: number;
|
|
1060
1114
|
/** Wall-clock time for the this/super dispatch WASM post-pass (native path only). */
|
|
1061
1115
|
thisDispatchMs?: number;
|
|
1116
|
+
/** Wall-clock time for the dropped-language gap detection + backfill (native path only). */
|
|
1117
|
+
gapDetectMs?: number;
|
|
1118
|
+
/** Wall-clock time for role re-classification after JS edge-writing post-passes (native path only). */
|
|
1119
|
+
reclassifyMs?: number;
|
|
1120
|
+
/** Wall-clock time for the technique-column backfill on native-written edges (native path only). */
|
|
1121
|
+
techniqueBackfillMs?: number;
|
|
1062
1122
|
astMs: number;
|
|
1063
1123
|
complexityMs: number;
|
|
1064
1124
|
cfgMs: number;
|
|
@@ -1072,6 +1132,8 @@ export interface CodegraphConfig {
|
|
|
1072
1132
|
include: string[];
|
|
1073
1133
|
exclude: string[];
|
|
1074
1134
|
ignoreDirs: string[];
|
|
1135
|
+
/** Additional directory names to ignore on top of the built-in IGNORE_DIRS set. */
|
|
1136
|
+
ignoreAdditionalDirs: string[];
|
|
1075
1137
|
extensions: string[];
|
|
1076
1138
|
aliases: Record<string, unknown>;
|
|
1077
1139
|
build: {
|
|
@@ -1087,6 +1149,26 @@ export interface CodegraphConfig {
|
|
|
1087
1149
|
* Default: false.
|
|
1088
1150
|
*/
|
|
1089
1151
|
typescriptResolver: boolean;
|
|
1152
|
+
/**
|
|
1153
|
+
* Engine selection override. Values: `'auto'` (default), `'native'`, `'wasm'`.
|
|
1154
|
+
*
|
|
1155
|
+
* **Current wiring (partial):** This field is populated by `applyEnvOverrides`
|
|
1156
|
+
* from `CODEGRAPH_ENGINE` env var — env var → `config.build.engine`. The
|
|
1157
|
+
* `--engine` CLI flag is also forwarded. However, `connection.ts` and
|
|
1158
|
+
* `pipeline.ts` still read `process.env.CODEGRAPH_ENGINE` / `ctx.opts.engine`
|
|
1159
|
+
* directly, so a value set only in `.codegraphrc.json` (not via env var or CLI)
|
|
1160
|
+
* is silently ignored by the pipeline.
|
|
1161
|
+
*
|
|
1162
|
+
* Full config-file wiring is tracked in issue #1596.
|
|
1163
|
+
*/
|
|
1164
|
+
engine: 'auto' | 'native' | 'wasm';
|
|
1165
|
+
/**
|
|
1166
|
+
* Enable diagnostic logging for the native fast-skip pre-flight check.
|
|
1167
|
+
* Equivalent to `CODEGRAPH_FAST_SKIP_DIAG=1`. When true, logs why the
|
|
1168
|
+
* fast-skip gate was skipped (e.g. forceFullRebuild, engineName mismatch).
|
|
1169
|
+
* Default: false.
|
|
1170
|
+
*/
|
|
1171
|
+
fastSkipDiag: boolean;
|
|
1090
1172
|
};
|
|
1091
1173
|
query: {
|
|
1092
1174
|
defaultDepth: number;
|
|
@@ -1156,6 +1238,13 @@ export interface CodegraphConfig {
|
|
|
1156
1238
|
* constant of 50. See TODO in `src/infrastructure/config.ts`.
|
|
1157
1239
|
*/
|
|
1158
1240
|
pointsToMaxIterations: number;
|
|
1241
|
+
/**
|
|
1242
|
+
* Confidence score for a return type inferred from `return new Constructor()`
|
|
1243
|
+
* with no explicit TypeScript annotation.
|
|
1244
|
+
* Mirrors `INFERRED_RETURN_TYPE_CONFIDENCE` in `src/extractors/javascript.ts`.
|
|
1245
|
+
* @reserved — not yet wired; see TODO in `src/infrastructure/config.ts`.
|
|
1246
|
+
*/
|
|
1247
|
+
typeInferenceConfidence: number;
|
|
1159
1248
|
};
|
|
1160
1249
|
community: {
|
|
1161
1250
|
resolution: number;
|
|
@@ -1235,6 +1324,21 @@ export interface McpDefaults {
|
|
|
1235
1324
|
implementations: number;
|
|
1236
1325
|
interfaces: number;
|
|
1237
1326
|
}
|
|
1327
|
+
/** Per-repo consent decision for the user-level global config. */
|
|
1328
|
+
export type ConsentDecision = 'enabled' | 'disabled';
|
|
1329
|
+
/** Which layer contributed a resolved config value. */
|
|
1330
|
+
export type ConfigSource = 'default' | 'user' | 'project' | 'env';
|
|
1331
|
+
/** Maps config key paths (dot notation) to the layer that supplied the value. */
|
|
1332
|
+
export type ConfigProvenance = Record<string, ConfigSource>;
|
|
1333
|
+
/** Result of loadConfigWithProvenance. */
|
|
1334
|
+
export interface ConfigWithProvenance {
|
|
1335
|
+
config: CodegraphConfig;
|
|
1336
|
+
provenance: ConfigProvenance;
|
|
1337
|
+
/** Absolute path of the applied global file, or null if none was applied. */
|
|
1338
|
+
appliedGlobalPath: string | null;
|
|
1339
|
+
/** This repo's recorded consent decision (may be undefined if undecided). */
|
|
1340
|
+
consentDecision: ConsentDecision | undefined;
|
|
1341
|
+
}
|
|
1238
1342
|
export interface PaginationOpts {
|
|
1239
1343
|
limit?: number;
|
|
1240
1344
|
offset?: number;
|
|
@@ -1834,6 +1938,14 @@ export interface NativeAddon {
|
|
|
1834
1938
|
analyzeComplexity(source: string, filePath: string, langId?: string | null): NativeFunctionComplexityResult[];
|
|
1835
1939
|
buildCfgAnalysis(source: string, filePath: string, langId?: string | null): NativeFunctionCfgResult[];
|
|
1836
1940
|
extractDataflowAnalysis(source: string, filePath: string, langId?: string | null): DataflowResult | null;
|
|
1941
|
+
/**
|
|
1942
|
+
* Batch counterpart to {@link extractDataflowAnalysis}: read and analyse many
|
|
1943
|
+
* files in parallel (rayon) in a single NAPI call. Results are positional —
|
|
1944
|
+
* `null` where the file could not be read or has no dataflow rules. Optional:
|
|
1945
|
+
* older published addons predate this export, so callers must feature-detect
|
|
1946
|
+
* and fall back to per-file `extractDataflowAnalysis`.
|
|
1947
|
+
*/
|
|
1948
|
+
extractDataflowAnalysisBatch?(filePaths: string[]): (DataflowResult | null)[];
|
|
1837
1949
|
ParseTreeCache: new () => NativeParseTreeCache;
|
|
1838
1950
|
NativeDatabase: {
|
|
1839
1951
|
openReadWrite(dbPath: string): NativeDatabase;
|