arceus-s 1.6.4
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 +395 -0
- package/dist/_shared/graph/types.d.ts +81 -0
- package/dist/_shared/graph/types.d.ts.map +1 -0
- package/dist/_shared/graph/types.js +8 -0
- package/dist/_shared/graph/types.js.map +1 -0
- package/dist/_shared/index.d.ts +63 -0
- package/dist/_shared/index.d.ts.map +1 -0
- package/dist/_shared/index.js +48 -0
- package/dist/_shared/index.js.map +1 -0
- package/dist/_shared/integrations/circuit-breaker.d.ts +183 -0
- package/dist/_shared/integrations/circuit-breaker.d.ts.map +1 -0
- package/dist/_shared/integrations/circuit-breaker.js +236 -0
- package/dist/_shared/integrations/circuit-breaker.js.map +1 -0
- package/dist/_shared/integrations/resilient-fetch.d.ts +99 -0
- package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -0
- package/dist/_shared/integrations/resilient-fetch.js +204 -0
- package/dist/_shared/integrations/resilient-fetch.js.map +1 -0
- package/dist/_shared/integrations/retry.d.ts +60 -0
- package/dist/_shared/integrations/retry.d.ts.map +1 -0
- package/dist/_shared/integrations/retry.js +67 -0
- package/dist/_shared/integrations/retry.js.map +1 -0
- package/dist/_shared/integrations/understand-quickly.d.ts +77 -0
- package/dist/_shared/integrations/understand-quickly.d.ts.map +1 -0
- package/dist/_shared/integrations/understand-quickly.js +176 -0
- package/dist/_shared/integrations/understand-quickly.js.map +1 -0
- package/dist/_shared/language-detection.d.ts +23 -0
- package/dist/_shared/language-detection.d.ts.map +1 -0
- package/dist/_shared/language-detection.js +139 -0
- package/dist/_shared/language-detection.js.map +1 -0
- package/dist/_shared/languages.d.ts +26 -0
- package/dist/_shared/languages.d.ts.map +1 -0
- package/dist/_shared/languages.js +27 -0
- package/dist/_shared/languages.js.map +1 -0
- package/dist/_shared/lbug/schema-constants.d.ts +16 -0
- package/dist/_shared/lbug/schema-constants.d.ts.map +1 -0
- package/dist/_shared/lbug/schema-constants.js +67 -0
- package/dist/_shared/lbug/schema-constants.js.map +1 -0
- package/dist/_shared/mro-strategy.d.ts +41 -0
- package/dist/_shared/mro-strategy.d.ts.map +1 -0
- package/dist/_shared/mro-strategy.js +2 -0
- package/dist/_shared/mro-strategy.js.map +1 -0
- package/dist/_shared/pipeline.d.ts +16 -0
- package/dist/_shared/pipeline.d.ts.map +1 -0
- package/dist/_shared/pipeline.js +5 -0
- package/dist/_shared/pipeline.js.map +1 -0
- package/dist/_shared/scope-resolution/def-index.d.ts +36 -0
- package/dist/_shared/scope-resolution/def-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/def-index.js +51 -0
- package/dist/_shared/scope-resolution/def-index.js.map +1 -0
- package/dist/_shared/scope-resolution/evidence-weights.d.ts +69 -0
- package/dist/_shared/scope-resolution/evidence-weights.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/evidence-weights.js +84 -0
- package/dist/_shared/scope-resolution/evidence-weights.js.map +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +149 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.js +795 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -0
- package/dist/_shared/scope-resolution/language-classification.d.ts +26 -0
- package/dist/_shared/scope-resolution/language-classification.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/language-classification.js +44 -0
- package/dist/_shared/scope-resolution/language-classification.js.map +1 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.d.ts +106 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.js +98 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.js.map +1 -0
- package/dist/_shared/scope-resolution/module-scope-index.d.ts +46 -0
- package/dist/_shared/scope-resolution/module-scope-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/module-scope-index.js +58 -0
- package/dist/_shared/scope-resolution/module-scope-index.js.map +1 -0
- package/dist/_shared/scope-resolution/origin-priority.d.ts +14 -0
- package/dist/_shared/scope-resolution/origin-priority.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/origin-priority.js +21 -0
- package/dist/_shared/scope-resolution/origin-priority.js.map +1 -0
- package/dist/_shared/scope-resolution/parsed-file.d.ts +76 -0
- package/dist/_shared/scope-resolution/parsed-file.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/parsed-file.js +54 -0
- package/dist/_shared/scope-resolution/parsed-file.js.map +1 -0
- package/dist/_shared/scope-resolution/position-index.d.ts +62 -0
- package/dist/_shared/scope-resolution/position-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/position-index.js +134 -0
- package/dist/_shared/scope-resolution/position-index.js.map +1 -0
- package/dist/_shared/scope-resolution/qualified-name-index.d.ts +44 -0
- package/dist/_shared/scope-resolution/qualified-name-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/qualified-name-index.js +75 -0
- package/dist/_shared/scope-resolution/qualified-name-index.js.map +1 -0
- package/dist/_shared/scope-resolution/reference-site.d.ts +75 -0
- package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/reference-site.js +24 -0
- package/dist/_shared/scope-resolution/reference-site.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/class-registry.d.ts +27 -0
- package/dist/_shared/scope-resolution/registries/class-registry.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/class-registry.js +30 -0
- package/dist/_shared/scope-resolution/registries/class-registry.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/context.d.ts +69 -0
- package/dist/_shared/scope-resolution/registries/context.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/context.js +44 -0
- package/dist/_shared/scope-resolution/registries/context.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/evidence.d.ts +56 -0
- package/dist/_shared/scope-resolution/registries/evidence.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/evidence.js +150 -0
- package/dist/_shared/scope-resolution/registries/evidence.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/field-registry.d.ts +26 -0
- package/dist/_shared/scope-resolution/registries/field-registry.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/field-registry.js +31 -0
- package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.d.ts +81 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.js +349 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts +33 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.js +56 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/method-registry.d.ts +36 -0
- package/dist/_shared/scope-resolution/registries/method-registry.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/method-registry.js +32 -0
- package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts +43 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.js +60 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.js.map +1 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.d.ts +53 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.js +126 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.js.map +1 -0
- package/dist/_shared/scope-resolution/scope-id.d.ts +43 -0
- package/dist/_shared/scope-resolution/scope-id.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/scope-id.js +46 -0
- package/dist/_shared/scope-resolution/scope-id.js.map +1 -0
- package/dist/_shared/scope-resolution/scope-tree.d.ts +83 -0
- package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/scope-tree.js +220 -0
- package/dist/_shared/scope-resolution/scope-tree.js.map +1 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.d.ts +63 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.js +122 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.js.map +1 -0
- package/dist/_shared/scope-resolution/shadow/diff.d.ts +59 -0
- package/dist/_shared/scope-resolution/shadow/diff.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/shadow/diff.js +79 -0
- package/dist/_shared/scope-resolution/shadow/diff.js.map +1 -0
- package/dist/_shared/scope-resolution/symbol-definition.d.ts +34 -0
- package/dist/_shared/scope-resolution/symbol-definition.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/symbol-definition.js +12 -0
- package/dist/_shared/scope-resolution/symbol-definition.js.map +1 -0
- package/dist/_shared/scope-resolution/types.d.ts +400 -0
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/types.js +25 -0
- package/dist/_shared/scope-resolution/types.js.map +1 -0
- package/dist/_shared/test-helpers.d.ts +13 -0
- package/dist/_shared/test-helpers.d.ts.map +1 -0
- package/dist/_shared/test-helpers.js +13 -0
- package/dist/_shared/test-helpers.js.map +1 -0
- package/dist/cli/ai-context.d.ts +28 -0
- package/dist/cli/ai-context.js +289 -0
- package/dist/cli/analyze.d.ts +80 -0
- package/dist/cli/analyze.js +525 -0
- package/dist/cli/augment.d.ts +13 -0
- package/dist/cli/augment.js +33 -0
- package/dist/cli/clean.d.ts +10 -0
- package/dist/cli/clean.js +79 -0
- package/dist/cli/cli-message.d.ts +16 -0
- package/dist/cli/cli-message.js +71 -0
- package/dist/cli/doctor.d.ts +1 -0
- package/dist/cli/doctor.js +31 -0
- package/dist/cli/eval-server.d.ts +37 -0
- package/dist/cli/eval-server.js +423 -0
- package/dist/cli/group.d.ts +1 -0
- package/dist/cli/group.js +323 -0
- package/dist/cli/index-repo.d.ts +15 -0
- package/dist/cli/index-repo.js +120 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +492 -0
- package/dist/cli/lazy-action.d.ts +6 -0
- package/dist/cli/lazy-action.js +18 -0
- package/dist/cli/list.d.ts +6 -0
- package/dist/cli/list.js +40 -0
- package/dist/cli/mcp.d.ts +29 -0
- package/dist/cli/mcp.js +73 -0
- package/dist/cli/optional-grammars.d.ts +47 -0
- package/dist/cli/optional-grammars.js +87 -0
- package/dist/cli/publish.d.ts +29 -0
- package/dist/cli/publish.js +174 -0
- package/dist/cli/remove.d.ts +30 -0
- package/dist/cli/remove.js +102 -0
- package/dist/cli/serve.d.ts +4 -0
- package/dist/cli/serve.js +55 -0
- package/dist/cli/setup.d.ts +8 -0
- package/dist/cli/setup.js +642 -0
- package/dist/cli/skill-gen.d.ts +26 -0
- package/dist/cli/skill-gen.js +555 -0
- package/dist/cli/status.d.ts +6 -0
- package/dist/cli/status.js +36 -0
- package/dist/cli/tool.d.ts +43 -0
- package/dist/cli/tool.js +169 -0
- package/dist/cli/wiki.d.ts +23 -0
- package/dist/cli/wiki.js +616 -0
- package/dist/config/ignore-service.d.ts +35 -0
- package/dist/config/ignore-service.js +439 -0
- package/dist/config/supported-languages.d.ts +13 -0
- package/dist/config/supported-languages.js +13 -0
- package/dist/core/augmentation/engine.d.ts +26 -0
- package/dist/core/augmentation/engine.js +272 -0
- package/dist/core/embedding-mode.d.ts +51 -0
- package/dist/core/embedding-mode.js +48 -0
- package/dist/core/embeddings/ast-utils.d.ts +22 -0
- package/dist/core/embeddings/ast-utils.js +106 -0
- package/dist/core/embeddings/character-chunk.d.ts +12 -0
- package/dist/core/embeddings/character-chunk.js +43 -0
- package/dist/core/embeddings/chunker.d.ts +14 -0
- package/dist/core/embeddings/chunker.js +239 -0
- package/dist/core/embeddings/config.d.ts +2 -0
- package/dist/core/embeddings/config.js +36 -0
- package/dist/core/embeddings/embedder.d.ts +65 -0
- package/dist/core/embeddings/embedder.js +349 -0
- package/dist/core/embeddings/embedding-pipeline.d.ts +68 -0
- package/dist/core/embeddings/embedding-pipeline.js +552 -0
- package/dist/core/embeddings/exact-search.d.ts +15 -0
- package/dist/core/embeddings/exact-search.js +27 -0
- package/dist/core/embeddings/hf-env.d.ts +135 -0
- package/dist/core/embeddings/hf-env.js +232 -0
- package/dist/core/embeddings/http-client.d.ts +37 -0
- package/dist/core/embeddings/http-client.js +199 -0
- package/dist/core/embeddings/index.d.ts +10 -0
- package/dist/core/embeddings/index.js +10 -0
- package/dist/core/embeddings/line-index.d.ts +7 -0
- package/dist/core/embeddings/line-index.js +42 -0
- package/dist/core/embeddings/server-mapping.d.ts +15 -0
- package/dist/core/embeddings/server-mapping.js +33 -0
- package/dist/core/embeddings/structural-extractor.d.ts +15 -0
- package/dist/core/embeddings/structural-extractor.js +58 -0
- package/dist/core/embeddings/text-generator.d.ts +31 -0
- package/dist/core/embeddings/text-generator.js +208 -0
- package/dist/core/embeddings/types.d.ts +211 -0
- package/dist/core/embeddings/types.js +202 -0
- package/dist/core/git-staleness.d.ts +37 -0
- package/dist/core/git-staleness.js +167 -0
- package/dist/core/graph/graph.d.ts +2 -0
- package/dist/core/graph/graph.js +173 -0
- package/dist/core/graph/types.d.ts +36 -0
- package/dist/core/graph/types.js +1 -0
- package/dist/core/group/bridge-db.d.ts +82 -0
- package/dist/core/group/bridge-db.js +609 -0
- package/dist/core/group/bridge-schema.d.ts +27 -0
- package/dist/core/group/bridge-schema.js +55 -0
- package/dist/core/group/config-parser.d.ts +7 -0
- package/dist/core/group/config-parser.js +122 -0
- package/dist/core/group/contract-extractor.d.ts +7 -0
- package/dist/core/group/contract-extractor.js +1 -0
- package/dist/core/group/cross-impact.d.ts +85 -0
- package/dist/core/group/cross-impact.js +515 -0
- package/dist/core/group/extractors/elixir-workspace-extractor.d.ts +15 -0
- package/dist/core/group/extractors/elixir-workspace-extractor.js +204 -0
- package/dist/core/group/extractors/fs-utils.d.ts +10 -0
- package/dist/core/group/extractors/fs-utils.js +24 -0
- package/dist/core/group/extractors/go-workspace-extractor.d.ts +14 -0
- package/dist/core/group/extractors/go-workspace-extractor.js +217 -0
- package/dist/core/group/extractors/grpc-extractor.d.ts +25 -0
- package/dist/core/group/extractors/grpc-extractor.js +414 -0
- package/dist/core/group/extractors/grpc-patterns/go.d.ts +2 -0
- package/dist/core/group/extractors/grpc-patterns/go.js +97 -0
- package/dist/core/group/extractors/grpc-patterns/index.d.ts +19 -0
- package/dist/core/group/extractors/grpc-patterns/index.js +46 -0
- package/dist/core/group/extractors/grpc-patterns/java.d.ts +2 -0
- package/dist/core/group/extractors/grpc-patterns/java.js +173 -0
- package/dist/core/group/extractors/grpc-patterns/node.d.ts +4 -0
- package/dist/core/group/extractors/grpc-patterns/node.js +290 -0
- package/dist/core/group/extractors/grpc-patterns/proto.d.ts +9 -0
- package/dist/core/group/extractors/grpc-patterns/proto.js +134 -0
- package/dist/core/group/extractors/grpc-patterns/python.d.ts +2 -0
- package/dist/core/group/extractors/grpc-patterns/python.js +67 -0
- package/dist/core/group/extractors/grpc-patterns/types.d.ts +50 -0
- package/dist/core/group/extractors/grpc-patterns/types.js +1 -0
- package/dist/core/group/extractors/http-patterns/go.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/go.js +215 -0
- package/dist/core/group/extractors/http-patterns/index.d.ts +17 -0
- package/dist/core/group/extractors/http-patterns/index.js +44 -0
- package/dist/core/group/extractors/http-patterns/java.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/java.js +253 -0
- package/dist/core/group/extractors/http-patterns/node.d.ts +4 -0
- package/dist/core/group/extractors/http-patterns/node.js +484 -0
- package/dist/core/group/extractors/http-patterns/php.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/php.js +178 -0
- package/dist/core/group/extractors/http-patterns/python.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/python.js +308 -0
- package/dist/core/group/extractors/http-patterns/types.d.ts +61 -0
- package/dist/core/group/extractors/http-patterns/types.js +1 -0
- package/dist/core/group/extractors/http-route-extractor.d.ts +21 -0
- package/dist/core/group/extractors/http-route-extractor.js +430 -0
- package/dist/core/group/extractors/include-extractor.d.ts +39 -0
- package/dist/core/group/extractors/include-extractor.js +566 -0
- package/dist/core/group/extractors/java-workspace-extractor.d.ts +16 -0
- package/dist/core/group/extractors/java-workspace-extractor.js +204 -0
- package/dist/core/group/extractors/manifest-extractor.d.ts +54 -0
- package/dist/core/group/extractors/manifest-extractor.js +320 -0
- package/dist/core/group/extractors/node-workspace-extractor.d.ts +14 -0
- package/dist/core/group/extractors/node-workspace-extractor.js +207 -0
- package/dist/core/group/extractors/python-workspace-extractor.d.ts +15 -0
- package/dist/core/group/extractors/python-workspace-extractor.js +205 -0
- package/dist/core/group/extractors/rust-workspace-extractor.d.ts +44 -0
- package/dist/core/group/extractors/rust-workspace-extractor.js +240 -0
- package/dist/core/group/extractors/thrift-extractor.d.ts +22 -0
- package/dist/core/group/extractors/thrift-extractor.js +283 -0
- package/dist/core/group/extractors/thrift-patterns/index.d.ts +4 -0
- package/dist/core/group/extractors/thrift-patterns/index.js +10 -0
- package/dist/core/group/extractors/thrift-patterns/java.d.ts +2 -0
- package/dist/core/group/extractors/thrift-patterns/java.js +220 -0
- package/dist/core/group/extractors/thrift-patterns/types.d.ts +17 -0
- package/dist/core/group/extractors/thrift-patterns/types.js +1 -0
- package/dist/core/group/extractors/topic-extractor.d.ts +8 -0
- package/dist/core/group/extractors/topic-extractor.js +97 -0
- package/dist/core/group/extractors/topic-patterns/go.d.ts +2 -0
- package/dist/core/group/extractors/topic-patterns/go.js +120 -0
- package/dist/core/group/extractors/topic-patterns/index.d.ts +14 -0
- package/dist/core/group/extractors/topic-patterns/index.js +38 -0
- package/dist/core/group/extractors/topic-patterns/java.d.ts +2 -0
- package/dist/core/group/extractors/topic-patterns/java.js +80 -0
- package/dist/core/group/extractors/topic-patterns/node.d.ts +4 -0
- package/dist/core/group/extractors/topic-patterns/node.js +155 -0
- package/dist/core/group/extractors/topic-patterns/python.d.ts +2 -0
- package/dist/core/group/extractors/topic-patterns/python.js +116 -0
- package/dist/core/group/extractors/topic-patterns/types.d.ts +25 -0
- package/dist/core/group/extractors/topic-patterns/types.js +10 -0
- package/dist/core/group/extractors/tree-sitter-scanner.d.ts +113 -0
- package/dist/core/group/extractors/tree-sitter-scanner.js +95 -0
- package/dist/core/group/extractors/workspace-extractor.d.ts +13 -0
- package/dist/core/group/extractors/workspace-extractor.js +65 -0
- package/dist/core/group/group-path-utils.d.ts +17 -0
- package/dist/core/group/group-path-utils.js +40 -0
- package/dist/core/group/matching.d.ts +13 -0
- package/dist/core/group/matching.js +284 -0
- package/dist/core/group/normalization.d.ts +3 -0
- package/dist/core/group/normalization.js +115 -0
- package/dist/core/group/resolve-at-member.d.ts +10 -0
- package/dist/core/group/resolve-at-member.js +31 -0
- package/dist/core/group/service-boundary-detector.d.ts +8 -0
- package/dist/core/group/service-boundary-detector.js +155 -0
- package/dist/core/group/service.d.ts +56 -0
- package/dist/core/group/service.js +395 -0
- package/dist/core/group/storage.d.ts +9 -0
- package/dist/core/group/storage.js +157 -0
- package/dist/core/group/sync.d.ts +21 -0
- package/dist/core/group/sync.js +267 -0
- package/dist/core/group/types.d.ts +181 -0
- package/dist/core/group/types.js +1 -0
- package/dist/core/incremental/shadow-candidates.d.ts +44 -0
- package/dist/core/incremental/shadow-candidates.js +74 -0
- package/dist/core/incremental/subgraph-extract.d.ts +64 -0
- package/dist/core/incremental/subgraph-extract.js +111 -0
- package/dist/core/ingestion/ast-cache.d.ts +26 -0
- package/dist/core/ingestion/ast-cache.js +48 -0
- package/dist/core/ingestion/binding-accumulator.d.ts +212 -0
- package/dist/core/ingestion/binding-accumulator.js +336 -0
- package/dist/core/ingestion/call-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/call-extractors/configs/c-cpp.js +8 -0
- package/dist/core/ingestion/call-extractors/configs/csharp.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/csharp.js +6 -0
- package/dist/core/ingestion/call-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/dart.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/go.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/call-extractors/configs/jvm.js +51 -0
- package/dist/core/ingestion/call-extractors/configs/php.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/php.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/python.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/ruby.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/ruby.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/rust.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/swift.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/call-extractors/configs/typescript-javascript.js +8 -0
- package/dist/core/ingestion/call-extractors/generic.d.ts +5 -0
- package/dist/core/ingestion/call-extractors/generic.js +59 -0
- package/dist/core/ingestion/call-processor.d.ts +235 -0
- package/dist/core/ingestion/call-processor.js +2754 -0
- package/dist/core/ingestion/call-routing.d.ts +55 -0
- package/dist/core/ingestion/call-routing.js +95 -0
- package/dist/core/ingestion/call-types.d.ts +135 -0
- package/dist/core/ingestion/call-types.js +2 -0
- package/dist/core/ingestion/class-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/class-extractors/configs/c-cpp.js +11 -0
- package/dist/core/ingestion/class-extractors/configs/csharp.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/csharp.js +21 -0
- package/dist/core/ingestion/class-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/dart.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/go.js +20 -0
- package/dist/core/ingestion/class-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/class-extractors/configs/jvm.js +35 -0
- package/dist/core/ingestion/class-extractors/configs/php.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/php.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/python.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/ruby.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/ruby.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/rust.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/swift.js +18 -0
- package/dist/core/ingestion/class-extractors/configs/typescript-javascript.d.ts +4 -0
- package/dist/core/ingestion/class-extractors/configs/typescript-javascript.js +28 -0
- package/dist/core/ingestion/class-extractors/generic.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/generic.js +135 -0
- package/dist/core/ingestion/class-types.d.ts +34 -0
- package/dist/core/ingestion/class-types.js +1 -0
- package/dist/core/ingestion/cluster-enricher.d.ts +38 -0
- package/dist/core/ingestion/cluster-enricher.js +169 -0
- package/dist/core/ingestion/cobol/cobol-copy-expander.d.ts +57 -0
- package/dist/core/ingestion/cobol/cobol-copy-expander.js +376 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.d.ts +212 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.js +1727 -0
- package/dist/core/ingestion/cobol/jcl-parser.d.ts +68 -0
- package/dist/core/ingestion/cobol/jcl-parser.js +217 -0
- package/dist/core/ingestion/cobol/jcl-processor.d.ts +33 -0
- package/dist/core/ingestion/cobol/jcl-processor.js +229 -0
- package/dist/core/ingestion/cobol-processor.d.ts +54 -0
- package/dist/core/ingestion/cobol-processor.js +1232 -0
- package/dist/core/ingestion/community-processor.d.ts +39 -0
- package/dist/core/ingestion/community-processor.js +336 -0
- package/dist/core/ingestion/constants.d.ts +17 -0
- package/dist/core/ingestion/constants.js +21 -0
- package/dist/core/ingestion/cpp-ue-preprocessor.d.ts +12 -0
- package/dist/core/ingestion/cpp-ue-preprocessor.js +260 -0
- package/dist/core/ingestion/emit-references.d.ts +88 -0
- package/dist/core/ingestion/emit-references.js +229 -0
- package/dist/core/ingestion/entry-point-scoring.d.ts +40 -0
- package/dist/core/ingestion/entry-point-scoring.js +196 -0
- package/dist/core/ingestion/export-detection.d.ts +57 -0
- package/dist/core/ingestion/export-detection.js +233 -0
- package/dist/core/ingestion/field-extractor.d.ts +29 -0
- package/dist/core/ingestion/field-extractor.js +25 -0
- package/dist/core/ingestion/field-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/field-extractors/configs/c-cpp.js +104 -0
- package/dist/core/ingestion/field-extractors/configs/csharp.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/csharp.js +121 -0
- package/dist/core/ingestion/field-extractors/configs/dart.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/dart.js +78 -0
- package/dist/core/ingestion/field-extractors/configs/go.d.ts +11 -0
- package/dist/core/ingestion/field-extractors/configs/go.js +60 -0
- package/dist/core/ingestion/field-extractors/configs/helpers.d.ts +53 -0
- package/dist/core/ingestion/field-extractors/configs/helpers.js +158 -0
- package/dist/core/ingestion/field-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/field-extractors/configs/jvm.js +118 -0
- package/dist/core/ingestion/field-extractors/configs/php.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/php.js +65 -0
- package/dist/core/ingestion/field-extractors/configs/python.d.ts +12 -0
- package/dist/core/ingestion/field-extractors/configs/python.js +91 -0
- package/dist/core/ingestion/field-extractors/configs/ruby.d.ts +16 -0
- package/dist/core/ingestion/field-extractors/configs/ruby.js +76 -0
- package/dist/core/ingestion/field-extractors/configs/rust.d.ts +9 -0
- package/dist/core/ingestion/field-extractors/configs/rust.js +52 -0
- package/dist/core/ingestion/field-extractors/configs/swift.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/swift.js +65 -0
- package/dist/core/ingestion/field-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/field-extractors/configs/typescript-javascript.js +56 -0
- package/dist/core/ingestion/field-extractors/generic.d.ts +49 -0
- package/dist/core/ingestion/field-extractors/generic.js +117 -0
- package/dist/core/ingestion/field-extractors/typescript.d.ts +77 -0
- package/dist/core/ingestion/field-extractors/typescript.js +291 -0
- package/dist/core/ingestion/field-types.d.ts +61 -0
- package/dist/core/ingestion/field-types.js +2 -0
- package/dist/core/ingestion/filesystem-walker.d.ts +28 -0
- package/dist/core/ingestion/filesystem-walker.js +92 -0
- package/dist/core/ingestion/finalize-orchestrator.d.ts +63 -0
- package/dist/core/ingestion/finalize-orchestrator.js +142 -0
- package/dist/core/ingestion/framework-detection.d.ts +30 -0
- package/dist/core/ingestion/framework-detection.js +428 -0
- package/dist/core/ingestion/heritage-extractors/configs/go.d.ts +13 -0
- package/dist/core/ingestion/heritage-extractors/configs/go.js +20 -0
- package/dist/core/ingestion/heritage-extractors/configs/ruby.d.ts +18 -0
- package/dist/core/ingestion/heritage-extractors/configs/ruby.js +65 -0
- package/dist/core/ingestion/heritage-extractors/generic.d.ts +23 -0
- package/dist/core/ingestion/heritage-extractors/generic.js +47 -0
- package/dist/core/ingestion/heritage-processor.d.ts +54 -0
- package/dist/core/ingestion/heritage-processor.js +367 -0
- package/dist/core/ingestion/heritage-types.d.ts +73 -0
- package/dist/core/ingestion/heritage-types.js +2 -0
- package/dist/core/ingestion/import-processor.d.ts +23 -0
- package/dist/core/ingestion/import-processor.js +377 -0
- package/dist/core/ingestion/import-resolvers/configs/c-cpp.d.ts +7 -0
- package/dist/core/ingestion/import-resolvers/configs/c-cpp.js +14 -0
- package/dist/core/ingestion/import-resolvers/configs/csharp.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/csharp.js +27 -0
- package/dist/core/ingestion/import-resolvers/configs/dart.d.ts +17 -0
- package/dist/core/ingestion/import-resolvers/configs/dart.js +54 -0
- package/dist/core/ingestion/import-resolvers/configs/go.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/go.js +26 -0
- package/dist/core/ingestion/import-resolvers/configs/jvm.d.ts +13 -0
- package/dist/core/ingestion/import-resolvers/configs/jvm.js +68 -0
- package/dist/core/ingestion/import-resolvers/configs/php.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/php.js +15 -0
- package/dist/core/ingestion/import-resolvers/configs/python.d.ts +12 -0
- package/dist/core/ingestion/import-resolvers/configs/python.js +41 -0
- package/dist/core/ingestion/import-resolvers/configs/ruby.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/ruby.js +16 -0
- package/dist/core/ingestion/import-resolvers/configs/rust.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/rust.js +54 -0
- package/dist/core/ingestion/import-resolvers/configs/swift.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/swift.js +29 -0
- package/dist/core/ingestion/import-resolvers/configs/typescript-javascript.d.ts +9 -0
- package/dist/core/ingestion/import-resolvers/configs/typescript-javascript.js +23 -0
- package/dist/core/ingestion/import-resolvers/csharp.d.ts +18 -0
- package/dist/core/ingestion/import-resolvers/csharp.js +115 -0
- package/dist/core/ingestion/import-resolvers/go.d.ts +17 -0
- package/dist/core/ingestion/import-resolvers/go.js +46 -0
- package/dist/core/ingestion/import-resolvers/jvm.d.ts +27 -0
- package/dist/core/ingestion/import-resolvers/jvm.js +106 -0
- package/dist/core/ingestion/import-resolvers/php.d.ts +24 -0
- package/dist/core/ingestion/import-resolvers/php.js +77 -0
- package/dist/core/ingestion/import-resolvers/python.d.ts +22 -0
- package/dist/core/ingestion/import-resolvers/python.js +72 -0
- package/dist/core/ingestion/import-resolvers/resolver-factory.d.ts +24 -0
- package/dist/core/ingestion/import-resolvers/resolver-factory.js +33 -0
- package/dist/core/ingestion/import-resolvers/ruby.d.ts +14 -0
- package/dist/core/ingestion/import-resolvers/ruby.js +17 -0
- package/dist/core/ingestion/import-resolvers/rust.d.ts +17 -0
- package/dist/core/ingestion/import-resolvers/rust.js +75 -0
- package/dist/core/ingestion/import-resolvers/standard.d.ts +35 -0
- package/dist/core/ingestion/import-resolvers/standard.js +168 -0
- package/dist/core/ingestion/import-resolvers/types.d.ts +68 -0
- package/dist/core/ingestion/import-resolvers/types.js +6 -0
- package/dist/core/ingestion/import-resolvers/utils.d.ts +35 -0
- package/dist/core/ingestion/import-resolvers/utils.js +153 -0
- package/dist/core/ingestion/import-target-adapter.d.ts +73 -0
- package/dist/core/ingestion/import-target-adapter.js +95 -0
- package/dist/core/ingestion/language-config.d.ts +52 -0
- package/dist/core/ingestion/language-config.js +182 -0
- package/dist/core/ingestion/language-provider.d.ts +465 -0
- package/dist/core/ingestion/language-provider.js +24 -0
- package/dist/core/ingestion/languages/c/arity-metadata.d.ts +14 -0
- package/dist/core/ingestion/languages/c/arity-metadata.js +94 -0
- package/dist/core/ingestion/languages/c/arity.d.ts +6 -0
- package/dist/core/ingestion/languages/c/arity.js +18 -0
- package/dist/core/ingestion/languages/c/captures.d.ts +2 -0
- package/dist/core/ingestion/languages/c/captures.js +105 -0
- package/dist/core/ingestion/languages/c/header-scan.d.ts +7 -0
- package/dist/core/ingestion/languages/c/header-scan.js +55 -0
- package/dist/core/ingestion/languages/c/import-decomposer.d.ts +8 -0
- package/dist/core/ingestion/languages/c/import-decomposer.js +50 -0
- package/dist/core/ingestion/languages/c/import-target.d.ts +14 -0
- package/dist/core/ingestion/languages/c/import-target.js +57 -0
- package/dist/core/ingestion/languages/c/index.d.ts +11 -0
- package/dist/core/ingestion/languages/c/index.js +11 -0
- package/dist/core/ingestion/languages/c/interpret.d.ts +14 -0
- package/dist/core/ingestion/languages/c/interpret.js +48 -0
- package/dist/core/ingestion/languages/c/merge-bindings.d.ts +7 -0
- package/dist/core/ingestion/languages/c/merge-bindings.js +23 -0
- package/dist/core/ingestion/languages/c/query.d.ts +3 -0
- package/dist/core/ingestion/languages/c/query.js +161 -0
- package/dist/core/ingestion/languages/c/scope-resolver.d.ts +13 -0
- package/dist/core/ingestion/languages/c/scope-resolver.js +60 -0
- package/dist/core/ingestion/languages/c/simple-hooks.d.ts +14 -0
- package/dist/core/ingestion/languages/c/simple-hooks.js +19 -0
- package/dist/core/ingestion/languages/c/static-linkage.d.ts +13 -0
- package/dist/core/ingestion/languages/c/static-linkage.js +57 -0
- package/dist/core/ingestion/languages/c-cpp.d.ts +12 -0
- package/dist/core/ingestion/languages/c-cpp.js +411 -0
- package/dist/core/ingestion/languages/cobol.d.ts +1 -0
- package/dist/core/ingestion/languages/cobol.js +28 -0
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.d.ts +21 -0
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.js +56 -0
- package/dist/core/ingestion/languages/csharp/arity-metadata.d.ts +26 -0
- package/dist/core/ingestion/languages/csharp/arity-metadata.js +46 -0
- package/dist/core/ingestion/languages/csharp/arity.d.ts +23 -0
- package/dist/core/ingestion/languages/csharp/arity.js +37 -0
- package/dist/core/ingestion/languages/csharp/cache-stats.d.ts +15 -0
- package/dist/core/ingestion/languages/csharp/cache-stats.js +26 -0
- package/dist/core/ingestion/languages/csharp/captures.d.ts +19 -0
- package/dist/core/ingestion/languages/csharp/captures.js +346 -0
- package/dist/core/ingestion/languages/csharp/import-decomposer.d.ts +19 -0
- package/dist/core/ingestion/languages/csharp/import-decomposer.js +93 -0
- package/dist/core/ingestion/languages/csharp/import-target.d.ts +25 -0
- package/dist/core/ingestion/languages/csharp/import-target.js +123 -0
- package/dist/core/ingestion/languages/csharp/index.d.ts +82 -0
- package/dist/core/ingestion/languages/csharp/index.js +82 -0
- package/dist/core/ingestion/languages/csharp/interpret.d.ts +15 -0
- package/dist/core/ingestion/languages/csharp/interpret.js +132 -0
- package/dist/core/ingestion/languages/csharp/merge-bindings.d.ts +27 -0
- package/dist/core/ingestion/languages/csharp/merge-bindings.js +55 -0
- package/dist/core/ingestion/languages/csharp/namespace-siblings.d.ts +51 -0
- package/dist/core/ingestion/languages/csharp/namespace-siblings.js +387 -0
- package/dist/core/ingestion/languages/csharp/query.d.ts +35 -0
- package/dist/core/ingestion/languages/csharp/query.js +521 -0
- package/dist/core/ingestion/languages/csharp/receiver-binding.d.ts +31 -0
- package/dist/core/ingestion/languages/csharp/receiver-binding.js +135 -0
- package/dist/core/ingestion/languages/csharp/scope-resolver.d.ts +10 -0
- package/dist/core/ingestion/languages/csharp/scope-resolver.js +63 -0
- package/dist/core/ingestion/languages/csharp/simple-hooks.d.ts +53 -0
- package/dist/core/ingestion/languages/csharp/simple-hooks.js +76 -0
- package/dist/core/ingestion/languages/csharp.d.ts +8 -0
- package/dist/core/ingestion/languages/csharp.js +201 -0
- package/dist/core/ingestion/languages/dart.d.ts +12 -0
- package/dist/core/ingestion/languages/dart.js +138 -0
- package/dist/core/ingestion/languages/go/arity-metadata.d.ts +8 -0
- package/dist/core/ingestion/languages/go/arity-metadata.js +37 -0
- package/dist/core/ingestion/languages/go/arity.d.ts +2 -0
- package/dist/core/ingestion/languages/go/arity.js +14 -0
- package/dist/core/ingestion/languages/go/cache-stats.d.ts +7 -0
- package/dist/core/ingestion/languages/go/cache-stats.js +15 -0
- package/dist/core/ingestion/languages/go/captures.d.ts +2 -0
- package/dist/core/ingestion/languages/go/captures.js +129 -0
- package/dist/core/ingestion/languages/go/expand-wildcards.d.ts +15 -0
- package/dist/core/ingestion/languages/go/expand-wildcards.js +93 -0
- package/dist/core/ingestion/languages/go/import-decomposer.d.ts +3 -0
- package/dist/core/ingestion/languages/go/import-decomposer.js +44 -0
- package/dist/core/ingestion/languages/go/import-target.d.ts +21 -0
- package/dist/core/ingestion/languages/go/import-target.js +67 -0
- package/dist/core/ingestion/languages/go/index.d.ts +17 -0
- package/dist/core/ingestion/languages/go/index.js +17 -0
- package/dist/core/ingestion/languages/go/interface-impls.d.ts +4 -0
- package/dist/core/ingestion/languages/go/interface-impls.js +72 -0
- package/dist/core/ingestion/languages/go/interpret.d.ts +11 -0
- package/dist/core/ingestion/languages/go/interpret.js +146 -0
- package/dist/core/ingestion/languages/go/merge-bindings.d.ts +2 -0
- package/dist/core/ingestion/languages/go/merge-bindings.js +18 -0
- package/dist/core/ingestion/languages/go/method-owners.d.ts +17 -0
- package/dist/core/ingestion/languages/go/method-owners.js +96 -0
- package/dist/core/ingestion/languages/go/namespace-mirror.d.ts +15 -0
- package/dist/core/ingestion/languages/go/namespace-mirror.js +53 -0
- package/dist/core/ingestion/languages/go/package-siblings.d.ts +11 -0
- package/dist/core/ingestion/languages/go/package-siblings.js +84 -0
- package/dist/core/ingestion/languages/go/query.d.ts +3 -0
- package/dist/core/ingestion/languages/go/query.js +207 -0
- package/dist/core/ingestion/languages/go/range-binding.d.ts +8 -0
- package/dist/core/ingestion/languages/go/range-binding.js +109 -0
- package/dist/core/ingestion/languages/go/receiver-binding.d.ts +3 -0
- package/dist/core/ingestion/languages/go/receiver-binding.js +21 -0
- package/dist/core/ingestion/languages/go/scope-resolver.d.ts +2 -0
- package/dist/core/ingestion/languages/go/scope-resolver.js +33 -0
- package/dist/core/ingestion/languages/go/simple-hooks.d.ts +4 -0
- package/dist/core/ingestion/languages/go/simple-hooks.js +21 -0
- package/dist/core/ingestion/languages/go/type-binding.d.ts +3 -0
- package/dist/core/ingestion/languages/go/type-binding.js +237 -0
- package/dist/core/ingestion/languages/go.d.ts +11 -0
- package/dist/core/ingestion/languages/go.js +94 -0
- package/dist/core/ingestion/languages/index.d.ts +39 -0
- package/dist/core/ingestion/languages/index.js +64 -0
- package/dist/core/ingestion/languages/java/arity-metadata.d.ts +18 -0
- package/dist/core/ingestion/languages/java/arity-metadata.js +40 -0
- package/dist/core/ingestion/languages/java/arity.d.ts +10 -0
- package/dist/core/ingestion/languages/java/arity.js +24 -0
- package/dist/core/ingestion/languages/java/cache-stats.d.ts +15 -0
- package/dist/core/ingestion/languages/java/cache-stats.js +26 -0
- package/dist/core/ingestion/languages/java/captures.d.ts +17 -0
- package/dist/core/ingestion/languages/java/captures.js +187 -0
- package/dist/core/ingestion/languages/java/import-decomposer.d.ts +18 -0
- package/dist/core/ingestion/languages/java/import-decomposer.js +85 -0
- package/dist/core/ingestion/languages/java/import-target.d.ts +17 -0
- package/dist/core/ingestion/languages/java/import-target.js +100 -0
- package/dist/core/ingestion/languages/java/index.d.ts +29 -0
- package/dist/core/ingestion/languages/java/index.js +29 -0
- package/dist/core/ingestion/languages/java/interpret.d.ts +13 -0
- package/dist/core/ingestion/languages/java/interpret.js +131 -0
- package/dist/core/ingestion/languages/java/merge-bindings.d.ts +12 -0
- package/dist/core/ingestion/languages/java/merge-bindings.js +40 -0
- package/dist/core/ingestion/languages/java/query.d.ts +30 -0
- package/dist/core/ingestion/languages/java/query.js +192 -0
- package/dist/core/ingestion/languages/java/receiver-binding.d.ts +11 -0
- package/dist/core/ingestion/languages/java/receiver-binding.js +95 -0
- package/dist/core/ingestion/languages/java/scope-resolver.d.ts +50 -0
- package/dist/core/ingestion/languages/java/scope-resolver.js +74 -0
- package/dist/core/ingestion/languages/java/simple-hooks.d.ts +13 -0
- package/dist/core/ingestion/languages/java/simple-hooks.js +34 -0
- package/dist/core/ingestion/languages/java.d.ts +9 -0
- package/dist/core/ingestion/languages/java.js +76 -0
- package/dist/core/ingestion/languages/kotlin.d.ts +9 -0
- package/dist/core/ingestion/languages/kotlin.js +164 -0
- package/dist/core/ingestion/languages/php/arity-metadata.d.ts +28 -0
- package/dist/core/ingestion/languages/php/arity-metadata.js +63 -0
- package/dist/core/ingestion/languages/php/arity.d.ts +25 -0
- package/dist/core/ingestion/languages/php/arity.js +40 -0
- package/dist/core/ingestion/languages/php/cache-stats.d.ts +15 -0
- package/dist/core/ingestion/languages/php/cache-stats.js +26 -0
- package/dist/core/ingestion/languages/php/captures.d.ts +34 -0
- package/dist/core/ingestion/languages/php/captures.js +739 -0
- package/dist/core/ingestion/languages/php/import-decomposer.d.ts +28 -0
- package/dist/core/ingestion/languages/php/import-decomposer.js +265 -0
- package/dist/core/ingestion/languages/php/import-target.d.ts +47 -0
- package/dist/core/ingestion/languages/php/import-target.js +100 -0
- package/dist/core/ingestion/languages/php/index.d.ts +68 -0
- package/dist/core/ingestion/languages/php/index.js +72 -0
- package/dist/core/ingestion/languages/php/interpret.d.ts +36 -0
- package/dist/core/ingestion/languages/php/interpret.js +241 -0
- package/dist/core/ingestion/languages/php/merge-bindings.d.ts +19 -0
- package/dist/core/ingestion/languages/php/merge-bindings.js +47 -0
- package/dist/core/ingestion/languages/php/namespace-siblings.d.ts +51 -0
- package/dist/core/ingestion/languages/php/namespace-siblings.js +288 -0
- package/dist/core/ingestion/languages/php/query.d.ts +32 -0
- package/dist/core/ingestion/languages/php/query.js +326 -0
- package/dist/core/ingestion/languages/php/receiver-binding.d.ts +36 -0
- package/dist/core/ingestion/languages/php/receiver-binding.js +128 -0
- package/dist/core/ingestion/languages/php/scope-resolver.d.ts +23 -0
- package/dist/core/ingestion/languages/php/scope-resolver.js +358 -0
- package/dist/core/ingestion/languages/php/simple-hooks.d.ts +42 -0
- package/dist/core/ingestion/languages/php/simple-hooks.js +111 -0
- package/dist/core/ingestion/languages/php.d.ts +1 -0
- package/dist/core/ingestion/languages/php.js +290 -0
- package/dist/core/ingestion/languages/python/arity-metadata.d.ts +24 -0
- package/dist/core/ingestion/languages/python/arity-metadata.js +45 -0
- package/dist/core/ingestion/languages/python/arity.d.ts +22 -0
- package/dist/core/ingestion/languages/python/arity.js +38 -0
- package/dist/core/ingestion/languages/python/cache-stats.d.ts +17 -0
- package/dist/core/ingestion/languages/python/cache-stats.js +28 -0
- package/dist/core/ingestion/languages/python/captures.d.ts +19 -0
- package/dist/core/ingestion/languages/python/captures.js +130 -0
- package/dist/core/ingestion/languages/python/import-decomposer.d.ts +15 -0
- package/dist/core/ingestion/languages/python/import-decomposer.js +112 -0
- package/dist/core/ingestion/languages/python/import-target.d.ts +21 -0
- package/dist/core/ingestion/languages/python/import-target.js +195 -0
- package/dist/core/ingestion/languages/python/index.d.ts +80 -0
- package/dist/core/ingestion/languages/python/index.js +80 -0
- package/dist/core/ingestion/languages/python/interpret.d.ts +15 -0
- package/dist/core/ingestion/languages/python/interpret.js +191 -0
- package/dist/core/ingestion/languages/python/merge-bindings.d.ts +16 -0
- package/dist/core/ingestion/languages/python/merge-bindings.js +44 -0
- package/dist/core/ingestion/languages/python/query.d.ts +9 -0
- package/dist/core/ingestion/languages/python/query.js +267 -0
- package/dist/core/ingestion/languages/python/receiver-binding.d.ts +21 -0
- package/dist/core/ingestion/languages/python/receiver-binding.js +116 -0
- package/dist/core/ingestion/languages/python/scope-resolver.d.ts +16 -0
- package/dist/core/ingestion/languages/python/scope-resolver.js +53 -0
- package/dist/core/ingestion/languages/python/simple-hooks.d.ts +25 -0
- package/dist/core/ingestion/languages/python/simple-hooks.js +43 -0
- package/dist/core/ingestion/languages/python.d.ts +12 -0
- package/dist/core/ingestion/languages/python.js +133 -0
- package/dist/core/ingestion/languages/ruby.d.ts +9 -0
- package/dist/core/ingestion/languages/ruby.js +235 -0
- package/dist/core/ingestion/languages/rust.d.ts +12 -0
- package/dist/core/ingestion/languages/rust.js +167 -0
- package/dist/core/ingestion/languages/swift.d.ts +12 -0
- package/dist/core/ingestion/languages/swift.js +312 -0
- package/dist/core/ingestion/languages/typescript/arity-metadata.d.ts +59 -0
- package/dist/core/ingestion/languages/typescript/arity-metadata.js +103 -0
- package/dist/core/ingestion/languages/typescript/arity.d.ts +37 -0
- package/dist/core/ingestion/languages/typescript/arity.js +54 -0
- package/dist/core/ingestion/languages/typescript/cache-stats.d.ts +17 -0
- package/dist/core/ingestion/languages/typescript/cache-stats.js +28 -0
- package/dist/core/ingestion/languages/typescript/captures.d.ts +28 -0
- package/dist/core/ingestion/languages/typescript/captures.js +474 -0
- package/dist/core/ingestion/languages/typescript/import-decomposer.d.ts +49 -0
- package/dist/core/ingestion/languages/typescript/import-decomposer.js +371 -0
- package/dist/core/ingestion/languages/typescript/import-target.d.ts +50 -0
- package/dist/core/ingestion/languages/typescript/import-target.js +61 -0
- package/dist/core/ingestion/languages/typescript/index.d.ts +94 -0
- package/dist/core/ingestion/languages/typescript/index.js +94 -0
- package/dist/core/ingestion/languages/typescript/interpret.d.ts +35 -0
- package/dist/core/ingestion/languages/typescript/interpret.js +317 -0
- package/dist/core/ingestion/languages/typescript/merge-bindings.d.ts +62 -0
- package/dist/core/ingestion/languages/typescript/merge-bindings.js +158 -0
- package/dist/core/ingestion/languages/typescript/query.d.ts +84 -0
- package/dist/core/ingestion/languages/typescript/query.js +978 -0
- package/dist/core/ingestion/languages/typescript/receiver-binding.d.ts +59 -0
- package/dist/core/ingestion/languages/typescript/receiver-binding.js +171 -0
- package/dist/core/ingestion/languages/typescript/scope-resolver.d.ts +16 -0
- package/dist/core/ingestion/languages/typescript/scope-resolver.js +113 -0
- package/dist/core/ingestion/languages/typescript/simple-hooks.d.ts +71 -0
- package/dist/core/ingestion/languages/typescript/simple-hooks.js +131 -0
- package/dist/core/ingestion/languages/typescript.d.ts +11 -0
- package/dist/core/ingestion/languages/typescript.js +324 -0
- package/dist/core/ingestion/languages/vue.d.ts +13 -0
- package/dist/core/ingestion/languages/vue.js +79 -0
- package/dist/core/ingestion/markdown-processor.d.ts +17 -0
- package/dist/core/ingestion/markdown-processor.js +124 -0
- package/dist/core/ingestion/method-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
- package/dist/core/ingestion/method-extractors/configs/csharp.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/csharp.js +287 -0
- package/dist/core/ingestion/method-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/dart.js +376 -0
- package/dist/core/ingestion/method-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/go.js +176 -0
- package/dist/core/ingestion/method-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/method-extractors/configs/jvm.js +336 -0
- package/dist/core/ingestion/method-extractors/configs/php.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/php.js +304 -0
- package/dist/core/ingestion/method-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/python.js +309 -0
- package/dist/core/ingestion/method-extractors/configs/ruby.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/ruby.js +286 -0
- package/dist/core/ingestion/method-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/rust.js +195 -0
- package/dist/core/ingestion/method-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/swift.js +276 -0
- package/dist/core/ingestion/method-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/method-extractors/configs/typescript-javascript.js +338 -0
- package/dist/core/ingestion/method-extractors/generic.d.ts +11 -0
- package/dist/core/ingestion/method-extractors/generic.js +205 -0
- package/dist/core/ingestion/method-types.d.ts +90 -0
- package/dist/core/ingestion/method-types.js +2 -0
- package/dist/core/ingestion/model/field-registry.d.ts +18 -0
- package/dist/core/ingestion/model/field-registry.js +22 -0
- package/dist/core/ingestion/model/heritage-map.d.ts +105 -0
- package/dist/core/ingestion/model/heritage-map.js +260 -0
- package/dist/core/ingestion/model/index.d.ts +20 -0
- package/dist/core/ingestion/model/index.js +43 -0
- package/dist/core/ingestion/model/method-registry.d.ts +71 -0
- package/dist/core/ingestion/model/method-registry.js +134 -0
- package/dist/core/ingestion/model/registration-table.d.ts +138 -0
- package/dist/core/ingestion/model/registration-table.js +224 -0
- package/dist/core/ingestion/model/resolution-context.d.ts +93 -0
- package/dist/core/ingestion/model/resolution-context.js +337 -0
- package/dist/core/ingestion/model/resolve.d.ts +61 -0
- package/dist/core/ingestion/model/resolve.js +401 -0
- package/dist/core/ingestion/model/scope-resolution-indexes.d.ts +72 -0
- package/dist/core/ingestion/model/scope-resolution-indexes.js +42 -0
- package/dist/core/ingestion/model/semantic-model.d.ts +150 -0
- package/dist/core/ingestion/model/semantic-model.js +175 -0
- package/dist/core/ingestion/model/symbol-table.d.ts +200 -0
- package/dist/core/ingestion/model/symbol-table.js +206 -0
- package/dist/core/ingestion/model/type-registry.d.ts +39 -0
- package/dist/core/ingestion/model/type-registry.js +62 -0
- package/dist/core/ingestion/mro-processor.d.ts +46 -0
- package/dist/core/ingestion/mro-processor.js +597 -0
- package/dist/core/ingestion/named-bindings/csharp.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/csharp.js +37 -0
- package/dist/core/ingestion/named-bindings/java.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/java.js +29 -0
- package/dist/core/ingestion/named-bindings/kotlin.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/kotlin.js +36 -0
- package/dist/core/ingestion/named-bindings/php.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/php.js +61 -0
- package/dist/core/ingestion/named-bindings/python.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/python.js +49 -0
- package/dist/core/ingestion/named-bindings/rust.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/rust.js +66 -0
- package/dist/core/ingestion/named-bindings/types.d.ts +16 -0
- package/dist/core/ingestion/named-bindings/types.js +6 -0
- package/dist/core/ingestion/named-bindings/typescript.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/typescript.js +58 -0
- package/dist/core/ingestion/parsing-processor.d.ts +60 -0
- package/dist/core/ingestion/parsing-processor.js +627 -0
- package/dist/core/ingestion/pipeline-phases/cobol.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/cobol.js +46 -0
- package/dist/core/ingestion/pipeline-phases/communities.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/communities.js +63 -0
- package/dist/core/ingestion/pipeline-phases/cross-file-impl.d.ts +17 -0
- package/dist/core/ingestion/pipeline-phases/cross-file-impl.js +157 -0
- package/dist/core/ingestion/pipeline-phases/cross-file.d.ts +37 -0
- package/dist/core/ingestion/pipeline-phases/cross-file.js +64 -0
- package/dist/core/ingestion/pipeline-phases/index.d.ts +22 -0
- package/dist/core/ingestion/pipeline-phases/index.js +23 -0
- package/dist/core/ingestion/pipeline-phases/markdown.d.ts +17 -0
- package/dist/core/ingestion/pipeline-phases/markdown.js +34 -0
- package/dist/core/ingestion/pipeline-phases/mro.d.ts +18 -0
- package/dist/core/ingestion/pipeline-phases/mro.js +37 -0
- package/dist/core/ingestion/pipeline-phases/orm-extraction.d.ts +22 -0
- package/dist/core/ingestion/pipeline-phases/orm-extraction.js +92 -0
- package/dist/core/ingestion/pipeline-phases/orm.d.ts +15 -0
- package/dist/core/ingestion/pipeline-phases/orm.js +75 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +63 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +567 -0
- package/dist/core/ingestion/pipeline-phases/parse.d.ts +88 -0
- package/dist/core/ingestion/pipeline-phases/parse.js +33 -0
- package/dist/core/ingestion/pipeline-phases/processes.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/processes.js +149 -0
- package/dist/core/ingestion/pipeline-phases/routes.d.ts +21 -0
- package/dist/core/ingestion/pipeline-phases/routes.js +244 -0
- package/dist/core/ingestion/pipeline-phases/runner.d.ts +22 -0
- package/dist/core/ingestion/pipeline-phases/runner.js +204 -0
- package/dist/core/ingestion/pipeline-phases/scan.d.ts +21 -0
- package/dist/core/ingestion/pipeline-phases/scan.js +46 -0
- package/dist/core/ingestion/pipeline-phases/structure.d.ts +27 -0
- package/dist/core/ingestion/pipeline-phases/structure.js +35 -0
- package/dist/core/ingestion/pipeline-phases/tools.d.ts +21 -0
- package/dist/core/ingestion/pipeline-phases/tools.js +86 -0
- package/dist/core/ingestion/pipeline-phases/types.d.ts +79 -0
- package/dist/core/ingestion/pipeline-phases/types.js +37 -0
- package/dist/core/ingestion/pipeline-phases/wildcard-synthesis.d.ts +70 -0
- package/dist/core/ingestion/pipeline-phases/wildcard-synthesis.js +312 -0
- package/dist/core/ingestion/pipeline.d.ts +49 -0
- package/dist/core/ingestion/pipeline.js +89 -0
- package/dist/core/ingestion/process-processor.d.ts +51 -0
- package/dist/core/ingestion/process-processor.js +318 -0
- package/dist/core/ingestion/registry-primary-flag.d.ts +88 -0
- package/dist/core/ingestion/registry-primary-flag.js +117 -0
- package/dist/core/ingestion/resolve-references.d.ts +63 -0
- package/dist/core/ingestion/resolve-references.js +175 -0
- package/dist/core/ingestion/route-extractors/expo.d.ts +1 -0
- package/dist/core/ingestion/route-extractors/expo.js +36 -0
- package/dist/core/ingestion/route-extractors/middleware.d.ts +47 -0
- package/dist/core/ingestion/route-extractors/middleware.js +167 -0
- package/dist/core/ingestion/route-extractors/nextjs.d.ts +3 -0
- package/dist/core/ingestion/route-extractors/nextjs.js +76 -0
- package/dist/core/ingestion/route-extractors/php.d.ts +7 -0
- package/dist/core/ingestion/route-extractors/php.js +22 -0
- package/dist/core/ingestion/route-extractors/response-shapes.d.ts +20 -0
- package/dist/core/ingestion/route-extractors/response-shapes.js +294 -0
- package/dist/core/ingestion/scope-extractor-bridge.d.ts +35 -0
- package/dist/core/ingestion/scope-extractor-bridge.js +49 -0
- package/dist/core/ingestion/scope-extractor.d.ts +86 -0
- package/dist/core/ingestion/scope-extractor.js +772 -0
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +558 -0
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +250 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +43 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +79 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +57 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +142 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.d.ts +17 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +46 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.d.ts +19 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +40 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +37 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +118 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +38 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +73 -0
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +42 -0
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +467 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +53 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +251 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-return-types.d.ts +75 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-return-types.js +202 -0
- package/dist/core/ingestion/scope-resolution/passes/mro.d.ts +42 -0
- package/dist/core/ingestion/scope-resolution/passes/mro.js +102 -0
- package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.d.ts +30 -0
- package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.js +81 -0
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +46 -0
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +377 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +47 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.js +152 -0
- package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.d.ts +68 -0
- package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +125 -0
- package/dist/core/ingestion/scope-resolution/pipeline/registry.d.ts +17 -0
- package/dist/core/ingestion/scope-resolution/pipeline/registry.js +31 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +91 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +218 -0
- package/dist/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.d.ts +39 -0
- package/dist/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +65 -0
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +36 -0
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +58 -0
- package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +170 -0
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +447 -0
- package/dist/core/ingestion/scope-resolution/workspace-index.d.ts +52 -0
- package/dist/core/ingestion/scope-resolution/workspace-index.js +61 -0
- package/dist/core/ingestion/shadow-harness.d.ts +113 -0
- package/dist/core/ingestion/shadow-harness.js +148 -0
- package/dist/core/ingestion/structure-processor.d.ts +2 -0
- package/dist/core/ingestion/structure-processor.js +36 -0
- package/dist/core/ingestion/tree-sitter-queries.d.ts +16 -0
- package/dist/core/ingestion/tree-sitter-queries.js +1497 -0
- package/dist/core/ingestion/type-env.d.ts +86 -0
- package/dist/core/ingestion/type-env.js +1129 -0
- package/dist/core/ingestion/type-extractors/c-cpp.d.ts +7 -0
- package/dist/core/ingestion/type-extractors/c-cpp.js +532 -0
- package/dist/core/ingestion/type-extractors/csharp.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/csharp.js +583 -0
- package/dist/core/ingestion/type-extractors/dart.d.ts +15 -0
- package/dist/core/ingestion/type-extractors/dart.js +369 -0
- package/dist/core/ingestion/type-extractors/go.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/go.js +513 -0
- package/dist/core/ingestion/type-extractors/jvm.d.ts +3 -0
- package/dist/core/ingestion/type-extractors/jvm.js +856 -0
- package/dist/core/ingestion/type-extractors/php.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/php.js +534 -0
- package/dist/core/ingestion/type-extractors/python.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/python.js +474 -0
- package/dist/core/ingestion/type-extractors/ruby.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/ruby.js +377 -0
- package/dist/core/ingestion/type-extractors/rust.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/rust.js +515 -0
- package/dist/core/ingestion/type-extractors/shared.d.ts +131 -0
- package/dist/core/ingestion/type-extractors/shared.js +796 -0
- package/dist/core/ingestion/type-extractors/swift.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/swift.js +487 -0
- package/dist/core/ingestion/type-extractors/types.d.ts +172 -0
- package/dist/core/ingestion/type-extractors/types.js +1 -0
- package/dist/core/ingestion/type-extractors/typescript.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/typescript.js +661 -0
- package/dist/core/ingestion/utils/ast-helpers.d.ts +102 -0
- package/dist/core/ingestion/utils/ast-helpers.js +561 -0
- package/dist/core/ingestion/utils/call-analysis.d.ts +75 -0
- package/dist/core/ingestion/utils/call-analysis.js +574 -0
- package/dist/core/ingestion/utils/env.d.ts +20 -0
- package/dist/core/ingestion/utils/env.js +24 -0
- package/dist/core/ingestion/utils/event-loop.d.ts +5 -0
- package/dist/core/ingestion/utils/event-loop.js +5 -0
- package/dist/core/ingestion/utils/graph-sort.d.ts +58 -0
- package/dist/core/ingestion/utils/graph-sort.js +100 -0
- package/dist/core/ingestion/utils/max-file-size.d.ts +20 -0
- package/dist/core/ingestion/utils/max-file-size.js +53 -0
- package/dist/core/ingestion/utils/method-props.d.ts +32 -0
- package/dist/core/ingestion/utils/method-props.js +147 -0
- package/dist/core/ingestion/utils/ruby-self-call.d.ts +52 -0
- package/dist/core/ingestion/utils/ruby-self-call.js +59 -0
- package/dist/core/ingestion/utils/verbose.d.ts +1 -0
- package/dist/core/ingestion/utils/verbose.js +7 -0
- package/dist/core/ingestion/variable-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/variable-extractors/configs/c-cpp.js +81 -0
- package/dist/core/ingestion/variable-extractors/configs/csharp.d.ts +9 -0
- package/dist/core/ingestion/variable-extractors/configs/csharp.js +63 -0
- package/dist/core/ingestion/variable-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/dart.js +94 -0
- package/dist/core/ingestion/variable-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/go.js +83 -0
- package/dist/core/ingestion/variable-extractors/configs/jvm.d.ts +18 -0
- package/dist/core/ingestion/variable-extractors/configs/jvm.js +115 -0
- package/dist/core/ingestion/variable-extractors/configs/php.d.ts +14 -0
- package/dist/core/ingestion/variable-extractors/configs/php.js +58 -0
- package/dist/core/ingestion/variable-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/python.js +101 -0
- package/dist/core/ingestion/variable-extractors/configs/ruby.d.ts +11 -0
- package/dist/core/ingestion/variable-extractors/configs/ruby.js +52 -0
- package/dist/core/ingestion/variable-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/rust.js +76 -0
- package/dist/core/ingestion/variable-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/swift.js +88 -0
- package/dist/core/ingestion/variable-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/variable-extractors/configs/typescript-javascript.js +83 -0
- package/dist/core/ingestion/variable-extractors/generic.d.ts +5 -0
- package/dist/core/ingestion/variable-extractors/generic.js +80 -0
- package/dist/core/ingestion/variable-types.d.ts +82 -0
- package/dist/core/ingestion/variable-types.js +2 -0
- package/dist/core/ingestion/vue-sfc-extractor.d.ts +44 -0
- package/dist/core/ingestion/vue-sfc-extractor.js +111 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +199 -0
- package/dist/core/ingestion/workers/parse-worker.js +1940 -0
- package/dist/core/ingestion/workers/worker-pool.d.ts +23 -0
- package/dist/core/ingestion/workers/worker-pool.js +380 -0
- package/dist/core/lbug/csv-generator.d.ts +33 -0
- package/dist/core/lbug/csv-generator.js +463 -0
- package/dist/core/lbug/extension-loader.d.ts +86 -0
- package/dist/core/lbug/extension-loader.js +186 -0
- package/dist/core/lbug/lbug-adapter.d.ts +243 -0
- package/dist/core/lbug/lbug-adapter.js +1377 -0
- package/dist/core/lbug/lbug-config.d.ts +102 -0
- package/dist/core/lbug/lbug-config.js +303 -0
- package/dist/core/lbug/pool-adapter.d.ts +90 -0
- package/dist/core/lbug/pool-adapter.js +592 -0
- package/dist/core/lbug/schema.d.ts +62 -0
- package/dist/core/lbug/schema.js +495 -0
- package/dist/core/logger.d.ts +125 -0
- package/dist/core/logger.js +323 -0
- package/dist/core/platform/capabilities.d.ts +24 -0
- package/dist/core/platform/capabilities.js +54 -0
- package/dist/core/run-analyze.d.ts +92 -0
- package/dist/core/run-analyze.js +672 -0
- package/dist/core/search/bm25-index.d.ts +29 -0
- package/dist/core/search/bm25-index.js +118 -0
- package/dist/core/search/fts-indexes.d.ts +1 -0
- package/dist/core/search/fts-indexes.js +7 -0
- package/dist/core/search/fts-schema.d.ts +6 -0
- package/dist/core/search/fts-schema.js +7 -0
- package/dist/core/search/hybrid-search.d.ts +53 -0
- package/dist/core/search/hybrid-search.js +136 -0
- package/dist/core/search/phase-timer.d.ts +72 -0
- package/dist/core/search/phase-timer.js +106 -0
- package/dist/core/tree-sitter/parser-loader.d.ts +8 -0
- package/dist/core/tree-sitter/parser-loader.js +189 -0
- package/dist/core/tree-sitter/safe-parse.d.ts +6 -0
- package/dist/core/tree-sitter/safe-parse.js +32 -0
- package/dist/core/wiki/cursor-client.d.ts +31 -0
- package/dist/core/wiki/cursor-client.js +123 -0
- package/dist/core/wiki/generator.d.ts +129 -0
- package/dist/core/wiki/generator.js +899 -0
- package/dist/core/wiki/graph-queries.d.ts +84 -0
- package/dist/core/wiki/graph-queries.js +244 -0
- package/dist/core/wiki/html-viewer.d.ts +10 -0
- package/dist/core/wiki/html-viewer.js +304 -0
- package/dist/core/wiki/llm-client.d.ts +83 -0
- package/dist/core/wiki/llm-client.js +267 -0
- package/dist/core/wiki/mermaid-sanitizer.d.ts +2 -0
- package/dist/core/wiki/mermaid-sanitizer.js +100 -0
- package/dist/core/wiki/prompts.d.ts +53 -0
- package/dist/core/wiki/prompts.js +181 -0
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.js +3 -0
- package/dist/mcp/compatible-stdio-transport.d.ts +25 -0
- package/dist/mcp/compatible-stdio-transport.js +206 -0
- package/dist/mcp/core/embedder.d.ts +27 -0
- package/dist/mcp/core/embedder.js +145 -0
- package/dist/mcp/core/lbug-adapter.d.ts +11 -0
- package/dist/mcp/core/lbug-adapter.js +11 -0
- package/dist/mcp/local/local-backend.d.ts +356 -0
- package/dist/mcp/local/local-backend.js +3251 -0
- package/dist/mcp/resources.d.ts +62 -0
- package/dist/mcp/resources.js +512 -0
- package/dist/mcp/server.d.ts +23 -0
- package/dist/mcp/server.js +314 -0
- package/dist/mcp/staleness.d.ts +5 -0
- package/dist/mcp/staleness.js +4 -0
- package/dist/mcp/stdio-capture.d.ts +40 -0
- package/dist/mcp/stdio-capture.js +53 -0
- package/dist/mcp/stdio-context.d.ts +47 -0
- package/dist/mcp/stdio-context.js +145 -0
- package/dist/mcp/tools.d.ts +29 -0
- package/dist/mcp/tools.js +506 -0
- package/dist/server/analyze-job.d.ts +55 -0
- package/dist/server/analyze-job.js +150 -0
- package/dist/server/analyze-worker.d.ts +13 -0
- package/dist/server/analyze-worker.js +59 -0
- package/dist/server/api.d.ts +72 -0
- package/dist/server/api.js +1638 -0
- package/dist/server/git-clone.d.ts +99 -0
- package/dist/server/git-clone.js +397 -0
- package/dist/server/mcp-http.d.ts +13 -0
- package/dist/server/mcp-http.js +101 -0
- package/dist/server/validation.d.ts +98 -0
- package/dist/server/validation.js +142 -0
- package/dist/storage/file-hash.d.ts +47 -0
- package/dist/storage/file-hash.js +86 -0
- package/dist/storage/git.d.ts +148 -0
- package/dist/storage/git.js +346 -0
- package/dist/storage/parse-cache.d.ts +67 -0
- package/dist/storage/parse-cache.js +182 -0
- package/dist/storage/repo-manager.d.ts +467 -0
- package/dist/storage/repo-manager.js +804 -0
- package/dist/types/pipeline.d.ts +18 -0
- package/dist/types/pipeline.js +1 -0
- package/hooks/claude/arc-hook.cjs +334 -0
- package/hooks/claude/hook-lock.cjs +119 -0
- package/hooks/claude/pre-tool-use.sh +79 -0
- package/hooks/claude/session-start.sh +42 -0
- package/package.json +122 -0
- package/scripts/bench-scope-resolution.ts +134 -0
- package/scripts/build-tree-sitter-dart.cjs +53 -0
- package/scripts/build-tree-sitter-proto.cjs +93 -0
- package/scripts/build.js +99 -0
- package/scripts/ci-list-migrated-languages.ts +24 -0
- package/scripts/install-duckdb-extension.mjs +48 -0
- package/skills/arc-cli.md +83 -0
- package/skills/arc-debugging.md +89 -0
- package/skills/arc-exploring.md +78 -0
- package/skills/arc-guide.md +64 -0
- package/skills/arc-impact-analysis.md +97 -0
- package/skills/arc-pr-review.md +163 -0
- package/skills/arc-refactoring.md +121 -0
- package/vendor/leiden/index.cjs +355 -0
- package/vendor/leiden/utils.cjs +392 -0
- package/vendor/tree-sitter-dart/README.md +18 -0
- package/vendor/tree-sitter-dart/binding.gyp +31 -0
- package/vendor/tree-sitter-dart/bindings/node/binding.cc +20 -0
- package/vendor/tree-sitter-dart/bindings/node/index.d.ts +28 -0
- package/vendor/tree-sitter-dart/bindings/node/index.js +7 -0
- package/vendor/tree-sitter-dart/grammar.js +2895 -0
- package/vendor/tree-sitter-dart/package.json +18 -0
- package/vendor/tree-sitter-dart/queries/highlights.scm +246 -0
- package/vendor/tree-sitter-dart/queries/tags.scm +92 -0
- package/vendor/tree-sitter-dart/queries/test.scm +1 -0
- package/vendor/tree-sitter-dart/src/grammar.json +12459 -0
- package/vendor/tree-sitter-dart/src/node-types.json +15055 -0
- package/vendor/tree-sitter-dart/src/parser.c +196127 -0
- package/vendor/tree-sitter-dart/src/scanner.c +130 -0
- package/vendor/tree-sitter-dart/src/tree_sitter/alloc.h +54 -0
- package/vendor/tree-sitter-dart/src/tree_sitter/array.h +290 -0
- package/vendor/tree-sitter-dart/src/tree_sitter/parser.h +265 -0
- package/vendor/tree-sitter-proto/binding.gyp +30 -0
- package/vendor/tree-sitter-proto/bindings/node/binding.cc +20 -0
- package/vendor/tree-sitter-proto/bindings/node/index.d.ts +28 -0
- package/vendor/tree-sitter-proto/bindings/node/index.js +7 -0
- package/vendor/tree-sitter-proto/package.json +12 -0
- package/vendor/tree-sitter-proto/src/node-types.json +1145 -0
- package/vendor/tree-sitter-proto/src/parser.c +10149 -0
- package/vendor/tree-sitter-proto/src/tree_sitter/alloc.h +54 -0
- package/vendor/tree-sitter-proto/src/tree_sitter/array.h +291 -0
- package/vendor/tree-sitter-proto/src/tree_sitter/parser.h +266 -0
- package/vendor/tree-sitter-swift/LICENSE +21 -0
- package/vendor/tree-sitter-swift/README.md +139 -0
- package/vendor/tree-sitter-swift/bindings/node/index.d.ts +28 -0
- package/vendor/tree-sitter-swift/bindings/node/index.js +7 -0
- package/vendor/tree-sitter-swift/package.json +28 -0
- package/vendor/tree-sitter-swift/prebuilds/darwin-arm64/tree-sitter-swift.node +0 -0
- package/vendor/tree-sitter-swift/prebuilds/darwin-x64/tree-sitter-swift.node +0 -0
- package/vendor/tree-sitter-swift/prebuilds/linux-arm64/tree-sitter-swift.node +0 -0
- package/vendor/tree-sitter-swift/prebuilds/linux-x64/tree-sitter-swift.node +0 -0
- package/vendor/tree-sitter-swift/prebuilds/win32-arm64/tree-sitter-swift.node +0 -0
- package/vendor/tree-sitter-swift/prebuilds/win32-x64/tree-sitter-swift.node +0 -0
- package/vendor/tree-sitter-swift/src/node-types.json +30694 -0
- package/web/assets/__vite-browser-external-CLwMvL_q.js +1 -0
- package/web/assets/agent-DaYmiVrk.js +601 -0
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-aGTGQQQG.js +1 -0
- package/web/assets/architectureDiagram-UL44E2DR-613o-OfM.js +36 -0
- package/web/assets/blockDiagram-7IZFK4PR-BBJRt4vF.js +132 -0
- package/web/assets/c4Diagram-Y2BXMSZH-BhR2CErx.js +10 -0
- package/web/assets/chunk-3SSMPTDK-DWfEAoKy.js +321 -0
- package/web/assets/chunk-6764PJDD-NOXEgi3n.js +1 -0
- package/web/assets/chunk-AZZRMDJM-DVvcxwI7.js +15 -0
- package/web/assets/chunk-JQRUD6KW-CQgkrimK.js +1 -0
- package/web/assets/chunk-KGYTTC2M-DxOdSoAJ.js +161 -0
- package/web/assets/chunk-KRXBNO2N-BlnQTnxv.js +1 -0
- package/web/assets/chunk-LCXTWHL2-Dhf_u-1F.js +231 -0
- package/web/assets/chunk-LII3EMHJ-Cb3HLCZX.js +1 -0
- package/web/assets/chunk-RG4AUYOV-DLCfNede.js +206 -0
- package/web/assets/chunk-T5OCTHI4-B0CGAG7q.js +1 -0
- package/web/assets/chunk-W44A43WB-ZyrAMwtT.js +1 -0
- package/web/assets/chunk-ZXARS5L4-B0TJPmj5.js +1 -0
- package/web/assets/classDiagram-KGZ6W3CR-CvSnsfJD.js +1 -0
- package/web/assets/classDiagram-v2-72OJOZXJ-CvSnsfJD.js +1 -0
- package/web/assets/context-builder-BREgwful.js +15 -0
- package/web/assets/cose-bilkent-UX7MHV2Q-BsPIaeag.js +1 -0
- package/web/assets/dagre-ND4H6XIP-CV4l9vOZ.js +4 -0
- package/web/assets/diagram-3NCE3AQN-9kSzEbS8.js +43 -0
- package/web/assets/diagram-GF46GFSD-qRvqbex6.js +24 -0
- package/web/assets/diagram-HNR7UZ2L-Dj_ye4Ua.js +3 -0
- package/web/assets/diagram-QXG6HAR7-COwBV6B0.js +24 -0
- package/web/assets/diagram-WEQXMOUZ-C9xjn5dU.js +10 -0
- package/web/assets/erDiagram-L5TCEMPS-fRp0t1Yd.js +85 -0
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-BR0Ygfrw.js +1 -0
- package/web/assets/flowDiagram-H6V6AXG4-Ccr8FDLD.js +162 -0
- package/web/assets/ganttDiagram-JCBTUEKG-DfBPqAGN.js +292 -0
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-CYihBz6Z.js +1 -0
- package/web/assets/gitGraphDiagram-S2ZK5IYY-CHvG_UQ0.js +106 -0
- package/web/assets/index-B7cw1L6-.css +2 -0
- package/web/assets/index-CJJQgfSH.js +886 -0
- package/web/assets/info-J43DQDTF-KCYPFFUO-BmmoeX4D.js +1 -0
- package/web/assets/infoDiagram-3YFTVSEB-C7cMy-GP.js +2 -0
- package/web/assets/ishikawaDiagram-BNXS4ZKH-C80yCPYi.js +70 -0
- package/web/assets/journeyDiagram-M6C3CM3L-BHxH1zjE.js +139 -0
- package/web/assets/kanban-definition-75IXJCU3-DNZo1hOE.js +89 -0
- package/web/assets/katex-K3KEBU37-CbyuvTf1.js +261 -0
- package/web/assets/mindmap-definition-2TDM6QVE-Dpgl3Elt.js +96 -0
- package/web/assets/packet-YPE3B663-LP52Z2RK-7JAqDnUy.js +1 -0
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-Bv9vE7io.js +1 -0
- package/web/assets/pieDiagram-CU6KROY3-BW0mr0ek.js +30 -0
- package/web/assets/quadrantDiagram-VICAPDV7-C1dCMBbk.js +7 -0
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-dtZpcOZd.js +1 -0
- package/web/assets/requirementDiagram-JXO7QTGE-Dyqqny4j.js +84 -0
- package/web/assets/sankeyDiagram-URQDO5SZ-B3FGr5SL.js +40 -0
- package/web/assets/sequenceDiagram-VS2MUI6T-B4LlGP9C.js +162 -0
- package/web/assets/stateDiagram-7D4R322I-V9F-klBP.js +1 -0
- package/web/assets/stateDiagram-v2-36443NZ5-CKDYYzqR.js +1 -0
- package/web/assets/timeline-definition-O6YCAMPW-CX2WjkZA.js +120 -0
- package/web/assets/treeView-BLDUP644-QA4HXRO3-BQaKTdhr.js +1 -0
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-Bqlxdyrq.js +1 -0
- package/web/assets/vennDiagram-MWXL3ELB-BxZPYqOF.js +34 -0
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-dofeprUr.js +1 -0
- package/web/assets/wardleyDiagram-CUQ6CDDI-BLdJJYkV.js +78 -0
- package/web/assets/xychartDiagram-N2JHSOCM-DqDgigLa.js +7 -0
- package/web/index.html +19 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ScopeResolver` — the per-language contract consumed by the generic
|
|
3
|
+
* scope-resolution orchestrator (`runScopeResolution`).
|
|
4
|
+
*
|
|
5
|
+
* ## Migration cookbook (next language)
|
|
6
|
+
*
|
|
7
|
+
* To add a language to the registry-primary path:
|
|
8
|
+
*
|
|
9
|
+
* 1. Implement `ScopeResolver` in
|
|
10
|
+
* `arc/src/core/ingestion/languages/<lang>/scope-resolver.ts`.
|
|
11
|
+
* Nine required fields (language, languageProvider,
|
|
12
|
+
* importEdgeReason, resolveImportTarget, mergeBindings,
|
|
13
|
+
* arityCompatibility, buildMro, populateOwners, isSuperReceiver)
|
|
14
|
+
* plus optional toggles / hooks:
|
|
15
|
+
* - propagatesReturnTypesAcrossImports (default true)
|
|
16
|
+
* - fieldFallbackOnMethodLookup (default true — turn OFF for
|
|
17
|
+
* statically-typed languages; the heuristic over-connects)
|
|
18
|
+
* - unwrapCollectionAccessor — property-style collection views
|
|
19
|
+
* - collapseMemberCallsByCallerTarget — one edge per caller/target
|
|
20
|
+
* - populateNamespaceSiblings — cross-file implicit visibility
|
|
21
|
+
* - hoistTypeBindingsToModule — enable ONLY when method return
|
|
22
|
+
* types are stored on the enclosing Module scope; most
|
|
23
|
+
* languages attach them to the class scope and leave this off
|
|
24
|
+
* 2. Export a thin entry point:
|
|
25
|
+
* `runYourLangScopeResolution(input) = runScopeResolution(input, yourScopeResolver)`.
|
|
26
|
+
* 3. Register the provider in
|
|
27
|
+
* `arc/src/core/ingestion/scope-resolution/pipeline/registry.ts`
|
|
28
|
+
* (the `SCOPE_RESOLVERS` map).
|
|
29
|
+
* 4. Add `SupportedLanguages.YourLang` to `MIGRATED_LANGUAGES` in
|
|
30
|
+
* `registry-primary-flag.ts`.
|
|
31
|
+
* 5. Verify the resolver integration test at
|
|
32
|
+
* `arc/test/integration/resolvers/<lang>.test.ts` passes
|
|
33
|
+
* under both `REGISTRY_PRIMARY_<LANG>=0` (legacy) and `=1`
|
|
34
|
+
* (registry-primary). The CI parity gate enforces this.
|
|
35
|
+
*
|
|
36
|
+
* No new pipeline phase, no orchestrator copy-paste, no workflow
|
|
37
|
+
* change. The generic `scopeResolutionPhase` and the CI parity
|
|
38
|
+
* workflow auto-discover everything via `MIGRATED_LANGUAGES`.
|
|
39
|
+
*
|
|
40
|
+
* ## ScopeResolver vs LanguageProvider
|
|
41
|
+
*
|
|
42
|
+
* The codebase has two provider contracts. Their lifecycles differ:
|
|
43
|
+
*
|
|
44
|
+
* - `LanguageProvider` (`language-provider.ts`) is the
|
|
45
|
+
* **parsing-side** contract — how to emit captures, classify
|
|
46
|
+
* scopes, interpret imports / typeBindings. ~40 fields covering
|
|
47
|
+
* both legacy and new pipelines. Consumed by `ScopeExtractor`,
|
|
48
|
+
* once per file at extract time.
|
|
49
|
+
* - `ScopeResolver` (this file) is the **emit-side** contract — how
|
|
50
|
+
* the resolution pipeline dispatches references to graph edges.
|
|
51
|
+
* 8 fields total. Consumed by `runScopeResolution`, once per
|
|
52
|
+
* workspace at resolve time.
|
|
53
|
+
*
|
|
54
|
+
* They share three concept names (`arityCompatibility`, `mergeBindings`,
|
|
55
|
+
* `resolveImportTarget`) because the emit pipeline reuses a few
|
|
56
|
+
* finalize hooks. Per-language wiring passes the SAME function
|
|
57
|
+
* reference through both interfaces — no second copy of the logic.
|
|
58
|
+
* Rationale for not collapsing: lifecycle separation, and merging
|
|
59
|
+
* would create a god-interface complicating future migrations.
|
|
60
|
+
*
|
|
61
|
+
* ## Reference implementation
|
|
62
|
+
*
|
|
63
|
+
* `arc/src/core/ingestion/languages/python/scope-resolver.ts` —
|
|
64
|
+
* `pythonScopeResolver` is the canonical example. Read that file when
|
|
65
|
+
* migrating a new language; this interface lists the fields that
|
|
66
|
+
* implementation populates.
|
|
67
|
+
*
|
|
68
|
+
* ## Contract Invariants the orchestrator depends on
|
|
69
|
+
*
|
|
70
|
+
* These are non-obvious behaviors that the orchestrator and the
|
|
71
|
+
* existing Python + C# resolvers depend on. Future implementers will
|
|
72
|
+
* break them silently if not documented.
|
|
73
|
+
*
|
|
74
|
+
* - **I1 — Phase 4 emission order is load-bearing.** `emitReceiverBoundCalls`
|
|
75
|
+
* runs FIRST (populates `handledSites`), then `emitFreeCallFallback`,
|
|
76
|
+
* then `emitReferencesViaLookup` (consumes `handledSites` as a skip
|
|
77
|
+
* set), then `emitImportEdges`. Reordering breaks same-name collision
|
|
78
|
+
* resolution: the shared lookup can mis-resolve `app_metrics.get_metrics()`
|
|
79
|
+
* to a same-named local function, and only the precise per-receiver
|
|
80
|
+
* pass running first prevents the wrong edge.
|
|
81
|
+
*
|
|
82
|
+
* - **I2 — `handledSites` semantics.** A site is added to
|
|
83
|
+
* `handledSites` IFF a `tryEmitEdge` call returned `true` for it.
|
|
84
|
+
* Sites a pass touched but couldn't resolve do NOT get marked —
|
|
85
|
+
* they still get a chance from the shared resolver. Exception:
|
|
86
|
+
* the free-call fallback marks the site unconditionally after
|
|
87
|
+
* attempting emission (even on dedup-collapse), because the
|
|
88
|
+
* per-(caller, target) collapse semantics require multiple call
|
|
89
|
+
* sites in the same caller body not produce multiple edges.
|
|
90
|
+
*
|
|
91
|
+
* - **I3 — `propagateImportedReturnTypes` mutation timing + ordering.**
|
|
92
|
+
* The pass mutates `Scope.typeBindings` (a plain `new Map(...)` from
|
|
93
|
+
* `draftToScope`, NOT frozen). It MUST run AFTER `finalizeScopeModel`
|
|
94
|
+
* (so `indexes.bindings` is populated) and BEFORE
|
|
95
|
+
* `resolveReferenceSites` (so resolution sees the propagated types).
|
|
96
|
+
* The pass also re-runs `followChainPostFinalize` on every scope's
|
|
97
|
+
* typeBindings because scope-extractor's pass-4 already ran and
|
|
98
|
+
* missed any chain whose terminal lives in a foreign file.
|
|
99
|
+
* Within the pass, files are walked in `indexes.sccs` reverse-
|
|
100
|
+
* topological order (leaves first) so multi-hop alias chains
|
|
101
|
+
* (e.g. `models.User → service.user → app.user`) collapse to the
|
|
102
|
+
* terminal class in a single pass — every importer sees its
|
|
103
|
+
* source's already-chain-followed typeBindings. Cyclic SCCs reach
|
|
104
|
+
* a partial fixpoint within a single pass without iterating to
|
|
105
|
+
* convergence; `ts-circular` only asserts pipeline-no-throw.
|
|
106
|
+
*
|
|
107
|
+
* - **I4 — `emitReceiverBoundCalls` case order.** Cases are evaluated
|
|
108
|
+
* in this order; the FIRST that emits an edge wins:
|
|
109
|
+
* 1. super branch (`provider.isSuperReceiver(receiverName)`)
|
|
110
|
+
* 2. Case 0 compound (`receiverName` has `.` or `(`)
|
|
111
|
+
* 3. Case 1 namespace-receiver
|
|
112
|
+
* 4. Case 2 class-name receiver
|
|
113
|
+
* 5. Case 3 dotted typeBinding for namespace prefix
|
|
114
|
+
* 6. Case 3b chain-typebinding (compound resolver)
|
|
115
|
+
* 7. Case 4 simple typeBinding (MRO walk + findOwnedMember)
|
|
116
|
+
* Reordering or merging cases changes resolution semantics. The
|
|
117
|
+
* numbering is part of the contract — keep the comments.
|
|
118
|
+
*
|
|
119
|
+
* - **I5 — Pre-seeding `seen` from `referenceIndex` is forbidden.**
|
|
120
|
+
* Earlier versions of the receiver-bound pass pre-populated `seen`
|
|
121
|
+
* to avoid double-emit. After Phase 4 was reordered, pre-seeding
|
|
122
|
+
* became actively harmful: it suppresses correct emissions for
|
|
123
|
+
* sites the shared resolver happened to resolve to a wrong target.
|
|
124
|
+
* The orchestrator MUST NOT pre-seed.
|
|
125
|
+
*
|
|
126
|
+
* - **I6 — `Scope.typeBindings` is mutable post-finalize.** `draftToScope`
|
|
127
|
+
* (in `scope-extractor.ts`) builds `typeBindings` as a plain
|
|
128
|
+
* `new Map(...)` — not frozen, intentionally. Passes below rely on
|
|
129
|
+
* this. Do NOT freeze `typeBindings` in any downstream refactor.
|
|
130
|
+
*
|
|
131
|
+
* - **I7 — `ScopeResolver` and `LanguageProvider` are distinct contracts.**
|
|
132
|
+
* Python and C# pass the SAME function reference through both
|
|
133
|
+
* interfaces where they share a hook name — no second copy of the
|
|
134
|
+
* logic. Rationale for not collapsing them: lifecycles differ
|
|
135
|
+
* (parsing-side runs once per file at extract time, emit-side runs
|
|
136
|
+
* once per workspace at resolve time), and merging would create a
|
|
137
|
+
* god-interface that complicates future migrations.
|
|
138
|
+
*
|
|
139
|
+
* - **I8 — Two-channel binding lifecycle.**
|
|
140
|
+
* `indexes.bindings` is the **finalize-output channel**. After
|
|
141
|
+
* `finalizeScopeModel` returns, its inner `BindingRef[]` arrays
|
|
142
|
+
* are deep-frozen by `materializeBindings` and MUST NOT be
|
|
143
|
+
* mutated by any post-finalize hook. Treat `indexes.bindings` as
|
|
144
|
+
* immutable from the moment `finalizeScopeModel` returns.
|
|
145
|
+
*
|
|
146
|
+
* `indexes.bindingAugmentations` is the **post-finalize
|
|
147
|
+
* append-only channel**. Hooks like `populateNamespaceSiblings`
|
|
148
|
+
* append cross-file bindings synthesized after finalize (C#
|
|
149
|
+
* same-namespace visibility, `using static` member exposure)
|
|
150
|
+
* into this channel, NOT into `indexes.bindings`. Inner arrays
|
|
151
|
+
* here are NEVER frozen — hooks `push()` directly. Any consumer
|
|
152
|
+
* that reads post-finalize workspace bindings MUST query both
|
|
153
|
+
* index channels via `lookupBindingsAt`
|
|
154
|
+
* (`scope-resolution/scope/walkers.ts`); the helper returns
|
|
155
|
+
* finalized refs first, appends unique augmentation refs after,
|
|
156
|
+
* and dedupes by `def.nodeId` so finalized metadata wins on
|
|
157
|
+
* duplicate defs. Per-`Scope.bindings` local declarations are the
|
|
158
|
+
* lexical extraction channel and remain a separate first-tier
|
|
159
|
+
* lookup for local shadowing.
|
|
160
|
+
*
|
|
161
|
+
* `Scope.typeBindings` remains mutable post-finalize per I6 (it
|
|
162
|
+
* is intentionally not frozen at any point).
|
|
163
|
+
*
|
|
164
|
+
* The `ReadonlyMap<...>` types on `ScopeResolutionIndexes` are
|
|
165
|
+
* compile-time read-guidance for consumers; structural mutation
|
|
166
|
+
* of `bindingAugmentations` is performed via a deliberate
|
|
167
|
+
* `as Map<...>` cast inside the hook implementations and is the
|
|
168
|
+
* ONLY sanctioned channel for post-finalize binding fanout.
|
|
169
|
+
*
|
|
170
|
+
* The dev-mode runtime validator
|
|
171
|
+
* (`validateBindingsImmutability` in
|
|
172
|
+
* `scope-resolution/validate-bindings-immutability.ts`) surfaces
|
|
173
|
+
* any drift — i.e. a hook writing to `indexes.bindings` instead
|
|
174
|
+
* of `bindingAugmentations`, or producing a non-frozen finalized
|
|
175
|
+
* bucket — via `onWarn` when explicitly enabled by
|
|
176
|
+
* `NODE_ENV === 'development' || VALIDATE_SEMANTIC_MODEL === '1'`
|
|
177
|
+
* (`VALIDATE_SEMANTIC_MODEL=0` is an explicit off switch).
|
|
178
|
+
*
|
|
179
|
+
* - **I9 — `SemanticModel` is the single authoritative symbol store.**
|
|
180
|
+
* Every symbol-indexed lookup (key = `nodeId | simpleName |
|
|
181
|
+
* qualifiedName | filePath`) resolves through
|
|
182
|
+
* `SemanticModel.{symbols,types,methods,fields}`. Scope-resolution
|
|
183
|
+
* passes MUST NOT maintain parallel owner-keyed or name-keyed
|
|
184
|
+
* symbol indexes — `WorkspaceResolutionIndex` is reserved for
|
|
185
|
+
* `Scope`-valued lookups that `SemanticModel` structurally cannot
|
|
186
|
+
* carry.
|
|
187
|
+
*
|
|
188
|
+
* The `runScopeResolution` orchestrator guarantees this invariant
|
|
189
|
+
* in two steps:
|
|
190
|
+
* 1. The legacy `parse` phase populates `SemanticModel` via
|
|
191
|
+
* `symbolTable.add(...)`. For languages whose extractor
|
|
192
|
+
* resolves `enclosingClassId` at parse time, class-body defs
|
|
193
|
+
* are correctly owner-keyed there.
|
|
194
|
+
* 2. The `reconcileOwnership` pass runs after
|
|
195
|
+
* `provider.populateOwners(parsed)` and registers any def in
|
|
196
|
+
* `parsed.localDefs[i]` with a corrected `ownerId` that the
|
|
197
|
+
* legacy pass missed (primarily Python class-body methods).
|
|
198
|
+
* Idempotent — duplicates are skipped by `nodeId`.
|
|
199
|
+
*
|
|
200
|
+
* Contract for consumers: `model` is `MutableSemanticModel` only
|
|
201
|
+
* during those two write phases. Downstream passes receive a
|
|
202
|
+
* narrowed `SemanticModel` (read-only) handle. This is enforced by
|
|
203
|
+
* `runScopeResolution`'s type-level narrowing at the phase
|
|
204
|
+
* boundary.
|
|
205
|
+
*
|
|
206
|
+
* The dev-mode runtime validator (`validateOwnershipParity`)
|
|
207
|
+
* surfaces any drift between `parsed.localDefs` ownership and the
|
|
208
|
+
* registries via `onWarn` when
|
|
209
|
+
* `NODE_ENV !== 'production' && VALIDATE_SEMANTIC_MODEL !== '0'`.
|
|
210
|
+
*
|
|
211
|
+
* This invariant is a **transitional shim**: the architectural
|
|
212
|
+
* end state is for every language's parse-time extractor to emit
|
|
213
|
+
* the correct `ownerId` directly, removing the need for
|
|
214
|
+
* reconciliation. Tracked as a follow-up; see ARCHITECTURE.md §
|
|
215
|
+
* "Semantic-model source of truth".
|
|
216
|
+
*
|
|
217
|
+
* ## Semantic-model source of truth
|
|
218
|
+
*
|
|
219
|
+
* `ParsedFile` (from `arceus-shared/src/scope-resolution/parsed-file.ts`)
|
|
220
|
+
* is the single semantic model consumed by both the legacy DAG and the
|
|
221
|
+
* scope-resolution pipeline. Scope-resolution passes MUST NOT build a
|
|
222
|
+
* parallel parse representation; if a pass needs AST-level facts that
|
|
223
|
+
* `ParsedFile` doesn't expose, it should reuse the orchestrator's
|
|
224
|
+
* `treeCache` (see `RunScopeResolutionInput.treeCache`) rather than
|
|
225
|
+
* re-invoke `parser.parse(...)` on its own.
|
|
226
|
+
*
|
|
227
|
+
* ## Same-graph guarantee
|
|
228
|
+
*
|
|
229
|
+
* Edges emitted by `runScopeResolution` and edges emitted by the legacy
|
|
230
|
+
* DAG are indistinguishable to downstream consumers:
|
|
231
|
+
* - Node identity: same `generateId(...)` helper, same qualified-name
|
|
232
|
+
* keyspace, same File/Folder/Method/Class node labels.
|
|
233
|
+
* - Edge vocabulary: `'import-resolved' | 'global' | 'local-call' |
|
|
234
|
+
* 'same-file' | 'interface-dispatch' | 'read' | 'write'` — both
|
|
235
|
+
* paths emit the same reasons (see
|
|
236
|
+
* `arc/src/core/ingestion/call-processor.ts` for the legacy
|
|
237
|
+
* emitter and `passes/receiver-bound-calls.ts` /
|
|
238
|
+
* `passes/free-call-fallback.ts` for the scope-resolution emitters).
|
|
239
|
+
* - Overload disambiguation: both paths use
|
|
240
|
+
* `generateId('Method', ...)` suffixed with `parameterTypes` when a
|
|
241
|
+
* method has overloads — see `graph-bridge/ids.ts`.
|
|
242
|
+
*
|
|
243
|
+
* The CI parity workflow (`.github/workflows/ci-scope-parity.yml`)
|
|
244
|
+
* runs both paths on every migrated language's fixture corpus and
|
|
245
|
+
* fails if the graph outputs diverge.
|
|
246
|
+
*
|
|
247
|
+
* Plan that introduced most of these invariants:
|
|
248
|
+
* `docs/plans/2026-04-20-001-refactor-emit-pipeline-generalization-plan.md`.
|
|
249
|
+
*/
|
|
250
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph edge emission primitives.
|
|
3
|
+
*
|
|
4
|
+
* Two functions:
|
|
5
|
+
* - `mapReferenceKindToEdgeType` — translate a scope-resolution
|
|
6
|
+
* `Reference.kind` into the corresponding graph edge type.
|
|
7
|
+
* - `tryEmitEdge` — given a reference site + target def, resolve
|
|
8
|
+
* caller + target to graph ids and emit the edge with
|
|
9
|
+
* language-provided reason text, dedup-keyed by
|
|
10
|
+
* `(edgeType, callerId, targetId, line, col)`.
|
|
11
|
+
*
|
|
12
|
+
* Next-consumer contract: any language provider can call `tryEmitEdge`
|
|
13
|
+
* from its own post-pass to emit edges it resolves Python-specific
|
|
14
|
+
* (or TypeScript-specific, etc.) logic. The dedup key is
|
|
15
|
+
* language-agnostic — no language needs to change it.
|
|
16
|
+
*/
|
|
17
|
+
import type { Reference, ScopeId, SymbolDefinition } from '../../../../_shared/index.js';
|
|
18
|
+
import type { KnowledgeGraph } from '../../../graph/types.js';
|
|
19
|
+
import type { ScopeResolutionIndexes } from '../../model/scope-resolution-indexes.js';
|
|
20
|
+
import type { GraphNodeLookup } from '../graph-bridge/node-lookup.js';
|
|
21
|
+
/**
|
|
22
|
+
* Map a `Reference.kind` to a graph edge type. `import-use` is dropped
|
|
23
|
+
* (no edge type today — provenance lives on the IMPORTS edge emitted
|
|
24
|
+
* by `emitImportEdges`).
|
|
25
|
+
*/
|
|
26
|
+
export declare function mapReferenceKindToEdgeType(kind: Reference['kind']): 'CALLS' | 'ACCESSES' | 'EXTENDS' | 'USES' | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve caller + target to graph ids and emit the edge. Returns true
|
|
29
|
+
* if the edge was emitted (not deduped, not skipped).
|
|
30
|
+
*
|
|
31
|
+
* `seen` is a language-shared dedup set keyed by
|
|
32
|
+
* `${edgeType}:${callerGraphId}->${targetGraphId}:${line}:${col}` so
|
|
33
|
+
* multiple language-specific post-passes can share it and never
|
|
34
|
+
* double-emit a resolution one of them already produced.
|
|
35
|
+
*/
|
|
36
|
+
export declare function tryEmitEdge(graph: KnowledgeGraph, scopes: ScopeResolutionIndexes, nodeLookup: GraphNodeLookup, site: {
|
|
37
|
+
readonly inScope: ScopeId;
|
|
38
|
+
readonly atRange: {
|
|
39
|
+
startLine: number;
|
|
40
|
+
startCol: number;
|
|
41
|
+
};
|
|
42
|
+
readonly kind: string;
|
|
43
|
+
}, targetDef: SymbolDefinition, reason: string, seen: Set<string>, confidence?: number, collapseByCallerTarget?: boolean): boolean;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph edge emission primitives.
|
|
3
|
+
*
|
|
4
|
+
* Two functions:
|
|
5
|
+
* - `mapReferenceKindToEdgeType` — translate a scope-resolution
|
|
6
|
+
* `Reference.kind` into the corresponding graph edge type.
|
|
7
|
+
* - `tryEmitEdge` — given a reference site + target def, resolve
|
|
8
|
+
* caller + target to graph ids and emit the edge with
|
|
9
|
+
* language-provided reason text, dedup-keyed by
|
|
10
|
+
* `(edgeType, callerId, targetId, line, col)`.
|
|
11
|
+
*
|
|
12
|
+
* Next-consumer contract: any language provider can call `tryEmitEdge`
|
|
13
|
+
* from its own post-pass to emit edges it resolves Python-specific
|
|
14
|
+
* (or TypeScript-specific, etc.) logic. The dedup key is
|
|
15
|
+
* language-agnostic — no language needs to change it.
|
|
16
|
+
*/
|
|
17
|
+
import { resolveCallerGraphId, resolveDefGraphId } from '../graph-bridge/ids.js';
|
|
18
|
+
/**
|
|
19
|
+
* Map a `Reference.kind` to a graph edge type. `import-use` is dropped
|
|
20
|
+
* (no edge type today — provenance lives on the IMPORTS edge emitted
|
|
21
|
+
* by `emitImportEdges`).
|
|
22
|
+
*/
|
|
23
|
+
export function mapReferenceKindToEdgeType(kind) {
|
|
24
|
+
switch (kind) {
|
|
25
|
+
case 'call':
|
|
26
|
+
return 'CALLS';
|
|
27
|
+
case 'read':
|
|
28
|
+
case 'write':
|
|
29
|
+
return 'ACCESSES';
|
|
30
|
+
case 'inherits':
|
|
31
|
+
return 'EXTENDS';
|
|
32
|
+
case 'type-reference':
|
|
33
|
+
return 'USES';
|
|
34
|
+
case 'import-use':
|
|
35
|
+
return undefined;
|
|
36
|
+
default:
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Resolve caller + target to graph ids and emit the edge. Returns true
|
|
42
|
+
* if the edge was emitted (not deduped, not skipped).
|
|
43
|
+
*
|
|
44
|
+
* `seen` is a language-shared dedup set keyed by
|
|
45
|
+
* `${edgeType}:${callerGraphId}->${targetGraphId}:${line}:${col}` so
|
|
46
|
+
* multiple language-specific post-passes can share it and never
|
|
47
|
+
* double-emit a resolution one of them already produced.
|
|
48
|
+
*/
|
|
49
|
+
export function tryEmitEdge(graph, scopes, nodeLookup, site, targetDef, reason, seen, confidence = 0.85, collapseByCallerTarget = false) {
|
|
50
|
+
const callerGraphId = resolveCallerGraphId(site.inScope, scopes, nodeLookup);
|
|
51
|
+
const targetGraphId = resolveDefGraphId(targetDef.filePath, targetDef, nodeLookup);
|
|
52
|
+
const edgeType = mapReferenceKindToEdgeType(site.kind);
|
|
53
|
+
if (callerGraphId === undefined)
|
|
54
|
+
return false;
|
|
55
|
+
if (targetGraphId === undefined)
|
|
56
|
+
return false;
|
|
57
|
+
if (edgeType === undefined)
|
|
58
|
+
return false;
|
|
59
|
+
// CALLS edges may collapse to `(caller, target)` granularity when
|
|
60
|
+
// the provider opts in (C# matches legacy DAG behavior this way).
|
|
61
|
+
// Write/read ACCESSES keep per-site dedup so multiple writes to the
|
|
62
|
+
// same field on different lines produce distinct edges.
|
|
63
|
+
const useCollapsed = collapseByCallerTarget && edgeType === 'CALLS';
|
|
64
|
+
const dedupKey = useCollapsed
|
|
65
|
+
? `${edgeType}:${callerGraphId}->${targetGraphId}`
|
|
66
|
+
: `${edgeType}:${callerGraphId}->${targetGraphId}:${site.atRange.startLine}:${site.atRange.startCol}`;
|
|
67
|
+
if (seen.has(dedupKey))
|
|
68
|
+
return false;
|
|
69
|
+
seen.add(dedupKey);
|
|
70
|
+
graph.addRelationship({
|
|
71
|
+
id: `rel:${dedupKey}`,
|
|
72
|
+
sourceId: callerGraphId,
|
|
73
|
+
targetId: targetGraphId,
|
|
74
|
+
type: edgeType,
|
|
75
|
+
confidence,
|
|
76
|
+
reason,
|
|
77
|
+
});
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scope-resolution → legacy graph-node ID bridging.
|
|
3
|
+
*
|
|
4
|
+
* Two functions:
|
|
5
|
+
* - `resolveDefGraphId` — turn a scope-resolution `SymbolDefinition`
|
|
6
|
+
* into the graph's node id for the corresponding legacy node.
|
|
7
|
+
* - `resolveCallerGraphId` — walk a scope chain from a reference
|
|
8
|
+
* site upward to find the enclosing function/method/class and
|
|
9
|
+
* return its graph-node id. Falls back to the File node for
|
|
10
|
+
* module-level calls so those still get an edge source.
|
|
11
|
+
*
|
|
12
|
+
* Next-consumer contract: language-agnostic. Any OO language with
|
|
13
|
+
* file-level module semantics (TypeScript, Java, Go, Kotlin) can
|
|
14
|
+
* reuse `resolveCallerGraphId` as-is. Languages with different
|
|
15
|
+
* top-level semantics (COBOL programs, Rust crate modules) may want
|
|
16
|
+
* a different file-level fallback — cross that bridge when they
|
|
17
|
+
* migrate.
|
|
18
|
+
*/
|
|
19
|
+
import type { NodeLabel, ScopeId, SymbolDefinition } from '../../../../_shared/index.js';
|
|
20
|
+
import type { ScopeResolutionIndexes } from '../../model/scope-resolution-indexes.js';
|
|
21
|
+
import { type GraphNodeLookup } from '../graph-bridge/node-lookup.js';
|
|
22
|
+
/**
|
|
23
|
+
* Look up a `SymbolDefinition` in the graph node lookup.
|
|
24
|
+
*
|
|
25
|
+
* Tries the type-prefixed fully-qualified key FIRST. That's the only
|
|
26
|
+
* correct key when:
|
|
27
|
+
* - Two classes in the same file define a method with the same
|
|
28
|
+
* simple name (`class User: def save` + `class Document: def save`).
|
|
29
|
+
* - A top-level function and a class method share a simple name
|
|
30
|
+
* (`def save` + `class User: def save` — the Function's qualifier
|
|
31
|
+
* is just `save`, which would alias the Method's simple-key slot
|
|
32
|
+
* without the type prefix).
|
|
33
|
+
*
|
|
34
|
+
* Falls back to the simple name for definitions whose qualifier the
|
|
35
|
+
* lookup didn't capture (rare, but keeps cross-file simple-name
|
|
36
|
+
* resolution working for languages that don't yet synthesize
|
|
37
|
+
* qualifiers).
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveDefGraphId(filePath: string, def: {
|
|
40
|
+
qualifiedName?: string;
|
|
41
|
+
type?: NodeLabel;
|
|
42
|
+
parameterTypes?: readonly string[];
|
|
43
|
+
}, nodeLookup: GraphNodeLookup): string | undefined;
|
|
44
|
+
/** Derive the simple (unqualified) name of a def from its `qualifiedName`. */
|
|
45
|
+
export declare function simpleQualifiedName(def: SymbolDefinition): string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Walk the scope chain from `startScope` upward looking for the first
|
|
48
|
+
* scope whose `ownedDefs` contains a Function/Method/Class — that's
|
|
49
|
+
* our caller anchor. Translate via `nodeLookup` to the graph-node ID.
|
|
50
|
+
*
|
|
51
|
+
* Module-level references (e.g. Python `u = models.User()` at top
|
|
52
|
+
* level) have no enclosing function/method/class. Fall back to the
|
|
53
|
+
* File node for the scope's filePath so those calls still get an
|
|
54
|
+
* edge source. Matches legacy DAG behavior where module-level CALLS
|
|
55
|
+
* edges originate from the file symbol.
|
|
56
|
+
*/
|
|
57
|
+
export declare function resolveCallerGraphId(startScope: ScopeId, scopes: ScopeResolutionIndexes, nodeLookup: GraphNodeLookup): string | undefined;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scope-resolution → legacy graph-node ID bridging.
|
|
3
|
+
*
|
|
4
|
+
* Two functions:
|
|
5
|
+
* - `resolveDefGraphId` — turn a scope-resolution `SymbolDefinition`
|
|
6
|
+
* into the graph's node id for the corresponding legacy node.
|
|
7
|
+
* - `resolveCallerGraphId` — walk a scope chain from a reference
|
|
8
|
+
* site upward to find the enclosing function/method/class and
|
|
9
|
+
* return its graph-node id. Falls back to the File node for
|
|
10
|
+
* module-level calls so those still get an edge source.
|
|
11
|
+
*
|
|
12
|
+
* Next-consumer contract: language-agnostic. Any OO language with
|
|
13
|
+
* file-level module semantics (TypeScript, Java, Go, Kotlin) can
|
|
14
|
+
* reuse `resolveCallerGraphId` as-is. Languages with different
|
|
15
|
+
* top-level semantics (COBOL programs, Rust crate modules) may want
|
|
16
|
+
* a different file-level fallback — cross that bridge when they
|
|
17
|
+
* migrate.
|
|
18
|
+
*/
|
|
19
|
+
import { generateId } from '../../../../lib/utils.js';
|
|
20
|
+
import { qualifiedKey, simpleKey } from '../graph-bridge/node-lookup.js';
|
|
21
|
+
/**
|
|
22
|
+
* Labels that may legitimately ANCHOR a CALLS/ACCESSES edge as the
|
|
23
|
+
* source ("caller"). A Variable / Property can be the TARGET of an
|
|
24
|
+
* edge (e.g., a write-access to `user.name`), but it cannot be a
|
|
25
|
+
* caller — variables don't execute code, so attributing a call to a
|
|
26
|
+
* sibling Variable in the same scope produces nonsense edges like
|
|
27
|
+
* `Variable:create → Function:create` (which the simpleKey fallback
|
|
28
|
+
* in `resolveDefGraphId` then silently rewrites to
|
|
29
|
+
* `Function:create → Function:create`, a self-loop that doesn't exist
|
|
30
|
+
* in the source).
|
|
31
|
+
*
|
|
32
|
+
* Module-level call expressions inside a `const X = expr(args)`
|
|
33
|
+
* declaration are the canonical case where this used to fail: the
|
|
34
|
+
* walk-up over module scope's ownedDefs (only Variables) would land
|
|
35
|
+
* on the FIRST Variable, get name-aliased to its sibling Function
|
|
36
|
+
* with the same simple name, and emit a self-CALLS. With this label
|
|
37
|
+
* restricted to function/class-likes, those calls correctly fall
|
|
38
|
+
* through to the File-node fallback at the bottom of the walk.
|
|
39
|
+
*/
|
|
40
|
+
function isCallerAnchorLabel(label) {
|
|
41
|
+
return (label === 'Function' ||
|
|
42
|
+
label === 'Method' ||
|
|
43
|
+
label === 'Constructor' ||
|
|
44
|
+
label === 'Class' ||
|
|
45
|
+
label === 'Interface' ||
|
|
46
|
+
label === 'Struct' ||
|
|
47
|
+
label === 'Enum');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Look up a `SymbolDefinition` in the graph node lookup.
|
|
51
|
+
*
|
|
52
|
+
* Tries the type-prefixed fully-qualified key FIRST. That's the only
|
|
53
|
+
* correct key when:
|
|
54
|
+
* - Two classes in the same file define a method with the same
|
|
55
|
+
* simple name (`class User: def save` + `class Document: def save`).
|
|
56
|
+
* - A top-level function and a class method share a simple name
|
|
57
|
+
* (`def save` + `class User: def save` — the Function's qualifier
|
|
58
|
+
* is just `save`, which would alias the Method's simple-key slot
|
|
59
|
+
* without the type prefix).
|
|
60
|
+
*
|
|
61
|
+
* Falls back to the simple name for definitions whose qualifier the
|
|
62
|
+
* lookup didn't capture (rare, but keeps cross-file simple-name
|
|
63
|
+
* resolution working for languages that don't yet synthesize
|
|
64
|
+
* qualifiers).
|
|
65
|
+
*/
|
|
66
|
+
export function resolveDefGraphId(filePath, def, nodeLookup) {
|
|
67
|
+
const qn = def.qualifiedName;
|
|
68
|
+
if (qn === undefined || qn.length === 0)
|
|
69
|
+
return undefined;
|
|
70
|
+
if (def.type !== undefined) {
|
|
71
|
+
// Overload disambiguation: when the def carries parameter types,
|
|
72
|
+
// try the parameter-typed key first so same-name same-arity
|
|
73
|
+
// overloads route to their distinct graph nodes.
|
|
74
|
+
if (def.type === 'Method' &&
|
|
75
|
+
def.parameterTypes !== undefined &&
|
|
76
|
+
def.parameterTypes.length > 0) {
|
|
77
|
+
const pKey = qualifiedKey(filePath, def.type, `${qn}~${def.parameterTypes.join(',')}`);
|
|
78
|
+
const pHit = nodeLookup.get(pKey);
|
|
79
|
+
if (pHit !== undefined)
|
|
80
|
+
return pHit;
|
|
81
|
+
}
|
|
82
|
+
const qualifiedHit = nodeLookup.get(qualifiedKey(filePath, def.type, qn));
|
|
83
|
+
if (qualifiedHit !== undefined)
|
|
84
|
+
return qualifiedHit;
|
|
85
|
+
}
|
|
86
|
+
const simpleName = qn.lastIndexOf('.') === -1 ? qn : qn.slice(qn.lastIndexOf('.') + 1);
|
|
87
|
+
return nodeLookup.get(simpleKey(filePath, simpleName));
|
|
88
|
+
}
|
|
89
|
+
/** Derive the simple (unqualified) name of a def from its `qualifiedName`. */
|
|
90
|
+
export function simpleQualifiedName(def) {
|
|
91
|
+
const q = def.qualifiedName;
|
|
92
|
+
if (q === undefined || q.length === 0)
|
|
93
|
+
return undefined;
|
|
94
|
+
const dot = q.lastIndexOf('.');
|
|
95
|
+
return dot === -1 ? q : q.slice(dot + 1);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Walk the scope chain from `startScope` upward looking for the first
|
|
99
|
+
* scope whose `ownedDefs` contains a Function/Method/Class — that's
|
|
100
|
+
* our caller anchor. Translate via `nodeLookup` to the graph-node ID.
|
|
101
|
+
*
|
|
102
|
+
* Module-level references (e.g. Python `u = models.User()` at top
|
|
103
|
+
* level) have no enclosing function/method/class. Fall back to the
|
|
104
|
+
* File node for the scope's filePath so those calls still get an
|
|
105
|
+
* edge source. Matches legacy DAG behavior where module-level CALLS
|
|
106
|
+
* edges originate from the file symbol.
|
|
107
|
+
*/
|
|
108
|
+
export function resolveCallerGraphId(startScope, scopes, nodeLookup) {
|
|
109
|
+
let current = startScope;
|
|
110
|
+
const visited = new Set();
|
|
111
|
+
let lastFilePath;
|
|
112
|
+
while (current !== null) {
|
|
113
|
+
if (visited.has(current))
|
|
114
|
+
return undefined;
|
|
115
|
+
visited.add(current);
|
|
116
|
+
const scope = scopes.scopeTree.getScope(current);
|
|
117
|
+
if (scope === undefined)
|
|
118
|
+
break;
|
|
119
|
+
lastFilePath = scope.filePath;
|
|
120
|
+
// Prefer Function/Method/Constructor anchors; fall back to
|
|
121
|
+
// Class/Interface/Struct/Enum. Variable/Property are NOT valid
|
|
122
|
+
// caller anchors — see `isCallerAnchorLabel` for why.
|
|
123
|
+
const fnDef = scope.ownedDefs.find((d) => d.type === 'Function' || d.type === 'Method' || d.type === 'Constructor');
|
|
124
|
+
if (fnDef !== undefined) {
|
|
125
|
+
const id = resolveDefGraphId(scope.filePath, fnDef, nodeLookup);
|
|
126
|
+
if (id !== undefined)
|
|
127
|
+
return id;
|
|
128
|
+
}
|
|
129
|
+
const classDef = scope.ownedDefs.find((d) => isCallerAnchorLabel(d.type));
|
|
130
|
+
if (classDef !== undefined) {
|
|
131
|
+
const id = resolveDefGraphId(scope.filePath, classDef, nodeLookup);
|
|
132
|
+
if (id !== undefined)
|
|
133
|
+
return id;
|
|
134
|
+
}
|
|
135
|
+
current = scope.parent;
|
|
136
|
+
}
|
|
137
|
+
// Module-level calls — fall back to the File node for the scope's filePath.
|
|
138
|
+
if (lastFilePath !== undefined) {
|
|
139
|
+
return generateId('File', lastFilePath);
|
|
140
|
+
}
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File→File IMPORTS edge emission from a finalized `ImportEdge` map.
|
|
3
|
+
*
|
|
4
|
+
* Deduplicates by `(sourceFile, targetFile)` so multi-symbol imports
|
|
5
|
+
* from the same module collapse to a single edge — matching the
|
|
6
|
+
* legacy schema.
|
|
7
|
+
*
|
|
8
|
+
* Next-consumer contract: language-agnostic. Any provider with a
|
|
9
|
+
* scope-resolution ImportEdge stream emits File→File edges via this
|
|
10
|
+
* single function. The `reason` defaults to
|
|
11
|
+
* `'scope-resolution: import'`; provider may override if downstream
|
|
12
|
+
* filters on reason.
|
|
13
|
+
*/
|
|
14
|
+
import type { ImportEdge, ScopeId } from '../../../../_shared/index.js';
|
|
15
|
+
import type { KnowledgeGraph } from '../../../graph/types.js';
|
|
16
|
+
import type { ScopeResolutionIndexes } from '../../model/scope-resolution-indexes.js';
|
|
17
|
+
export declare function emitImportEdges(graph: KnowledgeGraph, imports: ReadonlyMap<ScopeId, readonly ImportEdge[]>, scopeTree: ScopeResolutionIndexes['scopeTree'], reason?: string): number;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File→File IMPORTS edge emission from a finalized `ImportEdge` map.
|
|
3
|
+
*
|
|
4
|
+
* Deduplicates by `(sourceFile, targetFile)` so multi-symbol imports
|
|
5
|
+
* from the same module collapse to a single edge — matching the
|
|
6
|
+
* legacy schema.
|
|
7
|
+
*
|
|
8
|
+
* Next-consumer contract: language-agnostic. Any provider with a
|
|
9
|
+
* scope-resolution ImportEdge stream emits File→File edges via this
|
|
10
|
+
* single function. The `reason` defaults to
|
|
11
|
+
* `'scope-resolution: import'`; provider may override if downstream
|
|
12
|
+
* filters on reason.
|
|
13
|
+
*/
|
|
14
|
+
import { generateId } from '../../../../lib/utils.js';
|
|
15
|
+
export function emitImportEdges(graph, imports, scopeTree, reason = 'scope-resolution: import') {
|
|
16
|
+
const seen = new Set();
|
|
17
|
+
let emitted = 0;
|
|
18
|
+
for (const [scopeId, edges] of imports) {
|
|
19
|
+
const scope = scopeTree.getScope(scopeId);
|
|
20
|
+
if (scope === undefined)
|
|
21
|
+
continue;
|
|
22
|
+
const sourceFile = scope.filePath;
|
|
23
|
+
for (const edge of edges) {
|
|
24
|
+
if (edge.targetFile === null)
|
|
25
|
+
continue;
|
|
26
|
+
if (edge.targetFile === sourceFile)
|
|
27
|
+
continue;
|
|
28
|
+
const dedupKey = `${sourceFile}->${edge.targetFile}`;
|
|
29
|
+
if (seen.has(dedupKey))
|
|
30
|
+
continue;
|
|
31
|
+
seen.add(dedupKey);
|
|
32
|
+
const sourceId = generateId('File', sourceFile);
|
|
33
|
+
const targetId = generateId('File', edge.targetFile);
|
|
34
|
+
graph.addRelationship({
|
|
35
|
+
id: generateId('IMPORTS', dedupKey),
|
|
36
|
+
sourceId,
|
|
37
|
+
targetId,
|
|
38
|
+
type: 'IMPORTS',
|
|
39
|
+
confidence: 1.0,
|
|
40
|
+
reason,
|
|
41
|
+
});
|
|
42
|
+
emitted++;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return emitted;
|
|
46
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrap a `DefId → ancestor DefId[]` MRO map in the shared
|
|
3
|
+
* `MethodDispatchIndex` shape so it slots into
|
|
4
|
+
* `ScopeResolutionIndexes.methodDispatch`.
|
|
5
|
+
*
|
|
6
|
+
* `finalizeScopeModel` builds an empty `MethodDispatchIndex` by design
|
|
7
|
+
* (per the comment in `finalize-orchestrator.ts`). Per-language
|
|
8
|
+
* providers compute MRO their own way (Python C3 walk, Java class
|
|
9
|
+
* hierarchy, Ruby mixin chains, etc.) and use this bridge to plug the
|
|
10
|
+
* result back into the shared index shape.
|
|
11
|
+
*
|
|
12
|
+
* Next-consumer contract: any language that computes its own MRO map
|
|
13
|
+
* calls `buildPopulatedMethodDispatch(mroByOwnerDefId)` and assigns the
|
|
14
|
+
* result to `indexes.methodDispatch`. Interface-implementer tracking
|
|
15
|
+
* (`implsByInterfaceDefId`) stays empty in V1 — providers that need it
|
|
16
|
+
* can extend the return shape without breaking existing consumers.
|
|
17
|
+
*/
|
|
18
|
+
import type { MethodDispatchIndex } from '../../../../_shared/index.js';
|
|
19
|
+
export declare function buildPopulatedMethodDispatch(mroByDefId: ReadonlyMap<string, readonly string[]>, extendsOnlyMroByDefId?: ReadonlyMap<string, readonly string[]>): MethodDispatchIndex;
|