codegraph-java 0.1.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 +131 -0
- package/dist/base-graph/index.d.ts +57 -0
- package/dist/base-graph/index.d.ts.map +1 -0
- package/dist/base-graph/index.js +175 -0
- package/dist/base-graph/index.js.map +1 -0
- package/dist/bin/codegraph.d.ts +28 -0
- package/dist/bin/codegraph.d.ts.map +1 -0
- package/dist/bin/codegraph.js +2615 -0
- package/dist/bin/codegraph.js.map +1 -0
- package/dist/bin/command-supervision.d.ts +49 -0
- package/dist/bin/command-supervision.d.ts.map +1 -0
- package/dist/bin/command-supervision.js +95 -0
- package/dist/bin/command-supervision.js.map +1 -0
- package/dist/bin/fatal-handler.d.ts +20 -0
- package/dist/bin/fatal-handler.d.ts.map +1 -0
- package/dist/bin/fatal-handler.js +118 -0
- package/dist/bin/fatal-handler.js.map +1 -0
- package/dist/bin/node-version-check.d.ts +45 -0
- package/dist/bin/node-version-check.d.ts.map +1 -0
- package/dist/bin/node-version-check.js +98 -0
- package/dist/bin/node-version-check.js.map +1 -0
- package/dist/bin/uninstall.d.ts +14 -0
- package/dist/bin/uninstall.d.ts.map +1 -0
- package/dist/bin/uninstall.js +36 -0
- package/dist/bin/uninstall.js.map +1 -0
- package/dist/context/formatter.d.ts +36 -0
- package/dist/context/formatter.d.ts.map +1 -0
- package/dist/context/formatter.js +269 -0
- package/dist/context/formatter.js.map +1 -0
- package/dist/context/index.d.ts +131 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +1378 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/markers.d.ts +19 -0
- package/dist/context/markers.d.ts.map +1 -0
- package/dist/context/markers.js +22 -0
- package/dist/context/markers.js.map +1 -0
- package/dist/db/index.d.ts +380 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +854 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations.d.ts +44 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +255 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +1060 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +3191 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.sql +209 -0
- package/dist/db/sqlite-adapter.d.ts +55 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.js +135 -0
- package/dist/db/sqlite-adapter.js.map +1 -0
- package/dist/db/wal-valve.d.ts +119 -0
- package/dist/db/wal-valve.d.ts.map +1 -0
- package/dist/db/wal-valve.js +290 -0
- package/dist/db/wal-valve.js.map +1 -0
- package/dist/directory.d.ts +213 -0
- package/dist/directory.d.ts.map +1 -0
- package/dist/directory.js +781 -0
- package/dist/directory.js.map +1 -0
- package/dist/errors.d.ts +150 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +234 -0
- package/dist/errors.js.map +1 -0
- package/dist/extraction/extraction-version.d.ts +25 -0
- package/dist/extraction/extraction-version.d.ts.map +1 -0
- package/dist/extraction/extraction-version.js +28 -0
- package/dist/extraction/extraction-version.js.map +1 -0
- package/dist/extraction/function-ref.d.ts +118 -0
- package/dist/extraction/function-ref.d.ts.map +1 -0
- package/dist/extraction/function-ref.js +746 -0
- package/dist/extraction/function-ref.js.map +1 -0
- package/dist/extraction/generated-detection.d.ts +66 -0
- package/dist/extraction/generated-detection.d.ts.map +1 -0
- package/dist/extraction/generated-detection.js +248 -0
- package/dist/extraction/generated-detection.js.map +1 -0
- package/dist/extraction/grammars.d.ts +148 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +558 -0
- package/dist/extraction/grammars.js.map +1 -0
- package/dist/extraction/index.d.ts +367 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +2833 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/kernel/decode.d.ts +9 -0
- package/dist/extraction/kernel/decode.d.ts.map +1 -0
- package/dist/extraction/kernel/decode.js +162 -0
- package/dist/extraction/kernel/decode.js.map +1 -0
- package/dist/extraction/kernel/index.d.ts +64 -0
- package/dist/extraction/kernel/index.d.ts.map +1 -0
- package/dist/extraction/kernel/index.js +204 -0
- package/dist/extraction/kernel/index.js.map +1 -0
- package/dist/extraction/kernel/layout.d.ts +101 -0
- package/dist/extraction/kernel/layout.d.ts.map +1 -0
- package/dist/extraction/kernel/layout.js +104 -0
- package/dist/extraction/kernel/layout.js.map +1 -0
- package/dist/extraction/kernel/loader.d.ts +103 -0
- package/dist/extraction/kernel/loader.d.ts.map +1 -0
- package/dist/extraction/kernel/loader.js +146 -0
- package/dist/extraction/kernel/loader.js.map +1 -0
- package/dist/extraction/languages/c-cpp.d.ts +124 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
- package/dist/extraction/languages/c-cpp.js +1689 -0
- package/dist/extraction/languages/c-cpp.js.map +1 -0
- package/dist/extraction/languages/index.d.ts +11 -0
- package/dist/extraction/languages/index.d.ts.map +1 -0
- package/dist/extraction/languages/index.js +15 -0
- package/dist/extraction/languages/index.js.map +1 -0
- package/dist/extraction/languages/java.d.ts +3 -0
- package/dist/extraction/languages/java.d.ts.map +1 -0
- package/dist/extraction/languages/java.js +315 -0
- package/dist/extraction/languages/java.js.map +1 -0
- package/dist/extraction/languages/rust.d.ts +23 -0
- package/dist/extraction/languages/rust.d.ts.map +1 -0
- package/dist/extraction/languages/rust.js +169 -0
- package/dist/extraction/languages/rust.js.map +1 -0
- package/dist/extraction/parse-pool.d.ts +167 -0
- package/dist/extraction/parse-pool.d.ts.map +1 -0
- package/dist/extraction/parse-pool.js +421 -0
- package/dist/extraction/parse-pool.js.map +1 -0
- package/dist/extraction/parse-worker.d.ts +8 -0
- package/dist/extraction/parse-worker.d.ts.map +1 -0
- package/dist/extraction/parse-worker.js +138 -0
- package/dist/extraction/parse-worker.js.map +1 -0
- package/dist/extraction/store-worker.d.ts +24 -0
- package/dist/extraction/store-worker.d.ts.map +1 -0
- package/dist/extraction/store-worker.js +139 -0
- package/dist/extraction/store-worker.js.map +1 -0
- package/dist/extraction/store-writer.d.ts +63 -0
- package/dist/extraction/store-writer.d.ts.map +1 -0
- package/dist/extraction/store-writer.js +174 -0
- package/dist/extraction/store-writer.js.map +1 -0
- package/dist/extraction/syntax-tokens.d.ts +103 -0
- package/dist/extraction/syntax-tokens.d.ts.map +1 -0
- package/dist/extraction/syntax-tokens.js +381 -0
- package/dist/extraction/syntax-tokens.js.map +1 -0
- package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-helpers.js +153 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -0
- package/dist/extraction/tree-sitter-types.d.ts +260 -0
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-types.js +10 -0
- package/dist/extraction/tree-sitter-types.js.map +1 -0
- package/dist/extraction/tree-sitter.d.ts +745 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -0
- package/dist/extraction/tree-sitter.js +6725 -0
- package/dist/extraction/tree-sitter.js.map +1 -0
- package/dist/extraction/wasm/tree-sitter-java.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +53 -0
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
- package/dist/extraction/wasm-runtime-flags.js +130 -0
- package/dist/extraction/wasm-runtime-flags.js.map +1 -0
- package/dist/graph/branch-guards.d.ts +248 -0
- package/dist/graph/branch-guards.d.ts.map +1 -0
- package/dist/graph/branch-guards.js +2231 -0
- package/dist/graph/branch-guards.js.map +1 -0
- package/dist/graph/dead-code.d.ts +251 -0
- package/dist/graph/dead-code.d.ts.map +1 -0
- package/dist/graph/dead-code.js +756 -0
- package/dist/graph/dead-code.js.map +1 -0
- package/dist/graph/dynamic-boundary-report.d.ts +121 -0
- package/dist/graph/dynamic-boundary-report.d.ts.map +1 -0
- package/dist/graph/dynamic-boundary-report.js +283 -0
- package/dist/graph/dynamic-boundary-report.js.map +1 -0
- package/dist/graph/index.d.ts +12 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +28 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/named-symbol-flow.d.ts +153 -0
- package/dist/graph/named-symbol-flow.d.ts.map +1 -0
- package/dist/graph/named-symbol-flow.js +609 -0
- package/dist/graph/named-symbol-flow.js.map +1 -0
- package/dist/graph/queries.d.ts +106 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +341 -0
- package/dist/graph/queries.js.map +1 -0
- package/dist/graph/traversal.d.ts +127 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +599 -0
- package/dist/graph/traversal.js.map +1 -0
- package/dist/graph/type-hierarchy.d.ts +155 -0
- package/dist/graph/type-hierarchy.d.ts.map +1 -0
- package/dist/graph/type-hierarchy.js +382 -0
- package/dist/graph/type-hierarchy.js.map +1 -0
- package/dist/index.d.ts +886 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2019 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/beta-signup.d.ts +54 -0
- package/dist/installer/beta-signup.d.ts.map +1 -0
- package/dist/installer/beta-signup.js +178 -0
- package/dist/installer/beta-signup.js.map +1 -0
- package/dist/installer/config-writer.d.ts +28 -0
- package/dist/installer/config-writer.d.ts.map +1 -0
- package/dist/installer/config-writer.js +91 -0
- package/dist/installer/config-writer.js.map +1 -0
- package/dist/installer/index.d.ts +143 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +632 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/instructions-template.d.ts +41 -0
- package/dist/installer/instructions-template.d.ts.map +1 -0
- package/dist/installer/instructions-template.js +53 -0
- package/dist/installer/instructions-template.js.map +1 -0
- package/dist/installer/targets/antigravity.d.ts +57 -0
- package/dist/installer/targets/antigravity.d.ts.map +1 -0
- package/dist/installer/targets/antigravity.js +308 -0
- package/dist/installer/targets/antigravity.js.map +1 -0
- package/dist/installer/targets/claude.d.ts +62 -0
- package/dist/installer/targets/claude.d.ts.map +1 -0
- package/dist/installer/targets/claude.js +486 -0
- package/dist/installer/targets/claude.js.map +1 -0
- package/dist/installer/targets/codex.d.ts +32 -0
- package/dist/installer/targets/codex.d.ts.map +1 -0
- package/dist/installer/targets/codex.js +202 -0
- package/dist/installer/targets/codex.js.map +1 -0
- package/dist/installer/targets/copilot-cli.d.ts +32 -0
- package/dist/installer/targets/copilot-cli.d.ts.map +1 -0
- package/dist/installer/targets/copilot-cli.js +209 -0
- package/dist/installer/targets/copilot-cli.js.map +1 -0
- package/dist/installer/targets/copilot-jetbrains.d.ts +42 -0
- package/dist/installer/targets/copilot-jetbrains.d.ts.map +1 -0
- package/dist/installer/targets/copilot-jetbrains.js +238 -0
- package/dist/installer/targets/copilot-jetbrains.js.map +1 -0
- package/dist/installer/targets/copilot-vscode.d.ts +47 -0
- package/dist/installer/targets/copilot-vscode.d.ts.map +1 -0
- package/dist/installer/targets/copilot-vscode.js +219 -0
- package/dist/installer/targets/copilot-vscode.js.map +1 -0
- package/dist/installer/targets/cursor.d.ts +35 -0
- package/dist/installer/targets/cursor.d.ts.map +1 -0
- package/dist/installer/targets/cursor.js +254 -0
- package/dist/installer/targets/cursor.js.map +1 -0
- package/dist/installer/targets/gemini.d.ts +26 -0
- package/dist/installer/targets/gemini.d.ts.map +1 -0
- package/dist/installer/targets/gemini.js +165 -0
- package/dist/installer/targets/gemini.js.map +1 -0
- package/dist/installer/targets/hermes.d.ts +18 -0
- package/dist/installer/targets/hermes.d.ts.map +1 -0
- package/dist/installer/targets/hermes.js +359 -0
- package/dist/installer/targets/hermes.js.map +1 -0
- package/dist/installer/targets/kiro.d.ts +27 -0
- package/dist/installer/targets/kiro.d.ts.map +1 -0
- package/dist/installer/targets/kiro.js +178 -0
- package/dist/installer/targets/kiro.js.map +1 -0
- package/dist/installer/targets/opencode.d.ts +38 -0
- package/dist/installer/targets/opencode.d.ts.map +1 -0
- package/dist/installer/targets/opencode.js +288 -0
- package/dist/installer/targets/opencode.js.map +1 -0
- package/dist/installer/targets/registry.d.ts +35 -0
- package/dist/installer/targets/registry.d.ts.map +1 -0
- package/dist/installer/targets/registry.js +101 -0
- package/dist/installer/targets/registry.js.map +1 -0
- package/dist/installer/targets/shared.d.ts +101 -0
- package/dist/installer/targets/shared.d.ts.map +1 -0
- package/dist/installer/targets/shared.js +264 -0
- package/dist/installer/targets/shared.js.map +1 -0
- package/dist/installer/targets/toml.d.ts +53 -0
- package/dist/installer/targets/toml.d.ts.map +1 -0
- package/dist/installer/targets/toml.js +226 -0
- package/dist/installer/targets/toml.js.map +1 -0
- package/dist/installer/targets/trae.d.ts +30 -0
- package/dist/installer/targets/trae.d.ts.map +1 -0
- package/dist/installer/targets/trae.js +164 -0
- package/dist/installer/targets/trae.js.map +1 -0
- package/dist/installer/targets/types.d.ts +108 -0
- package/dist/installer/targets/types.d.ts.map +1 -0
- package/dist/installer/targets/types.js +16 -0
- package/dist/installer/targets/types.js.map +1 -0
- package/dist/installer/targets/workbuddy.d.ts +29 -0
- package/dist/installer/targets/workbuddy.d.ts.map +1 -0
- package/dist/installer/targets/workbuddy.js +163 -0
- package/dist/installer/targets/workbuddy.js.map +1 -0
- package/dist/mcp/daemon-manager.d.ts +42 -0
- package/dist/mcp/daemon-manager.d.ts.map +1 -0
- package/dist/mcp/daemon-manager.js +129 -0
- package/dist/mcp/daemon-manager.js.map +1 -0
- package/dist/mcp/daemon-paths.d.ts +79 -0
- package/dist/mcp/daemon-paths.d.ts.map +1 -0
- package/dist/mcp/daemon-paths.js +219 -0
- package/dist/mcp/daemon-paths.js.map +1 -0
- package/dist/mcp/daemon-registry.d.ts +57 -0
- package/dist/mcp/daemon-registry.d.ts.map +1 -0
- package/dist/mcp/daemon-registry.js +281 -0
- package/dist/mcp/daemon-registry.js.map +1 -0
- package/dist/mcp/daemon.d.ts +293 -0
- package/dist/mcp/daemon.d.ts.map +1 -0
- package/dist/mcp/daemon.js +864 -0
- package/dist/mcp/daemon.js.map +1 -0
- package/dist/mcp/dynamic-boundaries.d.ts +41 -0
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
- package/dist/mcp/dynamic-boundaries.js +360 -0
- package/dist/mcp/dynamic-boundaries.js.map +1 -0
- package/dist/mcp/early-ppid.d.ts +26 -0
- package/dist/mcp/early-ppid.d.ts.map +1 -0
- package/dist/mcp/early-ppid.js +29 -0
- package/dist/mcp/early-ppid.js.map +1 -0
- package/dist/mcp/engine.d.ts +125 -0
- package/dist/mcp/engine.d.ts.map +1 -0
- package/dist/mcp/engine.js +392 -0
- package/dist/mcp/engine.js.map +1 -0
- package/dist/mcp/explore-dedup.d.ts +137 -0
- package/dist/mcp/explore-dedup.d.ts.map +1 -0
- package/dist/mcp/explore-dedup.js +236 -0
- package/dist/mcp/explore-dedup.js.map +1 -0
- package/dist/mcp/explore-diagnostics.d.ts +289 -0
- package/dist/mcp/explore-diagnostics.d.ts.map +1 -0
- package/dist/mcp/explore-diagnostics.js +558 -0
- package/dist/mcp/explore-diagnostics.js.map +1 -0
- package/dist/mcp/explore-session-state.d.ts +217 -0
- package/dist/mcp/explore-session-state.d.ts.map +1 -0
- package/dist/mcp/explore-session-state.js +322 -0
- package/dist/mcp/explore-session-state.js.map +1 -0
- package/dist/mcp/index.d.ts +137 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +567 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/liveness-watchdog.d.ts +35 -0
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
- package/dist/mcp/liveness-watchdog.js +269 -0
- package/dist/mcp/liveness-watchdog.js.map +1 -0
- package/dist/mcp/ppid-watchdog.d.ts +62 -0
- package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
- package/dist/mcp/ppid-watchdog.js +64 -0
- package/dist/mcp/ppid-watchdog.js.map +1 -0
- package/dist/mcp/proxy.d.ts +87 -0
- package/dist/mcp/proxy.d.ts.map +1 -0
- package/dist/mcp/proxy.js +672 -0
- package/dist/mcp/proxy.js.map +1 -0
- package/dist/mcp/query-pool.d.ts +108 -0
- package/dist/mcp/query-pool.d.ts.map +1 -0
- package/dist/mcp/query-pool.js +315 -0
- package/dist/mcp/query-pool.js.map +1 -0
- package/dist/mcp/query-worker.d.ts +24 -0
- package/dist/mcp/query-worker.d.ts.map +1 -0
- package/dist/mcp/query-worker.js +87 -0
- package/dist/mcp/query-worker.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +34 -0
- package/dist/mcp/server-instructions.d.ts.map +1 -0
- package/dist/mcp/server-instructions.js +111 -0
- package/dist/mcp/server-instructions.js.map +1 -0
- package/dist/mcp/session.d.ts +109 -0
- package/dist/mcp/session.d.ts.map +1 -0
- package/dist/mcp/session.js +380 -0
- package/dist/mcp/session.js.map +1 -0
- package/dist/mcp/startup-handshake.d.ts +44 -0
- package/dist/mcp/startup-handshake.d.ts.map +1 -0
- package/dist/mcp/startup-handshake.js +73 -0
- package/dist/mcp/startup-handshake.js.map +1 -0
- package/dist/mcp/stdin-teardown.d.ts +27 -0
- package/dist/mcp/stdin-teardown.d.ts.map +1 -0
- package/dist/mcp/stdin-teardown.js +49 -0
- package/dist/mcp/stdin-teardown.js.map +1 -0
- package/dist/mcp/tools.d.ts +877 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +6371 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/transport.d.ts +188 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +377 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/mcp/version.d.ts +19 -0
- package/dist/mcp/version.d.ts.map +1 -0
- package/dist/mcp/version.js +71 -0
- package/dist/mcp/version.js.map +1 -0
- package/dist/project-config.d.ts +158 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +489 -0
- package/dist/project-config.js.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.js +1506 -0
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
- package/dist/resolution/callback-synthesizer.d.ts +59 -0
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
- package/dist/resolution/callback-synthesizer.js +4066 -0
- package/dist/resolution/callback-synthesizer.js.map +1 -0
- package/dist/resolution/cooperative-yield.d.ts +40 -0
- package/dist/resolution/cooperative-yield.d.ts.map +1 -0
- package/dist/resolution/cooperative-yield.js +44 -0
- package/dist/resolution/cooperative-yield.js.map +1 -0
- package/dist/resolution/expo-router-synthesizer.d.ts +32 -0
- package/dist/resolution/expo-router-synthesizer.d.ts.map +1 -0
- package/dist/resolution/expo-router-synthesizer.js +189 -0
- package/dist/resolution/expo-router-synthesizer.js.map +1 -0
- package/dist/resolution/frameworks/astro.d.ts +9 -0
- package/dist/resolution/frameworks/astro.d.ts.map +1 -0
- package/dist/resolution/frameworks/astro.js +169 -0
- package/dist/resolution/frameworks/astro.js.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.js +225 -0
- package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
- package/dist/resolution/frameworks/cics.d.ts +20 -0
- package/dist/resolution/frameworks/cics.d.ts.map +1 -0
- package/dist/resolution/frameworks/cics.js +90 -0
- package/dist/resolution/frameworks/cics.js.map +1 -0
- package/dist/resolution/frameworks/csharp.d.ts +8 -0
- package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
- package/dist/resolution/frameworks/csharp.js +335 -0
- package/dist/resolution/frameworks/csharp.js.map +1 -0
- package/dist/resolution/frameworks/drupal.d.ts +51 -0
- package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
- package/dist/resolution/frameworks/drupal.js +367 -0
- package/dist/resolution/frameworks/drupal.js.map +1 -0
- package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
- package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
- package/dist/resolution/frameworks/expo-modules.js +148 -0
- package/dist/resolution/frameworks/expo-modules.js.map +1 -0
- package/dist/resolution/frameworks/expo-router.d.ts +189 -0
- package/dist/resolution/frameworks/expo-router.d.ts.map +1 -0
- package/dist/resolution/frameworks/expo-router.js +785 -0
- package/dist/resolution/frameworks/expo-router.js.map +1 -0
- package/dist/resolution/frameworks/express.d.ts +8 -0
- package/dist/resolution/frameworks/express.d.ts.map +1 -0
- package/dist/resolution/frameworks/express.js +540 -0
- package/dist/resolution/frameworks/express.js.map +1 -0
- package/dist/resolution/frameworks/fabric.d.ts +3 -0
- package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
- package/dist/resolution/frameworks/fabric.js +354 -0
- package/dist/resolution/frameworks/fabric.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts +8 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -0
- package/dist/resolution/frameworks/go.js +184 -0
- package/dist/resolution/frameworks/go.js.map +1 -0
- package/dist/resolution/frameworks/goframe.d.ts +41 -0
- package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
- package/dist/resolution/frameworks/goframe.js +112 -0
- package/dist/resolution/frameworks/goframe.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts +30 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -0
- package/dist/resolution/frameworks/index.js +72 -0
- package/dist/resolution/frameworks/index.js.map +1 -0
- package/dist/resolution/frameworks/java.d.ts +8 -0
- package/dist/resolution/frameworks/java.d.ts.map +1 -0
- package/dist/resolution/frameworks/java.js +517 -0
- package/dist/resolution/frameworks/java.js.map +1 -0
- package/dist/resolution/frameworks/laravel.d.ts +13 -0
- package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
- package/dist/resolution/frameworks/laravel.js +257 -0
- package/dist/resolution/frameworks/laravel.js.map +1 -0
- package/dist/resolution/frameworks/nestjs.d.ts +26 -0
- package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
- package/dist/resolution/frameworks/nestjs.js +690 -0
- package/dist/resolution/frameworks/nestjs.js.map +1 -0
- package/dist/resolution/frameworks/nextjs.d.ts +76 -0
- package/dist/resolution/frameworks/nextjs.d.ts.map +1 -0
- package/dist/resolution/frameworks/nextjs.js +328 -0
- package/dist/resolution/frameworks/nextjs.js.map +1 -0
- package/dist/resolution/frameworks/object-literal.d.ts +32 -0
- package/dist/resolution/frameworks/object-literal.d.ts.map +1 -0
- package/dist/resolution/frameworks/object-literal.js +139 -0
- package/dist/resolution/frameworks/object-literal.js.map +1 -0
- package/dist/resolution/frameworks/package-deps.d.ts +14 -0
- package/dist/resolution/frameworks/package-deps.d.ts.map +1 -0
- package/dist/resolution/frameworks/package-deps.js +78 -0
- package/dist/resolution/frameworks/package-deps.js.map +1 -0
- package/dist/resolution/frameworks/play.d.ts +19 -0
- package/dist/resolution/frameworks/play.d.ts.map +1 -0
- package/dist/resolution/frameworks/play.js +111 -0
- package/dist/resolution/frameworks/play.js.map +1 -0
- package/dist/resolution/frameworks/python.d.ts +10 -0
- package/dist/resolution/frameworks/python.d.ts.map +1 -0
- package/dist/resolution/frameworks/python.js +566 -0
- package/dist/resolution/frameworks/python.js.map +1 -0
- package/dist/resolution/frameworks/react-native.d.ts +29 -0
- package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
- package/dist/resolution/frameworks/react-native.js +549 -0
- package/dist/resolution/frameworks/react-native.js.map +1 -0
- package/dist/resolution/frameworks/react-router.d.ts +46 -0
- package/dist/resolution/frameworks/react-router.d.ts.map +1 -0
- package/dist/resolution/frameworks/react-router.js +187 -0
- package/dist/resolution/frameworks/react-router.js.map +1 -0
- package/dist/resolution/frameworks/react.d.ts +9 -0
- package/dist/resolution/frameworks/react.d.ts.map +1 -0
- package/dist/resolution/frameworks/react.js +257 -0
- package/dist/resolution/frameworks/react.js.map +1 -0
- package/dist/resolution/frameworks/ruby.d.ts +8 -0
- package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
- package/dist/resolution/frameworks/ruby.js +302 -0
- package/dist/resolution/frameworks/ruby.js.map +1 -0
- package/dist/resolution/frameworks/rust.d.ts +8 -0
- package/dist/resolution/frameworks/rust.d.ts.map +1 -0
- package/dist/resolution/frameworks/rust.js +304 -0
- package/dist/resolution/frameworks/rust.js.map +1 -0
- package/dist/resolution/frameworks/svelte.d.ts +9 -0
- package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
- package/dist/resolution/frameworks/svelte.js +258 -0
- package/dist/resolution/frameworks/svelte.js.map +1 -0
- package/dist/resolution/frameworks/sveltekit-router.d.ts +36 -0
- package/dist/resolution/frameworks/sveltekit-router.d.ts.map +1 -0
- package/dist/resolution/frameworks/sveltekit-router.js +156 -0
- package/dist/resolution/frameworks/sveltekit-router.js.map +1 -0
- package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
- package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift-objc.js +252 -0
- package/dist/resolution/frameworks/swift-objc.js.map +1 -0
- package/dist/resolution/frameworks/swift.d.ts +10 -0
- package/dist/resolution/frameworks/swift.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift.js +410 -0
- package/dist/resolution/frameworks/swift.js.map +1 -0
- package/dist/resolution/frameworks/tanstack-router.d.ts +84 -0
- package/dist/resolution/frameworks/tanstack-router.d.ts.map +1 -0
- package/dist/resolution/frameworks/tanstack-router.js +437 -0
- package/dist/resolution/frameworks/tanstack-router.js.map +1 -0
- package/dist/resolution/frameworks/terraform.d.ts +38 -0
- package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
- package/dist/resolution/frameworks/terraform.js +277 -0
- package/dist/resolution/frameworks/terraform.js.map +1 -0
- package/dist/resolution/frameworks/vue-router.d.ts +82 -0
- package/dist/resolution/frameworks/vue-router.d.ts.map +1 -0
- package/dist/resolution/frameworks/vue-router.js +377 -0
- package/dist/resolution/frameworks/vue-router.js.map +1 -0
- package/dist/resolution/frameworks/vue.d.ts +9 -0
- package/dist/resolution/frameworks/vue.d.ts.map +1 -0
- package/dist/resolution/frameworks/vue.js +303 -0
- package/dist/resolution/frameworks/vue.js.map +1 -0
- package/dist/resolution/go-module.d.ts +26 -0
- package/dist/resolution/go-module.d.ts.map +1 -0
- package/dist/resolution/go-module.js +78 -0
- package/dist/resolution/go-module.js.map +1 -0
- package/dist/resolution/goframe-synthesizer.d.ts +29 -0
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
- package/dist/resolution/goframe-synthesizer.js +163 -0
- package/dist/resolution/goframe-synthesizer.js.map +1 -0
- package/dist/resolution/import-resolver.d.ts +84 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -0
- package/dist/resolution/import-resolver.js +2240 -0
- package/dist/resolution/import-resolver.js.map +1 -0
- package/dist/resolution/index.d.ts +343 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +2352 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/lru-cache.d.ts +24 -0
- package/dist/resolution/lru-cache.d.ts.map +1 -0
- package/dist/resolution/lru-cache.js +62 -0
- package/dist/resolution/lru-cache.js.map +1 -0
- package/dist/resolution/memory-budget.d.ts +48 -0
- package/dist/resolution/memory-budget.d.ts.map +1 -0
- package/dist/resolution/memory-budget.js +162 -0
- package/dist/resolution/memory-budget.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +153 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +2412 -0
- package/dist/resolution/name-matcher.js.map +1 -0
- package/dist/resolution/next-router-synthesizer.d.ts +27 -0
- package/dist/resolution/next-router-synthesizer.d.ts.map +1 -0
- package/dist/resolution/next-router-synthesizer.js +113 -0
- package/dist/resolution/next-router-synthesizer.js.map +1 -0
- package/dist/resolution/path-aliases.d.ts +70 -0
- package/dist/resolution/path-aliases.d.ts.map +1 -0
- package/dist/resolution/path-aliases.js +346 -0
- package/dist/resolution/path-aliases.js.map +1 -0
- package/dist/resolution/react-router-synthesizer.d.ts +33 -0
- package/dist/resolution/react-router-synthesizer.d.ts.map +1 -0
- package/dist/resolution/react-router-synthesizer.js +126 -0
- package/dist/resolution/react-router-synthesizer.js.map +1 -0
- package/dist/resolution/resolver-pool.d.ts +106 -0
- package/dist/resolution/resolver-pool.d.ts.map +1 -0
- package/dist/resolution/resolver-pool.js +344 -0
- package/dist/resolution/resolver-pool.js.map +1 -0
- package/dist/resolution/resolver-worker.d.ts +17 -0
- package/dist/resolution/resolver-worker.d.ts.map +1 -0
- package/dist/resolution/resolver-worker.js +141 -0
- package/dist/resolution/resolver-worker.js.map +1 -0
- package/dist/resolution/strip-comments.d.ts +27 -0
- package/dist/resolution/strip-comments.d.ts.map +1 -0
- package/dist/resolution/strip-comments.js +492 -0
- package/dist/resolution/strip-comments.js.map +1 -0
- package/dist/resolution/sveltekit-synthesizer.d.ts +58 -0
- package/dist/resolution/sveltekit-synthesizer.d.ts.map +1 -0
- package/dist/resolution/sveltekit-synthesizer.js +173 -0
- package/dist/resolution/sveltekit-synthesizer.js.map +1 -0
- package/dist/resolution/swift-objc-bridge.d.ts +134 -0
- package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
- package/dist/resolution/swift-objc-bridge.js +256 -0
- package/dist/resolution/swift-objc-bridge.js.map +1 -0
- package/dist/resolution/synth-utils.d.ts +26 -0
- package/dist/resolution/synth-utils.d.ts.map +1 -0
- package/dist/resolution/synth-utils.js +75 -0
- package/dist/resolution/synth-utils.js.map +1 -0
- package/dist/resolution/tanstack-router-synthesizer.d.ts +31 -0
- package/dist/resolution/tanstack-router-synthesizer.d.ts.map +1 -0
- package/dist/resolution/tanstack-router-synthesizer.js +114 -0
- package/dist/resolution/tanstack-router-synthesizer.js.map +1 -0
- package/dist/resolution/tier-synthesizer.d.ts +48 -0
- package/dist/resolution/tier-synthesizer.d.ts.map +1 -0
- package/dist/resolution/tier-synthesizer.js +907 -0
- package/dist/resolution/tier-synthesizer.js.map +1 -0
- package/dist/resolution/types.d.ts +290 -0
- package/dist/resolution/types.d.ts.map +1 -0
- package/dist/resolution/types.js +8 -0
- package/dist/resolution/types.js.map +1 -0
- package/dist/resolution/vue-router-synthesizer.d.ts +30 -0
- package/dist/resolution/vue-router-synthesizer.d.ts.map +1 -0
- package/dist/resolution/vue-router-synthesizer.js +115 -0
- package/dist/resolution/vue-router-synthesizer.js.map +1 -0
- package/dist/resolution/workspace-packages.d.ts +58 -0
- package/dist/resolution/workspace-packages.d.ts.map +1 -0
- package/dist/resolution/workspace-packages.js +346 -0
- package/dist/resolution/workspace-packages.js.map +1 -0
- package/dist/search/identifier-segments.d.ts +70 -0
- package/dist/search/identifier-segments.d.ts.map +1 -0
- package/dist/search/identifier-segments.js +205 -0
- package/dist/search/identifier-segments.js.map +1 -0
- package/dist/search/query-parser.d.ts +57 -0
- package/dist/search/query-parser.d.ts.map +1 -0
- package/dist/search/query-parser.js +177 -0
- package/dist/search/query-parser.js.map +1 -0
- package/dist/search/query-paths.d.ts +57 -0
- package/dist/search/query-paths.d.ts.map +1 -0
- package/dist/search/query-paths.js +298 -0
- package/dist/search/query-paths.js.map +1 -0
- package/dist/search/query-utils.d.ts +102 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +487 -0
- package/dist/search/query-utils.js.map +1 -0
- package/dist/sync/git-hooks.d.ts +45 -0
- package/dist/sync/git-hooks.d.ts.map +1 -0
- package/dist/sync/git-hooks.js +227 -0
- package/dist/sync/git-hooks.js.map +1 -0
- package/dist/sync/index.d.ts +19 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +35 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/watch-policy.d.ts +48 -0
- package/dist/sync/watch-policy.d.ts.map +1 -0
- package/dist/sync/watch-policy.js +124 -0
- package/dist/sync/watch-policy.js.map +1 -0
- package/dist/sync/watcher.d.ts +401 -0
- package/dist/sync/watcher.d.ts.map +1 -0
- package/dist/sync/watcher.js +967 -0
- package/dist/sync/watcher.js.map +1 -0
- package/dist/sync/worktree.d.ts +63 -0
- package/dist/sync/worktree.d.ts.map +1 -0
- package/dist/sync/worktree.js +182 -0
- package/dist/sync/worktree.js.map +1 -0
- package/dist/telemetry/index.d.ts +143 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +541 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/types.d.ts +486 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +118 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/color.d.ts +21 -0
- package/dist/ui/color.d.ts.map +1 -0
- package/dist/ui/color.js +42 -0
- package/dist/ui/color.js.map +1 -0
- package/dist/ui/glyphs.d.ts +67 -0
- package/dist/ui/glyphs.d.ts.map +1 -0
- package/dist/ui/glyphs.js +125 -0
- package/dist/ui/glyphs.js.map +1 -0
- package/dist/ui/shimmer-progress.d.ts +11 -0
- package/dist/ui/shimmer-progress.d.ts.map +1 -0
- package/dist/ui/shimmer-progress.js +164 -0
- package/dist/ui/shimmer-progress.js.map +1 -0
- package/dist/ui/shimmer-worker.d.ts +2 -0
- package/dist/ui/shimmer-worker.d.ts.map +1 -0
- package/dist/ui/shimmer-worker.js +126 -0
- package/dist/ui/shimmer-worker.js.map +1 -0
- package/dist/ui/types.d.ts +15 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +3 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/ui-server/api/deadcode.d.ts +84 -0
- package/dist/ui-server/api/deadcode.d.ts.map +1 -0
- package/dist/ui-server/api/deadcode.js +136 -0
- package/dist/ui-server/api/deadcode.js.map +1 -0
- package/dist/ui-server/api/effects.d.ts +87 -0
- package/dist/ui-server/api/effects.d.ts.map +1 -0
- package/dist/ui-server/api/effects.js +499 -0
- package/dist/ui-server/api/effects.js.map +1 -0
- package/dist/ui-server/api/entrypoints.d.ts +86 -0
- package/dist/ui-server/api/entrypoints.d.ts.map +1 -0
- package/dist/ui-server/api/entrypoints.js +279 -0
- package/dist/ui-server/api/entrypoints.js.map +1 -0
- package/dist/ui-server/api/events.d.ts +183 -0
- package/dist/ui-server/api/events.d.ts.map +1 -0
- package/dist/ui-server/api/events.js +430 -0
- package/dist/ui-server/api/events.js.map +1 -0
- package/dist/ui-server/api/file.d.ts +66 -0
- package/dist/ui-server/api/file.d.ts.map +1 -0
- package/dist/ui-server/api/file.js +222 -0
- package/dist/ui-server/api/file.js.map +1 -0
- package/dist/ui-server/api/filecode.d.ts +126 -0
- package/dist/ui-server/api/filecode.d.ts.map +1 -0
- package/dist/ui-server/api/filecode.js +205 -0
- package/dist/ui-server/api/filecode.js.map +1 -0
- package/dist/ui-server/api/flow.d.ts +226 -0
- package/dist/ui-server/api/flow.d.ts.map +1 -0
- package/dist/ui-server/api/flow.js +611 -0
- package/dist/ui-server/api/flow.js.map +1 -0
- package/dist/ui-server/api/hierarchy.d.ts +81 -0
- package/dist/ui-server/api/hierarchy.d.ts.map +1 -0
- package/dist/ui-server/api/hierarchy.js +92 -0
- package/dist/ui-server/api/hierarchy.js.map +1 -0
- package/dist/ui-server/api/index.d.ts +90 -0
- package/dist/ui-server/api/index.d.ts.map +1 -0
- package/dist/ui-server/api/index.js +332 -0
- package/dist/ui-server/api/index.js.map +1 -0
- package/dist/ui-server/api/map.d.ts +187 -0
- package/dist/ui-server/api/map.d.ts.map +1 -0
- package/dist/ui-server/api/map.js +498 -0
- package/dist/ui-server/api/map.js.map +1 -0
- package/dist/ui-server/api/node.d.ts +81 -0
- package/dist/ui-server/api/node.d.ts.map +1 -0
- package/dist/ui-server/api/node.js +388 -0
- package/dist/ui-server/api/node.js.map +1 -0
- package/dist/ui-server/api/nodes.d.ts +25 -0
- package/dist/ui-server/api/nodes.d.ts.map +1 -0
- package/dist/ui-server/api/nodes.js +45 -0
- package/dist/ui-server/api/nodes.js.map +1 -0
- package/dist/ui-server/api/program.d.ts +139 -0
- package/dist/ui-server/api/program.d.ts.map +1 -0
- package/dist/ui-server/api/program.js +315 -0
- package/dist/ui-server/api/program.js.map +1 -0
- package/dist/ui-server/api/respond.d.ts +76 -0
- package/dist/ui-server/api/respond.d.ts.map +1 -0
- package/dist/ui-server/api/respond.js +186 -0
- package/dist/ui-server/api/respond.js.map +1 -0
- package/dist/ui-server/api/route-roots.d.ts +39 -0
- package/dist/ui-server/api/route-roots.d.ts.map +1 -0
- package/dist/ui-server/api/route-roots.js +96 -0
- package/dist/ui-server/api/route-roots.js.map +1 -0
- package/dist/ui-server/api/routes.d.ts +59 -0
- package/dist/ui-server/api/routes.d.ts.map +1 -0
- package/dist/ui-server/api/routes.js +112 -0
- package/dist/ui-server/api/routes.js.map +1 -0
- package/dist/ui-server/api/screens.d.ts +117 -0
- package/dist/ui-server/api/screens.d.ts.map +1 -0
- package/dist/ui-server/api/screens.js +611 -0
- package/dist/ui-server/api/screens.js.map +1 -0
- package/dist/ui-server/api/search.d.ts +29 -0
- package/dist/ui-server/api/search.d.ts.map +1 -0
- package/dist/ui-server/api/search.js +232 -0
- package/dist/ui-server/api/search.js.map +1 -0
- package/dist/ui-server/api/session.d.ts +52 -0
- package/dist/ui-server/api/session.d.ts.map +1 -0
- package/dist/ui-server/api/session.js +196 -0
- package/dist/ui-server/api/session.js.map +1 -0
- package/dist/ui-server/api/source.d.ts +200 -0
- package/dist/ui-server/api/source.d.ts.map +1 -0
- package/dist/ui-server/api/source.js +419 -0
- package/dist/ui-server/api/source.js.map +1 -0
- package/dist/ui-server/api/stats.d.ts +27 -0
- package/dist/ui-server/api/stats.d.ts.map +1 -0
- package/dist/ui-server/api/stats.js +164 -0
- package/dist/ui-server/api/stats.js.map +1 -0
- package/dist/ui-server/api/steps.d.ts +274 -0
- package/dist/ui-server/api/steps.d.ts.map +1 -0
- package/dist/ui-server/api/steps.js +1446 -0
- package/dist/ui-server/api/steps.js.map +1 -0
- package/dist/ui-server/api/trail-store.d.ts +142 -0
- package/dist/ui-server/api/trail-store.d.ts.map +1 -0
- package/dist/ui-server/api/trail-store.js +323 -0
- package/dist/ui-server/api/trail-store.js.map +1 -0
- package/dist/ui-server/api/trails.d.ts +163 -0
- package/dist/ui-server/api/trails.d.ts.map +1 -0
- package/dist/ui-server/api/trails.js +369 -0
- package/dist/ui-server/api/trails.js.map +1 -0
- package/dist/ui-server/api/when.d.ts +125 -0
- package/dist/ui-server/api/when.d.ts.map +1 -0
- package/dist/ui-server/api/when.js +251 -0
- package/dist/ui-server/api/when.js.map +1 -0
- package/dist/ui-server/api/wire.d.ts +179 -0
- package/dist/ui-server/api/wire.d.ts.map +1 -0
- package/dist/ui-server/api/wire.js +231 -0
- package/dist/ui-server/api/wire.js.map +1 -0
- package/dist/ui-server/assets.d.ts +40 -0
- package/dist/ui-server/assets.d.ts.map +1 -0
- package/dist/ui-server/assets.js +110 -0
- package/dist/ui-server/assets.js.map +1 -0
- package/dist/ui-server/constants.d.ts +32 -0
- package/dist/ui-server/constants.d.ts.map +1 -0
- package/dist/ui-server/constants.js +35 -0
- package/dist/ui-server/constants.js.map +1 -0
- package/dist/ui-server/highlight/index.d.ts +113 -0
- package/dist/ui-server/highlight/index.d.ts.map +1 -0
- package/dist/ui-server/highlight/index.js +307 -0
- package/dist/ui-server/highlight/index.js.map +1 -0
- package/dist/ui-server/highlight/languages.d.ts +36 -0
- package/dist/ui-server/highlight/languages.d.ts.map +1 -0
- package/dist/ui-server/highlight/languages.js +50 -0
- package/dist/ui-server/highlight/languages.js.map +1 -0
- package/dist/ui-server/index.d.ts +92 -0
- package/dist/ui-server/index.d.ts.map +1 -0
- package/dist/ui-server/index.js +399 -0
- package/dist/ui-server/index.js.map +1 -0
- package/dist/ui-server/open-browser.d.ts +31 -0
- package/dist/ui-server/open-browser.d.ts.map +1 -0
- package/dist/ui-server/open-browser.js +79 -0
- package/dist/ui-server/open-browser.js.map +1 -0
- package/dist/ui-server/security.d.ts +127 -0
- package/dist/ui-server/security.d.ts.map +1 -0
- package/dist/ui-server/security.js +332 -0
- package/dist/ui-server/security.js.map +1 -0
- package/dist/ui-server/static.d.ts +45 -0
- package/dist/ui-server/static.d.ts.map +1 -0
- package/dist/ui-server/static.js +165 -0
- package/dist/ui-server/static.js.map +1 -0
- package/dist/upgrade/index.d.ts +177 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +665 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/upgrade/remove-binary.d.ts +87 -0
- package/dist/upgrade/remove-binary.d.ts.map +1 -0
- package/dist/upgrade/remove-binary.js +289 -0
- package/dist/upgrade/remove-binary.js.map +1 -0
- package/dist/upgrade/update-check.d.ts +92 -0
- package/dist/upgrade/update-check.d.ts.map +1 -0
- package/dist/upgrade/update-check.js +258 -0
- package/dist/upgrade/update-check.js.map +1 -0
- package/dist/utils.d.ts +224 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +583 -0
- package/dist/utils.js.map +1 -0
- package/dist/viewer/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2 +0 -0
- package/dist/viewer/assets/archivo-latin-wght-normal-E0tuGl4L.woff2 +0 -0
- package/dist/viewer/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-2syK4fUT.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-CBJ8pzag.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-B4oTjJdl.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-CBjNughH.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-66oory27.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-BqAiT5Ww.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-B7_fu1kp.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-Bg0ZHwF4.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-D6eaYXMU.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-DRuN92E5.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2 +0 -0
- package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff +0 -0
- package/dist/viewer/assets/index-2IPslW5t.js +13 -0
- package/dist/viewer/assets/index-DSwi2Seu.css +1 -0
- package/dist/viewer/index.html +16 -0
- package/package.json +67 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The type hierarchy — one derivation of "what is above this type, what is
|
|
3
|
+
* below it, and what a call through it can land on".
|
|
4
|
+
*
|
|
5
|
+
* Three surfaces ask that question. The viewer draws it as a tree above the
|
|
6
|
+
* members outline (design spec §3.10). `codegraph_explore` announces it as an
|
|
7
|
+
* interface-dispatch boundary ("`execute` → runtime dispatch to **611** types
|
|
8
|
+
* implementing `INodeType`"). `codegraph_node` shows the same relations as
|
|
9
|
+
* chips. Three derivations would eventually disagree about the ONE number that
|
|
10
|
+
* matters — how many implementations a call can reach — and a reader holding
|
|
11
|
+
* two of them has no way to tell which is lying. So the walk lives here once,
|
|
12
|
+
* and each caller renders it: `src/ui-server/api/node.ts` turns it into
|
|
13
|
+
* `WireHierarchy`, `ToolHandler.buildPolymorphicBoundaries` into prose.
|
|
14
|
+
*
|
|
15
|
+
* Everything here is query-time and read-only. No edge is invented: the tree is
|
|
16
|
+
* exactly the `extends`/`implements` edges the graph holds, and the one thing
|
|
17
|
+
* that is *derived* — which members override an ancestor's — is derived by name
|
|
18
|
+
* within a chain the graph already links, and is labelled as a match rather
|
|
19
|
+
* than as an `overrides` edge (nothing in the engine emits one).
|
|
20
|
+
*
|
|
21
|
+
* ## Why the fan is the interesting direction
|
|
22
|
+
*
|
|
23
|
+
* Ancestors are a fact about the code you are reading: `class X extends Y` is
|
|
24
|
+
* written on line 1. Descendants are a fact you cannot get from the file at
|
|
25
|
+
* all — the implementations of an interface live anywhere in the repo, and they
|
|
26
|
+
* are precisely what a call through that interface dispatches to. Go makes this
|
|
27
|
+
* sharpest: `System` and `Fixed` satisfy `Clock` without either file naming the
|
|
28
|
+
* other, and the `implements` edge that links them is synthesized by the
|
|
29
|
+
* resolver (`synthesizedBy: 'go-implements'`). So the fan carries its own
|
|
30
|
+
* provenance and the caller draws a synthesized hop differently — the same
|
|
31
|
+
* honesty rule the Flow strip's dashed connectors follow.
|
|
32
|
+
*/
|
|
33
|
+
import type CodeGraph from '../index';
|
|
34
|
+
import type { Edge, EdgeKind, Node, NodeKind } from '../types';
|
|
35
|
+
/** The two edge kinds that make a type hierarchy. Nothing else is a subtype. */
|
|
36
|
+
export declare const HIERARCHY_EDGE_KINDS: readonly EdgeKind[];
|
|
37
|
+
/**
|
|
38
|
+
* Kinds that can sit in a type hierarchy.
|
|
39
|
+
*
|
|
40
|
+
* `type_alias` is in deliberately — TypeScript's `interface A extends B` and
|
|
41
|
+
* Rust's associated types both land here, and an alias with subtypes is a real
|
|
42
|
+
* hierarchy however it was spelled. `enum` is in for Java/Kotlin/Swift, where an
|
|
43
|
+
* enum implements interfaces.
|
|
44
|
+
*/
|
|
45
|
+
export declare const HIERARCHY_KINDS: ReadonlySet<NodeKind>;
|
|
46
|
+
/** Levels walked upward. A chain deeper than this is a generated-code artefact. */
|
|
47
|
+
export declare const MAX_ANCESTOR_DEPTH = 8;
|
|
48
|
+
/** Levels walked downward. Depth, not breadth — the fan itself is capped separately. */
|
|
49
|
+
export declare const MAX_DESCENDANT_DEPTH = 6;
|
|
50
|
+
/**
|
|
51
|
+
* Subtypes returned across the whole downward walk.
|
|
52
|
+
*
|
|
53
|
+
* A framework base class can have thousands, and the caller caps again for
|
|
54
|
+
* display; this bound is what stops the *query* from walking them. When it
|
|
55
|
+
* bites, {@link TypeHierarchy.bounded} says so — a fan that quietly stopped at
|
|
56
|
+
* 400 would read as a complete answer.
|
|
57
|
+
*/
|
|
58
|
+
export declare const MAX_DESCENDANTS = 400;
|
|
59
|
+
/**
|
|
60
|
+
* Implementations at or above which a call through the type cannot be resolved
|
|
61
|
+
* statically at all — the same threshold `codegraph_explore` uses before it
|
|
62
|
+
* announces an interface-dispatch boundary.
|
|
63
|
+
*/
|
|
64
|
+
export declare const DISPATCH_MIN_IMPLEMENTERS = 8;
|
|
65
|
+
/** How a subtype is tied to the type above it. */
|
|
66
|
+
export type HierarchyRelation = 'extends' | 'implements';
|
|
67
|
+
/** One type in the tree, and the single edge that puts it there. */
|
|
68
|
+
export interface HierarchyEntry {
|
|
69
|
+
node: Node;
|
|
70
|
+
/** Steps from the focus. 1 = declared directly on the focus (either way). */
|
|
71
|
+
depth: number;
|
|
72
|
+
/**
|
|
73
|
+
* The entry one step NEARER the focus — the row this one hangs off when the
|
|
74
|
+
* tree is drawn. The focus's own id for a depth-1 entry.
|
|
75
|
+
*/
|
|
76
|
+
parentId: string;
|
|
77
|
+
relation: HierarchyRelation;
|
|
78
|
+
/** The edge itself, always oriented subtype → supertype as the code declares it. */
|
|
79
|
+
edge: Edge;
|
|
80
|
+
/**
|
|
81
|
+
* The edge was synthesized rather than parsed — Go's implicit interface
|
|
82
|
+
* satisfaction, a framework registry. Drawn dashed, with its wiring site.
|
|
83
|
+
*/
|
|
84
|
+
synthesized: boolean;
|
|
85
|
+
/** Direct subtypes this entry has that are NOT in the returned set. */
|
|
86
|
+
hiddenSubtypes: number;
|
|
87
|
+
}
|
|
88
|
+
/** A member of the focus that redeclares a member of one of its ancestors. */
|
|
89
|
+
export interface OverrideMatch {
|
|
90
|
+
/** The member on the focus. */
|
|
91
|
+
memberId: string;
|
|
92
|
+
/** The member it redeclares. */
|
|
93
|
+
baseId: string;
|
|
94
|
+
/** The ancestor type that declares {@link baseId}. */
|
|
95
|
+
baseTypeId: string;
|
|
96
|
+
baseTypeName: string;
|
|
97
|
+
/** How the focus reaches that ancestor — `implements` reads as "satisfies". */
|
|
98
|
+
relation: HierarchyRelation;
|
|
99
|
+
}
|
|
100
|
+
/** What is above a type, what is below it, and what a call through it reaches. */
|
|
101
|
+
export interface TypeHierarchy {
|
|
102
|
+
focus: Node;
|
|
103
|
+
/** Supertypes, nearest first. Ordered so the focus's own parents lead. */
|
|
104
|
+
ancestors: HierarchyEntry[];
|
|
105
|
+
/** Subtypes, breadth-first, so depth 1 is complete before depth 2 begins. */
|
|
106
|
+
descendants: HierarchyEntry[];
|
|
107
|
+
/** True number of DIRECT subtypes, whatever `descendants` was capped to. */
|
|
108
|
+
directSubtypes: number;
|
|
109
|
+
/** Of {@link directSubtypes}, the ones tied by `implements`. */
|
|
110
|
+
directImplementers: number;
|
|
111
|
+
/**
|
|
112
|
+
* The downward walk hit {@link MAX_DESCENDANTS} or {@link MAX_DESCENDANT_DEPTH}
|
|
113
|
+
* — subtypes exist that are not in `descendants`.
|
|
114
|
+
*/
|
|
115
|
+
bounded: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* A call through this type dispatches at runtime rather than to one target.
|
|
118
|
+
* `directImplementers >= DISPATCH_MIN_IMPLEMENTERS`.
|
|
119
|
+
*/
|
|
120
|
+
polymorphic: boolean;
|
|
121
|
+
/** Members of the focus that redeclare an ancestor's, keyed by member id. */
|
|
122
|
+
overrides: Map<string, OverrideMatch>;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Whether a node could have a hierarchy at all.
|
|
126
|
+
*
|
|
127
|
+
* Cheap enough to gate on before doing any work: a function never has one, and
|
|
128
|
+
* the overwhelming majority of symbols a reader opens are functions.
|
|
129
|
+
*/
|
|
130
|
+
export declare function canHaveHierarchy(node: Node): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* The whole hierarchy of one type.
|
|
133
|
+
*
|
|
134
|
+
* Cost is one query per level in each direction plus one batched member read,
|
|
135
|
+
* never one per node — a base class with 400 subtypes is 2–3 queries, not 400.
|
|
136
|
+
*
|
|
137
|
+
* Returns `null` when the node cannot have a hierarchy or has no
|
|
138
|
+
* `extends`/`implements` edge in either direction, so a caller can gate on the
|
|
139
|
+
* return value rather than on the emptiness of three lists.
|
|
140
|
+
*/
|
|
141
|
+
export declare function buildTypeHierarchy(cg: CodeGraph, focus: Node, options?: {
|
|
142
|
+
overrides?: boolean;
|
|
143
|
+
}): TypeHierarchy | null;
|
|
144
|
+
/**
|
|
145
|
+
* How many distinct types extend or implement this one — the number
|
|
146
|
+
* `codegraph_explore` prints when it announces an interface dispatch and the
|
|
147
|
+
* number the viewer's fan draws.
|
|
148
|
+
*
|
|
149
|
+
* DISTINCT types, not edges: a class tied to a supertype by both an `extends`
|
|
150
|
+
* and a synthesized `implements` edge is one implementation, and a count that
|
|
151
|
+
* disagrees with the length of the list beside it is the bug this function
|
|
152
|
+
* exists to prevent.
|
|
153
|
+
*/
|
|
154
|
+
export declare function countImplementers(cg: CodeGraph, typeId: string): number;
|
|
155
|
+
//# sourceMappingURL=type-hierarchy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-hierarchy.d.ts","sourceRoot":"","sources":["../../src/graph/type-hierarchy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,SAAS,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE/D,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,EAAE,SAAS,QAAQ,EAA8B,CAAC;AAEnF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,QAAQ,CAShD,CAAC;AAUH,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC;AAKnC;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAM3C,kDAAkD;AAClD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,CAAC;AAEzD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oFAAoF;IACpF,IAAI,EAAE,IAAI,CAAC;IACX;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,CAAC;IACZ,0EAA0E;IAC1E,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACvC;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,IAAI,EACX,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,aAAa,GAAG,IAAI,CAiBtB;AAoQD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvE"}
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The type hierarchy — one derivation of "what is above this type, what is
|
|
4
|
+
* below it, and what a call through it can land on".
|
|
5
|
+
*
|
|
6
|
+
* Three surfaces ask that question. The viewer draws it as a tree above the
|
|
7
|
+
* members outline (design spec §3.10). `codegraph_explore` announces it as an
|
|
8
|
+
* interface-dispatch boundary ("`execute` → runtime dispatch to **611** types
|
|
9
|
+
* implementing `INodeType`"). `codegraph_node` shows the same relations as
|
|
10
|
+
* chips. Three derivations would eventually disagree about the ONE number that
|
|
11
|
+
* matters — how many implementations a call can reach — and a reader holding
|
|
12
|
+
* two of them has no way to tell which is lying. So the walk lives here once,
|
|
13
|
+
* and each caller renders it: `src/ui-server/api/node.ts` turns it into
|
|
14
|
+
* `WireHierarchy`, `ToolHandler.buildPolymorphicBoundaries` into prose.
|
|
15
|
+
*
|
|
16
|
+
* Everything here is query-time and read-only. No edge is invented: the tree is
|
|
17
|
+
* exactly the `extends`/`implements` edges the graph holds, and the one thing
|
|
18
|
+
* that is *derived* — which members override an ancestor's — is derived by name
|
|
19
|
+
* within a chain the graph already links, and is labelled as a match rather
|
|
20
|
+
* than as an `overrides` edge (nothing in the engine emits one).
|
|
21
|
+
*
|
|
22
|
+
* ## Why the fan is the interesting direction
|
|
23
|
+
*
|
|
24
|
+
* Ancestors are a fact about the code you are reading: `class X extends Y` is
|
|
25
|
+
* written on line 1. Descendants are a fact you cannot get from the file at
|
|
26
|
+
* all — the implementations of an interface live anywhere in the repo, and they
|
|
27
|
+
* are precisely what a call through that interface dispatches to. Go makes this
|
|
28
|
+
* sharpest: `System` and `Fixed` satisfy `Clock` without either file naming the
|
|
29
|
+
* other, and the `implements` edge that links them is synthesized by the
|
|
30
|
+
* resolver (`synthesizedBy: 'go-implements'`). So the fan carries its own
|
|
31
|
+
* provenance and the caller draws a synthesized hop differently — the same
|
|
32
|
+
* honesty rule the Flow strip's dashed connectors follow.
|
|
33
|
+
*/
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.DISPATCH_MIN_IMPLEMENTERS = exports.MAX_DESCENDANTS = exports.MAX_DESCENDANT_DEPTH = exports.MAX_ANCESTOR_DEPTH = exports.HIERARCHY_KINDS = exports.HIERARCHY_EDGE_KINDS = void 0;
|
|
36
|
+
exports.canHaveHierarchy = canHaveHierarchy;
|
|
37
|
+
exports.buildTypeHierarchy = buildTypeHierarchy;
|
|
38
|
+
exports.countImplementers = countImplementers;
|
|
39
|
+
/** The two edge kinds that make a type hierarchy. Nothing else is a subtype. */
|
|
40
|
+
exports.HIERARCHY_EDGE_KINDS = ['extends', 'implements'];
|
|
41
|
+
/**
|
|
42
|
+
* Kinds that can sit in a type hierarchy.
|
|
43
|
+
*
|
|
44
|
+
* `type_alias` is in deliberately — TypeScript's `interface A extends B` and
|
|
45
|
+
* Rust's associated types both land here, and an alias with subtypes is a real
|
|
46
|
+
* hierarchy however it was spelled. `enum` is in for Java/Kotlin/Swift, where an
|
|
47
|
+
* enum implements interfaces.
|
|
48
|
+
*/
|
|
49
|
+
exports.HIERARCHY_KINDS = new Set([
|
|
50
|
+
'class',
|
|
51
|
+
'interface',
|
|
52
|
+
'struct',
|
|
53
|
+
'trait',
|
|
54
|
+
'protocol',
|
|
55
|
+
'enum',
|
|
56
|
+
'type_alias',
|
|
57
|
+
'union',
|
|
58
|
+
]);
|
|
59
|
+
/** Member kinds an override can be declared on. */
|
|
60
|
+
const OVERRIDABLE_KINDS = new Set([
|
|
61
|
+
'method',
|
|
62
|
+
'function',
|
|
63
|
+
'property',
|
|
64
|
+
'field',
|
|
65
|
+
]);
|
|
66
|
+
/** Levels walked upward. A chain deeper than this is a generated-code artefact. */
|
|
67
|
+
exports.MAX_ANCESTOR_DEPTH = 8;
|
|
68
|
+
/** Levels walked downward. Depth, not breadth — the fan itself is capped separately. */
|
|
69
|
+
exports.MAX_DESCENDANT_DEPTH = 6;
|
|
70
|
+
/**
|
|
71
|
+
* Subtypes returned across the whole downward walk.
|
|
72
|
+
*
|
|
73
|
+
* A framework base class can have thousands, and the caller caps again for
|
|
74
|
+
* display; this bound is what stops the *query* from walking them. When it
|
|
75
|
+
* bites, {@link TypeHierarchy.bounded} says so — a fan that quietly stopped at
|
|
76
|
+
* 400 would read as a complete answer.
|
|
77
|
+
*/
|
|
78
|
+
exports.MAX_DESCENDANTS = 400;
|
|
79
|
+
/** Ancestors whose members are read when matching overrides. */
|
|
80
|
+
const MAX_OVERRIDE_ANCESTORS = 12;
|
|
81
|
+
/**
|
|
82
|
+
* Implementations at or above which a call through the type cannot be resolved
|
|
83
|
+
* statically at all — the same threshold `codegraph_explore` uses before it
|
|
84
|
+
* announces an interface-dispatch boundary.
|
|
85
|
+
*/
|
|
86
|
+
exports.DISPATCH_MIN_IMPLEMENTERS = 8;
|
|
87
|
+
// =============================================================================
|
|
88
|
+
// The walk
|
|
89
|
+
// =============================================================================
|
|
90
|
+
/**
|
|
91
|
+
* Whether a node could have a hierarchy at all.
|
|
92
|
+
*
|
|
93
|
+
* Cheap enough to gate on before doing any work: a function never has one, and
|
|
94
|
+
* the overwhelming majority of symbols a reader opens are functions.
|
|
95
|
+
*/
|
|
96
|
+
function canHaveHierarchy(node) {
|
|
97
|
+
return exports.HIERARCHY_KINDS.has(node.kind);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The whole hierarchy of one type.
|
|
101
|
+
*
|
|
102
|
+
* Cost is one query per level in each direction plus one batched member read,
|
|
103
|
+
* never one per node — a base class with 400 subtypes is 2–3 queries, not 400.
|
|
104
|
+
*
|
|
105
|
+
* Returns `null` when the node cannot have a hierarchy or has no
|
|
106
|
+
* `extends`/`implements` edge in either direction, so a caller can gate on the
|
|
107
|
+
* return value rather than on the emptiness of three lists.
|
|
108
|
+
*/
|
|
109
|
+
function buildTypeHierarchy(cg, focus, options = {}) {
|
|
110
|
+
if (!canHaveHierarchy(focus))
|
|
111
|
+
return null;
|
|
112
|
+
const ancestors = walkAncestors(cg, focus);
|
|
113
|
+
const down = walkDescendants(cg, focus);
|
|
114
|
+
if (ancestors.length === 0 && down.entries.length === 0)
|
|
115
|
+
return null;
|
|
116
|
+
return {
|
|
117
|
+
focus,
|
|
118
|
+
ancestors,
|
|
119
|
+
descendants: down.entries,
|
|
120
|
+
directSubtypes: down.directTotal,
|
|
121
|
+
directImplementers: down.directImplementers,
|
|
122
|
+
bounded: down.bounded,
|
|
123
|
+
polymorphic: down.directImplementers >= exports.DISPATCH_MIN_IMPLEMENTERS,
|
|
124
|
+
overrides: options.overrides === false ? new Map() : matchOverrides(cg, focus, ancestors),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Walk up. Multiple direct parents are normal (a class extends one and
|
|
129
|
+
* implements three), so this is a BFS rather than a chain, ordered nearest
|
|
130
|
+
* first and — within a level — `extends` before `implements`, because the one
|
|
131
|
+
* that carries the implementation is the one a reader wants adjacent.
|
|
132
|
+
*/
|
|
133
|
+
function walkAncestors(cg, focus) {
|
|
134
|
+
const out = [];
|
|
135
|
+
const seen = new Set([focus.id]);
|
|
136
|
+
let frontier = [focus.id];
|
|
137
|
+
for (let depth = 1; depth <= exports.MAX_ANCESTOR_DEPTH && frontier.length > 0; depth++) {
|
|
138
|
+
const edges = hierarchyEdges(cg, frontier, 'up');
|
|
139
|
+
if (edges.length === 0)
|
|
140
|
+
break;
|
|
141
|
+
const nodes = cg.getNodesByIds(edges.map((e) => e.target));
|
|
142
|
+
const level = [];
|
|
143
|
+
for (const edge of edges) {
|
|
144
|
+
const node = nodes.get(edge.target);
|
|
145
|
+
if (!node || seen.has(node.id))
|
|
146
|
+
continue;
|
|
147
|
+
seen.add(node.id);
|
|
148
|
+
level.push(toEntry(node, depth, edge.source, edge));
|
|
149
|
+
}
|
|
150
|
+
sortLevel(level);
|
|
151
|
+
out.push(...level);
|
|
152
|
+
frontier = level.map((e) => e.node.id);
|
|
153
|
+
}
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Walk down — the fan. Breadth-first so the cap always trims the deepest,
|
|
158
|
+
* least-relevant end: a reader looking at an interface wants its direct
|
|
159
|
+
* implementations complete before a subclass of a subclass appears at all.
|
|
160
|
+
*/
|
|
161
|
+
function walkDescendants(cg, focus) {
|
|
162
|
+
const entries = [];
|
|
163
|
+
const byId = new Map();
|
|
164
|
+
const seen = new Set([focus.id]);
|
|
165
|
+
let frontier = [focus.id];
|
|
166
|
+
let directTotal = 0;
|
|
167
|
+
let directImplementers = 0;
|
|
168
|
+
let bounded = false;
|
|
169
|
+
for (let depth = 1; depth <= exports.MAX_DESCENDANT_DEPTH && frontier.length > 0; depth++) {
|
|
170
|
+
const edges = hierarchyEdges(cg, frontier, 'down');
|
|
171
|
+
if (edges.length === 0)
|
|
172
|
+
break;
|
|
173
|
+
const nodes = cg.getNodesByIds(edges.map((e) => e.source));
|
|
174
|
+
// One row per subtype, not per edge: a class tied to its supertype by both
|
|
175
|
+
// a parsed `extends` and a synthesized `implements` is ONE implementation.
|
|
176
|
+
// `extends` wins the relation because it is the one written in the file.
|
|
177
|
+
const level = [];
|
|
178
|
+
const overflow = new Map();
|
|
179
|
+
const levelSeen = new Set();
|
|
180
|
+
for (const edge of edges) {
|
|
181
|
+
const node = nodes.get(edge.source);
|
|
182
|
+
if (!node || seen.has(node.id))
|
|
183
|
+
continue;
|
|
184
|
+
const existing = levelSeen.has(node.id)
|
|
185
|
+
? level.find((e) => e.node.id === node.id)
|
|
186
|
+
: undefined;
|
|
187
|
+
if (existing) {
|
|
188
|
+
if (existing.relation === 'implements' && edge.kind === 'extends') {
|
|
189
|
+
existing.relation = 'extends';
|
|
190
|
+
existing.edge = edge;
|
|
191
|
+
existing.synthesized = edge.provenance === 'heuristic';
|
|
192
|
+
}
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
if (depth === 1) {
|
|
196
|
+
directTotal++;
|
|
197
|
+
if (edge.kind === 'implements')
|
|
198
|
+
directImplementers++;
|
|
199
|
+
}
|
|
200
|
+
if (entries.length + level.length >= exports.MAX_DESCENDANTS) {
|
|
201
|
+
// Stop materialising rows, but keep counting depth 1 so
|
|
202
|
+
// `directSubtypes` stays the true number.
|
|
203
|
+
bounded = true;
|
|
204
|
+
overflow.set(edge.target, (overflow.get(edge.target) ?? 0) + 1);
|
|
205
|
+
levelSeen.add(node.id);
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
levelSeen.add(node.id);
|
|
209
|
+
level.push(toEntry(node, depth, edge.target, edge));
|
|
210
|
+
}
|
|
211
|
+
for (const entry of level)
|
|
212
|
+
seen.add(entry.node.id);
|
|
213
|
+
sortLevel(level);
|
|
214
|
+
for (const entry of level) {
|
|
215
|
+
entries.push(entry);
|
|
216
|
+
byId.set(entry.node.id, entry);
|
|
217
|
+
}
|
|
218
|
+
for (const [parentId, count] of overflow) {
|
|
219
|
+
const parent = byId.get(parentId);
|
|
220
|
+
if (parent)
|
|
221
|
+
parent.hiddenSubtypes += count;
|
|
222
|
+
}
|
|
223
|
+
if (bounded)
|
|
224
|
+
break;
|
|
225
|
+
frontier = level.map((e) => e.node.id);
|
|
226
|
+
if (depth === exports.MAX_DESCENDANT_DEPTH && frontier.length > 0) {
|
|
227
|
+
// A level exists below the one we are about to stop at. Say so rather
|
|
228
|
+
// than letting the deepest row read as a leaf.
|
|
229
|
+
for (const edge of hierarchyEdges(cg, frontier, 'down')) {
|
|
230
|
+
if (seen.has(edge.source))
|
|
231
|
+
continue;
|
|
232
|
+
bounded = true;
|
|
233
|
+
const parent = byId.get(edge.target);
|
|
234
|
+
if (parent)
|
|
235
|
+
parent.hiddenSubtypes++;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return { entries, directTotal, directImplementers, bounded };
|
|
240
|
+
}
|
|
241
|
+
/** One batched edge read per level, filtered to the two hierarchy kinds. */
|
|
242
|
+
function hierarchyEdges(cg, ids, direction) {
|
|
243
|
+
const kinds = [...exports.HIERARCHY_EDGE_KINDS];
|
|
244
|
+
try {
|
|
245
|
+
const edges = direction === 'up'
|
|
246
|
+
? cg.getOutgoingEdgesFrom(ids, kinds)
|
|
247
|
+
: cg.getIncomingEdgesTo(ids, kinds);
|
|
248
|
+
// Belt and braces: the kind filter is applied in SQL, but a caller reading
|
|
249
|
+
// `entry.relation` must never see a third value.
|
|
250
|
+
return edges.filter((e) => e.kind === 'extends' || e.kind === 'implements');
|
|
251
|
+
}
|
|
252
|
+
catch {
|
|
253
|
+
return [];
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
function toEntry(node, depth, parentId, edge) {
|
|
257
|
+
return {
|
|
258
|
+
node,
|
|
259
|
+
depth,
|
|
260
|
+
parentId,
|
|
261
|
+
relation: edge.kind === 'implements' ? 'implements' : 'extends',
|
|
262
|
+
edge,
|
|
263
|
+
synthesized: edge.provenance === 'heuristic',
|
|
264
|
+
hiddenSubtypes: 0,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Deterministic order within one level: `extends` first, then by name, then by
|
|
269
|
+
* file. Never by insertion — two runs against the same index must draw the same
|
|
270
|
+
* tree, and SQLite's row order is not a promise.
|
|
271
|
+
*/
|
|
272
|
+
function sortLevel(level) {
|
|
273
|
+
level.sort((a, b) => (a.relation === b.relation ? 0 : a.relation === 'extends' ? -1 : 1) ||
|
|
274
|
+
a.node.name.localeCompare(b.node.name) ||
|
|
275
|
+
a.node.filePath.localeCompare(b.node.filePath) ||
|
|
276
|
+
a.node.startLine - b.node.startLine);
|
|
277
|
+
}
|
|
278
|
+
// =============================================================================
|
|
279
|
+
// Overrides
|
|
280
|
+
// =============================================================================
|
|
281
|
+
/**
|
|
282
|
+
* Which of the focus's members redeclare an ancestor's.
|
|
283
|
+
*
|
|
284
|
+
* Nothing in the engine emits an `overrides` edge (the kind exists in the
|
|
285
|
+
* schema and no extractor writes one), so this is a NAME match — but a name
|
|
286
|
+
* match inside a chain the graph already established, which is exactly what
|
|
287
|
+
* every language's dispatch rule is. It is reported as a match against a named
|
|
288
|
+
* base member the reader can open, never as an edge, and it is deliberately
|
|
289
|
+
* blind to signatures: an overload set would need type resolution the graph
|
|
290
|
+
* does not have, and claiming "overrides" for the wrong overload is worse than
|
|
291
|
+
* saying which type also declares this name.
|
|
292
|
+
*
|
|
293
|
+
* Two batched queries total, whatever the ancestor count.
|
|
294
|
+
*/
|
|
295
|
+
function matchOverrides(cg, focus, ancestors) {
|
|
296
|
+
const result = new Map();
|
|
297
|
+
if (ancestors.length === 0)
|
|
298
|
+
return result;
|
|
299
|
+
const ownMembers = membersOf(cg, [focus.id]);
|
|
300
|
+
if (ownMembers.length === 0)
|
|
301
|
+
return result;
|
|
302
|
+
// Nearest ancestors win: a method redeclared two levels up is still reported
|
|
303
|
+
// against the type the reader would actually look in.
|
|
304
|
+
const chain = ancestors.slice(0, MAX_OVERRIDE_ANCESTORS);
|
|
305
|
+
const baseMembers = membersOf(cg, chain.map((a) => a.node.id));
|
|
306
|
+
if (baseMembers.length === 0)
|
|
307
|
+
return result;
|
|
308
|
+
const ancestorById = new Map(chain.map((a) => [a.node.id, a]));
|
|
309
|
+
const byName = new Map();
|
|
310
|
+
// `chain` is nearest-first and `membersOf` preserves the order of the ids it
|
|
311
|
+
// was given, so the first entry for a name is the nearest declaration.
|
|
312
|
+
for (const { member, ownerId } of baseMembers) {
|
|
313
|
+
if (!byName.has(member.name))
|
|
314
|
+
byName.set(member.name, { member, ownerId });
|
|
315
|
+
}
|
|
316
|
+
for (const { member } of ownMembers) {
|
|
317
|
+
if (!OVERRIDABLE_KINDS.has(member.kind))
|
|
318
|
+
continue;
|
|
319
|
+
const base = byName.get(member.name);
|
|
320
|
+
if (!base || base.member.id === member.id)
|
|
321
|
+
continue;
|
|
322
|
+
const owner = ancestorById.get(base.ownerId);
|
|
323
|
+
if (!owner)
|
|
324
|
+
continue;
|
|
325
|
+
result.set(member.id, {
|
|
326
|
+
memberId: member.id,
|
|
327
|
+
baseId: base.member.id,
|
|
328
|
+
baseTypeId: owner.node.id,
|
|
329
|
+
baseTypeName: owner.node.name,
|
|
330
|
+
relation: owner.relation,
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
return result;
|
|
334
|
+
}
|
|
335
|
+
/** Direct `contains` children of the given containers, in the containers' order. */
|
|
336
|
+
function membersOf(cg, containerIds) {
|
|
337
|
+
if (containerIds.length === 0)
|
|
338
|
+
return [];
|
|
339
|
+
let edges;
|
|
340
|
+
try {
|
|
341
|
+
edges = cg.getOutgoingEdgesFrom(containerIds, ['contains']);
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
return [];
|
|
345
|
+
}
|
|
346
|
+
if (edges.length === 0)
|
|
347
|
+
return [];
|
|
348
|
+
const nodes = cg.getNodesByIds(edges.map((e) => e.target));
|
|
349
|
+
const rank = new Map(containerIds.map((id, i) => [id, i]));
|
|
350
|
+
const out = [];
|
|
351
|
+
for (const edge of edges) {
|
|
352
|
+
const member = nodes.get(edge.target);
|
|
353
|
+
if (member)
|
|
354
|
+
out.push({ member, ownerId: edge.source });
|
|
355
|
+
}
|
|
356
|
+
out.sort((a, b) => (rank.get(a.ownerId) ?? 0) - (rank.get(b.ownerId) ?? 0) ||
|
|
357
|
+
a.member.startLine - b.member.startLine);
|
|
358
|
+
return out;
|
|
359
|
+
}
|
|
360
|
+
// =============================================================================
|
|
361
|
+
// The fan, on its own
|
|
362
|
+
// =============================================================================
|
|
363
|
+
/**
|
|
364
|
+
* How many distinct types extend or implement this one — the number
|
|
365
|
+
* `codegraph_explore` prints when it announces an interface dispatch and the
|
|
366
|
+
* number the viewer's fan draws.
|
|
367
|
+
*
|
|
368
|
+
* DISTINCT types, not edges: a class tied to a supertype by both an `extends`
|
|
369
|
+
* and a synthesized `implements` edge is one implementation, and a count that
|
|
370
|
+
* disagrees with the length of the list beside it is the bug this function
|
|
371
|
+
* exists to prevent.
|
|
372
|
+
*/
|
|
373
|
+
function countImplementers(cg, typeId) {
|
|
374
|
+
try {
|
|
375
|
+
const edges = cg.getIncomingEdgesTo([typeId], [...exports.HIERARCHY_EDGE_KINDS]);
|
|
376
|
+
return new Set(edges.map((e) => e.source)).size;
|
|
377
|
+
}
|
|
378
|
+
catch {
|
|
379
|
+
return 0;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=type-hierarchy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-hierarchy.js","sourceRoot":"","sources":["../../src/graph/type-hierarchy.ts"],"names":[],"mappings":"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"}
|