@jingyi0605/codingns4dsh 0.2.0-beta.2 → 0.2.0-rc.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 +4 -4
- package/README.md +7 -5
- package/assets/provider-icons/minimax-code.svg +4 -0
- package/assets/provider-icons/zcode.svg +14 -0
- package/data/build/dist/client/account-bar.d.ts +2 -1
- package/data/build/dist/client/account-bar.d.ts.map +1 -1
- package/data/build/dist/client/account-bar.js +21 -16
- package/data/build/dist/client/account-bar.js.map +1 -1
- package/data/build/dist/client/bundle.js +4172 -1540
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/cli-slots.d.ts.map +1 -1
- package/data/build/dist/client/cli-slots.js +20 -12
- package/data/build/dist/client/cli-slots.js.map +1 -1
- package/data/build/dist/client/debug/ui.d.ts +2 -1
- package/data/build/dist/client/debug/ui.d.ts.map +1 -1
- package/data/build/dist/client/debug/ui.js +39 -33
- package/data/build/dist/client/debug/ui.js.map +1 -1
- package/data/build/dist/client/delegate-command.d.ts +16 -0
- package/data/build/dist/client/delegate-command.d.ts.map +1 -0
- package/data/build/dist/client/delegate-command.js +138 -0
- package/data/build/dist/client/delegate-command.js.map +1 -0
- package/data/build/dist/client/delegate-plan.d.ts +31 -0
- package/data/build/dist/client/delegate-plan.d.ts.map +1 -0
- package/data/build/dist/client/delegate-plan.js +59 -0
- package/data/build/dist/client/delegate-plan.js.map +1 -0
- package/data/build/dist/client/delegate-ui-dom.d.ts +40 -0
- package/data/build/dist/client/delegate-ui-dom.d.ts.map +1 -0
- package/data/build/dist/client/delegate-ui-dom.js +363 -0
- package/data/build/dist/client/delegate-ui-dom.js.map +1 -0
- package/data/build/dist/client/external-tool-stream.d.ts.map +1 -1
- package/data/build/dist/client/external-tool-stream.js +44 -36
- package/data/build/dist/client/external-tool-stream.js.map +1 -1
- package/data/build/dist/client/features/cli-adapters.d.ts +7 -2
- package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
- package/data/build/dist/client/features/cli-adapters.js +52 -103
- package/data/build/dist/client/features/cli-adapters.js.map +1 -1
- package/data/build/dist/client/features/debug.d.ts.map +1 -1
- package/data/build/dist/client/features/debug.js +5 -3
- package/data/build/dist/client/features/debug.js.map +1 -1
- package/data/build/dist/client/features/file-management.d.ts.map +1 -1
- package/data/build/dist/client/features/file-management.js +7 -4
- package/data/build/dist/client/features/file-management.js.map +1 -1
- package/data/build/dist/client/features/lan-access-panel.js +10 -10
- package/data/build/dist/client/features/lan-access-panel.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 +8 -3
- package/data/build/dist/client/features/lan-access.js.map +1 -1
- package/data/build/dist/client/features/login-protection-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/login-protection-panel.js +9 -7
- package/data/build/dist/client/features/login-protection-panel.js.map +1 -1
- package/data/build/dist/client/features/login-protection.js +2 -2
- package/data/build/dist/client/features/login-protection.js.map +1 -1
- package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
- package/data/build/dist/client/features/mobile-access.js +6 -2
- package/data/build/dist/client/features/mobile-access.js.map +1 -1
- package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/client/features/peer-host.js +115 -11
- package/data/build/dist/client/features/peer-host.js.map +1 -1
- package/data/build/dist/client/features/reverse-proxy.js +2 -2
- package/data/build/dist/client/features/reverse-proxy.js.map +1 -1
- package/data/build/dist/client/features/terminal-enhancement.js +2 -2
- package/data/build/dist/client/features/terminal-enhancement.js.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement-panel.js +1 -1
- 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 +8 -3
- package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
- package/data/build/dist/client/file-management-dom.d.ts +3 -0
- package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
- package/data/build/dist/client/file-management-dom.js +41 -30
- package/data/build/dist/client/file-management-dom.js.map +1 -1
- package/data/build/dist/client/git-management.d.ts +2 -0
- package/data/build/dist/client/git-management.d.ts.map +1 -1
- package/data/build/dist/client/git-management.js +82 -74
- package/data/build/dist/client/git-management.js.map +1 -1
- package/data/build/dist/client/git-workspace-events.d.ts +7 -0
- package/data/build/dist/client/git-workspace-events.d.ts.map +1 -0
- package/data/build/dist/client/git-workspace-events.js +32 -0
- package/data/build/dist/client/git-workspace-events.js.map +1 -0
- package/data/build/dist/client/index.d.ts +2 -0
- package/data/build/dist/client/index.d.ts.map +1 -1
- package/data/build/dist/client/index.js +6 -5
- package/data/build/dist/client/index.js.map +1 -1
- package/data/build/dist/client/locale.d.ts +7 -0
- package/data/build/dist/client/locale.d.ts.map +1 -1
- package/data/build/dist/client/locale.js +80 -36
- package/data/build/dist/client/locale.js.map +1 -1
- package/data/build/dist/client/locales/debug.d.ts +9 -0
- package/data/build/dist/client/locales/debug.d.ts.map +1 -0
- package/data/build/dist/client/locales/debug.js +163 -0
- package/data/build/dist/client/locales/debug.js.map +1 -0
- package/data/build/dist/client/locales/fileWorkspace.d.ts +9 -0
- package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -0
- package/data/build/dist/client/locales/fileWorkspace.js +139 -0
- package/data/build/dist/client/locales/fileWorkspace.js.map +1 -0
- package/data/build/dist/client/locales/git.d.ts +9 -0
- package/data/build/dist/client/locales/git.d.ts.map +1 -0
- package/data/build/dist/client/locales/git.js +223 -0
- package/data/build/dist/client/locales/git.js.map +1 -0
- package/data/build/dist/client/locales/panels.d.ts +9 -0
- package/data/build/dist/client/locales/panels.d.ts.map +1 -0
- package/data/build/dist/client/locales/panels.js +33 -0
- package/data/build/dist/client/locales/panels.js.map +1 -0
- package/data/build/dist/client/locales/peerHost.d.ts +9 -0
- package/data/build/dist/client/locales/peerHost.d.ts.map +1 -0
- package/data/build/dist/client/locales/peerHost.js +153 -0
- package/data/build/dist/client/locales/peerHost.js.map +1 -0
- package/data/build/dist/client/locales/peerHostWorkspace.d.ts +9 -0
- package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -0
- package/data/build/dist/client/locales/peerHostWorkspace.js +69 -0
- package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -0
- package/data/build/dist/client/locales/terminalAuth.d.ts +9 -0
- package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -0
- package/data/build/dist/client/locales/terminalAuth.js +67 -0
- package/data/build/dist/client/locales/terminalAuth.js.map +1 -0
- package/data/build/dist/client/locales/usage.d.ts +9 -0
- package/data/build/dist/client/locales/usage.d.ts.map +1 -0
- package/data/build/dist/client/locales/usage.js +195 -0
- package/data/build/dist/client/locales/usage.js.map +1 -0
- package/data/build/dist/client/mobile-session-interaction.d.ts +44 -0
- package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -0
- package/data/build/dist/client/mobile-session-interaction.js +291 -0
- package/data/build/dist/client/mobile-session-interaction.js.map +1 -0
- package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts +10 -2
- package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts.map +1 -1
- package/data/build/dist/client/mobile-sidebar-rail-dom.js +14 -6
- package/data/build/dist/client/mobile-sidebar-rail-dom.js.map +1 -1
- package/data/build/dist/client/peer-host-connection-button.d.ts +14 -1
- package/data/build/dist/client/peer-host-connection-button.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-connection-button.js +12 -4
- package/data/build/dist/client/peer-host-connection-button.js.map +1 -1
- package/data/build/dist/client/peer-host-management-panel.d.ts +3 -0
- package/data/build/dist/client/peer-host-management-panel.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-management-panel.js +83 -79
- package/data/build/dist/client/peer-host-management-panel.js.map +1 -1
- package/data/build/dist/client/peer-host-native-projection.d.ts +1 -0
- package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-native-projection.js +5 -0
- package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
- package/data/build/dist/client/peer-host-scoped-client.js +5 -5
- package/data/build/dist/client/peer-host-scoped-client.js.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tab.d.ts +8 -0
- package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
- package/data/build/dist/client/peer-host-workspace-tab.js +48 -28
- package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
- package/data/build/dist/client/provider-icon-assets.js +4 -0
- package/data/build/dist/client/provider-icon-assets.js.map +1 -1
- package/data/build/dist/client/provider-icons.d.ts +8 -2
- package/data/build/dist/client/provider-icons.d.ts.map +1 -1
- package/data/build/dist/client/provider-icons.js +13 -4
- package/data/build/dist/client/provider-icons.js.map +1 -1
- package/data/build/dist/client/pwa-install-prompt.d.ts +4 -1
- package/data/build/dist/client/pwa-install-prompt.d.ts.map +1 -1
- package/data/build/dist/client/pwa-install-prompt.js +8 -7
- package/data/build/dist/client/pwa-install-prompt.js.map +1 -1
- package/data/build/dist/client/quick-phrase-layout.d.ts +11 -0
- package/data/build/dist/client/quick-phrase-layout.d.ts.map +1 -1
- package/data/build/dist/client/quick-phrase-layout.js +20 -0
- package/data/build/dist/client/quick-phrase-layout.js.map +1 -1
- package/data/build/dist/client/quick-phrase-slot.d.ts.map +1 -1
- package/data/build/dist/client/quick-phrase-slot.js +20 -8
- package/data/build/dist/client/quick-phrase-slot.js.map +1 -1
- package/data/build/dist/client/session-changed-files-view.d.ts +8 -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 +71 -28
- package/data/build/dist/client/session-changed-files-view.js.map +1 -1
- package/data/build/dist/client/settings-anchor.d.ts +9 -3
- package/data/build/dist/client/settings-anchor.d.ts.map +1 -1
- package/data/build/dist/client/settings-anchor.js +8 -2
- package/data/build/dist/client/settings-anchor.js.map +1 -1
- package/data/build/dist/client/settings-section.js +3 -3
- package/data/build/dist/client/settings-section.js.map +1 -1
- package/data/build/dist/client/subscription-slot.d.ts +4 -1
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +327 -51
- package/data/build/dist/client/subscription-slot.js.map +1 -1
- package/data/build/dist/client/terminal/model.d.ts +13 -2
- package/data/build/dist/client/terminal/model.d.ts.map +1 -1
- package/data/build/dist/client/terminal/model.js +27 -7
- package/data/build/dist/client/terminal/model.js.map +1 -1
- package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
- package/data/build/dist/client/terminal/ui.js +3 -1
- package/data/build/dist/client/terminal/ui.js.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.d.ts +4 -1
- package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
- package/data/build/dist/client/terminal/xterm-view.js +19 -17
- package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
- package/data/build/dist/client/workspace-session-archive-dom.d.ts +3 -0
- package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -1
- package/data/build/dist/client/workspace-session-archive-dom.js +131 -45
- package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -1
- package/data/build/dist/client/workspace-session-logo-dom.d.ts +3 -0
- package/data/build/dist/client/workspace-session-logo-dom.d.ts.map +1 -1
- package/data/build/dist/client/workspace-session-logo-dom.js +3 -1
- package/data/build/dist/client/workspace-session-logo-dom.js.map +1 -1
- package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
- package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
- package/data/build/dist/client/workspace-session-visibility-dom.js +46 -17
- package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +10 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +20 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
- package/data/build/dist/host/browser-text.d.ts +30 -0
- package/data/build/dist/host/browser-text.d.ts.map +1 -0
- package/data/build/dist/host/browser-text.js +105 -0
- package/data/build/dist/host/browser-text.js.map +1 -0
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts +28 -2
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +73 -3
- package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-model-options.js +22 -9
- package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts +10 -0
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +105 -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 +49 -7
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts +47 -0
- package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/delegate-dispatch.js +158 -0
- package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -0
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +32 -0
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +121 -0
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -0
- 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 +5 -4
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts +16 -0
- package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +73 -0
- package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -0
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +196 -14
- 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 +21 -5
- 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 +24 -7
- 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 +22 -6
- 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 +118 -21
- 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 +25 -4
- package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts +11 -2
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +15 -6
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts +23 -0
- package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/mcode-catalog.js +120 -0
- package/data/build/dist/host/cli-adapters/mcode-catalog.js.map +1 -0
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +56 -0
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/mcode-driver.js +544 -0
- package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -0
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts +30 -5
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/model-catalog.js +83 -8
- 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 +51 -0
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +193 -0
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -0
- package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts +4 -0
- package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/native-subagent-holder.js +4 -0
- package/data/build/dist/host/cli-adapters/native-subagent-holder.js.map +1 -0
- package/data/build/dist/host/cli-adapters/native-team-proxy.js +18 -15
- package/data/build/dist/host/cli-adapters/native-team-proxy.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +45 -0
- package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/native-team-subagent.js +107 -0
- package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -0
- package/data/build/dist/host/cli-adapters/opencode-driver.js +13 -3
- package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/pi-driver.js +24 -7
- package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +8 -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 +98 -2
- package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/registry-holder.d.ts +4 -0
- package/data/build/dist/host/cli-adapters/registry-holder.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/registry-holder.js +9 -0
- package/data/build/dist/host/cli-adapters/registry-holder.js.map +1 -0
- package/data/build/dist/host/cli-adapters/registry.d.ts +13 -0
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +37 -0
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/cli-adapters/session-store.d.ts +6 -1
- package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/session-store.js +42 -4
- package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +2 -0
- 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 +30 -4
- 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 +5 -0
- package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/subagent-tool.js +66 -0
- package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-driver.d.ts +57 -0
- package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-driver.js +843 -0
- package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts +28 -0
- package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-subscription.js +212 -0
- package/data/build/dist/host/cli-adapters/zcode-subscription.js.map +1 -0
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +27 -0
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/bridge-holder.js +51 -0
- package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -0
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts +34 -0
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/bridge-server.js +135 -0
- package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -0
- package/data/build/dist/host/cli-bridge/command-code-mod.d.ts +25 -0
- package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/command-code-mod.js +60 -0
- package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -0
- package/data/build/dist/host/cli-bridge/dispatch.d.ts +19 -0
- package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/dispatch.js +90 -0
- package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -0
- package/data/build/dist/host/cli-bridge/injections.d.ts +28 -0
- package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/injections.js +131 -0
- package/data/build/dist/host/cli-bridge/injections.js.map +1 -0
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts +8 -0
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +151 -0
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -0
- package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -1
- package/data/build/dist/host/features/lan-access-dsh.js +6 -2
- package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
- package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
- package/data/build/dist/host/features/peer-host.js +2 -1
- package/data/build/dist/host/features/peer-host.js.map +1 -1
- package/data/build/dist/host/index.d.ts +4 -0
- package/data/build/dist/host/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +36 -0
- package/data/build/dist/host/index.js.map +1 -1
- package/data/build/dist/host/lan-access-dsh.d.ts +7 -1
- package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
- package/data/build/dist/host/lan-access-dsh.js +95 -19
- package/data/build/dist/host/lan-access-dsh.js.map +1 -1
- package/data/build/dist/host/login-attempt-guard.d.ts +55 -0
- package/data/build/dist/host/login-attempt-guard.d.ts.map +1 -0
- package/data/build/dist/host/login-attempt-guard.js +201 -0
- package/data/build/dist/host/login-attempt-guard.js.map +1 -0
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +3 -0
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +2 -0
- package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +1 -0
- package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +3 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts +8 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js +9 -0
- package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts +7 -0
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +31 -3
- package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
- package/data/build/dist/host/modules/pwa/pwa-assets.d.ts +6 -4
- package/data/build/dist/host/modules/pwa/pwa-assets.d.ts.map +1 -1
- package/data/build/dist/host/modules/pwa/pwa-assets.js +11 -9
- package/data/build/dist/host/modules/pwa/pwa-assets.js.map +1 -1
- package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts +3 -0
- package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts.map +1 -1
- package/data/build/dist/host/modules/pwa/pwa-session-notifications.js +6 -4
- package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -1
- package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
- package/data/build/dist/host/native-session-bridge.js +70 -52
- package/data/build/dist/host/native-session-bridge.js.map +1 -1
- package/data/build/dist/host/rpc.js +4 -1
- 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 +3 -0
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/shared/contracts/cli-adapter.d.ts +5 -0
- package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.d.ts +10 -0
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +8 -0
- package/data/build/dist/shared/contracts/config.js.map +1 -1
- package/data/build/dist/shared/contracts/peer-host.d.ts +2 -0
- package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
- package/data/build/dist/shared/contracts/subscription.d.ts +15 -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/version.d.ts +1 -1
- package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.js +1 -1
- package/data/build/dist/shared/contracts/version.js.map +1 -1
- package/data/build/dist/shared/index.d.ts +1 -1
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js.map +1 -1
- package/package.json +3 -1
- package/profile/README.md +2 -2
- package/profile/package.json +2 -2
- package/profile/version.json +1 -1
- package/version.json +1 -1
|
@@ -8,11 +8,12 @@ export function createPeerHostRemoteSummarySource(input) {
|
|
|
8
8
|
// 工作区"和"远端不可达"混成同一个错误。
|
|
9
9
|
if (visible !== null && visible.size === 0)
|
|
10
10
|
return [];
|
|
11
|
-
const [baseline, sessions] = await Promise.all([
|
|
11
|
+
const [baseline, sessions, adapterMap] = await Promise.all([
|
|
12
12
|
readWorkspaceBaseline(input.transport, input.scope, signal),
|
|
13
13
|
readSessionList(input.transport, input.scope, signal),
|
|
14
|
+
readAdapterMap(input.transport, input.scope, signal),
|
|
14
15
|
]);
|
|
15
|
-
return buildRemoteSummary(baseline, sessions, visible);
|
|
16
|
+
return buildRemoteSummary(baseline, sessions, visible, adapterMap);
|
|
16
17
|
},
|
|
17
18
|
};
|
|
18
19
|
}
|
|
@@ -63,7 +64,7 @@ async function readSessionList(transport, scope, signal) {
|
|
|
63
64
|
return record === null ? [] : [record];
|
|
64
65
|
});
|
|
65
66
|
}
|
|
66
|
-
function buildRemoteSummary(baseline, sessions, visibleWorkspaceIds) {
|
|
67
|
+
function buildRemoteSummary(baseline, sessions, visibleWorkspaceIds, adapterMap) {
|
|
67
68
|
const sessionsById = new Map();
|
|
68
69
|
for (const session of sessions) {
|
|
69
70
|
const sessionId = readString(session, ['sessionId', 'id', 'key']);
|
|
@@ -92,6 +93,10 @@ function buildRemoteSummary(baseline, sessions, visibleWorkspaceIds) {
|
|
|
92
93
|
title: readSessionTitle(session, sessionId),
|
|
93
94
|
status: session?.running === true ? 'running' : 'idle',
|
|
94
95
|
updatedAt: readTime(session),
|
|
96
|
+
...(() => {
|
|
97
|
+
const adapterId = readString(session, ['adapterId']) ?? adapterMap.get(sessionId);
|
|
98
|
+
return adapterId === undefined ? {} : { adapterId };
|
|
99
|
+
})(),
|
|
95
100
|
};
|
|
96
101
|
if (archived.has(sessionId))
|
|
97
102
|
archivedSessions.push(entry);
|
|
@@ -108,6 +113,29 @@ function buildRemoteSummary(baseline, sessions, visibleWorkspaceIds) {
|
|
|
108
113
|
}];
|
|
109
114
|
});
|
|
110
115
|
}
|
|
116
|
+
async function readAdapterMap(transport, scope, signal) {
|
|
117
|
+
if (transport.cli === undefined)
|
|
118
|
+
return new Map();
|
|
119
|
+
try {
|
|
120
|
+
const value = await transport.cli({ scope, endpoint: 'cli/session/adapter-map', payload: {}, ...(signal === undefined ? {} : { signal }) });
|
|
121
|
+
const envelope = asRecord(value);
|
|
122
|
+
const rows = envelope?.ok === true ? envelope.value : value;
|
|
123
|
+
if (!Array.isArray(rows))
|
|
124
|
+
return new Map();
|
|
125
|
+
const result = new Map();
|
|
126
|
+
for (const row of rows) {
|
|
127
|
+
const record = asRecord(row);
|
|
128
|
+
const sessionId = readString(record, ['sessionId']);
|
|
129
|
+
const adapterId = readString(record, ['adapterId']);
|
|
130
|
+
if (sessionId !== null && adapterId !== null)
|
|
131
|
+
result.set(sessionId, adapterId);
|
|
132
|
+
}
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return new Map();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
111
139
|
function readSessionTitle(session, sessionId) {
|
|
112
140
|
// 空白会话的标题由 DSH 原生 UI 显示为“新会话”,不能用 cwd 伪造正式标题。
|
|
113
141
|
if (session?.blank === true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-host-remote-summary-source.js","sourceRoot":"","sources":["../../../../../../src/host/modules/peer-host/peer-host-remote-summary-source.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"peer-host-remote-summary-source.js","sourceRoot":"","sources":["../../../../../../src/host/modules/peer-host/peer-host-remote-summary-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LanAccessDshPwaSettings } from '../../../shared/contracts/config.js';
|
|
2
|
+
import { type HostLocale } from '../../browser-text.js';
|
|
2
3
|
export declare const PWA_MANIFEST_PATH = "/manifest.webmanifest";
|
|
3
4
|
export declare const PWA_SERVICE_WORKER_PATH = "/sw.js";
|
|
4
5
|
export declare const PWA_ASSET_PREFIX = "/__codingns/pwa/";
|
|
@@ -24,19 +25,20 @@ export interface LanAccessDshPwaBundle {
|
|
|
24
25
|
readonly marker: string;
|
|
25
26
|
}
|
|
26
27
|
export interface LanAccessDshPwaProvider {
|
|
27
|
-
/** 返回当前应提供的资产;未启用时返回 null(代理保持原行为)。 */
|
|
28
|
-
snapshot(): LanAccessDshPwaBundle | null;
|
|
28
|
+
/** 返回当前应提供的资产;未启用时返回 null(代理保持原行为)。locale 只影响 manifest 描述。 */
|
|
29
|
+
snapshot(locale?: HostLocale): LanAccessDshPwaBundle | null;
|
|
29
30
|
}
|
|
30
31
|
export interface LanAccessDshPwaProviderOptions {
|
|
31
32
|
readonly readSettings: () => LanAccessDshPwaSettings;
|
|
32
33
|
}
|
|
33
|
-
/**
|
|
34
|
+
/** 按设置生成资产;设置与语言均未变化时复用上一次的字节。 */
|
|
34
35
|
export declare function createLanAccessDshPwaProvider(options: LanAccessDshPwaProviderOptions): LanAccessDshPwaProvider;
|
|
35
36
|
export declare function createLanAccessDshPwaBundle(options: {
|
|
36
37
|
readonly serviceWorker: boolean;
|
|
38
|
+
readonly locale?: HostLocale;
|
|
37
39
|
}): LanAccessDshPwaBundle;
|
|
38
40
|
/** 覆盖上游 manifest:保留名称与 start_url/scope,覆盖显示模式并补齐 PNG 图标。 */
|
|
39
|
-
export declare function createPwaManifest(): Record<string, unknown>;
|
|
41
|
+
export declare function createPwaManifest(locale?: HostLocale): Record<string, unknown>;
|
|
40
42
|
/**
|
|
41
43
|
* Service Worker 脚本。
|
|
42
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pwa-assets.d.ts","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-assets.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"pwa-assets.d.ts","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-assets.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGxE,eAAO,MAAM,iBAAiB,0BAA0B,CAAA;AACxD,eAAO,MAAM,uBAAuB,WAAW,CAAA;AAC/C,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAClD,eAAO,MAAM,mBAAmB,qBAAqB,CAAA;AACrD,eAAO,MAAM,eAAe,YAAY,CAAA;AACxC,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAC7C,eAAO,MAAM,0BAA0B,iCAAoC,CAAA;AAC3E,uCAAuC;AACvC,eAAO,MAAM,yBAAyB,iBAAiB,CAAA;AAEvD,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,aAAa,EAAE,UAAU,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAC1D,kBAAkB;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,qBAAqB,GAAG,IAAI,CAAA;CAC5D;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,uBAAuB,CAAA;CACrD;AAED,kCAAkC;AAClC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAe9G;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,qBAAqB,CAQ7I;AAsBD,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,UAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBpF;AAMD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CA6ErD"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* manifest、Service Worker、图标都在这里定义,供代理与 RPC 状态查询共用。
|
|
7
7
|
*/
|
|
8
8
|
import { CODINGNS_VERSION } from '../../../shared/contracts/version.js';
|
|
9
|
+
import { hostBrowserText } from '../../browser-text.js';
|
|
9
10
|
import { createPwaIconPng } from './pwa-icons.js';
|
|
10
11
|
export const PWA_MANIFEST_PATH = '/manifest.webmanifest';
|
|
11
12
|
export const PWA_SERVICE_WORKER_PATH = '/sw.js';
|
|
@@ -16,27 +17,28 @@ export const PWA_BACKGROUND_COLOR = '#0a0f1d';
|
|
|
16
17
|
export const PWA_NOTIFICATION_ICON_PATH = `${PWA_ASSET_PREFIX}icon-192.png`;
|
|
17
18
|
/** SW 注册脚本用来确认“这是插件自己提供的 manifest”。 */
|
|
18
19
|
export const PWA_MANIFEST_MARKER_FIELD = 'codingns4dsh';
|
|
19
|
-
/**
|
|
20
|
+
/** 按设置生成资产;设置与语言均未变化时复用上一次的字节。 */
|
|
20
21
|
export function createLanAccessDshPwaProvider(options) {
|
|
21
22
|
let cachedKey = null;
|
|
22
23
|
let cached = null;
|
|
23
24
|
return {
|
|
24
|
-
snapshot() {
|
|
25
|
+
snapshot(locale = 'zh') {
|
|
25
26
|
const settings = options.readSettings();
|
|
26
|
-
const key = `${settings.enabled ? '1' : '0'}:${settings.serviceWorker ? '1' : '0'}`;
|
|
27
|
+
const key = `${settings.enabled ? '1' : '0'}:${settings.serviceWorker ? '1' : '0'}:${locale}`;
|
|
27
28
|
if (key === cachedKey)
|
|
28
29
|
return cached;
|
|
29
30
|
cachedKey = key;
|
|
30
31
|
cached = settings.enabled
|
|
31
|
-
? createLanAccessDshPwaBundle({ serviceWorker: settings.serviceWorker })
|
|
32
|
+
? createLanAccessDshPwaBundle({ serviceWorker: settings.serviceWorker, locale })
|
|
32
33
|
: null;
|
|
33
34
|
return cached;
|
|
34
35
|
},
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
38
|
export function createLanAccessDshPwaBundle(options) {
|
|
39
|
+
const locale = options.locale ?? 'zh';
|
|
38
40
|
return {
|
|
39
|
-
manifest: encodeManifest(),
|
|
41
|
+
manifest: encodeManifest(locale),
|
|
40
42
|
serviceWorker: options.serviceWorker ? encodeServiceWorker() : null,
|
|
41
43
|
assets: createIconAssets(),
|
|
42
44
|
marker: PWA_MANIFEST_MARKER,
|
|
@@ -62,11 +64,11 @@ function createIconAssets() {
|
|
|
62
64
|
return assets;
|
|
63
65
|
}
|
|
64
66
|
/** 覆盖上游 manifest:保留名称与 start_url/scope,覆盖显示模式并补齐 PNG 图标。 */
|
|
65
|
-
export function createPwaManifest() {
|
|
67
|
+
export function createPwaManifest(locale = 'zh') {
|
|
66
68
|
return {
|
|
67
69
|
name: 'DeepSeek Harness',
|
|
68
70
|
short_name: 'DSH',
|
|
69
|
-
description:
|
|
71
|
+
description: hostBrowserText(locale, 'manifest.description'),
|
|
70
72
|
start_url: './',
|
|
71
73
|
scope: './',
|
|
72
74
|
display: 'standalone',
|
|
@@ -86,8 +88,8 @@ export function createPwaManifest() {
|
|
|
86
88
|
},
|
|
87
89
|
};
|
|
88
90
|
}
|
|
89
|
-
function encodeManifest() {
|
|
90
|
-
return new TextEncoder().encode(`${JSON.stringify(createPwaManifest(), null, 2)}\n`);
|
|
91
|
+
function encodeManifest(locale) {
|
|
92
|
+
return new TextEncoder().encode(`${JSON.stringify(createPwaManifest(locale), null, 2)}\n`);
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
95
|
* Service Worker 脚本。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pwa-assets.js","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-assets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAA;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAA;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAA;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAC7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,gBAAgB,cAAc,CAAA;AAC3E,uCAAuC;AACvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAA;AA4BvD,
|
|
1
|
+
{"version":3,"file":"pwa-assets.js","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { PwaPushPayload } from './pwa-push.js';
|
|
2
|
+
import { type HostLocale } from '../../browser-text.js';
|
|
2
3
|
/** 会话事件通知的最小输入,避免通知模块依赖 DSH 私有 Session 类型。 */
|
|
3
4
|
export interface PwaSessionNotificationInput {
|
|
4
5
|
readonly session: unknown;
|
|
5
6
|
readonly event: unknown;
|
|
7
|
+
/** Host 侧语言;缺省回退 `zh`,与改造前行为一致。 */
|
|
8
|
+
readonly locale?: HostLocale;
|
|
6
9
|
}
|
|
7
10
|
/**
|
|
8
11
|
* 将 DSH 原生会话事件投影为 PWA 推送载荷。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pwa-session-notifications.d.ts","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-session-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"pwa-session-notifications.d.ts","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-session-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAExE,8CAA8C;AAC9C,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,mCAAmC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,GAAG,cAAc,GAAG,IAAI,CAyBtG"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hostBrowserText } from '../../browser-text.js';
|
|
1
2
|
/**
|
|
2
3
|
* 将 DSH 原生会话事件投影为 PWA 推送载荷。
|
|
3
4
|
*
|
|
@@ -5,6 +6,7 @@
|
|
|
5
6
|
* 因此这里只读取稳定字符串字段并按语义分类;无法识别的事件安静忽略。
|
|
6
7
|
*/
|
|
7
8
|
export function createPwaSessionNotification(input) {
|
|
9
|
+
const locale = input.locale ?? 'zh';
|
|
8
10
|
const sessionId = readSessionId(input.session);
|
|
9
11
|
if (sessionId === null)
|
|
10
12
|
return null;
|
|
@@ -15,16 +17,16 @@ export function createPwaSessionNotification(input) {
|
|
|
15
17
|
const url = `/?sessionId=${encodeURIComponent(sessionId)}`;
|
|
16
18
|
if (normalized === 'turn_end' || normalized.endsWith('_turn_end')) {
|
|
17
19
|
return {
|
|
18
|
-
title:
|
|
19
|
-
body:
|
|
20
|
+
title: hostBrowserText(locale, 'push.turnEndTitle'),
|
|
21
|
+
body: hostBrowserText(locale, 'push.turnEndBody', { sessionId }),
|
|
20
22
|
tag: `codingns4dsh-turn-${sessionId}`,
|
|
21
23
|
url,
|
|
22
24
|
};
|
|
23
25
|
}
|
|
24
26
|
if (isWaitingEvent(normalized)) {
|
|
25
27
|
return {
|
|
26
|
-
title:
|
|
27
|
-
body:
|
|
28
|
+
title: hostBrowserText(locale, 'push.waitingTitle'),
|
|
29
|
+
body: hostBrowserText(locale, 'push.waitingBody', { sessionId }),
|
|
28
30
|
tag: `codingns4dsh-input-${sessionId}`,
|
|
29
31
|
url,
|
|
30
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pwa-session-notifications.js","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-session-notifications.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pwa-session-notifications.js","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-session-notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAA;AAUxE;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAkC;IAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAA;IACnC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9C,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5C,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,GAAG,GAAG,eAAe,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAA;IAC1D,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC;YACnD,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC;YAChE,GAAG,EAAE,qBAAqB,SAAS,EAAE;YACrC,GAAG;SACJ,CAAA;IACH,CAAC;IACD,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC;YACnD,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC;YAChE,GAAG,EAAE,sBAAsB,SAAS,EAAE;YACtC,GAAG;SACJ,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,SAAS,IAAI,MAAM,EAAE,UAAU,CAAA;IAChE,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,QAAQ,GAAkB,IAAI,CAAA;IAClC,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACnF,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAQ;QACtE,IAAI,QAAQ,KAAK,IAAI;YAAE,QAAQ,GAAG,SAAS,CAAA;QAC3C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;IACtD,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAA;IACpC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC5C,OAAO,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,eAAe,IAAI,UAAU,KAAK,cAAc,CAAA;AAClG,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK;SACT,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;SACvC,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;WAC5B,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC;WACpC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;WAC/B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;WAC1B,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;WAC5B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-session-bridge.d.ts","sourceRoot":"","sources":["../../../../src/host/native-session-bridge.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"native-session-bridge.d.ts","sourceRoot":"","sources":["../../../../src/host/native-session-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,69 +113,76 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
|
|
|
113
113
|
// 保留已有容量并跳过等价事件,让用量更新直接落到同一个组件上。
|
|
114
114
|
const previous = latestRequestContext(session);
|
|
115
115
|
const contextKey = `${sessionId}\u0000${context.provider}\u0000${context.model}`;
|
|
116
|
+
// 该路由的稳定锚点:进程内确认的 Provider usage 优先,进程重启后从
|
|
117
|
+
// 会话日志里该路由的首个 usage 恢复。Provider 容量会随服务端变化,
|
|
118
|
+
// 路由内以首个 usage 为准;占位值、迟到值和 catalog 提示都不能改写它。
|
|
119
|
+
const anchoredWindow = confirmedContextWindows.get(contextKey)
|
|
120
|
+
?? routeFirstUsageContextWindow(session, context.provider, context.model);
|
|
116
121
|
if (previous !== null && previous.provider === context.provider && previous.model === context.model) {
|
|
117
|
-
const historicalWindow = historicalUsageContextWindow(session);
|
|
118
122
|
if (context.contextWindow === undefined) {
|
|
119
|
-
|
|
123
|
+
// Registry 在一轮开始时只能提供适配器身份:恢复该路由自己的稳定
|
|
124
|
+
// 容量,而不是继承上一条 request/context——相邻记录可能来自其他
|
|
125
|
+
// Provider,容量口径不同(例如 DSH 主模型的通用 1M 占位值)。
|
|
126
|
+
if (anchoredWindow !== undefined && previous.contextWindow !== anchoredWindow) {
|
|
120
127
|
session.append('request/context', {
|
|
121
128
|
provider: context.provider,
|
|
122
129
|
model: context.model,
|
|
123
|
-
contextWindow:
|
|
130
|
+
contextWindow: anchoredWindow,
|
|
124
131
|
});
|
|
125
132
|
}
|
|
126
133
|
return true;
|
|
127
134
|
}
|
|
128
|
-
if (previous.contextWindow === context.contextWindow
|
|
129
|
-
&& context.confirmed === true
|
|
130
|
-
&& historicalWindow !== undefined
|
|
131
|
-
&& historicalWindow !== context.contextWindow) {
|
|
132
|
-
session.append('request/context', {
|
|
133
|
-
provider: context.provider,
|
|
134
|
-
model: context.model,
|
|
135
|
-
contextWindow: historicalWindow,
|
|
136
|
-
});
|
|
137
|
-
confirmedContextWindows.set(contextKey, historicalWindow);
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
135
|
if (previous.contextWindow === context.contextWindow) {
|
|
141
|
-
if (context.confirmed === true && context.source !== 'catalog'
|
|
136
|
+
if (context.confirmed === true && context.source !== 'catalog') {
|
|
137
|
+
if (anchoredWindow !== undefined && anchoredWindow !== context.contextWindow) {
|
|
138
|
+
// 当前记录与输入一致但与已知锚点冲突:输入是占位或迟到值,
|
|
139
|
+
// 把该路由的容量写回锚点,避免错误值固化。
|
|
140
|
+
session.append('request/context', {
|
|
141
|
+
provider: context.provider,
|
|
142
|
+
model: context.model,
|
|
143
|
+
contextWindow: anchoredWindow,
|
|
144
|
+
});
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
142
147
|
confirmedContextWindows.set(contextKey, context.contextWindow);
|
|
143
148
|
}
|
|
144
149
|
return true;
|
|
145
150
|
}
|
|
146
|
-
// 已经确认过的同一路由容量是会话级事实。迟到/全局 usage
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
// request/context=1M 在第二轮开始时再次成为当前窗口。
|
|
153
|
-
if (context.confirmed === true && historicalWindow !== undefined && historicalWindow !== context.contextWindow) {
|
|
154
|
-
if (previous.contextWindow !== historicalWindow) {
|
|
151
|
+
// 已经确认过的同一路由容量是会话级事实。迟到/全局 usage、新 step 的
|
|
152
|
+
// 占位值以及过期的 catalog 提示都不能覆盖它;与事实一致的修正(例如
|
|
153
|
+
// 占位值覆盖后 Provider usage 再次到达)则允许写回,让 ContextMeter
|
|
154
|
+
// 无需等待下一轮就能恢复正确分母。
|
|
155
|
+
if (anchoredWindow !== undefined && context.contextWindow !== anchoredWindow) {
|
|
156
|
+
if (previous.contextWindow !== anchoredWindow) {
|
|
155
157
|
session.append('request/context', {
|
|
156
158
|
provider: context.provider,
|
|
157
159
|
model: context.model,
|
|
158
|
-
contextWindow:
|
|
160
|
+
contextWindow: anchoredWindow,
|
|
159
161
|
});
|
|
160
162
|
}
|
|
161
|
-
confirmedContextWindows.set(contextKey, historicalWindow);
|
|
162
163
|
return true;
|
|
163
164
|
}
|
|
164
|
-
// 允许本次运行首次明确确认的 usage 修正历史遗留的路由占位值,
|
|
165
|
-
// 例如旧日志中的 1M 随后被 Codex usage 明确纠正为 258400。
|
|
166
165
|
if (context.confirmed !== true)
|
|
167
166
|
return true;
|
|
167
|
+
session.append('request/context', {
|
|
168
|
+
provider: context.provider,
|
|
169
|
+
model: context.model,
|
|
170
|
+
contextWindow: context.contextWindow,
|
|
171
|
+
});
|
|
172
|
+
if (context.source !== 'catalog')
|
|
173
|
+
confirmedContextWindows.set(contextKey, context.contextWindow);
|
|
174
|
+
return true;
|
|
168
175
|
}
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
const contextWindow = context.contextWindow ?? previous?.contextWindow;
|
|
176
|
+
// 跨路由时只恢复该路由自己的稳定容量;没有锚点时写入无容量事件,
|
|
177
|
+
// 让 Provider usage 建立第一手容量,而不是借用其他 Provider 的分母。
|
|
178
|
+
const contextWindow = anchoredWindow ?? context.contextWindow;
|
|
173
179
|
session.append('request/context', {
|
|
174
180
|
provider: context.provider,
|
|
175
181
|
model: context.model,
|
|
176
182
|
...(contextWindow === undefined ? {} : { contextWindow }),
|
|
177
183
|
});
|
|
178
|
-
if (context.confirmed === true && context.source !== 'catalog'
|
|
184
|
+
if (context.confirmed === true && context.source !== 'catalog'
|
|
185
|
+
&& context.contextWindow !== undefined && context.contextWindow === contextWindow) {
|
|
179
186
|
confirmedContextWindows.set(contextKey, context.contextWindow);
|
|
180
187
|
}
|
|
181
188
|
return true;
|
|
@@ -191,14 +198,20 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
|
|
|
191
198
|
return false;
|
|
192
199
|
try {
|
|
193
200
|
const previousContext = latestRequestContext(session);
|
|
194
|
-
|
|
201
|
+
// 只有该路由已确认的容量才能纠正 usage 样本;未确认的 request/context
|
|
202
|
+
// 可能是新 step 的占位值,不能反过来把 Provider 的真实容量改坏。
|
|
203
|
+
const anchoredWindow = previousContext === null
|
|
204
|
+
? undefined
|
|
205
|
+
: confirmedContextWindows.get(`${sessionId}\u0000${previousContext.provider}\u0000${previousContext.model}`)
|
|
206
|
+
?? routeFirstUsageContextWindow(session, previousContext.provider, previousContext.model);
|
|
207
|
+
const normalizedUsage = anchoredWindow !== undefined
|
|
195
208
|
&& usage.contextWindow !== undefined
|
|
196
|
-
&& usage.contextWindow !==
|
|
209
|
+
&& usage.contextWindow !== anchoredWindow
|
|
197
210
|
? {
|
|
198
211
|
...usage,
|
|
199
|
-
contextWindow:
|
|
212
|
+
contextWindow: anchoredWindow,
|
|
200
213
|
...(usage.contextTokens === undefined ? {} : {
|
|
201
|
-
contextUsageRatio: Number(Math.min(1, usage.contextTokens /
|
|
214
|
+
contextUsageRatio: Number(Math.min(1, usage.contextTokens / anchoredWindow).toFixed(6)),
|
|
202
215
|
}),
|
|
203
216
|
}
|
|
204
217
|
: usage;
|
|
@@ -575,7 +588,13 @@ function latestRequestContext(session) {
|
|
|
575
588
|
}
|
|
576
589
|
return null;
|
|
577
590
|
}
|
|
578
|
-
|
|
591
|
+
/**
|
|
592
|
+
* 按路由统计首个 usage 的上下文容量:同时依次穿越 request/context 与
|
|
593
|
+
* assistant/attempt,把每条 usage 归属到最近一次声明的路由。窗口在会话内
|
|
594
|
+
* 恒定,首个 usage 是该路由最可信的第一手事实;后续被占位值污染或 Provider
|
|
595
|
+
* 服务端变化产生的不同值都不能视为“新事实”。
|
|
596
|
+
*/
|
|
597
|
+
function routeFirstUsageContextWindow(session, provider, model) {
|
|
579
598
|
let events;
|
|
580
599
|
try {
|
|
581
600
|
events = session.snapshotEvents();
|
|
@@ -583,28 +602,27 @@ function historicalUsageContextWindow(session) {
|
|
|
583
602
|
catch {
|
|
584
603
|
return undefined;
|
|
585
604
|
}
|
|
586
|
-
|
|
605
|
+
let matchesRoute = false;
|
|
587
606
|
for (const candidate of events) {
|
|
588
|
-
const event = isRecord(candidate)
|
|
589
|
-
|
|
607
|
+
const event = isRecord(candidate) ? candidate : null;
|
|
608
|
+
if (event?.type === 'request/context') {
|
|
609
|
+
const data = isRecord(event.data) ? event.data : null;
|
|
610
|
+
matchesRoute = data?.provider === provider && data.model === model;
|
|
611
|
+
continue;
|
|
612
|
+
}
|
|
613
|
+
if (event?.type !== 'assistant/attempt' || !matchesRoute)
|
|
614
|
+
continue;
|
|
615
|
+
const data = isRecord(event.data) ? event.data : null;
|
|
590
616
|
const stream = Array.isArray(data?.stream) ? data.stream : [];
|
|
591
617
|
for (const entry of stream) {
|
|
592
618
|
const chunk = isRecord(entry) && isRecord(entry.chunk) ? entry.chunk : null;
|
|
593
619
|
const usage = isRecord(chunk?.usage) ? chunk.usage : null;
|
|
594
620
|
const window = usage?.contextWindow;
|
|
595
621
|
if (typeof window === 'number' && Number.isFinite(window) && window > 0)
|
|
596
|
-
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
let selected;
|
|
600
|
-
let count = 0;
|
|
601
|
-
for (const [window, occurrences] of counts) {
|
|
602
|
-
if (occurrences >= count) {
|
|
603
|
-
selected = window;
|
|
604
|
-
count = occurrences;
|
|
622
|
+
return window;
|
|
605
623
|
}
|
|
606
624
|
}
|
|
607
|
-
return
|
|
625
|
+
return undefined;
|
|
608
626
|
}
|
|
609
627
|
function activeStep(session) {
|
|
610
628
|
let events;
|