cgraphx 2.0.2 → 2.0.6
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/dist/.claude-template/FLOW-MAP.md +13 -3
- package/dist/.claude-template/agents/task-history.md +186 -0
- package/dist/.claude-template/commands/end.md +1 -0
- package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +5 -3
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +8 -8
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +8 -8
- package/dist/.claude-template/skills/clarify-requirements/SKILL.md +13 -9
- package/dist/.claude-template/skills/db-query/SKILL.md +19 -2
- package/dist/.claude-template/skills/iboc-check/SKILL.md +51 -23
- package/dist/.claude-template/skills/iboc-check/filler-prompt.md +3 -4
- package/dist/.claude-template/skills/run-api-test/SKILL.md +15 -15
- package/dist/.claude-template/skills/run-api-test/assets/{template-test-report.md → template-/346/216/245/345/217/243/346/265/213/350/257/225/346/212/245/345/221/212.md} +4 -4
- package/dist/.claude-template/skills/run-api-test/references/bru-run.md +1 -1
- package/dist/.claude-template/skills/run-api-test/references/db-verification.md +2 -2
- package/dist/.claude-template/skills/run-api-test/references/report-format.md +6 -6
- package/dist/.claude-template/skills/run-api-test/references/service-readiness.md +1 -1
- package/dist/.claude-template/skills/run-api-test/references/test-scope.md +6 -6
- package/dist/.claude-template/skills/run-ui-test/SKILL.md +186 -0
- package/dist/.claude-template/skills/run-ui-test/references/report-format.md +77 -0
- package/dist/.claude-template/skills/subagent-implement/SKILL.md +3 -2
- package/dist/.claude-template/skills/write-api/SKILL.md +18 -18
- package/dist/.claude-template/skills/write-api/assets/{template-api-spec.md → template-/346/216/245/345/217/243/346/265/213/350/257/225-spec.md} +1 -1
- package/dist/.claude-template/skills/write-api/references/{api-spec-format.md → /346/216/245/345/217/243/346/265/213/350/257/225-spec-format.md} +3 -3
- package/dist/.claude-template/skills/write-plan/SKILL.md +4 -2
- package/dist/.claude-template/skills/write-ui-test/SKILL.md +125 -0
- package/dist/.claude-template/skills/write-ui-test/references//347/224/250/344/276/213/350/247/204/346/240/274-format.md +94 -0
- package/dist/core/code/engine/cli/analyze-config.js +320 -0
- package/dist/core/code/engine/cli/analyze.js +1086 -0
- package/dist/core/code/engine/cli/cli-message.js +83 -0
- package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
- package/dist/core/code/engine/cli/embedding-dims.js +43 -0
- package/dist/core/code/engine/cli/format-elapsed.js +12 -0
- package/dist/core/code/engine/cli/help-i18n.js +144 -0
- package/dist/core/code/engine/cli/i18n/en.js +110 -0
- package/dist/core/code/engine/cli/i18n/index.js +47 -0
- package/dist/core/code/engine/cli/i18n/resources.js +9 -0
- package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
- package/dist/core/code/engine/cli/lazy-action.js +67 -0
- package/dist/core/code/engine/cli/optional-grammars.js +136 -0
- package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
- package/dist/core/code/engine/cli/status.js +156 -0
- package/dist/core/code/engine/cli/tool.js +384 -0
- package/dist/core/code/engine/config/ignore-service.js +511 -0
- package/dist/core/code/engine/config/supported-languages.js +17 -0
- package/dist/core/code/engine/core/analysis-features.js +64 -0
- package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
- package/dist/core/code/engine/core/git-staleness.js +180 -0
- package/dist/core/code/engine/core/graph/graph.js +180 -0
- package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
- package/dist/core/code/engine/core/graph/types.js +2 -0
- package/dist/core/code/engine/core/index-freshness.js +12 -0
- package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
- package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
- package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
- package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
- package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
- package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
- package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
- package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
- package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
- package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
- package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
- package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
- package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
- package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
- package/dist/core/code/engine/core/ingestion/constants.js +26 -0
- package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
- package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
- package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
- package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
- package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
- package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
- package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
- package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
- package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
- package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
- package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
- package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
- package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
- package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
- package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
- package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
- package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
- package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
- package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
- package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
- package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
- package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
- package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
- package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
- package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
- package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
- package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
- package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
- package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
- package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
- package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
- package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
- package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
- package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
- package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
- package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
- package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
- package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
- package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
- package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
- package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
- package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
- package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
- package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
- package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
- package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
- package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
- package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
- package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
- package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
- package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
- package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
- package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
- package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
- package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
- package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
- package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
- package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
- package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
- package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
- package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
- package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
- package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
- package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
- package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
- package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
- package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
- package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
- package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
- package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
- package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
- package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
- package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
- package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
- package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
- package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
- package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
- package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
- package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
- package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
- package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
- package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
- package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
- package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
- package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
- package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
- package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
- package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
- package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
- package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
- package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
- package/dist/core/code/engine/core/lbug/native-check.js +435 -0
- package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
- package/dist/core/code/engine/core/lbug/query-params.js +25 -0
- package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
- package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
- package/dist/core/code/engine/core/lbug/schema.js +771 -0
- package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
- package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
- package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
- package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
- package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
- package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
- package/dist/core/code/engine/core/logger.js +339 -0
- package/dist/core/code/engine/core/platform/capabilities.js +91 -0
- package/dist/core/code/engine/core/run-analyze.js +1098 -0
- package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
- package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
- package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
- package/dist/core/code/engine/lib/utils.js +121 -0
- package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
- package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
- package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
- package/dist/core/code/engine/mcp/local/limits.js +15 -0
- package/dist/core/code/engine/mcp/local/line-display.js +6 -0
- package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
- package/dist/core/code/engine/storage/branch-index.js +72 -0
- package/dist/core/code/engine/storage/file-hash.js +95 -0
- package/dist/core/code/engine/storage/fs-atomic.js +34 -0
- package/dist/core/code/engine/storage/git.js +555 -0
- package/dist/core/code/engine/storage/index-lock.js +664 -0
- package/dist/core/code/engine/storage/parse-cache.js +650 -0
- package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
- package/dist/core/code/engine/storage/repo-manager.js +1061 -0
- package/dist/core/code/engine/storage/scope-index-store.js +247 -0
- package/dist/core/code/engine/types/pipeline.js +2 -0
- package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
- package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
- package/dist/core/code/shared/graph/types.js +8 -0
- package/dist/core/code/shared/index.js +105 -0
- package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
- package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
- package/dist/core/code/shared/integrations/retry.js +70 -0
- package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
- package/dist/core/code/shared/language-detection.js +162 -0
- package/dist/core/code/shared/languages.js +27 -0
- package/dist/core/code/shared/lbug/schema-constants.js +98 -0
- package/dist/core/code/shared/mro-strategy.js +2 -0
- package/dist/core/code/shared/pipeline.js +5 -0
- package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
- package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
- package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
- package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
- package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
- package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
- package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
- package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
- package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
- package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
- package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
- package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
- package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
- package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
- package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
- package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
- package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
- package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
- package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
- package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
- package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
- package/dist/core/code/shared/scope-resolution/types.js +25 -0
- package/dist/core/code/shared/test-helpers.js +17 -0
- package/dist/core/code/vendor/leiden/index.cjs +355 -0
- package/dist/core/code/vendor/leiden/utils.cjs +419 -0
- package/dist/core/dbquery/cli.d.ts.map +1 -1
- package/dist/core/dbquery/cli.js +5 -4
- package/dist/core/dbquery/cli.js.map +1 -1
- package/dist/core/dbquery/config.d.ts.map +1 -1
- package/dist/core/dbquery/config.js +39 -3
- package/dist/core/dbquery/config.js.map +1 -1
- package/dist/core/dbquery/drivers/http.d.ts +23 -0
- package/dist/core/dbquery/drivers/http.d.ts.map +1 -0
- package/dist/core/dbquery/drivers/http.js +125 -0
- package/dist/core/dbquery/drivers/http.js.map +1 -0
- package/dist/core/dbquery/drivers/mysql.js +1 -1
- package/dist/core/dbquery/drivers/mysql.js.map +1 -1
- package/dist/core/dbquery/drivers/postgres.js +1 -1
- package/dist/core/dbquery/drivers/postgres.js.map +1 -1
- package/dist/core/dbquery/executor.d.ts.map +1 -1
- package/dist/core/dbquery/executor.js +46 -12
- package/dist/core/dbquery/executor.js.map +1 -1
- package/dist/core/dbquery/format.d.ts.map +1 -1
- package/dist/core/dbquery/format.js +2 -1
- package/dist/core/dbquery/format.js.map +1 -1
- package/dist/core/dbquery/init.d.ts.map +1 -1
- package/dist/core/dbquery/init.js +7 -0
- package/dist/core/dbquery/init.js.map +1 -1
- package/dist/core/dbquery/types.d.ts +55 -7
- package/dist/core/dbquery/types.d.ts.map +1 -1
- package/dist/core/directory.d.ts +17 -0
- package/dist/core/directory.d.ts.map +1 -1
- package/dist/core/directory.js +37 -0
- package/dist/core/directory.js.map +1 -1
- package/dist/core/features/cli.d.ts.map +1 -1
- package/dist/core/features/cli.js +3 -2
- package/dist/core/features/cli.js.map +1 -1
- package/dist/core/features/scanner.d.ts +1 -1
- package/dist/core/features/scanner.d.ts.map +1 -1
- package/dist/core/features/scanner.js +20 -4
- package/dist/core/features/scanner.js.map +1 -1
- package/dist/core/markdown/cli.d.ts.map +1 -1
- package/dist/core/markdown/cli.js +9 -8
- package/dist/core/markdown/cli.js.map +1 -1
- package/dist/core/timeline/cli.d.ts.map +1 -1
- package/dist/core/timeline/cli.js +13 -6
- package/dist/core/timeline/cli.js.map +1 -1
- package/dist/core/timeline/debris.d.ts +20 -0
- package/dist/core/timeline/debris.d.ts.map +1 -0
- package/dist/core/timeline/debris.js +124 -0
- package/dist/core/timeline/debris.js.map +1 -0
- package/dist/core/timeline/hook-runner.d.ts.map +1 -1
- package/dist/core/timeline/hook-runner.js +3 -1
- package/dist/core/timeline/hook-runner.js.map +1 -1
- package/dist/core/timeline/hooks.d.ts.map +1 -1
- package/dist/core/timeline/hooks.js +13 -5
- package/dist/core/timeline/hooks.js.map +1 -1
- package/dist/core/timeline/installer.d.ts +2 -0
- package/dist/core/timeline/installer.d.ts.map +1 -1
- package/dist/core/timeline/installer.js +12 -0
- package/dist/core/timeline/installer.js.map +1 -1
- package/dist/core/timeline/project-root.d.ts +21 -0
- package/dist/core/timeline/project-root.d.ts.map +1 -0
- package/dist/core/timeline/project-root.js +83 -0
- package/dist/core/timeline/project-root.js.map +1 -0
- package/dist/web/register.d.ts.map +1 -1
- package/dist/web/register.js +2 -1
- package/dist/web/register.js.map +1 -1
- package/package.json +1 -1
- package/dist/.claude-template/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/handdrawn-deck/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/handdrawn-deck/references/.cgraphx/timeline-current-turn.json +0 -1
- package/dist/.claude-template/skills/handdrawn-sketch-engine/.cgraphx/timeline-current-turn.json +0 -1
- /package/dist/.claude-template/skills/run-api-test/assets/{template-test-verify.jsonl → template-/346/216/245/345/217/243/346/265/213/350/257/225/351/252/214/350/257/201.jsonl"} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `MethodRegistry` — scope-aware lookup for method / function / constructor
|
|
4
|
+
* dispatch (RFC §4.4; Ring 2 SHARED #917).
|
|
5
|
+
*
|
|
6
|
+
* Thin wrapper over `lookupCore`, specialized for callable kinds:
|
|
7
|
+
*
|
|
8
|
+
* - `acceptedKinds` = Method / Function / Constructor.
|
|
9
|
+
* - `useReceiverTypeBinding` is **true** — the type-binding + MRO walk
|
|
10
|
+
* (Step 2) is the primary evidence path for receiver-dispatched calls.
|
|
11
|
+
* - `callsite.arity` flows through to `provider.arityCompatibility`
|
|
12
|
+
* when provided. When the provider is absent, arity evidence is
|
|
13
|
+
* `unknown` (neutral signal).
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.buildMethodRegistry = buildMethodRegistry;
|
|
17
|
+
const lookup_core_js_1 = require("./lookup-core.js");
|
|
18
|
+
const context_js_1 = require("./context.js");
|
|
19
|
+
function buildMethodRegistry(ctx) {
|
|
20
|
+
return {
|
|
21
|
+
lookup(name, scope, options = {}) {
|
|
22
|
+
const params = {
|
|
23
|
+
acceptedKinds: context_js_1.METHOD_KINDS,
|
|
24
|
+
useReceiverTypeBinding: true,
|
|
25
|
+
ownerScopedContributor: options.ownerScopedContributor ?? null,
|
|
26
|
+
...(options.callsite !== undefined ? { callsite: options.callsite } : {}),
|
|
27
|
+
...(options.explicitReceiver !== undefined
|
|
28
|
+
? { explicitReceiver: options.explicitReceiver }
|
|
29
|
+
: {}),
|
|
30
|
+
};
|
|
31
|
+
return (0, lookup_core_js_1.lookupCore)(name, scope, params, ctx);
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `compareByConfidenceWithTiebreaks` — the RFC §4.2 Step 7 total order
|
|
4
|
+
* over `Resolution` candidates (Ring 2 SHARED #917).
|
|
5
|
+
*
|
|
6
|
+
* Primary key is confidence (DESC). Remaining ties within `CONFIDENCE_EPSILON`
|
|
7
|
+
* fall through a deterministic cascade so the same inputs always produce
|
|
8
|
+
* the same winner, independent of insertion order.
|
|
9
|
+
*
|
|
10
|
+
* Tie-break cascade (per RFC Appendix B):
|
|
11
|
+
*
|
|
12
|
+
* 1. confidence DESC (primary)
|
|
13
|
+
* 2. scope depth ASC (nearer lexical scope wins)
|
|
14
|
+
* 3. MRO depth ASC (nearer class in hierarchy wins)
|
|
15
|
+
* 4. `ORIGIN_PRIORITY` ASC (local > import > … > global-name)
|
|
16
|
+
* 5. DefId.localeCompare (final deterministic tiebreaker)
|
|
17
|
+
*
|
|
18
|
+
* The per-candidate inputs needed beyond `Resolution.confidence` —
|
|
19
|
+
* `scopeDepth`, `mroDepth`, `origin` — are supplied via a sidecar
|
|
20
|
+
* `TieBreakKey` so the comparator stays pure and `Resolution` itself
|
|
21
|
+
* doesn't need to carry book-keeping fields.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.CONFIDENCE_EPSILON = void 0;
|
|
25
|
+
exports.compareByConfidenceWithTiebreaks = compareByConfidenceWithTiebreaks;
|
|
26
|
+
const origin_priority_js_1 = require("../origin-priority.js");
|
|
27
|
+
exports.CONFIDENCE_EPSILON = 0.001;
|
|
28
|
+
/**
|
|
29
|
+
* Pure comparator suitable for `Array.prototype.sort`. Return value follows
|
|
30
|
+
* the JavaScript convention: negative → `a` wins, positive → `b` wins.
|
|
31
|
+
*
|
|
32
|
+
* **Important:** `keys` is keyed by `Resolution.def.nodeId`, not by array
|
|
33
|
+
* index — stable across reorderings. Missing keys fall back to neutral
|
|
34
|
+
* values (`scopeDepth: 0`, `mroDepth: 0`, `origin: 'local'`), which means
|
|
35
|
+
* the tie-break degrades gracefully to defId-lexicographic ordering when
|
|
36
|
+
* side-info is unavailable. That keeps the total order deterministic
|
|
37
|
+
* even on malformed inputs.
|
|
38
|
+
*/
|
|
39
|
+
function compareByConfidenceWithTiebreaks(a, b, keys) {
|
|
40
|
+
// Primary: confidence DESC, treating values within epsilon as equal.
|
|
41
|
+
const delta = b.confidence - a.confidence;
|
|
42
|
+
if (Math.abs(delta) >= exports.CONFIDENCE_EPSILON)
|
|
43
|
+
return delta < 0 ? -1 : 1;
|
|
44
|
+
const ka = keys.get(a.def.nodeId) ?? DEFAULT_KEY;
|
|
45
|
+
const kb = keys.get(b.def.nodeId) ?? DEFAULT_KEY;
|
|
46
|
+
// Secondary: scope depth ASC.
|
|
47
|
+
if (ka.scopeDepth !== kb.scopeDepth)
|
|
48
|
+
return ka.scopeDepth - kb.scopeDepth;
|
|
49
|
+
// Tertiary: MRO depth ASC.
|
|
50
|
+
if (ka.mroDepth !== kb.mroDepth)
|
|
51
|
+
return ka.mroDepth - kb.mroDepth;
|
|
52
|
+
// Quaternary: ORIGIN_PRIORITY ASC.
|
|
53
|
+
const po = origin_priority_js_1.ORIGIN_PRIORITY[ka.origin] - origin_priority_js_1.ORIGIN_PRIORITY[kb.origin];
|
|
54
|
+
if (po !== 0)
|
|
55
|
+
return po;
|
|
56
|
+
// Final: DefId lexicographic, locale-aware for deterministic cross-platform output.
|
|
57
|
+
return a.def.nodeId.localeCompare(b.def.nodeId);
|
|
58
|
+
}
|
|
59
|
+
const DEFAULT_KEY = Object.freeze({
|
|
60
|
+
scopeDepth: 0,
|
|
61
|
+
mroDepth: 0,
|
|
62
|
+
origin: 'local',
|
|
63
|
+
});
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `resolveTypeRef` — strict single-return resolver for `TypeRef`s
|
|
4
|
+
* (RFC §4.6; Ring 2 SHARED #916).
|
|
5
|
+
*
|
|
6
|
+
* Narrower contract than `Registry.lookup`: no name-only global fallback, no
|
|
7
|
+
* confidence ranking, no arity check. Used by `Registry.lookup` Step 2 (type-
|
|
8
|
+
* binding propagation) and by any caller that wants the single best type-
|
|
9
|
+
* target for an annotation without paying for the full evidence pipeline.
|
|
10
|
+
*
|
|
11
|
+
* **Algorithm (strict).** Walk the scope chain from `ref.declaredAtScope`:
|
|
12
|
+
*
|
|
13
|
+
* 1. At each scope, inspect `bindings.get(ref.rawName)`:
|
|
14
|
+
* - If one of the bindings is a **type-kind** def with a **strict origin**
|
|
15
|
+
* (`'local' | 'import' | 'namespace' | 'reexport'`), return it.
|
|
16
|
+
* - If any binding for this name exists at this scope but none qualifies
|
|
17
|
+
* (e.g., a local variable named `User` shadows an outer import of class
|
|
18
|
+
* `User`), return `null`. The nearer binding shadows; we do NOT fall
|
|
19
|
+
* through to the global qualified-name index.
|
|
20
|
+
* - Otherwise continue to the parent scope.
|
|
21
|
+
* 2. If the raw name is a dotted path (e.g., `'models.User'`) and the scope
|
|
22
|
+
* walk produced no match, consult `QualifiedNameIndex.byQualifiedName`.
|
|
23
|
+
* Only accept **exactly one** type-kind hit — anything ambiguous returns
|
|
24
|
+
* `null` rather than a guess.
|
|
25
|
+
* 3. Return `null`.
|
|
26
|
+
*
|
|
27
|
+
* **What `'strict' origins' means.** `'wildcard'` is intentionally excluded.
|
|
28
|
+
* A wildcard-expanded name (`from x import *`) is too loose to use as an
|
|
29
|
+
* anchor for type resolution — it gives no signal about whether the name was
|
|
30
|
+
* actually imported. `Registry.lookup` may accept wildcard bindings at its
|
|
31
|
+
* own discretion (with lower evidence weight); `resolveTypeRef` does not.
|
|
32
|
+
*
|
|
33
|
+
* **What 'type-kind' means.** The subset of `NodeLabel` that a type annotation
|
|
34
|
+
* may legitimately reference: class-like, interface-like, enum-like, and
|
|
35
|
+
* alias-like kinds. See `TYPE_KINDS` below.
|
|
36
|
+
*
|
|
37
|
+
* Pure function — safe to call repeatedly; no side effects.
|
|
38
|
+
*/
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.resolveTypeRef = resolveTypeRef;
|
|
41
|
+
// ─── Strict policy constants ────────────────────────────────────────────────
|
|
42
|
+
/** `'wildcard'` is deliberately absent. See file header. */
|
|
43
|
+
const STRICT_ORIGINS = new Set([
|
|
44
|
+
'local',
|
|
45
|
+
'import',
|
|
46
|
+
'namespace',
|
|
47
|
+
'reexport',
|
|
48
|
+
]);
|
|
49
|
+
/**
|
|
50
|
+
* `NodeLabel` values that may appear on the RHS of a type annotation.
|
|
51
|
+
*
|
|
52
|
+
* Includes the usual class-like and interface-like kinds plus the alias-like
|
|
53
|
+
* ones (`TypeAlias`, `Typedef`). `Namespace` is excluded — it is a scope
|
|
54
|
+
* container, not a value type. `Function` / `Method` / `Variable` are
|
|
55
|
+
* excluded by design: a `rawName` bound to them at a strict origin is a
|
|
56
|
+
* *shadowing* binding, which the algorithm short-circuits to `null`.
|
|
57
|
+
*
|
|
58
|
+
* `'Type'` (the generic `NodeLabel` value) is also excluded — verified
|
|
59
|
+
* against `cgraph/src/core/ingestion/` at the time of writing, no
|
|
60
|
+
* production extractor emits `type: 'Type'` for annotation-relevant
|
|
61
|
+
* symbols. Should a future extractor start emitting it, add `'Type'`
|
|
62
|
+
* here and add a test asserting the new path.
|
|
63
|
+
*/
|
|
64
|
+
const TYPE_KINDS = new Set([
|
|
65
|
+
'Class',
|
|
66
|
+
'Interface',
|
|
67
|
+
'Enum',
|
|
68
|
+
'Struct',
|
|
69
|
+
'Union',
|
|
70
|
+
'Trait',
|
|
71
|
+
'TypeAlias',
|
|
72
|
+
'Typedef',
|
|
73
|
+
'Record',
|
|
74
|
+
'Delegate',
|
|
75
|
+
'Annotation',
|
|
76
|
+
'Template',
|
|
77
|
+
]);
|
|
78
|
+
// ─── Main entry point ──────────────────────────────────────────────────────
|
|
79
|
+
function resolveTypeRef(ref, ctx) {
|
|
80
|
+
// Phase 1: scope-chain walk anchored at the declaration site.
|
|
81
|
+
let currentId = ref.declaredAtScope;
|
|
82
|
+
const visited = new Set();
|
|
83
|
+
while (currentId !== null) {
|
|
84
|
+
// Cycle guard — a well-formed scope tree never loops, but a bug in the
|
|
85
|
+
// construction path should fail fast here rather than hanging.
|
|
86
|
+
if (visited.has(currentId))
|
|
87
|
+
return null;
|
|
88
|
+
visited.add(currentId);
|
|
89
|
+
const scope = ctx.scopes.getScope(currentId);
|
|
90
|
+
if (scope === undefined)
|
|
91
|
+
return null; // broken chain = unresolvable
|
|
92
|
+
const bindings = scope.bindings.get(ref.rawName);
|
|
93
|
+
if (bindings !== undefined && bindings.length > 0) {
|
|
94
|
+
// At least one binding exists at this scope → it is the shadowing site.
|
|
95
|
+
// Either one of them qualifies, or the name is shadowed by a non-type.
|
|
96
|
+
for (const binding of bindings) {
|
|
97
|
+
if (!STRICT_ORIGINS.has(binding.origin))
|
|
98
|
+
continue;
|
|
99
|
+
if (TYPE_KINDS.has(binding.def.type)) {
|
|
100
|
+
return binding.def;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Shadowed by a non-type / non-strict-origin binding. Fail fast — no
|
|
104
|
+
// global fallback, no walk to the parent.
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
currentId = scope.parent;
|
|
108
|
+
}
|
|
109
|
+
// Phase 2: dotted fallback via `QualifiedNameIndex`. Only accept a unique
|
|
110
|
+
// type-kind hit; anything ambiguous returns null (strict: no guesses).
|
|
111
|
+
if (ref.rawName.includes('.')) {
|
|
112
|
+
const candidates = ctx.qualifiedNameIndex.get(ref.rawName);
|
|
113
|
+
let onlyTypeDef = null;
|
|
114
|
+
for (const defId of candidates) {
|
|
115
|
+
const def = ctx.defIndex.get(defId);
|
|
116
|
+
if (def === undefined)
|
|
117
|
+
continue;
|
|
118
|
+
if (!TYPE_KINDS.has(def.type))
|
|
119
|
+
continue;
|
|
120
|
+
if (onlyTypeDef !== null)
|
|
121
|
+
return null; // ambiguous
|
|
122
|
+
onlyTypeDef = def;
|
|
123
|
+
}
|
|
124
|
+
if (onlyTypeDef !== null)
|
|
125
|
+
return onlyTypeDef;
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `ScopeId` canonical constructor + string intern pool
|
|
4
|
+
* (RFC §2.2; Ring 2 SHARED #912).
|
|
5
|
+
*
|
|
6
|
+
* `ScopeId` is a deterministic string derived from the scope's file path,
|
|
7
|
+
* byte range, and kind:
|
|
8
|
+
*
|
|
9
|
+
* scope:{filePath}#{startLine}:{startCol}-{endLine}:{endCol}:{kind}
|
|
10
|
+
*
|
|
11
|
+
* Two scopes produced by reparsing the same file at the same positions are
|
|
12
|
+
* `===`-equal as strings. Beyond the canonical shape, `makeScopeId` also
|
|
13
|
+
* **interns** the string through a process-local pool, so repeated calls
|
|
14
|
+
* with structurally identical inputs return the same string reference —
|
|
15
|
+
* making `Map<ScopeId, ...>` lookups and cache keys identity-fast.
|
|
16
|
+
*
|
|
17
|
+
* The intern pool is unbounded. The number of distinct `ScopeId`s across a
|
|
18
|
+
* single indexing run is O(total scopes in workspace), which is bounded by
|
|
19
|
+
* source-text size and already in memory; interning adds no asymptotic
|
|
20
|
+
* pressure. `clearScopeIdInternPool` is exported for test isolation.
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.makeScopeId = makeScopeId;
|
|
24
|
+
exports.clearScopeIdInternPool = clearScopeIdInternPool;
|
|
25
|
+
/**
|
|
26
|
+
* Build a canonical `ScopeId` from its structural parts and intern it.
|
|
27
|
+
*
|
|
28
|
+
* Pure + referentially transparent: given the same input shape, always
|
|
29
|
+
* returns the same string reference for the lifetime of the pool.
|
|
30
|
+
*/
|
|
31
|
+
function makeScopeId(input) {
|
|
32
|
+
const raw = `scope:${input.filePath}#${input.range.startLine}:${input.range.startCol}-${input.range.endLine}:${input.range.endCol}:${input.kind}`;
|
|
33
|
+
const existing = INTERN_POOL.get(raw);
|
|
34
|
+
if (existing !== undefined)
|
|
35
|
+
return existing;
|
|
36
|
+
INTERN_POOL.set(raw, raw);
|
|
37
|
+
return raw;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Drop the intern pool. Intended for test setup/teardown — production code
|
|
41
|
+
* should not need this, since the pool's memory usage is bounded by the
|
|
42
|
+
* number of live scopes and cleaning it mid-run would break identity
|
|
43
|
+
* equality for existing scope ids.
|
|
44
|
+
*/
|
|
45
|
+
function clearScopeIdInternPool() {
|
|
46
|
+
INTERN_POOL.clear();
|
|
47
|
+
}
|
|
48
|
+
/** Internal: shared intern pool (process-local). */
|
|
49
|
+
const INTERN_POOL = new Map();
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `ScopeTree` — the lexical-scope spine of the `SemanticModel`
|
|
4
|
+
* (RFC §2.2 + §3.1; Ring 2 SHARED #912).
|
|
5
|
+
*
|
|
6
|
+
* Generalizes the `enclosingFunctions` pattern from closed PR #902 to
|
|
7
|
+
* arbitrary `ScopeKind`s. Owns the (parent ↔ children) relationship
|
|
8
|
+
* derived from each `Scope.parent` pointer, and validates the structural
|
|
9
|
+
* invariants a well-formed scope tree must satisfy.
|
|
10
|
+
*
|
|
11
|
+
* Invariants enforced at build time (throw on violation):
|
|
12
|
+
*
|
|
13
|
+
* - Every non-`Module` scope has a non-null parent.
|
|
14
|
+
* - Every parent pointer references a scope that was also supplied to
|
|
15
|
+
* `buildScopeTree`.
|
|
16
|
+
* - Parent range **strictly contains** child range.
|
|
17
|
+
* - Sibling ranges under the same parent do not overlap.
|
|
18
|
+
* - Parent and child live in the same `filePath`. (Cross-file parent
|
|
19
|
+
* pointers would be a category error — a `File` scope is not the
|
|
20
|
+
* parent of another file's scopes; imports do that job.)
|
|
21
|
+
*
|
|
22
|
+
* Satisfies the `ScopeLookup` contract (defined in `./types.js`), so
|
|
23
|
+
* `resolveTypeRef` (#916) and the scope-aware registries (#917) can take a
|
|
24
|
+
* `ScopeTree` directly without adapters.
|
|
25
|
+
*
|
|
26
|
+
* Immutable surface: `byId` is a `ReadonlyMap`; children arrays are
|
|
27
|
+
* `Object.freeze`d; miss lookups return a shared frozen empty array.
|
|
28
|
+
*/
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.ScopeTreeInvariantError = void 0;
|
|
31
|
+
exports.buildScopeTree = buildScopeTree;
|
|
32
|
+
exports.canParentScope = canParentScope;
|
|
33
|
+
// ─── Build errors ───────────────────────────────────────────────────────────
|
|
34
|
+
/**
|
|
35
|
+
* Thrown by `buildScopeTree` when the input violates a structural
|
|
36
|
+
* invariant. Carries the offending ids + the invariant name so failed
|
|
37
|
+
* extraction pipelines can report actionable diagnostics.
|
|
38
|
+
*/
|
|
39
|
+
class ScopeTreeInvariantError extends Error {
|
|
40
|
+
invariant;
|
|
41
|
+
constructor(invariant, message) {
|
|
42
|
+
super(message);
|
|
43
|
+
this.invariant = invariant;
|
|
44
|
+
this.name = 'ScopeTreeInvariantError';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.ScopeTreeInvariantError = ScopeTreeInvariantError;
|
|
48
|
+
// ─── Builder ───────────────────────────────────────────────────────────────
|
|
49
|
+
/**
|
|
50
|
+
* Build an immutable `ScopeTree` from a flat list of `Scope` records.
|
|
51
|
+
*
|
|
52
|
+
* Throws `ScopeTreeInvariantError` on the first invariant violation; a
|
|
53
|
+
* malformed tree is a bug in the extraction pipeline, not a data case for
|
|
54
|
+
* consumers to handle, so fail-fast is the correct posture.
|
|
55
|
+
*/
|
|
56
|
+
function buildScopeTree(scopes) {
|
|
57
|
+
const byId = new Map();
|
|
58
|
+
const childrenById = new Map();
|
|
59
|
+
// ── Pass 1: collect by id + duplicate check ───────────────────────────
|
|
60
|
+
for (const scope of scopes) {
|
|
61
|
+
if (byId.has(scope.id)) {
|
|
62
|
+
throw new ScopeTreeInvariantError('duplicate-scope-id', `Two scopes share id '${scope.id}'. Scope ids must be unique per tree.`);
|
|
63
|
+
}
|
|
64
|
+
byId.set(scope.id, scope);
|
|
65
|
+
}
|
|
66
|
+
// ── Pass 2: validate parent pointers + build children buckets ─────────
|
|
67
|
+
for (const scope of scopes) {
|
|
68
|
+
if (scope.parent === null) {
|
|
69
|
+
if (scope.kind !== 'Module') {
|
|
70
|
+
throw new ScopeTreeInvariantError('non-module-requires-parent', `Scope '${scope.id}' has kind '${scope.kind}' but no parent. Only 'Module' scopes may be root-level.`);
|
|
71
|
+
}
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const parent = byId.get(scope.parent);
|
|
75
|
+
if (parent === undefined) {
|
|
76
|
+
throw new ScopeTreeInvariantError('parent-not-found', `Scope '${scope.id}' references parent '${scope.parent}' which is not part of this tree.`);
|
|
77
|
+
}
|
|
78
|
+
if (parent.filePath !== scope.filePath) {
|
|
79
|
+
throw new ScopeTreeInvariantError('parent-must-share-filepath', `Scope '${scope.id}' (${scope.filePath}) has parent '${parent.id}' in a different file (${parent.filePath}). Parent/child scopes must share filePath.`);
|
|
80
|
+
}
|
|
81
|
+
if (!canParentScope(parent.range, scope.range, parent.kind, scope.kind)) {
|
|
82
|
+
throw new ScopeTreeInvariantError('parent-must-contain-child', `Parent scope '${parent.id}' at ${formatRange(parent.range)} does not contain child '${scope.id}' at ${formatRange(scope.range)} (allowed: strict containment, or equal-range Module-as-parent).`);
|
|
83
|
+
}
|
|
84
|
+
let bucket = childrenById.get(parent.id);
|
|
85
|
+
if (bucket === undefined) {
|
|
86
|
+
bucket = [];
|
|
87
|
+
childrenById.set(parent.id, bucket);
|
|
88
|
+
}
|
|
89
|
+
bucket.push(scope.id);
|
|
90
|
+
}
|
|
91
|
+
// ── Pass 3: sibling-overlap check ─────────────────────────────────────
|
|
92
|
+
for (const [parentId, childIds] of childrenById) {
|
|
93
|
+
if (childIds.length < 2)
|
|
94
|
+
continue;
|
|
95
|
+
// Sort siblings by (startLine, startCol) for an O(n log n) pairwise
|
|
96
|
+
// scan instead of O(n²) all-pairs.
|
|
97
|
+
const children = childIds.map((id) => byId.get(id)).slice();
|
|
98
|
+
children.sort((a, b) => comparePosition(a.range, b.range));
|
|
99
|
+
for (let i = 1; i < children.length; i++) {
|
|
100
|
+
const prev = children[i - 1];
|
|
101
|
+
const curr = children[i];
|
|
102
|
+
if (rangesOverlap(prev.range, curr.range)) {
|
|
103
|
+
throw new ScopeTreeInvariantError('sibling-ranges-overlap', `Sibling scopes under parent '${parentId}' overlap: '${prev.id}' ${formatRange(prev.range)} and '${curr.id}' ${formatRange(curr.range)}.`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Freeze children arrays so the surface is truly read-only.
|
|
108
|
+
const frozenChildren = new Map();
|
|
109
|
+
for (const [parentId, childIds] of childrenById) {
|
|
110
|
+
frozenChildren.set(parentId, Object.freeze(childIds.slice()));
|
|
111
|
+
}
|
|
112
|
+
return freezeTree(byId, frozenChildren);
|
|
113
|
+
}
|
|
114
|
+
// ─── Internals ──────────────────────────────────────────────────────────────
|
|
115
|
+
const EMPTY_CHILDREN = Object.freeze([]);
|
|
116
|
+
function freezeTree(byId, childrenById) {
|
|
117
|
+
return {
|
|
118
|
+
byId,
|
|
119
|
+
get size() {
|
|
120
|
+
return byId.size;
|
|
121
|
+
},
|
|
122
|
+
getScope(id) {
|
|
123
|
+
return byId.get(id);
|
|
124
|
+
},
|
|
125
|
+
getParent(id) {
|
|
126
|
+
const scope = byId.get(id);
|
|
127
|
+
if (scope === undefined || scope.parent === null)
|
|
128
|
+
return undefined;
|
|
129
|
+
return byId.get(scope.parent);
|
|
130
|
+
},
|
|
131
|
+
getChildren(id) {
|
|
132
|
+
return childrenById.get(id) ?? EMPTY_CHILDREN;
|
|
133
|
+
},
|
|
134
|
+
getAncestors(id) {
|
|
135
|
+
const start = byId.get(id);
|
|
136
|
+
if (start === undefined || start.parent === null)
|
|
137
|
+
return EMPTY_CHILDREN;
|
|
138
|
+
const out = [];
|
|
139
|
+
const visited = new Set([id]);
|
|
140
|
+
let cursor = start.parent;
|
|
141
|
+
while (cursor !== null && !visited.has(cursor)) {
|
|
142
|
+
visited.add(cursor);
|
|
143
|
+
out.push(cursor);
|
|
144
|
+
const next = byId.get(cursor);
|
|
145
|
+
cursor = next === undefined ? null : next.parent;
|
|
146
|
+
}
|
|
147
|
+
return Object.freeze(out);
|
|
148
|
+
},
|
|
149
|
+
has(id) {
|
|
150
|
+
return byId.has(id);
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* `outer` strictly contains `inner` when `outer`'s start is at or before
|
|
156
|
+
* `inner`'s start, `outer`'s end is at or after `inner`'s end, and they are
|
|
157
|
+
* not the exact same range. Equal ranges are rejected — a child cannot
|
|
158
|
+
* occupy the exact same span as its parent.
|
|
159
|
+
*/
|
|
160
|
+
function rangeStrictlyContains(outer, inner) {
|
|
161
|
+
if (outer.startLine === inner.startLine &&
|
|
162
|
+
outer.startCol === inner.startCol &&
|
|
163
|
+
outer.endLine === inner.endLine &&
|
|
164
|
+
outer.endCol === inner.endCol) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
const outerStartsAtOrBefore = outer.startLine < inner.startLine ||
|
|
168
|
+
(outer.startLine === inner.startLine && outer.startCol <= inner.startCol);
|
|
169
|
+
const outerEndsAtOrAfter = outer.endLine > inner.endLine ||
|
|
170
|
+
(outer.endLine === inner.endLine && outer.endCol >= inner.endCol);
|
|
171
|
+
return outerStartsAtOrBefore && outerEndsAtOrAfter;
|
|
172
|
+
}
|
|
173
|
+
function rangesEqual(a, b) {
|
|
174
|
+
return (a.startLine === b.startLine &&
|
|
175
|
+
a.startCol === b.startCol &&
|
|
176
|
+
a.endLine === b.endLine &&
|
|
177
|
+
a.endCol === b.endCol);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Whether `outer` (kind `outerKind`) is a valid parent for `inner` (kind
|
|
181
|
+
* `innerKind`).
|
|
182
|
+
*
|
|
183
|
+
* Strict containment is the general rule. The single carve-out is the
|
|
184
|
+
* `Module`/non-`Module` pair whose ranges are exactly equal — this happens
|
|
185
|
+
* naturally when tree-sitter reports identical byte spans for the
|
|
186
|
+
* `compilation_unit` (or equivalent file-root construct) and the file's
|
|
187
|
+
* single top-level scope. Common shape: a C# file consisting of nothing
|
|
188
|
+
* but `namespace X { ... }` with no leading or trailing trivia outside the
|
|
189
|
+
* namespace's `{}` body — `compilation_unit` and `namespace_declaration`
|
|
190
|
+
* both span exactly the same byte range. The `Module` is the universal
|
|
191
|
+
* outer of any file-level scope by language semantics, so coincident
|
|
192
|
+
* ranges should not break the parent chain.
|
|
193
|
+
*
|
|
194
|
+
* The carve-out is direction-asymmetric: only `Module`-as-outer parents a
|
|
195
|
+
* same-range non-`Module`, never the reverse. This preserves the
|
|
196
|
+
* acyclicity buildScopeTree relies on, and matches the corresponding
|
|
197
|
+
* helper in `scope-extractor.ts` so `pass1BuildScopes` and the validator
|
|
198
|
+
* agree on what a well-formed parent edge looks like.
|
|
199
|
+
*/
|
|
200
|
+
function canParentScope(outer, inner, outerKind, innerKind) {
|
|
201
|
+
if (rangeStrictlyContains(outer, inner))
|
|
202
|
+
return true;
|
|
203
|
+
if (outerKind === 'Module' && innerKind !== 'Module' && rangesEqual(outer, inner))
|
|
204
|
+
return true;
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Two ranges overlap when neither finishes before the other begins. Ranges
|
|
209
|
+
* that merely touch at a single boundary point (`a.end === b.start`) do
|
|
210
|
+
* NOT overlap — this matches tree-sitter's half-open-like range semantics
|
|
211
|
+
* and the typical "sibling blocks meet but don't overlap" pattern.
|
|
212
|
+
*/
|
|
213
|
+
function rangesOverlap(a, b) {
|
|
214
|
+
const aEndsBeforeB = a.endLine < b.startLine || (a.endLine === b.startLine && a.endCol <= b.startCol);
|
|
215
|
+
const bEndsBeforeA = b.endLine < a.startLine || (b.endLine === a.startLine && b.endCol <= a.startCol);
|
|
216
|
+
return !(aEndsBeforeB || bEndsBeforeA);
|
|
217
|
+
}
|
|
218
|
+
function comparePosition(a, b) {
|
|
219
|
+
if (a.startLine !== b.startLine)
|
|
220
|
+
return a.startLine - b.startLine;
|
|
221
|
+
return a.startCol - b.startCol;
|
|
222
|
+
}
|
|
223
|
+
function formatRange(r) {
|
|
224
|
+
return `${r.startLine}:${r.startCol}-${r.endLine}:${r.endCol}`;
|
|
225
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `SymbolDefinition` — the canonical shape of an indexed symbol record.
|
|
4
|
+
*
|
|
5
|
+
* Historically defined in `cgraph/src/core/ingestion/model/symbol-table.ts`;
|
|
6
|
+
* moved into `cgraph-shared` as part of RFC #909 Ring 1 (#910) so the
|
|
7
|
+
* scope-resolution types that reference it can live in the shared package
|
|
8
|
+
* alongside their consumers (`cgraph/` and `cgraph-web/`).
|
|
9
|
+
*
|
|
10
|
+
* Shape is unchanged from the prior local definition.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Scope-resolution type definitions — RFC §2 data model (authoritative source).
|
|
4
|
+
*
|
|
5
|
+
* See: https://www.notion.so/346dc50b6ed281cfaacbe480bf231d50
|
|
6
|
+
*
|
|
7
|
+
* Anti-drift rule: every type, interface, and enum defined here is the single
|
|
8
|
+
* source of truth. Later code that references these names must import them
|
|
9
|
+
* from `cgraph-shared`; it must not re-define them locally.
|
|
10
|
+
*
|
|
11
|
+
* Lifecycle contract (RFC §2.8): scopes are **constructed during extraction,
|
|
12
|
+
* linked during finalize, immutable after finalize**. All fields are
|
|
13
|
+
* `readonly` at the type level; `Object.freeze` is applied at runtime in dev
|
|
14
|
+
* builds.
|
|
15
|
+
*
|
|
16
|
+
* Two structures are populated after freeze:
|
|
17
|
+
* 1. `ReferenceIndex` — by resolution, before emission.
|
|
18
|
+
* 2. `ScopeResolutionIndexes.bindingAugmentations` — the dedicated
|
|
19
|
+
* append-only post-finalize binding channel (e.g. C# same-namespace
|
|
20
|
+
* cross-file fanout). The companion `indexes.bindings` is the
|
|
21
|
+
* finalize-output channel and is deep-frozen by `materializeBindings`;
|
|
22
|
+
* walkers consult both via `lookupBindingsAt`. See `ScopeResolver`
|
|
23
|
+
* Invariant I8 for the full lifecycle contract.
|
|
24
|
+
*/
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Test-only helpers.
|
|
4
|
+
*
|
|
5
|
+
* Symbols here are reachable from `cgraph-shared/test-helpers` so test
|
|
6
|
+
* suites can reset shared registries or exercise internal classifiers,
|
|
7
|
+
* but they are deliberately NOT re-exported from the main `cgraph-shared`
|
|
8
|
+
* barrel. Production consumers should never import this module — calling
|
|
9
|
+
* `__resetBreakerRegistry__()` from a tool implementation would silently
|
|
10
|
+
* nuke every circuit breaker process-wide.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.classifyOutcome = exports.__resetBreakerRegistry__ = void 0;
|
|
14
|
+
var circuit_breaker_js_1 = require("./integrations/circuit-breaker.js");
|
|
15
|
+
Object.defineProperty(exports, "__resetBreakerRegistry__", { enumerable: true, get: function () { return circuit_breaker_js_1.__resetBreakerRegistry__; } });
|
|
16
|
+
var resilient_fetch_js_1 = require("./integrations/resilient-fetch.js");
|
|
17
|
+
Object.defineProperty(exports, "classifyOutcome", { enumerable: true, get: function () { return resilient_fetch_js_1.classifyOutcome; } });
|