@jingyi0605/codingns4dsh 0.2.0-rc3 → 0.2.1-beta.2
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.en.md +27 -16
- package/README.md +44 -29
- package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
- package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -1
- package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +2 -2
- package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -1
- package/data/build/dist/bootstrap/index.d.ts +1 -1
- package/data/build/dist/bootstrap/index.d.ts.map +1 -1
- package/data/build/dist/client/bundle.js +3361 -227
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/cli-catalog.d.ts +1 -1
- package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
- package/data/build/dist/client/cli-catalog.js +3 -3
- package/data/build/dist/client/cli-catalog.js.map +1 -1
- package/data/build/dist/client/cli-slots.d.ts +4 -0
- package/data/build/dist/client/cli-slots.d.ts.map +1 -1
- package/data/build/dist/client/cli-slots.js +70 -9
- package/data/build/dist/client/cli-slots.js.map +1 -1
- package/data/build/dist/client/context-breakdown-dom.d.ts +1 -1
- package/data/build/dist/client/context-breakdown-dom.d.ts.map +1 -1
- package/data/build/dist/client/context-breakdown-dom.js +1 -1
- package/data/build/dist/client/context-breakdown-dom.js.map +1 -1
- package/data/build/dist/client/features/assistant-panel.d.ts +5 -0
- package/data/build/dist/client/features/assistant-panel.d.ts.map +1 -0
- package/data/build/dist/client/features/assistant-panel.js +127 -0
- package/data/build/dist/client/features/assistant-panel.js.map +1 -0
- package/data/build/dist/client/features/global-voice-assistant.d.ts +10 -0
- package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -0
- package/data/build/dist/client/features/global-voice-assistant.js +330 -0
- package/data/build/dist/client/features/global-voice-assistant.js.map +1 -0
- package/data/build/dist/client/features/index.d.ts +2 -0
- package/data/build/dist/client/features/index.d.ts.map +1 -1
- package/data/build/dist/client/features/index.js +4 -0
- package/data/build/dist/client/features/index.js.map +1 -1
- package/data/build/dist/client/features/lan-access.d.ts.map +1 -1
- package/data/build/dist/client/features/lan-access.js +3 -1
- package/data/build/dist/client/features/lan-access.js.map +1 -1
- package/data/build/dist/client/features/types.d.ts +4 -1
- package/data/build/dist/client/features/types.d.ts.map +1 -1
- package/data/build/dist/client/features/voice-conversation-dialog.d.ts +20 -0
- package/data/build/dist/client/features/voice-conversation-dialog.d.ts.map +1 -0
- package/data/build/dist/client/features/voice-conversation-dialog.js +59 -0
- package/data/build/dist/client/features/voice-conversation-dialog.js.map +1 -0
- package/data/build/dist/client/features/voice-initialization-dialog.d.ts +10 -0
- package/data/build/dist/client/features/voice-initialization-dialog.d.ts.map +1 -0
- package/data/build/dist/client/features/voice-initialization-dialog.js +90 -0
- package/data/build/dist/client/features/voice-initialization-dialog.js.map +1 -0
- package/data/build/dist/client/features/workspace-session-enhancement-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement-panel.js +57 -2
- package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement.js +27 -0
- package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
- package/data/build/dist/client/global-voice-runtime-registry.d.ts +27 -0
- package/data/build/dist/client/global-voice-runtime-registry.d.ts.map +1 -0
- package/data/build/dist/client/global-voice-runtime-registry.js +12 -0
- package/data/build/dist/client/global-voice-runtime-registry.js.map +1 -0
- package/data/build/dist/client/index.d.ts +1 -1
- package/data/build/dist/client/index.d.ts.map +1 -1
- package/data/build/dist/client/locale.d.ts.map +1 -1
- package/data/build/dist/client/locale.js +185 -1
- package/data/build/dist/client/locale.js.map +1 -1
- package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
- package/data/build/dist/client/locales/fileWorkspace.js +4 -0
- package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
- package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
- package/data/build/dist/client/locales/terminalAuth.js +2 -0
- package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
- package/data/build/dist/client/locales/usage.d.ts.map +1 -1
- package/data/build/dist/client/locales/usage.js +4 -0
- package/data/build/dist/client/locales/usage.js.map +1 -1
- package/data/build/dist/client/mobile-session-interaction.d.ts +9 -0
- package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
- package/data/build/dist/client/mobile-session-interaction.js +63 -0
- package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
- package/data/build/dist/client/model-catalog-cache.d.ts +23 -0
- package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
- package/data/build/dist/client/model-catalog-cache.js +81 -9
- package/data/build/dist/client/model-catalog-cache.js.map +1 -1
- package/data/build/dist/client/service-tier.d.ts +11 -0
- package/data/build/dist/client/service-tier.d.ts.map +1 -1
- package/data/build/dist/client/service-tier.js +15 -0
- package/data/build/dist/client/service-tier.js.map +1 -1
- package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
- package/data/build/dist/client/session-changed-files-view.js +162 -58
- package/data/build/dist/client/session-changed-files-view.js.map +1 -1
- package/data/build/dist/client/sherpa-voice-adapter.d.ts +46 -0
- package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -0
- package/data/build/dist/client/sherpa-voice-adapter.js +252 -0
- package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -0
- package/data/build/dist/client/skill-command.d.ts +10 -0
- package/data/build/dist/client/skill-command.d.ts.map +1 -0
- package/data/build/dist/client/skill-command.js +258 -0
- package/data/build/dist/client/skill-command.js.map +1 -0
- package/data/build/dist/client/skill-reference-dom.d.ts +38 -0
- package/data/build/dist/client/skill-reference-dom.d.ts.map +1 -0
- package/data/build/dist/client/skill-reference-dom.js +187 -0
- package/data/build/dist/client/skill-reference-dom.js.map +1 -0
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +51 -3
- package/data/build/dist/client/subscription-slot.js.map +1 -1
- package/data/build/dist/client/terminal/model.d.ts +40 -2
- package/data/build/dist/client/terminal/model.d.ts.map +1 -1
- package/data/build/dist/client/terminal/model.js +151 -24
- package/data/build/dist/client/terminal/model.js.map +1 -1
- package/data/build/dist/client/terminal/styles.d.ts +8 -0
- package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
- package/data/build/dist/client/terminal/styles.js +23 -2
- package/data/build/dist/client/terminal/styles.js.map +1 -1
- package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
- package/data/build/dist/client/terminal/ui.js +161 -26
- package/data/build/dist/client/terminal/ui.js.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.js +218 -42
- package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
- package/data/build/dist/client/voice-capture.d.ts +32 -0
- package/data/build/dist/client/voice-capture.d.ts.map +1 -0
- package/data/build/dist/client/voice-capture.js +158 -0
- package/data/build/dist/client/voice-capture.js.map +1 -0
- package/data/build/dist/client/voice-device-manager.d.ts +24 -0
- package/data/build/dist/client/voice-device-manager.d.ts.map +1 -0
- package/data/build/dist/client/voice-device-manager.js +197 -0
- package/data/build/dist/client/voice-device-manager.js.map +1 -0
- package/data/build/dist/client/voice-output.d.ts +14 -0
- package/data/build/dist/client/voice-output.d.ts.map +1 -0
- package/data/build/dist/client/voice-output.js +32 -0
- package/data/build/dist/client/voice-output.js.map +1 -0
- package/data/build/dist/client/voice-security.d.ts +8 -0
- package/data/build/dist/client/voice-security.d.ts.map +1 -0
- package/data/build/dist/client/voice-security.js +26 -0
- package/data/build/dist/client/voice-security.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +12 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +32 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +23 -3
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js +137 -14
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts +31 -0
- package/data/build/dist/host/cli-adapters/acp-elicitation.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/acp-elicitation.js +144 -0
- package/data/build/dist/host/cli-adapters/acp-elicitation.js.map +1 -0
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +41 -3
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.js +213 -12
- package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts +121 -0
- package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/antigravity-subscription.js +504 -0
- package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -0
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts +31 -1
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +307 -9
- package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +7 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js +147 -6
- package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts +28 -2
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +234 -5
- package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.js +20 -8
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-subscription.js +7 -4
- package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +10 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.js +74 -4
- package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +1 -1
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
- package/data/build/dist/host/cli-adapters/driver.d.ts +21 -1
- package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js +15 -3
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +22 -3
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.d.ts +2 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/gemini-driver.js +70 -11
- package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts +3 -2
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js +69 -14
- package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/kimi-driver.js +6 -6
- package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/kiro-driver.js +1 -1
- package/data/build/dist/host/cli-adapters/kiro-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +6 -2
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.js +95 -24
- package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts +49 -0
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/model-catalog.js +126 -0
- package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +55 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +148 -6
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -0
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +11 -0
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.js +92 -8
- package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.js +4 -0
- package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.d.ts +10 -3
- package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +4 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.js +8 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +19 -4
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.js +202 -11
- package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-subscription.js +3 -1
- package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/reasoning-content.d.ts +11 -0
- package/data/build/dist/host/cli-adapters/reasoning-content.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/reasoning-content.js +79 -0
- package/data/build/dist/host/cli-adapters/reasoning-content.js.map +1 -0
- package/data/build/dist/host/cli-adapters/registry.d.ts +24 -1
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +109 -4
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +3 -2
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +8 -2
- package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +3 -2
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js +16 -2
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool.js +40 -10
- package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +4 -1
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts +11 -3
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.js +8 -4
- package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
- package/data/build/dist/host/cli-bridge/command-code-mod.js +18 -2
- package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.js +30 -5
- package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.d.ts +10 -1
- package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.js +30 -10
- package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +49 -7
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
- package/data/build/dist/host/features/assistant-dispatch.d.ts +45 -0
- package/data/build/dist/host/features/assistant-dispatch.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-dispatch.js +49 -0
- package/data/build/dist/host/features/assistant-dispatch.js.map +1 -0
- package/data/build/dist/host/features/assistant-intent.d.ts +46 -0
- package/data/build/dist/host/features/assistant-intent.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-intent.js +149 -0
- package/data/build/dist/host/features/assistant-intent.js.map +1 -0
- package/data/build/dist/host/features/assistant-scope-settings.d.ts +25 -0
- package/data/build/dist/host/features/assistant-scope-settings.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-scope-settings.js +33 -0
- package/data/build/dist/host/features/assistant-scope-settings.js.map +1 -0
- package/data/build/dist/host/features/assistant-scope.d.ts +79 -0
- package/data/build/dist/host/features/assistant-scope.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-scope.js +107 -0
- package/data/build/dist/host/features/assistant-scope.js.map +1 -0
- package/data/build/dist/host/features/assistant-session-index.d.ts +44 -0
- package/data/build/dist/host/features/assistant-session-index.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-session-index.js +109 -0
- package/data/build/dist/host/features/assistant-session-index.js.map +1 -0
- package/data/build/dist/host/features/assistant-summary.d.ts +28 -0
- package/data/build/dist/host/features/assistant-summary.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-summary.js +166 -0
- package/data/build/dist/host/features/assistant-summary.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-stream.d.ts +10 -0
- package/data/build/dist/host/features/assistant-voice-stream.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-stream.js +106 -0
- package/data/build/dist/host/features/assistant-voice-stream.js.map +1 -0
- package/data/build/dist/host/features/assistant-voice-turn.d.ts +27 -0
- package/data/build/dist/host/features/assistant-voice-turn.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-voice-turn.js +54 -0
- package/data/build/dist/host/features/assistant-voice-turn.js.map +1 -0
- package/data/build/dist/host/features/assistant-waiting-state.d.ts +14 -0
- package/data/build/dist/host/features/assistant-waiting-state.d.ts.map +1 -0
- package/data/build/dist/host/features/assistant-waiting-state.js +17 -0
- package/data/build/dist/host/features/assistant-waiting-state.js.map +1 -0
- package/data/build/dist/host/features/global-voice-coordinator.d.ts +55 -0
- package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -0
- package/data/build/dist/host/features/global-voice-coordinator.js +221 -0
- package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -0
- package/data/build/dist/host/features/global-voice-rpc.d.ts +25 -0
- package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -0
- package/data/build/dist/host/features/global-voice-rpc.js +862 -0
- package/data/build/dist/host/features/global-voice-rpc.js.map +1 -0
- package/data/build/dist/host/features/index.d.ts +10 -0
- package/data/build/dist/host/features/index.d.ts.map +1 -1
- package/data/build/dist/host/features/index.js +10 -0
- package/data/build/dist/host/features/index.js.map +1 -1
- package/data/build/dist/host/features/peer-host.d.ts +5 -0
- package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/host/features/peer-host.js +232 -2
- package/data/build/dist/host/features/peer-host.js.map +1 -1
- package/data/build/dist/host/features/sherpa-voice-runtime.d.ts +42 -0
- package/data/build/dist/host/features/sherpa-voice-runtime.d.ts.map +1 -0
- package/data/build/dist/host/features/sherpa-voice-runtime.js +193 -0
- package/data/build/dist/host/features/sherpa-voice-runtime.js.map +1 -0
- package/data/build/dist/host/features/types.d.ts +26 -0
- package/data/build/dist/host/features/types.d.ts.map +1 -1
- package/data/build/dist/host/features/voice-agent-actions.d.ts +26 -0
- package/data/build/dist/host/features/voice-agent-actions.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-agent-actions.js +128 -0
- package/data/build/dist/host/features/voice-agent-actions.js.map +1 -0
- package/data/build/dist/host/features/voice-agent-service.d.ts +117 -0
- package/data/build/dist/host/features/voice-agent-service.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-agent-service.js +243 -0
- package/data/build/dist/host/features/voice-agent-service.js.map +1 -0
- package/data/build/dist/host/features/voice-model-setup.d.ts +20 -0
- package/data/build/dist/host/features/voice-model-setup.d.ts.map +1 -0
- package/data/build/dist/host/features/voice-model-setup.js +89 -0
- package/data/build/dist/host/features/voice-model-setup.js.map +1 -0
- package/data/build/dist/host/index.d.ts +3 -3
- package/data/build/dist/host/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +8 -2
- package/data/build/dist/host/index.js.map +1 -1
- package/data/build/dist/host/lan-access-dsh.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +53 -2
- package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +15 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
- package/data/build/dist/host/native-session-bridge.d.ts +2 -0
- package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
- package/data/build/dist/host/native-session-bridge.js +1 -0
- package/data/build/dist/host/native-session-bridge.js.map +1 -1
- package/data/build/dist/host/rpc.d.ts.map +1 -1
- package/data/build/dist/host/rpc.js +9 -4
- package/data/build/dist/host/rpc.js.map +1 -1
- package/data/build/dist/host/settings.d.ts.map +1 -1
- package/data/build/dist/host/settings.js +19 -1
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/host/terminal/backends/conpty-backend.js.map +1 -1
- package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
- package/data/build/dist/host/terminal/terminal-controller.js +4 -0
- package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
- package/data/build/dist/host/terminal/terminal-service.d.ts +21 -1
- package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
- package/data/build/dist/host/terminal/terminal-service.js +118 -7
- package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
- package/data/build/dist/index.d.ts +2 -2
- package/data/build/dist/index.d.ts.map +1 -1
- package/data/build/dist/index.js +1 -1
- package/data/build/dist/index.js.map +1 -1
- package/data/build/dist/shared/contracts/assistant.d.ts +70 -0
- package/data/build/dist/shared/contracts/assistant.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/assistant.js +2 -0
- package/data/build/dist/shared/contracts/assistant.js.map +1 -0
- package/data/build/dist/shared/contracts/cli-adapter.d.ts +33 -1
- package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.d.ts +30 -0
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +20 -0
- package/data/build/dist/shared/contracts/config.js.map +1 -1
- package/data/build/dist/shared/contracts/errors.d.ts +2 -2
- package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/subscription.d.ts +30 -0
- package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/subscription.js.map +1 -1
- package/data/build/dist/shared/contracts/terminal.d.ts +2 -0
- package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.d.ts +12 -5
- package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.js +11 -4
- package/data/build/dist/shared/contracts/version.js.map +1 -1
- package/data/build/dist/shared/contracts/voice-runtime.d.ts +90 -0
- package/data/build/dist/shared/contracts/voice-runtime.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/voice-runtime.js +16 -0
- package/data/build/dist/shared/contracts/voice-runtime.js.map +1 -0
- package/data/build/dist/shared/index.d.ts +8 -2
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js +5 -1
- package/data/build/dist/shared/index.js.map +1 -1
- package/data/build/dist/shared/voice-models.d.ts +21 -0
- package/data/build/dist/shared/voice-models.d.ts.map +1 -0
- package/data/build/dist/shared/voice-models.js +27 -0
- package/data/build/dist/shared/voice-models.js.map +1 -0
- package/data/build/dist/shared/voice-stream.d.ts +42 -0
- package/data/build/dist/shared/voice-stream.d.ts.map +1 -0
- package/data/build/dist/shared/voice-stream.js +99 -0
- package/data/build/dist/shared/voice-stream.js.map +1 -0
- package/data/build/dist/shared/voice-text.d.ts +3 -0
- package/data/build/dist/shared/voice-text.d.ts.map +1 -0
- package/data/build/dist/shared/voice-text.js +14 -0
- package/data/build/dist/shared/voice-text.js.map +1 -0
- package/data/build/dist/typert.host.d.ts.map +1 -1
- package/data/build/dist/typert.host.js +1 -0
- package/data/build/dist/typert.host.js.map +1 -1
- package/package.json +56 -26
- package/profile/README.md +8 -5
- package/profile/package.json +5 -3
- package/profile/version.json +3 -3
- package/version.json +3 -3
|
@@ -16,6 +16,12 @@ const TERMINAL_TOUCH_MOMENTUM_FRICTION = 0.97;
|
|
|
16
16
|
const TERMINAL_TOUCH_MOMENTUM_MAX_DURATION_MS = 3600;
|
|
17
17
|
const TERMINAL_TOUCH_MOMENTUM_MAX_IDLE_FRAMES = 3;
|
|
18
18
|
const TERMINAL_TOUCH_MOMENTUM_RELEASE_IDLE_MS = 100;
|
|
19
|
+
/** 视图夺回终端尺寸的最小间隔,避免可见性抖动时反复重发。 */
|
|
20
|
+
const TERMINAL_SIZE_CLAIM_INTERVAL_MS = 1000;
|
|
21
|
+
/** 终端文本与可视容器边缘之间至少保留 5px 的安全距离。 */
|
|
22
|
+
const TERMINAL_CONTENT_EDGE_GAP = 5;
|
|
23
|
+
/** 终端滚动条停止滚动后的自动隐藏延迟。 */
|
|
24
|
+
const TERMINAL_SCROLLBAR_HIDE_DELAY_MS = 3000;
|
|
19
25
|
/** 使用与 DSH 内置终端相同的布局、状态条和 xterm 默认参数。 */
|
|
20
26
|
export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal, active = true, visible = true, t: injectedTranslator, }) {
|
|
21
27
|
const t = injectedTranslator ?? resolveCodingNsTranslator();
|
|
@@ -24,6 +30,8 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
24
30
|
const fitRef = useRef(null);
|
|
25
31
|
const scheduleReflowRef = useRef(null);
|
|
26
32
|
const lastRevision = useRef(0);
|
|
33
|
+
const sizeClaimAtRef = useRef(0);
|
|
34
|
+
const previousActiveRef = useRef(active);
|
|
27
35
|
const state = useSyncExternalStore(view.state.subscribe.bind(view.state), view.state.getSnapshot.bind(view.state));
|
|
28
36
|
const settingsSnapshot = useSyncExternalStore(settings.subscribe.bind(settings), settings.getSnapshot.bind(settings));
|
|
29
37
|
const appearance = settingsSnapshot.value?.terminalEnhancement.appearance
|
|
@@ -50,8 +58,8 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
50
58
|
terminalRef.current = terminal;
|
|
51
59
|
fitRef.current = fit;
|
|
52
60
|
lastRevision.current = 0;
|
|
53
|
-
// xterm
|
|
54
|
-
// 有历史时返回 true
|
|
61
|
+
// xterm 自己拥有自绘 scrollable viewport。滚轮回调只能决定是否交给 xterm 继续处理:
|
|
62
|
+
// 有历史时返回 true,交给 xterm 的滚动容器;没有历史时返回 false,避免被解释为
|
|
55
63
|
// shell 的上下方向键(例如切换历史命令)。
|
|
56
64
|
const wheel = (event) => {
|
|
57
65
|
if (!Number.isFinite(event.deltaY) || event.deltaY === 0)
|
|
@@ -213,12 +221,39 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
213
221
|
const xtermRoot = terminal.element;
|
|
214
222
|
if (xtermRoot === undefined)
|
|
215
223
|
return;
|
|
216
|
-
|
|
217
|
-
|
|
224
|
+
// xterm 6 使用 .xterm-scrollable-element 的自绘滚动条;.xterm-viewport
|
|
225
|
+
// 只是兼容节点,不能再把触摸事件和可用宽度交给它。
|
|
226
|
+
const scrollTarget = xtermRoot?.querySelector('.xterm-scrollable-element') ?? xtermRoot ?? container;
|
|
218
227
|
const interactionTarget = xtermRoot ?? container;
|
|
219
|
-
|
|
228
|
+
let scrollbarHideTimer;
|
|
229
|
+
let lastViewportY = terminal.buffer.active.viewportY;
|
|
230
|
+
const hideScrollbar = () => {
|
|
231
|
+
if (scrollbarHideTimer !== undefined) {
|
|
232
|
+
window.clearTimeout(scrollbarHideTimer);
|
|
233
|
+
scrollbarHideTimer = undefined;
|
|
234
|
+
}
|
|
235
|
+
xtermRoot.dataset.codingnsScrollbar = 'hidden';
|
|
236
|
+
};
|
|
237
|
+
const revealScrollbar = () => {
|
|
238
|
+
if (terminal.buffer.active.baseY <= 0) {
|
|
239
|
+
hideScrollbar();
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
xtermRoot.dataset.codingnsScrollbar = 'visible';
|
|
243
|
+
if (scrollbarHideTimer !== undefined)
|
|
244
|
+
window.clearTimeout(scrollbarHideTimer);
|
|
245
|
+
scrollbarHideTimer = window.setTimeout(() => {
|
|
246
|
+
scrollbarHideTimer = undefined;
|
|
247
|
+
xtermRoot.dataset.codingnsScrollbar = 'hidden';
|
|
248
|
+
}, TERMINAL_SCROLLBAR_HIDE_DELAY_MS);
|
|
249
|
+
};
|
|
250
|
+
const syncScrollbarState = () => {
|
|
220
251
|
const hasScrollback = terminal.buffer.active.baseY > 0;
|
|
221
252
|
xtermRoot.dataset.codingnsScrollback = hasScrollback ? 'true' : 'false';
|
|
253
|
+
if (!hasScrollback)
|
|
254
|
+
hideScrollbar();
|
|
255
|
+
else if (xtermRoot.dataset.codingnsScrollbar === undefined)
|
|
256
|
+
xtermRoot.dataset.codingnsScrollbar = 'hidden';
|
|
222
257
|
debugInfo('codingns4dsh: client terminal scrollbar state', {
|
|
223
258
|
terminalId: view.id,
|
|
224
259
|
hasScrollback,
|
|
@@ -226,7 +261,7 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
226
261
|
viewportY: terminal.buffer.active.viewportY,
|
|
227
262
|
});
|
|
228
263
|
};
|
|
229
|
-
|
|
264
|
+
syncScrollbarState();
|
|
230
265
|
scrollTarget.style.touchAction = 'pan-y';
|
|
231
266
|
scrollTarget.style.overscrollBehavior = 'contain';
|
|
232
267
|
if ('webkitOverflowScrolling' in scrollTarget.style) {
|
|
@@ -237,7 +272,11 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
237
272
|
interactionTarget.addEventListener('touchend', touchEnd, { passive: true });
|
|
238
273
|
interactionTarget.addEventListener('touchcancel', touchCancel, { passive: true });
|
|
239
274
|
const scroll = terminal.onScroll((viewportY) => {
|
|
240
|
-
|
|
275
|
+
const didScroll = viewportY !== lastViewportY;
|
|
276
|
+
lastViewportY = viewportY;
|
|
277
|
+
syncScrollbarState();
|
|
278
|
+
if (didScroll)
|
|
279
|
+
revealScrollbar();
|
|
241
280
|
debugInfo('codingns4dsh: client terminal viewport scroll', {
|
|
242
281
|
terminalId: view.id,
|
|
243
282
|
viewportY,
|
|
@@ -251,13 +290,16 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
251
290
|
void view.rename(value);
|
|
252
291
|
});
|
|
253
292
|
const measure = () => {
|
|
293
|
+
// 手机虚拟键盘通常只收缩 visualViewport,不会改变 DSH 外层布局视口。
|
|
294
|
+
// 先把 xterm 宿主裁到可视视口底边,再计算行列,避免最后几行和光标落到键盘下面。
|
|
295
|
+
syncTerminalViewport(host);
|
|
254
296
|
// 显示层即使在 connecting/read-only 阶段也必须跟随容器尺寸;否则
|
|
255
297
|
// ResizeObserver 会捕获首次 render 的 writable=false,后续移动端布局
|
|
256
298
|
// 变化永远不会触发历史行重排。view.resize 内部仍会按权限决定是否下发 PTY。
|
|
257
299
|
if (host.clientWidth === 0 || host.clientHeight === 0)
|
|
258
300
|
return;
|
|
259
301
|
fitTerminal(terminal, fit, view);
|
|
260
|
-
|
|
302
|
+
syncScrollbarState();
|
|
261
303
|
};
|
|
262
304
|
let measureFrame;
|
|
263
305
|
const scheduleMeasure = () => {
|
|
@@ -293,20 +335,26 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
293
335
|
resize.observe(host);
|
|
294
336
|
resize.observe(container);
|
|
295
337
|
const visualViewport = window.visualViewport;
|
|
296
|
-
const
|
|
297
|
-
visualViewport?.addEventListener('resize',
|
|
298
|
-
|
|
338
|
+
const handleViewportChange = () => schedulePostAttachReflow();
|
|
339
|
+
visualViewport?.addEventListener('resize', handleViewportChange);
|
|
340
|
+
// iOS 在弹出键盘时可能先滚动 visual viewport,再触发 resize;两个事件都要处理,
|
|
341
|
+
// 否则页面被浏览器上移后,光标仍可能被键盘边缘遮住。
|
|
342
|
+
visualViewport?.addEventListener('scroll', handleViewportChange);
|
|
343
|
+
window.addEventListener('resize', handleViewportChange);
|
|
299
344
|
schedulePostAttachReflow();
|
|
300
345
|
return () => {
|
|
301
346
|
resize.disconnect();
|
|
302
|
-
visualViewport?.removeEventListener('resize',
|
|
303
|
-
|
|
347
|
+
visualViewport?.removeEventListener('resize', handleViewportChange);
|
|
348
|
+
visualViewport?.removeEventListener('scroll', handleViewportChange);
|
|
349
|
+
window.removeEventListener('resize', handleViewportChange);
|
|
304
350
|
if (measureFrame !== undefined)
|
|
305
351
|
window.cancelAnimationFrame(measureFrame);
|
|
306
352
|
if (reflowFrame !== undefined)
|
|
307
353
|
window.cancelAnimationFrame(reflowFrame);
|
|
308
354
|
if (reflowTimer !== undefined)
|
|
309
355
|
window.clearTimeout(reflowTimer);
|
|
356
|
+
if (scrollbarHideTimer !== undefined)
|
|
357
|
+
window.clearTimeout(scrollbarHideTimer);
|
|
310
358
|
scheduleReflowRef.current = null;
|
|
311
359
|
input.dispose();
|
|
312
360
|
scroll.dispose();
|
|
@@ -319,18 +367,33 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
319
367
|
terminal.dispose();
|
|
320
368
|
terminalRef.current = null;
|
|
321
369
|
fitRef.current = null;
|
|
370
|
+
host.style.height = '100%';
|
|
322
371
|
root.replaceChildren();
|
|
323
372
|
};
|
|
324
373
|
}, [hasTerminal, view]);
|
|
325
374
|
useEffect(() => {
|
|
375
|
+
const becameActive = active && !previousActiveRef.current;
|
|
376
|
+
previousActiveRef.current = active;
|
|
326
377
|
const terminal = terminalRef.current;
|
|
327
378
|
const host = hostRef.current;
|
|
328
379
|
if (terminal === null || host === null)
|
|
329
380
|
return;
|
|
330
381
|
applyAppearance(terminal, appearance, host, state.environment?.scrollback ?? 1000);
|
|
331
382
|
terminal.options.disableStdin = !state.writable;
|
|
383
|
+
// 聚合页切换到一个原本隐藏的终端时,虚拟键盘可能已经打开且不会再次派发
|
|
384
|
+
// visualViewport 事件;切换完成后立即按当前可视高度裁剪一次。
|
|
385
|
+
if (active)
|
|
386
|
+
syncTerminalViewport(host);
|
|
332
387
|
if (state.writable && host.clientWidth > 0 && host.clientHeight > 0) {
|
|
333
|
-
|
|
388
|
+
// 视图刚变为激活时把 tmux 窗口尺寸抢回本视图:Host 记录的尺寸可能已被其它
|
|
389
|
+
// 客户端或本视图更早的宽度改写,历史行会按旧宽度排版,内容超出容器被裁剪
|
|
390
|
+
// 或右侧留白。只在激活边沿触发(不响应 Host 尺寸变化本身),避免多个
|
|
391
|
+
// 客户端看到对方尺寸后互相夺回。
|
|
392
|
+
const now = Date.now();
|
|
393
|
+
const claim = becameActive && now - sizeClaimAtRef.current >= TERMINAL_SIZE_CLAIM_INTERVAL_MS;
|
|
394
|
+
if (claim)
|
|
395
|
+
sizeClaimAtRef.current = now;
|
|
396
|
+
fitTerminal(terminal, fitRef.current, view, claim ? { force: true } : undefined);
|
|
334
397
|
terminal.focus();
|
|
335
398
|
}
|
|
336
399
|
else if (state.info !== undefined) {
|
|
@@ -346,6 +409,29 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
346
409
|
themeRevision,
|
|
347
410
|
view,
|
|
348
411
|
]);
|
|
412
|
+
useEffect(() => {
|
|
413
|
+
if (!active || !hasTerminal)
|
|
414
|
+
return;
|
|
415
|
+
// 页面从后台回到前台(移动端切回、窗口重新聚焦)时,Host 尺寸可能已被其它
|
|
416
|
+
// 客户端改写;回到前台的视图重发一次自己的 fit 尺寸,把 tmux 抢回本视图。
|
|
417
|
+
const onVisibilityChange = () => {
|
|
418
|
+
if (document.visibilityState !== 'visible')
|
|
419
|
+
return;
|
|
420
|
+
const terminal = terminalRef.current;
|
|
421
|
+
const host = hostRef.current;
|
|
422
|
+
if (terminal === null || host === null)
|
|
423
|
+
return;
|
|
424
|
+
if (host.clientWidth === 0 || host.clientHeight === 0)
|
|
425
|
+
return;
|
|
426
|
+
const now = Date.now();
|
|
427
|
+
if (now - sizeClaimAtRef.current < TERMINAL_SIZE_CLAIM_INTERVAL_MS)
|
|
428
|
+
return;
|
|
429
|
+
sizeClaimAtRef.current = now;
|
|
430
|
+
fitTerminal(terminal, fitRef.current, view, { force: true });
|
|
431
|
+
};
|
|
432
|
+
document.addEventListener('visibilitychange', onVisibilityChange);
|
|
433
|
+
return () => document.removeEventListener('visibilitychange', onVisibilityChange);
|
|
434
|
+
}, [active, hasTerminal, view]);
|
|
349
435
|
useEffect(() => {
|
|
350
436
|
const terminal = terminalRef.current;
|
|
351
437
|
const host = hostRef.current;
|
|
@@ -369,9 +455,13 @@ export function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal
|
|
|
369
455
|
fitTerminal(terminal, fitRef.current, view);
|
|
370
456
|
scheduleReflowRef.current?.();
|
|
371
457
|
}
|
|
372
|
-
if (terminal.element !== undefined)
|
|
373
|
-
|
|
374
|
-
|
|
458
|
+
if (terminal.element !== undefined) {
|
|
459
|
+
const hasScrollback = terminal.buffer.active.baseY > 0;
|
|
460
|
+
terminal.element.dataset.codingnsScrollback = hasScrollback ? 'true' : 'false';
|
|
461
|
+
if (!hasScrollback)
|
|
462
|
+
terminal.element.dataset.codingnsScrollbar = 'hidden';
|
|
463
|
+
}
|
|
464
|
+
const viewport = terminal.element?.querySelector('.xterm-scrollable-element');
|
|
375
465
|
debugInfo('codingns4dsh: client terminal frame rendered', {
|
|
376
466
|
terminalId: view.id,
|
|
377
467
|
frameType: render.frame.type,
|
|
@@ -408,7 +498,9 @@ function TerminalStatus({ state, view, onNewTerminal, t, }) {
|
|
|
408
498
|
return createElement('div', { className: terminalClass.status, role: 'status' }, status, readOnly ? t('terminalView.readOnly') : null, retry ? createElement(Button, {
|
|
409
499
|
variant: 'outline',
|
|
410
500
|
size: 'sm',
|
|
411
|
-
|
|
501
|
+
// 状态条上的重试是用户显式要求的恢复动作,必须放弃可能已经变成僵尸的
|
|
502
|
+
// 保活连接;否则 refresh() 会直接复用旧 follow,按钮看起来没有反应。
|
|
503
|
+
onClick: () => { void view.refresh({ force: true }); },
|
|
412
504
|
}, state.phase === 'disconnected' ? t('terminalView.reconnect') : t('terminal.retry')) : null, lost ? createElement(Button, {
|
|
413
505
|
variant: 'outline',
|
|
414
506
|
size: 'sm',
|
|
@@ -489,7 +581,7 @@ function terminalTheme(appearance, computed) {
|
|
|
489
581
|
selectionInactiveBackground: foreground,
|
|
490
582
|
};
|
|
491
583
|
}
|
|
492
|
-
function fitTerminal(terminal, fit, view) {
|
|
584
|
+
function fitTerminal(terminal, fit, view, options) {
|
|
493
585
|
if (fit === null)
|
|
494
586
|
return;
|
|
495
587
|
const dimensions = resolveTerminalDimensions(terminal, fit);
|
|
@@ -501,30 +593,105 @@ function fitTerminal(terminal, fit, view) {
|
|
|
501
593
|
if (terminal.cols !== dimensions.cols || terminal.rows !== dimensions.rows) {
|
|
502
594
|
terminal.resize(dimensions.cols, dimensions.rows);
|
|
503
595
|
}
|
|
504
|
-
view.resize(terminal.cols, terminal.rows);
|
|
596
|
+
view.resize(terminal.cols, terminal.rows, options);
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* 让终端宿主节点的底边停在当前可视视口之内。
|
|
600
|
+
*
|
|
601
|
+
* 移动端软键盘出现时,布局视口通常仍保持原高度,只有 `visualViewport.height`
|
|
602
|
+
* 变小。只调用 FitAddon 不够,因为它读取到的父节点高度没有变化;这里按屏幕
|
|
603
|
+
* 实际可见底边收缩宿主,键盘收起后再恢复 `100%`。
|
|
604
|
+
*/
|
|
605
|
+
function syncTerminalViewport(host) {
|
|
606
|
+
const screen = host.parentElement;
|
|
607
|
+
if (screen === null)
|
|
608
|
+
return;
|
|
609
|
+
const hostRect = host.getBoundingClientRect();
|
|
610
|
+
const screenRect = screen.getBoundingClientRect();
|
|
611
|
+
if (screenRect.width <= 0 || screenRect.height <= 0 || hostRect.width <= 0)
|
|
612
|
+
return;
|
|
613
|
+
const screenStyle = getComputedStyle(screen);
|
|
614
|
+
const contentBottom = screenRect.bottom
|
|
615
|
+
- parseCssPixels(screenStyle.paddingBottom)
|
|
616
|
+
- parseCssPixels(screenStyle.borderBottomWidth);
|
|
617
|
+
const viewportHeight = window.visualViewport?.height ?? window.innerHeight;
|
|
618
|
+
if (!Number.isFinite(contentBottom) || !Number.isFinite(viewportHeight) || viewportHeight <= 0)
|
|
619
|
+
return;
|
|
620
|
+
const visibleBottom = Math.min(contentBottom, viewportHeight);
|
|
621
|
+
const normalHeight = Math.max(1, Math.floor(contentBottom - hostRect.top));
|
|
622
|
+
if (visibleBottom >= contentBottom - 1) {
|
|
623
|
+
if (host.style.height !== '100%')
|
|
624
|
+
host.style.height = '100%';
|
|
625
|
+
return;
|
|
626
|
+
}
|
|
627
|
+
// 留出 1px,避免浮点数和键盘动画期间的边界抖动把最后一行裁掉。
|
|
628
|
+
const visibleHeight = Math.max(1, Math.floor(visibleBottom - hostRect.top - 1));
|
|
629
|
+
const nextHeight = `${Math.min(normalHeight, visibleHeight)}px`;
|
|
630
|
+
if (host.style.height !== nextHeight)
|
|
631
|
+
host.style.height = nextHeight;
|
|
505
632
|
}
|
|
506
633
|
function resolveTerminalDimensions(terminal, fit) {
|
|
507
634
|
const fallback = fit.proposeDimensions();
|
|
508
635
|
const root = terminal.element;
|
|
509
636
|
if (root === undefined || root.clientWidth <= 0 || root.clientHeight <= 0)
|
|
510
637
|
return fallback;
|
|
511
|
-
const
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
638
|
+
const cell = resolveRendererCell(terminal);
|
|
639
|
+
if (cell === undefined) {
|
|
640
|
+
// 首帧还没有渲染器尺寸时只能使用 FitAddon 的结果;舍弃一列,
|
|
641
|
+
// 让宿主自身的左右内边距负责最后的可视安全区。
|
|
642
|
+
return fallback === undefined
|
|
643
|
+
? undefined
|
|
644
|
+
: { ...fallback, cols: Math.max(2, fallback.cols - 1) };
|
|
645
|
+
}
|
|
646
|
+
// 宿主元素(host)有 paddingLeft: 8, paddingRight: 8,但 root 是 terminal.element(.xterm),
|
|
647
|
+
// 它的 padding 为 0。由于此函数只接收 terminal 对象而不是 host,无法直接读取宿主 padding,
|
|
648
|
+
// 因此硬编码宿主 padding 值(与 terminalHostStyle 保持一致)。
|
|
649
|
+
const HOST_PADDING_LEFT = 8;
|
|
650
|
+
const HOST_PADDING_RIGHT = 8;
|
|
516
651
|
const computed = getComputedStyle(root);
|
|
517
|
-
const paddingX = parseCssPixels(computed.paddingLeft) + parseCssPixels(computed.paddingRight);
|
|
518
652
|
const paddingY = parseCssPixels(computed.paddingTop) + parseCssPixels(computed.paddingBottom);
|
|
519
|
-
|
|
653
|
+
// xterm 6 的滚动条是 xterm-scrollable-element 里的绝对定位节点。
|
|
654
|
+
// 不能用固定的 14px 或 root.clientWidth 猜它的槽位:父容器可能有小数宽度,
|
|
655
|
+
// 主题也可能改变滚动条宽度。直接以滚动条左边界作为文本的硬截止线,才能保证
|
|
656
|
+
// 列数和实际可见区域使用同一套坐标。
|
|
657
|
+
const rootRect = root.getBoundingClientRect();
|
|
658
|
+
const scrollable = root.querySelector('.xterm-scrollable-element');
|
|
659
|
+
const scrollbar = terminal.options.scrollback === 0
|
|
660
|
+
? undefined
|
|
661
|
+
: scrollable?.querySelector('.scrollbar.vertical');
|
|
662
|
+
const scrollbarRect = scrollbar?.getBoundingClientRect();
|
|
663
|
+
const scrollableRect = scrollable?.getBoundingClientRect();
|
|
664
|
+
// 宿主已经通过 border-box 保留左右 8px;滚动条槽位(宽度+右边距)由 xterm 管理。
|
|
665
|
+
// 计算文字可用宽度时,从容器右边界扣除滚动条占用空间和安全边距,确保文字不会
|
|
666
|
+
// 贴到滚动条或容器边缘。滚动条存在时优先以其左边界为截止线,避免文字与滚动条重叠。
|
|
667
|
+
const scrollbarInset = scrollbarRect !== undefined && scrollbarRect.width > 0
|
|
668
|
+
? Math.max(0, rootRect.right - scrollbarRect.left)
|
|
669
|
+
: 0;
|
|
670
|
+
const safeEdgeGap = Math.max(0, TERMINAL_CONTENT_EDGE_GAP - scrollbarInset);
|
|
671
|
+
// 从容器总宽度中扣除宿主 padding、滚动条槽位和右侧安全距离
|
|
672
|
+
const width = rootRect.width - HOST_PADDING_LEFT - HOST_PADDING_RIGHT - scrollbarInset - safeEdgeGap;
|
|
520
673
|
const height = root.clientHeight - paddingY;
|
|
521
|
-
if (
|
|
674
|
+
if (width <= 0 || height <= 0)
|
|
522
675
|
return fallback;
|
|
523
676
|
return {
|
|
524
|
-
cols: Math.max(2, Math.floor(width /
|
|
525
|
-
rows: Math.max(1, Math.floor(height /
|
|
677
|
+
cols: Math.max(2, Math.floor(width / cell.width)),
|
|
678
|
+
rows: Math.max(1, Math.floor(height / cell.height)),
|
|
526
679
|
};
|
|
527
680
|
}
|
|
681
|
+
/**
|
|
682
|
+
* 读取 xterm 渲染服务的单元格尺寸。`.xterm-char-measure-element` 会被 DOM renderer
|
|
683
|
+
* 的宽度缓存复用,其文本内容会随最近一次测量的字符变化(例如中文全角字符)。
|
|
684
|
+
* 用它除以 32 推算列宽会把列数按该字符宽度计算,宽字符时列数近乎减半,表现为
|
|
685
|
+
* 文本提前换行、右侧留出大片空白。这里改用官方 FitAddon 依赖的 renderService
|
|
686
|
+
* cell 尺寸(CharSizeService 固定按 32 个 'W' 测量),列宽不再受终端内容影响。
|
|
687
|
+
*/
|
|
688
|
+
function resolveRendererCell(terminal) {
|
|
689
|
+
const dimensions = terminal._core?._renderService?.dimensions;
|
|
690
|
+
const cell = dimensions?.css?.cell;
|
|
691
|
+
if (cell === undefined || !(cell.width > 0) || !(cell.height > 0))
|
|
692
|
+
return undefined;
|
|
693
|
+
return { width: cell.width, height: cell.height };
|
|
694
|
+
}
|
|
528
695
|
function parseCssPixels(value) {
|
|
529
696
|
const parsed = Number.parseFloat(value);
|
|
530
697
|
return Number.isFinite(parsed) ? parsed : 0;
|
|
@@ -548,27 +715,36 @@ function visibleColor(value, fallback) {
|
|
|
548
715
|
return normalized === '' || normalized === 'rgba(0, 0, 0, 0)' ? fallback : normalized;
|
|
549
716
|
}
|
|
550
717
|
const terminalHostStyle = {
|
|
718
|
+
boxSizing: 'border-box',
|
|
551
719
|
width: '100%',
|
|
552
720
|
height: '100%',
|
|
553
721
|
minWidth: 0,
|
|
554
722
|
minHeight: 0,
|
|
723
|
+
paddingLeft: 8,
|
|
724
|
+
paddingRight: 8,
|
|
555
725
|
color: 'var(--dsw-alias-label-primary)',
|
|
556
726
|
background: 'var(--dsw-alias-bg-base)',
|
|
557
727
|
};
|
|
558
728
|
const shadowCss = `${xtermCss}
|
|
559
729
|
:host{display:block;width:100%;height:100%;min-width:0;min-height:0;color:inherit;background:inherit}
|
|
560
|
-
.codingns-xterm{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
|
|
561
|
-
.xterm{width:100%;height:100%;min-width:0;min-height:0}
|
|
562
|
-
.xterm-scrollable-element{min-width:0;max-width:100%}
|
|
563
|
-
|
|
564
|
-
.xterm-viewport
|
|
565
|
-
.xterm-viewport::-webkit-scrollbar
|
|
566
|
-
.xterm-viewport::-webkit-scrollbar-
|
|
567
|
-
.xterm-viewport::-webkit-scrollbar-thumb
|
|
568
|
-
.xterm
|
|
569
|
-
.xterm
|
|
570
|
-
.xterm[data-codingns-
|
|
571
|
-
.xterm
|
|
730
|
+
.codingns-xterm{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
|
|
731
|
+
.xterm{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0}
|
|
732
|
+
.xterm-scrollable-element{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
|
|
733
|
+
/* xterm 6 已由 xterm-scrollable-element 接管滚动;隐藏兼容 viewport,避免产生第二个滚动条槽位。 */
|
|
734
|
+
.xterm-viewport{background:var(--dsw-alias-bg-base);touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:hidden;scrollbar-gutter:stable;scrollbar-width:none}
|
|
735
|
+
.xterm-viewport::-webkit-scrollbar{display:none}
|
|
736
|
+
.xterm-viewport::-webkit-scrollbar-track{display:none}
|
|
737
|
+
.xterm-viewport::-webkit-scrollbar-thumb{display:none}
|
|
738
|
+
.xterm-viewport::-webkit-scrollbar-thumb:hover{display:none}
|
|
739
|
+
.xterm .xterm-scrollable-element>.scrollbar.vertical{width:6px!important;right:2px!important;pointer-events:none!important;opacity:0!important;background:transparent!important;transition:opacity 180ms ease!important}
|
|
740
|
+
.xterm[data-codingns-scrollbar="visible"] .xterm-scrollable-element>.scrollbar.vertical{opacity:.7!important;pointer-events:auto!important}
|
|
741
|
+
.xterm .xterm-scrollable-element>.scrollbar.vertical>.slider{width:6px!important;left:0!important;min-height:24px;border-radius:999px;background:rgba(170,178,190,.72)!important;box-shadow:0 1px 4px rgba(0,0,0,.28);transition:background-color 180ms ease,box-shadow 180ms ease!important}
|
|
742
|
+
.xterm[data-codingns-scrollbar="visible"] .xterm-scrollable-element>.scrollbar.vertical>.slider:hover{background:rgba(224,229,237,.9)!important;box-shadow:0 1px 6px rgba(0,0,0,.4)}
|
|
572
743
|
.xterm .xterm-scrollable-element>.scrollbar.horizontal{display:none!important}
|
|
744
|
+
/* xterm 的字宽缓存会把单个字符重复 32 次测量宽度,Chrome 对连续的全角标点默认做
|
|
745
|
+
标点压缩(「。」从 13px 压到 6.72px),导致 letter-spacing 在每处标点被多补约
|
|
746
|
+
6.3px,行内标点密集时渲染内容向右累积溢出网格宽度,行尾一两个字被裁剪。
|
|
747
|
+
space-all 关闭标点压缩,让字宽测量与单字实际渲染一致,全角标点按两格渲染。 */
|
|
748
|
+
.xterm-width-cache-measure-container,.xterm-rows{text-spacing-trim:space-all}
|
|
573
749
|
`;
|
|
574
750
|
//# sourceMappingURL=xterm-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xterm-view.js","sourceRoot":"","sources":["../../../../../src/client/terminal/xterm-view.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xterm-view.js","sourceRoot":"","sources":["../../../../../src/client/terminal/xterm-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { VoicePcmFrame } from '../shared/contracts/voice-runtime.js';
|
|
2
|
+
import { BrowserVoiceDeviceManager } from './voice-device-manager.js';
|
|
3
|
+
export interface ClientVoiceCaptureOptions {
|
|
4
|
+
readonly devices: BrowserVoiceDeviceManager;
|
|
5
|
+
readonly onFrame: (frame: VoicePcmFrame) => void | Promise<void>;
|
|
6
|
+
readonly onEnded?: (error: Error) => void;
|
|
7
|
+
readonly targetSampleRate?: number;
|
|
8
|
+
}
|
|
9
|
+
/** 浏览器端实时 PCM 采集器;设备权限始终由 Client 自己持有。 */
|
|
10
|
+
export declare class ClientVoiceCapture {
|
|
11
|
+
private readonly options;
|
|
12
|
+
private stream;
|
|
13
|
+
private context;
|
|
14
|
+
private source;
|
|
15
|
+
private processor;
|
|
16
|
+
private output;
|
|
17
|
+
private workletUrl;
|
|
18
|
+
private sequence;
|
|
19
|
+
private started;
|
|
20
|
+
private inputRate;
|
|
21
|
+
constructor(options: ClientVoiceCaptureOptions);
|
|
22
|
+
get isStarted(): boolean;
|
|
23
|
+
start(): Promise<void>;
|
|
24
|
+
stop(): Promise<void>;
|
|
25
|
+
private startWorklet;
|
|
26
|
+
private startScriptProcessor;
|
|
27
|
+
private readonly handleEnded;
|
|
28
|
+
private emitSamples;
|
|
29
|
+
}
|
|
30
|
+
/** 无依赖的线性重采样,适合语音 16 kHz 采集;整段音频不会进入内存。 */
|
|
31
|
+
export declare function resampleFloat32ToPcm16(samples: Float32Array, inputRate: number, outputRate: number): Uint8Array;
|
|
32
|
+
//# sourceMappingURL=voice-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-capture.d.ts","sourceRoot":"","sources":["../../../../src/client/voice-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAMD,0CAA0C;AAC1C,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAoD;IACrE,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,yBAAyB;IAE9C,IAAI,SAAS,IAAI,OAAO,CAAwB;IAE1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBb,YAAY;IAmB1B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI3B;IAED,OAAO,CAAC,WAAW;CAOpB;AAED,2CAA2C;AAC3C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAe/G"}
|