@mrclrchtr/supi-code-intelligence 4.10.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/node_modules/@mrclrchtr/supi-code-runtime/README.md +2 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/package.json +1 -1
- package/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +9 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +53 -13
- package/node_modules/@mrclrchtr/supi-code-runtime/src/request-control.ts +47 -0
- package/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +13 -1
- package/node_modules/@mrclrchtr/supi-core/README.md +2 -0
- package/node_modules/@mrclrchtr/supi-core/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-core/src/api.ts +1 -1
- package/node_modules/@mrclrchtr/supi-core/src/config/config.ts +31 -0
- package/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -0
- package/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +19 -6
- package/node_modules/@mrclrchtr/supi-core/src/debug.ts +9 -0
- package/node_modules/@mrclrchtr/supi-core/src/index.ts +1 -1
- package/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +3 -0
- package/node_modules/@mrclrchtr/supi-lsp/README.md +111 -5
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/README.md +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/package.json +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +53 -13
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/request-control.ts +47 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +13 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/README.md +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/api.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config/config.ts +31 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +19 -6
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/debug.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/index.ts +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +3 -0
- package/node_modules/@mrclrchtr/supi-lsp/package.json +7 -6
- package/node_modules/@mrclrchtr/supi-lsp/src/api.ts +22 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-cache.ts +245 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-capabilities.ts +78 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-collection.ts +171 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-evidence.ts +413 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-host.ts +15 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-publication.ts +214 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-pull.ts +62 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-refresh.ts +690 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-request.ts +9 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-timing.ts +97 -16
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostic-waiters.ts +206 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-diagnostics.ts +448 -298
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-document-state.ts +70 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-document-sync.ts +231 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client-file-state.ts +25 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/client/client.ts +529 -119
- package/node_modules/@mrclrchtr/supi-lsp/src/client/transport.ts +161 -33
- package/node_modules/@mrclrchtr/supi-lsp/src/config/capabilities.ts +12 -3
- package/node_modules/@mrclrchtr/supi-lsp/src/config/config.ts +5 -5
- package/node_modules/@mrclrchtr/supi-lsp/src/config/defaults.json +1 -1
- package/node_modules/@mrclrchtr/supi-lsp/src/config/server-config.ts +3 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/config/tsconfig-extends.ts +68 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/config/tsconfig-path.ts +8 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/config/tsconfig-scope.ts +176 -24
- package/node_modules/@mrclrchtr/supi-lsp/src/debug-telemetry.ts +45 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/evidence.ts +42 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/diagnostics/workspace-sentinels.ts +46 -10
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-client-state.ts +79 -9
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-diagnostics.ts +17 -7
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-recovery.ts +350 -26
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager-workspace-symbol.ts +5 -2
- package/node_modules/@mrclrchtr/supi-lsp/src/manager/manager.ts +586 -96
- package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-refactor-provider.ts +130 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/provider/lsp-semantic-provider.ts +45 -329
- package/node_modules/@mrclrchtr/supi-lsp/src/provider/refactor-planning.ts +57 -120
- package/node_modules/@mrclrchtr/supi-lsp/src/provider/semantic-edit-normalizer.ts +320 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/provider/semantic-symbol-mapper.ts +207 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/session/readiness.ts +72 -2
- package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-controller.ts +151 -26
- package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-diagnostic-surface.ts +42 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-diagnostics.ts +92 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-registry.ts +165 -118
- package/node_modules/@mrclrchtr/supi-lsp/src/session/runtime-transition-debug.ts +49 -0
- package/node_modules/@mrclrchtr/supi-lsp/src/session/workspace-lsp-runtime.ts +102 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/README.md +17 -7
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/README.md +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/package.json +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts +9 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/capability/types.ts +53 -13
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/request-control.ts +47 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts +13 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/README.md +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/package.json +2 -2
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/api.ts +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config/config.ts +31 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/config.ts +2 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts +19 -6
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/debug.ts +9 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/index.ts +1 -1
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/@mrclrchtr/supi-core/src/settings/settings-registry.ts +3 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/LICENSE +21 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/README.md +258 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/dist/babel.cjs +257 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/dist/jiti.cjs +1 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti-cli.mjs +34 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti-hooks.mjs +124 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti-native.mjs +121 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti-register.d.mts +1 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti-register.mjs +4 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti-static.mjs +23 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti.cjs +30 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti.d.cts +8 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti.d.mts +8 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/jiti.mjs +29 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/lib/types.d.ts +420 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/node_modules/jiti/package.json +146 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/package.json +6 -3
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/api.ts +0 -9
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/index.ts +0 -8
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/provider/tree-sitter-provider.ts +16 -12
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime-controller.ts +65 -87
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/session.ts +47 -95
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/structural-timing.ts +147 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/structural-worker-client-lifecycle.ts +39 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/structural-worker-client.ts +561 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/structural-worker-message-size.ts +24 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/structural-worker-protocol.ts +452 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/call-sites.ts +4 -2
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/callees.ts +12 -4
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/exports.ts +4 -2
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/imports.ts +4 -2
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/tool/node-at.ts +5 -3
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/types.ts +33 -12
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/blocking-test-bootstrap.mjs +34 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/bootstrap.mjs +8 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/parsed-file-store-helpers.ts +23 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/parsed-file-store.ts +400 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/request-control.ts +48 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/runtime-parser-helpers.ts +24 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/runtime-query-helpers.ts +43 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/runtime.ts +421 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/service.ts +116 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/worker/worker-main.ts +201 -0
- package/package.json +5 -5
- package/src/analysis/health/diagnostics.ts +221 -77
- package/src/analysis/health/file-scope.ts +184 -0
- package/src/analysis/health/recovery.ts +14 -3
- package/src/analysis/provider.ts +58 -0
- package/src/analysis/readiness.ts +34 -9
- package/src/analysis/refactor/apply.ts +45 -1
- package/src/analysis/refactor/mutation-authority.ts +143 -0
- package/src/analysis/relations/callees.ts +9 -1
- package/src/analysis/relations/types.ts +5 -2
- package/src/analysis/search/ast-scan-timing.ts +9 -2
- package/src/analysis/search/ast-scan.ts +5 -2
- package/src/analysis/search/deadline.ts +2 -2
- package/src/analysis/search/pattern-analysis.ts +54 -33
- package/src/analysis/search/pattern.ts +18 -3
- package/src/analysis/target/anchored.ts +20 -11
- package/src/analysis/target/file.ts +18 -11
- package/src/analysis/target/identity.ts +19 -3
- package/src/analysis/target/symbol.ts +36 -15
- package/src/api.ts +4 -0
- package/src/config.ts +35 -1
- package/src/diagnostics/evidence.ts +51 -0
- package/src/extension.ts +57 -14
- package/src/overview/overview-data.ts +9 -2
- package/src/overview/overview.ts +49 -30
- package/src/overview/types.ts +2 -0
- package/src/session/capability-adapter.ts +12 -3
- package/src/session/find-types.ts +2 -2
- package/src/session/find-workflow.ts +20 -9
- package/src/session/graph/collect.ts +18 -2
- package/src/session/graph-workflow.ts +19 -12
- package/src/session/health-refresh.ts +175 -0
- package/src/session/health-types.ts +43 -15
- package/src/session/health-workflow.ts +69 -54
- package/src/session/input/workflows.ts +2 -2
- package/src/session/inspect/collect.ts +20 -3
- package/src/session/inspect-workflow.ts +12 -6
- package/src/session/orientation/collect.ts +12 -3
- package/src/session/orientation/context-facts.ts +3 -1
- package/src/session/orientation/context-sections.ts +20 -7
- package/src/session/orientation/gather.ts +17 -11
- package/src/session/orientation-types.ts +4 -1
- package/src/session/orientation-workflow.ts +23 -10
- package/src/session/refactor-plans.ts +2 -0
- package/src/session/refactor-workflow.ts +61 -15
- package/src/session/session.ts +29 -2
- package/src/session/target-workflow.ts +54 -23
- package/src/session/workflow-control.ts +7 -3
- package/src/substrate/lsp/lifecycle.ts +26 -46
- package/src/substrate/lsp/maintenance.ts +284 -28
- package/src/substrate/lsp/recovery.ts +11 -5
- package/src/substrate/lsp/state.ts +2 -2
- package/src/substrate/workspace-provider-host.ts +25 -3
- package/src/tool/{find → code_find}/execute.ts +2 -16
- package/src/tool/code_find/guidance.ts +8 -0
- package/src/tool/{find → code_find}/render.ts +21 -4
- package/src/tool/{result/find.ts → code_find/result.ts} +78 -9
- package/src/tool/code_find/spec.ts +37 -0
- package/src/tool/code_find/tui.ts +41 -0
- package/src/tool/code_graph/execute.ts +24 -0
- package/src/tool/code_graph/guidance.ts +6 -0
- package/src/tool/{graph → code_graph}/markdown.ts +1 -1
- package/src/tool/{result/graph.ts → code_graph/result.ts} +111 -3
- package/src/tool/code_graph/spec.ts +39 -0
- package/src/tool/code_graph/tui.ts +117 -0
- package/src/tool/{health → code_health}/execute.ts +2 -13
- package/src/tool/code_health/guidance.ts +8 -0
- package/src/tool/{health → code_health}/markdown.ts +119 -27
- package/src/tool/code_health/refresh-status.ts +105 -0
- package/src/tool/{result/health.ts → code_health/result.ts} +80 -3
- package/src/tool/code_health/spec.ts +41 -0
- package/src/tool/{health → code_health}/tui.ts +95 -98
- package/src/tool/{inspect → code_inspect}/execute.ts +2 -16
- package/src/tool/code_inspect/guidance.ts +6 -0
- package/src/tool/{inspect → code_inspect}/markdown.ts +1 -1
- package/src/tool/{result/inspect.ts → code_inspect/result.ts} +143 -2
- package/src/tool/code_inspect/spec.ts +25 -0
- package/src/tool/code_inspect/tui.ts +44 -0
- package/src/tool/code_orientation/execute.ts +25 -0
- package/src/tool/code_orientation/guidance.ts +9 -0
- package/src/tool/{orientation → code_orientation}/markdown.ts +1 -1
- package/src/tool/code_orientation/result.ts +248 -0
- package/src/tool/code_orientation/spec.ts +25 -0
- package/src/tool/{orientation → code_orientation}/tui.ts +51 -35
- package/src/tool/code_refactor_apply/execute.ts +17 -0
- package/src/tool/code_refactor_apply/guidance.ts +5 -0
- package/src/tool/{refactor-apply/execute.ts → code_refactor_apply/result.ts} +8 -11
- package/src/tool/code_refactor_apply/spec.ts +26 -0
- package/src/tool/code_refactor_apply/tui.ts +73 -0
- package/src/tool/code_refactor_plan/execute.ts +27 -0
- package/src/tool/code_refactor_plan/guidance.ts +8 -0
- package/src/tool/{refactor-plan/execute.ts → code_refactor_plan/result.ts} +13 -22
- package/src/tool/code_refactor_plan/spec.ts +25 -0
- package/src/tool/code_refactor_plan/tui.ts +54 -0
- package/src/tool/code_resolve/execute.ts +19 -0
- package/src/tool/code_resolve/guidance.ts +8 -0
- package/src/tool/{resolve → code_resolve}/markdown.ts +1 -1
- package/src/tool/{result/resolve.ts → code_resolve/result.ts} +79 -29
- package/src/tool/code_resolve/spec.ts +25 -0
- package/src/tool/code_resolve/tui.ts +60 -0
- package/src/tool/guidance.ts +71 -52
- package/src/tool/infra/truncate.ts +40 -0
- package/src/tool/infra/workflow-control.ts +8 -0
- package/src/tool/{refactor-plan/markdown.ts → refactor-markdown.ts} +4 -7
- package/src/tool/register.ts +105 -88
- package/src/tool/result/display.ts +107 -0
- package/src/tool/result/errors.ts +20 -17
- package/src/tool/result/refactor.ts +37 -8
- package/src/tool/result/types.ts +20 -0
- package/src/tool/schemas.ts +26 -157
- package/src/tool/specs.ts +40 -126
- package/src/types/execution.ts +18 -5
- package/src/types/index.ts +8 -1
- package/src/ui/status-command.ts +5 -3
- package/src/ui/status-overlay.ts +4 -0
- package/src/ui/tui/common.ts +108 -10
- package/src/ui/tui/display.ts +48 -0
- package/node_modules/@mrclrchtr/supi-tree-sitter/src/session/runtime.ts +0 -351
- package/src/tool/find/tui.ts +0 -39
- package/src/tool/graph/execute.ts +0 -62
- package/src/tool/graph/tui.ts +0 -104
- package/src/tool/inspect/tui.ts +0 -36
- package/src/tool/orientation/execute.ts +0 -62
- package/src/tool/refactor-apply/tui.ts +0 -55
- package/src/tool/refactor-plan/tui.ts +0 -41
- package/src/tool/resolve/execute.ts +0 -36
- package/src/tool/resolve/tui.ts +0 -42
- package/src/tool/result/orientation.ts +0 -132
- /package/src/tool/{find → code_find}/ast-kinds.ts +0 -0
- /package/src/tool/{find → code_find}/markdown.ts +0 -0
- /package/src/tool/{find → code_find}/modes.ts +0 -0
- /package/src/tool/{health → code_health}/semantic-state.ts +0 -0
package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/README.md
CHANGED
|
@@ -22,6 +22,8 @@ Read-only provider methods return `CodeQueryResult<T>`:
|
|
|
22
22
|
|
|
23
23
|
This keeps successful zero-result facts distinct from routing, transport, and provider failures.
|
|
24
24
|
|
|
25
|
+
Semantic and structural provider methods also accept optional `CodeRequestControl` metadata. It contains a caller `AbortSignal`, an absolute Unix-epoch deadline, and an optional opaque Debug Operation ID. Adapters preserve the same object. The ID does not change cancellation semantics. Canonical helpers identify cancellation and deadline expiry across bundled package copies. Cooperative structural substrates apply the control; unsupported substrates can preserve it without applying behavior.
|
|
26
|
+
|
|
25
27
|
## License
|
|
26
28
|
|
|
27
29
|
MIT
|
package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/api.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
// Capability interfaces and availability states
|
|
10
10
|
export type {
|
|
11
11
|
CapabilityState,
|
|
12
|
+
CodeRequestControl,
|
|
12
13
|
SemanticProvider,
|
|
13
14
|
StructuralProvider,
|
|
14
15
|
StructuralResult,
|
|
@@ -21,6 +22,13 @@ export {
|
|
|
21
22
|
partialCodeQuery,
|
|
22
23
|
unavailableCodeQuery,
|
|
23
24
|
} from "./query-result.ts";
|
|
25
|
+
export {
|
|
26
|
+
CodeRequestDeadlineError,
|
|
27
|
+
isCodeRequestDeadlineError,
|
|
28
|
+
isCodeRequestInterrupted,
|
|
29
|
+
isCodeRequestInterruption,
|
|
30
|
+
throwIfCodeRequestInterrupted,
|
|
31
|
+
} from "./request-control.ts";
|
|
24
32
|
// Shared canonical types
|
|
25
33
|
export type {
|
|
26
34
|
CalleeDepth,
|
|
@@ -34,6 +42,7 @@ export type {
|
|
|
34
42
|
DeclarationNesting,
|
|
35
43
|
DisambiguationCandidate,
|
|
36
44
|
DocumentCodeSymbol,
|
|
45
|
+
DocumentEditPrecondition,
|
|
37
46
|
ExportData,
|
|
38
47
|
FileEdit,
|
|
39
48
|
ImportData,
|
|
@@ -43,6 +43,16 @@ export type CapabilityState =
|
|
|
43
43
|
|
|
44
44
|
// ── Provider interfaces ────────────────────────────────────────────────
|
|
45
45
|
|
|
46
|
+
/** Request control that adapters preserve and cooperative providers apply. */
|
|
47
|
+
export interface CodeRequestControl {
|
|
48
|
+
/** Opaque Debug Operation ID for work directly owned by one public Tool call. */
|
|
49
|
+
readonly operationId?: string;
|
|
50
|
+
/** Caller cancellation signal, when one exists. */
|
|
51
|
+
readonly signal?: AbortSignal;
|
|
52
|
+
/** Absolute wall-clock deadline in Unix epoch milliseconds. */
|
|
53
|
+
readonly deadline?: number;
|
|
54
|
+
}
|
|
55
|
+
|
|
46
56
|
/**
|
|
47
57
|
* Semantic analysis capability backed by a language server (LSP).
|
|
48
58
|
*
|
|
@@ -51,16 +61,31 @@ export type CapabilityState =
|
|
|
51
61
|
* null values are completed observations rather than capability failures.
|
|
52
62
|
*/
|
|
53
63
|
export interface SemanticProvider {
|
|
54
|
-
references(
|
|
64
|
+
references(
|
|
65
|
+
filePath: string,
|
|
66
|
+
position: CodePosition,
|
|
67
|
+
control?: CodeRequestControl,
|
|
68
|
+
): Promise<CodeQueryResult<CodeLocation[]>>;
|
|
55
69
|
implementation(
|
|
56
70
|
filePath: string,
|
|
57
71
|
position: CodePosition,
|
|
72
|
+
control?: CodeRequestControl,
|
|
58
73
|
): Promise<CodeQueryResult<CodeLocation[]>>;
|
|
59
|
-
documentSymbols(
|
|
60
|
-
|
|
74
|
+
documentSymbols(
|
|
75
|
+
filePath: string,
|
|
76
|
+
control?: CodeRequestControl,
|
|
77
|
+
): Promise<CodeQueryResult<DocumentCodeSymbol[]>>;
|
|
78
|
+
workspaceSymbols(
|
|
79
|
+
query: string,
|
|
80
|
+
control?: CodeRequestControl,
|
|
81
|
+
): Promise<CodeQueryResult<CodeSymbol[]>>;
|
|
61
82
|
|
|
62
83
|
/** Optional definition capability with explicit completed-empty semantics. */
|
|
63
|
-
definition?(
|
|
84
|
+
definition?(
|
|
85
|
+
filePath: string,
|
|
86
|
+
position: CodePosition,
|
|
87
|
+
control?: CodeRequestControl,
|
|
88
|
+
): Promise<CodeQueryResult<CodeLocation[]>>;
|
|
64
89
|
|
|
65
90
|
/**
|
|
66
91
|
* Optional hover capability. A completed `null` data value means the
|
|
@@ -69,6 +94,7 @@ export interface SemanticProvider {
|
|
|
69
94
|
hover?(
|
|
70
95
|
filePath: string,
|
|
71
96
|
position: CodePosition,
|
|
97
|
+
control?: CodeRequestControl,
|
|
72
98
|
): Promise<CodeQueryResult<{ contents: string; range?: SourceRange } | null>>;
|
|
73
99
|
|
|
74
100
|
/**
|
|
@@ -79,7 +105,7 @@ export interface SemanticProvider {
|
|
|
79
105
|
* organize imports, dead-code cleanup, etc.) without exposing that branching
|
|
80
106
|
* to callers.
|
|
81
107
|
*/
|
|
82
|
-
refactor?(request: RefactorRequest): Promise<RefactorResult>;
|
|
108
|
+
refactor?(request: RefactorRequest, control?: CodeRequestControl): Promise<RefactorResult>;
|
|
83
109
|
|
|
84
110
|
/**
|
|
85
111
|
* Optional rename capability. When present, the provider supports
|
|
@@ -88,7 +114,12 @@ export interface SemanticProvider {
|
|
|
88
114
|
* This remains a lower-level substrate helper for providers that expose
|
|
89
115
|
* symbol rename independently of their general refactor planner.
|
|
90
116
|
*/
|
|
91
|
-
rename?(
|
|
117
|
+
rename?(
|
|
118
|
+
file: string,
|
|
119
|
+
position: CodePosition,
|
|
120
|
+
newName: string,
|
|
121
|
+
control?: CodeRequestControl,
|
|
122
|
+
): Promise<RefactorResult>;
|
|
92
123
|
|
|
93
124
|
/**
|
|
94
125
|
* Optional code actions capability. When present, the provider
|
|
@@ -96,7 +127,11 @@ export interface SemanticProvider {
|
|
|
96
127
|
*
|
|
97
128
|
* Kept as a low-level substrate helper and for lightweight introspection.
|
|
98
129
|
*/
|
|
99
|
-
codeActions?(
|
|
130
|
+
codeActions?(
|
|
131
|
+
file: string,
|
|
132
|
+
position: CodePosition,
|
|
133
|
+
control?: CodeRequestControl,
|
|
134
|
+
): Promise<RefactorResult[]>;
|
|
100
135
|
}
|
|
101
136
|
|
|
102
137
|
/**
|
|
@@ -111,14 +146,19 @@ export interface StructuralProvider {
|
|
|
111
146
|
file: string,
|
|
112
147
|
line: number,
|
|
113
148
|
character: number,
|
|
114
|
-
depth?: CalleeDepth,
|
|
149
|
+
depthOrOptions?: CalleeDepth | { depth?: CalleeDepth; control?: CodeRequestControl },
|
|
115
150
|
): Promise<CodeResult<CalleesData>>;
|
|
116
|
-
exports(file: string): Promise<CodeResult<ExportData[]>>;
|
|
117
|
-
outline(file: string): Promise<CodeResult<OutlineData[]>>;
|
|
118
|
-
imports(file: string): Promise<CodeResult<ImportData[]>>;
|
|
119
|
-
nodeAt(
|
|
151
|
+
exports(file: string, control?: CodeRequestControl): Promise<CodeResult<ExportData[]>>;
|
|
152
|
+
outline(file: string, control?: CodeRequestControl): Promise<CodeResult<OutlineData[]>>;
|
|
153
|
+
imports(file: string, control?: CodeRequestControl): Promise<CodeResult<ImportData[]>>;
|
|
154
|
+
nodeAt(
|
|
155
|
+
file: string,
|
|
156
|
+
line: number,
|
|
157
|
+
character: number,
|
|
158
|
+
control?: CodeRequestControl,
|
|
159
|
+
): Promise<CodeResult<NodeAtData>>;
|
|
120
160
|
/** Find all call-site identifiers in a file. Returns name + start line for each match. */
|
|
121
|
-
callSites(file: string): Promise<CodeResult<CallSite[]>>;
|
|
161
|
+
callSites(file: string, control?: CodeRequestControl): Promise<CodeResult<CallSite[]>>;
|
|
122
162
|
}
|
|
123
163
|
|
|
124
164
|
/** Convenience alias for `CodeResult` used in structural contexts. */
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { CodeRequestControl } from "./capability/types.ts";
|
|
2
|
+
|
|
3
|
+
/** Error raised when an absolute code-request deadline has elapsed. */
|
|
4
|
+
export class CodeRequestDeadlineError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super("Code request deadline exceeded");
|
|
7
|
+
this.name = "CodeRequestDeadlineError";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Test whether request cancellation or its absolute deadline has elapsed. */
|
|
12
|
+
export function isCodeRequestInterrupted(
|
|
13
|
+
control: CodeRequestControl | undefined,
|
|
14
|
+
now: () => number = Date.now,
|
|
15
|
+
): boolean {
|
|
16
|
+
return (
|
|
17
|
+
control?.signal?.aborted === true ||
|
|
18
|
+
(control?.deadline !== undefined && now() >= control.deadline)
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Throw the caller abort reason or a canonical absolute-deadline error. */
|
|
23
|
+
export function throwIfCodeRequestInterrupted(
|
|
24
|
+
control: CodeRequestControl | undefined,
|
|
25
|
+
now: () => number = Date.now,
|
|
26
|
+
): void {
|
|
27
|
+
control?.signal?.throwIfAborted();
|
|
28
|
+
if (control?.deadline !== undefined && now() >= control.deadline) {
|
|
29
|
+
throw new CodeRequestDeadlineError();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Identify an absolute-deadline error across bundled package copies. */
|
|
34
|
+
export function isCodeRequestDeadlineError(error: unknown): error is Error {
|
|
35
|
+
return (
|
|
36
|
+
error instanceof CodeRequestDeadlineError ||
|
|
37
|
+
(error instanceof Error && error.name === "CodeRequestDeadlineError")
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Identify an error caused by the supplied request control. */
|
|
42
|
+
export function isCodeRequestInterruption(
|
|
43
|
+
error: unknown,
|
|
44
|
+
control: CodeRequestControl | undefined,
|
|
45
|
+
): boolean {
|
|
46
|
+
return isCodeRequestDeadlineError(error) || control?.signal?.aborted === true;
|
|
47
|
+
}
|
package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-code-runtime/src/types.ts
CHANGED
|
@@ -149,11 +149,18 @@ export interface FileEdit {
|
|
|
149
149
|
newText: string;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
+
/** A document-state precondition established when semantic edits are normalized. */
|
|
153
|
+
export type DocumentEditPrecondition =
|
|
154
|
+
| { file: string; kind: "open-document-version"; version: number }
|
|
155
|
+
| { file: string; kind: "disk-content" };
|
|
156
|
+
|
|
152
157
|
/**
|
|
153
158
|
* A precise workspace edit — one or more file edits to apply atomically.
|
|
154
159
|
*/
|
|
155
160
|
export interface WorkspaceEdit {
|
|
156
161
|
edits: FileEdit[];
|
|
162
|
+
/** Document state that the semantic provider validated before it made this plan. */
|
|
163
|
+
documentPreconditions?: DocumentEditPrecondition[];
|
|
157
164
|
}
|
|
158
165
|
|
|
159
166
|
/**
|
|
@@ -202,7 +209,12 @@ export interface DisambiguationCandidate {
|
|
|
202
209
|
* - `unavailable`: refactoring not possible
|
|
203
210
|
*/
|
|
204
211
|
export type RefactorResult =
|
|
205
|
-
| {
|
|
212
|
+
| {
|
|
213
|
+
kind: "precise";
|
|
214
|
+
edits: WorkspaceEdit;
|
|
215
|
+
/** Provider roots authorized by the semantic route. Consumers canonicalize before storage. */
|
|
216
|
+
authorizedMutationRoots: string[];
|
|
217
|
+
}
|
|
206
218
|
| { kind: "ambiguous"; candidates: DisambiguationCandidate[] }
|
|
207
219
|
| { kind: "unavailable"; reason: string };
|
|
208
220
|
|
|
@@ -28,6 +28,7 @@ pnpm add @mrclrchtr/supi-core
|
|
|
28
28
|
- `loadSupiConfig()` — merged config with resolution order `defaults <- global <- project`
|
|
29
29
|
- `loadSupiConfigForScope()` — load one scope at a time for settings UIs
|
|
30
30
|
- `writeSupiConfig()` — persist values
|
|
31
|
+
- `replaceSupiConfigSection()` — replace one nested section while preserving other sections
|
|
31
32
|
- `removeSupiConfigKey()` — remove a key or override
|
|
32
33
|
|
|
33
34
|
Config file locations:
|
|
@@ -49,6 +50,7 @@ Config file locations:
|
|
|
49
50
|
|
|
50
51
|
- context-provider registry for `/supi-context`
|
|
51
52
|
- debug-event registry and monotonic phase timers for producers that want shared debug capture
|
|
53
|
+
- optional Debug Operation IDs for exact, directly owned public Tool-call correlation; ambient events stay uncorrelated
|
|
52
54
|
- settings registry used by `/supi-settings`
|
|
53
55
|
|
|
54
56
|
### Project and session helpers
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrclrchtr/supi-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "Shared settings, configuration, reporting, and session infrastructure",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"./api": "./src/api.ts",
|
|
54
54
|
"./config": "./src/config.ts",
|
|
55
55
|
"./context": "./src/context.ts",
|
|
56
|
-
"./debug": "./src/debug
|
|
56
|
+
"./debug": "./src/debug.ts",
|
|
57
57
|
"./evidence-badge": "./src/evidence-badge.ts",
|
|
58
58
|
"./footer-registry": "./src/footer-registry.ts",
|
|
59
59
|
"./llm": "./src/llm.ts",
|
|
@@ -11,7 +11,7 @@ export * from "./config.ts";
|
|
|
11
11
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
|
12
12
|
export * from "./context.ts";
|
|
13
13
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
|
14
|
-
export * from "./debug
|
|
14
|
+
export * from "./debug.ts";
|
|
15
15
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
|
16
16
|
export * from "./evidence-badge.ts";
|
|
17
17
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/config/config.ts
CHANGED
|
@@ -148,6 +148,37 @@ export function writeSupiConfig(
|
|
|
148
148
|
fs.writeFileSync(configPath, `${JSON.stringify(existing, null, 2)}\n`, "utf-8");
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
/**
|
|
152
|
+
* Replace one complete config section while preserving other sections.
|
|
153
|
+
*
|
|
154
|
+
* This is useful for nested settings that must remove stale keys as part of
|
|
155
|
+
* one update. An empty section is removed from the config file.
|
|
156
|
+
*/
|
|
157
|
+
export function replaceSupiConfigSection(
|
|
158
|
+
loc: SupiConfigLocation,
|
|
159
|
+
value: Record<string, unknown>,
|
|
160
|
+
options?: SupiConfigOptions,
|
|
161
|
+
): void {
|
|
162
|
+
const configPath = getSupiConfigPath(loc.scope, loc.cwd, options);
|
|
163
|
+
const existing = readJsonFile(configPath) ?? {};
|
|
164
|
+
|
|
165
|
+
if (Object.keys(value).length > 0) existing[loc.section] = value;
|
|
166
|
+
else delete existing[loc.section];
|
|
167
|
+
|
|
168
|
+
const content = Object.keys(existing).length > 0 ? `${JSON.stringify(existing, null, 2)}\n` : "";
|
|
169
|
+
if (content) {
|
|
170
|
+
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
|
171
|
+
fs.writeFileSync(configPath, content, "utf-8");
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
try {
|
|
176
|
+
fs.unlinkSync(configPath);
|
|
177
|
+
} catch {
|
|
178
|
+
// File may not exist.
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
151
182
|
/**
|
|
152
183
|
* Remove a key from a config section.
|
|
153
184
|
* Used by `interval default` to remove the project override.
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
// supi-core config domain — config loading.
|
|
2
2
|
export type { SupiConfigLocation, SupiConfigOptions } from "./config/config.ts";
|
|
3
3
|
export {
|
|
4
|
+
getSupiConfigPath,
|
|
4
5
|
loadSupiConfig,
|
|
5
6
|
loadSupiConfigForScope,
|
|
6
7
|
loadSupiConfigSectionForScope,
|
|
7
8
|
readJsonFile,
|
|
8
9
|
removeSupiConfigKey,
|
|
10
|
+
replaceSupiConfigSection,
|
|
9
11
|
writeSupiConfig,
|
|
10
12
|
} from "./config/config.ts";
|
package/node_modules/@mrclrchtr/supi-lsp/node_modules/@mrclrchtr/supi-core/src/debug-registry.ts
CHANGED
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
// supi-debug extension owns policy/configuration and exposes events through a
|
|
5
5
|
// command/tool while this module stays dependency-free for producers.
|
|
6
6
|
|
|
7
|
-
// biome-ignore lint/performance/noReExportAll: preserve the stable debug domain entry point
|
|
8
|
-
export * from "./debug-timing.ts";
|
|
9
|
-
|
|
10
7
|
export type DebugLevel = "debug" | "info" | "warning" | "error";
|
|
11
8
|
export type DebugAgentAccess = "off" | "sanitized" | "raw";
|
|
12
9
|
export interface DebugRegistryConfig {
|
|
@@ -25,6 +22,8 @@ export const DEBUG_REGISTRY_DEFAULTS: DebugRegistryConfig = {
|
|
|
25
22
|
};
|
|
26
23
|
|
|
27
24
|
export interface DebugEventInput {
|
|
25
|
+
/** Opaque identity for events directly owned by one public Tool call. */
|
|
26
|
+
operationId?: string;
|
|
28
27
|
source: string;
|
|
29
28
|
level: DebugLevel;
|
|
30
29
|
category: string;
|
|
@@ -42,6 +41,8 @@ export interface DebugEvent extends DebugEventInput {
|
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
export interface DebugEventQuery {
|
|
44
|
+
/** Match one exact Debug Operation ID. */
|
|
45
|
+
operationId?: string;
|
|
45
46
|
source?: string;
|
|
46
47
|
level?: DebugLevel;
|
|
47
48
|
category?: string;
|
|
@@ -53,6 +54,7 @@ export interface DebugEventQuery {
|
|
|
53
54
|
export interface DebugEventView {
|
|
54
55
|
id: number;
|
|
55
56
|
timestamp: number;
|
|
57
|
+
operationId?: string;
|
|
56
58
|
source: string;
|
|
57
59
|
level: DebugLevel;
|
|
58
60
|
category: string;
|
|
@@ -84,6 +86,7 @@ interface DebugRegistryState {
|
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
const REGISTRY_KEY = Symbol.for("@mrclrchtr/supi-core/debug-registry");
|
|
89
|
+
const DEBUG_OPERATION_ID_RE = /^op-[A-Za-z0-9_-]{21}[AQgw]$/;
|
|
87
90
|
const SECRET_KEY_RE = /(?:token|password|passwd|secret|api[_-]?key|authorization|credential)/i;
|
|
88
91
|
const ENV_SECRET_RE =
|
|
89
92
|
/\b([A-Za-z0-9_]*(?:token|password|passwd|secret|api[_-]?key|authorization|credential)[A-Za-z0-9_]*)=(?:'[^']*'|"[^"]*"|\S+)/gi;
|
|
@@ -135,11 +138,17 @@ export function isDebugLevel(value: unknown): value is DebugLevel {
|
|
|
135
138
|
return value === "debug" || value === "info" || value === "warning" || value === "error";
|
|
136
139
|
}
|
|
137
140
|
|
|
138
|
-
/**
|
|
141
|
+
/** Return whether a value has the exact 16-byte base64url Debug Operation ID form. */
|
|
142
|
+
export function isDebugOperationId(value: unknown): value is string {
|
|
143
|
+
return typeof value === "string" && DEBUG_OPERATION_ID_RE.test(value);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/** Match a debug event against the supported exact filters. */
|
|
139
147
|
export function matchesDebugEventQuery(
|
|
140
|
-
event: Pick<DebugEventView, "source" | "level" | "category">,
|
|
141
|
-
query: Pick<DebugEventQuery, "source" | "level" | "category">,
|
|
148
|
+
event: Pick<DebugEventView, "operationId" | "source" | "level" | "category">,
|
|
149
|
+
query: Pick<DebugEventQuery, "operationId" | "source" | "level" | "category">,
|
|
142
150
|
): boolean {
|
|
151
|
+
if (query.operationId && event.operationId !== query.operationId) return false;
|
|
143
152
|
if (query.source && event.source !== query.source) return false;
|
|
144
153
|
if (query.level && event.level !== query.level) return false;
|
|
145
154
|
if (query.category && event.category !== query.category) return false;
|
|
@@ -197,6 +206,7 @@ function toSanitizedView(event: DebugEvent): DebugEventView {
|
|
|
197
206
|
return {
|
|
198
207
|
id: event.id,
|
|
199
208
|
timestamp: event.timestamp,
|
|
209
|
+
operationId: event.operationId,
|
|
200
210
|
source: event.source,
|
|
201
211
|
level: event.level,
|
|
202
212
|
category: event.category,
|
|
@@ -216,6 +226,9 @@ export function subscribeDebugEvents(listener: DebugEventListener): () => void {
|
|
|
216
226
|
/** Record a session-local debug event if debugging is enabled. */
|
|
217
227
|
export function recordDebugEvent(input: DebugEventInput): DebugEvent | null {
|
|
218
228
|
const state = getState();
|
|
229
|
+
if (input.operationId !== undefined && !isDebugOperationId(input.operationId)) {
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
219
232
|
if (!state.config.enabled) {
|
|
220
233
|
return null;
|
|
221
234
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Debug domain entry for `@mrclrchtr/supi-core/debug`.
|
|
2
|
+
//
|
|
3
|
+
// Kept separate from debug-registry.ts so debug-timing.ts can import the
|
|
4
|
+
// registry without creating an import cycle through the barrel re-export.
|
|
5
|
+
|
|
6
|
+
// biome-ignore lint/performance/noReExportAll: preserve the stable debug domain entry point
|
|
7
|
+
export * from "./debug-registry.ts";
|
|
8
|
+
// biome-ignore lint/performance/noReExportAll: preserve the stable debug domain entry point
|
|
9
|
+
export * from "./debug-timing.ts";
|
|
@@ -11,7 +11,7 @@ export * from "./config.ts";
|
|
|
11
11
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
|
12
12
|
export * from "./context.ts";
|
|
13
13
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
|
14
|
-
export * from "./debug
|
|
14
|
+
export * from "./debug.ts";
|
|
15
15
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
|
16
16
|
export * from "./footer-registry.ts";
|
|
17
17
|
// biome-ignore lint/performance/noReExportAll: intentional convenience barrel
|
|
@@ -41,7 +41,10 @@ export interface SettingsApplyResult {
|
|
|
41
41
|
*/
|
|
42
42
|
export interface SettingsModule {
|
|
43
43
|
id: string;
|
|
44
|
+
/** Human-readable section label shown in the UI. */
|
|
44
45
|
label: string;
|
|
46
|
+
/** Optional label that groups this module within its section. */
|
|
47
|
+
subsection?: string;
|
|
45
48
|
read(context: SettingsContext): Promise<SettingsSnapshot>;
|
|
46
49
|
apply(request: SettingsActionRequest): Promise<SettingsApplyResult>;
|
|
47
50
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrclrchtr/supi-lsp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "Language Server Protocol runtime for SuPi code intelligence",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"ignore": "^7.0.5",
|
|
36
36
|
"typescript": "6.0.3",
|
|
37
37
|
"vscode-jsonrpc": "^9.0.0",
|
|
38
|
-
"vscode-languageserver-protocol": "^3.
|
|
39
|
-
"vscode-languageserver-types": "^3.
|
|
40
|
-
"@mrclrchtr/supi-code-runtime": "
|
|
41
|
-
"@mrclrchtr/supi-core": "
|
|
38
|
+
"vscode-languageserver-protocol": "^3.18.0",
|
|
39
|
+
"vscode-languageserver-types": "^3.18.0",
|
|
40
|
+
"@mrclrchtr/supi-code-runtime": "6.0.0",
|
|
41
|
+
"@mrclrchtr/supi-core": "6.0.0"
|
|
42
42
|
},
|
|
43
43
|
"bundledDependencies": [
|
|
44
44
|
"@mrclrchtr/supi-code-runtime",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"exports": {
|
|
54
54
|
"./api": "./src/api.ts",
|
|
55
55
|
"./package.json": "./package.json",
|
|
56
|
-
"./provider/lsp-semantic-provider": "./src/provider/lsp-semantic-provider.ts"
|
|
56
|
+
"./provider/lsp-semantic-provider": "./src/provider/lsp-semantic-provider.ts",
|
|
57
|
+
"./debug-telemetry": "./src/debug-telemetry.ts"
|
|
57
58
|
}
|
|
58
59
|
}
|
|
@@ -8,7 +8,16 @@ export {
|
|
|
8
8
|
hasDeprecatedLspKeys,
|
|
9
9
|
loadLspSettings,
|
|
10
10
|
} from "./config/lsp-settings.ts";
|
|
11
|
-
export {
|
|
11
|
+
export {
|
|
12
|
+
clearTsconfigCache,
|
|
13
|
+
type FileScopeDecision,
|
|
14
|
+
type FileScopeStatus,
|
|
15
|
+
getFileScopeDecision,
|
|
16
|
+
invalidateTsconfigCacheForConfig,
|
|
17
|
+
invalidateTsconfigCacheForConfigDir,
|
|
18
|
+
isProjectConfigFileName,
|
|
19
|
+
type ScopeDecisionBasis,
|
|
20
|
+
} from "./config/tsconfig-scope.ts";
|
|
12
21
|
export type {
|
|
13
22
|
CodeAction,
|
|
14
23
|
Diagnostic,
|
|
@@ -28,21 +37,33 @@ export type {
|
|
|
28
37
|
} from "./config/types.ts";
|
|
29
38
|
export { FileChangeType } from "./config/types.ts";
|
|
30
39
|
export { toLspPosition, toOneBasedPosition } from "./coordinates.ts";
|
|
40
|
+
export { TENTATIVE_PUSH_UNAVAILABLE_REASON } from "./diagnostics/evidence.ts";
|
|
31
41
|
export { isLikelyStaleDiagnostic } from "./diagnostics/stale-diagnostics.ts";
|
|
32
42
|
export {
|
|
33
43
|
scanWorkspaceSentinels,
|
|
34
44
|
syncWorkspaceSentinelSnapshot,
|
|
35
45
|
} from "./diagnostics/workspace-sentinels.ts";
|
|
46
|
+
export { raceReadinessValue, raceRequestControl } from "./session/readiness.ts";
|
|
36
47
|
export type {
|
|
37
48
|
LspControllerState,
|
|
49
|
+
LspRuntimeTransition,
|
|
50
|
+
LspRuntimeTransitionKind,
|
|
51
|
+
LspRuntimeTransitionListener,
|
|
38
52
|
LspStartResult,
|
|
39
53
|
} from "./session/runtime-controller.ts";
|
|
40
54
|
export { LspRuntimeController } from "./session/runtime-controller.ts";
|
|
41
55
|
export type {
|
|
56
|
+
DiagnosticEvidenceDocument,
|
|
57
|
+
DiagnosticEvidenceStatus,
|
|
58
|
+
DiagnosticEvidenceSummary,
|
|
42
59
|
OutstandingDiagnosticSummaryEntry,
|
|
43
60
|
RecoverDiagnosticsResult,
|
|
61
|
+
RoutedMutationResponse,
|
|
44
62
|
SemanticReadinessResult,
|
|
63
|
+
WorkspaceDiagnosticReport,
|
|
64
|
+
WorkspaceDiagnosticSnapshot,
|
|
45
65
|
WorkspaceDiagnosticSummaryEntry,
|
|
66
|
+
WorkspaceLspDiagnosticSurface,
|
|
46
67
|
WorkspaceLspRuntime,
|
|
47
68
|
WorkspaceLspRuntimeState,
|
|
48
69
|
} from "./session/runtime-registry.ts";
|