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,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The type hierarchy block on `/api/node` — ancestors up, subtypes down, and
|
|
3
|
+
* the fan an interface call dispatches into (design spec §3.10).
|
|
4
|
+
*
|
|
5
|
+
* The walk itself is `src/graph/type-hierarchy.ts`, shared with
|
|
6
|
+
* `codegraph_explore`'s interface-dispatch announcement so the two can never
|
|
7
|
+
* print different implementation counts for the same interface. This module is
|
|
8
|
+
* the renderer: it flattens the tree into rows the viewer can draw without
|
|
9
|
+
* measuring anything, and caps the fan while keeping the true totals.
|
|
10
|
+
*
|
|
11
|
+
* It rides on `/api/node` rather than sitting behind its own endpoint for the
|
|
12
|
+
* same reason `highlight` rides on `/api/source`: the block is part of the
|
|
13
|
+
* Symbol view's first paint, and a second round-trip would let the screen
|
|
14
|
+
* settle and then grow a tree above the code the reader had already started
|
|
15
|
+
* reading. The cost of carrying it is gated to types — `canHaveHierarchy` is a
|
|
16
|
+
* kind test, and the overwhelming majority of symbols a reader opens are
|
|
17
|
+
* functions.
|
|
18
|
+
*/
|
|
19
|
+
import type { CodeGraph } from '../../index';
|
|
20
|
+
import type { Node } from '../../types';
|
|
21
|
+
import { type HierarchyRelation } from '../../graph/type-hierarchy';
|
|
22
|
+
import { type WireList, type WireNodeRef } from './wire';
|
|
23
|
+
/** Subtype rows carried on the payload. The viewer folds long fans again at 12. */
|
|
24
|
+
export declare const MAX_HIERARCHY_DESCENDANTS = 240;
|
|
25
|
+
/** Supertype rows carried on the payload. A chain longer than this is generated code. */
|
|
26
|
+
export declare const MAX_HIERARCHY_ANCESTORS = 24;
|
|
27
|
+
/** One type in the tree: the ref, its place, and how it got there. */
|
|
28
|
+
export interface WireHierarchyNode extends WireNodeRef {
|
|
29
|
+
/** Steps from the focus, in whichever direction the row sits. 1 = direct. */
|
|
30
|
+
depth: number;
|
|
31
|
+
/** The row this one hangs off — the focus's id at depth 1. */
|
|
32
|
+
parentId: string;
|
|
33
|
+
relation: HierarchyRelation;
|
|
34
|
+
/**
|
|
35
|
+
* The edge was synthesized rather than parsed — Go's implicit interface
|
|
36
|
+
* satisfaction is the common case. Drawn dashed, with `registeredAt` naming
|
|
37
|
+
* the wiring site, exactly as the Flow strip draws a synthesized hop.
|
|
38
|
+
*/
|
|
39
|
+
synthesized: boolean;
|
|
40
|
+
via?: string;
|
|
41
|
+
registeredAt?: string;
|
|
42
|
+
/** Direct subtypes of this row that are NOT in the payload. */
|
|
43
|
+
hiddenSubtypes: number;
|
|
44
|
+
}
|
|
45
|
+
/** Everything the type-hierarchy block draws. */
|
|
46
|
+
export interface WireHierarchy {
|
|
47
|
+
/** Supertypes, nearest first. */
|
|
48
|
+
ancestors: WireList<WireHierarchyNode>;
|
|
49
|
+
/** Subtypes, breadth-first: depth 1 is complete before depth 2 starts. */
|
|
50
|
+
descendants: WireList<WireHierarchyNode>;
|
|
51
|
+
/** True number of DIRECT subtypes, whatever `descendants` was capped to. */
|
|
52
|
+
direct: number;
|
|
53
|
+
/** Of `direct`, the ones tied by `implements` — what a call through the type reaches. */
|
|
54
|
+
implementers: number;
|
|
55
|
+
/** Subtypes exist below what the walk returned. */
|
|
56
|
+
bounded: boolean;
|
|
57
|
+
/** A call through this type dispatches at runtime rather than to one target. */
|
|
58
|
+
polymorphic: boolean;
|
|
59
|
+
}
|
|
60
|
+
/** A member of the focus that redeclares an ancestor's member. */
|
|
61
|
+
export interface WireOverride {
|
|
62
|
+
/** The member it redeclares — open it to read what is being replaced. */
|
|
63
|
+
baseId: string;
|
|
64
|
+
baseTypeId: string;
|
|
65
|
+
baseTypeName: string;
|
|
66
|
+
/** `implements` reads as "satisfies", `extends` as "overrides". */
|
|
67
|
+
relation: HierarchyRelation;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Build the block, or `null` when there is nothing to draw.
|
|
71
|
+
*
|
|
72
|
+
* `null` is the answer for every function, and for a class that neither
|
|
73
|
+
* extends nor is extended — the viewer draws no empty tree and no "no
|
|
74
|
+
* hierarchy" note, because a class with no subtypes is the normal case and
|
|
75
|
+
* saying so on every screen is noise.
|
|
76
|
+
*/
|
|
77
|
+
export declare function buildHierarchy(cg: CodeGraph, node: Node): {
|
|
78
|
+
wire: WireHierarchy;
|
|
79
|
+
overrides: Map<string, WireOverride>;
|
|
80
|
+
} | null;
|
|
81
|
+
//# sourceMappingURL=hierarchy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../../src/ui-server/api/hierarchy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAuB,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9E,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,sEAAsE;AACtE,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvC,0EAA0E;IAC1E,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,IAAI,GACT;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,GAAG,IAAI,CAoCtE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The type hierarchy block on `/api/node` — ancestors up, subtypes down, and
|
|
4
|
+
* the fan an interface call dispatches into (design spec §3.10).
|
|
5
|
+
*
|
|
6
|
+
* The walk itself is `src/graph/type-hierarchy.ts`, shared with
|
|
7
|
+
* `codegraph_explore`'s interface-dispatch announcement so the two can never
|
|
8
|
+
* print different implementation counts for the same interface. This module is
|
|
9
|
+
* the renderer: it flattens the tree into rows the viewer can draw without
|
|
10
|
+
* measuring anything, and caps the fan while keeping the true totals.
|
|
11
|
+
*
|
|
12
|
+
* It rides on `/api/node` rather than sitting behind its own endpoint for the
|
|
13
|
+
* same reason `highlight` rides on `/api/source`: the block is part of the
|
|
14
|
+
* Symbol view's first paint, and a second round-trip would let the screen
|
|
15
|
+
* settle and then grow a tree above the code the reader had already started
|
|
16
|
+
* reading. The cost of carrying it is gated to types — `canHaveHierarchy` is a
|
|
17
|
+
* kind test, and the overwhelming majority of symbols a reader opens are
|
|
18
|
+
* functions.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.MAX_HIERARCHY_ANCESTORS = exports.MAX_HIERARCHY_DESCENDANTS = void 0;
|
|
22
|
+
exports.buildHierarchy = buildHierarchy;
|
|
23
|
+
const type_hierarchy_1 = require("../../graph/type-hierarchy");
|
|
24
|
+
const wire_1 = require("./wire");
|
|
25
|
+
/** Subtype rows carried on the payload. The viewer folds long fans again at 12. */
|
|
26
|
+
exports.MAX_HIERARCHY_DESCENDANTS = 240;
|
|
27
|
+
/** Supertype rows carried on the payload. A chain longer than this is generated code. */
|
|
28
|
+
exports.MAX_HIERARCHY_ANCESTORS = 24;
|
|
29
|
+
/**
|
|
30
|
+
* Build the block, or `null` when there is nothing to draw.
|
|
31
|
+
*
|
|
32
|
+
* `null` is the answer for every function, and for a class that neither
|
|
33
|
+
* extends nor is extended — the viewer draws no empty tree and no "no
|
|
34
|
+
* hierarchy" note, because a class with no subtypes is the normal case and
|
|
35
|
+
* saying so on every screen is noise.
|
|
36
|
+
*/
|
|
37
|
+
function buildHierarchy(cg, node) {
|
|
38
|
+
if (!(0, type_hierarchy_1.canHaveHierarchy)(node))
|
|
39
|
+
return null;
|
|
40
|
+
let hierarchy;
|
|
41
|
+
try {
|
|
42
|
+
hierarchy = (0, type_hierarchy_1.buildTypeHierarchy)(cg, node);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
if (!hierarchy)
|
|
48
|
+
return null;
|
|
49
|
+
const ancestors = hierarchy.ancestors.slice(0, exports.MAX_HIERARCHY_ANCESTORS).map(toWireHierarchyNode);
|
|
50
|
+
const descendants = hierarchy.descendants
|
|
51
|
+
.slice(0, exports.MAX_HIERARCHY_DESCENDANTS)
|
|
52
|
+
.map(toWireHierarchyNode);
|
|
53
|
+
const overrides = new Map();
|
|
54
|
+
for (const [memberId, match] of hierarchy.overrides) {
|
|
55
|
+
overrides.set(memberId, {
|
|
56
|
+
baseId: match.baseId,
|
|
57
|
+
baseTypeId: match.baseTypeId,
|
|
58
|
+
baseTypeName: match.baseTypeName,
|
|
59
|
+
relation: match.relation,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
wire: {
|
|
64
|
+
ancestors: (0, wire_1.wireList)(ancestors, hierarchy.ancestors.length),
|
|
65
|
+
descendants: (0, wire_1.wireList)(descendants, hierarchy.descendants.length),
|
|
66
|
+
direct: hierarchy.directSubtypes,
|
|
67
|
+
implementers: hierarchy.directImplementers,
|
|
68
|
+
bounded: hierarchy.bounded,
|
|
69
|
+
polymorphic: hierarchy.polymorphic,
|
|
70
|
+
},
|
|
71
|
+
overrides,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function toWireHierarchyNode(entry) {
|
|
75
|
+
const meta = (entry.edge.metadata ?? {});
|
|
76
|
+
const wire = {
|
|
77
|
+
...(0, wire_1.toNodeRef)(entry.node),
|
|
78
|
+
depth: entry.depth,
|
|
79
|
+
parentId: entry.parentId,
|
|
80
|
+
relation: entry.relation,
|
|
81
|
+
synthesized: entry.synthesized,
|
|
82
|
+
hiddenSubtypes: entry.hiddenSubtypes,
|
|
83
|
+
};
|
|
84
|
+
if (typeof meta.synthesizedBy === 'string')
|
|
85
|
+
wire.via = meta.synthesizedBy;
|
|
86
|
+
else if (typeof meta.via === 'string')
|
|
87
|
+
wire.via = meta.via;
|
|
88
|
+
if (typeof meta.registeredAt === 'string')
|
|
89
|
+
wire.registeredAt = meta.registeredAt;
|
|
90
|
+
return wire;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=hierarchy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../src/ui-server/api/hierarchy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAwEH,wCAuCC;AA3GD,+DAMoC;AACpC,iCAA8E;AAE9E,mFAAmF;AACtE,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAE7C,yFAAyF;AAC5E,QAAA,uBAAuB,GAAG,EAAE,CAAC;AA+C1C;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,EAAa,EACb,IAAU;IAEV,IAAI,CAAC,IAAA,iCAAgB,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,SAA+B,CAAC;IACpC,IAAI,CAAC;QACH,SAAS,GAAG,IAAA,mCAAkB,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,+BAAuB,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW;SACtC,KAAK,CAAC,CAAC,EAAE,iCAAyB,CAAC;SACnC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACpD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,SAAS,EAAE,IAAA,eAAQ,EAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1D,WAAW,EAAE,IAAA,eAAQ,EAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;YAChE,MAAM,EAAE,SAAS,CAAC,cAAc;YAChC,YAAY,EAAE,SAAS,CAAC,kBAAkB;YAC1C,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;SACnC;QACD,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAqB;IAChD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;IACpE,MAAM,IAAI,GAAsB;QAC9B,GAAG,IAAA,gBAAS,EAAC,KAAK,CAAC,IAAI,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;IACF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;QAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;SACrE,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;QAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3D,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;QAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACjF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The read-only JSON API the viewer reads its screens from.
|
|
3
|
+
*
|
|
4
|
+
* Thirteen endpoints, one per screen, each answering in a single round-trip —
|
|
5
|
+
* the same principle as `codegraph_explore`: return enough that the caller does
|
|
6
|
+
* not have to ask a follow-up question — plus one that does not answer at all
|
|
7
|
+
* and stays open instead (`/api/events`), so a screen learns that its answer
|
|
8
|
+
* went stale rather than waiting to be asked again.
|
|
9
|
+
*
|
|
10
|
+
* All but one are *readers* of the existing schema; nothing here indexes or
|
|
11
|
+
* resolves. The exception is `/api/trails`, which saves the reader's own named
|
|
12
|
+
* walks as JSON under `.codegraph/ui/trails/` — the only write the viewer makes,
|
|
13
|
+
* to the only directory it may write to, and refused outright under
|
|
14
|
+
* `--read-only`. See `./trail-store.ts`.
|
|
15
|
+
*
|
|
16
|
+
* ```
|
|
17
|
+
* GET /api/stats what this index is and how much to trust it
|
|
18
|
+
* GET /api/search?q= the search palette
|
|
19
|
+
* GET /api/node/<id> the Symbol view: rails, members, hierarchy, tests, blast
|
|
20
|
+
* GET /api/nodes?id=&id= names for ids you already have (the trail)
|
|
21
|
+
* GET /api/source?file=&from=&to= verbatim source, with a drift verdict
|
|
22
|
+
* GET /api/file/<path> the File view: outline and import rails
|
|
23
|
+
* GET /api/filecode/<path> the whole-file view: ports, arcs, callee rail
|
|
24
|
+
* GET /api/routes the URL to handler map, when there is one
|
|
25
|
+
* GET /api/entrypoints where to start reading: routes, roots, tests, hubs
|
|
26
|
+
* GET /api/map?root=&depth= the module map: modules, links, cycles
|
|
27
|
+
* GET /api/deadcode symbols nothing reaches, and what was excluded
|
|
28
|
+
* GET /api/flow?from=&to= the flow strip: one card per hop
|
|
29
|
+
* GET /api/events the live channel (SSE): drift and refresh
|
|
30
|
+
* GET /api/trails saved trails, re-resolved against the index
|
|
31
|
+
* POST /api/trails save one (refused under --read-only)
|
|
32
|
+
* DELETE /api/trails/<id> remove one (refused under --read-only)
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* It mounts on the `api` seam of `startUiServer`, which means it sits *behind*
|
|
36
|
+
* the loopback boundary in `security.ts`: the `Host` allowlist, the absence of
|
|
37
|
+
* CORS headers and the method restriction are already enforced by the time a
|
|
38
|
+
* handler here runs — including the extra shape a write has to have. The one
|
|
39
|
+
* obligation that remains ours is the path chokepoint, `resolveProjectFile` for
|
|
40
|
+
* anything that touches the repository. Two modules here reach the filesystem
|
|
41
|
+
* and no others: `source.ts` reads the project's code, and `trail-store.ts`
|
|
42
|
+
* reads and writes `.codegraph/ui/trails/`.
|
|
43
|
+
*/
|
|
44
|
+
import type { UiApiHandler } from '../index';
|
|
45
|
+
export { GraphSession } from './session';
|
|
46
|
+
export { ApiError } from './respond';
|
|
47
|
+
export * from './wire';
|
|
48
|
+
export type { WireEntryPoints, WireEntryFile, WireEntryTest, WireEntryHub, } from './entrypoints';
|
|
49
|
+
export type { WireRoute, WireRoutes } from './routes';
|
|
50
|
+
export type { WireHierarchy, WireHierarchyNode, WireOverride } from './hierarchy';
|
|
51
|
+
export { MAX_HIERARCHY_ANCESTORS, MAX_HIERARCHY_DESCENDANTS } from './hierarchy';
|
|
52
|
+
export type { WireNodeRefs } from './nodes';
|
|
53
|
+
export type { WireFlowPayload, WireFlow, WireFlowHop, WireFlowEdge, WireFlowSource, WireFlowCallRef, WireFlowAmbiguity, } from './flow';
|
|
54
|
+
export type { WireFileCodePayload, WireFileCall, WireFileOutsideRef, } from './filecode';
|
|
55
|
+
export { EventHub, MAX_EVENT_FILES, HEARTBEAT_MS } from './events';
|
|
56
|
+
export type { WireEvent, WireEventHello, WireEventChanged, WireEventIndex, WireEventDegraded, WireIndexRevision, } from './events';
|
|
57
|
+
export type { WireMapPayload, WireMapModule, WireMapLink, WireMapCycle, } from './map';
|
|
58
|
+
export type { WireDeadCode, WireDeadCodeExclusion, WireDeadCodeGroup, WireDeadCodeRow, } from './deadcode';
|
|
59
|
+
export { MAX_DEAD_CODE_MEMBERS, MAX_DEAD_CODE_ROWS } from './deadcode';
|
|
60
|
+
export type { WireTrail, WireTrailHop, WireTrailHopStatus, WireTrails, SaveTrailRequest, TrailsOptions, } from './trails';
|
|
61
|
+
export { buildTrails, encodeResolvedRun, resolveHop, resolveTrail } from './trails';
|
|
62
|
+
export type { StoredHop, StoredTrail } from './trail-store';
|
|
63
|
+
export { MAX_TRAILS, MAX_TRAIL_HOPS, MAX_TRAIL_NAME, MAX_TRAIL_NOTE, TRAILS_RELATIVE_DIR, TRAIL_FORMAT_VERSION, isTrailId, listStoredTrails, parseTrail, slugify, } from './trail-store';
|
|
64
|
+
/**
|
|
65
|
+
* A mounted API, plus the handle it holds open.
|
|
66
|
+
*
|
|
67
|
+
* `close()` releases the index; the CLI calls it on Ctrl-C so the process does
|
|
68
|
+
* not exit with a live SQLite connection.
|
|
69
|
+
*/
|
|
70
|
+
export interface GraphApi {
|
|
71
|
+
handler: UiApiHandler;
|
|
72
|
+
close(): void;
|
|
73
|
+
}
|
|
74
|
+
export interface GraphApiOptions {
|
|
75
|
+
/** Absolute path of the indexed project to read. */
|
|
76
|
+
projectRoot: string;
|
|
77
|
+
/**
|
|
78
|
+
* Refuse every write, so the viewer is a pure reader again.
|
|
79
|
+
*
|
|
80
|
+
* The one thing it would otherwise write is a saved trail into
|
|
81
|
+
* `.codegraph/ui/trails/`. Turning this on is for a checkout that must not
|
|
82
|
+
* change (a review sandbox, a read-only mount, a shared machine); the viewer
|
|
83
|
+
* still lists trails that are already there, and says why Save is gone.
|
|
84
|
+
*/
|
|
85
|
+
readOnly?: boolean;
|
|
86
|
+
/** The sentence shown in place of Save. Defaults to a generic one. */
|
|
87
|
+
readOnlyReason?: string;
|
|
88
|
+
}
|
|
89
|
+
export declare function createGraphApi(options: GraphApiOptions): GraphApi;
|
|
90
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui-server/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,UAAU,CAAC;AAqB/D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,cAAc,QAAQ,CAAC;AACvB,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACjF,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EACV,eAAe,EACf,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnE,YAAY,EACV,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,OAAO,CAAC;AACf,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EACV,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpF,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,OAAO,GACR,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA+ED,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CA8EjE"}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The read-only JSON API the viewer reads its screens from.
|
|
4
|
+
*
|
|
5
|
+
* Thirteen endpoints, one per screen, each answering in a single round-trip —
|
|
6
|
+
* the same principle as `codegraph_explore`: return enough that the caller does
|
|
7
|
+
* not have to ask a follow-up question — plus one that does not answer at all
|
|
8
|
+
* and stays open instead (`/api/events`), so a screen learns that its answer
|
|
9
|
+
* went stale rather than waiting to be asked again.
|
|
10
|
+
*
|
|
11
|
+
* All but one are *readers* of the existing schema; nothing here indexes or
|
|
12
|
+
* resolves. The exception is `/api/trails`, which saves the reader's own named
|
|
13
|
+
* walks as JSON under `.codegraph/ui/trails/` — the only write the viewer makes,
|
|
14
|
+
* to the only directory it may write to, and refused outright under
|
|
15
|
+
* `--read-only`. See `./trail-store.ts`.
|
|
16
|
+
*
|
|
17
|
+
* ```
|
|
18
|
+
* GET /api/stats what this index is and how much to trust it
|
|
19
|
+
* GET /api/search?q= the search palette
|
|
20
|
+
* GET /api/node/<id> the Symbol view: rails, members, hierarchy, tests, blast
|
|
21
|
+
* GET /api/nodes?id=&id= names for ids you already have (the trail)
|
|
22
|
+
* GET /api/source?file=&from=&to= verbatim source, with a drift verdict
|
|
23
|
+
* GET /api/file/<path> the File view: outline and import rails
|
|
24
|
+
* GET /api/filecode/<path> the whole-file view: ports, arcs, callee rail
|
|
25
|
+
* GET /api/routes the URL to handler map, when there is one
|
|
26
|
+
* GET /api/entrypoints where to start reading: routes, roots, tests, hubs
|
|
27
|
+
* GET /api/map?root=&depth= the module map: modules, links, cycles
|
|
28
|
+
* GET /api/deadcode symbols nothing reaches, and what was excluded
|
|
29
|
+
* GET /api/flow?from=&to= the flow strip: one card per hop
|
|
30
|
+
* GET /api/events the live channel (SSE): drift and refresh
|
|
31
|
+
* GET /api/trails saved trails, re-resolved against the index
|
|
32
|
+
* POST /api/trails save one (refused under --read-only)
|
|
33
|
+
* DELETE /api/trails/<id> remove one (refused under --read-only)
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* It mounts on the `api` seam of `startUiServer`, which means it sits *behind*
|
|
37
|
+
* the loopback boundary in `security.ts`: the `Host` allowlist, the absence of
|
|
38
|
+
* CORS headers and the method restriction are already enforced by the time a
|
|
39
|
+
* handler here runs — including the extra shape a write has to have. The one
|
|
40
|
+
* obligation that remains ours is the path chokepoint, `resolveProjectFile` for
|
|
41
|
+
* anything that touches the repository. Two modules here reach the filesystem
|
|
42
|
+
* and no others: `source.ts` reads the project's code, and `trail-store.ts`
|
|
43
|
+
* reads and writes `.codegraph/ui/trails/`.
|
|
44
|
+
*/
|
|
45
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
46
|
+
if (k2 === undefined) k2 = k;
|
|
47
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
48
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
49
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
50
|
+
}
|
|
51
|
+
Object.defineProperty(o, k2, desc);
|
|
52
|
+
}) : (function(o, m, k, k2) {
|
|
53
|
+
if (k2 === undefined) k2 = k;
|
|
54
|
+
o[k2] = m[k];
|
|
55
|
+
}));
|
|
56
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
57
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
58
|
+
};
|
|
59
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
+
exports.slugify = exports.parseTrail = exports.listStoredTrails = exports.isTrailId = exports.TRAIL_FORMAT_VERSION = exports.TRAILS_RELATIVE_DIR = exports.MAX_TRAIL_NOTE = exports.MAX_TRAIL_NAME = exports.MAX_TRAIL_HOPS = exports.MAX_TRAILS = exports.resolveTrail = exports.resolveHop = exports.encodeResolvedRun = exports.buildTrails = exports.MAX_DEAD_CODE_ROWS = exports.MAX_DEAD_CODE_MEMBERS = exports.HEARTBEAT_MS = exports.MAX_EVENT_FILES = exports.EventHub = exports.MAX_HIERARCHY_DESCENDANTS = exports.MAX_HIERARCHY_ANCESTORS = exports.ApiError = exports.GraphSession = void 0;
|
|
61
|
+
exports.createGraphApi = createGraphApi;
|
|
62
|
+
const security_1 = require("../security");
|
|
63
|
+
const session_1 = require("./session");
|
|
64
|
+
const respond_1 = require("./respond");
|
|
65
|
+
const stats_1 = require("./stats");
|
|
66
|
+
const search_1 = require("./search");
|
|
67
|
+
const node_1 = require("./node");
|
|
68
|
+
const source_1 = require("./source");
|
|
69
|
+
const file_1 = require("./file");
|
|
70
|
+
const filecode_1 = require("./filecode");
|
|
71
|
+
const routes_1 = require("./routes");
|
|
72
|
+
const entrypoints_1 = require("./entrypoints");
|
|
73
|
+
const nodes_1 = require("./nodes");
|
|
74
|
+
const map_1 = require("./map");
|
|
75
|
+
const screens_1 = require("./screens");
|
|
76
|
+
const steps_1 = require("./steps");
|
|
77
|
+
const deadcode_1 = require("./deadcode");
|
|
78
|
+
const flow_1 = require("./flow");
|
|
79
|
+
const trails_1 = require("./trails");
|
|
80
|
+
const events_1 = require("./events");
|
|
81
|
+
var session_2 = require("./session");
|
|
82
|
+
Object.defineProperty(exports, "GraphSession", { enumerable: true, get: function () { return session_2.GraphSession; } });
|
|
83
|
+
var respond_2 = require("./respond");
|
|
84
|
+
Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return respond_2.ApiError; } });
|
|
85
|
+
__exportStar(require("./wire"), exports);
|
|
86
|
+
var hierarchy_1 = require("./hierarchy");
|
|
87
|
+
Object.defineProperty(exports, "MAX_HIERARCHY_ANCESTORS", { enumerable: true, get: function () { return hierarchy_1.MAX_HIERARCHY_ANCESTORS; } });
|
|
88
|
+
Object.defineProperty(exports, "MAX_HIERARCHY_DESCENDANTS", { enumerable: true, get: function () { return hierarchy_1.MAX_HIERARCHY_DESCENDANTS; } });
|
|
89
|
+
var events_2 = require("./events");
|
|
90
|
+
Object.defineProperty(exports, "EventHub", { enumerable: true, get: function () { return events_2.EventHub; } });
|
|
91
|
+
Object.defineProperty(exports, "MAX_EVENT_FILES", { enumerable: true, get: function () { return events_2.MAX_EVENT_FILES; } });
|
|
92
|
+
Object.defineProperty(exports, "HEARTBEAT_MS", { enumerable: true, get: function () { return events_2.HEARTBEAT_MS; } });
|
|
93
|
+
var deadcode_2 = require("./deadcode");
|
|
94
|
+
Object.defineProperty(exports, "MAX_DEAD_CODE_MEMBERS", { enumerable: true, get: function () { return deadcode_2.MAX_DEAD_CODE_MEMBERS; } });
|
|
95
|
+
Object.defineProperty(exports, "MAX_DEAD_CODE_ROWS", { enumerable: true, get: function () { return deadcode_2.MAX_DEAD_CODE_ROWS; } });
|
|
96
|
+
var trails_2 = require("./trails");
|
|
97
|
+
Object.defineProperty(exports, "buildTrails", { enumerable: true, get: function () { return trails_2.buildTrails; } });
|
|
98
|
+
Object.defineProperty(exports, "encodeResolvedRun", { enumerable: true, get: function () { return trails_2.encodeResolvedRun; } });
|
|
99
|
+
Object.defineProperty(exports, "resolveHop", { enumerable: true, get: function () { return trails_2.resolveHop; } });
|
|
100
|
+
Object.defineProperty(exports, "resolveTrail", { enumerable: true, get: function () { return trails_2.resolveTrail; } });
|
|
101
|
+
var trail_store_1 = require("./trail-store");
|
|
102
|
+
Object.defineProperty(exports, "MAX_TRAILS", { enumerable: true, get: function () { return trail_store_1.MAX_TRAILS; } });
|
|
103
|
+
Object.defineProperty(exports, "MAX_TRAIL_HOPS", { enumerable: true, get: function () { return trail_store_1.MAX_TRAIL_HOPS; } });
|
|
104
|
+
Object.defineProperty(exports, "MAX_TRAIL_NAME", { enumerable: true, get: function () { return trail_store_1.MAX_TRAIL_NAME; } });
|
|
105
|
+
Object.defineProperty(exports, "MAX_TRAIL_NOTE", { enumerable: true, get: function () { return trail_store_1.MAX_TRAIL_NOTE; } });
|
|
106
|
+
Object.defineProperty(exports, "TRAILS_RELATIVE_DIR", { enumerable: true, get: function () { return trail_store_1.TRAILS_RELATIVE_DIR; } });
|
|
107
|
+
Object.defineProperty(exports, "TRAIL_FORMAT_VERSION", { enumerable: true, get: function () { return trail_store_1.TRAIL_FORMAT_VERSION; } });
|
|
108
|
+
Object.defineProperty(exports, "isTrailId", { enumerable: true, get: function () { return trail_store_1.isTrailId; } });
|
|
109
|
+
Object.defineProperty(exports, "listStoredTrails", { enumerable: true, get: function () { return trail_store_1.listStoredTrails; } });
|
|
110
|
+
Object.defineProperty(exports, "parseTrail", { enumerable: true, get: function () { return trail_store_1.parseTrail; } });
|
|
111
|
+
Object.defineProperty(exports, "slugify", { enumerable: true, get: function () { return trail_store_1.slugify; } });
|
|
112
|
+
/** What `GET /api` answers: the endpoint list, for anyone poking at it by hand. */
|
|
113
|
+
const API_INDEX = {
|
|
114
|
+
name: 'cg ui',
|
|
115
|
+
/**
|
|
116
|
+
* Every endpoint but `/api/trails` is a pure read. Kept as a field rather
|
|
117
|
+
* than dropped, because it was `true` and something may be reading it; it is
|
|
118
|
+
* now the honest, narrower claim.
|
|
119
|
+
*/
|
|
120
|
+
readOnly: false,
|
|
121
|
+
writes: ['POST /api/trails', 'DELETE /api/trails/<id>'],
|
|
122
|
+
endpoints: [
|
|
123
|
+
{ path: '/api/stats', description: 'Index state, graph counts, detected frameworks.' },
|
|
124
|
+
{ path: '/api/search', description: 'Ranked symbol search.', params: ['q', 'limit'] },
|
|
125
|
+
{
|
|
126
|
+
path: '/api/node/<id>',
|
|
127
|
+
description: 'One symbol: callers, callees, members, type hierarchy, tests, blast radius.',
|
|
128
|
+
},
|
|
129
|
+
{ path: '/api/nodes', description: 'Names and locations for ids you already have.', params: ['id'] },
|
|
130
|
+
{
|
|
131
|
+
path: '/api/source',
|
|
132
|
+
description: 'Verbatim source for an indexed file, omitted when it has drifted on disk.',
|
|
133
|
+
params: ['file', 'from', 'to'],
|
|
134
|
+
},
|
|
135
|
+
{ path: '/api/file/<path>', description: 'One file: outline and import rails.' },
|
|
136
|
+
{
|
|
137
|
+
path: '/api/filecode/<path>',
|
|
138
|
+
description: 'One file, line by line: call sites, unresolved references and the calls that stay inside it.',
|
|
139
|
+
},
|
|
140
|
+
{ path: '/api/routes', description: 'URL to handler map, when the project is a routed app.', params: ['limit'] },
|
|
141
|
+
{
|
|
142
|
+
path: '/api/map',
|
|
143
|
+
description: 'The repository at module granularity: modules, cross-module links, cycles.',
|
|
144
|
+
params: ['root', 'depth'],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
path: '/api/screens',
|
|
148
|
+
description: 'The app as screens and the transitions between them, each with the conditions it runs under.',
|
|
149
|
+
params: [],
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
path: '/api/steps',
|
|
153
|
+
description: 'What happens from a screen or a symbol: screens, handlers, native bridge calls and events, store writes and calls that leave the index, as typed steps with the conditions between them.',
|
|
154
|
+
params: ['anchor', 'symbol', 'depth', 'limit'],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
path: '/api/flow',
|
|
158
|
+
description: 'The call path between symbols: one hop per card, opened at the calling line.',
|
|
159
|
+
params: ['from', 'to', 'symbols', 'hop', 'limit'],
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
path: '/api/events',
|
|
163
|
+
description: 'Live channel (server-sent events): source files that changed on disk, and the index moving.',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
path: '/api/deadcode',
|
|
167
|
+
description: 'Symbols nothing in the index reaches, grouped by file, with every reason a candidate was excluded.',
|
|
168
|
+
params: ['limit', 'kinds', 'exported', 'tests', 'generated'],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
path: '/api/entrypoints',
|
|
172
|
+
description: 'Where to start reading: routes, files that run something, and hubs.',
|
|
173
|
+
params: ['limit'],
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
path: '/api/trails',
|
|
177
|
+
description: 'Saved trails, each hop re-resolved against the current index. POST saves one, ' +
|
|
178
|
+
'DELETE /api/trails/<id> removes it. The only endpoint that writes.',
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
};
|
|
182
|
+
function createGraphApi(options) {
|
|
183
|
+
const session = new session_1.GraphSession(options.projectRoot);
|
|
184
|
+
// Watches nothing until a browser subscribes, and stops again when the last
|
|
185
|
+
// one goes away — mounting the API costs no watch descriptors.
|
|
186
|
+
const events = new events_1.EventHub(options.projectRoot, session);
|
|
187
|
+
const trails = {
|
|
188
|
+
readOnly: options.readOnly === true,
|
|
189
|
+
readOnlyReason: options.readOnly === true
|
|
190
|
+
? options.readOnlyReason ?? 'This viewer is running read-only, so trails cannot be saved.'
|
|
191
|
+
: null,
|
|
192
|
+
};
|
|
193
|
+
// Async because `/api/source` highlights: everything else answers straight
|
|
194
|
+
// out of SQLite and resolves on the same tick.
|
|
195
|
+
const handler = async (req, res, ctx) => {
|
|
196
|
+
const route = normalize(ctx.pathname);
|
|
197
|
+
try {
|
|
198
|
+
// Writes first: they are the only requests that carry a body, and
|
|
199
|
+
// routing them beside the readers would put a `case` that mutates in a
|
|
200
|
+
// switch every other arm of which is a query.
|
|
201
|
+
if (ctx.method === 'POST' || ctx.method === 'DELETE') {
|
|
202
|
+
return await dispatchWrite(route, req, res, ctx, session, trails);
|
|
203
|
+
}
|
|
204
|
+
switch (route) {
|
|
205
|
+
case '/api':
|
|
206
|
+
return (0, respond_1.ok)(res, API_INDEX, ctx.method);
|
|
207
|
+
case '/api/stats':
|
|
208
|
+
return (0, respond_1.ok)(res, (0, stats_1.buildStats)(session.acquire(), ctx.projectRoot), ctx.method);
|
|
209
|
+
case '/api/search':
|
|
210
|
+
return (0, respond_1.ok)(res, (0, search_1.buildSearch)(session.acquire(), ctx.query), ctx.method);
|
|
211
|
+
case '/api/routes':
|
|
212
|
+
return (0, respond_1.ok)(res, (0, routes_1.buildRoutes)(session.acquire(), ctx.query), ctx.method);
|
|
213
|
+
case '/api/map':
|
|
214
|
+
return (0, respond_1.ok)(res, (0, map_1.buildMap)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
|
|
215
|
+
case '/api/screens':
|
|
216
|
+
return (0, respond_1.ok)(res, await (0, screens_1.buildScreens)(session.acquire(), ctx.projectRoot), ctx.method);
|
|
217
|
+
case '/api/steps':
|
|
218
|
+
return (0, respond_1.ok)(res, await (0, steps_1.buildSteps)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
|
|
219
|
+
case '/api/deadcode':
|
|
220
|
+
return (0, respond_1.ok)(res, (0, deadcode_1.buildDeadCode)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
|
|
221
|
+
case '/api/entrypoints':
|
|
222
|
+
return (0, respond_1.ok)(res, (0, entrypoints_1.buildEntryPoints)(session.acquire(), ctx.query), ctx.method);
|
|
223
|
+
case '/api/trails':
|
|
224
|
+
return (0, respond_1.ok)(res, (0, trails_1.buildTrails)(session.acquire(), ctx.projectRoot, trails), ctx.method);
|
|
225
|
+
case '/api/nodes':
|
|
226
|
+
return (0, respond_1.ok)(res, (0, nodes_1.buildNodeRefs)(session.acquire(), ctx.query), ctx.method);
|
|
227
|
+
case '/api/source':
|
|
228
|
+
return (0, respond_1.ok)(res, await (0, source_1.buildSource)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
|
|
229
|
+
case '/api/flow':
|
|
230
|
+
return (0, respond_1.ok)(res, await (0, flow_1.buildFlow)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
|
|
231
|
+
case '/api/events':
|
|
232
|
+
// Streams instead of answering: it writes its own headers and keeps
|
|
233
|
+
// the socket open, so it never goes through `ok()`.
|
|
234
|
+
return events.subscribe(req, res, ctx.method);
|
|
235
|
+
default:
|
|
236
|
+
return await dispatchPathRoutes(route, res, ctx, session);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
// A refusal from the read chokepoint is a 403 with the reason attached —
|
|
241
|
+
// the request asked for something outside the project, and there is no
|
|
242
|
+
// version of it we would serve.
|
|
243
|
+
if (err instanceof security_1.PathRefusalError) {
|
|
244
|
+
return (0, respond_1.fail)(res, new respond_1.ApiError('refused', err.message), ctx.method);
|
|
245
|
+
}
|
|
246
|
+
return (0, respond_1.fail)(res, err, ctx.method);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
return {
|
|
250
|
+
handler,
|
|
251
|
+
close: () => {
|
|
252
|
+
// Streams first: a client still attached would hold the socket open
|
|
253
|
+
// against the server's own close.
|
|
254
|
+
events.close();
|
|
255
|
+
session.close();
|
|
256
|
+
},
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* The write half: `/api/trails` and nothing else.
|
|
261
|
+
*
|
|
262
|
+
* Kept to one function so the answer to "what can this server change?" is one
|
|
263
|
+
* place a reviewer can read in full. Anything else that arrives with a write
|
|
264
|
+
* method is a 405 naming the endpoint that does accept one — by the time this
|
|
265
|
+
* runs, `isWriteRequest` has already established the request could not have
|
|
266
|
+
* been forged from another origin, so an unhelpfully vague refusal here would
|
|
267
|
+
* only confuse the person poking at their own API.
|
|
268
|
+
*/
|
|
269
|
+
async function dispatchWrite(route, req, res, ctx, session, trails) {
|
|
270
|
+
if (ctx.method === 'POST' && route === '/api/trails') {
|
|
271
|
+
const body = await (0, respond_1.readJsonBody)(req);
|
|
272
|
+
return (0, respond_1.ok)(res, (0, trails_1.saveTrail)(session.acquire(), ctx.projectRoot, body, trails), ctx.method);
|
|
273
|
+
}
|
|
274
|
+
if (ctx.method === 'DELETE') {
|
|
275
|
+
const id = suffixAfter(route, '/api/trails/');
|
|
276
|
+
if (id !== null && id !== '') {
|
|
277
|
+
return (0, respond_1.ok)(res, (0, trails_1.removeTrail)(session.acquire(), ctx.projectRoot, id, trails), ctx.method);
|
|
278
|
+
}
|
|
279
|
+
if (route === '/api/trails') {
|
|
280
|
+
throw (0, respond_1.badRequest)('Deleting a trail needs its id: DELETE /api/trails/<id>.');
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
res.setHeader('Allow', 'GET, HEAD');
|
|
284
|
+
throw new respond_1.ApiError('bad-request', `${ctx.method} ${route} is not something this server changes.`, 'The only endpoint that writes is /api/trails (POST to save, DELETE /api/trails/<id> to remove).');
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* The two endpoints that carry their argument in the path.
|
|
288
|
+
*
|
|
289
|
+
* `ctx.pathname` is already percent-decoded, so a node id or a file path
|
|
290
|
+
* containing `/` (`file:src/a.ts`) arrives whole — the remainder after the
|
|
291
|
+
* prefix IS the argument, slashes and all. Node ids are opaque: they go
|
|
292
|
+
* straight to an exact lookup, and anything that names nothing is a 404. File
|
|
293
|
+
* paths go through the read chokepoint before anything is opened.
|
|
294
|
+
*/
|
|
295
|
+
async function dispatchPathRoutes(route, res, ctx, session) {
|
|
296
|
+
const nodeId = suffixAfter(route, '/api/node/');
|
|
297
|
+
if (nodeId !== null) {
|
|
298
|
+
if (nodeId === '')
|
|
299
|
+
throw (0, respond_1.badRequest)('No symbol id was given. Use /api/node/<id>.');
|
|
300
|
+
return (0, respond_1.ok)(res, await (0, node_1.buildNode)(session.acquire(), ctx.projectRoot, nodeId), ctx.method);
|
|
301
|
+
}
|
|
302
|
+
// Before `/api/file/`: that prefix is not a prefix of this route, but keeping
|
|
303
|
+
// the more specific one first means adding another `/api/file…` sibling later
|
|
304
|
+
// cannot silently start matching the shorter one.
|
|
305
|
+
const codePath = suffixAfter(route, '/api/filecode/');
|
|
306
|
+
if (codePath !== null) {
|
|
307
|
+
return (0, respond_1.ok)(res, (0, filecode_1.buildFileCode)(session.acquire(), ctx.projectRoot, codePath), ctx.method);
|
|
308
|
+
}
|
|
309
|
+
const filePath = suffixAfter(route, '/api/file/');
|
|
310
|
+
if (filePath !== null) {
|
|
311
|
+
if (filePath === '')
|
|
312
|
+
throw (0, respond_1.badRequest)('No file path was given. Use /api/file/<path>.');
|
|
313
|
+
return (0, respond_1.ok)(res, (0, file_1.buildFile)(session.acquire(), ctx.projectRoot, filePath), ctx.method);
|
|
314
|
+
}
|
|
315
|
+
// `/api/node` and `/api/file` with no argument at all, so the message can say
|
|
316
|
+
// what the endpoint wants instead of falling through to a bare 404.
|
|
317
|
+
if (route === '/api/filecode') {
|
|
318
|
+
throw (0, respond_1.badRequest)('/api/filecode needs an argument: /api/filecode/<path>.');
|
|
319
|
+
}
|
|
320
|
+
if (route === '/api/node' || route === '/api/file') {
|
|
321
|
+
throw (0, respond_1.badRequest)(`${route} needs an argument: ${route}/<${route.endsWith('node') ? 'id' : 'path'}>.`);
|
|
322
|
+
}
|
|
323
|
+
throw (0, respond_1.notFound)(`No such endpoint: ${route}`, 'GET /api lists everything this server answers.');
|
|
324
|
+
}
|
|
325
|
+
/** Drop a single trailing slash, so `/api/stats/` and `/api/stats` are one route. */
|
|
326
|
+
function normalize(pathname) {
|
|
327
|
+
return pathname.length > 4 && pathname.endsWith('/') ? pathname.slice(0, -1) : pathname;
|
|
328
|
+
}
|
|
329
|
+
function suffixAfter(route, prefix) {
|
|
330
|
+
return route.startsWith(prefix) ? route.slice(prefix.length) : null;
|
|
331
|
+
}
|
|
332
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-server/api/index.ts"],"names":[],"mappings":"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"}
|