@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-session-interaction.js","sourceRoot":"","sources":["../../../../src/client/mobile-session-interaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mobile-session-interaction.js","sourceRoot":"","sources":["../../../../src/client/mobile-session-interaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import type { CodingNsCliModelCatalog } from '../shared/contracts/cli-adapter.js';
|
|
2
2
|
import type { CodingNsRpcClient } from './features/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Client 缓存有效期。
|
|
5
|
+
*
|
|
6
|
+
* 目录里既有模型清单,也有账号级事实(例如 Codex 的 `officialSubscription`
|
|
7
|
+
* 与 `defaultServiceTier`)。后者会随用户在外部工具里切换供应商或登录状态而
|
|
8
|
+
* 变化,而页面不会因此重新挂载。若 Client 永久持有第一次的结果,依赖这些事实
|
|
9
|
+
* 的控件(Codex 官方订阅的 Fast 档位开关)就会在整场会话里一直缺失。
|
|
10
|
+
*
|
|
11
|
+
* 因此这里给出一个短 TTL:命中即用(不阻塞渲染),过期后重新请求。Host 侧还会
|
|
12
|
+
* 比对 Provider 配置指纹,配置真正变化时立即失效,不依赖这个 TTL。
|
|
13
|
+
*/
|
|
14
|
+
export declare const MODEL_CATALOG_CACHE_TTL_MS = 60000;
|
|
15
|
+
/** 作废某个适配器(或全部适配器)的 Client 目录缓存。 */
|
|
16
|
+
export declare function invalidateModelCatalogCache(rpc: CodingNsRpcClient, adapterId?: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* 「判定可能过期」时的复检节流。
|
|
19
|
+
*
|
|
20
|
+
* 目录声明了服务档位却未确认官方订阅时,值得再探测一次;但真实第三方接入会
|
|
21
|
+
* 长期停在这个状态,不能每次挂载都发一次请求。这里按适配器记录最近一次复检
|
|
22
|
+
* 时间,只有超过间隔才允许再次作废缓存。
|
|
23
|
+
*/
|
|
24
|
+
export declare const MODEL_CATALOG_REVALIDATE_INTERVAL_MS = 60000;
|
|
25
|
+
export declare function shouldRevalidateModelCatalog(rpc: CodingNsRpcClient, adapterId: string, needsRevalidation: boolean): boolean;
|
|
3
26
|
export declare function getModelCatalogCache(rpc: CodingNsRpcClient): Map<string, CodingNsCliModelCatalog>;
|
|
4
27
|
export declare function loadModelCatalog(rpc: CodingNsRpcClient, adapterId: string, sessionId?: string): Promise<CodingNsCliModelCatalog>;
|
|
5
28
|
//# sourceMappingURL=model-catalog-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-catalog-cache.d.ts","sourceRoot":"","sources":["../../../../src/client/model-catalog-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAY5D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAQjG;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"model-catalog-cache.d.ts","sourceRoot":"","sources":["../../../../src/client/model-catalog-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAY5D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAA;AA4BhD,oCAAoC;AACpC,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAU5F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,QAAS,CAAA;AAI1D,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAaT;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAQjG;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAuBhI"}
|
|
@@ -7,6 +7,72 @@ import { callCliRpc } from './cli-catalog.js';
|
|
|
7
7
|
*/
|
|
8
8
|
const modelCatalogCaches = new WeakMap();
|
|
9
9
|
const modelCatalogLoads = new WeakMap();
|
|
10
|
+
/**
|
|
11
|
+
* Client 缓存有效期。
|
|
12
|
+
*
|
|
13
|
+
* 目录里既有模型清单,也有账号级事实(例如 Codex 的 `officialSubscription`
|
|
14
|
+
* 与 `defaultServiceTier`)。后者会随用户在外部工具里切换供应商或登录状态而
|
|
15
|
+
* 变化,而页面不会因此重新挂载。若 Client 永久持有第一次的结果,依赖这些事实
|
|
16
|
+
* 的控件(Codex 官方订阅的 Fast 档位开关)就会在整场会话里一直缺失。
|
|
17
|
+
*
|
|
18
|
+
* 因此这里给出一个短 TTL:命中即用(不阻塞渲染),过期后重新请求。Host 侧还会
|
|
19
|
+
* 比对 Provider 配置指纹,配置真正变化时立即失效,不依赖这个 TTL。
|
|
20
|
+
*/
|
|
21
|
+
export const MODEL_CATALOG_CACHE_TTL_MS = 60_000;
|
|
22
|
+
const modelCatalogCacheTimes = new WeakMap();
|
|
23
|
+
function cacheEntry(rpc, adapterId) {
|
|
24
|
+
return cacheTimesFor(rpc).get(adapterId);
|
|
25
|
+
}
|
|
26
|
+
function cacheTimesFor(rpc) {
|
|
27
|
+
const key = rpc;
|
|
28
|
+
let times = modelCatalogCacheTimes.get(key);
|
|
29
|
+
if (times === undefined) {
|
|
30
|
+
times = new Map();
|
|
31
|
+
modelCatalogCacheTimes.set(key, times);
|
|
32
|
+
}
|
|
33
|
+
return times;
|
|
34
|
+
}
|
|
35
|
+
function storeCatalog(rpc, adapterId, value) {
|
|
36
|
+
getModelCatalogCache(rpc).set(adapterId, value);
|
|
37
|
+
cacheTimesFor(rpc).set(adapterId, { value, storedAt: Date.now() });
|
|
38
|
+
}
|
|
39
|
+
/** 作废某个适配器(或全部适配器)的 Client 目录缓存。 */
|
|
40
|
+
export function invalidateModelCatalogCache(rpc, adapterId) {
|
|
41
|
+
const cache = getModelCatalogCache(rpc);
|
|
42
|
+
const times = cacheTimesFor(rpc);
|
|
43
|
+
if (adapterId === undefined) {
|
|
44
|
+
cache.clear();
|
|
45
|
+
times.clear();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
cache.delete(adapterId);
|
|
49
|
+
times.delete(adapterId);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 「判定可能过期」时的复检节流。
|
|
53
|
+
*
|
|
54
|
+
* 目录声明了服务档位却未确认官方订阅时,值得再探测一次;但真实第三方接入会
|
|
55
|
+
* 长期停在这个状态,不能每次挂载都发一次请求。这里按适配器记录最近一次复检
|
|
56
|
+
* 时间,只有超过间隔才允许再次作废缓存。
|
|
57
|
+
*/
|
|
58
|
+
export const MODEL_CATALOG_REVALIDATE_INTERVAL_MS = 60_000;
|
|
59
|
+
const modelCatalogRevalidations = new WeakMap();
|
|
60
|
+
export function shouldRevalidateModelCatalog(rpc, adapterId, needsRevalidation) {
|
|
61
|
+
if (!needsRevalidation)
|
|
62
|
+
return false;
|
|
63
|
+
const key = rpc;
|
|
64
|
+
let times = modelCatalogRevalidations.get(key);
|
|
65
|
+
if (times === undefined) {
|
|
66
|
+
times = new Map();
|
|
67
|
+
modelCatalogRevalidations.set(key, times);
|
|
68
|
+
}
|
|
69
|
+
const last = times.get(adapterId);
|
|
70
|
+
const now = Date.now();
|
|
71
|
+
if (last !== undefined && now - last < MODEL_CATALOG_REVALIDATE_INTERVAL_MS)
|
|
72
|
+
return false;
|
|
73
|
+
times.set(adapterId, now);
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
10
76
|
export function getModelCatalogCache(rpc) {
|
|
11
77
|
const key = rpc;
|
|
12
78
|
let cache = modelCatalogCaches.get(key);
|
|
@@ -20,10 +86,11 @@ export function loadModelCatalog(rpc, adapterId, sessionId) {
|
|
|
20
86
|
const cached = getModelCatalogCache(rpc).get(adapterId);
|
|
21
87
|
// 回退目录只用于当前渲染,不能在 Client 侧永久占住真实目录。Host 会在
|
|
22
88
|
// 短周期内重试产品快照读取;下一次请求必须有机会拿到恢复后的目录。
|
|
23
|
-
if (cached !== undefined && cached.fallback !== true)
|
|
89
|
+
if (cached !== undefined && cached.fallback !== true && isFreshCacheEntry(rpc, adapterId, cached)) {
|
|
24
90
|
return Promise.resolve(cached);
|
|
25
|
-
|
|
26
|
-
|
|
91
|
+
}
|
|
92
|
+
if (cached !== undefined)
|
|
93
|
+
invalidateModelCatalogCache(rpc, adapterId);
|
|
27
94
|
const loads = getModelCatalogLoadCache(rpc);
|
|
28
95
|
const running = loads.get(adapterId);
|
|
29
96
|
if (running !== undefined)
|
|
@@ -32,12 +99,10 @@ export function loadModelCatalog(rpc, adapterId, sessionId) {
|
|
|
32
99
|
adapterId,
|
|
33
100
|
...(sessionId === undefined ? {} : { sessionId }),
|
|
34
101
|
}).then((value) => {
|
|
35
|
-
if (value.fallback === true)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
getModelCatalogCache(rpc).set(adapterId, value);
|
|
40
|
-
}
|
|
102
|
+
if (value.fallback === true)
|
|
103
|
+
invalidateModelCatalogCache(rpc, adapterId);
|
|
104
|
+
else
|
|
105
|
+
storeCatalog(rpc, adapterId, value);
|
|
41
106
|
return value;
|
|
42
107
|
}).finally(() => {
|
|
43
108
|
if (loads.get(adapterId) === request)
|
|
@@ -46,6 +111,13 @@ export function loadModelCatalog(rpc, adapterId, sessionId) {
|
|
|
46
111
|
loads.set(adapterId, request);
|
|
47
112
|
return request;
|
|
48
113
|
}
|
|
114
|
+
/** 缓存条目是否仍在有效期内;没有时间戳的旧条目按过期处理并触发一次重新读取。 */
|
|
115
|
+
function isFreshCacheEntry(rpc, adapterId, cached) {
|
|
116
|
+
const entry = cacheEntry(rpc, adapterId);
|
|
117
|
+
if (entry === undefined || entry.value !== cached)
|
|
118
|
+
return false;
|
|
119
|
+
return Date.now() - entry.storedAt < MODEL_CATALOG_CACHE_TTL_MS;
|
|
120
|
+
}
|
|
49
121
|
function getModelCatalogLoadCache(rpc) {
|
|
50
122
|
const key = rpc;
|
|
51
123
|
let cache = modelCatalogLoads.get(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-catalog-cache.js","sourceRoot":"","sources":["../../../../src/client/model-catalog-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAgD,CAAA;AACtF,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAyD,CAAA;AAE9F,MAAM,UAAU,oBAAoB,CAAC,GAAsB;IACzD,MAAM,GAAG,GAAG,GAAa,CAAA;IACzB,IAAI,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;QACjB,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAsB,EAAE,SAAiB,EAAE,SAAkB;IAC5F,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACvD,2CAA2C;IAC3C,mCAAmC;IACnC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"model-catalog-cache.js","sourceRoot":"","sources":["../../../../src/client/model-catalog-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,17 @@ export declare function isServiceTierEnabled(catalog: CodingNsCliModelCatalog |
|
|
|
36
36
|
export declare function toggledServiceTierId(model: CodingNsCliModel | undefined, enabled: boolean): string | undefined;
|
|
37
37
|
/** 生效档位对应的目录条目;标准速度或未知档位返回 undefined。 */
|
|
38
38
|
export declare function activeServiceTier(catalog: CodingNsCliModelCatalog | null, model: CodingNsCliModel | undefined, selectedId: string | undefined): CodingNsCliServiceTier | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* 目录是否「声明了档位、但未确认官方订阅」——即档位开关缺席的原因可能只是判定过期。
|
|
41
|
+
*
|
|
42
|
+
* 这一状态有两种来源,界面上无法区分:
|
|
43
|
+
* - 真实第三方中转/纯 API key:档位确实不会生效,应当持续不展示;
|
|
44
|
+
* - 判定过期:用户在外部工具(cc-switch 等)里刚切回官方订阅,而页面还持有旧目录。
|
|
45
|
+
*
|
|
46
|
+
* 因此它只用来决定「值得再探测一次」,不能用来决定「应该展示开关」。重新探测由
|
|
47
|
+
* Host 的 Provider 配置指纹保证廉价:配置没变时 Host 直接返回缓存,不会重启 CLI。
|
|
48
|
+
*/
|
|
49
|
+
export declare function needsServiceTierRevalidation(catalog: CodingNsCliModelCatalog | null): boolean;
|
|
39
50
|
/**
|
|
40
51
|
* 在“只改了其它字段”的部分更新里保留当前档位选择。
|
|
41
52
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-tier.d.ts","sourceRoot":"","sources":["../../../../src/client/service-tier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAE3H;;;;GAIG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB,YAAY,CAAA;AAEjD,+BAA+B;AAC/B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAAG,SAAS,sBAAsB,EAAE,CAExG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAClC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,MAAM,CAKR;AAED,4BAA4B;AAC5B,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI9G;AAED,yCAAyC;AACzC,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,sBAAsB,GAAG,SAAS,CAGpC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAIpB"}
|
|
1
|
+
{"version":3,"file":"service-tier.d.ts","sourceRoot":"","sources":["../../../../src/client/service-tier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAE3H;;;;GAIG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB,YAAY,CAAA;AAEjD,+BAA+B;AAC/B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAAG,SAAS,sBAAsB,EAAE,CAExG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,KAAK,EAAE,gBAAgB,GAAG,SAAS,GAClC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,MAAM,CAKR;AAED,4BAA4B;AAC5B,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI9G;AAED,yCAAyC;AACzC,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,uBAAuB,GAAG,IAAI,EACvC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,sBAAsB,GAAG,SAAS,CAGpC;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,GAAG,OAAO,CAG7F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAIpB"}
|
|
@@ -55,6 +55,21 @@ export function activeServiceTier(catalog, model, selectedId) {
|
|
|
55
55
|
const id = effectiveServiceTierId(catalog, selectedId);
|
|
56
56
|
return modelServiceTiers(model).find((tier) => tier.id === id);
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* 目录是否「声明了档位、但未确认官方订阅」——即档位开关缺席的原因可能只是判定过期。
|
|
60
|
+
*
|
|
61
|
+
* 这一状态有两种来源,界面上无法区分:
|
|
62
|
+
* - 真实第三方中转/纯 API key:档位确实不会生效,应当持续不展示;
|
|
63
|
+
* - 判定过期:用户在外部工具(cc-switch 等)里刚切回官方订阅,而页面还持有旧目录。
|
|
64
|
+
*
|
|
65
|
+
* 因此它只用来决定「值得再探测一次」,不能用来决定「应该展示开关」。重新探测由
|
|
66
|
+
* Host 的 Provider 配置指纹保证廉价:配置没变时 Host 直接返回缓存,不会重启 CLI。
|
|
67
|
+
*/
|
|
68
|
+
export function needsServiceTierRevalidation(catalog) {
|
|
69
|
+
if (catalog === null || catalog.officialSubscription === true)
|
|
70
|
+
return false;
|
|
71
|
+
return catalog.groups.some((group) => group.models.some((model) => modelServiceTiers(model).length > 0));
|
|
72
|
+
}
|
|
58
73
|
/**
|
|
59
74
|
* 在“只改了其它字段”的部分更新里保留当前档位选择。
|
|
60
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-tier.js","sourceRoot":"","sources":["../../../../src/client/service-tier.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AAEjD,+BAA+B;AAC/B,MAAM,UAAU,iBAAiB,CAAC,KAAmC;IACnE,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,CAAA;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAuC,EACvC,KAAmC;IAEnC,OAAO,OAAO,EAAE,oBAAoB,KAAK,IAAI,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AACtF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAuC,EACvC,UAA8B;IAE9B,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,EAAE,CAAA;IACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IAC9D,MAAM,iBAAiB,GAAG,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAA;IAC7D,OAAO,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAA;AACnH,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,oBAAoB,CAClC,OAAuC,EACvC,UAA8B;IAE9B,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,wBAAwB,CAAA;AACjF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAmC,EAAE,OAAgB;IACxF,IAAI,CAAC,OAAO;QAAE,OAAO,wBAAwB,CAAA;IAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;AACjD,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,iBAAiB,CAC/B,OAAuC,EACvC,KAAmC,EACnC,UAA8B;IAE9B,MAAM,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACtD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAmC,EACnC,SAA6B;IAE7B,MAAM,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,CAAA;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC7D,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAA;AAC1G,CAAC"}
|
|
1
|
+
{"version":3,"file":"service-tier.js","sourceRoot":"","sources":["../../../../src/client/service-tier.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AAEjD,+BAA+B;AAC/B,MAAM,UAAU,iBAAiB,CAAC,KAAmC;IACnE,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,CAAA;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAuC,EACvC,KAAmC;IAEnC,OAAO,OAAO,EAAE,oBAAoB,KAAK,IAAI,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AACtF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAuC,EACvC,UAA8B;IAE9B,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,EAAE,CAAA;IACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IAC9D,MAAM,iBAAiB,GAAG,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAA;IAC7D,OAAO,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAA;AACnH,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,oBAAoB,CAClC,OAAuC,EACvC,UAA8B;IAE9B,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,wBAAwB,CAAA;AACjF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAmC,EAAE,OAAgB;IACxF,IAAI,CAAC,OAAO;QAAE,OAAO,wBAAwB,CAAA;IAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;AACjD,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,iBAAiB,CAC/B,OAAuC,EACvC,KAAmC,EACnC,UAA8B;IAE9B,MAAM,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACtD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAChE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAuC;IAClF,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC3E,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;AAC1G,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAmC,EACnC,SAA6B;IAE7B,MAAM,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,CAAA;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC7D,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAA;AAC1G,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-changed-files-view.d.ts","sourceRoot":"","sources":["../../../../src/client/session-changed-files-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAW,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"session-changed-files-view.d.ts","sourceRoot":"","sources":["../../../../src/client/session-changed-files-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAW,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5D,OAAO,EAA6B,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErG,eAAO,MAAM,6BAA6B,uCAAuC,CAAA;AAMjF,UAAU,4BAA4B;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,6CAA6C;IAC7C,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAC/B;AAiCD,6CAA6C;AAC7C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,YAAY,CAoMzF;AAED,wEAAwE;AACxE,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,iBAAiB,EACtB,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,cAAc,GACtB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAuE1B;AA0GD,kCAAkC;AAClC,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CAGxH"}
|
|
@@ -2,8 +2,11 @@ import { createElement, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
2
2
|
import { callCodingNsRpc } from './settings-bridge.js';
|
|
3
3
|
import { resolveGitWorkspaceId } from './git-management.js';
|
|
4
4
|
import { notifyGitWorkspaceChanged, subscribeGitWorkspaceChanged } from './git-workspace-events.js';
|
|
5
|
+
import { backdropPointerDownHandler } from './popup-dismiss.js';
|
|
5
6
|
import { resolveCodingNsTranslator } from './locale.js';
|
|
6
7
|
export const SESSION_CHANGED_FILES_VIEW_ID = 'codingns4dsh/session-changed-files';
|
|
8
|
+
/** 后台轮询只负责兜底发现外部文件变化,不能和页面交互争夺刷新节奏。 */
|
|
9
|
+
const SESSION_CHANGED_FILES_BACKGROUND_REFRESH_MS = 30_000;
|
|
7
10
|
/** 会话“修改文件”视图;数据只通过插件 RPC 和现有 Git RPC 读取。 */
|
|
8
11
|
export function SessionChangedFilesView(props) {
|
|
9
12
|
const t = props.t;
|
|
@@ -12,54 +15,80 @@ export function SessionChangedFilesView(props) {
|
|
|
12
15
|
const [changes, setChanges] = useState([]);
|
|
13
16
|
const [selectedPath, setSelectedPath] = useState();
|
|
14
17
|
const [diff, setDiff] = useState();
|
|
18
|
+
const [diffLoading, setDiffLoading] = useState(false);
|
|
19
|
+
const [mobileDiffOpen, setMobileDiffOpen] = useState(false);
|
|
15
20
|
const [collapsed, setCollapsed] = useState(new Set());
|
|
16
21
|
const [hoveredPath, setHoveredPath] = useState();
|
|
17
22
|
const [loading, setLoading] = useState(true);
|
|
18
23
|
const [busy, setBusy] = useState(false);
|
|
19
24
|
const [error, setError] = useState();
|
|
20
25
|
const requestGeneration = useRef(0);
|
|
21
|
-
const
|
|
26
|
+
const inFlightLoad = useRef();
|
|
27
|
+
const load = (foreground = false) => {
|
|
28
|
+
// 同一轮请求尚未结束时,后续的定时器和本地通知只复用它,避免旧响应交错覆盖新状态。
|
|
29
|
+
if (inFlightLoad.current !== undefined)
|
|
30
|
+
return inFlightLoad.current;
|
|
22
31
|
const generation = requestGeneration.current + 1;
|
|
23
32
|
requestGeneration.current = generation;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const resolved = await resolveGitWorkspaceId(props.remote, props.sessionId);
|
|
28
|
-
if (resolved === undefined)
|
|
29
|
-
throw new Error('当前会话没有可用的工作区');
|
|
30
|
-
const [sessionFiles, status] = await Promise.all([
|
|
31
|
-
call(props.rpc, 'fileManagement/session-changes', { sessionId: props.sessionId, workspaceId: resolved }),
|
|
32
|
-
call(props.rpc, 'git/status', { workspaceId: resolved }),
|
|
33
|
-
]);
|
|
34
|
-
if (generation !== requestGeneration.current)
|
|
35
|
-
return;
|
|
36
|
-
const next = selectSessionChangedFiles(sessionFiles, status);
|
|
37
|
-
setWorkspaceId(resolved);
|
|
38
|
-
setChanges(next);
|
|
39
|
-
props.reportCount?.(props.sessionId, next.length);
|
|
40
|
-
setSelectedPath((current) => current !== undefined && next.some((item) => item.path === current) ? current : next[0]?.path);
|
|
41
|
-
}
|
|
42
|
-
catch (cause) {
|
|
43
|
-
if (generation !== requestGeneration.current)
|
|
44
|
-
return;
|
|
45
|
-
setError(cause instanceof Error ? cause.message : String(cause));
|
|
46
|
-
setChanges([]);
|
|
47
|
-
setWorkspaceId(undefined);
|
|
48
|
-
props.reportCount?.(props.sessionId, 0);
|
|
49
|
-
}
|
|
50
|
-
finally {
|
|
51
|
-
if (generation === requestGeneration.current)
|
|
52
|
-
setLoading(false);
|
|
33
|
+
if (foreground) {
|
|
34
|
+
setLoading(true);
|
|
35
|
+
setError(undefined);
|
|
53
36
|
}
|
|
37
|
+
const task = (async () => {
|
|
38
|
+
try {
|
|
39
|
+
const resolved = await resolveGitWorkspaceId(props.remote, props.sessionId);
|
|
40
|
+
if (resolved === undefined)
|
|
41
|
+
throw new Error('当前会话没有可用的工作区');
|
|
42
|
+
const [sessionFiles, status] = await Promise.all([
|
|
43
|
+
call(props.rpc, 'fileManagement/session-changes', { sessionId: props.sessionId, workspaceId: resolved }),
|
|
44
|
+
call(props.rpc, 'git/status', { workspaceId: resolved }),
|
|
45
|
+
]);
|
|
46
|
+
if (generation !== requestGeneration.current)
|
|
47
|
+
return;
|
|
48
|
+
const next = selectSessionChangedFiles(sessionFiles, status);
|
|
49
|
+
setWorkspaceId((current) => current === resolved ? current : resolved);
|
|
50
|
+
setChanges((current) => mergeChangedFiles(current, next));
|
|
51
|
+
props.reportCount?.(props.sessionId, next.length);
|
|
52
|
+
setSelectedPath((current) => current !== undefined && next.some((item) => item.path === current) ? current : next[0]?.path);
|
|
53
|
+
setError(undefined);
|
|
54
|
+
}
|
|
55
|
+
catch (cause) {
|
|
56
|
+
if (generation !== requestGeneration.current)
|
|
57
|
+
return;
|
|
58
|
+
// 后台失败时保留上一次成功快照,避免网络抖动把列表闪成空白;首屏失败仍显示错误态。
|
|
59
|
+
if (foreground) {
|
|
60
|
+
setError(cause instanceof Error ? cause.message : String(cause));
|
|
61
|
+
setChanges([]);
|
|
62
|
+
setWorkspaceId(undefined);
|
|
63
|
+
props.reportCount?.(props.sessionId, 0);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
setError(cause instanceof Error ? cause.message : String(cause));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
if (generation === requestGeneration.current && foreground)
|
|
71
|
+
setLoading(false);
|
|
72
|
+
}
|
|
73
|
+
})();
|
|
74
|
+
const tracked = task.finally(() => {
|
|
75
|
+
if (inFlightLoad.current === tracked)
|
|
76
|
+
inFlightLoad.current = undefined;
|
|
77
|
+
});
|
|
78
|
+
inFlightLoad.current = tracked;
|
|
79
|
+
return tracked;
|
|
54
80
|
};
|
|
55
81
|
useEffect(() => {
|
|
56
82
|
setDiff(undefined);
|
|
83
|
+
setDiffLoading(false);
|
|
84
|
+
setMobileDiffOpen(false);
|
|
57
85
|
setCollapsed(new Set());
|
|
58
86
|
setWorkspaceId(undefined);
|
|
59
|
-
void load();
|
|
60
|
-
const timer = globalThis.setInterval(() => { void load(); },
|
|
87
|
+
void load(true);
|
|
88
|
+
const timer = globalThis.setInterval(() => { void load(); }, SESSION_CHANGED_FILES_BACKGROUND_REFRESH_MS);
|
|
61
89
|
return () => {
|
|
62
90
|
requestGeneration.current += 1;
|
|
91
|
+
inFlightLoad.current = undefined;
|
|
63
92
|
globalThis.clearInterval(timer);
|
|
64
93
|
};
|
|
65
94
|
}, [props.rpc, props.sessionId, props.remote]);
|
|
@@ -71,19 +100,33 @@ export function SessionChangedFilesView(props) {
|
|
|
71
100
|
useEffect(() => {
|
|
72
101
|
if (workspaceId === undefined || selectedPath === undefined) {
|
|
73
102
|
setDiff(undefined);
|
|
103
|
+
setDiffLoading(false);
|
|
74
104
|
return;
|
|
75
105
|
}
|
|
76
106
|
const selected = changes.find((item) => item.path === selectedPath);
|
|
77
|
-
if (selected === undefined)
|
|
107
|
+
if (selected === undefined) {
|
|
108
|
+
setDiff(undefined);
|
|
109
|
+
setDiffLoading(false);
|
|
78
110
|
return;
|
|
111
|
+
}
|
|
79
112
|
let cancelled = false;
|
|
113
|
+
setDiff(undefined);
|
|
114
|
+
setDiffLoading(true);
|
|
80
115
|
void call(props.rpc, 'git/diff', { workspaceId, path: selected.path, staged: selected.staged })
|
|
81
116
|
.then((value) => { if (!cancelled)
|
|
82
117
|
setDiff(value); })
|
|
83
118
|
.catch((cause) => { if (!cancelled)
|
|
84
|
-
setError(cause instanceof Error ? cause.message : String(cause)); })
|
|
119
|
+
setError(cause instanceof Error ? cause.message : String(cause)); })
|
|
120
|
+
.finally(() => { if (!cancelled)
|
|
121
|
+
setDiffLoading(false); });
|
|
85
122
|
return () => { cancelled = true; };
|
|
86
123
|
}, [changes, props.rpc, selectedPath, workspaceId]);
|
|
124
|
+
useEffect(() => {
|
|
125
|
+
if (!compactLayout)
|
|
126
|
+
setMobileDiffOpen(false);
|
|
127
|
+
if (selectedPath === undefined || !changes.some((item) => item.path === selectedPath))
|
|
128
|
+
setMobileDiffOpen(false);
|
|
129
|
+
}, [changes, compactLayout, selectedPath]);
|
|
87
130
|
const tree = useMemo(() => buildTree(changes), [changes]);
|
|
88
131
|
const unstaged = changes.filter((item) => !item.staged);
|
|
89
132
|
const stageTargets = async (targets, action) => {
|
|
@@ -93,7 +136,7 @@ export function SessionChangedFilesView(props) {
|
|
|
93
136
|
try {
|
|
94
137
|
await call(props.rpc, `git/${action}`, { workspaceId, targets });
|
|
95
138
|
notifyGitWorkspaceChanged(workspaceId);
|
|
96
|
-
await load();
|
|
139
|
+
await load(true);
|
|
97
140
|
}
|
|
98
141
|
catch (cause) {
|
|
99
142
|
setError(cause instanceof Error ? cause.message : String(cause));
|
|
@@ -113,6 +156,12 @@ export function SessionChangedFilesView(props) {
|
|
|
113
156
|
});
|
|
114
157
|
};
|
|
115
158
|
const hasChanges = changes.length > 0;
|
|
159
|
+
const selectedChange = selectedPath === undefined ? undefined : changes.find((item) => item.path === selectedPath);
|
|
160
|
+
const selectPath = (path) => {
|
|
161
|
+
setSelectedPath(path);
|
|
162
|
+
if (compactLayout)
|
|
163
|
+
setMobileDiffOpen(true);
|
|
164
|
+
};
|
|
116
165
|
const viewRootStyle = { ...rootStyle, padding: compactLayout ? '0 16px' : rootStyle.padding };
|
|
117
166
|
const viewToolbarStyle = {
|
|
118
167
|
...toolbarStyle,
|
|
@@ -125,11 +174,22 @@ export function SessionChangedFilesView(props) {
|
|
|
125
174
|
borderRight: compactLayout || !hasChanges ? 'none' : treePaneStyle.borderRight,
|
|
126
175
|
borderBottom: compactLayout && hasChanges ? treePaneStyle.borderRight : 'none',
|
|
127
176
|
};
|
|
128
|
-
return createElement('div', { style: viewRootStyle }, createElement('div', { style: viewToolbarStyle }, createElement('strong', { style: { fontSize: 15 } }, t('sessionFiles.title')), createElement('span', { style: countStyle }, t('sessionFiles.count', { count: changes.length })), createElement('span', { style: { flex: 1 } }), createElement('button', { type: 'button', disabled: loading || busy, onClick: () => void load(), style: toolbarRefreshButtonStyle, title: t('sessionFiles.refresh'), 'aria-label': t('sessionFiles.refresh') }, createElement(RefreshIcon)), createElement('button', { type: 'button', disabled: busy || unstaged.length === 0, onClick: () => void stageTargets(unstaged.map((item) => item.path), 'stage'), style: toolbarStageButtonStyle, title: t('sessionFiles.stageAll'), 'aria-label': t('sessionFiles.stageAll') }, createElement(StageIcon))), error === undefined ? null : createElement('div', { role: 'alert', style: errorStyle }, error), createElement('div', { style: viewContentStyle }, createElement('div', { style: viewTreePaneStyle }, loading ? createElement('div', { style: emptyStyle }, t('sessionFiles.loading'))
|
|
177
|
+
return createElement('div', { style: viewRootStyle }, createElement('div', { style: viewToolbarStyle }, createElement('strong', { style: { fontSize: 15 } }, t('sessionFiles.title')), createElement('span', { style: countStyle }, t('sessionFiles.count', { count: changes.length })), createElement('span', { style: { flex: 1 } }), createElement('button', { type: 'button', disabled: loading || busy, onClick: () => void load(true), style: toolbarRefreshButtonStyle, title: t('sessionFiles.refresh'), 'aria-label': t('sessionFiles.refresh') }, createElement(RefreshIcon)), createElement('button', { type: 'button', disabled: busy || unstaged.length === 0, onClick: () => void stageTargets(unstaged.map((item) => item.path), 'stage'), style: toolbarStageButtonStyle, title: t('sessionFiles.stageAll'), 'aria-label': t('sessionFiles.stageAll') }, createElement(StageIcon))), error === undefined ? null : createElement('div', { role: 'alert', style: errorStyle }, error), createElement('div', { style: viewContentStyle }, createElement('div', { style: viewTreePaneStyle }, loading ? createElement('div', { style: emptyStyle }, t('sessionFiles.loading'))
|
|
129
178
|
: changes.length === 0 ? createElement('div', { style: emptyStyle }, t('sessionFiles.empty'))
|
|
130
|
-
: tree.map((node) => renderNode(node, 0, collapsed, hoveredPath, selectedPath, toggle,
|
|
179
|
+
: tree.map((node) => renderNode(node, 0, collapsed, hoveredPath, selectedPath, toggle, selectPath, setHoveredPath, stageTargets, t))), !compactLayout && hasChanges ? createElement('div', { style: diffPaneStyle }, selectedPath === undefined ? createElement('div', { style: emptyStyle }, t('sessionFiles.selectFile'))
|
|
180
|
+
: diffLoading ? createElement('div', { style: emptyStyle }, t('sessionFiles.loadingDiff'))
|
|
181
|
+
: diff?.content ? createElement('pre', { style: diffStyle }, renderDiff(diff.content))
|
|
182
|
+
: createElement('div', { style: emptyStyle }, t('sessionFiles.noDiff'))) : null), compactLayout && mobileDiffOpen && selectedPath !== undefined ? createElement('div', {
|
|
183
|
+
style: mobileDiffOverlayStyle,
|
|
184
|
+
onPointerDown: backdropPointerDownHandler(() => setMobileDiffOpen(false)),
|
|
185
|
+
}, createElement('section', {
|
|
186
|
+
role: 'dialog',
|
|
187
|
+
'aria-modal': true,
|
|
188
|
+
'aria-label': selectedChange?.path ?? t('sessionFiles.title'),
|
|
189
|
+
style: mobileDiffModalStyle,
|
|
190
|
+
}, createElement('header', { style: mobileDiffHeaderStyle }, createElement('strong', { style: mobileDiffTitleStyle, title: selectedChange?.path }, selectedChange?.path ?? t('sessionFiles.title')), createElement('button', { type: 'button', onClick: () => setMobileDiffOpen(false), style: mobileDiffCloseStyle, title: t('sessionFiles.close'), 'aria-label': t('sessionFiles.close') }, '×')), createElement('div', { style: mobileDiffBodyStyle }, diffLoading ? createElement('div', { style: emptyStyle }, t('sessionFiles.loadingDiff'))
|
|
131
191
|
: diff?.content ? createElement('pre', { style: diffStyle }, renderDiff(diff.content))
|
|
132
|
-
: createElement('div', { style: emptyStyle }, t('sessionFiles.noDiff'))) : null)
|
|
192
|
+
: createElement('div', { style: emptyStyle }, t('sessionFiles.noDiff'))))) : null);
|
|
133
193
|
}
|
|
134
194
|
/** 注册 DSH 原生 conversation.view Slot;标签由 DSH 根据 Slot 的 id/label 自动投影。 */
|
|
135
195
|
export function registerSessionChangedFilesView(ctx, rpc, remote, locale) {
|
|
@@ -218,39 +278,56 @@ function SessionChangedFilesCounter(props) {
|
|
|
218
278
|
useEffect(() => {
|
|
219
279
|
let disposed = false;
|
|
220
280
|
let generation = 0;
|
|
281
|
+
let hasSuccessfulLoad = false;
|
|
282
|
+
let subscribedWorkspaceId;
|
|
283
|
+
let inFlight;
|
|
221
284
|
let disposeWorkspaceSubscription;
|
|
222
285
|
const updateWorkspaceSubscription = (workspaceId) => {
|
|
286
|
+
if (subscribedWorkspaceId === workspaceId)
|
|
287
|
+
return;
|
|
223
288
|
disposeWorkspaceSubscription?.();
|
|
289
|
+
subscribedWorkspaceId = workspaceId;
|
|
224
290
|
disposeWorkspaceSubscription = workspaceId === undefined
|
|
225
291
|
? undefined
|
|
226
292
|
: subscribeGitWorkspaceChanged(workspaceId, () => { void load(); });
|
|
227
293
|
};
|
|
228
|
-
const load =
|
|
294
|
+
const load = () => {
|
|
295
|
+
if (inFlight !== undefined)
|
|
296
|
+
return inFlight;
|
|
229
297
|
const currentGeneration = ++generation;
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
298
|
+
const task = (async () => {
|
|
299
|
+
try {
|
|
300
|
+
const workspaceId = await resolveGitWorkspaceId(props.remote, props.sessionId);
|
|
301
|
+
if (workspaceId === undefined)
|
|
302
|
+
throw new Error('当前会话没有可用的工作区');
|
|
303
|
+
const [sessionFiles, status] = await Promise.all([
|
|
304
|
+
call(props.rpc, 'fileManagement/session-changes', { sessionId: props.sessionId, workspaceId }),
|
|
305
|
+
call(props.rpc, 'git/status', { workspaceId }),
|
|
306
|
+
]);
|
|
307
|
+
if (disposed || currentGeneration !== generation)
|
|
308
|
+
return;
|
|
309
|
+
updateWorkspaceSubscription(workspaceId);
|
|
310
|
+
const count = selectSessionChangedFiles(sessionFiles, status).length;
|
|
311
|
+
hasSuccessfulLoad = true;
|
|
312
|
+
props.reportCount(props.sessionId, count);
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
// 计数器只在首轮失败时归零,后台短暂失败不能让标题反复跳回 0。
|
|
316
|
+
if (!disposed && currentGeneration === generation && !hasSuccessfulLoad)
|
|
317
|
+
props.reportCount(props.sessionId, 0);
|
|
318
|
+
}
|
|
319
|
+
})();
|
|
320
|
+
const tracked = task.finally(() => { if (inFlight === tracked)
|
|
321
|
+
inFlight = undefined; });
|
|
322
|
+
inFlight = tracked;
|
|
323
|
+
return tracked;
|
|
248
324
|
};
|
|
249
325
|
void load();
|
|
250
|
-
const timer = globalThis.setInterval(() => { void load(); },
|
|
326
|
+
const timer = globalThis.setInterval(() => { void load(); }, SESSION_CHANGED_FILES_BACKGROUND_REFRESH_MS);
|
|
251
327
|
return () => {
|
|
252
328
|
disposed = true;
|
|
253
329
|
generation += 1;
|
|
330
|
+
inFlight = undefined;
|
|
254
331
|
globalThis.clearInterval(timer);
|
|
255
332
|
disposeWorkspaceSubscription?.();
|
|
256
333
|
};
|
|
@@ -264,6 +341,27 @@ function renderDiff(content) {
|
|
|
264
341
|
style: diffLineStyle(line),
|
|
265
342
|
}, `${line}${index < lines.length - 1 ? '\n' : ''}`));
|
|
266
343
|
}
|
|
344
|
+
/** 只替换真正变化的行对象,后台刷新时保持未变化文件的引用和交互状态。 */
|
|
345
|
+
function mergeChangedFiles(current, next) {
|
|
346
|
+
if (current.length === next.length && current.every((item, index) => sameChange(item, next[index])))
|
|
347
|
+
return current;
|
|
348
|
+
const previous = new Map(current.map((item) => [item.path, item]));
|
|
349
|
+
return next.map((item) => {
|
|
350
|
+
const old = previous.get(item.path);
|
|
351
|
+
return old !== undefined && sameChange(old, item) ? old : item;
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
function sameChange(left, right) {
|
|
355
|
+
if (left === undefined || right === undefined)
|
|
356
|
+
return left === right;
|
|
357
|
+
return left.path === right.path
|
|
358
|
+
&& left.status === right.status
|
|
359
|
+
&& left.staged === right.staged
|
|
360
|
+
&& left.oldPath === right.oldPath
|
|
361
|
+
&& left.binary === right.binary
|
|
362
|
+
&& left.stagedStatus === right.stagedStatus
|
|
363
|
+
&& left.worktreeStatus === right.worktreeStatus;
|
|
364
|
+
}
|
|
267
365
|
/** 只显示当前 Git 状态中仍属于本会话触及范围的文件。 */
|
|
268
366
|
export function selectSessionChangedFiles(sessionFiles, status) {
|
|
269
367
|
const touched = new Set(sessionFiles.paths.map(normalizePath));
|
|
@@ -372,6 +470,12 @@ const toolbarStageButtonStyle = { ...toolbarIconButtonStyle, color: 'var(--dsw-a
|
|
|
372
470
|
const emptyStyle = { padding: 24, color: 'var(--dsw-alias-label-tertiary,#777)', textAlign: 'center' };
|
|
373
471
|
const errorStyle = { padding: '8px 16px', color: 'var(--dsw-alias-state-danger,#c43d3d)', borderBottom: '1px solid var(--dsw-alias-border-l3,#ddd)' };
|
|
374
472
|
const diffStyle = { margin: 0, padding: 16, minHeight: '100%', overflow: 'visible', whiteSpace: 'pre-wrap', wordBreak: 'break-word', font: '12px/1.55 var(--dsw-font-mono,ui-monospace,monospace)' };
|
|
473
|
+
const mobileDiffOverlayStyle = { position: 'fixed', inset: 0, zIndex: 1000, display: 'flex', alignItems: 'stretch', justifyContent: 'center', padding: 10, boxSizing: 'border-box', background: 'rgba(0,0,0,.48)' };
|
|
474
|
+
const mobileDiffModalStyle = { display: 'flex', flexDirection: 'column', width: '100%', maxWidth: 720, maxHeight: '100%', minHeight: 0, overflow: 'hidden', borderRadius: 10, background: 'var(--dsw-alias-bg-layer-1,#fff)', boxShadow: '0 12px 40px rgba(0,0,0,.3)' };
|
|
475
|
+
const mobileDiffHeaderStyle = { display: 'flex', alignItems: 'center', gap: 8, minHeight: 46, padding: '0 12px', borderBottom: '1px solid var(--dsw-alias-border-l3,#ddd)', flex: '0 0 auto' };
|
|
476
|
+
const mobileDiffTitleStyle = { minWidth: 0, flex: 1, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', fontSize: 13 };
|
|
477
|
+
const mobileDiffCloseStyle = { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: 32, height: 32, border: 0, borderRadius: 6, padding: 0, background: 'transparent', color: 'var(--dsw-alias-label-secondary,#777)', cursor: 'pointer', fontSize: 22, lineHeight: 1 };
|
|
478
|
+
const mobileDiffBodyStyle = { minHeight: 0, overflow: 'auto', background: 'var(--dsw-alias-bg-layer-1,transparent)' };
|
|
375
479
|
const diffHeaderLineStyle = { display: 'block', color: 'var(--dsw-alias-label-tertiary,#777)' };
|
|
376
480
|
const diffHunkLineStyle = { display: 'block', color: 'var(--dsw-alias-state-business-primary,#356ae6)', background: 'rgba(53,106,230,.08)' };
|
|
377
481
|
const diffAddedLineStyle = { display: 'block', color: '#137333', background: 'rgba(34,197,94,.12)' };
|