@lzehrung/codegraph 2.3.31 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -141
- package/codegraph-skill/codegraph/SKILL.md +8 -6
- package/dist/agent/artifact.d.ts +2 -0
- package/dist/agent/artifact.d.ts.map +1 -1
- package/dist/agent/artifact.js.map +1 -1
- package/dist/agent/call-hierarchy.js +2 -4
- package/dist/agent/call-hierarchy.js.map +1 -1
- package/dist/agent/explore.d.ts +1 -1
- package/dist/agent/explore.d.ts.map +1 -1
- package/dist/agent/explore.js +3 -2
- package/dist/agent/explore.js.map +1 -1
- package/dist/agent/refactor-plan.js +2 -4
- package/dist/agent/refactor-plan.js.map +1 -1
- package/dist/agent/rename-preview.d.ts.map +1 -1
- package/dist/agent/rename-preview.js +4 -3
- package/dist/agent/rename-preview.js.map +1 -1
- package/dist/agent/search.d.ts.map +1 -1
- package/dist/agent/search.js +5 -3
- package/dist/agent/search.js.map +1 -1
- package/dist/agent/semantic-symbols.d.ts.map +1 -1
- package/dist/agent/semantic-symbols.js +2 -3
- package/dist/agent/semantic-symbols.js.map +1 -1
- package/dist/agent/session.d.ts +3 -0
- package/dist/agent/session.d.ts.map +1 -1
- package/dist/agent/session.js +10 -2
- package/dist/agent/session.js.map +1 -1
- package/dist/agent/type-hierarchy.js +2 -4
- package/dist/agent/type-hierarchy.js.map +1 -1
- package/dist/agent/workspace-symbols.d.ts.map +1 -1
- package/dist/agent/workspace-symbols.js +2 -3
- package/dist/agent/workspace-symbols.js.map +1 -1
- package/dist/agent-tools.d.ts +0 -4
- package/dist/agent-tools.d.ts.map +1 -1
- package/dist/agent-tools.js +3 -6
- package/dist/agent-tools.js.map +1 -1
- package/dist/analysis-summary.d.ts +8 -4
- package/dist/analysis-summary.d.ts.map +1 -1
- package/dist/analysis-summary.js +15 -66
- package/dist/analysis-summary.js.map +1 -1
- package/dist/bin/cli.js +51145 -41770
- package/dist/bin/query-index-worker.js +122 -82
- package/dist/cli/affected.d.ts.map +1 -1
- package/dist/cli/affected.js +4 -1
- package/dist/cli/affected.js.map +1 -1
- package/dist/cli/command-catalog.js +1 -1
- package/dist/cli/command-catalog.js.map +1 -1
- package/dist/cli/command-table.d.ts.map +1 -1
- package/dist/cli/command-table.js +9 -17
- package/dist/cli/command-table.js.map +1 -1
- package/dist/cli/context.js +10 -10
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/drift.d.ts +0 -2
- package/dist/cli/drift.d.ts.map +1 -1
- package/dist/cli/drift.js +0 -1
- package/dist/cli/drift.js.map +1 -1
- package/dist/cli/graph-delta.d.ts +0 -2
- package/dist/cli/graph-delta.d.ts.map +1 -1
- package/dist/cli/graph-delta.js +0 -4
- package/dist/cli/graph-delta.js.map +1 -1
- package/dist/cli/graph-queries.d.ts.map +1 -1
- package/dist/cli/graph-queries.js +27 -1
- package/dist/cli/graph-queries.js.map +1 -1
- package/dist/cli/graph.d.ts +0 -3
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +4 -14
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/help.d.ts +34 -34
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +9 -14
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/impact.d.ts +0 -2
- package/dist/cli/impact.d.ts.map +1 -1
- package/dist/cli/impact.js +0 -1
- package/dist/cli/impact.js.map +1 -1
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/inspect.d.ts +0 -2
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +5 -8
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/invocation-context.d.ts +0 -3
- package/dist/cli/invocation-context.d.ts.map +1 -1
- package/dist/cli/invocation-context.js +4 -16
- package/dist/cli/invocation-context.js.map +1 -1
- package/dist/cli/navigation.d.ts +0 -2
- package/dist/cli/navigation.d.ts.map +1 -1
- package/dist/cli/navigation.js +0 -1
- package/dist/cli/navigation.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +4 -14
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/review.d.ts +0 -2
- package/dist/cli/review.d.ts.map +1 -1
- package/dist/cli/review.js +0 -5
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/root-policy.d.ts +0 -2
- package/dist/cli/root-policy.d.ts.map +1 -1
- package/dist/cli/root-policy.js +0 -8
- package/dist/cli/root-policy.js.map +1 -1
- package/dist/cli/server.d.ts.map +1 -1
- package/dist/cli/server.js +0 -2
- package/dist/cli/server.js.map +1 -1
- package/dist/drift/artifact.d.ts.map +1 -1
- package/dist/drift/artifact.js +15 -18
- package/dist/drift/artifact.js.map +1 -1
- package/dist/drift/compare.js +1 -1
- package/dist/drift/compare.js.map +1 -1
- package/dist/drift/git.d.ts.map +1 -1
- package/dist/drift/git.js +0 -1
- package/dist/drift/git.js.map +1 -1
- package/dist/drift/snapshot.d.ts.map +1 -1
- package/dist/drift/snapshot.js +5 -7
- package/dist/drift/snapshot.js.map +1 -1
- package/dist/drift/types.d.ts +2 -2
- package/dist/drift/types.d.ts.map +1 -1
- package/dist/drift/types.js.map +1 -1
- package/dist/duplicates/unit-cache.d.ts +0 -1
- package/dist/duplicates/unit-cache.d.ts.map +1 -1
- package/dist/duplicates/unit-cache.js +3 -11
- package/dist/duplicates/unit-cache.js.map +1 -1
- package/dist/duplicates/units.d.ts +5 -5
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +25 -88
- package/dist/duplicates/units.js.map +1 -1
- package/dist/graph-builder.d.ts +0 -6
- package/dist/graph-builder.d.ts.map +1 -1
- package/dist/graph-builder.js +6 -11
- package/dist/graph-builder.js.map +1 -1
- package/dist/graph-edge-collector.d.ts +4 -6
- package/dist/graph-edge-collector.d.ts.map +1 -1
- package/dist/graph-edge-collector.js +31 -26
- package/dist/graph-edge-collector.js.map +1 -1
- package/dist/graphs/angularjs.d.ts.map +1 -1
- package/dist/graphs/angularjs.js +2 -1
- package/dist/graphs/angularjs.js.map +1 -1
- package/dist/graphs/edge-resolution.d.ts +4 -1
- package/dist/graphs/edge-resolution.d.ts.map +1 -1
- package/dist/graphs/edge-resolution.js +24 -76
- package/dist/graphs/edge-resolution.js.map +1 -1
- package/dist/graphs/specifiers.d.ts +4 -13
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +80 -173
- package/dist/graphs/specifiers.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/ast.d.ts +20 -0
- package/dist/graphs/symbol-graph-detailed/ast.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/ast.js +154 -15
- package/dist/graphs/symbol-graph-detailed/ast.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +60 -8
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.js +997 -168
- package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts +2 -1
- package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/import-aliases.js +150 -7
- package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/member-chains.d.ts +1 -0
- package/dist/graphs/symbol-graph-detailed/member-chains.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/member-chains.js +3 -1
- package/dist/graphs/symbol-graph-detailed/member-chains.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +141 -25
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js +1015 -166
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed.js +449 -46
- package/dist/graphs/symbol-graph-detailed.js.map +1 -1
- package/dist/graphs/symbol-graph.d.ts +2 -0
- package/dist/graphs/symbol-graph.d.ts.map +1 -1
- package/dist/graphs/symbol-graph.js +34 -16
- package/dist/graphs/symbol-graph.js.map +1 -1
- package/dist/graphs/types.d.ts +0 -4
- package/dist/graphs/types.d.ts.map +1 -1
- package/dist/graphs.d.ts +1 -1
- package/dist/graphs.d.ts.map +1 -1
- package/dist/impact/call-compatibility/providers/index.d.ts +4 -4
- package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
- package/dist/impact/call-compatibility/providers/index.js +6 -6
- package/dist/impact/call-compatibility/providers/index.js.map +1 -1
- package/dist/impact/call-compatibility/providers/types.d.ts +2 -0
- package/dist/impact/call-compatibility/providers/types.d.ts.map +1 -1
- package/dist/impact/call-compatibility/types.d.ts +6 -0
- package/dist/impact/call-compatibility/types.d.ts.map +1 -1
- package/dist/impact/call-compatibility.d.ts.map +1 -1
- package/dist/impact/call-compatibility.js +316 -526
- package/dist/impact/call-compatibility.js.map +1 -1
- package/dist/impact/map.js +1 -0
- package/dist/impact/map.js.map +1 -1
- package/dist/impact/reference-cache.d.ts.map +1 -1
- package/dist/impact/reference-cache.js +2 -2
- package/dist/impact/reference-cache.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indexer/ambiguous-resolution.d.ts +11 -0
- package/dist/indexer/ambiguous-resolution.d.ts.map +1 -0
- package/dist/indexer/ambiguous-resolution.js +19 -0
- package/dist/indexer/ambiguous-resolution.js.map +1 -0
- package/dist/indexer/build-cache/module-cache.d.ts +39 -1
- package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache/module-cache.js +218 -21
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +30 -44
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +32 -71
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts +3 -3
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +164 -84
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/build-cache/reports.d.ts +0 -2
- package/dist/indexer/build-cache/reports.d.ts.map +1 -1
- package/dist/indexer/build-cache/reports.js +0 -97
- package/dist/indexer/build-cache/reports.js.map +1 -1
- package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
- package/dist/indexer/build-cache/resolver-environment.js +32 -2
- package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
- package/dist/indexer/build-cache.d.ts +2 -2
- package/dist/indexer/build-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache.js +2 -2
- package/dist/indexer/build-cache.js.map +1 -1
- package/dist/indexer/build-index.d.ts.map +1 -1
- package/dist/indexer/build-index.js +656 -71
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/indexer/build-workers.d.ts.map +1 -1
- package/dist/indexer/build-workers.js +9 -9
- package/dist/indexer/build-workers.js.map +1 -1
- package/dist/indexer/call-hierarchy.js +1 -1
- package/dist/indexer/call-hierarchy.js.map +1 -1
- package/dist/indexer/callable-identity.d.ts +24 -0
- package/dist/indexer/callable-identity.d.ts.map +1 -0
- package/dist/indexer/callable-identity.js +111 -0
- package/dist/indexer/callable-identity.js.map +1 -0
- package/dist/indexer/compilation-units.d.ts +103 -0
- package/dist/indexer/compilation-units.d.ts.map +1 -0
- package/dist/indexer/compilation-units.js +607 -0
- package/dist/indexer/compilation-units.js.map +1 -0
- package/dist/indexer/cpp-callables.d.ts +25 -0
- package/dist/indexer/cpp-callables.d.ts.map +1 -0
- package/dist/indexer/cpp-callables.js +562 -0
- package/dist/indexer/cpp-callables.js.map +1 -0
- package/dist/indexer/declaration-visibility.d.ts +43 -2
- package/dist/indexer/declaration-visibility.d.ts.map +1 -1
- package/dist/indexer/declaration-visibility.js +158 -2
- package/dist/indexer/declaration-visibility.js.map +1 -1
- package/dist/indexer/expand-star-imports.d.ts +6 -1
- package/dist/indexer/expand-star-imports.d.ts.map +1 -1
- package/dist/indexer/expand-star-imports.js +131 -37
- package/dist/indexer/expand-star-imports.js.map +1 -1
- package/dist/indexer/finalize.d.ts.map +1 -1
- package/dist/indexer/finalize.js +0 -1
- package/dist/indexer/finalize.js.map +1 -1
- package/dist/indexer/import-resolution-tables.d.ts +72 -0
- package/dist/indexer/import-resolution-tables.d.ts.map +1 -0
- package/dist/indexer/import-resolution-tables.js +137 -0
- package/dist/indexer/import-resolution-tables.js.map +1 -0
- package/dist/indexer/import-types.d.ts +54 -0
- package/dist/indexer/import-types.d.ts.map +1 -1
- package/dist/indexer/import-types.js +24 -1
- package/dist/indexer/import-types.js.map +1 -1
- package/dist/indexer/imports/context.d.ts +16 -1
- package/dist/indexer/imports/context.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.d.ts +13 -1
- package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.js +149 -30
- package/dist/indexer/imports/import-binding-tables.js.map +1 -1
- package/dist/indexer/imports/js-text-imports.js +4 -4
- package/dist/indexer/imports/js-text-imports.js.map +1 -1
- package/dist/indexer/imports/native-captures.d.ts.map +1 -1
- package/dist/indexer/imports/native-captures.js +24 -6
- package/dist/indexer/imports/native-captures.js.map +1 -1
- package/dist/indexer/imports/python.d.ts +10 -2
- package/dist/indexer/imports/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +128 -112
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
- package/dist/indexer/imports/text-import-extractors.js +68 -19
- package/dist/indexer/imports/text-import-extractors.js.map +1 -1
- package/dist/indexer/imports.d.ts +3 -4
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +116 -72
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/incremental-plan.d.ts +33 -0
- package/dist/indexer/incremental-plan.d.ts.map +1 -1
- package/dist/indexer/incremental-plan.js +203 -1
- package/dist/indexer/incremental-plan.js.map +1 -1
- package/dist/indexer/locals-and-exports.d.ts +3 -2
- package/dist/indexer/locals-and-exports.d.ts.map +1 -1
- package/dist/indexer/locals-and-exports.js +659 -78
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/member-selection.d.ts +46 -0
- package/dist/indexer/member-selection.d.ts.map +1 -0
- package/dist/indexer/member-selection.js +169 -0
- package/dist/indexer/member-selection.js.map +1 -0
- package/dist/indexer/name-lookup-policies/c-family.d.ts +7 -0
- package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -0
- package/dist/indexer/name-lookup-policies/c-family.js +137 -0
- package/dist/indexer/name-lookup-policies/c-family.js.map +1 -0
- package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts +11 -0
- package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts.map +1 -0
- package/dist/indexer/name-lookup-policies/csharp-using-static.js +136 -0
- package/dist/indexer/name-lookup-policies/csharp-using-static.js.map +1 -0
- package/dist/indexer/name-lookup-policies/implicit-self.d.ts +10 -0
- package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -0
- package/dist/indexer/name-lookup-policies/implicit-self.js +119 -0
- package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -0
- package/dist/indexer/name-lookup-policies/index.d.ts +3 -0
- package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -0
- package/dist/indexer/name-lookup-policies/index.js +132 -0
- package/dist/indexer/name-lookup-policies/index.js.map +1 -0
- package/dist/indexer/name-lookup-policies/php.d.ts +3 -0
- package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -0
- package/dist/indexer/name-lookup-policies/php.js +82 -0
- package/dist/indexer/name-lookup-policies/php.js.map +1 -0
- package/dist/indexer/name-resolution-types.d.ts +101 -0
- package/dist/indexer/name-resolution-types.d.ts.map +1 -0
- package/dist/indexer/name-resolution-types.js +2 -0
- package/dist/indexer/name-resolution-types.js.map +1 -0
- package/dist/indexer/name-resolution.d.ts +57 -0
- package/dist/indexer/name-resolution.d.ts.map +1 -0
- package/dist/indexer/name-resolution.js +204 -0
- package/dist/indexer/name-resolution.js.map +1 -0
- package/dist/indexer/navigation-cpp.d.ts +58 -0
- package/dist/indexer/navigation-cpp.d.ts.map +1 -0
- package/dist/indexer/navigation-cpp.js +935 -0
- package/dist/indexer/navigation-cpp.js.map +1 -0
- package/dist/indexer/navigation-goto.d.ts +115 -3
- package/dist/indexer/navigation-goto.d.ts.map +1 -1
- package/dist/indexer/navigation-goto.js +2469 -190
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/navigation-local.d.ts +21 -2
- package/dist/indexer/navigation-local.d.ts.map +1 -1
- package/dist/indexer/navigation-local.js +520 -63
- package/dist/indexer/navigation-local.js.map +1 -1
- package/dist/indexer/navigation-php.d.ts +66 -0
- package/dist/indexer/navigation-php.d.ts.map +1 -1
- package/dist/indexer/navigation-php.js +287 -4
- package/dist/indexer/navigation-php.js.map +1 -1
- package/dist/indexer/navigation-provenance.d.ts +1 -1
- package/dist/indexer/navigation-provenance.d.ts.map +1 -1
- package/dist/indexer/navigation-provenance.js +4 -13
- package/dist/indexer/navigation-provenance.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts +73 -6
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +661 -67
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation-resolve.d.ts +46 -2
- package/dist/indexer/navigation-resolve.d.ts.map +1 -1
- package/dist/indexer/navigation-resolve.js +599 -193
- package/dist/indexer/navigation-resolve.js.map +1 -1
- package/dist/indexer/navigation.d.ts +29 -2
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +1092 -153
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/parse-context.d.ts +2 -3
- package/dist/indexer/parse-context.d.ts.map +1 -1
- package/dist/indexer/parse-context.js +8 -21
- package/dist/indexer/parse-context.js.map +1 -1
- package/dist/indexer/php-namespace-symbols.d.ts +66 -0
- package/dist/indexer/php-namespace-symbols.d.ts.map +1 -0
- package/dist/indexer/php-namespace-symbols.js +342 -0
- package/dist/indexer/php-namespace-symbols.js.map +1 -0
- package/dist/indexer/reference-candidates.d.ts.map +1 -1
- package/dist/indexer/reference-candidates.js +13 -7
- package/dist/indexer/reference-candidates.js.map +1 -1
- package/dist/indexer/reference-context.d.ts +2 -0
- package/dist/indexer/reference-context.d.ts.map +1 -1
- package/dist/indexer/reference-context.js +4 -0
- package/dist/indexer/reference-context.js.map +1 -1
- package/dist/indexer/scope-nodes.d.ts +92 -13
- package/dist/indexer/scope-nodes.d.ts.map +1 -1
- package/dist/indexer/scope-nodes.js +212 -20
- package/dist/indexer/scope-nodes.js.map +1 -1
- package/dist/indexer/scope-types.d.ts +29 -1
- package/dist/indexer/scope-types.d.ts.map +1 -1
- package/dist/indexer/scope.d.ts +2 -3
- package/dist/indexer/scope.d.ts.map +1 -1
- package/dist/indexer/scope.js +968 -47
- package/dist/indexer/scope.js.map +1 -1
- package/dist/indexer/shared-owner-identity.d.ts +53 -0
- package/dist/indexer/shared-owner-identity.d.ts.map +1 -0
- package/dist/indexer/shared-owner-identity.js +460 -0
- package/dist/indexer/shared-owner-identity.js.map +1 -0
- package/dist/indexer/shared.d.ts +1 -1
- package/dist/indexer/shared.d.ts.map +1 -1
- package/dist/indexer/shared.js +1 -1
- package/dist/indexer/shared.js.map +1 -1
- package/dist/indexer/star-import-precedence.d.ts +113 -0
- package/dist/indexer/star-import-precedence.d.ts.map +1 -0
- package/dist/indexer/star-import-precedence.js +402 -0
- package/dist/indexer/star-import-precedence.js.map +1 -0
- package/dist/indexer/symbols.d.ts +3 -1
- package/dist/indexer/symbols.d.ts.map +1 -1
- package/dist/indexer/symbols.js +58 -18
- package/dist/indexer/symbols.js.map +1 -1
- package/dist/indexer/ts-callables.d.ts +42 -0
- package/dist/indexer/ts-callables.d.ts.map +1 -0
- package/dist/indexer/ts-callables.js +233 -0
- package/dist/indexer/ts-callables.js.map +1 -0
- package/dist/indexer/types.d.ts +41 -26
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/indexer/unused-exports.d.ts +13 -0
- package/dist/indexer/unused-exports.d.ts.map +1 -0
- package/dist/indexer/unused-exports.js +159 -0
- package/dist/indexer/unused-exports.js.map +1 -0
- package/dist/indexer/workspace-symbols.d.ts.map +1 -1
- package/dist/indexer/workspace-symbols.js +3 -2
- package/dist/indexer/workspace-symbols.js.map +1 -1
- package/dist/indexer.d.ts +3 -8
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js +1 -1
- package/dist/indexer.js.map +1 -1
- package/dist/languages/callable-arity.d.ts +223 -0
- package/dist/languages/callable-arity.d.ts.map +1 -0
- package/dist/languages/callable-arity.js +1199 -0
- package/dist/languages/callable-arity.js.map +1 -0
- package/dist/languages/definitions/c-family.d.ts.map +1 -1
- package/dist/languages/definitions/c-family.js +30 -1
- package/dist/languages/definitions/c-family.js.map +1 -1
- package/dist/languages/definitions/c.d.ts +4 -0
- package/dist/languages/definitions/c.d.ts.map +1 -1
- package/dist/languages/definitions/c.js +19 -0
- package/dist/languages/definitions/c.js.map +1 -1
- package/dist/languages/definitions/cpp.d.ts.map +1 -1
- package/dist/languages/definitions/cpp.js +12 -0
- package/dist/languages/definitions/cpp.js.map +1 -1
- package/dist/languages/definitions/csharp.d.ts.map +1 -1
- package/dist/languages/definitions/csharp.js +2 -8
- package/dist/languages/definitions/csharp.js.map +1 -1
- package/dist/languages/definitions/go.d.ts.map +1 -1
- package/dist/languages/definitions/go.js +3 -0
- package/dist/languages/definitions/go.js.map +1 -1
- package/dist/languages/definitions/javascript.d.ts.map +1 -1
- package/dist/languages/definitions/javascript.js +10 -1
- package/dist/languages/definitions/javascript.js.map +1 -1
- package/dist/languages/definitions/js-family.d.ts +1 -1
- package/dist/languages/definitions/js-family.d.ts.map +1 -1
- package/dist/languages/definitions/js-family.js +7 -1
- package/dist/languages/definitions/js-family.js.map +1 -1
- package/dist/languages/definitions/php.d.ts.map +1 -1
- package/dist/languages/definitions/php.js +5 -1
- package/dist/languages/definitions/php.js.map +1 -1
- package/dist/languages/definitions/typescript.d.ts.map +1 -1
- package/dist/languages/definitions/typescript.js +8 -1
- package/dist/languages/definitions/typescript.js.map +1 -1
- package/dist/languages/definitions/zig.d.ts.map +1 -1
- package/dist/languages/definitions/zig.js +8 -0
- package/dist/languages/definitions/zig.js.map +1 -1
- package/dist/lifecycle/manifest.d.ts.map +1 -1
- package/dist/lifecycle/manifest.js +0 -1
- package/dist/lifecycle/manifest.js.map +1 -1
- package/dist/mcp/handlers.js +14 -7
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/native/byte-index.d.ts +6 -0
- package/dist/native/byte-index.d.ts.map +1 -1
- package/dist/native/byte-index.js +11 -6
- package/dist/native/byte-index.js.map +1 -1
- package/dist/native/contracts.d.ts +2 -3
- package/dist/native/contracts.d.ts.map +1 -1
- package/dist/native/execution.d.ts +9 -9
- package/dist/native/execution.d.ts.map +1 -1
- package/dist/native/execution.js +37 -77
- package/dist/native/execution.js.map +1 -1
- package/dist/native/js-bridge.d.ts +2 -15
- package/dist/native/js-bridge.d.ts.map +1 -1
- package/dist/native/js-bridge.js +2 -15
- package/dist/native/js-bridge.js.map +1 -1
- package/dist/native/query-results.js +2 -2
- package/dist/native/query-results.js.map +1 -1
- package/dist/native/runtime.d.ts +12 -12
- package/dist/native/runtime.d.ts.map +1 -1
- package/dist/native/runtime.js +24 -69
- package/dist/native/runtime.js.map +1 -1
- package/dist/native/tree-sitter-native.d.ts +3 -3
- package/dist/native/tree-sitter-native.d.ts.map +1 -1
- package/dist/native/tree-sitter-native.js +2 -2
- package/dist/native/tree-sitter-native.js.map +1 -1
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +0 -4
- package/dist/presets.js.map +1 -1
- package/dist/review/candidates.d.ts.map +1 -1
- package/dist/review/candidates.js +1 -1
- package/dist/review/candidates.js.map +1 -1
- package/dist/review/deleted.d.ts +3 -3
- package/dist/review/deleted.d.ts.map +1 -1
- package/dist/review/deleted.js +82 -32
- package/dist/review/deleted.js.map +1 -1
- package/dist/review/report.d.ts +1 -0
- package/dist/review/report.d.ts.map +1 -1
- package/dist/review/report.js +1 -1
- package/dist/review/report.js.map +1 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +3 -20
- package/dist/review.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +0 -5
- package/dist/session.js.map +1 -1
- package/dist/sql/navigation.d.ts.map +1 -1
- package/dist/sql/navigation.js +2 -1
- package/dist/sql/navigation.js.map +1 -1
- package/dist/sql/source-graph.d.ts.map +1 -1
- package/dist/sql/source-graph.js +2 -2
- package/dist/sql/source-graph.js.map +1 -1
- package/dist/sqlite/schema.d.ts +1 -1
- package/dist/sqlite/schema.d.ts.map +1 -1
- package/dist/sqlite/schema.js +8 -2
- package/dist/sqlite/schema.js.map +1 -1
- package/dist/sqlite/write.js +2 -2
- package/dist/sqlite/write.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util/bloom-filter.d.ts +8 -1
- package/dist/util/bloom-filter.d.ts.map +1 -1
- package/dist/util/bloom-filter.js +15 -2
- package/dist/util/bloom-filter.js.map +1 -1
- package/dist/util/glob.d.ts +32 -0
- package/dist/util/glob.d.ts.map +1 -0
- package/dist/util/glob.js +137 -0
- package/dist/util/glob.js.map +1 -0
- package/dist/util/graph-edges.d.ts +19 -1
- package/dist/util/graph-edges.d.ts.map +1 -1
- package/dist/util/graph-edges.js +30 -4
- package/dist/util/graph-edges.js.map +1 -1
- package/dist/util/identifiers.d.ts +15 -0
- package/dist/util/identifiers.d.ts.map +1 -1
- package/dist/util/identifiers.js +35 -0
- package/dist/util/identifiers.js.map +1 -1
- package/dist/util/member-access-tables.d.ts +61 -4
- package/dist/util/member-access-tables.d.ts.map +1 -1
- package/dist/util/member-access-tables.js +139 -19
- package/dist/util/member-access-tables.js.map +1 -1
- package/dist/util/member-access.d.ts +17 -0
- package/dist/util/member-access.d.ts.map +1 -1
- package/dist/util/member-access.js +98 -3
- package/dist/util/member-access.js.map +1 -1
- package/dist/util/project-files.d.ts +2 -10
- package/dist/util/project-files.d.ts.map +1 -1
- package/dist/util/project-files.js +29 -51
- package/dist/util/project-files.js.map +1 -1
- package/dist/util/python-type-checking.d.ts +18 -0
- package/dist/util/python-type-checking.d.ts.map +1 -0
- package/dist/util/python-type-checking.js +160 -0
- package/dist/util/python-type-checking.js.map +1 -0
- package/dist/util/resolution/cargo-targets.d.ts +11 -0
- package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
- package/dist/util/resolution/cargo-targets.js +174 -13
- package/dist/util/resolution/cargo-targets.js.map +1 -1
- package/dist/util/resolution/csharp.d.ts +33 -1
- package/dist/util/resolution/csharp.d.ts.map +1 -1
- package/dist/util/resolution/csharp.js +145 -30
- package/dist/util/resolution/csharp.js.map +1 -1
- package/dist/util/resolution/jvm.d.ts +7 -3
- package/dist/util/resolution/jvm.d.ts.map +1 -1
- package/dist/util/resolution/jvm.js +56 -38
- package/dist/util/resolution/jvm.js.map +1 -1
- package/dist/util/resolution/php.d.ts.map +1 -1
- package/dist/util/resolution/php.js +35 -8
- package/dist/util/resolution/php.js.map +1 -1
- package/dist/util/resolution/python.d.ts +9 -0
- package/dist/util/resolution/python.d.ts.map +1 -1
- package/dist/util/resolution/python.js +46 -0
- package/dist/util/resolution/python.js.map +1 -1
- package/dist/util/resolution/rust.d.ts +0 -1
- package/dist/util/resolution/rust.d.ts.map +1 -1
- package/dist/util/resolution/rust.js +95 -35
- package/dist/util/resolution/rust.js.map +1 -1
- package/dist/util/resolution/specifier-targets.d.ts +44 -0
- package/dist/util/resolution/specifier-targets.d.ts.map +1 -0
- package/dist/util/resolution/specifier-targets.js +152 -0
- package/dist/util/resolution/specifier-targets.js.map +1 -0
- package/dist/util/resolution-candidates.d.ts +5 -0
- package/dist/util/resolution-candidates.d.ts.map +1 -1
- package/dist/util/resolution-candidates.js +16 -3
- package/dist/util/resolution-candidates.js.map +1 -1
- package/dist/util/resolution.d.ts +2 -1
- package/dist/util/resolution.d.ts.map +1 -1
- package/dist/util/resolution.js +101 -15
- package/dist/util/resolution.js.map +1 -1
- package/dist/util/specifiers.d.ts +29 -1
- package/dist/util/specifiers.d.ts.map +1 -1
- package/dist/util/specifiers.js +56 -8
- package/dist/util/specifiers.js.map +1 -1
- package/dist/util/trivia.d.ts.map +1 -1
- package/dist/util/trivia.js +49 -30
- package/dist/util/trivia.js.map +1 -1
- package/dist/util/workspace.d.ts.map +1 -1
- package/dist/util/workspace.js +32 -4
- package/dist/util/workspace.js.map +1 -1
- package/docs/mcp.md +3 -2
- package/package.json +5 -7
- package/dist/impact/call-compatibility/providers/profiles.d.ts +0 -80
- package/dist/impact/call-compatibility/providers/profiles.d.ts.map +0 -1
- package/dist/impact/call-compatibility/providers/profiles.js +0 -164
- package/dist/impact/call-compatibility/providers/profiles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/indexer/navigation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/indexer/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { LanguageExtensionMap } from "../languages.js";
|
|
2
2
|
import { type PreparedSFCEmbeddedBlock } from "../languages/file-prep.js";
|
|
3
|
-
import { type NativeQueryResults, type
|
|
3
|
+
import { type NativeQueryResults, type NativeSyntaxTree } from "../native/tree-sitter-native.js";
|
|
4
4
|
import type { NativeFallbackReason } from "../native/contracts.js";
|
|
5
5
|
import type { LanguageSupport } from "../languages.js";
|
|
6
6
|
import type { SyntaxTreeLike } from "../languages/types.js";
|
|
@@ -21,7 +21,6 @@ export type PreparedFileContext = {
|
|
|
21
21
|
file: string;
|
|
22
22
|
source: string;
|
|
23
23
|
sup: LanguageSupport;
|
|
24
|
-
nativeMode?: NativeRuntimeMode;
|
|
25
24
|
embeddedBlocks?: PreparedSFCEmbeddedBlock[];
|
|
26
25
|
nativeQueries: NativeQueryResults | null;
|
|
27
26
|
/** Transferable native tree POJO from workers; avoids a second parse on the main thread. */
|
|
@@ -38,7 +37,7 @@ export type PreparedFileParseAttempt = {
|
|
|
38
37
|
export declare function attemptParsePreparedFileContext(context: PreparedFileContext): PreparedFileParseAttempt;
|
|
39
38
|
export declare function tryParsePreparedFileContext(context: PreparedFileContext): ParsedFileContext | null;
|
|
40
39
|
export declare function parsePreparedFileContext(context: PreparedFileContext): ParsedFileContext;
|
|
41
|
-
export declare function prepareFileForIndexing(file: string,
|
|
40
|
+
export declare function prepareFileForIndexing(file: string, languageExtensions?: LanguageExtensionMap, source?: string, support?: LanguageSupport): Promise<PreparedFileContext>;
|
|
42
41
|
export declare function parseFile(file: string): Promise<ParsedFileContext>;
|
|
43
42
|
export declare function ensureParsedContext(file: string, parsedEntry?: ParsedFileCacheEntry, languageExtensions?: LanguageExtensionMap): Promise<ParsedFileContext>;
|
|
44
43
|
//# sourceMappingURL=parse-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-context.d.ts","sourceRoot":"","sources":["../../src/indexer/parse-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAsB,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,
|
|
1
|
+
{"version":3,"file":"parse-context.d.ts","sourceRoot":"","sources":["../../src/indexer/parse-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAsB,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,eAAe,CAAC;IACrB,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,eAAe,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,eAAe,CAAC;IACrB,cAAc,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC5C,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,4FAA4F;IAC5F,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAoBF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,mBAAmB,GAAG,wBAAwB,CAiDtG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,IAAI,CAElG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAMxF;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,kBAAkB,CAAC,EAAE,oBAAoB,EACzC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,mBAAmB,CAAC,CA+C9B;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAExE;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,oBAAoB,EAClC,kBAAkB,CAAC,EAAE,oBAAoB,GACxC,OAAO,CAAC,iBAAiB,CAAC,CAU5B"}
|
|
@@ -23,7 +23,7 @@ function createGraphOnlySyntaxTree() {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
export function attemptParsePreparedFileContext(context) {
|
|
26
|
-
const { source, sup,
|
|
26
|
+
const { source, sup, nativeQueries, embeddedBlocks } = context;
|
|
27
27
|
const graphOnlyLanguage = isGraphOnlyLanguage(sup.id);
|
|
28
28
|
if (graphOnlyLanguage) {
|
|
29
29
|
return {
|
|
@@ -34,7 +34,6 @@ export function attemptParsePreparedFileContext(context) {
|
|
|
34
34
|
...(embeddedBlocks ? { embeddedBlocks } : {}),
|
|
35
35
|
nativeQueries,
|
|
36
36
|
},
|
|
37
|
-
nativeFallbackReason: "unsupportedLanguage",
|
|
38
37
|
};
|
|
39
38
|
}
|
|
40
39
|
if (context.syntaxTree) {
|
|
@@ -48,14 +47,14 @@ export function attemptParsePreparedFileContext(context) {
|
|
|
48
47
|
},
|
|
49
48
|
};
|
|
50
49
|
}
|
|
51
|
-
if (
|
|
50
|
+
if (Buffer.byteLength(source, "utf8") > DEFAULT_NATIVE_SOURCE_MAX_BYTES) {
|
|
52
51
|
return {
|
|
53
52
|
parsed: null,
|
|
54
53
|
nativeFallbackReason: "sourceTooLarge",
|
|
55
54
|
...(context.nativeError ? { nativeError: context.nativeError } : {}),
|
|
56
55
|
};
|
|
57
56
|
}
|
|
58
|
-
const nativeTreeExecution = getNativeSyntaxTreeExecution(source, sup
|
|
57
|
+
const nativeTreeExecution = getNativeSyntaxTreeExecution(source, sup);
|
|
59
58
|
if (nativeTreeExecution.tree) {
|
|
60
59
|
return {
|
|
61
60
|
parsed: {
|
|
@@ -80,18 +79,9 @@ export function parsePreparedFileContext(context) {
|
|
|
80
79
|
const attempt = attemptParsePreparedFileContext(context);
|
|
81
80
|
if (attempt.parsed)
|
|
82
81
|
return attempt.parsed;
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
source: context.source,
|
|
86
|
-
tree: createGraphOnlySyntaxTree(),
|
|
87
|
-
sup: context.sup,
|
|
88
|
-
...(context.embeddedBlocks ? { embeddedBlocks: context.embeddedBlocks } : {}),
|
|
89
|
-
nativeQueries: context.nativeQueries,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
throw new Error(`Failed to reconstruct syntax tree for ${context.file}`);
|
|
82
|
+
throw new Error(`Failed to reconstruct native syntax tree for ${context.file}: ${attempt.nativeError ?? attempt.nativeFallbackReason ?? "no tree"}`);
|
|
93
83
|
}
|
|
94
|
-
export async function prepareFileForIndexing(file,
|
|
84
|
+
export async function prepareFileForIndexing(file, languageExtensions, source, support) {
|
|
95
85
|
const prep = await prepareSourceInput(file, {
|
|
96
86
|
languageExtensions,
|
|
97
87
|
...(source !== undefined ? { source } : {}),
|
|
@@ -103,18 +93,16 @@ export async function prepareFileForIndexing(file, native, languageExtensions, s
|
|
|
103
93
|
source: prep.source,
|
|
104
94
|
sup: prep.sup,
|
|
105
95
|
...(prep.embeddedBlocks ? { embeddedBlocks: prep.embeddedBlocks } : {}),
|
|
106
|
-
...(native ? { nativeMode: native } : {}),
|
|
107
96
|
nativeQueries: null,
|
|
108
97
|
};
|
|
109
98
|
}
|
|
110
99
|
const sourceBytes = Buffer.byteLength(prep.source, "utf8");
|
|
111
|
-
if (
|
|
100
|
+
if (sourceBytes > DEFAULT_NATIVE_SOURCE_MAX_BYTES) {
|
|
112
101
|
return {
|
|
113
102
|
file,
|
|
114
103
|
source: prep.source,
|
|
115
104
|
sup: prep.sup,
|
|
116
105
|
...(prep.embeddedBlocks ? { embeddedBlocks: prep.embeddedBlocks } : {}),
|
|
117
|
-
...(native ? { nativeMode: native } : {}),
|
|
118
106
|
nativeQueries: null,
|
|
119
107
|
nativeFallbackReason: "sourceTooLarge",
|
|
120
108
|
nativeError: `source exceeds native byte limit (${sourceBytes} > ${DEFAULT_NATIVE_SOURCE_MAX_BYTES})`,
|
|
@@ -127,13 +115,12 @@ export async function prepareFileForIndexing(file, native, languageExtensions, s
|
|
|
127
115
|
// SFC files, which are never routed to workers). Populating `syntaxTree` here lets
|
|
128
116
|
// `attemptParsePreparedFileContext`'s existing `if (context.syntaxTree)` branch reuse it
|
|
129
117
|
// instead of triggering a second parse via `getNativeSyntaxTreeExecution`.
|
|
130
|
-
const nativeExecution = getNativeExtractionExecution(prep.source, prep.sup
|
|
118
|
+
const nativeExecution = getNativeExtractionExecution(prep.source, prep.sup);
|
|
131
119
|
return {
|
|
132
120
|
file,
|
|
133
121
|
source: prep.source,
|
|
134
122
|
sup: prep.sup,
|
|
135
123
|
...(prep.embeddedBlocks ? { embeddedBlocks: prep.embeddedBlocks } : {}),
|
|
136
|
-
...(native ? { nativeMode: native } : {}),
|
|
137
124
|
nativeQueries: nativeExecution.results,
|
|
138
125
|
syntaxTree: nativeExecution.tree,
|
|
139
126
|
...(nativeExecution.fallbackReason ? { nativeFallbackReason: nativeExecution.fallbackReason } : {}),
|
|
@@ -152,6 +139,6 @@ export async function ensureParsedContext(file, parsedEntry, languageExtensions)
|
|
|
152
139
|
nativeQueries: parsedEntry.nativeQueries ?? null,
|
|
153
140
|
};
|
|
154
141
|
}
|
|
155
|
-
return parsePreparedFileContext(await prepareFileForIndexing(file,
|
|
142
|
+
return parsePreparedFileContext(await prepareFileForIndexing(file, languageExtensions));
|
|
156
143
|
}
|
|
157
144
|
//# sourceMappingURL=parse-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-context.js","sourceRoot":"","sources":["../../src/indexer/parse-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAiC,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,
|
|
1
|
+
{"version":3,"file":"parse-context.js","sourceRoot":"","sources":["../../src/indexer/parse-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { SyntaxNodeLike, SyntaxTreeLike } from "../languages/types.js";
|
|
2
|
+
import type { ImportBinding } from "./import-types.js";
|
|
3
|
+
import { SymbolKind, type ModuleIndex, type ProjectIndex, type SymbolDef } from "./types.js";
|
|
4
|
+
import type { Binding } from "./scope-types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Absolute PHP class/trait/interface spellings for `name` at `node`, in PHP lookup order.
|
|
7
|
+
* A `use` alias wins; otherwise the current namespace is prepended. Class names do not fall
|
|
8
|
+
* back to the global namespace. Returns null unless `node` is a class-reference form
|
|
9
|
+
* (`extends`, `implements`, trait `use`, `new`, or a static class scope).
|
|
10
|
+
*
|
|
11
|
+
* The qualified-name index comes from `ensurePhpNamespaceSymbolIndex`. Callers await that
|
|
12
|
+
* before this synchronous lookup.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveIndexedPhpClassReference(index: ProjectIndex, source: string, tree: SyntaxTreeLike, node: SyntaxNodeLike, name: string, imports: readonly ImportBinding[] | undefined): SymbolDef | null;
|
|
15
|
+
/**
|
|
16
|
+
* Resolves `name` from `node`'s namespace using PHP's ordered candidates. Callers that already
|
|
17
|
+
* know the name is a class or function (a base clause, for example) skip the syntactic role check.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolvePhpNamespaceSymbol(index: ProjectIndex, source: string, tree: SyntaxTreeLike, node: SyntaxNodeLike, name: string, imports: readonly ImportBinding[] | undefined, role: "class" | "function"): SymbolDef | null;
|
|
20
|
+
/**
|
|
21
|
+
* First PHP candidate that names exactly one indexed declaration. A candidate that matches
|
|
22
|
+
* more than one declaration is ambiguous and stays unresolved; later fallbacks are not tried,
|
|
23
|
+
* matching PHP's ordered lookup (namespace, then global for functions only).
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveFirstIndexedPhpSymbol(index: ProjectIndex, candidates: readonly string[], role: "class" | "function"): SymbolDef | null;
|
|
26
|
+
/** PHP's class import namespace: classes (including traits), interfaces, and enums. */
|
|
27
|
+
export declare const PHP_CLASS_LIKE_KINDS: ReadonlySet<SymbolKind>;
|
|
28
|
+
/** A PHP use binds a qualified symbol name, even without a Composer file mapping. */
|
|
29
|
+
export declare function resolvePhpExplicitImport(index: ProjectIndex, binding: Extract<ImportBinding, {
|
|
30
|
+
kind: "named";
|
|
31
|
+
}>, role: "class" | "function" | "const"): SymbolDef | null;
|
|
32
|
+
export type PhpNamespaceSymbolIndex = {
|
|
33
|
+
classes: Map<string, SymbolDef[]>;
|
|
34
|
+
functions: Map<string, SymbolDef[]>;
|
|
35
|
+
consts: Map<string, SymbolDef[]>;
|
|
36
|
+
functionNames: string[];
|
|
37
|
+
/** Definition identity key -> canonical qualified name without a leading `\\`. */
|
|
38
|
+
canonicalByDefinition: Map<string, string>;
|
|
39
|
+
/** Files explicitly excluded by Composer without another autoload mapping. */
|
|
40
|
+
composerExcludedFiles: Set<string>;
|
|
41
|
+
/** Composer autoload files plus source-proven PHP includes for each importing module. */
|
|
42
|
+
composerAutoloadByImport: WeakMap<ImportBinding, {
|
|
43
|
+
files: ReadonlySet<string>;
|
|
44
|
+
module: ModuleIndex;
|
|
45
|
+
}>;
|
|
46
|
+
source: ProjectIndex["byFile"];
|
|
47
|
+
size: number;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Qualified PHP names for one index, read once from each declaration's parsed tree.
|
|
51
|
+
* `phpIndexedCanonicalNames` and same-namespace lookup share this table. A replaced
|
|
52
|
+
* `byFile` map rebuilds it. Ambiguous spellings stay as multiple defs.
|
|
53
|
+
*/
|
|
54
|
+
export declare function ensurePhpNamespaceSymbolIndex(index: ProjectIndex): Promise<PhpNamespaceSymbolIndex>;
|
|
55
|
+
/** Synchronous view of `ensurePhpNamespaceSymbolIndex`. Null until that builder has finished. */
|
|
56
|
+
export declare function phpNamespaceSymbolIndexFor(index: ProjectIndex): PhpNamespaceSymbolIndex | null;
|
|
57
|
+
/**
|
|
58
|
+
* A PHP class, function, or constant role names only declarations in that namespace.
|
|
59
|
+
* Pass the reference node to infer the role, or the role of a `use` binding directly.
|
|
60
|
+
*/
|
|
61
|
+
export declare function phpReferenceRoleMatchesKind(nodeOrRole: SyntaxNodeLike | "class" | "function" | "const", kind: SymbolKind): boolean;
|
|
62
|
+
/** Resolve a PHP role collision from same-scope bindings or module constants. */
|
|
63
|
+
export declare function resolvePhpSameScopeRoleDefinition(index: ProjectIndex, moduleEntry: ModuleIndex, source: string, tree: SyntaxTreeLike, node: SyntaxNodeLike, name: string, binding: Binding): SymbolDef | null;
|
|
64
|
+
/** Verify a class candidate proven visible through imports also names this exact PHP class. */
|
|
65
|
+
export declare function phpClassReferenceMatchesDefinition(index: ProjectIndex, source: string, tree: SyntaxTreeLike, node: SyntaxNodeLike, name: string, imports: readonly ImportBinding[], def: SymbolDef): boolean;
|
|
66
|
+
//# sourceMappingURL=php-namespace-symbols.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"php-namespace-symbols.d.ts","sourceRoot":"","sources":["../../src/indexer/php-namespace-symbols.ts"],"names":[],"mappings":"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"}
|