@pentoshi/clai 4.13.1 → 4.14.1
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/CONTRIBUTING.md +9 -4
- package/MCP.md +182 -0
- package/PROVIDERS.md +69 -0
- package/README.md +19 -6
- package/dist/agent/runner.js +1 -1
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/stream-recovery.d.ts +1 -1
- package/dist/agent/stream-recovery.js +10 -4
- package/dist/agent/stream-recovery.js.map +1 -1
- package/dist/agent/turn/mcp-agent-tools.d.ts +4 -2
- package/dist/agent/turn/mcp-agent-tools.js +15 -6
- package/dist/agent/turn/mcp-agent-tools.js.map +1 -1
- package/dist/agent/turn/tool-call-preparation.d.ts +2 -1
- package/dist/agent/turn/tool-call-preparation.js +20 -4
- package/dist/agent/turn/tool-call-preparation.js.map +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js +1 -1
- package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
- package/dist/app/commands/catalog.js +1 -0
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/classic/app/action-handlers.js +2 -1
- package/dist/classic/app/action-handlers.js.map +1 -1
- package/dist/classic/app/app-wiring.js +2 -0
- package/dist/classic/app/app-wiring.js.map +1 -1
- package/dist/classic/bootstrap/runtime-view.d.ts +6 -0
- package/dist/classic/bootstrap/runtime-view.js +46 -0
- package/dist/classic/bootstrap/runtime-view.js.map +1 -0
- package/dist/classic/bootstrap/terminal-session.d.ts +3 -0
- package/dist/classic/bootstrap/terminal-session.js +3 -0
- package/dist/classic/bootstrap/terminal-session.js.map +1 -1
- package/dist/classic/chrome/composer-controller.d.ts +2 -1
- package/dist/classic/chrome/composer-controller.js +36 -19
- package/dist/classic/chrome/composer-controller.js.map +1 -1
- package/dist/classic/chrome/composer-frame.js +1 -1
- package/dist/classic/chrome/composer-frame.js.map +1 -1
- package/dist/classic/input/input-router.d.ts +2 -1
- package/dist/classic/input/input-router.js +9 -0
- package/dist/classic/input/input-router.js.map +1 -1
- package/dist/classic/input/key-event.d.ts +3 -0
- package/dist/classic/input/key-event.js.map +1 -1
- package/dist/classic/input/paste-burst.js +5 -0
- package/dist/classic/input/paste-burst.js.map +1 -1
- package/dist/classic/input/raw-decoder.d.ts +1 -0
- package/dist/classic/input/raw-decoder.js +15 -10
- package/dist/classic/input/raw-decoder.js.map +1 -1
- package/dist/classic/input/terminal-sequences.d.ts +0 -1
- package/dist/classic/input/terminal-sequences.js +0 -1
- package/dist/classic/input/terminal-sequences.js.map +1 -1
- package/dist/commands/providers.js +2 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/llm/adapters/mistral-messages.d.ts +1 -0
- package/dist/llm/adapters/mistral-messages.js +56 -0
- package/dist/llm/adapters/mistral-messages.js.map +1 -0
- package/dist/llm/capabilities.js +63 -1
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/capability/state.d.ts +1 -1
- package/dist/llm/capability/tool-dialect.js +8 -1
- package/dist/llm/capability/tool-dialect.js.map +1 -1
- package/dist/llm/capability/vision-patterns.js +6 -0
- package/dist/llm/capability/vision-patterns.js.map +1 -1
- package/dist/llm/capability/vision-registry.js +11 -1
- package/dist/llm/capability/vision-registry.js.map +1 -1
- package/dist/llm/catalog-context.d.ts +6 -0
- package/dist/llm/catalog-context.js +15 -0
- package/dist/llm/catalog-context.js.map +1 -0
- package/dist/llm/catalog-facts.d.ts +2 -0
- package/dist/llm/catalog-facts.js.map +1 -1
- package/dist/llm/cline-model-catalog.d.ts +4 -0
- package/dist/llm/cline-model-catalog.js +197 -0
- package/dist/llm/cline-model-catalog.js.map +1 -0
- package/dist/llm/cline.d.ts +1 -0
- package/dist/llm/cline.js +69 -17
- package/dist/llm/cline.js.map +1 -1
- package/dist/llm/free-model-limits.d.ts +1 -0
- package/dist/llm/free-model-limits.js +101 -0
- package/dist/llm/free-model-limits.js.map +1 -0
- package/dist/llm/free.js +136 -103
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/http.d.ts +2 -1
- package/dist/llm/http.js +3 -1
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/mistral-models.d.ts +2 -0
- package/dist/llm/mistral-models.js +23 -0
- package/dist/llm/mistral-models.js.map +1 -0
- package/dist/llm/mistral.d.ts +2 -0
- package/dist/llm/mistral.js +129 -0
- package/dist/llm/mistral.js.map +1 -0
- package/dist/llm/profile/layer-merge.js +3 -3
- package/dist/llm/profile/layer-merge.js.map +1 -1
- package/dist/llm/provider-identity.js +5 -0
- package/dist/llm/provider-identity.js.map +1 -1
- package/dist/llm/provider-info-text.js +26 -0
- package/dist/llm/provider-info-text.js.map +1 -1
- package/dist/llm/provider-model-layers.js +45 -0
- package/dist/llm/provider-model-layers.js.map +1 -1
- package/dist/llm/provider-profile-layers.js +25 -0
- package/dist/llm/provider-profile-layers.js.map +1 -1
- package/dist/llm/provider-profiles.js +28 -4
- package/dist/llm/provider-profiles.js.map +1 -1
- package/dist/llm/qoder/qoder-catalog.d.ts +15 -0
- package/dist/llm/qoder/qoder-catalog.js +56 -0
- package/dist/llm/qoder/qoder-catalog.js.map +1 -0
- package/dist/llm/qoder/qoder-http.d.ts +13 -0
- package/dist/llm/qoder/qoder-http.js +55 -0
- package/dist/llm/qoder/qoder-http.js.map +1 -0
- package/dist/llm/qoder/qoder-queue.d.ts +15 -0
- package/dist/llm/qoder/qoder-queue.js +169 -0
- package/dist/llm/qoder/qoder-queue.js.map +1 -0
- package/dist/llm/qoder/qoder-response.d.ts +19 -0
- package/dist/llm/qoder/qoder-response.js +98 -0
- package/dist/llm/qoder/qoder-response.js.map +1 -0
- package/dist/llm/qoder/qoder-stream.d.ts +23 -0
- package/dist/llm/qoder/qoder-stream.js +75 -0
- package/dist/llm/qoder/qoder-stream.js.map +1 -0
- package/dist/llm/qoder/qoder.d.ts +4 -4
- package/dist/llm/qoder/qoder.js +71 -189
- package/dist/llm/qoder/qoder.js.map +1 -1
- package/dist/llm/quota-signals.d.ts +1 -0
- package/dist/llm/quota-signals.js +8 -0
- package/dist/llm/quota-signals.js.map +1 -1
- package/dist/llm/reasoning-capability.js +1 -0
- package/dist/llm/reasoning-capability.js.map +1 -1
- package/dist/llm/request-plan.js +15 -6
- package/dist/llm/request-plan.js.map +1 -1
- package/dist/llm/router.js +1 -1
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/routing/attempt-complete.js +4 -3
- package/dist/llm/routing/attempt-complete.js.map +1 -1
- package/dist/llm/routing/attempt-request.d.ts +5 -1
- package/dist/llm/routing/attempt-request.js +22 -2
- package/dist/llm/routing/attempt-request.js.map +1 -1
- package/dist/llm/routing/attempt-stream.js +4 -3
- package/dist/llm/routing/attempt-stream.js.map +1 -1
- package/dist/llm/routing/error-classification.js +2 -0
- package/dist/llm/routing/error-classification.js.map +1 -1
- package/dist/llm/routing/failure-report.d.ts +1 -1
- package/dist/llm/routing/failure-report.js +11 -5
- package/dist/llm/routing/failure-report.js.map +1 -1
- package/dist/llm/routing/provider-selection.js +3 -0
- package/dist/llm/routing/provider-selection.js.map +1 -1
- package/dist/llm/tool-protocol.d.ts +1 -1
- package/dist/llm/tool-protocol.js +4 -1
- package/dist/llm/tool-protocol.js.map +1 -1
- package/dist/llm/wire/chat-body.js +51 -28
- package/dist/llm/wire/chat-body.js.map +1 -1
- package/dist/llm/wire/effort-preflight.js +4 -1
- package/dist/llm/wire/effort-preflight.js.map +1 -1
- package/dist/llm/wire/mistral-content.d.ts +19 -0
- package/dist/llm/wire/mistral-content.js +106 -0
- package/dist/llm/wire/mistral-content.js.map +1 -0
- package/dist/llm/wire/mistral-model-catalog.d.ts +2 -0
- package/dist/llm/wire/mistral-model-catalog.js +73 -0
- package/dist/llm/wire/mistral-model-catalog.js.map +1 -0
- package/dist/llm/wire/openai-complete.js +10 -4
- package/dist/llm/wire/openai-complete.js.map +1 -1
- package/dist/llm/wire/openai-stream.js +38 -16
- package/dist/llm/wire/openai-stream.js.map +1 -1
- package/dist/llm/wire/response-errors.d.ts +1 -0
- package/dist/llm/wire/response-errors.js +1 -1
- package/dist/llm/wire/response-errors.js.map +1 -1
- package/dist/mcp/auth/device.d.ts +7 -3
- package/dist/mcp/auth/device.js +55 -32
- package/dist/mcp/auth/device.js.map +1 -1
- package/dist/mcp/auth/http.d.ts +12 -0
- package/dist/mcp/auth/http.js +62 -0
- package/dist/mcp/auth/http.js.map +1 -0
- package/dist/mcp/auth/loopback.d.ts +9 -1
- package/dist/mcp/auth/loopback.js +80 -8
- package/dist/mcp/auth/loopback.js.map +1 -1
- package/dist/mcp/auth/metadata.d.ts +2 -3
- package/dist/mcp/auth/metadata.js +25 -25
- package/dist/mcp/auth/metadata.js.map +1 -1
- package/dist/mcp/auth/provider.d.ts +1 -0
- package/dist/mcp/auth/provider.js +215 -42
- package/dist/mcp/auth/provider.js.map +1 -1
- package/dist/mcp/auth/registration.d.ts +2 -3
- package/dist/mcp/auth/registration.js +10 -14
- package/dist/mcp/auth/registration.js.map +1 -1
- package/dist/mcp/auth/token-exchange.d.ts +5 -3
- package/dist/mcp/auth/token-exchange.js +15 -15
- package/dist/mcp/auth/token-exchange.js.map +1 -1
- package/dist/mcp/auth/token-store.d.ts +1 -1
- package/dist/mcp/auth/token-store.js +105 -54
- package/dist/mcp/auth/token-store.js.map +1 -1
- package/dist/mcp/auth/types.d.ts +11 -2
- package/dist/mcp/catalog.d.ts +11 -0
- package/dist/mcp/catalog.js +58 -0
- package/dist/mcp/catalog.js.map +1 -0
- package/dist/mcp/client.d.ts +10 -1
- package/dist/mcp/client.js +93 -29
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/coerce.js +4 -4
- package/dist/mcp/coerce.js.map +1 -1
- package/dist/mcp/config-file.js +53 -10
- package/dist/mcp/config-file.js.map +1 -1
- package/dist/mcp/discovery.js +2 -0
- package/dist/mcp/discovery.js.map +1 -1
- package/dist/mcp/jsonrpc.js +28 -18
- package/dist/mcp/jsonrpc.js.map +1 -1
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.js +211 -29
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/results.js +25 -10
- package/dist/mcp/results.js.map +1 -1
- package/dist/mcp/runtime.d.ts +6 -6
- package/dist/mcp/runtime.js +168 -60
- package/dist/mcp/runtime.js.map +1 -1
- package/dist/mcp/schema-compact.js +3 -29
- package/dist/mcp/schema-compact.js.map +1 -1
- package/dist/mcp/storage-lock.d.ts +1 -0
- package/dist/mcp/storage-lock.js +80 -0
- package/dist/mcp/storage-lock.js.map +1 -0
- package/dist/mcp/transport-http.d.ts +13 -2
- package/dist/mcp/transport-http.js +245 -77
- package/dist/mcp/transport-http.js.map +1 -1
- package/dist/mcp/transport-stdio.d.ts +5 -2
- package/dist/mcp/transport-stdio.js +96 -52
- package/dist/mcp/transport-stdio.js.map +1 -1
- package/dist/mcp/transport.d.ts +9 -1
- package/dist/mcp/transport.js +38 -0
- package/dist/mcp/transport.js.map +1 -1
- package/dist/mcp/types.d.ts +8 -2
- package/dist/mcp/types.js +1 -5
- package/dist/mcp/types.js.map +1 -1
- package/dist/mcp/validation.js +81 -12
- package/dist/mcp/validation.js.map +1 -1
- package/dist/noninteractive/stream-renderer.d.ts +1 -0
- package/dist/noninteractive/stream-renderer.js +13 -0
- package/dist/noninteractive/stream-renderer.js.map +1 -1
- package/dist/session-runtime/child-bridge.d.ts +10 -4
- package/dist/session-runtime/child-bridge.js +34 -6
- package/dist/session-runtime/child-bridge.js.map +1 -1
- package/dist/session-runtime/client.d.ts +3 -2
- package/dist/session-runtime/client.js +22 -9
- package/dist/session-runtime/client.js.map +1 -1
- package/dist/session-runtime/host.d.ts +4 -0
- package/dist/session-runtime/host.js +108 -16
- package/dist/session-runtime/host.js.map +1 -1
- package/dist/session-runtime/launch.d.ts +1 -0
- package/dist/session-runtime/launch.js +3 -1
- package/dist/session-runtime/launch.js.map +1 -1
- package/dist/session-runtime/start-runtime.d.ts +12 -0
- package/dist/session-runtime/start-runtime.js +69 -0
- package/dist/session-runtime/start-runtime.js.map +1 -0
- package/dist/session-runtime/store.js +1 -0
- package/dist/session-runtime/store.js.map +1 -1
- package/dist/session-runtime/terminal-options.d.ts +4 -0
- package/dist/session-runtime/terminal-options.js +49 -0
- package/dist/session-runtime/terminal-options.js.map +1 -0
- package/dist/session-runtime/types.d.ts +38 -1
- package/dist/session-runtime/view-manager.d.ts +38 -0
- package/dist/session-runtime/view-manager.js +189 -0
- package/dist/session-runtime/view-manager.js.map +1 -0
- package/dist/session-runtime/view-services.d.ts +14 -0
- package/dist/session-runtime/view-services.js +83 -0
- package/dist/session-runtime/view-services.js.map +1 -0
- package/dist/session-runtime/view-terminal.d.ts +29 -0
- package/dist/session-runtime/view-terminal.js +51 -0
- package/dist/session-runtime/view-terminal.js.map +1 -0
- package/dist/store/config/endpoints.js +1 -0
- package/dist/store/config/endpoints.js.map +1 -1
- package/dist/store/config.js +2 -0
- package/dist/store/config.js.map +1 -1
- package/dist/store/rtk-usage.d.ts +1 -0
- package/dist/store/rtk-usage.js +8 -3
- package/dist/store/rtk-usage.js.map +1 -1
- package/dist/tools/definitions/aggregate.js +4 -1
- package/dist/tools/definitions/aggregate.js.map +1 -1
- package/dist/tools/rtk/binary.d.ts +2 -2
- package/dist/tools/rtk/binary.js +12 -4
- package/dist/tools/rtk/binary.js.map +1 -1
- package/dist/tools/rtk/rewrite.js +13 -3
- package/dist/tools/rtk/rewrite.js.map +1 -1
- package/dist/tui-v2/bootstrap/runtime-view.d.ts +6 -0
- package/dist/tui-v2/bootstrap/runtime-view.js +54 -0
- package/dist/tui-v2/bootstrap/runtime-view.js.map +1 -0
- package/dist/tui-v2/components/composer/composer-input-box.d.ts +6 -1
- package/dist/tui-v2/components/composer/composer-input-box.js +27 -18
- package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
- package/dist/tui-v2/components/composer/paste-chip.d.ts +3 -2
- package/dist/tui-v2/components/composer/paste-chip.js +17 -48
- package/dist/tui-v2/components/composer/paste-chip.js.map +1 -1
- package/dist/tui-v2/composer/composer-cursor.d.ts +3 -0
- package/dist/tui-v2/composer/composer-cursor.js +21 -0
- package/dist/tui-v2/composer/composer-cursor.js.map +1 -0
- package/dist/tui-v2/composer/composer-editor.js +91 -100
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/composer/composer-highlight.d.ts +6 -1
- package/dist/tui-v2/composer/composer-highlight.js +9 -2
- package/dist/tui-v2/composer/composer-highlight.js.map +1 -1
- package/dist/tui-v2/composer/composer-wheel.js +2 -1
- package/dist/tui-v2/composer/composer-wheel.js.map +1 -1
- package/dist/tui-v2/composer/expand-paste.d.ts +4 -0
- package/dist/tui-v2/composer/expand-paste.js +34 -0
- package/dist/tui-v2/composer/expand-paste.js.map +1 -0
- package/dist/tui-v2/composer/paste-hit-test.d.ts +28 -0
- package/dist/tui-v2/composer/paste-hit-test.js +25 -0
- package/dist/tui-v2/composer/paste-hit-test.js.map +1 -0
- package/dist/tui-v2/composer/use-draft-actions.js +3 -1
- package/dist/tui-v2/composer/use-draft-actions.js.map +1 -1
- package/dist/tui-v2/input/paste-burst-guard.js +3 -0
- package/dist/tui-v2/input/paste-burst-guard.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/mentions.js +12 -1
- package/dist/ui/mentions.js.map +1 -1
- package/dist/ui-core/actions/action-id.d.ts +1 -1
- package/dist/ui-core/actions/action-id.js +1 -0
- package/dist/ui-core/actions/action-id.js.map +1 -1
- package/dist/ui-core/actions/format-shortcuts.js +3 -2
- package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
- package/dist/ui-core/actions/keymap.js +2 -0
- package/dist/ui-core/actions/keymap.js.map +1 -1
- package/dist/ui-core/bootstrap/composition-root.d.ts +4 -1
- package/dist/ui-core/bootstrap/composition-root.js +33 -14
- package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
- package/dist/ui-core/commands/mcp-commands.js +3 -3
- package/dist/ui-core/commands/mcp-commands.js.map +1 -1
- package/dist/ui-core/commands/pickers/search-reasoning.js +21 -6
- package/dist/ui-core/commands/pickers/search-reasoning.js.map +1 -1
- package/dist/ui-core/commands/rtk-commands.js +3 -3
- package/dist/ui-core/commands/rtk-commands.js.map +1 -1
- package/dist/ui-core/commands/session-commands.js +1 -1
- package/dist/ui-core/commands/session-commands.js.map +1 -1
- package/dist/ui-core/composer/completion.d.ts +1 -0
- package/dist/ui-core/composer/completion.js +31 -3
- package/dist/ui-core/composer/completion.js.map +1 -1
- package/dist/ui-core/composer/composer-height.d.ts +1 -1
- package/dist/ui-core/composer/composer-height.js +26 -3
- package/dist/ui-core/composer/composer-height.js.map +1 -1
- package/dist/ui-core/composer/paste-placeholder.d.ts +10 -0
- package/dist/ui-core/composer/paste-placeholder.js +60 -12
- package/dist/ui-core/composer/paste-placeholder.js.map +1 -1
- package/dist/ui-core/input/paste-burst.d.ts +2 -1
- package/dist/ui-core/input/paste-burst.js +20 -0
- package/dist/ui-core/input/paste-burst.js.map +1 -1
- package/dist/ui-core/state/transcript-store.d.ts +7 -0
- package/dist/ui-core/state/transcript-store.js +53 -0
- package/dist/ui-core/state/transcript-store.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +3 -2
package/dist/mcp/validation.js
CHANGED
|
@@ -2,6 +2,7 @@ import { substituteVariables } from "./substitution.js";
|
|
|
2
2
|
const KNOWN_TYPES = {
|
|
3
3
|
stdio: "stdio",
|
|
4
4
|
local: "stdio",
|
|
5
|
+
remote: "http",
|
|
5
6
|
http: "http",
|
|
6
7
|
"streamable-http": "http",
|
|
7
8
|
"http-stream": "http",
|
|
@@ -120,7 +121,7 @@ function validateArgs(raw, substitutor, errors) {
|
|
|
120
121
|
return args;
|
|
121
122
|
}
|
|
122
123
|
function resolveTransport(entry, errors) {
|
|
123
|
-
const rawType = entry.type;
|
|
124
|
+
const rawType = entry.type ?? entry.transport;
|
|
124
125
|
if (typeof rawType === "string") {
|
|
125
126
|
const mapped = KNOWN_TYPES[rawType.toLowerCase()];
|
|
126
127
|
if (!mapped) {
|
|
@@ -129,7 +130,7 @@ function resolveTransport(entry, errors) {
|
|
|
129
130
|
}
|
|
130
131
|
return mapped;
|
|
131
132
|
}
|
|
132
|
-
const hasCommand = typeof entry.command === "string";
|
|
133
|
+
const hasCommand = typeof entry.command === "string" || Array.isArray(entry.command);
|
|
133
134
|
const hasUrl = typeof entry.url === "string";
|
|
134
135
|
if (hasCommand && hasUrl) {
|
|
135
136
|
errors.push("server defines both command and url");
|
|
@@ -152,21 +153,39 @@ export function validateServerEntry(name, rawEntry, context) {
|
|
|
152
153
|
return { ok: false, errors: ["server definition must be an object"] };
|
|
153
154
|
}
|
|
154
155
|
const entry = rawEntry;
|
|
155
|
-
const disabled = entry.disabled === true;
|
|
156
|
+
const disabled = entry.disabled === true || entry.enabled === false;
|
|
156
157
|
const toolSelection = parseToolSelection(entry.tools, errors);
|
|
157
158
|
const substitutor = new Substitutor(context);
|
|
158
159
|
const transport = resolveTransport(entry, errors);
|
|
160
|
+
const timeoutMs = entry.timeoutMs ?? entry.timeout;
|
|
161
|
+
const connectTimeoutMs = entry.connectTimeoutMs;
|
|
162
|
+
for (const [name, value] of [
|
|
163
|
+
["timeoutMs", timeoutMs],
|
|
164
|
+
["connectTimeoutMs", connectTimeoutMs],
|
|
165
|
+
]) {
|
|
166
|
+
if (value !== undefined &&
|
|
167
|
+
(typeof value !== "number" ||
|
|
168
|
+
!Number.isSafeInteger(value) ||
|
|
169
|
+
value <= 0 ||
|
|
170
|
+
value > 2_147_483_647))
|
|
171
|
+
errors.push(`${name} must be an integer between 1 and 2147483647 milliseconds`);
|
|
172
|
+
}
|
|
159
173
|
let config;
|
|
160
174
|
if (transport === "stdio") {
|
|
161
|
-
const
|
|
175
|
+
const commandArray = Array.isArray(entry.command) ? entry.command : undefined;
|
|
176
|
+
const rawCommand = commandArray ? commandArray[0] : entry.command;
|
|
162
177
|
if (typeof rawCommand !== "string" || rawCommand.trim().length === 0) {
|
|
163
178
|
errors.push("stdio server requires a non-empty command");
|
|
164
179
|
}
|
|
165
180
|
if (typeof entry.url === "string")
|
|
166
181
|
errors.push("stdio server must not define url");
|
|
167
182
|
const command = typeof rawCommand === "string" ? substitutor.apply(rawCommand) : "";
|
|
168
|
-
|
|
169
|
-
|
|
183
|
+
if (commandArray && entry.args !== undefined && !Array.isArray(entry.args))
|
|
184
|
+
errors.push("args must be an array of strings");
|
|
185
|
+
const args = validateArgs(commandArray
|
|
186
|
+
? [...commandArray.slice(1), ...(Array.isArray(entry.args) ? entry.args : [])]
|
|
187
|
+
: entry.args, substitutor, errors);
|
|
188
|
+
const env = validateStringMap(entry.env ?? entry.environment, "env", substitutor, errors, true);
|
|
170
189
|
const cwd = typeof entry.cwd === "string" ? substitutor.apply(entry.cwd) : undefined;
|
|
171
190
|
if (command.trim().length === 0)
|
|
172
191
|
errors.push("stdio command resolved to empty");
|
|
@@ -185,7 +204,7 @@ export function validateServerEntry(name, rawEntry, context) {
|
|
|
185
204
|
if (typeof rawUrl !== "string" || rawUrl.trim().length === 0) {
|
|
186
205
|
errors.push(`${transport} server requires a url`);
|
|
187
206
|
}
|
|
188
|
-
if (typeof entry.command === "string") {
|
|
207
|
+
if (typeof entry.command === "string" || Array.isArray(entry.command)) {
|
|
189
208
|
errors.push(`${transport} server must not define command`);
|
|
190
209
|
}
|
|
191
210
|
const url = typeof rawUrl === "string" ? substitutor.apply(rawUrl) : "";
|
|
@@ -193,7 +212,8 @@ export function validateServerEntry(name, rawEntry, context) {
|
|
|
193
212
|
errors.push(`url must be an http(s) URL, got "${url}"`);
|
|
194
213
|
}
|
|
195
214
|
const headers = validateStringMap(entry.headers, "headers", substitutor, errors, true);
|
|
196
|
-
const
|
|
215
|
+
const authEntry = entry.auth ?? compatibleOauth(entry.oauth);
|
|
216
|
+
const auth = parseAuthBlock(authEntry, substitutor, errors);
|
|
197
217
|
if (errors.length === 0) {
|
|
198
218
|
config = httpConfig(transport, url, headers, auth);
|
|
199
219
|
}
|
|
@@ -205,8 +225,16 @@ export function validateServerEntry(name, rawEntry, context) {
|
|
|
205
225
|
errors.push(`unresolved configuration variable(s): ${shown.join(", ")}${rest > 0 ? ` +${rest} more` : ""} — export matching environment variables or add input defaults in the source config`);
|
|
206
226
|
}
|
|
207
227
|
if (errors.length > 0 || !config) {
|
|
208
|
-
return {
|
|
228
|
+
return {
|
|
229
|
+
ok: false,
|
|
230
|
+
errors: errors.length > 0 ? errors : ["invalid server definition"],
|
|
231
|
+
};
|
|
209
232
|
}
|
|
233
|
+
config = {
|
|
234
|
+
...config,
|
|
235
|
+
...(typeof timeoutMs === "number" ? { timeoutMs } : {}),
|
|
236
|
+
...(typeof connectTimeoutMs === "number" ? { connectTimeoutMs } : {}),
|
|
237
|
+
};
|
|
210
238
|
return {
|
|
211
239
|
ok: true,
|
|
212
240
|
server: {
|
|
@@ -217,6 +245,18 @@ export function validateServerEntry(name, rawEntry, context) {
|
|
|
217
245
|
},
|
|
218
246
|
};
|
|
219
247
|
}
|
|
248
|
+
function compatibleOauth(value) {
|
|
249
|
+
if (value === false)
|
|
250
|
+
return { kind: "none" };
|
|
251
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
252
|
+
return undefined;
|
|
253
|
+
const { scope, ...entry } = value;
|
|
254
|
+
return {
|
|
255
|
+
...entry,
|
|
256
|
+
kind: "oauth",
|
|
257
|
+
...(entry.scopes !== undefined || scope !== undefined ? { scopes: entry.scopes ?? scope } : {}),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
220
260
|
function isHttpUrl(value) {
|
|
221
261
|
try {
|
|
222
262
|
const url = new URL(value);
|
|
@@ -231,7 +271,15 @@ const AUTH_ALLOWED_FIELDS = {
|
|
|
231
271
|
none: new Set(),
|
|
232
272
|
bearer: new Set(["token"]),
|
|
233
273
|
header: new Set(["headers"]),
|
|
234
|
-
oauth: new Set([
|
|
274
|
+
oauth: new Set([
|
|
275
|
+
"scopes",
|
|
276
|
+
"clientId",
|
|
277
|
+
"clientSecret",
|
|
278
|
+
"resource",
|
|
279
|
+
"authorizationServer",
|
|
280
|
+
"callbackPort",
|
|
281
|
+
"tokenEndpointAuthMethod",
|
|
282
|
+
]),
|
|
235
283
|
};
|
|
236
284
|
function markedString(value, label, substitutor, errors) {
|
|
237
285
|
const primitive = coercePrimitive(value);
|
|
@@ -280,12 +328,27 @@ function rejectForeignAuthFields(kind, entry, errors) {
|
|
|
280
328
|
}
|
|
281
329
|
}
|
|
282
330
|
function buildOauthAuth(entry, substitutor, errors) {
|
|
331
|
+
const callbackPort = entry.callbackPort;
|
|
332
|
+
if (callbackPort !== undefined &&
|
|
333
|
+
(typeof callbackPort !== "number" ||
|
|
334
|
+
!Number.isInteger(callbackPort) ||
|
|
335
|
+
callbackPort < 1 ||
|
|
336
|
+
callbackPort > 65535))
|
|
337
|
+
errors.push("auth.callbackPort must be an integer between 1 and 65535");
|
|
338
|
+
const authMethod = entry.tokenEndpointAuthMethod;
|
|
339
|
+
if (authMethod !== undefined &&
|
|
340
|
+
!["none", "client_secret_basic", "client_secret_post"].includes(String(authMethod)))
|
|
341
|
+
errors.push("auth.tokenEndpointAuthMethod must be none, client_secret_basic, or client_secret_post");
|
|
283
342
|
const scopes = parseScopes(entry.scopes, substitutor, errors);
|
|
284
|
-
const clientId = entry.clientId !== undefined
|
|
343
|
+
const clientId = entry.clientId !== undefined
|
|
344
|
+
? markedString(entry.clientId, "auth.clientId", substitutor, errors)
|
|
345
|
+
: undefined;
|
|
285
346
|
const clientSecret = entry.clientSecret !== undefined
|
|
286
347
|
? markedString(entry.clientSecret, "auth.clientSecret", substitutor, errors)
|
|
287
348
|
: undefined;
|
|
288
|
-
const resource = entry.resource !== undefined
|
|
349
|
+
const resource = entry.resource !== undefined
|
|
350
|
+
? markedString(entry.resource, "auth.resource", substitutor, errors)
|
|
351
|
+
: undefined;
|
|
289
352
|
const authorizationServer = entry.authorizationServer !== undefined
|
|
290
353
|
? markedString(entry.authorizationServer, "auth.authorizationServer", substitutor, errors)
|
|
291
354
|
: undefined;
|
|
@@ -296,6 +359,12 @@ function buildOauthAuth(entry, substitutor, errors) {
|
|
|
296
359
|
...(clientSecret !== undefined ? { clientSecret } : {}),
|
|
297
360
|
...(resource !== undefined ? { resource } : {}),
|
|
298
361
|
...(authorizationServer !== undefined ? { authorizationServer } : {}),
|
|
362
|
+
...(typeof callbackPort === "number" ? { callbackPort } : {}),
|
|
363
|
+
...(typeof authMethod === "string"
|
|
364
|
+
? {
|
|
365
|
+
tokenEndpointAuthMethod: authMethod,
|
|
366
|
+
}
|
|
367
|
+
: {}),
|
|
299
368
|
};
|
|
300
369
|
}
|
|
301
370
|
export function parseAuthBlock(raw, substitutor, errors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/mcp/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/mcp/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA+B,MAAM,mBAAmB,CAAC;AAmBrF,MAAM,WAAW,GAA+C;IAC9D,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,MAAM;IACzB,aAAa,EAAE,MAAM;IACrB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,WAAW;IAGc;IAFpB,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,YAA6B,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAChE,KAAK,CAAC,GAAW;QACf,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAwB;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY,EAAE,MAAgB;IACxD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAC1D,OAAO,WAAW,CAChB,OAAO;aACJ,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CACrC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,GAAG;gBAAE,QAAQ,GAAG,IAAI,CAAC;iBAChC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,MAAgB;IAClD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAClE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAY,EACZ,KAAa,EACb,WAAwB,EACxB,MAAgB,EAChB,UAAmB;IAEnB,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QAC1E,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,GAAG,mBAAmB,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACpB,IAAI,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAY,EAAE,WAAwB,EAAE,MAAgB;IAC5E,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,oBAAoB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA8B,EAC9B,MAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;IAC7C,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU;QAAE,OAAO,OAAO,CAAC;IAC/B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CACjB,SAAyB,EACzB,GAAW,EACX,OAA+B,EAC/B,IAA+B;IAE/B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC;AACD,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAAiB,EACjB,OAA+B;IAE/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,qCAAqC,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,QAAmC,CAAC;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC;IACpE,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC;IACnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,WAAW,EAAE,SAAS,CAAC;QACxB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;KACvC,EAAE,CAAC;QACF,IACE,KAAK,KAAK,SAAS;YACnB,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACxB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC5B,KAAK,IAAI,CAAC;gBACV,KAAK,GAAG,aAAa,CAAC;YAExB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,2DAA2D,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,MAAmC,CAAC;IACxC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,YAAY,CACvB,YAAY;YACV,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC,CAAC,KAAK,CAAC,IAAI,EACd,WAAW,EACX,MAAM,CACP,CAAC;QACF,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAChG,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG;gBACP,SAAS,EAAE,OAAO;gBAClB,OAAO;gBACP,IAAI;gBACJ,GAAG;gBACH,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,wBAAwB,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,iCAAiC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3C,MAAM,CAAC,IAAI,CACT,yCAAyC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,qFAAqF,CAClL,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;SACnE,CAAC;IACJ,CAAC;IACD,MAAM,GAAG;QACP,GAAG,MAAM;QACT,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;IACF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,MAAM;YACN,QAAQ;YACR,aAAa;YACb,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAgC,CAAC;IAC7D,OAAO;QACL,GAAG,KAAK;QACR,IAAI,EAAE,OAAO;QACb,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAElE,MAAM,mBAAmB,GAAkD;IACzE,IAAI,EAAE,IAAI,GAAG,EAAU;IACvB,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5B,KAAK,EAAE,IAAI,GAAG,CAAC;QACb,QAAQ;QACR,UAAU;QACV,cAAc;QACd,UAAU;QACV,qBAAqB;QACrB,cAAc;QACd,yBAAyB;KAC1B,CAAC;CACH,CAAC;AAEF,SAAS,YAAY,CACnB,KAAc,EACd,KAAa,EACb,WAAwB,EACxB,MAAgB;IAEhB,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAClB,KAAc,EACd,WAAwB,EACxB,MAAgB;IAEhB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK;aACT,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,oBAAoB,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAY,EACZ,KAA8B,EAC9B,MAAgB;IAEhB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,4BAA4B,GAAG,GAAG,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAA8B,EAC9B,WAAwB,EACxB,MAAgB;IAEhB,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IACE,YAAY,KAAK,SAAS;QAC1B,CAAC,OAAO,YAAY,KAAK,QAAQ;YAC/B,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;YAC/B,YAAY,GAAG,CAAC;YAChB,YAAY,GAAG,KAAK,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,uBAAuB,CAAC;IACjD,IACE,UAAU,KAAK,SAAS;QACxB,CAAC,CAAC,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEnF,MAAM,CAAC,IAAI,CACT,uFAAuF,CACxF,CAAC;IACJ,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,YAAY,GAChB,KAAK,CAAC,YAAY,KAAK,SAAS;QAC9B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,CAAC;QAC5E,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,mBAAmB,GACvB,KAAK,CAAC,mBAAmB,KAAK,SAAS;QACrC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ;YAChC,CAAC,CAAC;gBACE,uBAAuB,EAAE,UAGD;aACzB;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,GAAY,EACZ,WAAwB,EACxB,MAAgB;IAEhB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,GAA8B,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5F,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -19,6 +19,7 @@ export declare class StreamRenderer {
|
|
|
19
19
|
private readonly startedAt;
|
|
20
20
|
private label;
|
|
21
21
|
private lastAnswer;
|
|
22
|
+
private pendingThinking;
|
|
22
23
|
private finished;
|
|
23
24
|
constructor(options: StreamRendererOptions, clock?: () => number);
|
|
24
25
|
handle(event: AgentEvent): void;
|
|
@@ -3,6 +3,7 @@ import { formatElapsed } from "../classic/blocks/block-context.js";
|
|
|
3
3
|
import { isBatchToolName } from "../ui-core/rendering/batch-sections.js";
|
|
4
4
|
import { buildAssistantMessageLines, buildBatchLines, buildCompactedLines, buildCompactionCompletedLines, buildCompactionFailedLines, buildCompactionStartLines, buildConfirmRequestLines, buildNoticeLines, buildPlanUpdateLines, buildStatusLines, buildThinkingBlockLines, buildTokenUsageLines, buildToolBlockedLines, buildToolCallLines, buildToolDiffLines, buildToolOutputLines, buildToolResultLines, buildTurnAbortedLines, buildTurnErrorLines, buildTurnStartLines, createStreamContext, renderAnswerLines, } from "./stream-blocks.js";
|
|
5
5
|
import { StreamSpinner } from "./stream-spinner.js";
|
|
6
|
+
import { liveThinkingTail } from "../ui-core/rendering/thinking-tail.js";
|
|
6
7
|
export class StreamRenderer {
|
|
7
8
|
options;
|
|
8
9
|
clock;
|
|
@@ -12,6 +13,7 @@ export class StreamRenderer {
|
|
|
12
13
|
startedAt;
|
|
13
14
|
label = "working";
|
|
14
15
|
lastAnswer = "";
|
|
16
|
+
pendingThinking = "";
|
|
15
17
|
finished = false;
|
|
16
18
|
constructor(options, clock = Date.now) {
|
|
17
19
|
this.options = options;
|
|
@@ -28,6 +30,7 @@ export class StreamRenderer {
|
|
|
28
30
|
handle(event) {
|
|
29
31
|
switch (event.type) {
|
|
30
32
|
case "turn-start":
|
|
33
|
+
this.pendingThinking = "";
|
|
31
34
|
this.writeErr(buildTurnStartLines(this.ctx, event));
|
|
32
35
|
this.spin("waiting for model");
|
|
33
36
|
return;
|
|
@@ -36,12 +39,18 @@ export class StreamRenderer {
|
|
|
36
39
|
this.spin(event.text.trim() || this.label);
|
|
37
40
|
return;
|
|
38
41
|
case "thinking-delta":
|
|
42
|
+
if (this.options.showThinking && this.options.verbosity !== "quiet") {
|
|
43
|
+
const text = this.pendingThinking + event.text;
|
|
44
|
+
this.pendingThinking = this.options.verbosity === "verbose" ? text : liveThinkingTail(text);
|
|
45
|
+
}
|
|
46
|
+
return;
|
|
39
47
|
case "assistant-delta":
|
|
40
48
|
case "compaction-delta":
|
|
41
49
|
case "tool-start":
|
|
42
50
|
case "turn-end":
|
|
43
51
|
return;
|
|
44
52
|
case "thinking-block":
|
|
53
|
+
this.pendingThinking = "";
|
|
45
54
|
this.writeErr(buildThinkingBlockLines(this.ctx, event));
|
|
46
55
|
return;
|
|
47
56
|
case "assistant-message":
|
|
@@ -106,6 +115,10 @@ export class StreamRenderer {
|
|
|
106
115
|
return;
|
|
107
116
|
this.finished = true;
|
|
108
117
|
this.spinner.clear();
|
|
118
|
+
if (this.pendingThinking) {
|
|
119
|
+
this.writeErr(buildThinkingBlockLines(this.ctx, { type: "thinking-block", content: this.pendingThinking }));
|
|
120
|
+
this.pendingThinking = "";
|
|
121
|
+
}
|
|
109
122
|
const lines = renderAnswerLines(this.ctx, renderTurnOutcome(outcome));
|
|
110
123
|
const text = lines.join("\n");
|
|
111
124
|
if (text === "" || text === this.lastAnswer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-renderer.js","sourceRoot":"","sources":["../../src/noninteractive/stream-renderer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-renderer.js","sourceRoot":"","sources":["../../src/noninteractive/stream-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type RuntimeViewFrame } from "./types.js";
|
|
1
2
|
export interface RuntimeChildStatus {
|
|
2
3
|
readonly sessionId: string;
|
|
3
4
|
readonly cwd: string;
|
|
@@ -9,6 +10,7 @@ export declare class RuntimeChildBridge {
|
|
|
9
10
|
private readonly socketPath;
|
|
10
11
|
private readonly token;
|
|
11
12
|
private readonly supportsRepaint;
|
|
13
|
+
private readonly independentViews;
|
|
12
14
|
private socket;
|
|
13
15
|
private channel;
|
|
14
16
|
private reconnectTimer;
|
|
@@ -19,13 +21,17 @@ export declare class RuntimeChildBridge {
|
|
|
19
21
|
private readonly pendingRepaints;
|
|
20
22
|
private disposed;
|
|
21
23
|
private connecting;
|
|
22
|
-
|
|
24
|
+
private viewHandler;
|
|
25
|
+
constructor(socketPath: string, token: string, supportsRepaint?: boolean, independentViews?: boolean);
|
|
23
26
|
connect(): Promise<boolean>;
|
|
24
27
|
setShutdownHandler(handler: () => void): void;
|
|
28
|
+
setViewHandler(handler: ((frame: RuntimeViewFrame) => void) | undefined): void;
|
|
29
|
+
writeView(clientId: string, bytes: Uint8Array): boolean;
|
|
30
|
+
closeView(clientId: string): boolean;
|
|
25
31
|
setRepaintHandler(handler: (() => boolean) | undefined): void;
|
|
26
32
|
report(status: RuntimeChildStatus): void;
|
|
27
|
-
minimise(): boolean;
|
|
28
|
-
switchSession(sessionId: string, closeCurrent: boolean, fresh?: boolean): boolean;
|
|
33
|
+
minimise(clientId?: string): boolean;
|
|
34
|
+
switchSession(sessionId: string, closeCurrent: boolean, fresh?: boolean, clientId?: string): boolean;
|
|
29
35
|
dispose(exitCode?: number): void;
|
|
30
36
|
private open;
|
|
31
37
|
private receive;
|
|
@@ -34,4 +40,4 @@ export declare class RuntimeChildBridge {
|
|
|
34
40
|
private closed;
|
|
35
41
|
private scheduleReconnect;
|
|
36
42
|
}
|
|
37
|
-
export declare function createRuntimeChildBridge(supportsRepaint?: boolean): RuntimeChildBridge | undefined;
|
|
43
|
+
export declare function createRuntimeChildBridge(supportsRepaint?: boolean, independentViews?: boolean): RuntimeChildBridge | undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RUNTIME_CHILD_ENV, RUNTIME_SOCKET_ENV, RUNTIME_TOKEN_ENV, } from "./launch.js";
|
|
2
2
|
import { JsonFrameChannel, connectRuntimeSocket, readFirstFrame, sendFrame, } from "./protocol.js";
|
|
3
3
|
import { RUNTIME_PROTOCOL_VERSION, } from "./types.js";
|
|
4
|
+
import { runtimeViewFrame } from "./terminal-options.js";
|
|
4
5
|
function isAck(value) {
|
|
5
6
|
if (!value || typeof value !== "object")
|
|
6
7
|
return false;
|
|
@@ -10,6 +11,9 @@ function isAck(value) {
|
|
|
10
11
|
typeof frame.sessionId === "string");
|
|
11
12
|
}
|
|
12
13
|
function hostFrame(value) {
|
|
14
|
+
const view = runtimeViewFrame(value);
|
|
15
|
+
if (view)
|
|
16
|
+
return view;
|
|
13
17
|
if (!value || typeof value !== "object")
|
|
14
18
|
return undefined;
|
|
15
19
|
const frame = value;
|
|
@@ -28,6 +32,7 @@ export class RuntimeChildBridge {
|
|
|
28
32
|
socketPath;
|
|
29
33
|
token;
|
|
30
34
|
supportsRepaint;
|
|
35
|
+
independentViews;
|
|
31
36
|
socket;
|
|
32
37
|
channel;
|
|
33
38
|
reconnectTimer;
|
|
@@ -38,10 +43,12 @@ export class RuntimeChildBridge {
|
|
|
38
43
|
pendingRepaints = new Set();
|
|
39
44
|
disposed = false;
|
|
40
45
|
connecting;
|
|
41
|
-
|
|
46
|
+
viewHandler;
|
|
47
|
+
constructor(socketPath, token, supportsRepaint = false, independentViews = false) {
|
|
42
48
|
this.socketPath = socketPath;
|
|
43
49
|
this.token = token;
|
|
44
50
|
this.supportsRepaint = supportsRepaint;
|
|
51
|
+
this.independentViews = independentViews;
|
|
45
52
|
}
|
|
46
53
|
async connect() {
|
|
47
54
|
if (this.disposed)
|
|
@@ -56,6 +63,19 @@ export class RuntimeChildBridge {
|
|
|
56
63
|
setShutdownHandler(handler) {
|
|
57
64
|
this.shutdown = handler;
|
|
58
65
|
}
|
|
66
|
+
setViewHandler(handler) {
|
|
67
|
+
this.viewHandler = handler;
|
|
68
|
+
}
|
|
69
|
+
writeView(clientId, bytes) {
|
|
70
|
+
for (let offset = 0; offset < bytes.length; offset += 32 * 1024) {
|
|
71
|
+
if (!this.send({ type: "view-output", clientId, data: Buffer.from(bytes.subarray(offset, offset + 32 * 1024)).toString("base64") }))
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
closeView(clientId) {
|
|
77
|
+
return this.send({ type: "view-closed", clientId });
|
|
78
|
+
}
|
|
59
79
|
setRepaintHandler(handler) {
|
|
60
80
|
this.repaint = handler;
|
|
61
81
|
if (!handler || this.disposed || this.pendingRepaints.size === 0)
|
|
@@ -101,15 +121,16 @@ export class RuntimeChildBridge {
|
|
|
101
121
|
}
|
|
102
122
|
this.scheduleReconnect();
|
|
103
123
|
}
|
|
104
|
-
minimise() {
|
|
105
|
-
return this.send({ type: "minimise" });
|
|
124
|
+
minimise(clientId) {
|
|
125
|
+
return this.send({ type: "minimise", ...(clientId ? { clientId } : {}) });
|
|
106
126
|
}
|
|
107
|
-
switchSession(sessionId, closeCurrent, fresh = false) {
|
|
127
|
+
switchSession(sessionId, closeCurrent, fresh = false, clientId) {
|
|
108
128
|
return this.send({
|
|
109
129
|
type: "switch",
|
|
110
130
|
sessionId,
|
|
111
131
|
closeCurrent,
|
|
112
132
|
...(fresh ? { fresh: true } : {}),
|
|
133
|
+
...(clientId ? { clientId } : {}),
|
|
113
134
|
});
|
|
114
135
|
}
|
|
115
136
|
dispose(exitCode = 0) {
|
|
@@ -118,6 +139,7 @@ export class RuntimeChildBridge {
|
|
|
118
139
|
this.send({ type: "exiting", exitCode });
|
|
119
140
|
this.disposed = true;
|
|
120
141
|
this.repaint = undefined;
|
|
142
|
+
this.viewHandler = undefined;
|
|
121
143
|
this.pendingRepaints.clear();
|
|
122
144
|
if (this.reconnectTimer)
|
|
123
145
|
clearTimeout(this.reconnectTimer);
|
|
@@ -137,6 +159,7 @@ export class RuntimeChildBridge {
|
|
|
137
159
|
role: "child",
|
|
138
160
|
token: this.token,
|
|
139
161
|
...(this.supportsRepaint ? { supportsRepaint: true } : {}),
|
|
162
|
+
...(this.independentViews ? { independentViews: true } : {}),
|
|
140
163
|
});
|
|
141
164
|
const first = await readFirstFrame(socket);
|
|
142
165
|
if (!isAck(first.value))
|
|
@@ -162,6 +185,11 @@ export class RuntimeChildBridge {
|
|
|
162
185
|
}
|
|
163
186
|
receive(value) {
|
|
164
187
|
const frame = hostFrame(value);
|
|
188
|
+
const view = runtimeViewFrame(frame);
|
|
189
|
+
if (view && !this.disposed) {
|
|
190
|
+
this.viewHandler?.(view);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
165
193
|
if (frame?.type === "shutdown") {
|
|
166
194
|
this.shutdown?.();
|
|
167
195
|
return;
|
|
@@ -216,13 +244,13 @@ export class RuntimeChildBridge {
|
|
|
216
244
|
this.reconnectTimer.unref?.();
|
|
217
245
|
}
|
|
218
246
|
}
|
|
219
|
-
export function createRuntimeChildBridge(supportsRepaint = false) {
|
|
247
|
+
export function createRuntimeChildBridge(supportsRepaint = false, independentViews = false) {
|
|
220
248
|
if (process.env[RUNTIME_CHILD_ENV] !== "1")
|
|
221
249
|
return undefined;
|
|
222
250
|
const socketPath = process.env[RUNTIME_SOCKET_ENV]?.trim();
|
|
223
251
|
const token = process.env[RUNTIME_TOKEN_ENV]?.trim();
|
|
224
252
|
if (!socketPath || !token || !/^[a-f0-9]{64}$/i.test(token))
|
|
225
253
|
return undefined;
|
|
226
|
-
return new RuntimeChildBridge(socketPath, token, supportsRepaint);
|
|
254
|
+
return new RuntimeChildBridge(socketPath, token, supportsRepaint, independentViews);
|
|
227
255
|
}
|
|
228
256
|
//# sourceMappingURL=child-bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-bridge.js","sourceRoot":"","sources":["../../src/session-runtime/child-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"child-bridge.js","sourceRoot":"","sources":["../../src/session-runtime/child-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import type { ResumeTarget } from "../ui-core/bootstrap/session-resume.js";
|
|
2
|
-
import { type RuntimeAuthFrame, type RuntimeMetadata } from "./types.js";
|
|
2
|
+
import { type RuntimeAuthFrame, type RuntimeMetadata, type RuntimeTerminalOptions } from "./types.js";
|
|
3
3
|
export declare function terminalRestoreSequence(altScreenActive: boolean): string;
|
|
4
4
|
export interface DurableInteractiveOptions {
|
|
5
5
|
readonly entryPath: string;
|
|
6
6
|
readonly childArgs: readonly string[];
|
|
7
7
|
readonly resume?: ResumeTarget | undefined;
|
|
8
8
|
readonly noHistory?: boolean | undefined;
|
|
9
|
+
readonly ui?: RuntimeTerminalOptions["ui"] | undefined;
|
|
9
10
|
}
|
|
10
11
|
export declare function runtimeClientAuthFrame(metadata: Pick<RuntimeMetadata, "token">, role: "client-control" | "client-terminal", clientId: string, dimensions?: {
|
|
11
12
|
readonly columns: number;
|
|
12
13
|
readonly rows: number;
|
|
13
|
-
} | undefined): RuntimeAuthFrame;
|
|
14
|
+
} | undefined, terminal?: RuntimeTerminalOptions | undefined): RuntimeAuthFrame;
|
|
14
15
|
export declare function tryRunDurableInteractive(options: DurableInteractiveOptions): Promise<boolean>;
|