@codragraph/cli 1.6.2
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 +341 -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 +55 -0
- package/dist/_shared/index.d.ts.map +1 -0
- package/dist/_shared/index.js +39 -0
- package/dist/_shared/index.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 +139 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.js +479 -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 +80 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.js +79 -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 +332 -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 +61 -0
- package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/scope-tree.js +186 -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 +356 -0
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/types.js +17 -0
- package/dist/_shared/scope-resolution/types.js.map +1 -0
- package/dist/cli/ai-context.d.ts +27 -0
- package/dist/cli/ai-context.js +270 -0
- package/dist/cli/analyze.d.ts +43 -0
- package/dist/cli/analyze.js +312 -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 +78 -0
- package/dist/cli/config.d.ts +27 -0
- package/dist/cli/config.js +106 -0
- package/dist/cli/eval-server.d.ts +37 -0
- package/dist/cli/eval-server.js +398 -0
- package/dist/cli/graphstore.d.ts +40 -0
- package/dist/cli/graphstore.js +639 -0
- package/dist/cli/group.d.ts +2 -0
- package/dist/cli/group.js +306 -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 +236 -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 +8 -0
- package/dist/cli/mcp.js +36 -0
- package/dist/cli/remove.d.ts +30 -0
- package/dist/cli/remove.js +99 -0
- package/dist/cli/serve.d.ts +4 -0
- package/dist/cli/serve.js +37 -0
- package/dist/cli/setup.d.ts +8 -0
- package/dist/cli/setup.js +543 -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 +168 -0
- package/dist/cli/wiki.d.ts +21 -0
- package/dist/cli/wiki.js +579 -0
- package/dist/config/ignore-service.d.ts +35 -0
- package/dist/config/ignore-service.js +436 -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 +252 -0
- package/dist/core/embeddings/ast-utils.d.ts +22 -0
- package/dist/core/embeddings/ast-utils.js +105 -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/embedder.d.ts +65 -0
- package/dist/core/embeddings/embedder.js +320 -0
- package/dist/core/embeddings/embedding-pipeline.d.ts +62 -0
- package/dist/core/embeddings/embedding-pipeline.js +486 -0
- package/dist/core/embeddings/http-client.d.ts +31 -0
- package/dist/core/embeddings/http-client.js +179 -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 +207 -0
- package/dist/core/embeddings/types.js +200 -0
- package/dist/core/git-staleness.d.ts +31 -0
- package/dist/core/git-staleness.js +137 -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/graphstore/index.d.ts +46 -0
- package/dist/core/graphstore/index.js +80 -0
- package/dist/core/graphstore/lbug-row-source.d.ts +19 -0
- package/dist/core/graphstore/lbug-row-source.js +141 -0
- package/dist/core/group/bridge-db.d.ts +82 -0
- package/dist/core/group/bridge-db.js +460 -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 +100 -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 +41 -0
- package/dist/core/group/cross-impact.js +441 -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/grpc-extractor.d.ts +25 -0
- package/dist/core/group/extractors/grpc-extractor.js +401 -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 +133 -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 +421 -0
- package/dist/core/group/extractors/manifest-extractor.d.ts +54 -0
- package/dist/core/group/extractors/manifest-extractor.js +292 -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 +94 -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 +198 -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 +55 -0
- package/dist/core/group/service.js +394 -0
- package/dist/core/group/storage.d.ts +9 -0
- package/dist/core/group/storage.js +91 -0
- package/dist/core/group/sync.d.ts +21 -0
- package/dist/core/group/sync.js +196 -0
- package/dist/core/group/types.d.ts +160 -0
- package/dist/core/group/types.js +1 -0
- package/dist/core/ingestion/ast-cache.d.ts +26 -0
- package/dist/core/ingestion/ast-cache.js +47 -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 +2639 -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 +168 -0
- package/dist/core/ingestion/cobol/cobol-copy-expander.d.ts +57 -0
- package/dist/core/ingestion/cobol/cobol-copy-expander.js +392 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.d.ts +210 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.js +1715 -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 +318 -0
- package/dist/core/ingestion/constants.d.ts +16 -0
- package/dist/core/ingestion/constants.js +16 -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 +58 -0
- package/dist/core/ingestion/entry-point-scoring.js +380 -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 +116 -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 +91 -0
- package/dist/core/ingestion/finalize-orchestrator.d.ts +63 -0
- package/dist/core/ingestion/finalize-orchestrator.js +139 -0
- package/dist/core/ingestion/framework-detection.d.ts +150 -0
- package/dist/core/ingestion/framework-detection.js +786 -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 +360 -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 +373 -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 +30 -0
- package/dist/core/ingestion/import-resolvers/standard.js +142 -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 +149 -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 +181 -0
- package/dist/core/ingestion/language-provider.d.ts +410 -0
- package/dist/core/ingestion/language-provider.js +24 -0
- package/dist/core/ingestion/languages/c-cpp.d.ts +12 -0
- package/dist/core/ingestion/languages/c-cpp.js +329 -0
- package/dist/core/ingestion/languages/cobol.d.ts +1 -0
- package/dist/core/ingestion/languages/cobol.js +26 -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 +249 -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 +50 -0
- package/dist/core/ingestion/languages/csharp/namespace-siblings.js +374 -0
- package/dist/core/ingestion/languages/csharp/query.d.ts +35 -0
- package/dist/core/ingestion/languages/csharp/query.js +515 -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 +152 -0
- package/dist/core/ingestion/languages/dart.d.ts +12 -0
- package/dist/core/ingestion/languages/dart.js +102 -0
- package/dist/core/ingestion/languages/go.d.ts +11 -0
- package/dist/core/ingestion/languages/go.js +44 -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.d.ts +9 -0
- package/dist/core/ingestion/languages/java.js +44 -0
- package/dist/core/ingestion/languages/kotlin.d.ts +9 -0
- package/dist/core/ingestion/languages/kotlin.js +123 -0
- package/dist/core/ingestion/languages/php.d.ts +8 -0
- package/dist/core/ingestion/languages/php.js +240 -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 +106 -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 +99 -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 +23 -0
- package/dist/core/ingestion/languages/python/simple-hooks.js +35 -0
- package/dist/core/ingestion/languages/python.d.ts +12 -0
- package/dist/core/ingestion/languages/python.js +91 -0
- package/dist/core/ingestion/languages/ruby.d.ts +9 -0
- package/dist/core/ingestion/languages/ruby.js +210 -0
- package/dist/core/ingestion/languages/rust.d.ts +12 -0
- package/dist/core/ingestion/languages/rust.js +132 -0
- package/dist/core/ingestion/languages/swift.d.ts +12 -0
- package/dist/core/ingestion/languages/swift.js +244 -0
- package/dist/core/ingestion/languages/typescript.d.ts +11 -0
- package/dist/core/ingestion/languages/typescript.js +184 -0
- package/dist/core/ingestion/languages/vue.d.ts +13 -0
- package/dist/core/ingestion/languages/vue.js +77 -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 +277 -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 +204 -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 +381 -0
- package/dist/core/ingestion/model/scope-resolution-indexes.d.ts +59 -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 +40 -0
- package/dist/core/ingestion/parsing-processor.js +576 -0
- package/dist/core/ingestion/pipeline-phases/cobol.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/cobol.js +45 -0
- package/dist/core/ingestion/pipeline-phases/communities.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/communities.js +62 -0
- package/dist/core/ingestion/pipeline-phases/cross-file-impl.d.ts +17 -0
- package/dist/core/ingestion/pipeline-phases/cross-file-impl.js +156 -0
- package/dist/core/ingestion/pipeline-phases/cross-file.d.ts +37 -0
- package/dist/core/ingestion/pipeline-phases/cross-file.js +63 -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 +33 -0
- package/dist/core/ingestion/pipeline-phases/mro.d.ts +18 -0
- package/dist/core/ingestion/pipeline-phases/mro.js +36 -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 +74 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +58 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +458 -0
- package/dist/core/ingestion/pipeline-phases/parse.d.ts +74 -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 +143 -0
- package/dist/core/ingestion/pipeline-phases/routes.d.ts +21 -0
- package/dist/core/ingestion/pipeline-phases/routes.js +243 -0
- package/dist/core/ingestion/pipeline-phases/runner.d.ts +22 -0
- package/dist/core/ingestion/pipeline-phases/runner.js +203 -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 +20 -0
- package/dist/core/ingestion/pipeline-phases/tools.js +79 -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 +36 -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 +317 -0
- package/dist/core/ingestion/registry-primary-flag.d.ts +86 -0
- package/dist/core/ingestion/registry-primary-flag.js +111 -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 +32 -0
- package/dist/core/ingestion/scope-extractor-bridge.js +44 -0
- package/dist/core/ingestion/scope-extractor.d.ts +86 -0
- package/dist/core/ingestion/scope-extractor.js +758 -0
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +372 -0
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +212 -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 +112 -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 +30 -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 +113 -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 +198 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +27 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +131 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-return-types.d.ts +48 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-return-types.js +130 -0
- package/dist/core/ingestion/scope-resolution/passes/mro.d.ts +42 -0
- package/dist/core/ingestion/scope-resolution/passes/mro.js +99 -0
- package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.d.ts +26 -0
- package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.js +61 -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 +327 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +47 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.js +130 -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 +21 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +66 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +157 -0
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +36 -0
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +52 -0
- package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +127 -0
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +349 -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 +1338 -0
- package/dist/core/ingestion/type-env.d.ts +86 -0
- package/dist/core/ingestion/type-env.js +1128 -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 +484 -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 +89 -0
- package/dist/core/ingestion/utils/ast-helpers.js +535 -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 +10 -0
- package/dist/core/ingestion/utils/env.js +10 -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 +52 -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 +94 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +198 -0
- package/dist/core/ingestion/workers/parse-worker.js +1928 -0
- package/dist/core/ingestion/workers/worker-pool.d.ts +16 -0
- package/dist/core/ingestion/workers/worker-pool.js +126 -0
- package/dist/core/lbug/csv-generator.d.ts +33 -0
- package/dist/core/lbug/csv-generator.js +459 -0
- package/dist/core/lbug/lbug-adapter.d.ts +173 -0
- package/dist/core/lbug/lbug-adapter.js +1188 -0
- package/dist/core/lbug/pool-adapter.d.ts +93 -0
- package/dist/core/lbug/pool-adapter.js +543 -0
- package/dist/core/lbug/schema.d.ts +62 -0
- package/dist/core/lbug/schema.js +484 -0
- package/dist/core/run-analyze.d.ts +72 -0
- package/dist/core/run-analyze.js +315 -0
- package/dist/core/search/bm25-index.d.ts +41 -0
- package/dist/core/search/bm25-index.js +209 -0
- package/dist/core/search/hybrid-search.d.ts +49 -0
- package/dist/core/search/hybrid-search.js +118 -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 +84 -0
- package/dist/core/wiki/cursor-client.d.ts +31 -0
- package/dist/core/wiki/cursor-client.js +122 -0
- package/dist/core/wiki/generator.d.ts +129 -0
- package/dist/core/wiki/generator.js +898 -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 +303 -0
- package/dist/core/wiki/llm-client.d.ts +63 -0
- package/dist/core/wiki/llm-client.js +234 -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 +200 -0
- package/dist/mcp/core/embedder.d.ts +27 -0
- package/dist/mcp/core/embedder.js +122 -0
- package/dist/mcp/core/lbug-adapter.d.ts +5 -0
- package/dist/mcp/core/lbug-adapter.js +5 -0
- package/dist/mcp/local/graphstore-handler.d.ts +214 -0
- package/dist/mcp/local/graphstore-handler.js +272 -0
- package/dist/mcp/local/local-backend.d.ts +347 -0
- package/dist/mcp/local/local-backend.js +3218 -0
- package/dist/mcp/resources.d.ts +62 -0
- package/dist/mcp/resources.js +696 -0
- package/dist/mcp/server.d.ts +23 -0
- package/dist/mcp/server.js +533 -0
- package/dist/mcp/staleness.d.ts +5 -0
- package/dist/mcp/staleness.js +4 -0
- package/dist/mcp/tools.d.ts +27 -0
- package/dist/mcp/tools.js +823 -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 +47 -0
- package/dist/server/api.js +1727 -0
- package/dist/server/git-clone.d.ts +26 -0
- package/dist/server/git-clone.js +184 -0
- package/dist/server/mcp-http.d.ts +13 -0
- package/dist/server/mcp-http.js +100 -0
- package/dist/storage/git.d.ts +80 -0
- package/dist/storage/git.js +190 -0
- package/dist/storage/repo-manager.d.ts +458 -0
- package/dist/storage/repo-manager.js +766 -0
- package/dist/types/pipeline.d.ts +18 -0
- package/dist/types/pipeline.js +1 -0
- package/hooks/claude/codragraph-hook.cjs +268 -0
- package/hooks/claude/pre-tool-use.sh +79 -0
- package/hooks/claude/session-start.sh +42 -0
- package/package.json +127 -0
- package/scripts/bench-scope-resolution.ts +134 -0
- package/scripts/build-tree-sitter-proto.cjs +82 -0
- package/scripts/build.js +90 -0
- package/scripts/ci-list-migrated-languages.ts +24 -0
- package/scripts/patch-tree-sitter-swift.cjs +78 -0
- package/skills/codragraph-cli.md +82 -0
- package/skills/codragraph-debugging.md +89 -0
- package/skills/codragraph-exploring.md +78 -0
- package/skills/codragraph-guide.md +64 -0
- package/skills/codragraph-impact-analysis.md +97 -0
- package/skills/codragraph-pr-review.md +163 -0
- package/skills/codragraph-refactoring.md +121 -0
- package/vendor/leiden/index.cjs +355 -0
- package/vendor/leiden/utils.cjs +392 -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
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the language-agnostic heritage extraction pipeline.
|
|
3
|
+
*
|
|
4
|
+
* Follows the same pattern as call-types.ts, variable-types.ts, and
|
|
5
|
+
* method-types.ts: defines the domain interfaces consumed by
|
|
6
|
+
* createHeritageExtractor() and the per-language configs.
|
|
7
|
+
*
|
|
8
|
+
* Heritage extraction handles extends/implements/trait-impl captures from
|
|
9
|
+
* tree-sitter queries, plus call-based heritage for languages like Ruby
|
|
10
|
+
* (include/extend/prepend expressed as method calls).
|
|
11
|
+
*/
|
|
12
|
+
import type { SupportedLanguages } from '../../_shared/index.js';
|
|
13
|
+
import type { SyntaxNode } from './utils/ast-helpers.js';
|
|
14
|
+
import type { CaptureMap } from './language-provider.js';
|
|
15
|
+
/**
|
|
16
|
+
* Per-match heritage extraction result. The parse worker adds filePath to
|
|
17
|
+
* produce the final {@link ExtractedHeritage} that enters the resolution
|
|
18
|
+
* pipeline (heritage-processor.ts / heritage-map.ts).
|
|
19
|
+
*/
|
|
20
|
+
export interface HeritageInfo {
|
|
21
|
+
className: string;
|
|
22
|
+
parentName: string;
|
|
23
|
+
/** 'extends' | 'implements' | 'trait-impl' | 'include' | 'extend' | 'prepend' */
|
|
24
|
+
kind: string;
|
|
25
|
+
}
|
|
26
|
+
export interface HeritageExtractorContext {
|
|
27
|
+
filePath: string;
|
|
28
|
+
language: SupportedLanguages;
|
|
29
|
+
}
|
|
30
|
+
export interface HeritageExtractor {
|
|
31
|
+
readonly language: SupportedLanguages;
|
|
32
|
+
/**
|
|
33
|
+
* Extract heritage records from tree-sitter @heritage.* captures.
|
|
34
|
+
*
|
|
35
|
+
* @param captureMap The capture map from a single tree-sitter match
|
|
36
|
+
* @param context File path and language context
|
|
37
|
+
* @returns Array of heritage records (may be empty if captures don't match)
|
|
38
|
+
*/
|
|
39
|
+
extract(captureMap: CaptureMap, context: HeritageExtractorContext): HeritageInfo[];
|
|
40
|
+
/**
|
|
41
|
+
* Extract heritage from a call node (for languages where heritage is
|
|
42
|
+
* expressed as method calls, e.g., Ruby include/extend/prepend).
|
|
43
|
+
*
|
|
44
|
+
* @param calledName The method name (e.g. 'include', 'extend', 'prepend')
|
|
45
|
+
* @param callNode The tree-sitter call AST node
|
|
46
|
+
* @param context File path and language context
|
|
47
|
+
* @returns Heritage records if the call is heritage-related, or null to
|
|
48
|
+
* fall through to the call router / normal call handling.
|
|
49
|
+
*/
|
|
50
|
+
extractFromCall?(calledName: string, callNode: SyntaxNode, context: HeritageExtractorContext): HeritageInfo[] | null;
|
|
51
|
+
}
|
|
52
|
+
export interface HeritageExtractionConfig {
|
|
53
|
+
language: SupportedLanguages;
|
|
54
|
+
/**
|
|
55
|
+
* Called for heritage.extends captures. Return true to skip this extends
|
|
56
|
+
* capture. Used by Go to skip named struct fields that match the
|
|
57
|
+
* field_declaration pattern but are not anonymous embeddings.
|
|
58
|
+
*
|
|
59
|
+
* Default: never skip (all extends captures are valid).
|
|
60
|
+
*/
|
|
61
|
+
shouldSkipExtends?: (extendsNode: SyntaxNode) => boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Call-based heritage extraction for languages where heritage is expressed
|
|
64
|
+
* as method calls (e.g., Ruby include/extend/prepend).
|
|
65
|
+
*
|
|
66
|
+
* callNames: set of method names that trigger heritage extraction.
|
|
67
|
+
* extract: extract heritage items from the call node + method name.
|
|
68
|
+
*/
|
|
69
|
+
callBasedHeritage?: {
|
|
70
|
+
readonly callNames: ReadonlySet<string>;
|
|
71
|
+
extract(calledName: string, callNode: SyntaxNode, filePath: string): HeritageInfo[];
|
|
72
|
+
};
|
|
73
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { KnowledgeGraph } from '../graph/types.js';
|
|
2
|
+
import { ASTCache } from './ast-cache.js';
|
|
3
|
+
import type { LanguageProvider } from './language-provider.js';
|
|
4
|
+
import type { ExtractedImport } from './workers/parse-worker.js';
|
|
5
|
+
import type { ResolutionContext } from './model/resolution-context.js';
|
|
6
|
+
import type { ImportResolutionContext } from './import-resolvers/types.js';
|
|
7
|
+
import type { SyntaxNode } from './utils/ast-helpers.js';
|
|
8
|
+
export type ImportMap = Map<string, Set<string>>;
|
|
9
|
+
export type PackageMap = Map<string, Set<string>>;
|
|
10
|
+
export declare function buildImportResolutionContext(allPaths: string[]): ImportResolutionContext;
|
|
11
|
+
/**
|
|
12
|
+
* Clean and preprocess a raw import source text into a resolved import path.
|
|
13
|
+
* Strips quotes/angle brackets (universal) and applies provider-specific
|
|
14
|
+
* transformations (currently only Kotlin wildcard import detection).
|
|
15
|
+
*/
|
|
16
|
+
export declare function preprocessImportPath(sourceText: string, importNode: SyntaxNode, provider: LanguageProvider): string | null;
|
|
17
|
+
export declare const processImports: (graph: KnowledgeGraph, files: {
|
|
18
|
+
path: string;
|
|
19
|
+
content: string;
|
|
20
|
+
}[], astCache: ASTCache, ctx: ResolutionContext, onProgress?: (current: number, total: number) => void, repoRoot?: string, allPaths?: string[]) => Promise<void>;
|
|
21
|
+
export declare const processImportsFromExtracted: (graph: KnowledgeGraph, files: {
|
|
22
|
+
path: string;
|
|
23
|
+
}[], extractedImports: ExtractedImport[], ctx: ResolutionContext, onProgress?: (current: number, total: number) => void, repoRoot?: string, prebuiltCtx?: ImportResolutionContext) => Promise<void>;
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
import Parser from 'tree-sitter';
|
|
2
|
+
import { isLanguageAvailable, loadParser, loadLanguage } from '../tree-sitter/parser-loader.js';
|
|
3
|
+
import { getProvider, getProviderForFile, providersWithImplicitWiring } from './languages/index.js';
|
|
4
|
+
import { generateId } from '../../lib/utils.js';
|
|
5
|
+
import { getLanguageFromFilename } from '../../_shared/index.js';
|
|
6
|
+
import { isVerboseIngestionEnabled } from './utils/verbose.js';
|
|
7
|
+
import { yieldToEventLoop } from './utils/event-loop.js';
|
|
8
|
+
import { getTreeSitterBufferSize } from './constants.js';
|
|
9
|
+
import { loadImportConfigs } from './language-config.js';
|
|
10
|
+
import { buildSuffixIndex } from './import-resolvers/utils.js';
|
|
11
|
+
import { isDev } from './utils/env.js';
|
|
12
|
+
import { isRegistryPrimary } from './registry-primary-flag.js';
|
|
13
|
+
/** Group files by provider (only those with implicit import wiring), then call each wirer
|
|
14
|
+
* with its own language's files. O(n) over files, O(1) per provider lookup. */
|
|
15
|
+
function wireImplicitImports(files, importMap, addImportEdge, projectConfig) {
|
|
16
|
+
if (providersWithImplicitWiring.length === 0)
|
|
17
|
+
return;
|
|
18
|
+
const grouped = new Map();
|
|
19
|
+
for (const file of files) {
|
|
20
|
+
const provider = getProviderForFile(file);
|
|
21
|
+
if (!provider?.implicitImportWirer)
|
|
22
|
+
continue;
|
|
23
|
+
let list = grouped.get(provider);
|
|
24
|
+
if (!list) {
|
|
25
|
+
list = [];
|
|
26
|
+
grouped.set(provider, list);
|
|
27
|
+
}
|
|
28
|
+
list.push(file);
|
|
29
|
+
}
|
|
30
|
+
for (const [provider, langFiles] of grouped) {
|
|
31
|
+
if (langFiles.length > 1) {
|
|
32
|
+
provider.implicitImportWirer(langFiles, importMap, addImportEdge, projectConfig);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// ImportResolutionContext is defined in ./import-resolvers/types.ts — re-exported here for consumers.
|
|
37
|
+
export function buildImportResolutionContext(allPaths) {
|
|
38
|
+
const allFileList = allPaths;
|
|
39
|
+
const normalizedFileList = allFileList.map((p) => p.replace(/\\/g, '/'));
|
|
40
|
+
const allFilePaths = new Set(allFileList);
|
|
41
|
+
const index = buildSuffixIndex(normalizedFileList, allFileList);
|
|
42
|
+
return { allFilePaths, allFileList, normalizedFileList, index, resolveCache: new Map() };
|
|
43
|
+
}
|
|
44
|
+
// Config loaders extracted to ./language-config.ts (Phase 2 refactor)
|
|
45
|
+
// Resolver types are in ./import-resolvers/types.ts; named binding types in ./named-bindings/types.ts
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// Import path preprocessing
|
|
48
|
+
// ============================================================================
|
|
49
|
+
/**
|
|
50
|
+
* Clean and preprocess a raw import source text into a resolved import path.
|
|
51
|
+
* Strips quotes/angle brackets (universal) and applies provider-specific
|
|
52
|
+
* transformations (currently only Kotlin wildcard import detection).
|
|
53
|
+
*/
|
|
54
|
+
export function preprocessImportPath(sourceText, importNode, provider) {
|
|
55
|
+
const cleaned = sourceText.replace(/['"<>]/g, '');
|
|
56
|
+
// Defense-in-depth: reject null bytes and control characters (matches Ruby call-routing pattern)
|
|
57
|
+
if (!cleaned || cleaned.length > 2048 || /[\x00-\x1f]/.test(cleaned))
|
|
58
|
+
return null;
|
|
59
|
+
if (provider.importPathPreprocessor) {
|
|
60
|
+
return provider.importPathPreprocessor(cleaned, importNode);
|
|
61
|
+
}
|
|
62
|
+
return cleaned;
|
|
63
|
+
}
|
|
64
|
+
/** Create IMPORTS edge helpers that share a resolved-count tracker. */
|
|
65
|
+
function createImportEdgeHelpers(graph, importMap) {
|
|
66
|
+
let totalImportsResolved = 0;
|
|
67
|
+
const addImportGraphEdge = (filePath, resolvedPath) => {
|
|
68
|
+
const language = getLanguageFromFilename(filePath);
|
|
69
|
+
if (language !== null && isRegistryPrimary(language))
|
|
70
|
+
return;
|
|
71
|
+
const sourceId = generateId('File', filePath);
|
|
72
|
+
const targetId = generateId('File', resolvedPath);
|
|
73
|
+
const relId = generateId('IMPORTS', `${filePath}->${resolvedPath}`);
|
|
74
|
+
totalImportsResolved++;
|
|
75
|
+
graph.addRelationship({
|
|
76
|
+
id: relId,
|
|
77
|
+
sourceId,
|
|
78
|
+
targetId,
|
|
79
|
+
type: 'IMPORTS',
|
|
80
|
+
confidence: 1.0,
|
|
81
|
+
reason: '',
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
const addImportEdge = (filePath, resolvedPath) => {
|
|
85
|
+
addImportGraphEdge(filePath, resolvedPath);
|
|
86
|
+
if (!importMap.has(filePath))
|
|
87
|
+
importMap.set(filePath, new Set());
|
|
88
|
+
importMap.get(filePath).add(resolvedPath);
|
|
89
|
+
};
|
|
90
|
+
return { addImportEdge, addImportGraphEdge, getResolvedCount: () => totalImportsResolved };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Apply an ImportResult: emit graph edges and update ImportMap/PackageMap.
|
|
94
|
+
* If namedBindings are provided and the import resolves to a single file,
|
|
95
|
+
* also populate the NamedImportMap for precise Tier 2a resolution.
|
|
96
|
+
* Bindings tagged with `isModuleAlias` are routed to moduleAliasMap instead.
|
|
97
|
+
*/
|
|
98
|
+
function applyImportResult(result, filePath, importMap, packageMap, addImportEdge, addImportGraphEdge, namedBindings, namedImportMap, moduleAliasMap) {
|
|
99
|
+
if (!result)
|
|
100
|
+
return;
|
|
101
|
+
if (result.kind === 'package' && packageMap) {
|
|
102
|
+
// Store directory suffix in PackageMap (skip ImportMap expansion)
|
|
103
|
+
for (const resolvedFile of result.files) {
|
|
104
|
+
addImportGraphEdge(filePath, resolvedFile);
|
|
105
|
+
}
|
|
106
|
+
if (!packageMap.has(filePath))
|
|
107
|
+
packageMap.set(filePath, new Set());
|
|
108
|
+
packageMap.get(filePath).add(result.dirSuffix);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// 'files' kind, or 'package' without PackageMap — use ImportMap directly
|
|
112
|
+
const files = result.files;
|
|
113
|
+
for (const resolvedFile of files) {
|
|
114
|
+
addImportEdge(filePath, resolvedFile);
|
|
115
|
+
}
|
|
116
|
+
// Route module aliases (import X as Y) directly to moduleAliasMap.
|
|
117
|
+
// These are module-level aliases, not symbol bindings — they don't belong in namedImportMap.
|
|
118
|
+
if (namedBindings && moduleAliasMap && files.length === 1) {
|
|
119
|
+
const resolvedFile = files[0];
|
|
120
|
+
for (const binding of namedBindings) {
|
|
121
|
+
if (!binding.isModuleAlias)
|
|
122
|
+
continue;
|
|
123
|
+
let aliasMap = moduleAliasMap.get(filePath);
|
|
124
|
+
if (!aliasMap) {
|
|
125
|
+
aliasMap = new Map();
|
|
126
|
+
moduleAliasMap.set(filePath, aliasMap);
|
|
127
|
+
}
|
|
128
|
+
aliasMap.set(binding.local, resolvedFile);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Record named bindings for precise Tier 2a resolution.
|
|
132
|
+
// If the same local name is imported from multiple files (e.g., Java static imports
|
|
133
|
+
// of overloaded methods), remove the entry so resolution falls through to Tier 2a
|
|
134
|
+
// import-scoped which sees all candidates and can apply arity narrowing.
|
|
135
|
+
if (namedBindings && namedImportMap) {
|
|
136
|
+
if (!namedImportMap.has(filePath))
|
|
137
|
+
namedImportMap.set(filePath, new Map());
|
|
138
|
+
const fileBindings = namedImportMap.get(filePath);
|
|
139
|
+
if (files.length === 1) {
|
|
140
|
+
const resolvedFile = files[0];
|
|
141
|
+
for (const binding of namedBindings) {
|
|
142
|
+
if (binding.isModuleAlias)
|
|
143
|
+
continue; // already routed to moduleAliasMap
|
|
144
|
+
const existing = fileBindings.get(binding.local);
|
|
145
|
+
if (existing && existing.sourcePath !== resolvedFile) {
|
|
146
|
+
fileBindings.delete(binding.local);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
fileBindings.set(binding.local, {
|
|
150
|
+
sourcePath: resolvedFile,
|
|
151
|
+
exportedName: binding.exported,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// Multi-file resolution (e.g., Rust `use crate::models::{User, Repo}`).
|
|
158
|
+
// Match each binding to a resolved file by comparing the lowercase binding name
|
|
159
|
+
// to the file's basename (without extension). If no match, skip the binding.
|
|
160
|
+
for (const binding of namedBindings) {
|
|
161
|
+
if (binding.isModuleAlias)
|
|
162
|
+
continue;
|
|
163
|
+
const lowerName = binding.exported.toLowerCase();
|
|
164
|
+
const matchedFile = files.find((f) => {
|
|
165
|
+
const base = f.replace(/\\/g, '/').split('/').pop() ?? '';
|
|
166
|
+
const nameWithoutExt = base.substring(0, base.lastIndexOf('.')).toLowerCase();
|
|
167
|
+
return nameWithoutExt === lowerName;
|
|
168
|
+
});
|
|
169
|
+
if (matchedFile) {
|
|
170
|
+
const existing = fileBindings.get(binding.local);
|
|
171
|
+
if (existing && existing.sourcePath !== matchedFile) {
|
|
172
|
+
fileBindings.delete(binding.local);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
fileBindings.set(binding.local, {
|
|
176
|
+
sourcePath: matchedFile,
|
|
177
|
+
exportedName: binding.exported,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// ============================================================================
|
|
187
|
+
// MAIN IMPORT PROCESSOR
|
|
188
|
+
// ============================================================================
|
|
189
|
+
export const processImports = async (graph, files, astCache, ctx, onProgress, repoRoot, allPaths) => {
|
|
190
|
+
const importMap = ctx.importMap;
|
|
191
|
+
const packageMap = ctx.packageMap;
|
|
192
|
+
const namedImportMap = ctx.namedImportMap;
|
|
193
|
+
const moduleAliasMap = ctx.moduleAliasMap;
|
|
194
|
+
// Use allPaths (full repo) when available for cross-chunk resolution, else fall back to chunk files
|
|
195
|
+
const allFileList = allPaths ?? files.map((f) => f.path);
|
|
196
|
+
const allFilePaths = new Set(allFileList);
|
|
197
|
+
const parser = await loadParser();
|
|
198
|
+
const logSkipped = isVerboseIngestionEnabled();
|
|
199
|
+
const skippedByLang = logSkipped ? new Map() : null;
|
|
200
|
+
const resolveCache = new Map();
|
|
201
|
+
// Pre-compute normalized file list once (forward slashes)
|
|
202
|
+
const normalizedFileList = allFileList.map((p) => p.replace(/\\/g, '/'));
|
|
203
|
+
// Build suffix index for O(1) lookups
|
|
204
|
+
const index = buildSuffixIndex(normalizedFileList, allFileList);
|
|
205
|
+
// Track import statistics
|
|
206
|
+
let totalImportsFound = 0;
|
|
207
|
+
// Load language-specific configs once before the file loop
|
|
208
|
+
const configs = await loadImportConfigs(repoRoot || '');
|
|
209
|
+
const resolveCtx = {
|
|
210
|
+
allFilePaths,
|
|
211
|
+
allFileList,
|
|
212
|
+
normalizedFileList,
|
|
213
|
+
index,
|
|
214
|
+
resolveCache,
|
|
215
|
+
configs,
|
|
216
|
+
};
|
|
217
|
+
const { addImportEdge, addImportGraphEdge, getResolvedCount } = createImportEdgeHelpers(graph, importMap);
|
|
218
|
+
for (let i = 0; i < files.length; i++) {
|
|
219
|
+
const file = files[i];
|
|
220
|
+
onProgress?.(i + 1, files.length);
|
|
221
|
+
if (i % 20 === 0)
|
|
222
|
+
await yieldToEventLoop();
|
|
223
|
+
// 1. Check language support first
|
|
224
|
+
const language = getLanguageFromFilename(file.path);
|
|
225
|
+
if (!language)
|
|
226
|
+
continue;
|
|
227
|
+
if (!isLanguageAvailable(language)) {
|
|
228
|
+
if (skippedByLang) {
|
|
229
|
+
skippedByLang.set(language, (skippedByLang.get(language) ?? 0) + 1);
|
|
230
|
+
}
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
const provider = getProvider(language);
|
|
234
|
+
const queryStr = provider.treeSitterQueries;
|
|
235
|
+
if (!queryStr)
|
|
236
|
+
continue;
|
|
237
|
+
// 2. ALWAYS load the language before querying (parser is stateful)
|
|
238
|
+
await loadLanguage(language, file.path);
|
|
239
|
+
// 3. Get AST (Try Cache First)
|
|
240
|
+
let tree = astCache.get(file.path);
|
|
241
|
+
let wasReparsed = false;
|
|
242
|
+
if (!tree) {
|
|
243
|
+
try {
|
|
244
|
+
tree = parser.parse(file.content, undefined, {
|
|
245
|
+
bufferSize: getTreeSitterBufferSize(file.content.length),
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
catch (parseError) {
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
wasReparsed = true;
|
|
252
|
+
// Cache re-parsed tree so call/heritage phases get hits
|
|
253
|
+
astCache.set(file.path, tree);
|
|
254
|
+
}
|
|
255
|
+
let query;
|
|
256
|
+
let matches;
|
|
257
|
+
try {
|
|
258
|
+
const lang = parser.getLanguage();
|
|
259
|
+
query = new Parser.Query(lang, queryStr);
|
|
260
|
+
matches = query.matches(tree.rootNode);
|
|
261
|
+
}
|
|
262
|
+
catch (queryError) {
|
|
263
|
+
if (isDev) {
|
|
264
|
+
console.group(`🔴 Query Error: ${file.path}`);
|
|
265
|
+
console.log('Language:', language);
|
|
266
|
+
console.log('Query (first 200 chars):', queryStr.substring(0, 200) + '...');
|
|
267
|
+
console.log('Error:', queryError?.message || queryError);
|
|
268
|
+
console.log('File content (first 300 chars):', file.content.substring(0, 300));
|
|
269
|
+
console.log('AST root type:', tree.rootNode?.type);
|
|
270
|
+
console.log('AST has errors:', tree.rootNode?.hasError);
|
|
271
|
+
console.groupEnd();
|
|
272
|
+
}
|
|
273
|
+
if (wasReparsed)
|
|
274
|
+
tree.delete?.();
|
|
275
|
+
continue;
|
|
276
|
+
}
|
|
277
|
+
matches.forEach((match) => {
|
|
278
|
+
const captureMap = {};
|
|
279
|
+
match.captures.forEach((c) => (captureMap[c.name] = c.node));
|
|
280
|
+
if (captureMap['import']) {
|
|
281
|
+
const sourceNode = captureMap['import.source'];
|
|
282
|
+
if (!sourceNode) {
|
|
283
|
+
if (isDev) {
|
|
284
|
+
console.log(`⚠️ Import captured but no source node in ${file.path}`);
|
|
285
|
+
}
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
const rawImportPath = preprocessImportPath(sourceNode.text, captureMap['import'], provider);
|
|
289
|
+
if (!rawImportPath)
|
|
290
|
+
return;
|
|
291
|
+
totalImportsFound++;
|
|
292
|
+
const result = provider.importResolver(rawImportPath, file.path, resolveCtx);
|
|
293
|
+
const extractor = provider.namedBindingExtractor;
|
|
294
|
+
const bindings = namedImportMap && extractor ? extractor(captureMap['import']) : undefined;
|
|
295
|
+
applyImportResult(result, file.path, importMap, packageMap, addImportEdge, addImportGraphEdge, bindings, namedImportMap, moduleAliasMap);
|
|
296
|
+
}
|
|
297
|
+
// ---- Language-specific call-as-import routing (Ruby require, etc.) ----
|
|
298
|
+
if (captureMap['call']) {
|
|
299
|
+
const callNameNode = captureMap['call.name'];
|
|
300
|
+
if (callNameNode) {
|
|
301
|
+
const routed = provider.callRouter?.(callNameNode.text, captureMap['call']);
|
|
302
|
+
if (routed && routed.kind === 'import') {
|
|
303
|
+
totalImportsFound++;
|
|
304
|
+
const result = provider.importResolver(routed.importPath, file.path, resolveCtx);
|
|
305
|
+
applyImportResult(result, file.path, importMap, packageMap, addImportEdge, addImportGraphEdge);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
// Tree is now owned by the LRU cache — no manual delete needed
|
|
311
|
+
}
|
|
312
|
+
wireImplicitImports(allFileList, importMap, addImportEdge, configs);
|
|
313
|
+
if (skippedByLang && skippedByLang.size > 0) {
|
|
314
|
+
for (const [lang, count] of skippedByLang.entries()) {
|
|
315
|
+
console.warn(`[ingestion] Skipped ${count} ${lang} file(s) in import processing — ${lang} parser not available.`);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
if (isDev) {
|
|
319
|
+
console.log(`📊 Import processing complete: ${getResolvedCount()}/${totalImportsFound} imports resolved to graph edges`);
|
|
320
|
+
}
|
|
321
|
+
};
|
|
322
|
+
// ============================================================================
|
|
323
|
+
// FAST PATH: Resolve pre-extracted imports (no parsing needed)
|
|
324
|
+
// ============================================================================
|
|
325
|
+
export const processImportsFromExtracted = async (graph, files, extractedImports, ctx, onProgress, repoRoot, prebuiltCtx) => {
|
|
326
|
+
const importMap = ctx.importMap;
|
|
327
|
+
const packageMap = ctx.packageMap;
|
|
328
|
+
const namedImportMap = ctx.namedImportMap;
|
|
329
|
+
const moduleAliasMap = ctx.moduleAliasMap;
|
|
330
|
+
const importCtx = prebuiltCtx ?? buildImportResolutionContext(files.map((f) => f.path));
|
|
331
|
+
const { allFilePaths, allFileList, normalizedFileList, index, resolveCache } = importCtx;
|
|
332
|
+
let totalImportsFound = 0;
|
|
333
|
+
const configs = await loadImportConfigs(repoRoot || '');
|
|
334
|
+
const resolveCtx = {
|
|
335
|
+
allFilePaths,
|
|
336
|
+
allFileList,
|
|
337
|
+
normalizedFileList,
|
|
338
|
+
index,
|
|
339
|
+
resolveCache,
|
|
340
|
+
configs,
|
|
341
|
+
};
|
|
342
|
+
const { addImportEdge, addImportGraphEdge, getResolvedCount } = createImportEdgeHelpers(graph, importMap);
|
|
343
|
+
// Group by file for progress reporting (users see file count, not import count)
|
|
344
|
+
const importsByFile = new Map();
|
|
345
|
+
for (const imp of extractedImports) {
|
|
346
|
+
let list = importsByFile.get(imp.filePath);
|
|
347
|
+
if (!list) {
|
|
348
|
+
list = [];
|
|
349
|
+
importsByFile.set(imp.filePath, list);
|
|
350
|
+
}
|
|
351
|
+
list.push(imp);
|
|
352
|
+
}
|
|
353
|
+
const totalFiles = importsByFile.size;
|
|
354
|
+
let filesProcessed = 0;
|
|
355
|
+
for (const [filePath, fileImports] of importsByFile) {
|
|
356
|
+
filesProcessed++;
|
|
357
|
+
if (filesProcessed % 100 === 0) {
|
|
358
|
+
onProgress?.(filesProcessed, totalFiles);
|
|
359
|
+
await yieldToEventLoop();
|
|
360
|
+
}
|
|
361
|
+
for (const imp of fileImports) {
|
|
362
|
+
totalImportsFound++;
|
|
363
|
+
const provider = getProvider(imp.language);
|
|
364
|
+
const result = provider.importResolver(imp.rawImportPath, filePath, resolveCtx);
|
|
365
|
+
applyImportResult(result, filePath, importMap, packageMap, addImportEdge, addImportGraphEdge, imp.namedBindings, namedImportMap, moduleAliasMap);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
onProgress?.(totalFiles, totalFiles);
|
|
369
|
+
wireImplicitImports(files.map((f) => f.path), importMap, addImportEdge, configs);
|
|
370
|
+
if (isDev) {
|
|
371
|
+
console.log(`📊 Import processing (fast path): ${getResolvedCount()}/${totalImportsFound} imports resolved to graph edges`);
|
|
372
|
+
}
|
|
373
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C / C++ import resolution configs.
|
|
3
|
+
* Both use standard resolution for #include directives.
|
|
4
|
+
*/
|
|
5
|
+
import type { ImportResolutionConfig } from '../types.js';
|
|
6
|
+
export declare const cImportConfig: ImportResolutionConfig;
|
|
7
|
+
export declare const cppImportConfig: ImportResolutionConfig;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C / C++ import resolution configs.
|
|
3
|
+
* Both use standard resolution for #include directives.
|
|
4
|
+
*/
|
|
5
|
+
import { SupportedLanguages } from '../../../../_shared/index.js';
|
|
6
|
+
import { createStandardStrategy } from '../standard.js';
|
|
7
|
+
export const cImportConfig = {
|
|
8
|
+
language: SupportedLanguages.C,
|
|
9
|
+
strategies: [createStandardStrategy(SupportedLanguages.C)],
|
|
10
|
+
};
|
|
11
|
+
export const cppImportConfig = {
|
|
12
|
+
language: SupportedLanguages.CPlusPlus,
|
|
13
|
+
strategies: [createStandardStrategy(SupportedLanguages.CPlusPlus)],
|
|
14
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C# import resolution config.
|
|
3
|
+
* Namespace-based strategy via .csproj configs, then standard fallback.
|
|
4
|
+
*/
|
|
5
|
+
import type { ImportResolutionConfig, ImportResolverStrategy } from '../types.js';
|
|
6
|
+
/** C# namespace-based resolution strategy via .csproj configs. */
|
|
7
|
+
export declare const csharpNamespaceStrategy: ImportResolverStrategy;
|
|
8
|
+
export declare const csharpImportConfig: ImportResolutionConfig;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C# import resolution config.
|
|
3
|
+
* Namespace-based strategy via .csproj configs, then standard fallback.
|
|
4
|
+
*/
|
|
5
|
+
import { SupportedLanguages } from '../../../../_shared/index.js';
|
|
6
|
+
import { createStandardStrategy } from '../standard.js';
|
|
7
|
+
import { resolveCSharpImportInternal, resolveCSharpNamespaceDir } from '../csharp.js';
|
|
8
|
+
/** C# namespace-based resolution strategy via .csproj configs. */
|
|
9
|
+
export const csharpNamespaceStrategy = (rawImportPath, _filePath, ctx) => {
|
|
10
|
+
const csharpConfigs = ctx.configs.csharpConfigs;
|
|
11
|
+
if (csharpConfigs.length > 0) {
|
|
12
|
+
const resolvedFiles = resolveCSharpImportInternal(rawImportPath, csharpConfigs, ctx.normalizedFileList, ctx.allFileList, ctx.index);
|
|
13
|
+
if (resolvedFiles.length > 1) {
|
|
14
|
+
const dirSuffix = resolveCSharpNamespaceDir(rawImportPath, csharpConfigs);
|
|
15
|
+
if (dirSuffix) {
|
|
16
|
+
return { kind: 'package', files: resolvedFiles, dirSuffix };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (resolvedFiles.length > 0)
|
|
20
|
+
return { kind: 'files', files: resolvedFiles };
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
};
|
|
24
|
+
export const csharpImportConfig = {
|
|
25
|
+
language: SupportedLanguages.CSharp,
|
|
26
|
+
strategies: [csharpNamespaceStrategy, createStandardStrategy(SupportedLanguages.CSharp)],
|
|
27
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart import resolution config.
|
|
3
|
+
* SDK/package strategy first, then relative import strategy (with ./ prepending).
|
|
4
|
+
*/
|
|
5
|
+
import type { ImportResolutionConfig, ImportResolverStrategy } from '../types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Dart SDK and package: import strategy.
|
|
8
|
+
* Absorbs dart: SDK imports and external packages (returns empty result to stop chain).
|
|
9
|
+
* Returns null for relative imports to let the next strategy handle them.
|
|
10
|
+
*/
|
|
11
|
+
export declare const dartPackageStrategy: ImportResolverStrategy;
|
|
12
|
+
/**
|
|
13
|
+
* Dart relative import strategy — prepends "./" for bare relative paths,
|
|
14
|
+
* then delegates to standard resolution.
|
|
15
|
+
*/
|
|
16
|
+
export declare const dartRelativeStrategy: ImportResolverStrategy;
|
|
17
|
+
export declare const dartImportConfig: ImportResolutionConfig;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart import resolution config.
|
|
3
|
+
* SDK/package strategy first, then relative import strategy (with ./ prepending).
|
|
4
|
+
*/
|
|
5
|
+
import { SupportedLanguages } from '../../../../_shared/index.js';
|
|
6
|
+
import { resolveStandard } from '../standard.js';
|
|
7
|
+
/**
|
|
8
|
+
* Dart SDK and package: import strategy.
|
|
9
|
+
* Absorbs dart: SDK imports and external packages (returns empty result to stop chain).
|
|
10
|
+
* Returns null for relative imports to let the next strategy handle them.
|
|
11
|
+
*/
|
|
12
|
+
export const dartPackageStrategy = (rawImportPath, _filePath, ctx) => {
|
|
13
|
+
// Strip surrounding quotes from configurable_uri capture
|
|
14
|
+
const stripped = rawImportPath.replace(/^['"]|['"]$/g, '');
|
|
15
|
+
// Skip dart: SDK imports (dart:async, dart:io, etc.)
|
|
16
|
+
if (stripped.startsWith('dart:'))
|
|
17
|
+
return { kind: 'files', files: [] };
|
|
18
|
+
// Local package: imports → resolve to lib/<path>
|
|
19
|
+
if (stripped.startsWith('package:')) {
|
|
20
|
+
const slashIdx = stripped.indexOf('/');
|
|
21
|
+
if (slashIdx === -1)
|
|
22
|
+
return { kind: 'files', files: [] };
|
|
23
|
+
const relPath = stripped.slice(slashIdx + 1);
|
|
24
|
+
const candidates = [`lib/${relPath}`, relPath];
|
|
25
|
+
const files = [];
|
|
26
|
+
for (const candidate of candidates) {
|
|
27
|
+
for (const fp of ctx.allFileList) {
|
|
28
|
+
if (fp.endsWith('/' + candidate) || fp === candidate) {
|
|
29
|
+
files.push(fp);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (files.length > 0)
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
if (files.length > 0)
|
|
37
|
+
return { kind: 'files', files };
|
|
38
|
+
return { kind: 'files', files: [] }; // external package
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Dart relative import strategy — prepends "./" for bare relative paths,
|
|
44
|
+
* then delegates to standard resolution.
|
|
45
|
+
*/
|
|
46
|
+
export const dartRelativeStrategy = (rawImportPath, filePath, ctx) => {
|
|
47
|
+
const stripped = rawImportPath.replace(/^['"]|['"]$/g, '');
|
|
48
|
+
const relPath = stripped.startsWith('.') ? stripped : './' + stripped;
|
|
49
|
+
return resolveStandard(relPath, filePath, ctx, SupportedLanguages.Dart);
|
|
50
|
+
};
|
|
51
|
+
export const dartImportConfig = {
|
|
52
|
+
language: SupportedLanguages.Dart,
|
|
53
|
+
strategies: [dartPackageStrategy, dartRelativeStrategy],
|
|
54
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Go import resolution config.
|
|
3
|
+
* Go-specific package strategy (go.mod), then standard fallback.
|
|
4
|
+
*/
|
|
5
|
+
import type { ImportResolutionConfig, ImportResolverStrategy } from '../types.js';
|
|
6
|
+
/** Go-specific package resolution strategy — resolves go.mod-based package imports. */
|
|
7
|
+
export declare const goPackageStrategy: ImportResolverStrategy;
|
|
8
|
+
export declare const goImportConfig: ImportResolutionConfig;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Go import resolution config.
|
|
3
|
+
* Go-specific package strategy (go.mod), then standard fallback.
|
|
4
|
+
*/
|
|
5
|
+
import { SupportedLanguages } from '../../../../_shared/index.js';
|
|
6
|
+
import { createStandardStrategy } from '../standard.js';
|
|
7
|
+
import { resolveGoPackageDir, resolveGoPackage } from '../go.js';
|
|
8
|
+
/** Go-specific package resolution strategy — resolves go.mod-based package imports. */
|
|
9
|
+
export const goPackageStrategy = (rawImportPath, _filePath, ctx) => {
|
|
10
|
+
const goModule = ctx.configs.goModule;
|
|
11
|
+
if (goModule && rawImportPath.startsWith(goModule.modulePath)) {
|
|
12
|
+
const pkgSuffix = resolveGoPackageDir(rawImportPath, goModule);
|
|
13
|
+
if (pkgSuffix) {
|
|
14
|
+
const pkgFiles = resolveGoPackage(rawImportPath, goModule, ctx.normalizedFileList, ctx.allFileList);
|
|
15
|
+
if (pkgFiles.length > 0) {
|
|
16
|
+
return { kind: 'package', files: pkgFiles, dirSuffix: pkgSuffix };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Fall through if no files found (package might be external)
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
export const goImportConfig = {
|
|
24
|
+
language: SupportedLanguages.Go,
|
|
25
|
+
strategies: [goPackageStrategy, createStandardStrategy(SupportedLanguages.Go)],
|
|
26
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java / Kotlin import resolution configs.
|
|
3
|
+
* JVM-specific wildcard/member strategy, then standard fallback.
|
|
4
|
+
*/
|
|
5
|
+
import type { ImportResolutionConfig, ImportResolverStrategy } from '../types.js';
|
|
6
|
+
/** Java JVM resolution strategy — wildcard and member import resolution. */
|
|
7
|
+
export declare const javaJvmStrategy: ImportResolverStrategy;
|
|
8
|
+
/**
|
|
9
|
+
* Kotlin JVM resolution strategy — wildcard/member with Java-interop + top-level function imports.
|
|
10
|
+
*/
|
|
11
|
+
export declare const kotlinJvmStrategy: ImportResolverStrategy;
|
|
12
|
+
export declare const javaImportConfig: ImportResolutionConfig;
|
|
13
|
+
export declare const kotlinImportConfig: ImportResolutionConfig;
|