@jingyi0605/codingns4dsh 0.2.0-rc.3 → 0.2.1-beta.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/README.en.md +6 -6
- package/README.md +42 -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 +3164 -181
- 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/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/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 +15 -0
- 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 +39 -9
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +39 -2
- package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.js +198 -10
- 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 +21 -0
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +173 -7
- package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -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 +4 -0
- 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.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 +9 -0
- package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/cursor-driver.js +72 -2
- package/data/build/dist/host/cli-adapters/cursor-driver.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 +18 -1
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -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 +4 -0
- package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js +4 -0
- 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/mcode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.js +2 -0
- 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/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 +15 -0
- package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/qoder-driver.js +171 -3
- 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 +14 -2
- package/data/build/dist/host/cli-adapters/standard-stream-driver.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 +28 -8
- package/data/build/dist/host/cli-bridge/injections.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 +2 -2
- package/data/build/dist/host/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +7 -1
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-panel.js","sourceRoot":"","sources":["../../../../../src/client/features/assistant-panel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { CodingNsClientFeatureModule } from './types.js';
|
|
3
|
+
import type { CodingNsClientServices } from './types.js';
|
|
4
|
+
/** Client 根级语音入口;使用 shell.overlay,绝不绑定当前 session。 */
|
|
5
|
+
export declare const globalVoiceAssistantFeature: CodingNsClientFeatureModule;
|
|
6
|
+
declare function GlobalVoiceOverlay({ services }: {
|
|
7
|
+
readonly services: CodingNsClientServices;
|
|
8
|
+
}): ReactElement;
|
|
9
|
+
export { GlobalVoiceOverlay };
|
|
10
|
+
//# sourceMappingURL=global-voice-assistant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-voice-assistant.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/global-voice-assistant.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAoBxD,qDAAqD;AACrD,eAAO,MAAM,2BAA2B,EAAE,2BAyCzC,CAAA;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAE,GAAG,YAAY,CA4PrG;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { createElement, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { DEFAULT_ASSISTANT_VOICE_SETTINGS } from '../../shared/contracts/config.js';
|
|
3
|
+
import { CODINGNS_RPC_CHANNEL } from '../../shared/contracts/transport.js';
|
|
4
|
+
import { useCodingNsTranslator } from '../locale.js';
|
|
5
|
+
import { AssistantPanel } from './assistant-panel.js';
|
|
6
|
+
import { ClientSherpaVoiceAdapter } from '../sherpa-voice-adapter.js';
|
|
7
|
+
import { inspectBrowserVoiceSecurity } from '../voice-security.js';
|
|
8
|
+
import { getGlobalVoiceAdapter, registerGlobalVoiceAdapter } from '../global-voice-runtime-registry.js';
|
|
9
|
+
import { VoiceInitializationDialog } from './voice-initialization-dialog.js';
|
|
10
|
+
import { VoiceConversationDialog } from './voice-conversation-dialog.js';
|
|
11
|
+
const GLOBAL_ASSISTANT_BUTTON_SIZE = 38;
|
|
12
|
+
/** Client 根级语音入口;使用 shell.overlay,绝不绑定当前 session。 */
|
|
13
|
+
export const globalVoiceAssistantFeature = {
|
|
14
|
+
descriptor: {
|
|
15
|
+
name: 'globalVoiceAssistant',
|
|
16
|
+
version: '0.1.0',
|
|
17
|
+
enabledByDefault: false,
|
|
18
|
+
dependencies: [],
|
|
19
|
+
runtime: 'client',
|
|
20
|
+
ui: {
|
|
21
|
+
label: 'Global smart assistant (Testing)',
|
|
22
|
+
description: 'Choose the workspaces that the global assistant may read and control.',
|
|
23
|
+
labelKey: 'feature.assistant.label',
|
|
24
|
+
descriptionKey: 'feature.assistant.description',
|
|
25
|
+
order: 30,
|
|
26
|
+
defaultOpen: false,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
start(context) {
|
|
30
|
+
const ui = context.services.uiContext;
|
|
31
|
+
if (ui === undefined)
|
|
32
|
+
return;
|
|
33
|
+
const actionOwnerId = createVoiceLeaseOwnerId();
|
|
34
|
+
const adapter = new ClientSherpaVoiceAdapter({ ownerId: actionOwnerId, services: context.services });
|
|
35
|
+
void context.services.rpc.call(CODINGNS_RPC_CHANNEL, 'assistant/voice/register-client', {
|
|
36
|
+
ownerId: actionOwnerId,
|
|
37
|
+
capabilities: adapter.capabilities,
|
|
38
|
+
secureContext: inspectBrowserVoiceSecurity().secure,
|
|
39
|
+
}).catch(() => undefined);
|
|
40
|
+
const disposeAdapter = registerGlobalVoiceAdapter(context.services, adapter);
|
|
41
|
+
context.resources.add(() => {
|
|
42
|
+
disposeAdapter();
|
|
43
|
+
adapter.dispose();
|
|
44
|
+
void context.services.rpc.call(CODINGNS_RPC_CHANNEL, 'assistant/voice/unregister-client', { ownerId: actionOwnerId }).catch(() => undefined);
|
|
45
|
+
});
|
|
46
|
+
const disposer = ui.slots.inject('shell.overlay', () => ui.slots.register({
|
|
47
|
+
name: 'shell.overlay',
|
|
48
|
+
id: 'codingns4dsh-global-voice-assistant',
|
|
49
|
+
order: 40,
|
|
50
|
+
inject: () => ({ services: context.services }),
|
|
51
|
+
}, GlobalVoiceOverlay));
|
|
52
|
+
context.resources.add(disposer);
|
|
53
|
+
},
|
|
54
|
+
settingsPanel: AssistantPanel,
|
|
55
|
+
};
|
|
56
|
+
function GlobalVoiceOverlay({ services }) {
|
|
57
|
+
const [snapshot, setSnapshot] = useState({ state: 'disabled' });
|
|
58
|
+
const [setupOpen, setSetupOpen] = useState(false);
|
|
59
|
+
const [conversationOpen, setConversationOpen] = useState(false);
|
|
60
|
+
const [conversationPending, setConversationPending] = useState(false);
|
|
61
|
+
const [partialText, setPartialText] = useState('');
|
|
62
|
+
const [transcript, setTranscript] = useState([]);
|
|
63
|
+
const [settingsValue, setSettingsValue] = useState(() => services.settings.getSnapshot().value);
|
|
64
|
+
const ownerIdRef = useRef(undefined);
|
|
65
|
+
const eventSequenceRef = useRef(0);
|
|
66
|
+
if (ownerIdRef.current === undefined)
|
|
67
|
+
ownerIdRef.current = createVoiceLeaseOwnerId();
|
|
68
|
+
const t = useCodingNsTranslator(services.locale);
|
|
69
|
+
const nativeAdapter = getGlobalVoiceAdapter(services);
|
|
70
|
+
const ownerId = nativeAdapter?.configuredOwnerId ?? ownerIdRef.current;
|
|
71
|
+
const browserVoiceSecurity = inspectBrowserVoiceSecurity();
|
|
72
|
+
const voiceSettings = settingsValue?.assistant?.voice ?? DEFAULT_ASSISTANT_VOICE_SETTINGS;
|
|
73
|
+
const needsSetup = !isVoiceSettingsReady(voiceSettings);
|
|
74
|
+
// 全局助理只使用 Sherpa-ONNX 流式模式;运行时不可用时明确显示错误。
|
|
75
|
+
const adapter = nativeAdapter?.capabilities.realtime === true
|
|
76
|
+
&& browserVoiceSecurity.secure
|
|
77
|
+
&& !needsSetup
|
|
78
|
+
&& voiceSettings.provider === 'sherpa-onnx'
|
|
79
|
+
? nativeAdapter
|
|
80
|
+
: undefined;
|
|
81
|
+
const realtimeUnavailableMessage = !browserVoiceSecurity.secure
|
|
82
|
+
? t('voice.secureContextRequired')
|
|
83
|
+
: nativeAdapter?.capabilities.realtime !== true
|
|
84
|
+
? t('voice.dialog.unavailable')
|
|
85
|
+
: voiceSettings.provider !== 'sherpa-onnx'
|
|
86
|
+
? t('voice.dialog.unavailable')
|
|
87
|
+
: undefined;
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
const refresh = () => setSettingsValue(services.settings.getSnapshot().value);
|
|
90
|
+
refresh();
|
|
91
|
+
return services.settings.subscribe(refresh);
|
|
92
|
+
}, [services.settings]);
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
if (adapter !== undefined) {
|
|
95
|
+
setSnapshot({ state: 'disabled', active: false });
|
|
96
|
+
const unsubscribe = adapter.subscribe((event) => {
|
|
97
|
+
if (event.type === 'state' || event.type === 'wake' || event.type === 'barge-in' || event.type === 'error') {
|
|
98
|
+
void services.rpc.call(CODINGNS_RPC_CHANNEL, 'assistant/voice/event', { ownerId, event, sequence: ++eventSequenceRef.current }).catch(() => undefined);
|
|
99
|
+
}
|
|
100
|
+
if (event.type === 'partial')
|
|
101
|
+
setPartialText(event.text);
|
|
102
|
+
else if (event.type === 'final' && event.text.trim() !== '') {
|
|
103
|
+
setTranscript((previous) => [...previous, event.text.trim()]);
|
|
104
|
+
setPartialText('');
|
|
105
|
+
}
|
|
106
|
+
if (event.type === 'state')
|
|
107
|
+
setSnapshot({ state: event.state, active: event.state !== 'disabled', ownerId });
|
|
108
|
+
else if (event.type === 'barge-in')
|
|
109
|
+
setSnapshot({ state: 'interrupted', active: true, ownerId });
|
|
110
|
+
else if (event.type === 'error') {
|
|
111
|
+
const message = event.code === 'voice_empty_transcript'
|
|
112
|
+
? t('voice.emptyTranscript')
|
|
113
|
+
: event.code === 'voice_invalid_transcript'
|
|
114
|
+
? t('voice.invalidTranscript')
|
|
115
|
+
: event.message;
|
|
116
|
+
setSnapshot({ state: 'error', active: true, ownerId, message });
|
|
117
|
+
if (!event.recoverable) {
|
|
118
|
+
void adapter.stop().catch(() => undefined);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
const onPageHide = () => {
|
|
123
|
+
void adapter.stop().catch(() => undefined);
|
|
124
|
+
};
|
|
125
|
+
if (typeof window !== 'undefined')
|
|
126
|
+
window.addEventListener('pagehide', onPageHide);
|
|
127
|
+
return () => {
|
|
128
|
+
unsubscribe();
|
|
129
|
+
if (typeof window !== 'undefined')
|
|
130
|
+
window.removeEventListener('pagehide', onPageHide);
|
|
131
|
+
void adapter.stop().catch(() => undefined);
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
setSnapshot({
|
|
135
|
+
state: 'error',
|
|
136
|
+
active: false,
|
|
137
|
+
ownerId,
|
|
138
|
+
...(realtimeUnavailableMessage === undefined ? {} : { message: realtimeUnavailableMessage }),
|
|
139
|
+
});
|
|
140
|
+
return undefined;
|
|
141
|
+
}, [adapter, ownerId, realtimeUnavailableMessage, services, t]);
|
|
142
|
+
useEffect(() => {
|
|
143
|
+
if (adapter === undefined)
|
|
144
|
+
return undefined;
|
|
145
|
+
const timer = setInterval(() => {
|
|
146
|
+
if (adapter.ownerId === undefined)
|
|
147
|
+
return;
|
|
148
|
+
void services.rpc.call(CODINGNS_RPC_CHANNEL, 'assistant/voice/heartbeat', { ownerId }).catch(() => undefined);
|
|
149
|
+
}, 10_000);
|
|
150
|
+
return () => clearInterval(timer);
|
|
151
|
+
}, [adapter, ownerId, services]);
|
|
152
|
+
const startConversation = async () => {
|
|
153
|
+
if (conversationPending || snapshot.active === true)
|
|
154
|
+
return;
|
|
155
|
+
setConversationPending(true);
|
|
156
|
+
setPartialText('');
|
|
157
|
+
setSnapshot((previous) => ({ ...previous, state: 'loading', active: false, ownerId }));
|
|
158
|
+
try {
|
|
159
|
+
if (adapter === undefined)
|
|
160
|
+
throw new Error(realtimeUnavailableMessage ?? t('voice.dialog.unavailable'));
|
|
161
|
+
await adapter.start(ownerId);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
setSnapshot({ state: 'error', active: false, ownerId, message: error instanceof Error ? error.message : String(error) });
|
|
165
|
+
}
|
|
166
|
+
finally {
|
|
167
|
+
setConversationPending(false);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
const stopConversation = async () => {
|
|
171
|
+
if (!conversationPending && snapshot.active !== true)
|
|
172
|
+
return;
|
|
173
|
+
setConversationPending(true);
|
|
174
|
+
try {
|
|
175
|
+
if (adapter !== undefined)
|
|
176
|
+
await adapter.stop();
|
|
177
|
+
setPartialText('');
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
setSnapshot({ state: 'error', active: false, ownerId, message: error instanceof Error ? error.message : String(error) });
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
setConversationPending(false);
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
const closeConversation = () => {
|
|
187
|
+
if (snapshot.active === true) {
|
|
188
|
+
void stopConversation().finally(() => setConversationOpen(false));
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
setConversationOpen(false);
|
|
192
|
+
};
|
|
193
|
+
const openConversation = () => {
|
|
194
|
+
if (needsSetup) {
|
|
195
|
+
setSetupOpen(true);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
setConversationOpen(true);
|
|
199
|
+
};
|
|
200
|
+
useEffect(() => {
|
|
201
|
+
const doc = typeof document === 'undefined' ? undefined : document;
|
|
202
|
+
if (doc === undefined)
|
|
203
|
+
return undefined;
|
|
204
|
+
const assistantButtonSize = `${GLOBAL_ASSISTANT_BUTTON_SIZE}px`;
|
|
205
|
+
let mountedNative;
|
|
206
|
+
let mountedRow;
|
|
207
|
+
let mountedParent;
|
|
208
|
+
let mountedNextSibling;
|
|
209
|
+
let mountedNativeInlineStyle;
|
|
210
|
+
const mount = () => {
|
|
211
|
+
const buttons = [...doc.querySelectorAll('button')];
|
|
212
|
+
const native = buttons.find((candidate) => {
|
|
213
|
+
const classes = typeof candidate.className === 'string' ? candidate.className.split(/\s+/u) : [];
|
|
214
|
+
return classes.some((name) => name.endsWith('_newSession'));
|
|
215
|
+
}) ?? buttons.find((candidate) => {
|
|
216
|
+
const aria = candidate.getAttribute('aria-label') ?? '';
|
|
217
|
+
return /新建会话|新建对话|new session|new conversation/iu.test(aria);
|
|
218
|
+
});
|
|
219
|
+
if (native === undefined || native.parentElement === null || native.parentElement.querySelector('[data-codingns-global-voice-button]') !== null)
|
|
220
|
+
return;
|
|
221
|
+
const button = doc.createElement('button');
|
|
222
|
+
button.type = 'button';
|
|
223
|
+
button.setAttribute('data-codingns-global-voice-button', 'true');
|
|
224
|
+
const label = needsSetup ? t('voice.setup.open') : t('voice.globalAssistant');
|
|
225
|
+
button.setAttribute('aria-label', label);
|
|
226
|
+
button.setAttribute('aria-description', [t('voice.microphoneNotice'), t('voice.audioNotice'), snapshot.message].filter(Boolean).join(' '));
|
|
227
|
+
button.setAttribute('aria-haspopup', 'dialog');
|
|
228
|
+
button.setAttribute('aria-expanded', String(conversationOpen || setupOpen));
|
|
229
|
+
button.setAttribute('data-codingns-voice-state', snapshot.state ?? 'disabled');
|
|
230
|
+
button.title = label;
|
|
231
|
+
button.innerHTML = '<svg aria-hidden="true" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m12 2 1.45 5.55L19 9l-5.55 1.45L12 16l-1.45-5.55L5 9l5.55-1.45L12 2Z"/><path d="m5 15 .7 2.3L8 18l-2.3.7L5 21l-.7-2.3L2 18l2.3-.7L5 15Z"/><path d="m19 14 .45 1.55L21 16l-1.55.45L19 18l-.45-1.55L17 16l1.55-.45L19 14Z"/></svg>';
|
|
232
|
+
button.style.cssText = `display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;cursor:pointer;background:var(--ds-color-fill-tertiary,rgba(127,127,127,.12));flex:0 1 ${assistantButtonSize};min-width:${assistantButtonSize};width:${assistantButtonSize};max-width:${assistantButtonSize};height:${assistantButtonSize};aspect-ratio:1 / 1;box-sizing:border-box;white-space:nowrap;margin:0`;
|
|
233
|
+
button.addEventListener('click', openConversation);
|
|
234
|
+
const parent = native.parentElement;
|
|
235
|
+
const row = doc.createElement('div');
|
|
236
|
+
row.setAttribute('data-codingns-global-voice-row', 'true');
|
|
237
|
+
row.style.cssText = 'display:flex;flex:0 1 auto;flex-flow:row nowrap;align-items:center;gap:4px;min-width:0;width:calc(100% - 4px);max-width:100%;box-sizing:border-box;overflow:hidden;margin:0 2px 12px';
|
|
238
|
+
mountedNative = native;
|
|
239
|
+
mountedRow = row;
|
|
240
|
+
mountedParent = parent;
|
|
241
|
+
mountedNextSibling = native.nextSibling;
|
|
242
|
+
mountedNativeInlineStyle = {
|
|
243
|
+
flex: native.style.flex,
|
|
244
|
+
minWidth: native.style.minWidth,
|
|
245
|
+
width: native.style.width,
|
|
246
|
+
maxWidth: native.style.maxWidth,
|
|
247
|
+
boxSizing: native.style.boxSizing,
|
|
248
|
+
whiteSpace: native.style.whiteSpace,
|
|
249
|
+
margin: native.style.margin,
|
|
250
|
+
};
|
|
251
|
+
parent.insertBefore(row, native);
|
|
252
|
+
row.append(native, button);
|
|
253
|
+
native.style.flex = '1 1 auto';
|
|
254
|
+
native.style.minWidth = '0';
|
|
255
|
+
native.style.width = 'auto';
|
|
256
|
+
native.style.maxWidth = '100%';
|
|
257
|
+
native.style.boxSizing = 'border-box';
|
|
258
|
+
native.style.whiteSpace = 'nowrap';
|
|
259
|
+
native.style.margin = '0';
|
|
260
|
+
button.style.flex = `0 1 ${assistantButtonSize}`;
|
|
261
|
+
button.style.width = assistantButtonSize;
|
|
262
|
+
button.style.minWidth = assistantButtonSize;
|
|
263
|
+
button.style.maxWidth = assistantButtonSize;
|
|
264
|
+
button.style.height = assistantButtonSize;
|
|
265
|
+
};
|
|
266
|
+
mount();
|
|
267
|
+
const observer = typeof MutationObserver === 'undefined' ? undefined : new MutationObserver(mount);
|
|
268
|
+
observer?.observe(doc.body ?? doc.documentElement, { childList: true, subtree: true });
|
|
269
|
+
return () => {
|
|
270
|
+
observer?.disconnect();
|
|
271
|
+
if (mountedNative !== undefined && mountedNativeInlineStyle !== undefined) {
|
|
272
|
+
mountedNative.style.flex = mountedNativeInlineStyle.flex;
|
|
273
|
+
mountedNative.style.minWidth = mountedNativeInlineStyle.minWidth;
|
|
274
|
+
mountedNative.style.width = mountedNativeInlineStyle.width;
|
|
275
|
+
mountedNative.style.maxWidth = mountedNativeInlineStyle.maxWidth;
|
|
276
|
+
mountedNative.style.boxSizing = mountedNativeInlineStyle.boxSizing;
|
|
277
|
+
mountedNative.style.whiteSpace = mountedNativeInlineStyle.whiteSpace;
|
|
278
|
+
mountedNative.style.margin = mountedNativeInlineStyle.margin;
|
|
279
|
+
}
|
|
280
|
+
if (mountedNative !== undefined && mountedParent !== undefined && mountedParent.isConnected) {
|
|
281
|
+
if (mountedNextSibling !== null && mountedNextSibling !== undefined && mountedNextSibling.parentNode === mountedParent)
|
|
282
|
+
mountedParent.insertBefore(mountedNative, mountedNextSibling);
|
|
283
|
+
else
|
|
284
|
+
mountedParent.appendChild(mountedNative);
|
|
285
|
+
}
|
|
286
|
+
mountedRow?.remove();
|
|
287
|
+
doc.querySelectorAll('[data-codingns-global-voice-button]').forEach((node) => node.remove());
|
|
288
|
+
};
|
|
289
|
+
}, [adapter, conversationOpen, needsSetup, openConversation, setSetupOpen, setupOpen, snapshot.state, t]);
|
|
290
|
+
return createElement('span', { 'data-codingns-global-voice': 'true', ...(setupOpen || conversationOpen ? {} : { 'aria-hidden': 'true' }) }, setupOpen ? createElement(VoiceInitializationDialog, {
|
|
291
|
+
services,
|
|
292
|
+
value: voiceSettings,
|
|
293
|
+
onClose: () => setSetupOpen(false),
|
|
294
|
+
}) : conversationOpen ? createElement(VoiceConversationDialog, {
|
|
295
|
+
t,
|
|
296
|
+
active: snapshot.active === true,
|
|
297
|
+
pending: conversationPending,
|
|
298
|
+
state: snapshot.state,
|
|
299
|
+
message: snapshot.message,
|
|
300
|
+
partialText,
|
|
301
|
+
transcript,
|
|
302
|
+
realtimeAvailable: adapter !== undefined,
|
|
303
|
+
unavailableMessage: realtimeUnavailableMessage,
|
|
304
|
+
onStart: () => { void startConversation(); },
|
|
305
|
+
onStop: () => { void stopConversation(); },
|
|
306
|
+
onClose: closeConversation,
|
|
307
|
+
onClear: () => { setTranscript([]); setPartialText(''); },
|
|
308
|
+
}) : null);
|
|
309
|
+
}
|
|
310
|
+
export { GlobalVoiceOverlay };
|
|
311
|
+
function createVoiceLeaseOwnerId() {
|
|
312
|
+
try {
|
|
313
|
+
const randomUUID = globalThis.crypto?.randomUUID;
|
|
314
|
+
if (typeof randomUUID === 'function')
|
|
315
|
+
return `codingns4dsh:global-voice:${randomUUID.call(globalThis.crypto)}`;
|
|
316
|
+
}
|
|
317
|
+
catch {
|
|
318
|
+
// 某些旧浏览器暴露 crypto 但禁用 randomUUID,继续使用随机后缀。
|
|
319
|
+
}
|
|
320
|
+
return `codingns4dsh:global-voice:${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
|
321
|
+
}
|
|
322
|
+
function isVoiceSettingsReady(settings) {
|
|
323
|
+
if (!settings.initialized || settings.provider !== 'sherpa-onnx')
|
|
324
|
+
return false;
|
|
325
|
+
return settings.asrEncoder.trim() !== ''
|
|
326
|
+
&& settings.asrDecoder.trim() !== ''
|
|
327
|
+
&& settings.asrJoiner.trim() !== ''
|
|
328
|
+
&& settings.asrTokens.trim() !== '';
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=global-voice-assistant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-voice-assistant.js","sourceRoot":"","sources":["../../../../../src/client/features/global-voice-assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@ export interface CodingNsSettingsModule {
|
|
|
26
26
|
*/
|
|
27
27
|
export declare function settingsModules(registry: FeatureRegistry<CodingNsClientServices, CodingNsClientFeatureModule>): readonly CodingNsSettingsModule[];
|
|
28
28
|
export { lanAccessFeature, loginProtectionFeature, reverseProxyFeature, cliAdaptersFeature, workspaceSessionEnhancementFeature, mobileAccessFeature, terminalEnhancementFeature, debugFeature, gitManagementFeature, fileManagementFeature, peerHostFeature };
|
|
29
|
+
export { globalVoiceAssistantFeature } from './global-voice-assistant.js';
|
|
30
|
+
export { ClientSherpaVoiceAdapter } from '../sherpa-voice-adapter.js';
|
|
29
31
|
export { createPeerHostPageTransport, installPeerHostConnectionRouting } from './peer-host.js';
|
|
30
32
|
export { startBrowserRelayConnection } from './reverse-proxy.js';
|
|
31
33
|
export { LanAccessPanel } from './lan-access-panel.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAErF,8CAA8C;AAC9C,eAAO,MAAM,eAAe,EAAE,SAAS,2BAA2B,EAajE,CAAA;AAED,yBAAyB;AACzB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAA;IAC5C,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAA;CACjC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,GAC7E,SAAS,sBAAsB,EAAE,CAUnC;AAED,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAA;AAC7P,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AAC9F,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACnI,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAA;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAA;AAC/E,YAAY,EACV,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAA"}
|
|
@@ -9,6 +9,7 @@ import { debugFeature } from './debug.js';
|
|
|
9
9
|
import { gitManagementFeature } from '../git-management.js';
|
|
10
10
|
import { fileManagementFeature } from './file-management.js';
|
|
11
11
|
import { peerHostFeature } from './peer-host.js';
|
|
12
|
+
import { globalVoiceAssistantFeature } from './global-voice-assistant.js';
|
|
12
13
|
/** Client 侧功能模块清单:新增模块在这里登记一行,不需要改动设置页和入口。 */
|
|
13
14
|
export const CLIENT_FEATURES = [
|
|
14
15
|
lanAccessFeature,
|
|
@@ -22,6 +23,7 @@ export const CLIENT_FEATURES = [
|
|
|
22
23
|
gitManagementFeature,
|
|
23
24
|
fileManagementFeature,
|
|
24
25
|
peerHostFeature,
|
|
26
|
+
globalVoiceAssistantFeature,
|
|
25
27
|
];
|
|
26
28
|
/**
|
|
27
29
|
* 汇总需要在设置页显示的模块,按 ui.order 升序。
|
|
@@ -42,6 +44,8 @@ export function settingsModules(registry) {
|
|
|
42
44
|
return entries;
|
|
43
45
|
}
|
|
44
46
|
export { lanAccessFeature, loginProtectionFeature, reverseProxyFeature, cliAdaptersFeature, workspaceSessionEnhancementFeature, mobileAccessFeature, terminalEnhancementFeature, debugFeature, gitManagementFeature, fileManagementFeature, peerHostFeature };
|
|
47
|
+
export { globalVoiceAssistantFeature } from './global-voice-assistant.js';
|
|
48
|
+
export { ClientSherpaVoiceAdapter } from '../sherpa-voice-adapter.js';
|
|
45
49
|
export { createPeerHostPageTransport, installPeerHostConnectionRouting } from './peer-host.js';
|
|
46
50
|
export { startBrowserRelayConnection } from './reverse-proxy.js';
|
|
47
51
|
export { LanAccessPanel } from './lan-access-panel.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/features/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/features/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lan-access.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/lan-access.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"lan-access.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/lan-access.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,2BA8C9B,CAAA"}
|
|
@@ -33,7 +33,9 @@ export const lanAccessFeature = {
|
|
|
33
33
|
let prompt;
|
|
34
34
|
// 局域网入口在手机浏览器中复用 DSH 原生会话列表;交互修正控制器自身
|
|
35
35
|
// 按窄屏和触摸能力门禁,桌面端不会注册全局监听。
|
|
36
|
-
const mobileSessionInteraction = startMobileSessionInteractionDom(
|
|
36
|
+
const mobileSessionInteraction = startMobileSessionInteractionDom({
|
|
37
|
+
sidebarRight: context.services.sidebarRight,
|
|
38
|
+
});
|
|
37
39
|
const sync = () => {
|
|
38
40
|
const pwa = context.services.settings.getSnapshot().value?.lanAccessDsh.pwa ?? DEFAULT_LAN_ACCESS_DSH_PWA_SETTINGS;
|
|
39
41
|
if (!pwa.enabled || !pwa.installPrompt) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lan-access.js","sourceRoot":"","sources":["../../../../../src/client/features/lan-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAmC,MAAM,0BAA0B,CAAA;AACjG,OAAO,EAAE,gCAAgC,EAA2C,MAAM,kCAAkC,CAAA;AAC5H,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,UAAU,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,QAAQ;QACjB,EAAE,EAAE;YACF,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,2HAA2H;YACxI,QAAQ,EAAE,yBAAyB;YACnC,cAAc,EAAE,+BAA+B;YAC/C,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,IAAI;SACpB;KACF;IACD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,sBAAsB,EAAE,CAAA;QACxB,IAAI,MAA8C,CAAA;QAClD,sCAAsC;QACtC,0BAA0B;QAC1B,MAAM,wBAAwB,GAAuC,gCAAgC,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"lan-access.js","sourceRoot":"","sources":["../../../../../src/client/features/lan-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAmC,MAAM,0BAA0B,CAAA;AACjG,OAAO,EAAE,gCAAgC,EAA2C,MAAM,kCAAkC,CAAA;AAC5H,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,UAAU,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,QAAQ;QACjB,EAAE,EAAE;YACF,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,2HAA2H;YACxI,QAAQ,EAAE,yBAAyB;YACnC,cAAc,EAAE,+BAA+B;YAC/C,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,IAAI;SACpB;KACF;IACD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,sBAAsB,EAAE,CAAA;QACxB,IAAI,MAA8C,CAAA;QAClD,sCAAsC;QACtC,0BAA0B;QAC1B,MAAM,wBAAwB,GAAuC,gCAAgC,CAAC;YACpG,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;SAC5C,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,IAAI,mCAAmC,CAAA;YAClH,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACvC,MAAM,EAAE,OAAO,EAAE,CAAA;gBACjB,MAAM,GAAG,SAAS,CAAA;gBAClB,OAAM;YACR,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBACnE,OAAM;YACR,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC,CAAA;QACD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;YACzB,MAAM,EAAE,OAAO,EAAE,CAAA;YACjB,MAAM,GAAG,SAAS,CAAA;YAClB,wBAAwB,CAAC,OAAO,EAAE,CAAA;QACpC,CAAC,CAAC,CAAA;QACF,IAAI,EAAE,CAAA;IACR,CAAC;IACD,aAAa,EAAE,cAAc;CAC9B,CAAA"}
|
|
@@ -50,10 +50,13 @@ export interface CodingNsClientServices {
|
|
|
50
50
|
readonly layout?: {
|
|
51
51
|
toggleSidebar(): void;
|
|
52
52
|
};
|
|
53
|
-
/** DSH
|
|
53
|
+
/** DSH 右侧栏服务;手势用它读取状态并开合右栏,移动端会话切换监听 mounted。 */
|
|
54
54
|
readonly sidebarRight?: {
|
|
55
55
|
isExpanded(): boolean;
|
|
56
56
|
toggleExpanded(): void;
|
|
57
|
+
mounted?: {
|
|
58
|
+
subscribe(listener: () => void): () => void;
|
|
59
|
+
};
|
|
57
60
|
};
|
|
58
61
|
/** 通知与推送客户端;局域网 PWA 面板用它请求权限、订阅与注销 Service Worker。 */
|
|
59
62
|
readonly notifications?: PwaNotificationClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AAC/G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAE/F,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC5G;AAED,oCAAoC;AACpC,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IAC1D,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,sDAAsD;IACtD,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAA;IACnD,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAA;IACvC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,aAAa,IAAI,IAAI,CAAA;KAAE,CAAA;IAC3C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { CodingNsTranslator } from '../locale.js';
|
|
3
|
+
export interface VoiceConversationDialogProps {
|
|
4
|
+
readonly t: CodingNsTranslator;
|
|
5
|
+
readonly active: boolean;
|
|
6
|
+
readonly pending: boolean;
|
|
7
|
+
readonly state?: string | undefined;
|
|
8
|
+
readonly message?: string | undefined;
|
|
9
|
+
readonly partialText: string;
|
|
10
|
+
readonly transcript: readonly string[];
|
|
11
|
+
readonly realtimeAvailable: boolean;
|
|
12
|
+
readonly unavailableMessage?: string | undefined;
|
|
13
|
+
readonly onStart: () => void;
|
|
14
|
+
readonly onStop: () => void;
|
|
15
|
+
readonly onClose: () => void;
|
|
16
|
+
readonly onClear: () => void;
|
|
17
|
+
}
|
|
18
|
+
/** 全局语音助理独立对话窗口;打开窗口不会自动申请麦克风。 */
|
|
19
|
+
export declare function VoiceConversationDialog({ t, active, pending, state, message, partialText, transcript, realtimeAvailable, unavailableMessage, onStart, onStop, onClose, onClear, }: VoiceConversationDialogProps): ReactElement;
|
|
20
|
+
//# sourceMappingURL=voice-conversation-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-conversation-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/client/features/voice-conversation-dialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAGtD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED,kCAAkC;AAClC,wBAAgB,uBAAuB,CAAC,EACtC,CAAC,EACD,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,4BAA4B,GAAG,YAAY,CAoE7C"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { createElement, useEffect, useRef } from 'react';
|
|
2
|
+
import { dshSettingsButtonStyle, dshSettingsHelpStyle, dshSettingsPrimaryButtonStyle, dshThemeColor } from '../theme.js';
|
|
3
|
+
/** 全局语音助理独立对话窗口;打开窗口不会自动申请麦克风。 */
|
|
4
|
+
export function VoiceConversationDialog({ t, active, pending, state, message, partialText, transcript, realtimeAvailable, unavailableMessage, onStart, onStop, onClose, onClear, }) {
|
|
5
|
+
const status = statusLabel(t, state, active);
|
|
6
|
+
const canStart = !active && !pending;
|
|
7
|
+
const transcriptRef = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const element = transcriptRef.current;
|
|
10
|
+
if (element !== null)
|
|
11
|
+
element.scrollTop = element.scrollHeight;
|
|
12
|
+
}, [partialText, transcript.length]);
|
|
13
|
+
return createElement('div', {
|
|
14
|
+
role: 'presentation',
|
|
15
|
+
onPointerDown: () => { if (!pending)
|
|
16
|
+
onClose(); },
|
|
17
|
+
style: {
|
|
18
|
+
position: 'fixed', inset: 0, zIndex: 10000, display: 'flex', alignItems: 'center', justifyContent: 'center',
|
|
19
|
+
padding: 16, background: dshThemeColor.overlay, boxSizing: 'border-box',
|
|
20
|
+
},
|
|
21
|
+
}, createElement('div', {
|
|
22
|
+
role: 'dialog',
|
|
23
|
+
'aria-modal': true,
|
|
24
|
+
'aria-label': t('voice.dialog.title'),
|
|
25
|
+
onPointerDown: (event) => event.stopPropagation(),
|
|
26
|
+
style: {
|
|
27
|
+
display: 'flex', flexDirection: 'column', gap: 14, width: 'min(620px, 100%)', maxHeight: 'min(700px, 100%)',
|
|
28
|
+
overflowY: 'auto', padding: 24, color: dshThemeColor.labelPrimary, background: dshThemeColor.menuBackground,
|
|
29
|
+
border: `1px solid ${dshThemeColor.border}`, borderRadius: 12, boxShadow: dshThemeColor.prominentShadow,
|
|
30
|
+
boxSizing: 'border-box',
|
|
31
|
+
},
|
|
32
|
+
}, createElement('div', { style: { display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between', gap: 16 } }, createElement('div', { style: { display: 'grid', gap: 6, minWidth: 0 } }, createElement('strong', { style: { fontSize: 18, lineHeight: 1.4 } }, t('voice.dialog.title')), createElement('span', { style: dshSettingsHelpStyle }, t('voice.dialog.description'))), createElement('span', { role: 'status', style: { flex: '0 0 auto', color: active ? dshThemeColor.success : dshThemeColor.labelSecondary, fontSize: 12 } }, status)), createElement('div', { style: { padding: '10px 12px', borderRadius: 8, background: dshThemeColor.surfaceSubtle, color: dshThemeColor.labelSecondary, fontSize: 12, lineHeight: 1.5 } }, realtimeAvailable ? t('voice.dialog.realtimeHint') : unavailableMessage ?? t('voice.dialog.unavailable')), createElement('div', {
|
|
33
|
+
'aria-live': 'polite',
|
|
34
|
+
ref: transcriptRef,
|
|
35
|
+
style: {
|
|
36
|
+
display: 'flex', flexDirection: 'column', gap: 8, minHeight: 180, maxHeight: 340, overflowY: 'auto',
|
|
37
|
+
padding: 14, border: `1px solid ${dshThemeColor.border}`, borderRadius: 8, background: dshThemeColor.inputBackground,
|
|
38
|
+
boxSizing: 'border-box',
|
|
39
|
+
},
|
|
40
|
+
}, createElement('div', { style: { color: dshThemeColor.labelTertiary, fontSize: 12, fontWeight: 600 } }, t('voice.dialog.liveText')), transcript.length === 0 && partialText === ''
|
|
41
|
+
? createElement('div', { style: { color: dshThemeColor.labelTertiary, fontSize: 14, lineHeight: 1.6 } }, t('voice.dialog.empty'))
|
|
42
|
+
: null, ...transcript.map((text, index) => createElement('div', { key: `${index}-${text}`, style: { color: dshThemeColor.labelPrimary, fontSize: 15, lineHeight: 1.65 } }, text)), partialText === '' ? null : createElement('div', { style: { color: dshThemeColor.accent, fontSize: 15, lineHeight: 1.65 } }, partialText)), message === undefined || message === '' || state !== 'error'
|
|
43
|
+
? null
|
|
44
|
+
: createElement('div', { role: 'alert', style: { color: dshThemeColor.error, fontSize: 13, lineHeight: 1.5 } }, message), createElement('div', { style: { display: 'flex', justifyContent: 'space-between', gap: 8, paddingTop: 3 } }, createElement('button', { type: 'button', disabled: transcript.length === 0 && partialText === '', onClick: onClear, style: dshSettingsButtonStyle }, t('voice.dialog.clear')), createElement('div', { style: { display: 'flex', justifyContent: 'flex-end', gap: 8 } }, createElement('button', { type: 'button', disabled: pending, onClick: onClose, style: dshSettingsButtonStyle }, t('voice.dialog.close')), active
|
|
45
|
+
? createElement('button', { type: 'button', onClick: onStop, style: dshSettingsButtonStyle }, t('voice.dialog.stop'))
|
|
46
|
+
: createElement('button', { type: 'button', disabled: !canStart || !realtimeAvailable, onClick: onStart, style: dshSettingsPrimaryButtonStyle }, t('voice.dialog.start'))))));
|
|
47
|
+
}
|
|
48
|
+
function statusLabel(t, state, active) {
|
|
49
|
+
if (state === 'loading')
|
|
50
|
+
return t('voice.dialog.status.loading');
|
|
51
|
+
if (state === 'listening')
|
|
52
|
+
return t('voice.dialog.status.listening');
|
|
53
|
+
if (state === 'recording')
|
|
54
|
+
return t('voice.dialog.status.recording');
|
|
55
|
+
if (state === 'error')
|
|
56
|
+
return t('voice.dialog.status.error');
|
|
57
|
+
return active ? t('voice.dialog.status.active') : t('voice.dialog.status.idle');
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=voice-conversation-dialog.js.map
|