@jingyi0605/codingns4dsh 0.2.1-beta.8 → 0.2.1-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 +8 -6
- package/README.md +14 -7
- package/assets/provider-icons/magpie.png +0 -0
- 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.d.ts.map +1 -1
- package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +26 -1
- 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/account-bar.d.ts.map +1 -1
- package/data/build/dist/client/account-bar.js +57 -91
- package/data/build/dist/client/account-bar.js.map +1 -1
- package/data/build/dist/client/adapter-catalog-watch.d.ts +10 -2
- package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -1
- package/data/build/dist/client/adapter-catalog-watch.js +16 -4
- package/data/build/dist/client/adapter-catalog-watch.js.map +1 -1
- package/data/build/dist/client/avatar/desktop-bridge.js +1 -1
- package/data/build/dist/client/avatar/desktop-bridge.js.map +1 -1
- package/data/build/dist/client/avatar/desktop-view.d.ts +3 -1
- package/data/build/dist/client/avatar/desktop-view.d.ts.map +1 -1
- package/data/build/dist/client/avatar/desktop-view.js +31 -12
- package/data/build/dist/client/avatar/desktop-view.js.map +1 -1
- package/data/build/dist/client/avatar/notification-bubble.d.ts +7 -1
- package/data/build/dist/client/avatar/notification-bubble.d.ts.map +1 -1
- package/data/build/dist/client/avatar/notification-bubble.js +68 -33
- package/data/build/dist/client/avatar/notification-bubble.js.map +1 -1
- package/data/build/dist/client/bundle.js +54814 -34268
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/cli-management-dialog.d.ts +21 -0
- package/data/build/dist/client/cli-management-dialog.d.ts.map +1 -0
- package/data/build/dist/client/cli-management-dialog.js +215 -0
- package/data/build/dist/client/cli-management-dialog.js.map +1 -0
- package/data/build/dist/client/cli-management-terminal.d.ts +9 -0
- package/data/build/dist/client/cli-management-terminal.d.ts.map +1 -0
- package/data/build/dist/client/cli-management-terminal.js +30 -0
- package/data/build/dist/client/cli-management-terminal.js.map +1 -0
- package/data/build/dist/client/cli-settings-dialog.d.ts +9 -0
- package/data/build/dist/client/cli-settings-dialog.d.ts.map +1 -0
- package/data/build/dist/client/cli-settings-dialog.js +45 -0
- package/data/build/dist/client/cli-settings-dialog.js.map +1 -0
- package/data/build/dist/client/cli-settings-rpc.js +1 -1
- package/data/build/dist/client/cli-settings-rpc.js.map +1 -1
- package/data/build/dist/client/cli-slots.d.ts +17 -3
- package/data/build/dist/client/cli-slots.d.ts.map +1 -1
- package/data/build/dist/client/cli-slots.js +321 -38
- package/data/build/dist/client/cli-slots.js.map +1 -1
- package/data/build/dist/client/client.assistant-configuration-view.js +4 -3
- package/data/build/dist/client/client.assistant-configuration-view.js.map +1 -1
- package/data/build/dist/client/client.assistant-notifications.js.map +1 -1
- package/data/build/dist/client/client.delegate-command.js +50 -32
- package/data/build/dist/client/client.delegate-command.js.map +1 -1
- package/data/build/dist/client/client.editor-engine.js +4 -1
- package/data/build/dist/client/client.editor-engine.js.map +1 -1
- package/data/build/dist/client/{client.model-catalog-cache.js → client.magpie-model-tag.js} +241 -12
- package/data/build/dist/client/client.magpie-model-tag.js.map +1 -0
- package/data/build/dist/client/client.moss-voice-output.js +415 -0
- package/data/build/dist/client/client.moss-voice-output.js.map +1 -0
- package/data/build/dist/client/client.native-workspace-store.js +103 -17
- package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
- package/data/build/dist/client/client.primitives-adapter.js +128 -0
- package/data/build/dist/client/client.primitives-adapter.js.map +1 -1
- package/data/build/dist/client/client.react-dom.js +0 -404
- package/data/build/dist/client/client.react-dom.js.map +1 -1
- package/data/build/dist/client/client.session-translation.js +173 -0
- package/data/build/dist/client/client.session-translation.js.map +1 -0
- package/data/build/dist/client/client.transport.js +813 -48
- package/data/build/dist/client/client.transport.js.map +1 -1
- package/data/build/dist/client/conversation-translation-settings.d.ts +11 -0
- package/data/build/dist/client/conversation-translation-settings.d.ts.map +1 -0
- package/data/build/dist/client/conversation-translation-settings.js +54 -0
- package/data/build/dist/client/conversation-translation-settings.js.map +1 -0
- package/data/build/dist/client/delegate-command.d.ts.map +1 -1
- package/data/build/dist/client/delegate-command.js +36 -7
- package/data/build/dist/client/delegate-command.js.map +1 -1
- package/data/build/dist/client/desktop-assistant.js +1408 -544
- package/data/build/dist/client/editor-engine.d.ts +1 -1
- package/data/build/dist/client/editor-engine.d.ts.map +1 -1
- package/data/build/dist/client/editor-engine.js +4 -1
- package/data/build/dist/client/editor-engine.js.map +1 -1
- package/data/build/dist/client/features/assistant-notification-store.d.ts +1 -1
- package/data/build/dist/client/features/assistant-notification-store.d.ts.map +1 -1
- package/data/build/dist/client/features/assistant-notification-store.js +1 -1
- package/data/build/dist/client/features/assistant-notification-store.js.map +1 -1
- package/data/build/dist/client/features/cli-adapters.d.ts +3 -1
- package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
- package/data/build/dist/client/features/cli-adapters.js +207 -112
- package/data/build/dist/client/features/cli-adapters.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 +18 -0
- package/data/build/dist/client/features/file-management.js.map +1 -1
- package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -1
- package/data/build/dist/client/features/global-voice-assistant.js +12 -6
- package/data/build/dist/client/features/global-voice-assistant.js.map +1 -1
- package/data/build/dist/client/features/index.d.ts +1 -0
- package/data/build/dist/client/features/index.d.ts.map +1 -1
- package/data/build/dist/client/features/index.js +5 -0
- package/data/build/dist/client/features/index.js.map +1 -1
- package/data/build/dist/client/features/lan-access-panel.d.ts.map +1 -1
- package/data/build/dist/client/features/lan-access-panel.js +1 -0
- package/data/build/dist/client/features/lan-access-panel.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 +7 -0
- 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 +105 -17
- package/data/build/dist/client/features/peer-host.js.map +1 -1
- package/data/build/dist/client/features/quick-apps.d.ts +3 -0
- package/data/build/dist/client/features/quick-apps.d.ts.map +1 -0
- package/data/build/dist/client/features/quick-apps.js +14 -0
- package/data/build/dist/client/features/quick-apps.js.map +1 -0
- package/data/build/dist/client/features/session-translation.d.ts +3 -0
- package/data/build/dist/client/features/session-translation.d.ts.map +1 -0
- package/data/build/dist/client/features/session-translation.js +117 -0
- package/data/build/dist/client/features/session-translation.js.map +1 -0
- package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
- package/data/build/dist/client/features/workspace-session-enhancement.js +6 -0
- package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
- package/data/build/dist/client/file-management-dom.d.ts +20 -1
- package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
- package/data/build/dist/client/file-management-dom.js +94 -18
- package/data/build/dist/client/file-management-dom.js.map +1 -1
- package/data/build/dist/client/file-viewer-copy-path-menu.d.ts +27 -0
- package/data/build/dist/client/file-viewer-copy-path-menu.d.ts.map +1 -0
- package/data/build/dist/client/file-viewer-copy-path-menu.js +101 -0
- package/data/build/dist/client/file-viewer-copy-path-menu.js.map +1 -0
- package/data/build/dist/client/git-management-settings.d.ts +4 -0
- package/data/build/dist/client/git-management-settings.d.ts.map +1 -0
- package/data/build/dist/client/git-management-settings.js +73 -0
- package/data/build/dist/client/git-management-settings.js.map +1 -0
- package/data/build/dist/client/git-management.d.ts +2 -1
- package/data/build/dist/client/git-management.d.ts.map +1 -1
- package/data/build/dist/client/git-management.js +55 -34
- package/data/build/dist/client/git-management.js.map +1 -1
- package/data/build/dist/client/git-panel-styles.d.ts +4 -0
- package/data/build/dist/client/git-panel-styles.d.ts.map +1 -1
- package/data/build/dist/client/git-panel-styles.js +14 -0
- package/data/build/dist/client/git-panel-styles.js.map +1 -1
- package/data/build/dist/client/html-workspace-files.d.ts +4 -0
- package/data/build/dist/client/html-workspace-files.d.ts.map +1 -0
- package/data/build/dist/client/html-workspace-files.js +114 -0
- package/data/build/dist/client/html-workspace-files.js.map +1 -0
- package/data/build/dist/client/index.d.ts.map +1 -1
- package/data/build/dist/client/index.js +6 -1
- package/data/build/dist/client/index.js.map +1 -1
- package/data/build/dist/client/locale.d.ts.map +1 -1
- package/data/build/dist/client/locale.js +22 -2
- package/data/build/dist/client/locale.js.map +1 -1
- package/data/build/dist/client/locales/cliManagement.d.ts +3 -0
- package/data/build/dist/client/locales/cliManagement.d.ts.map +1 -0
- package/data/build/dist/client/locales/cliManagement.js +155 -0
- package/data/build/dist/client/locales/cliManagement.js.map +1 -0
- package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
- package/data/build/dist/client/locales/fileWorkspace.js +8 -0
- package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
- package/data/build/dist/client/locales/git.d.ts.map +1 -1
- package/data/build/dist/client/locales/git.js +30 -2
- package/data/build/dist/client/locales/git.js.map +1 -1
- package/data/build/dist/client/locales/panels.d.ts.map +1 -1
- package/data/build/dist/client/locales/panels.js +154 -0
- package/data/build/dist/client/locales/panels.js.map +1 -1
- package/data/build/dist/client/locales/peerHost.d.ts.map +1 -1
- package/data/build/dist/client/locales/peerHost.js +2 -0
- package/data/build/dist/client/locales/peerHost.js.map +1 -1
- package/data/build/dist/client/locales/quickApps.d.ts +136 -0
- package/data/build/dist/client/locales/quickApps.d.ts.map +1 -0
- package/data/build/dist/client/locales/quickApps.js +162 -0
- package/data/build/dist/client/locales/quickApps.js.map +1 -0
- package/data/build/dist/client/locales/usage.d.ts.map +1 -1
- package/data/build/dist/client/locales/usage.js +98 -0
- package/data/build/dist/client/locales/usage.js.map +1 -1
- package/data/build/dist/client/magpie-model-tag.d.ts +8 -0
- package/data/build/dist/client/magpie-model-tag.d.ts.map +1 -0
- package/data/build/dist/client/magpie-model-tag.js +50 -0
- package/data/build/dist/client/magpie-model-tag.js.map +1 -0
- package/data/build/dist/client/mobile-team-panel-dom.d.ts +14 -0
- package/data/build/dist/client/mobile-team-panel-dom.d.ts.map +1 -0
- package/data/build/dist/client/mobile-team-panel-dom.js +164 -0
- package/data/build/dist/client/mobile-team-panel-dom.js.map +1 -0
- package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
- package/data/build/dist/client/model-catalog-cache.js +66 -12
- package/data/build/dist/client/model-catalog-cache.js.map +1 -1
- package/data/build/dist/client/model-priority-pool.d.ts +23 -0
- package/data/build/dist/client/model-priority-pool.d.ts.map +1 -0
- package/data/build/dist/client/model-priority-pool.js +245 -0
- package/data/build/dist/client/model-priority-pool.js.map +1 -0
- package/data/build/dist/client/native-model-translation-menu.d.ts +13 -0
- package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -0
- package/data/build/dist/client/native-model-translation-menu.js +159 -0
- package/data/build/dist/client/native-model-translation-menu.js.map +1 -0
- package/data/build/dist/client/native-translation-default.d.ts +6 -0
- package/data/build/dist/client/native-translation-default.d.ts.map +1 -0
- package/data/build/dist/client/native-translation-default.js +30 -0
- package/data/build/dist/client/native-translation-default.js.map +1 -0
- package/data/build/dist/client/provider-icons.d.ts.map +1 -1
- package/data/build/dist/client/provider-icons.js +3 -1
- package/data/build/dist/client/provider-icons.js.map +1 -1
- package/data/build/dist/client/quick-apps/browser-storage.d.ts +24 -0
- package/data/build/dist/client/quick-apps/browser-storage.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/browser-storage.js +114 -0
- package/data/build/dist/client/quick-apps/browser-storage.js.map +1 -0
- package/data/build/dist/client/quick-apps/client.d.ts +31 -0
- package/data/build/dist/client/quick-apps/client.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/client.js +68 -0
- package/data/build/dist/client/quick-apps/client.js.map +1 -0
- package/data/build/dist/client/quick-apps/document.d.ts +26 -0
- package/data/build/dist/client/quick-apps/document.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/document.js +110 -0
- package/data/build/dist/client/quick-apps/document.js.map +1 -0
- package/data/build/dist/client/quick-apps/file-picker.d.ts +14 -0
- package/data/build/dist/client/quick-apps/file-picker.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/file-picker.js +51 -0
- package/data/build/dist/client/quick-apps/file-picker.js.map +1 -0
- package/data/build/dist/client/quick-apps/launcher.d.ts +7 -0
- package/data/build/dist/client/quick-apps/launcher.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/launcher.js +267 -0
- package/data/build/dist/client/quick-apps/launcher.js.map +1 -0
- package/data/build/dist/client/quick-apps/presentation.d.ts +16 -0
- package/data/build/dist/client/quick-apps/presentation.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/presentation.js +47 -0
- package/data/build/dist/client/quick-apps/presentation.js.map +1 -0
- package/data/build/dist/client/quick-apps/rail-preference.d.ts +5 -0
- package/data/build/dist/client/quick-apps/rail-preference.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/rail-preference.js +19 -0
- package/data/build/dist/client/quick-apps/rail-preference.js.map +1 -0
- package/data/build/dist/client/quick-apps/reorder-animation.d.ts +6 -0
- package/data/build/dist/client/quick-apps/reorder-animation.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/reorder-animation.js +50 -0
- package/data/build/dist/client/quick-apps/reorder-animation.js.map +1 -0
- package/data/build/dist/client/quick-apps/reorder.d.ts +26 -0
- package/data/build/dist/client/quick-apps/reorder.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/reorder.js +128 -0
- package/data/build/dist/client/quick-apps/reorder.js.map +1 -0
- package/data/build/dist/client/quick-apps/styles.d.ts +3 -0
- package/data/build/dist/client/quick-apps/styles.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/styles.js +153 -0
- package/data/build/dist/client/quick-apps/styles.js.map +1 -0
- package/data/build/dist/client/quick-apps/ui.d.ts +20 -0
- package/data/build/dist/client/quick-apps/ui.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/ui.js +21 -0
- package/data/build/dist/client/quick-apps/ui.js.map +1 -0
- package/data/build/dist/client/quick-apps/viewer.d.ts +16 -0
- package/data/build/dist/client/quick-apps/viewer.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/viewer.js +165 -0
- package/data/build/dist/client/quick-apps/viewer.js.map +1 -0
- package/data/build/dist/client/quick-apps/workspace-picker.d.ts +19 -0
- package/data/build/dist/client/quick-apps/workspace-picker.d.ts.map +1 -0
- package/data/build/dist/client/quick-apps/workspace-picker.js +30 -0
- package/data/build/dist/client/quick-apps/workspace-picker.js.map +1 -0
- package/data/build/dist/client/session-file-links.d.ts +11 -0
- package/data/build/dist/client/session-file-links.d.ts.map +1 -0
- package/data/build/dist/client/{peer-host-file-links.js → session-file-links.js} +13 -3
- package/data/build/dist/client/session-file-links.js.map +1 -0
- package/data/build/dist/client/session-translation-chat.d.ts +72 -0
- package/data/build/dist/client/session-translation-chat.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-chat.js +874 -0
- package/data/build/dist/client/session-translation-chat.js.map +1 -0
- package/data/build/dist/client/session-translation-interactions.d.ts +31 -0
- package/data/build/dist/client/session-translation-interactions.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-interactions.js +158 -0
- package/data/build/dist/client/session-translation-interactions.js.map +1 -0
- package/data/build/dist/client/session-translation-pending-dom.d.ts +8 -0
- package/data/build/dist/client/session-translation-pending-dom.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-pending-dom.js +58 -0
- package/data/build/dist/client/session-translation-pending-dom.js.map +1 -0
- package/data/build/dist/client/session-translation-retry.d.ts +16 -0
- package/data/build/dist/client/session-translation-retry.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-retry.js +66 -0
- package/data/build/dist/client/session-translation-retry.js.map +1 -0
- package/data/build/dist/client/session-translation-rules.d.ts +13 -0
- package/data/build/dist/client/session-translation-rules.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-rules.js +58 -0
- package/data/build/dist/client/session-translation-rules.js.map +1 -0
- package/data/build/dist/client/sidebar-footer-style.d.ts +13 -0
- package/data/build/dist/client/sidebar-footer-style.d.ts.map +1 -0
- package/data/build/dist/client/sidebar-footer-style.js +54 -0
- package/data/build/dist/client/sidebar-footer-style.js.map +1 -0
- package/data/build/dist/client/style.css +276 -276
- package/data/build/dist/client/subscription-slot.d.ts +6 -2
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +373 -21
- package/data/build/dist/client/subscription-slot.js.map +1 -1
- package/data/build/dist/client/terminal/model.d.ts.map +1 -1
- package/data/build/dist/client/terminal/model.js +2 -1
- package/data/build/dist/client/terminal/model.js.map +1 -1
- package/data/build/dist/client/workspace-session-archive-dom.d.ts +1 -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 +68 -8
- package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -1
- package/data/build/dist/client/workspace-session-rightbar-dom.d.ts.map +1 -1
- package/data/build/dist/client/workspace-session-rightbar-dom.js +12 -21
- package/data/build/dist/client/workspace-session-rightbar-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 +66 -17
- package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.d.ts +1 -1
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.js +28 -2
- package/data/build/dist/dsh-capabilities/client/assistant-session-navigation-adapter.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.d.ts +8 -0
- package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.js +71 -0
- package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts +4 -0
- package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js +8 -0
- package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts +30 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js +93 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts +12 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js +181 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.d.ts +19 -0
- package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.js +39 -0
- package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.d.ts +3 -0
- package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.js +27 -0
- package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +36 -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 +88 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts +20 -0
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.js +65 -0
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts +18 -0
- package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js +11 -0
- package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts +9 -0
- package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +75 -0
- package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts +3 -0
- package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js +22 -0
- package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts +32 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js +90 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts +52 -0
- package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js +109 -0
- package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.d.ts +10 -0
- package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.js +34 -0
- package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.d.ts +21 -0
- package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.js +11 -0
- package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts +11 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js +97 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts +36 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js +164 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts +44 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js +240 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts +37 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js +35 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts +13 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js +30 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts +21 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js +132 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts +10 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-transport.js +33 -0
- package/data/build/dist/dsh-capabilities/host/quick-app-transport.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-activation-adapter.d.ts +17 -0
- package/data/build/dist/dsh-capabilities/host/session-activation-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-activation-adapter.js +37 -0
- package/data/build/dist/dsh-capabilities/host/session-activation-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts +17 -0
- package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js +45 -0
- package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts +7 -0
- package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js +18 -0
- package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.d.ts +28 -0
- package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.js +31 -0
- package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts +13 -0
- package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js +24 -0
- package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/matrix.js +22 -5
- package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.d.ts +1 -0
- package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.js +47 -3
- package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/types.js.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +21 -0
- package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js +106 -6
- package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.js +1 -1
- package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +4 -3
- package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/attachment-utils.js +9 -8
- package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/binary-detection.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/binary-detection.js +7 -3
- package/data/build/dist/host/cli-adapters/binary-detection.js.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts +1 -0
- package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/claude-driver.js +184 -21
- package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts +28 -1
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +198 -34
- package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts +91 -0
- package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/codex-performance-projection.js +8 -0
- package/data/build/dist/host/cli-adapters/codex-performance-projection.js.map +1 -0
- package/data/build/dist/host/cli-adapters/codex-performance.d.ts +16 -0
- package/data/build/dist/host/cli-adapters/codex-performance.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/codex-performance.js +81 -0
- package/data/build/dist/host/cli-adapters/codex-performance.js.map +1 -0
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts +12 -2
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +158 -3
- package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +8 -2
- 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 +39 -7
- package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-history.d.ts +27 -0
- package/data/build/dist/host/cli-adapters/command-code-history.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-history.js +131 -1
- package/data/build/dist/host/cli-adapters/command-code-history.js.map +1 -1
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +9 -9
- package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +3 -1
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +41 -4
- package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -1
- package/data/build/dist/host/cli-adapters/driver.d.ts +2 -0
- 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 +16 -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 +120 -13
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-tool-history.js +3 -2
- package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +3 -2
- package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.d.ts +4 -0
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +806 -53
- 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 +5 -3
- package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts +7 -0
- package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-driver.js +558 -98
- package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts +123 -0
- package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/grok-performance-projection.js +48 -0
- package/data/build/dist/host/cli-adapters/grok-performance-projection.js.map +1 -0
- package/data/build/dist/host/cli-adapters/grok-usage.d.ts +45 -0
- package/data/build/dist/host/cli-adapters/grok-usage.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/grok-usage.js +197 -0
- package/data/build/dist/host/cli-adapters/grok-usage.js.map +1 -0
- package/data/build/dist/host/cli-adapters/kimi-driver.js +2 -2
- 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.map +1 -1
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +20 -3
- package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
- package/data/build/dist/host/cli-adapters/legacy-session-settings.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/legacy-session-settings.js +7 -2
- package/data/build/dist/host/cli-adapters/legacy-session-settings.js.map +1 -1
- package/data/build/dist/host/cli-adapters/magpie-session-routing.d.ts +9 -0
- package/data/build/dist/host/cli-adapters/magpie-session-routing.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-session-routing.js +90 -0
- package/data/build/dist/host/cli-adapters/magpie-session-routing.js.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +90 -0
- package/data/build/dist/host/cli-adapters/magpie-usage.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-usage.js +986 -0
- package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -0
- package/data/build/dist/host/cli-adapters/management-installation.d.ts +5 -0
- package/data/build/dist/host/cli-adapters/management-installation.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/management-installation.js +131 -0
- package/data/build/dist/host/cli-adapters/management-installation.js.map +1 -0
- package/data/build/dist/host/cli-adapters/management-methods.d.ts +37 -0
- package/data/build/dist/host/cli-adapters/management-methods.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/management-methods.js +144 -0
- package/data/build/dist/host/cli-adapters/management-methods.js.map +1 -0
- package/data/build/dist/host/cli-adapters/management-process.d.ts +7 -0
- package/data/build/dist/host/cli-adapters/management-process.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/management-process.js +62 -0
- package/data/build/dist/host/cli-adapters/management-process.js.map +1 -0
- package/data/build/dist/host/cli-adapters/management.d.ts +32 -0
- package/data/build/dist/host/cli-adapters/management.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/management.js +177 -0
- package/data/build/dist/host/cli-adapters/management.js.map +1 -0
- package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/mcode-driver.js +12 -5
- package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/model-catalog.d.ts +1 -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 +70 -7
- 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 +1 -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 +13 -5
- 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 -1
- 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 +6 -3
- 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 +26 -2
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.js +183 -48
- package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts +1 -1
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +67 -7
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.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 +45 -11
- package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.d.ts +2 -0
- package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/process-utils.js +16 -11
- package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
- package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +5 -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 +90 -25
- package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.d.ts +7 -1
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +163 -56
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts +74 -0
- package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/session-performance-projection.js +83 -0
- package/data/build/dist/host/cli-adapters/session-performance-projection.js.map +1 -0
- package/data/build/dist/host/cli-adapters/session-store.d.ts +1 -0
- package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/session-store.js +3 -0
- 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.map +1 -1
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js +4 -0
- package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts +3 -1
- package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/stream-normalizer.js +2 -0
- package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.d.ts +26 -0
- package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.js +30 -0
- package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.js.map +1 -0
- package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/subagent-tool.js +7 -6
- package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
- package/data/build/dist/host/cli-adapters/team-input.d.ts +17 -0
- package/data/build/dist/host/cli-adapters/team-input.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/team-input.js +67 -0
- package/data/build/dist/host/cli-adapters/team-input.js.map +1 -0
- package/data/build/dist/host/cli-adapters/update-check.d.ts +34 -0
- package/data/build/dist/host/cli-adapters/update-check.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/update-check.js +263 -0
- package/data/build/dist/host/cli-adapters/update-check.js.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/zcode-driver.js +7 -2
- package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/zcode-update.d.ts +8 -0
- package/data/build/dist/host/cli-adapters/zcode-update.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/zcode-update.js +149 -0
- package/data/build/dist/host/cli-adapters/zcode-update.js.map +1 -0
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +14 -0
- package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-holder.js +53 -6
- package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts +8 -0
- package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/bridge-server.js +65 -8
- package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
- package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/command-code-mod.js +149 -21
- package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.js +20 -20
- package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
- package/data/build/dist/host/cli-bridge/fetch-dispatch.d.ts +23 -0
- package/data/build/dist/host/cli-bridge/fetch-dispatch.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/fetch-dispatch.js +73 -0
- package/data/build/dist/host/cli-bridge/fetch-dispatch.js.map +1 -0
- package/data/build/dist/host/cli-bridge/injections.d.ts +46 -0
- package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.js +205 -7
- package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts +1 -1
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +122 -27
- package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
- package/data/build/dist/host/cli-bridge/pi-extension-entry.d.ts +3 -0
- package/data/build/dist/host/cli-bridge/pi-extension-entry.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/pi-extension-entry.js +9 -0
- package/data/build/dist/host/cli-bridge/pi-extension-entry.js.map +1 -0
- package/data/build/dist/host/cli-bridge/pi-extension.d.ts +52 -0
- package/data/build/dist/host/cli-bridge/pi-extension.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/pi-extension.js +311 -0
- package/data/build/dist/host/cli-bridge/pi-extension.js.map +1 -0
- package/data/build/dist/host/cli-bridge/search-dispatch.d.ts +20 -0
- package/data/build/dist/host/cli-bridge/search-dispatch.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/search-dispatch.js +61 -0
- package/data/build/dist/host/cli-bridge/search-dispatch.js.map +1 -0
- package/data/build/dist/host/cli-bridge/team-adapters.d.ts +11 -0
- package/data/build/dist/host/cli-bridge/team-adapters.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/team-adapters.js +23 -0
- package/data/build/dist/host/cli-bridge/team-adapters.js.map +1 -0
- package/data/build/dist/host/cli-bridge/team-dispatch.d.ts +28 -0
- package/data/build/dist/host/cli-bridge/team-dispatch.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/team-dispatch.js +208 -0
- package/data/build/dist/host/cli-bridge/team-dispatch.js.map +1 -0
- package/data/build/dist/host/cli-bridge/team-tool.d.ts +3 -0
- package/data/build/dist/host/cli-bridge/team-tool.d.ts.map +1 -0
- package/data/build/dist/host/cli-bridge/team-tool.js +18 -0
- package/data/build/dist/host/cli-bridge/team-tool.js.map +1 -0
- package/data/build/dist/host/desktop-assistant/controller.d.ts +1 -0
- package/data/build/dist/host/desktop-assistant/controller.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/controller.js +21 -3
- package/data/build/dist/host/desktop-assistant/controller.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/mac-agent.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/mac-agent.js +15 -3
- package/data/build/dist/host/desktop-assistant/mac-agent.js.map +1 -1
- package/data/build/dist/host/desktop-assistant/win-agent.d.ts.map +1 -1
- package/data/build/dist/host/desktop-assistant/win-agent.js +21 -3
- package/data/build/dist/host/desktop-assistant/win-agent.js.map +1 -1
- package/data/build/dist/host/features/assistant-notifications.d.ts.map +1 -1
- package/data/build/dist/host/features/assistant-notifications.js +12 -4
- package/data/build/dist/host/features/assistant-notifications.js.map +1 -1
- package/data/build/dist/host/features/file-management.d.ts.map +1 -1
- package/data/build/dist/host/features/file-management.js +10 -1
- package/data/build/dist/host/features/file-management.js.map +1 -1
- package/data/build/dist/host/features/git-commit-message.d.ts +5 -0
- package/data/build/dist/host/features/git-commit-message.d.ts.map +1 -0
- package/data/build/dist/host/features/git-commit-message.js +66 -0
- package/data/build/dist/host/features/git-commit-message.js.map +1 -0
- package/data/build/dist/host/features/git-management.d.ts +11 -2
- package/data/build/dist/host/features/git-management.d.ts.map +1 -1
- package/data/build/dist/host/features/git-management.js +61 -7
- package/data/build/dist/host/features/git-management.js.map +1 -1
- package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
- package/data/build/dist/host/features/global-voice-rpc.js +2 -3
- package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
- package/data/build/dist/host/features/index.d.ts +1 -0
- package/data/build/dist/host/features/index.d.ts.map +1 -1
- package/data/build/dist/host/features/index.js +5 -0
- package/data/build/dist/host/features/index.js.map +1 -1
- package/data/build/dist/host/features/interaction-translation.d.ts +10 -0
- package/data/build/dist/host/features/interaction-translation.d.ts.map +1 -0
- package/data/build/dist/host/features/interaction-translation.js +219 -0
- package/data/build/dist/host/features/interaction-translation.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 +3 -3
- 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 +24 -10
- package/data/build/dist/host/features/peer-host.js.map +1 -1
- package/data/build/dist/host/features/quick-apps.d.ts +4 -0
- package/data/build/dist/host/features/quick-apps.d.ts.map +1 -0
- package/data/build/dist/host/features/quick-apps.js +158 -0
- package/data/build/dist/host/features/quick-apps.js.map +1 -0
- package/data/build/dist/host/features/session-prompt-translation.d.ts +10 -0
- package/data/build/dist/host/features/session-prompt-translation.d.ts.map +1 -0
- package/data/build/dist/host/features/session-prompt-translation.js +227 -0
- package/data/build/dist/host/features/session-prompt-translation.js.map +1 -0
- package/data/build/dist/host/features/session-translation-protection.d.ts +22 -0
- package/data/build/dist/host/features/session-translation-protection.d.ts.map +1 -0
- package/data/build/dist/host/features/session-translation-protection.js +204 -0
- package/data/build/dist/host/features/session-translation-protection.js.map +1 -0
- package/data/build/dist/host/features/session-translation-recovery.d.ts +21 -0
- package/data/build/dist/host/features/session-translation-recovery.d.ts.map +1 -0
- package/data/build/dist/host/features/session-translation-recovery.js +125 -0
- package/data/build/dist/host/features/session-translation-recovery.js.map +1 -0
- package/data/build/dist/host/features/session-translation-runtime.d.ts +16 -0
- package/data/build/dist/host/features/session-translation-runtime.d.ts.map +1 -0
- package/data/build/dist/host/features/session-translation-runtime.js +85 -0
- package/data/build/dist/host/features/session-translation-runtime.js.map +1 -0
- package/data/build/dist/host/features/session-translation-service.d.ts +46 -0
- package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -0
- package/data/build/dist/host/features/session-translation-service.js +490 -0
- package/data/build/dist/host/features/session-translation-service.js.map +1 -0
- package/data/build/dist/host/features/session-translation.d.ts +5 -0
- package/data/build/dist/host/features/session-translation.d.ts.map +1 -0
- package/data/build/dist/host/features/session-translation.js +40 -0
- package/data/build/dist/host/features/session-translation.js.map +1 -0
- package/data/build/dist/host/features/types.d.ts +13 -0
- package/data/build/dist/host/features/types.d.ts.map +1 -1
- package/data/build/dist/host/html-workspace-files.d.ts +3 -0
- package/data/build/dist/host/html-workspace-files.d.ts.map +1 -0
- package/data/build/dist/host/html-workspace-files.js +135 -0
- package/data/build/dist/host/html-workspace-files.js.map +1 -0
- package/data/build/dist/host/image-artifact-store.d.ts +21 -0
- package/data/build/dist/host/image-artifact-store.d.ts.map +1 -0
- package/data/build/dist/host/image-artifact-store.js +136 -0
- package/data/build/dist/host/image-artifact-store.js.map +1 -0
- package/data/build/dist/host/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +35 -39
- package/data/build/dist/host/index.js.map +1 -1
- package/data/build/dist/host/lan-access-dsh.d.ts +14 -2
- package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
- package/data/build/dist/host/lan-access-dsh.js +81 -13
- 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 +2 -2
- 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 +10 -9
- 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-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 +2 -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-streams.d.ts +3 -3
- package/data/build/dist/host/modules/peer-host/peer-host-native-streams.d.ts.map +1 -1
- package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js +26 -14
- package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js.map +1 -1
- package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts +5 -0
- package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts.map +1 -0
- package/data/build/dist/host/modules/peer-host/quick-app-gateway.js +27 -0
- package/data/build/dist/host/modules/peer-host/quick-app-gateway.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/browse.d.ts +5 -0
- package/data/build/dist/host/modules/quick-apps/browse.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/browse.js +37 -0
- package/data/build/dist/host/modules/quick-apps/browse.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/code-revision.d.ts +4 -0
- package/data/build/dist/host/modules/quick-apps/code-revision.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/code-revision.js +39 -0
- package/data/build/dist/host/modules/quick-apps/code-revision.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/documents.d.ts +14 -0
- package/data/build/dist/host/modules/quick-apps/documents.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/documents.js +87 -0
- package/data/build/dist/host/modules/quick-apps/documents.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/egress.d.ts +35 -0
- package/data/build/dist/host/modules/quick-apps/egress.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/egress.js +244 -0
- package/data/build/dist/host/modules/quick-apps/egress.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/errors.d.ts +8 -0
- package/data/build/dist/host/modules/quick-apps/errors.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/errors.js +15 -0
- package/data/build/dist/host/modules/quick-apps/errors.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/file-api.d.ts +30 -0
- package/data/build/dist/host/modules/quick-apps/file-api.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/file-api.js +149 -0
- package/data/build/dist/host/modules/quick-apps/file-api.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/launches.d.ts +35 -0
- package/data/build/dist/host/modules/quick-apps/launches.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/launches.js +80 -0
- package/data/build/dist/host/modules/quick-apps/launches.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/paths.d.ts +14 -0
- package/data/build/dist/host/modules/quick-apps/paths.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/paths.js +72 -0
- package/data/build/dist/host/modules/quick-apps/paths.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/registry.d.ts +30 -0
- package/data/build/dist/host/modules/quick-apps/registry.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/registry.js +195 -0
- package/data/build/dist/host/modules/quick-apps/registry.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/remote.d.ts +38 -0
- package/data/build/dist/host/modules/quick-apps/remote.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/remote.js +238 -0
- package/data/build/dist/host/modules/quick-apps/remote.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/service.d.ts +27 -0
- package/data/build/dist/host/modules/quick-apps/service.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/service.js +174 -0
- package/data/build/dist/host/modules/quick-apps/service.js.map +1 -0
- package/data/build/dist/host/modules/quick-apps/static-handler.d.ts +8 -0
- package/data/build/dist/host/modules/quick-apps/static-handler.d.ts.map +1 -0
- package/data/build/dist/host/modules/quick-apps/static-handler.js +213 -0
- package/data/build/dist/host/modules/quick-apps/static-handler.js.map +1 -0
- package/data/build/dist/host/native-session-bridge.d.ts +23 -2
- package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
- package/data/build/dist/host/native-session-bridge.js +57 -15
- 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 +24 -13
- package/data/build/dist/host/rpc.js.map +1 -1
- package/data/build/dist/host/session-changes.d.ts.map +1 -1
- package/data/build/dist/host/session-changes.js +201 -14
- package/data/build/dist/host/session-changes.js.map +1 -1
- package/data/build/dist/host/session-migration-repair.js +48 -35
- package/data/build/dist/host/session-migration-repair.js.map +1 -1
- package/data/build/dist/host/settings.d.ts.map +1 -1
- package/data/build/dist/host/settings.js +37 -0
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/host/workspace-file-mutations.d.ts +2 -0
- package/data/build/dist/host/workspace-file-mutations.d.ts.map +1 -0
- package/data/build/dist/host/workspace-file-mutations.js +15 -0
- package/data/build/dist/host/workspace-file-mutations.js.map +1 -0
- package/data/build/dist/host/workspace-root.d.ts +14 -0
- package/data/build/dist/host/workspace-root.d.ts.map +1 -0
- package/data/build/dist/host/workspace-root.js +99 -0
- package/data/build/dist/host/workspace-root.js.map +1 -0
- package/data/build/dist/shared/assistant-notifications.d.ts +2 -2
- package/data/build/dist/shared/assistant-notifications.d.ts.map +1 -1
- package/data/build/dist/shared/attachment-prompts.d.ts +11 -0
- package/data/build/dist/shared/attachment-prompts.d.ts.map +1 -0
- package/data/build/dist/shared/attachment-prompts.js +17 -0
- package/data/build/dist/shared/attachment-prompts.js.map +1 -0
- package/data/build/dist/shared/cli-provider-route.d.ts +7 -0
- package/data/build/dist/shared/cli-provider-route.d.ts.map +1 -0
- package/data/build/dist/shared/cli-provider-route.js +13 -0
- package/data/build/dist/shared/cli-provider-route.js.map +1 -0
- package/data/build/dist/shared/codex-performance.d.ts +3 -0
- package/data/build/dist/shared/codex-performance.d.ts.map +1 -0
- package/data/build/dist/shared/codex-performance.js +2 -0
- package/data/build/dist/shared/codex-performance.js.map +1 -0
- package/data/build/dist/shared/contracts/agent-team.d.ts +14 -0
- package/data/build/dist/shared/contracts/agent-team.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/agent-team.js +48 -0
- package/data/build/dist/shared/contracts/agent-team.js.map +1 -0
- package/data/build/dist/shared/contracts/cli-adapter.d.ts +86 -2
- package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/cli-management.d.ts +29 -0
- package/data/build/dist/shared/contracts/cli-management.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/cli-management.js +2 -0
- package/data/build/dist/shared/contracts/cli-management.js.map +1 -0
- package/data/build/dist/shared/contracts/config.d.ts +13 -1
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +6 -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/git.d.ts +17 -0
- package/data/build/dist/shared/contracts/git.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/git.js +27 -1
- package/data/build/dist/shared/contracts/git.js.map +1 -1
- package/data/build/dist/shared/contracts/interaction-presentation.d.ts +32 -0
- package/data/build/dist/shared/contracts/interaction-presentation.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/interaction-presentation.js +2 -0
- package/data/build/dist/shared/contracts/interaction-presentation.js.map +1 -0
- package/data/build/dist/shared/contracts/interaction-translation.d.ts +53 -0
- package/data/build/dist/shared/contracts/interaction-translation.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/interaction-translation.js +44 -0
- package/data/build/dist/shared/contracts/interaction-translation.js.map +1 -0
- package/data/build/dist/shared/contracts/quick-apps.d.ts +70 -0
- package/data/build/dist/shared/contracts/quick-apps.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/quick-apps.js +4 -0
- package/data/build/dist/shared/contracts/quick-apps.js.map +1 -0
- package/data/build/dist/shared/contracts/session-translation.d.ts +131 -0
- package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/session-translation.js +167 -0
- package/data/build/dist/shared/contracts/session-translation.js.map +1 -0
- package/data/build/dist/shared/contracts/subscription.d.ts +87 -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 +9 -15
- package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/version.js +8 -14
- package/data/build/dist/shared/contracts/version.js.map +1 -1
- package/data/build/dist/shared/delegation-carrier.js +6 -6
- package/data/build/dist/shared/delegation-carrier.js.map +1 -1
- package/data/build/dist/shared/desktop-assistant.d.ts +10 -4
- package/data/build/dist/shared/desktop-assistant.d.ts.map +1 -1
- package/data/build/dist/shared/desktop-assistant.js +28 -8
- package/data/build/dist/shared/desktop-assistant.js.map +1 -1
- package/data/build/dist/shared/index.d.ts +3 -1
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js +3 -1
- package/data/build/dist/shared/index.js.map +1 -1
- package/data/build/dist/shared/peer-host-http-routes.d.ts +4 -0
- package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -1
- package/data/build/dist/shared/peer-host-http-routes.js +4 -0
- package/data/build/dist/shared/peer-host-http-routes.js.map +1 -1
- package/data/build/dist/shared/provider-icon-resources.d.ts.map +1 -1
- package/data/build/dist/shared/provider-icon-resources.js +1 -0
- package/data/build/dist/shared/provider-icon-resources.js.map +1 -1
- package/data/build/dist/shared/quick-app-browser-storage.d.ts +33 -0
- package/data/build/dist/shared/quick-app-browser-storage.d.ts.map +1 -0
- package/data/build/dist/shared/quick-app-browser-storage.js +33 -0
- package/data/build/dist/shared/quick-app-browser-storage.js.map +1 -0
- package/data/build/dist/shared/quick-app-network-allow.d.ts +8 -0
- package/data/build/dist/shared/quick-app-network-allow.d.ts.map +1 -0
- package/data/build/dist/shared/quick-app-network-allow.js +192 -0
- package/data/build/dist/shared/quick-app-network-allow.js.map +1 -0
- package/data/build/dist/shared/quick-app-network-bootstrap.d.ts +9 -0
- package/data/build/dist/shared/quick-app-network-bootstrap.d.ts.map +1 -0
- package/data/build/dist/shared/quick-app-network-bootstrap.js +134 -0
- package/data/build/dist/shared/quick-app-network-bootstrap.js.map +1 -0
- package/data/build/dist/shared/quick-app-proxy-path.d.ts +6 -0
- package/data/build/dist/shared/quick-app-proxy-path.d.ts.map +1 -0
- package/data/build/dist/shared/quick-app-proxy-path.js +18 -0
- package/data/build/dist/shared/quick-app-proxy-path.js.map +1 -0
- package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts +9 -0
- package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts.map +1 -0
- package/data/build/dist/shared/quick-app-storage-bootstrap.js +189 -0
- package/data/build/dist/shared/quick-app-storage-bootstrap.js.map +1 -0
- package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts +7 -0
- package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts.map +1 -0
- package/data/build/dist/shared/quick-apps-bootstrap-locale.js +10 -0
- package/data/build/dist/shared/quick-apps-bootstrap-locale.js.map +1 -0
- package/data/build/dist/shared/request-performance.d.ts +15 -0
- package/data/build/dist/shared/request-performance.d.ts.map +1 -0
- package/data/build/dist/shared/request-performance.js +3 -0
- package/data/build/dist/shared/request-performance.js.map +1 -0
- package/data/build/dist/shared/translation-indicator.d.ts +26 -0
- package/data/build/dist/shared/translation-indicator.d.ts.map +1 -0
- package/data/build/dist/shared/translation-indicator.js +29 -0
- package/data/build/dist/shared/translation-indicator.js.map +1 -0
- package/package.json +36 -35
- package/profile/README.md +2 -2
- package/profile/package.json +3 -3
- package/profile/version.json +3 -3
- package/version.json +3 -3
- package/data/build/dist/client/client.model-catalog-cache.js.map +0 -1
- package/data/build/dist/client/peer-host-file-links.d.ts +0 -8
- package/data/build/dist/client/peer-host-file-links.d.ts.map +0 -1
- package/data/build/dist/client/peer-host-file-links.js.map +0 -1
|
@@ -7705,11 +7705,16 @@
|
|
|
7705
7705
|
//#region src/shared/desktop-assistant.ts
|
|
7706
7706
|
function desktopAssistantHasNotifications(frame) {
|
|
7707
7707
|
const snapshot = frame.notificationSnapshot;
|
|
7708
|
-
return snapshot === void 0 ? frame.notification !== void 0 : snapshot
|
|
7708
|
+
return snapshot === void 0 ? frame.notification !== void 0 : assistantNotificationSnapshotHasNotifications(snapshot);
|
|
7709
|
+
}
|
|
7710
|
+
/** 空快照只代表通知中心已经返回结果,不应被当成需要挂载气泡的通知。 */
|
|
7711
|
+
function assistantNotificationSnapshotHasNotifications(snapshot) {
|
|
7712
|
+
return snapshot.primary !== null || snapshot.unreadCount > 0 || snapshot.pendingCount > 0 || snapshot.capabilities.some((entry) => Boolean(entry.reason) && (!entry.completed || !entry.error || !entry.requests || !entry.resolve || !entry.navigation));
|
|
7709
7713
|
}
|
|
7710
7714
|
/** 没有可直接展示记录时缩成入口;收起后的未读记录仍保留在列表与计数中。 */
|
|
7711
|
-
function desktopAssistantNotificationHeight(frame, expanded = false, error = false) {
|
|
7715
|
+
function desktopAssistantNotificationHeight(frame, expanded = false, error = false, collapsed = false) {
|
|
7712
7716
|
if (!desktopAssistantHasNotifications(frame)) return 0;
|
|
7717
|
+
if (collapsed) return 48;
|
|
7713
7718
|
const snapshot = frame.notificationSnapshot;
|
|
7714
7719
|
const directNotice = snapshot?.primary !== null && snapshot?.primary !== void 0 && snapshot.primary.presentation !== "collapsed" || snapshot?.items.some((item) => item.presentation !== "collapsed" && (!item.read || (item.kind === "question" || item.kind === "approval") && item.lifecycle === "active")) === true;
|
|
7715
7720
|
if (!snapshot || directNotice || expanded || error || snapshot.capabilities.some((entry) => Boolean(entry.reason) && (!entry.completed || !entry.error || !entry.requests || !entry.resolve || !entry.navigation))) return 276;
|
|
@@ -7742,14 +7747,16 @@
|
|
|
7742
7747
|
const availableTop = Math.max(0, y - area.y), availableBottom = Math.max(0, area.y + area.height - y - avatarHeight);
|
|
7743
7748
|
const noticeAbove = availableTop >= availableBottom;
|
|
7744
7749
|
const captionAbove = notification ? !noticeAbove : noticeAbove;
|
|
7745
|
-
const noticeClearance = notification ? Math.max(0, 26) : 0;
|
|
7746
|
-
let
|
|
7750
|
+
const noticeClearance = notification && noticeLimit > 48 ? Math.max(0, 26) : 0;
|
|
7751
|
+
let noticeAvailable = notification ? Math.min(276, Math.max(0, (noticeAbove ? availableTop : availableBottom) - 4 - noticeClearance)) : 0;
|
|
7752
|
+
let noticeHeight = notification ? Math.min(noticeLimit, noticeAvailable) : 0;
|
|
7747
7753
|
let captionHeight = caption ? Math.min(128, Math.max(0, (captionAbove ? availableTop : availableBottom) - 4)) : 0;
|
|
7748
7754
|
const stacked = notification && caption && captionHeight < 40 && Math.max(availableTop, availableBottom) >= 88;
|
|
7749
7755
|
if (stacked) {
|
|
7750
7756
|
const space = noticeAbove ? availableTop : availableBottom;
|
|
7751
7757
|
captionHeight = Math.min(128, Math.max(40, Math.floor((space - 8) / 3)));
|
|
7752
|
-
|
|
7758
|
+
noticeAvailable = Math.min(276, Math.max(0, space - captionHeight - 8 - noticeClearance));
|
|
7759
|
+
noticeHeight = Math.min(noticeLimit, noticeAvailable);
|
|
7753
7760
|
}
|
|
7754
7761
|
const noticeBlock = noticeHeight + noticeClearance;
|
|
7755
7762
|
const combinedHeight = noticeBlock + captionHeight + 4;
|
|
@@ -7789,7 +7796,10 @@
|
|
|
7789
7796
|
return {
|
|
7790
7797
|
bounds,
|
|
7791
7798
|
avatar,
|
|
7792
|
-
...notification && noticeHeight > 0 ? { notification:
|
|
7799
|
+
...notification && noticeHeight > 0 ? { notification: {
|
|
7800
|
+
...noticeRegion,
|
|
7801
|
+
limit: noticeAvailable
|
|
7802
|
+
} } : {},
|
|
7793
7803
|
...caption && captionHeight > 0 ? { caption: captionRegion } : {}
|
|
7794
7804
|
};
|
|
7795
7805
|
}
|
|
@@ -7801,7 +7811,7 @@
|
|
|
7801
7811
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
7802
7812
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
7803
7813
|
*/
|
|
7804
|
-
const en$
|
|
7814
|
+
const en$16 = {
|
|
7805
7815
|
"debug.title": "Debug",
|
|
7806
7816
|
"debug.guideDescription": "Start workspace commands, check ports, and open services",
|
|
7807
7817
|
"debug.readingWorkspace": "Reading workspace…",
|
|
@@ -7879,7 +7889,7 @@
|
|
|
7879
7889
|
"feature.debug.label": "Workspace debugging",
|
|
7880
7890
|
"feature.debug.description": "Launch terminals and check services"
|
|
7881
7891
|
};
|
|
7882
|
-
const zh$
|
|
7892
|
+
const zh$16 = {
|
|
7883
7893
|
"debug.title": "调试",
|
|
7884
7894
|
"debug.guideDescription": "启动工作区命令、检查端口并访问服务",
|
|
7885
7895
|
"debug.readingWorkspace": "正在读取工作区…",
|
|
@@ -7960,7 +7970,7 @@
|
|
|
7960
7970
|
//#endregion
|
|
7961
7971
|
//#region src/client/locales/assistantDebug.ts
|
|
7962
7972
|
/** 全局助理调试页词典;状态名与 JSON 只在明确的调试区域展示。 */
|
|
7963
|
-
const zh$
|
|
7973
|
+
const zh$15 = {
|
|
7964
7974
|
"assistant.debug.open": "全局项目状态调试",
|
|
7965
7975
|
"assistant.debug.title": "全局助理管理状态调试",
|
|
7966
7976
|
"assistant.debug.description": "独立检查工作区范围、会话状态和文字指令,无需启动语音。",
|
|
@@ -8140,7 +8150,7 @@
|
|
|
8140
8150
|
"assistant.debug.analysisState.cancelled": "总结已停止,原始索引材料已保留",
|
|
8141
8151
|
"assistant.debug.rawEvidence": "以下是原始会话摘录,作为总结证据保留,不是 LLM 生成的进展判断。"
|
|
8142
8152
|
};
|
|
8143
|
-
const en$
|
|
8153
|
+
const en$15 = {
|
|
8144
8154
|
"assistant.debug.open": "Global project state debug",
|
|
8145
8155
|
"assistant.debug.title": "Global assistant management debug",
|
|
8146
8156
|
"assistant.debug.description": "Inspect workspace scope, session state and text commands without starting voice.",
|
|
@@ -8322,7 +8332,7 @@
|
|
|
8322
8332
|
};
|
|
8323
8333
|
//#endregion
|
|
8324
8334
|
//#region src/client/locales/assistantAvatar.ts
|
|
8325
|
-
const en$
|
|
8335
|
+
const en$14 = {
|
|
8326
8336
|
"avatar.portraitTitle": "Avatar",
|
|
8327
8337
|
"avatar.portraitEdit": "Adjust avatar",
|
|
8328
8338
|
"avatar.portraitLocalHint": "Saved in this browser for this character; conversation and sidebar avatars update together.",
|
|
@@ -8458,7 +8468,7 @@
|
|
|
8458
8468
|
"avatar.desktopFallback": "Desktop companion unavailable; showing inside this window.",
|
|
8459
8469
|
"avatar.dragHint": "Drag to move; click to open the assistant."
|
|
8460
8470
|
};
|
|
8461
|
-
const zh$
|
|
8471
|
+
const zh$14 = {
|
|
8462
8472
|
"avatar.portraitTitle": "头像",
|
|
8463
8473
|
"avatar.portraitEdit": "微调头像",
|
|
8464
8474
|
"avatar.portraitLocalHint": "按形象保存在当前浏览器,对话与侧栏头像同步更新。",
|
|
@@ -8602,7 +8612,9 @@
|
|
|
8602
8612
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8603
8613
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8604
8614
|
*/
|
|
8605
|
-
const en$
|
|
8615
|
+
const en$13 = {
|
|
8616
|
+
"htmlFiles.confirmConnect": "Allow this HTML page to read, save, and delete files in these locations?\n\nPage: {path}\n\n{scopes}\n\nAccess lasts until this preview is closed or reloaded.",
|
|
8617
|
+
"htmlFiles.cancelled": "Workspace file connection cancelled.",
|
|
8606
8618
|
"fileMenu.expandFolder": "Expand folder",
|
|
8607
8619
|
"fileMenu.openFile": "Open file",
|
|
8608
8620
|
"fileMenu.download": "Download file",
|
|
@@ -8650,6 +8662,8 @@
|
|
|
8650
8662
|
"archive.close": "Close",
|
|
8651
8663
|
"archive.searchPlaceholder": "Search archived sessions",
|
|
8652
8664
|
"archive.empty": "No archived sessions found.",
|
|
8665
|
+
"archive.createdAt": "Created: {time}",
|
|
8666
|
+
"archive.archivedAt": "Archived: {time}",
|
|
8653
8667
|
"archive.restore": "Unarchive",
|
|
8654
8668
|
"archive.restoreUnsupportedTitle": "This DSH version does not support unarchiving",
|
|
8655
8669
|
"archive.restoreUnsupported": "Unarchive (not supported in this version)",
|
|
@@ -8671,7 +8685,9 @@
|
|
|
8671
8685
|
"pwaPrompt.dismiss": "Not now",
|
|
8672
8686
|
"pwaPrompt.iosHint": "Tap \"Share\" then \"Add to Home Screen\" to install."
|
|
8673
8687
|
};
|
|
8674
|
-
const zh$
|
|
8688
|
+
const zh$13 = {
|
|
8689
|
+
"htmlFiles.confirmConnect": "允许此 HTML 页面读取、保存和删除以下位置中的文件吗?\n\n页面:{path}\n\n{scopes}\n\n授权在关闭或重新加载预览后失效。",
|
|
8690
|
+
"htmlFiles.cancelled": "已取消工作区文件连接。",
|
|
8675
8691
|
"fileMenu.expandFolder": "展开文件夹",
|
|
8676
8692
|
"fileMenu.openFile": "打开文件",
|
|
8677
8693
|
"fileMenu.download": "下载文件",
|
|
@@ -8719,6 +8735,8 @@
|
|
|
8719
8735
|
"archive.close": "关闭",
|
|
8720
8736
|
"archive.searchPlaceholder": "搜索已归档会话",
|
|
8721
8737
|
"archive.empty": "没有找到归档会话。",
|
|
8738
|
+
"archive.createdAt": "创建时间:{time}",
|
|
8739
|
+
"archive.archivedAt": "归档时间:{time}",
|
|
8722
8740
|
"archive.restore": "取消归档",
|
|
8723
8741
|
"archive.restoreUnsupportedTitle": "当前 DSH 版本不支持取消归档",
|
|
8724
8742
|
"archive.restoreUnsupported": "取消归档(当前版本不支持)",
|
|
@@ -8748,7 +8766,7 @@
|
|
|
8748
8766
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8749
8767
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8750
8768
|
*/
|
|
8751
|
-
const en$
|
|
8769
|
+
const en$12 = {
|
|
8752
8770
|
"feature.gitManagement.label": "Git repository management",
|
|
8753
8771
|
"feature.gitManagement.description": "View changes and manage commits",
|
|
8754
8772
|
"git.tabTitle": "Git",
|
|
@@ -8782,7 +8800,21 @@
|
|
|
8782
8800
|
"git.stagingEmpty": "Staging area is empty",
|
|
8783
8801
|
"git.stagedCount": "{count} staged",
|
|
8784
8802
|
"git.commitPlaceholder": "Type a commit message here",
|
|
8785
|
-
"git.
|
|
8803
|
+
"git.generatingMessage": "Generating commit message…",
|
|
8804
|
+
"git.generationEnabled": "Generate commit messages",
|
|
8805
|
+
"git.generationEnabledHelp": "Show the Generate button in the Git panel to draft a message from staged changes.",
|
|
8806
|
+
"git.messageDetail": "Commit message level",
|
|
8807
|
+
"git.messageConcise": "Concise — subject only",
|
|
8808
|
+
"git.messageDetailed": "Detailed — subject and change summary",
|
|
8809
|
+
"git.messageModels": "Commit message models",
|
|
8810
|
+
"git.messageModelsPicker": "Add commit message models",
|
|
8811
|
+
"git.messageModelsHelp": "Drag to set priority; models are tried in order. An empty pool follows the default DSH model. If generation fails, your existing draft is kept.",
|
|
8812
|
+
"git.settingsSaved": "Git settings saved",
|
|
8813
|
+
"git.messagePrompt": "Git commit rule prompt",
|
|
8814
|
+
"git.messagePromptHelp": "Custom rules for commit-message language, style, and conventions. Leave blank to use defaults; the selected detail level still applies.",
|
|
8815
|
+
"git.messagePromptPlaceholder": "For example: Use Conventional Commits, include a scope, and write in English.",
|
|
8816
|
+
"git.messagePromptSave": "Save commit rules",
|
|
8817
|
+
"git.messagePromptSaving": "Saving commit rules…",
|
|
8786
8818
|
"git.draftMessage": "Generate commit message",
|
|
8787
8819
|
"git.commit": "Commit",
|
|
8788
8820
|
"git.stagedFiles": "Staged files",
|
|
@@ -8856,7 +8888,7 @@
|
|
|
8856
8888
|
"git.unknownTime": "Unknown time",
|
|
8857
8889
|
"git.dateLabel": "{month}/{day}"
|
|
8858
8890
|
};
|
|
8859
|
-
const zh$
|
|
8891
|
+
const zh$12 = {
|
|
8860
8892
|
"feature.gitManagement.label": "Git 仓库管理",
|
|
8861
8893
|
"feature.gitManagement.description": "查看改动并管理提交",
|
|
8862
8894
|
"git.tabTitle": "Git",
|
|
@@ -8890,7 +8922,21 @@
|
|
|
8890
8922
|
"git.stagingEmpty": "暂存区为空",
|
|
8891
8923
|
"git.stagedCount": "{count} 个已暂存",
|
|
8892
8924
|
"git.commitPlaceholder": "在这里输入提交信息",
|
|
8893
|
-
"git.
|
|
8925
|
+
"git.generatingMessage": "正在生成提交信息…",
|
|
8926
|
+
"git.generationEnabled": "生成 Git 提交信息",
|
|
8927
|
+
"git.generationEnabledHelp": "在 Git 面板显示生成按钮,根据已暂存的改动起草提交信息。",
|
|
8928
|
+
"git.messageDetail": "提交信息级别",
|
|
8929
|
+
"git.messageConcise": "简洁 — 仅标题",
|
|
8930
|
+
"git.messageDetailed": "详细 — 标题与变更摘要",
|
|
8931
|
+
"git.messageModels": "提交信息模型",
|
|
8932
|
+
"git.messageModelsPicker": "添加提交信息模型",
|
|
8933
|
+
"git.messageModelsHelp": "拖拽调整优先级,按顺序尝试模型;模型池为空时跟随 DSH 默认模型。生成失败时保留已有草稿。",
|
|
8934
|
+
"git.settingsSaved": "Git 设置已保存",
|
|
8935
|
+
"git.messagePrompt": "Git 提交规则提示词",
|
|
8936
|
+
"git.messagePromptHelp": "自定义提交信息的语言、风格和格式规范。留空时使用默认规则;简洁或详细级别仍然生效。",
|
|
8937
|
+
"git.messagePromptPlaceholder": "例如:使用 Conventional Commits 格式,包含 scope,并使用英文编写。",
|
|
8938
|
+
"git.messagePromptSave": "保存提交规则",
|
|
8939
|
+
"git.messagePromptSaving": "正在保存提交规则…",
|
|
8894
8940
|
"git.draftMessage": "生成提交信息",
|
|
8895
8941
|
"git.commit": "提交",
|
|
8896
8942
|
"git.stagedFiles": "暂存文件",
|
|
@@ -8972,31 +9018,207 @@
|
|
|
8972
9018
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8973
9019
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8974
9020
|
*/
|
|
8975
|
-
const en$
|
|
9021
|
+
const en$11 = {
|
|
8976
9022
|
"common.listSeparator": ", ",
|
|
8977
9023
|
"settings.unknownVersion": "Unknown version",
|
|
8978
9024
|
"settings.maintenanceDisabled": "This module is disabled by maintenance policy; the setting will not start it.",
|
|
8979
9025
|
"cli.thinkingLevelTitle": "Thinking level ({model})",
|
|
8980
9026
|
"cli.adapterEnabled": "{name} enabled",
|
|
8981
9027
|
"cli.adapterDisabled": "{name} disabled",
|
|
9028
|
+
"cli.translationConversation": "Translate conversation",
|
|
9029
|
+
"cli.translationConversationToggle": "Toggle conversation translation",
|
|
9030
|
+
"cli.translationSettings": "Conversation translation settings",
|
|
9031
|
+
"cli.translationSettingsClose": "Close",
|
|
9032
|
+
"cli.translationSettingsDescription": "Choose which messages to translate for {agent}. These options are saved separately for each agent and apply to its conversations with translation enabled.",
|
|
9033
|
+
"cli.translationUserMessages": "Translate user messages",
|
|
9034
|
+
"cli.translationThinkingMessages": "Translate AI thinking messages",
|
|
9035
|
+
"cli.translationAssistantMessages": "Translate AI final messages",
|
|
8982
9036
|
"lan.fieldListenPort": "listen port",
|
|
8983
9037
|
"lan.fieldDshPort": "DSH local port",
|
|
8984
9038
|
"lan.fieldMustBeNumber": "{field} must be a number",
|
|
8985
9039
|
"lan.fieldMustBeInteger": "{field} must be an integer from {minimum} to 65535",
|
|
8986
|
-
"workspace.sessionSettingsSaved": "Workspace session settings saved"
|
|
9040
|
+
"workspace.sessionSettingsSaved": "Workspace session settings saved",
|
|
9041
|
+
"feature.sessionTranslation.label": "Session translation",
|
|
9042
|
+
"feature.sessionTranslation.description": "Translate selected external Agent requests and replies while keeping tools, commands, paths, and original history unchanged. Control DSH native session translation using the switch in the conversation model selector.",
|
|
9043
|
+
"translation.inputTitle": "Translate requests before sending",
|
|
9044
|
+
"translation.inputLanguage": "Request language",
|
|
9045
|
+
"translation.outputTitle": "Translate the AI’s reasoning and final messages into the language specified below",
|
|
9046
|
+
"translation.outputLanguage": "Reply language",
|
|
9047
|
+
"translation.modelTitle": "Translation model pool",
|
|
9048
|
+
"translation.rulesTitle": "Translation rules",
|
|
9049
|
+
"translation.rulesHelp": "Rules apply to input, reasoning, and replies, including text already in the target language. They take priority over the default translation prompts.",
|
|
9050
|
+
"translation.rulesEmpty": "No custom rules. The default translation prompts apply.",
|
|
9051
|
+
"translation.ruleAdd": "Add rule",
|
|
9052
|
+
"translation.ruleEdit": "Edit rule {number}",
|
|
9053
|
+
"translation.ruleRemove": "Remove rule {number}",
|
|
9054
|
+
"translation.ruleText": "Rule instructions",
|
|
9055
|
+
"translation.rulePlaceholder": "For example: Keep product names in their original language.",
|
|
9056
|
+
"translation.ruleSave": "Save rule",
|
|
9057
|
+
"translation.ruleSaving": "Saving…",
|
|
9058
|
+
"translation.ruleCancel": "Cancel",
|
|
9059
|
+
"translation.modelFollowDefault": "Use the default DSH model",
|
|
9060
|
+
"translation.modelResetTitle": "Use the default DSH model?",
|
|
9061
|
+
"translation.modelResetHelp": "This will clear all {count} models and their priority order from the pool, then follow the default DSH model. Continue?",
|
|
9062
|
+
"translation.modelResetConfirm": "Clear pool and use default",
|
|
9063
|
+
"translation.modelUnavailable": "Saved model is unavailable",
|
|
9064
|
+
"translation.modelLoading": "Loading available DSH models…",
|
|
9065
|
+
"translation.modelEmpty": "No DSH text models are available.",
|
|
9066
|
+
"translation.modelHelp": "Drag to set priority; the first model is tried first. If all models fail, the original text is kept.",
|
|
9067
|
+
"translation.modelDefaultActive": "No models selected; using the default DSH model.",
|
|
9068
|
+
"translation.modelPriority": "Priority {priority}",
|
|
9069
|
+
"translation.modelPoolCount": "{count} models · ordered by priority",
|
|
9070
|
+
"translation.modelPoolEmpty": "Add models to set up automatic fallback.",
|
|
9071
|
+
"translation.modelAdd": "Add models",
|
|
9072
|
+
"translation.modelRemove": "Remove {model}",
|
|
9073
|
+
"translation.modelDrag": "Reorder {model}",
|
|
9074
|
+
"translation.modelDragHelp": "Drag to reorder, or use the Up and Down arrow keys.",
|
|
9075
|
+
"translation.modelReordered": "{model} moved to priority {priority}",
|
|
9076
|
+
"translation.modelPickerTitle": "Add translation models",
|
|
9077
|
+
"translation.modelPickerHelp": "Select models to add to the end of the pool. Drag them to adjust priority after adding.",
|
|
9078
|
+
"translation.modelSearch": "Search models or providers",
|
|
9079
|
+
"translation.modelPickerCount": "{count} selected",
|
|
9080
|
+
"translation.modelAddSelected": "Add selected ({count})",
|
|
9081
|
+
"translation.modelCancel": "Cancel",
|
|
9082
|
+
"translation.modelNoMatches": "No matching models.",
|
|
9083
|
+
"translation.modelAllAdded": "All available models are already in the pool.",
|
|
9084
|
+
"translation.detailsTitle": "Translation details",
|
|
9085
|
+
"translation.viewDetails": "View translation details",
|
|
9086
|
+
"translation.statusTranslated": "Translated",
|
|
9087
|
+
"translation.statusTranslating": "Translating…",
|
|
9088
|
+
"translation.progressHelp": "Preparing and translating your message. The translation result will be available when this finishes.",
|
|
9089
|
+
"translation.statusFailed": "Translation failed; original kept",
|
|
9090
|
+
"translation.retry": "Retry translation",
|
|
9091
|
+
"translation.sendDirectly": "Send directly",
|
|
9092
|
+
"translation.cancelSending": "Cancel sending",
|
|
9093
|
+
"translation.inputFailedTitle": "Message translation failed",
|
|
9094
|
+
"translation.inputFailedHelp": "Your message has not been sent. Choose how to continue.",
|
|
9095
|
+
"translation.decisionFailed": "Could not apply your choice. Please try again.",
|
|
9096
|
+
"translation.statusNotNeeded": "Already in the target language; translation skipped",
|
|
9097
|
+
"translation.detectedLanguage": "Detected language",
|
|
9098
|
+
"translation.modelNotUsed": "Not used; translation was unnecessary",
|
|
9099
|
+
"translation.originalText": "Original text",
|
|
9100
|
+
"translation.translatedText": "Translation",
|
|
9101
|
+
"translation.actualSentText": "Actual sent text:",
|
|
9102
|
+
"translation.modelUsed": "Model used",
|
|
9103
|
+
"translation.modelUnknown": "Model information unavailable",
|
|
9104
|
+
"translation.modelOfficial": "DeepSeek official",
|
|
9105
|
+
"translation.modelThirdParty": "Third-party",
|
|
9106
|
+
"translation.saveRejected": "The translation settings could not be saved.",
|
|
9107
|
+
"translation.saved": "Translation settings saved",
|
|
9108
|
+
"translation.language.zh": "简体中文",
|
|
9109
|
+
"translation.language.en": "English",
|
|
9110
|
+
"translation.language.fr": "Français",
|
|
9111
|
+
"translation.language.de": "Deutsch",
|
|
9112
|
+
"translation.language.ja": "日本語",
|
|
9113
|
+
"translation.adapter.claude": "Claude Code",
|
|
9114
|
+
"translation.adapter.codex": "Codex",
|
|
9115
|
+
"translation.adapter.pi": "Pi",
|
|
9116
|
+
"translation.adapter.opencode": "OpenCode",
|
|
9117
|
+
"translation.adapter.antigravity": "Antigravity",
|
|
9118
|
+
"translation.adapter.grok": "Grok",
|
|
9119
|
+
"translation.adapter.cursor": "Cursor",
|
|
9120
|
+
"translation.adapter.kiro": "Kiro"
|
|
8987
9121
|
};
|
|
8988
|
-
const zh$
|
|
9122
|
+
const zh$11 = {
|
|
8989
9123
|
"common.listSeparator": "、",
|
|
8990
9124
|
"settings.unknownVersion": "未知版本",
|
|
8991
9125
|
"settings.maintenanceDisabled": "该模块当前由维护策略停用,设置不会启动它。",
|
|
8992
9126
|
"cli.thinkingLevelTitle": "思考等级({model})",
|
|
8993
9127
|
"cli.adapterEnabled": "已启用 {name}",
|
|
8994
9128
|
"cli.adapterDisabled": "已停用 {name}",
|
|
9129
|
+
"cli.translationConversation": "翻译对话",
|
|
9130
|
+
"cli.translationConversationToggle": "切换对话翻译",
|
|
9131
|
+
"cli.translationSettings": "对话翻译设置",
|
|
9132
|
+
"cli.translationSettingsClose": "关闭",
|
|
9133
|
+
"cli.translationSettingsDescription": "选择 {agent} 需要翻译的消息类型。选项按 Agent 独立保存,应用于该 Agent 已开启对话翻译的会话。",
|
|
9134
|
+
"cli.translationUserMessages": "翻译用户消息",
|
|
9135
|
+
"cli.translationThinkingMessages": "翻译 AI 思考消息",
|
|
9136
|
+
"cli.translationAssistantMessages": "翻译 AI 正式消息",
|
|
8995
9137
|
"lan.fieldListenPort": "监听端口",
|
|
8996
9138
|
"lan.fieldDshPort": "DSH 本地端口",
|
|
8997
9139
|
"lan.fieldMustBeNumber": "{field} 必须是数字",
|
|
8998
9140
|
"lan.fieldMustBeInteger": "{field} 必须是 {minimum} 到 65535 的整数",
|
|
8999
|
-
"workspace.sessionSettingsSaved": "工作区会话设置已保存"
|
|
9141
|
+
"workspace.sessionSettingsSaved": "工作区会话设置已保存",
|
|
9142
|
+
"feature.sessionTranslation.label": "会话翻译",
|
|
9143
|
+
"feature.sessionTranslation.description": "为选定的外部 Agent 翻译请求和回复,同时保留工具、命令、路径与原始历史;DSH 原生会话翻译由对话框模型选择器中的会话翻译开关控制。",
|
|
9144
|
+
"translation.inputTitle": "发送前翻译请求",
|
|
9145
|
+
"translation.inputLanguage": "请求目标语言",
|
|
9146
|
+
"translation.outputTitle": "AI的思考内容和正式消息翻译为以下指定语言",
|
|
9147
|
+
"translation.outputLanguage": "回复语言",
|
|
9148
|
+
"translation.modelTitle": "翻译模型池",
|
|
9149
|
+
"translation.rulesTitle": "翻译规则",
|
|
9150
|
+
"translation.rulesHelp": "规则适用于输入、思考和回复,包括已经是目标语言的文本。规则的优先级高于默认翻译提示词。",
|
|
9151
|
+
"translation.rulesEmpty": "尚未添加自定义规则,使用默认翻译提示词。",
|
|
9152
|
+
"translation.ruleAdd": "添加规则",
|
|
9153
|
+
"translation.ruleEdit": "编辑规则 {number}",
|
|
9154
|
+
"translation.ruleRemove": "移除规则 {number}",
|
|
9155
|
+
"translation.ruleText": "规则内容",
|
|
9156
|
+
"translation.rulePlaceholder": "例如:产品名称保留原文,不进行翻译。",
|
|
9157
|
+
"translation.ruleSave": "保存规则",
|
|
9158
|
+
"translation.ruleSaving": "正在保存…",
|
|
9159
|
+
"translation.ruleCancel": "取消",
|
|
9160
|
+
"translation.modelFollowDefault": "跟随 DSH 默认模型",
|
|
9161
|
+
"translation.modelResetTitle": "确认跟随 DSH 默认模型?",
|
|
9162
|
+
"translation.modelResetHelp": "这将清空模型池中的全部 {count} 个模型及其优先级顺序,并改为跟随 DSH 默认模型。是否继续?",
|
|
9163
|
+
"translation.modelResetConfirm": "清空并跟随默认模型",
|
|
9164
|
+
"translation.modelUnavailable": "已保存的模型当前不可用",
|
|
9165
|
+
"translation.modelLoading": "正在加载可用的 DSH 模型…",
|
|
9166
|
+
"translation.modelEmpty": "当前没有可用的 DSH 文本模型。",
|
|
9167
|
+
"translation.modelHelp": "拖拽调整优先级,优先使用列表首个模型;全部失败时保留原文。",
|
|
9168
|
+
"translation.modelDefaultActive": "未选择模型,当前跟随 DSH 默认模型。",
|
|
9169
|
+
"translation.modelPriority": "优先级 {priority}",
|
|
9170
|
+
"translation.modelPoolCount": "{count} 个模型 · 按优先级排列",
|
|
9171
|
+
"translation.modelPoolEmpty": "添加模型,配置自动回退顺序。",
|
|
9172
|
+
"translation.modelAdd": "添加模型",
|
|
9173
|
+
"translation.modelRemove": "移除 {model}",
|
|
9174
|
+
"translation.modelDrag": "调整 {model} 的顺序",
|
|
9175
|
+
"translation.modelDragHelp": "拖拽调整顺序,也可使用上下方向键。",
|
|
9176
|
+
"translation.modelReordered": "{model} 已移至优先级 {priority}",
|
|
9177
|
+
"translation.modelPickerTitle": "添加翻译模型",
|
|
9178
|
+
"translation.modelPickerHelp": "选择模型后添加到模型池末尾,添加后可拖拽调整优先级。",
|
|
9179
|
+
"translation.modelSearch": "搜索模型或供应商",
|
|
9180
|
+
"translation.modelPickerCount": "已选择 {count} 个",
|
|
9181
|
+
"translation.modelAddSelected": "添加所选({count})",
|
|
9182
|
+
"translation.modelCancel": "取消",
|
|
9183
|
+
"translation.modelNoMatches": "没有匹配的模型。",
|
|
9184
|
+
"translation.modelAllAdded": "所有可用模型均已添加到模型池。",
|
|
9185
|
+
"translation.detailsTitle": "翻译详情",
|
|
9186
|
+
"translation.viewDetails": "查看翻译详情",
|
|
9187
|
+
"translation.statusTranslated": "已翻译",
|
|
9188
|
+
"translation.statusTranslating": "正在翻译…",
|
|
9189
|
+
"translation.progressHelp": "正在准备并翻译消息,完成后可查看翻译结果。",
|
|
9190
|
+
"translation.statusFailed": "翻译失败,已保留原文",
|
|
9191
|
+
"translation.retry": "重试翻译",
|
|
9192
|
+
"translation.sendDirectly": "直接发送",
|
|
9193
|
+
"translation.cancelSending": "取消发送",
|
|
9194
|
+
"translation.inputFailedTitle": "消息翻译失败",
|
|
9195
|
+
"translation.inputFailedHelp": "消息尚未发送,请选择如何继续。",
|
|
9196
|
+
"translation.decisionFailed": "未能应用你的选择,请重试。",
|
|
9197
|
+
"translation.statusNotNeeded": "原文已是目标语言,无需翻译",
|
|
9198
|
+
"translation.detectedLanguage": "检测到的语言",
|
|
9199
|
+
"translation.modelNotUsed": "未调用,原文无需翻译",
|
|
9200
|
+
"translation.originalText": "原文",
|
|
9201
|
+
"translation.translatedText": "译文",
|
|
9202
|
+
"translation.actualSentText": "实际发送文本:",
|
|
9203
|
+
"translation.modelUsed": "翻译模型",
|
|
9204
|
+
"translation.modelUnknown": "暂无模型信息",
|
|
9205
|
+
"translation.modelOfficial": "DeepSeek 官方",
|
|
9206
|
+
"translation.modelThirdParty": "第三方",
|
|
9207
|
+
"translation.saveRejected": "会话翻译设置未能保存。",
|
|
9208
|
+
"translation.saved": "会话翻译设置已保存",
|
|
9209
|
+
"translation.language.zh": "简体中文",
|
|
9210
|
+
"translation.language.en": "英语",
|
|
9211
|
+
"translation.language.fr": "法语",
|
|
9212
|
+
"translation.language.de": "德语",
|
|
9213
|
+
"translation.language.ja": "日语",
|
|
9214
|
+
"translation.adapter.claude": "Claude Code",
|
|
9215
|
+
"translation.adapter.codex": "Codex",
|
|
9216
|
+
"translation.adapter.pi": "Pi",
|
|
9217
|
+
"translation.adapter.opencode": "OpenCode",
|
|
9218
|
+
"translation.adapter.antigravity": "Antigravity",
|
|
9219
|
+
"translation.adapter.grok": "Grok",
|
|
9220
|
+
"translation.adapter.cursor": "Cursor",
|
|
9221
|
+
"translation.adapter.kiro": "Kiro"
|
|
9000
9222
|
};
|
|
9001
9223
|
//#endregion
|
|
9002
9224
|
//#region src/client/locales/peerHost.ts
|
|
@@ -9006,7 +9228,7 @@
|
|
|
9006
9228
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9007
9229
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9008
9230
|
*/
|
|
9009
|
-
const en$
|
|
9231
|
+
const en$10 = {
|
|
9010
9232
|
"feature.peerHost.label": "Manage other DSH Hosts",
|
|
9011
9233
|
"feature.peerHost.description": "Aggregate sessions from multiple Hosts",
|
|
9012
9234
|
"peerHost.panelTitle": "Manage other DSH Hosts",
|
|
@@ -9077,6 +9299,7 @@
|
|
|
9077
9299
|
"peerHost.fileWorkspaceUnavailable": "The remote file scope is unavailable or inconsistent. Please wait for PeerHost workspaces to refresh.",
|
|
9078
9300
|
"peerHost.questionSessionUnavailable": "The session for this remote question is unavailable. Please reconnect.",
|
|
9079
9301
|
"peerHost.sessionUnavailable": "The remote session scope is unavailable. Please wait for PeerHost workspaces to refresh.",
|
|
9302
|
+
"peerHost.attachmentFolderUnsupported": "Add individual files to the remote session; local folders cannot be attached.",
|
|
9080
9303
|
"peerHost.reference.section": "Conversations",
|
|
9081
9304
|
"peerHost.reference.newSession": "New session",
|
|
9082
9305
|
"peerHost.stateExternal": "The Transport structure of this page is not supported, so the plugin cannot wrap it and PeerHost aggregation is disabled; refreshing the page will not change the result.",
|
|
@@ -9086,7 +9309,7 @@
|
|
|
9086
9309
|
"peerHost.stateActive": "The preboot shim has taken over the page Transport; the native Connection of this page keeps reusing the same instance.",
|
|
9087
9310
|
"peerHost.statePending": "The preboot shim is installed with CodingNS; it takes effect as soon as PeerHost is enabled, and native workspaces read the aggregate Transport directly."
|
|
9088
9311
|
};
|
|
9089
|
-
const zh$
|
|
9312
|
+
const zh$10 = {
|
|
9090
9313
|
"feature.peerHost.label": "管理其他 DSH Host",
|
|
9091
9314
|
"feature.peerHost.description": "聚合多个 Host 会话",
|
|
9092
9315
|
"peerHost.panelTitle": "管理其他 DSH Host",
|
|
@@ -9157,6 +9380,7 @@
|
|
|
9157
9380
|
"peerHost.fileWorkspaceUnavailable": "远程文件作用域不可用或不一致,请等待 PeerHost 工作区刷新",
|
|
9158
9381
|
"peerHost.questionSessionUnavailable": "远端问题所属会话不可用,请重新连接",
|
|
9159
9382
|
"peerHost.sessionUnavailable": "远端会话作用域暂不可用,请等待 PeerHost 工作区刷新",
|
|
9383
|
+
"peerHost.attachmentFolderUnsupported": "请向远程会话添加单个文件,不能附加本机文件夹。",
|
|
9160
9384
|
"peerHost.reference.section": "对话",
|
|
9161
9385
|
"peerHost.reference.newSession": "新会话",
|
|
9162
9386
|
"peerHost.stateExternal": "当前页面的 Transport 结构不受支持,插件无法包装它,PeerHost 聚合已停用;刷新页面不会改变结果。",
|
|
@@ -9174,7 +9398,7 @@
|
|
|
9174
9398
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9175
9399
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9176
9400
|
*/
|
|
9177
|
-
const en$
|
|
9401
|
+
const en$9 = {
|
|
9178
9402
|
"peerHostWorkspace.tabLocal": "Local folders",
|
|
9179
9403
|
"peerHostWorkspace.tabRemote": "Remote HOST",
|
|
9180
9404
|
"peerHostWorkspace.sourceLabel": "Workspace source",
|
|
@@ -9220,7 +9444,7 @@
|
|
|
9220
9444
|
"peerHostWorkspace.hintNotReady": "“{host}” is currently “{status}”; finish connecting it in the management panel first.",
|
|
9221
9445
|
"peerHostWorkspace.manageHosts": "Manage other DSH Hosts"
|
|
9222
9446
|
};
|
|
9223
|
-
const zh$
|
|
9447
|
+
const zh$9 = {
|
|
9224
9448
|
"peerHostWorkspace.tabLocal": "本机文件夹",
|
|
9225
9449
|
"peerHostWorkspace.tabRemote": "远程 HOST",
|
|
9226
9450
|
"peerHostWorkspace.sourceLabel": "工作区来源",
|
|
@@ -9274,7 +9498,7 @@
|
|
|
9274
9498
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9275
9499
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9276
9500
|
*/
|
|
9277
|
-
const en$
|
|
9501
|
+
const en$8 = {
|
|
9278
9502
|
"terminalShare.title": "Share terminal output to a conversation",
|
|
9279
9503
|
"terminalShare.menuTitle": "Share to a conversation",
|
|
9280
9504
|
"terminalShare.more": "More conversations",
|
|
@@ -9347,7 +9571,7 @@
|
|
|
9347
9571
|
"loginProtection.errorTimeoutRange": "The session timeout must be between 60 and 604800 seconds",
|
|
9348
9572
|
"loginProtection.errorScopesRequired": "Select at least one scope"
|
|
9349
9573
|
};
|
|
9350
|
-
const zh$
|
|
9574
|
+
const zh$8 = {
|
|
9351
9575
|
"terminalShare.title": "分享终端输出至会话",
|
|
9352
9576
|
"terminalShare.menuTitle": "分享至会话",
|
|
9353
9577
|
"terminalShare.more": "更多会话",
|
|
@@ -9428,7 +9652,7 @@
|
|
|
9428
9652
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9429
9653
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9430
9654
|
*/
|
|
9431
|
-
const en$
|
|
9655
|
+
const en$7 = {
|
|
9432
9656
|
"usage.r4StatsPeriod": "Account usage · UTC",
|
|
9433
9657
|
"usage.r4TodayIoTokens": "Input + output tokens today",
|
|
9434
9658
|
"usage.r4WeekRequests": "Requests · last 7 days",
|
|
@@ -9541,6 +9765,55 @@
|
|
|
9541
9765
|
"usage.resetOutcomeNothingToReset": "No window has reached its limit; no reset credit was consumed.",
|
|
9542
9766
|
"usage.resetOutcomeNoCredit": "No reset credits available; nothing was reset.",
|
|
9543
9767
|
"usage.resetFailed": "Reset failed. Try again later.",
|
|
9768
|
+
"usage.magpieUsageLabel": "Magpie usage, session and route",
|
|
9769
|
+
"usage.magpieShortLabel": "Magpie",
|
|
9770
|
+
"usage.magpieTitle": "Magpie usage",
|
|
9771
|
+
"usage.magpieTodayScope": "Today · all Magpie agents",
|
|
9772
|
+
"usage.magpieTabUsage": "Usage",
|
|
9773
|
+
"usage.magpieTabRoute": "Route + quota",
|
|
9774
|
+
"usage.magpieAggregateTitle": "Gateway usage",
|
|
9775
|
+
"usage.magpieSessionTitle": "This Agent session",
|
|
9776
|
+
"usage.magpieRouteTitle": "Latest route",
|
|
9777
|
+
"usage.magpieUsageUnavailable": "Magpie usage is unavailable.",
|
|
9778
|
+
"usage.magpieRequests": "Requests",
|
|
9779
|
+
"usage.magpieErrors": "Errors",
|
|
9780
|
+
"usage.magpieInputTokens": "Input tokens",
|
|
9781
|
+
"usage.magpieOutputTokens": "Output tokens",
|
|
9782
|
+
"usage.magpieCacheReadTokens": "Cache read",
|
|
9783
|
+
"usage.magpieCacheWriteTokens": "Cache written",
|
|
9784
|
+
"usage.magpieTotalTokens": "Input + output",
|
|
9785
|
+
"usage.magpieCost": "Estimated cost",
|
|
9786
|
+
"usage.magpieCacheHitRate": "Cache hit rate",
|
|
9787
|
+
"usage.magpieUpdated": "Updated {time}",
|
|
9788
|
+
"usage.magpieAgent": "Agent: {agent}",
|
|
9789
|
+
"usage.magpieSessionNoUsage": "No matching session usage today.",
|
|
9790
|
+
"usage.magpieSessionIdUnavailable": "This Agent session cannot be linked to Magpie.",
|
|
9791
|
+
"usage.magpieRouteUnavailable": "Magpie route information is unavailable.",
|
|
9792
|
+
"usage.magpieRouteNoRequests": "Magpie has no route for this session yet.",
|
|
9793
|
+
"usage.magpieAskedModel": "Requested model",
|
|
9794
|
+
"usage.magpieRouteGroup": "Routing group",
|
|
9795
|
+
"usage.magpieRouteRule": "Routing rule",
|
|
9796
|
+
"usage.magpieRouteAccount": "Upstream account",
|
|
9797
|
+
"usage.magpieRoutedModel": "Current destination",
|
|
9798
|
+
"usage.magpieServedModel": "Model that replied",
|
|
9799
|
+
"usage.magpieEffort": "Reasoning level",
|
|
9800
|
+
"usage.magpieRequestStatus": "Request status",
|
|
9801
|
+
"usage.magpieRouteDone": "Complete · ",
|
|
9802
|
+
"usage.magpieRouteRunning": "In progress · ",
|
|
9803
|
+
"usage.magpieAttempts": "Attempts",
|
|
9804
|
+
"usage.magpieUnknownModel": "Model not provided",
|
|
9805
|
+
"usage.magpieFallback": "Fallback",
|
|
9806
|
+
"usage.magpieQuotaTitle": "Upstream quota",
|
|
9807
|
+
"usage.magpieQuotaUnavailable": "Magpie quota data is unavailable.",
|
|
9808
|
+
"usage.magpieQuotaProviderUnavailable": "The upstream provider for this session is not identified yet.",
|
|
9809
|
+
"usage.magpieQuotaNoData": "No quota was reported for the upstream provider.",
|
|
9810
|
+
"usage.magpieQuotaNoWindows": "No quota windows reported.",
|
|
9811
|
+
"usage.magpieQuotaAccount": "Account: {account}",
|
|
9812
|
+
"usage.magpieQuotaBalance": "Balance: {balance}",
|
|
9813
|
+
"usage.magpieQuotaRemaining": "{name} remaining {percent}%",
|
|
9814
|
+
"usage.magpieQuotaResets": "Resets at {time}",
|
|
9815
|
+
"usage.magpieRouteFlowTitle": "Routing flow",
|
|
9816
|
+
"usage.magpieRouteComplete": "Completed",
|
|
9544
9817
|
"accountBar.userFallback": "User",
|
|
9545
9818
|
"accountBar.connectionManageTitle": "Connection management · Manage other DSH Hosts",
|
|
9546
9819
|
"accountBar.identityClickHint": "{identity} · Click to manage sign-in",
|
|
@@ -9560,7 +9833,7 @@
|
|
|
9560
9833
|
"accountBar.relay": "Relay",
|
|
9561
9834
|
"accountBar.direct": "Direct"
|
|
9562
9835
|
};
|
|
9563
|
-
const zh$
|
|
9836
|
+
const zh$7 = {
|
|
9564
9837
|
"usage.r4StatsPeriod": "账户用量 · UTC",
|
|
9565
9838
|
"usage.r4TodayIoTokens": "今日输入与输出 Token",
|
|
9566
9839
|
"usage.r4WeekRequests": "近 7 天请求数",
|
|
@@ -9673,6 +9946,55 @@
|
|
|
9673
9946
|
"usage.resetOutcomeNothingToReset": "当前没有达到限额的窗口,未消耗重置次数。",
|
|
9674
9947
|
"usage.resetOutcomeNoCredit": "没有可用的重置次数,未执行重置。",
|
|
9675
9948
|
"usage.resetFailed": "重置失败,请稍后重试。",
|
|
9949
|
+
"usage.magpieUsageLabel": "Magpie 用量、会话与路由",
|
|
9950
|
+
"usage.magpieShortLabel": "Magpie",
|
|
9951
|
+
"usage.magpieTitle": "Magpie 用量",
|
|
9952
|
+
"usage.magpieTodayScope": "今日 · 所有 Magpie Agent",
|
|
9953
|
+
"usage.magpieTabUsage": "用量",
|
|
9954
|
+
"usage.magpieTabRoute": "路由 + 配额",
|
|
9955
|
+
"usage.magpieAggregateTitle": "网关用量",
|
|
9956
|
+
"usage.magpieSessionTitle": "当前 Agent 会话",
|
|
9957
|
+
"usage.magpieRouteTitle": "最近路由",
|
|
9958
|
+
"usage.magpieUsageUnavailable": "暂时无法读取 Magpie 用量。",
|
|
9959
|
+
"usage.magpieRequests": "请求数",
|
|
9960
|
+
"usage.magpieErrors": "失败数",
|
|
9961
|
+
"usage.magpieInputTokens": "输入 Token",
|
|
9962
|
+
"usage.magpieOutputTokens": "输出 Token",
|
|
9963
|
+
"usage.magpieCacheReadTokens": "缓存读取",
|
|
9964
|
+
"usage.magpieCacheWriteTokens": "缓存写入",
|
|
9965
|
+
"usage.magpieTotalTokens": "输入 + 输出",
|
|
9966
|
+
"usage.magpieCost": "预估费用",
|
|
9967
|
+
"usage.magpieCacheHitRate": "缓存命中率",
|
|
9968
|
+
"usage.magpieUpdated": "更新于 {time}",
|
|
9969
|
+
"usage.magpieAgent": "Agent:{agent}",
|
|
9970
|
+
"usage.magpieSessionNoUsage": "今天还没有找到此会话的用量。",
|
|
9971
|
+
"usage.magpieSessionIdUnavailable": "无法将当前 Agent 会话与 Magpie 对应。",
|
|
9972
|
+
"usage.magpieRouteUnavailable": "暂时无法读取 Magpie 路由信息。",
|
|
9973
|
+
"usage.magpieRouteNoRequests": "Magpie 尚无此会话的路由记录。",
|
|
9974
|
+
"usage.magpieAskedModel": "请求的模型",
|
|
9975
|
+
"usage.magpieRouteGroup": "路由分组",
|
|
9976
|
+
"usage.magpieRouteRule": "路由规则",
|
|
9977
|
+
"usage.magpieRouteAccount": "上游账号",
|
|
9978
|
+
"usage.magpieRoutedModel": "当前目标",
|
|
9979
|
+
"usage.magpieServedModel": "实际响应模型",
|
|
9980
|
+
"usage.magpieEffort": "推理强度",
|
|
9981
|
+
"usage.magpieRequestStatus": "请求状态",
|
|
9982
|
+
"usage.magpieRouteDone": "已完成 · ",
|
|
9983
|
+
"usage.magpieRouteRunning": "进行中 · ",
|
|
9984
|
+
"usage.magpieAttempts": "尝试记录",
|
|
9985
|
+
"usage.magpieUnknownModel": "上游未提供模型名",
|
|
9986
|
+
"usage.magpieFallback": "已回退",
|
|
9987
|
+
"usage.magpieQuotaTitle": "上游配额",
|
|
9988
|
+
"usage.magpieQuotaUnavailable": "暂时无法读取 Magpie 配额。",
|
|
9989
|
+
"usage.magpieQuotaProviderUnavailable": "尚未识别此会话实际使用的上游提供商。",
|
|
9990
|
+
"usage.magpieQuotaNoData": "上游提供商没有报告配额信息。",
|
|
9991
|
+
"usage.magpieQuotaNoWindows": "上游没有报告配额窗口。",
|
|
9992
|
+
"usage.magpieQuotaAccount": "账号:{account}",
|
|
9993
|
+
"usage.magpieQuotaBalance": "余额:{balance}",
|
|
9994
|
+
"usage.magpieQuotaRemaining": "{name} 剩余 {percent}%",
|
|
9995
|
+
"usage.magpieQuotaResets": "重置于 {time}",
|
|
9996
|
+
"usage.magpieRouteFlowTitle": "路由流转",
|
|
9997
|
+
"usage.magpieRouteComplete": "已完成",
|
|
9676
9998
|
"accountBar.userFallback": "用户",
|
|
9677
9999
|
"accountBar.connectionManageTitle": "连接管理 · 管理其他 DSH Host",
|
|
9678
10000
|
"accountBar.identityClickHint": "{identity} · 点击管理登录",
|
|
@@ -9694,7 +10016,7 @@
|
|
|
9694
10016
|
};
|
|
9695
10017
|
//#endregion
|
|
9696
10018
|
//#region src/client/locales/voiceModels.ts
|
|
9697
|
-
const en$
|
|
10019
|
+
const en$6 = {
|
|
9698
10020
|
"voice.models.prepared": "Model resources are ready. Save the configuration to use this recognition model.",
|
|
9699
10021
|
"voice.settings.input": "Speech input",
|
|
9700
10022
|
"voice.settings.output": "Speech output",
|
|
@@ -9737,7 +10059,7 @@
|
|
|
9737
10059
|
"voice.models.localHint": "Models are stored on this Host. Verification tests model loading and recognition without using your microphone.",
|
|
9738
10060
|
"voice.models.close": "Close"
|
|
9739
10061
|
};
|
|
9740
|
-
const zh$
|
|
10062
|
+
const zh$6 = {
|
|
9741
10063
|
"voice.models.prepared": "模型资源已准备好,保存配置后使用此识别模型。",
|
|
9742
10064
|
"voice.settings.input": "语音输入",
|
|
9743
10065
|
"voice.settings.output": "语音输出",
|
|
@@ -9783,7 +10105,7 @@
|
|
|
9783
10105
|
//#endregion
|
|
9784
10106
|
//#region src/client/locales/assistantTts.ts
|
|
9785
10107
|
/** 独立音色面板词典;官方名称保留原文,元数据标签随界面语言翻译。 */
|
|
9786
|
-
const en$
|
|
10108
|
+
const en$5 = {
|
|
9787
10109
|
"tts.wizardPrepareResources": "Prepare voice resources",
|
|
9788
10110
|
"tts.wizardDraftReady": "Voice resources are ready. Configuration changes apply after saving.",
|
|
9789
10111
|
"tts.prepare": "Prepare MOSS resources",
|
|
@@ -9860,7 +10182,7 @@
|
|
|
9860
10182
|
"tts.saveParameters": "Save speech controls",
|
|
9861
10183
|
"tts.resetParameters": "Restore and save defaults"
|
|
9862
10184
|
};
|
|
9863
|
-
const zh$
|
|
10185
|
+
const zh$5 = {
|
|
9864
10186
|
"tts.wizardPrepareResources": "准备语音资源",
|
|
9865
10187
|
"tts.wizardDraftReady": "语音资源已就绪,配置保存后生效。",
|
|
9866
10188
|
"tts.prepare": "准备 MOSS 资源",
|
|
@@ -9940,7 +10262,7 @@
|
|
|
9940
10262
|
//#endregion
|
|
9941
10263
|
//#region src/client/locales/assistantWorkbench.ts
|
|
9942
10264
|
/** 生命周期工作台文案;高级资源管理复用原有词典。 */
|
|
9943
|
-
const zh$
|
|
10265
|
+
const zh$4 = {
|
|
9944
10266
|
"awb.notifications.title": "会话提醒",
|
|
9945
10267
|
"awb.notifications.hint": "在悬浮助理旁显示提醒,查看会话后标记已读。",
|
|
9946
10268
|
"awb.notifications.enabled": "启用会话提醒",
|
|
@@ -10108,7 +10430,7 @@
|
|
|
10108
10430
|
"awb.prompts": "提示词",
|
|
10109
10431
|
"awb.unavailableSelection": "原选择暂不可用:{id}"
|
|
10110
10432
|
};
|
|
10111
|
-
const en$
|
|
10433
|
+
const en$4 = {
|
|
10112
10434
|
"awb.notifications.title": "Session notices",
|
|
10113
10435
|
"awb.notifications.hint": "Show notices beside the floating assistant. Viewing a session marks its notice as read.",
|
|
10114
10436
|
"awb.notifications.enabled": "Enable session notices",
|
|
@@ -10286,7 +10608,7 @@
|
|
|
10286
10608
|
* 注册仍使用同一份 zh/en。
|
|
10287
10609
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
10288
10610
|
*/
|
|
10289
|
-
const zh$
|
|
10611
|
+
const zh$3 = {
|
|
10290
10612
|
"subagentCollapsed.inactive.one": "已停止 {count} 个子智能体",
|
|
10291
10613
|
"subagentCollapsed.inactive.other": "已停止 {count} 个子智能体",
|
|
10292
10614
|
"subagentCollapsed.inactive.expand": "展开已停止的子智能体",
|
|
@@ -10329,7 +10651,7 @@
|
|
|
10329
10651
|
"subagentCollapsed.open.sidebar": "在侧边栏打开",
|
|
10330
10652
|
"subagentCollapsed.open.sidebar.aria": "在侧边栏打开 {label}"
|
|
10331
10653
|
};
|
|
10332
|
-
const en$
|
|
10654
|
+
const en$3 = {
|
|
10333
10655
|
"subagentCollapsed.inactive.one": "{count} stopped subagent",
|
|
10334
10656
|
"subagentCollapsed.inactive.other": "{count} stopped subagents",
|
|
10335
10657
|
"subagentCollapsed.inactive.expand": "Show stopped subagents",
|
|
@@ -10373,6 +10695,441 @@
|
|
|
10373
10695
|
"subagentCollapsed.open.sidebar.aria": "Open {label} in sidebar"
|
|
10374
10696
|
};
|
|
10375
10697
|
//#endregion
|
|
10698
|
+
//#region src/shared/quick-apps-bootstrap-locale.ts
|
|
10699
|
+
/** Shared by the client dictionary and the isolated credential landing page. */
|
|
10700
|
+
const quickAppBootstrapEn = {
|
|
10701
|
+
"quickApps.opening": "Opening application…",
|
|
10702
|
+
"quickApps.bootstrapFailed": "Application access could not be established. Reopen it from Quick Apps and check browser cookie settings."
|
|
10703
|
+
};
|
|
10704
|
+
const quickAppBootstrapZh = {
|
|
10705
|
+
"quickApps.opening": "正在打开应用…",
|
|
10706
|
+
"quickApps.bootstrapFailed": "无法建立应用访问,请从快捷应用重新打开并检查浏览器 Cookie 设置。"
|
|
10707
|
+
};
|
|
10708
|
+
//#endregion
|
|
10709
|
+
//#region src/client/locales/quickApps.ts
|
|
10710
|
+
const en$2 = {
|
|
10711
|
+
"quickApps.storagePreview": "App data is saved in this browser. IndexedDB and URLs starting with / are not supported in this view.",
|
|
10712
|
+
"quickApps.storageFailed": "App data could not be saved in this browser: {message}",
|
|
10713
|
+
"quickApps.sandboxPreview": "Workspace preview. Browser storage and URLs starting with / may not work in this view.",
|
|
10714
|
+
"quickApps.runtime.not-configured": "This Host does not provide workspace HTML previews. Update its CodingNS plugin and reopen the shortcut.",
|
|
10715
|
+
"quickApps.runtime.config-invalid": "The Host’s HTML hosting configuration or TLS certificate is invalid.",
|
|
10716
|
+
"quickApps.runtime.lan-stopped": "Start LAN access on the owning Host to open this HTML app.",
|
|
10717
|
+
"quickApps.runtime.ui-not-allowed": "This DSH address is not enabled in the Host’s HTML hosting configuration.",
|
|
10718
|
+
"quickApps.runtime.ports-exhausted": "The reserved app ports have all been used. Extend the Host’s app port range; previously used ports cannot be reassigned.",
|
|
10719
|
+
"quickApps.runtime.ports-busy": "The available app ports are currently in use. Try again after they are released.",
|
|
10720
|
+
"quickApps.workspaceAccessHelp": "Saving lets this app read, create, update and delete files in {workspace}. Hidden files, credentials and other workspaces stay protected.",
|
|
10721
|
+
"quickApps.saveWorkspaceAccess": "Save and allow workspace access",
|
|
10722
|
+
"quickApps.workspaceAccessHostUpdate": "This Host needs an update to support workspace access. The shortcut was saved without enabling it.",
|
|
10723
|
+
"quickApps.workspaceAccessUnavailable": "Update the owning Host to support workspace access. The shortcut was not changed.",
|
|
10724
|
+
"quickApps.markdown": "Markdown",
|
|
10725
|
+
"quickApps.source": "Source",
|
|
10726
|
+
"quickApps.viewMode": "View as",
|
|
10727
|
+
"quickApps.markdownUnavailable": "Native Markdown preview is unavailable in this DSH version. Showing source.",
|
|
10728
|
+
"quickApps.maximize": "Maximize viewer",
|
|
10729
|
+
"quickApps.restore": "Restore viewer",
|
|
10730
|
+
"quickApps.loadingDocument": "Loading…",
|
|
10731
|
+
"quickApps.documentEditor": "Document editor",
|
|
10732
|
+
"quickApps.editorFailed": "The editor could not load.",
|
|
10733
|
+
"quickApps.copyCode": "Copy code",
|
|
10734
|
+
"quickApps.copied": "Copied",
|
|
10735
|
+
"quickApps.code": "Code",
|
|
10736
|
+
"quickApps.footnotes": "Footnotes",
|
|
10737
|
+
"quickApps.unwrapText": "Disable wrapping",
|
|
10738
|
+
"quickApps.imagesUnavailable": "Some images are unavailable or outside this document folder.",
|
|
10739
|
+
"quickApps.documentHome": "Back to entry document",
|
|
10740
|
+
"quickApps.documentLinkDenied": "This link is outside the document folder or uses an unsupported path.",
|
|
10741
|
+
"quickApps.documentHostUpdate": "Update the owning Host plugin to enable document operations. This document remains viewable.",
|
|
10742
|
+
"quickApps.documentConflict": "The file changed on the Host. Your draft is preserved. Copy your changes before reloading the latest file.",
|
|
10743
|
+
"quickApps.documentAccessExpired": "Document access has ended or is unavailable. Your draft is preserved; copy it before closing and reopening the shortcut.",
|
|
10744
|
+
"quickApps.documentSaved": "Saved to the workspace.",
|
|
10745
|
+
"quickApps.unsaved": "Unsaved changes",
|
|
10746
|
+
"quickApps.allowEditing": "Allow editing",
|
|
10747
|
+
"quickApps.allowEditingHelp": "Allow changes to {path}? This approval applies only to this file and ends when you close the viewer.",
|
|
10748
|
+
"quickApps.discardTitle": "Unsaved changes",
|
|
10749
|
+
"quickApps.discard": "Discard changes",
|
|
10750
|
+
"quickApps.discardHelp": "Your changes to {path} have not been saved. Discard them and continue?",
|
|
10751
|
+
"quickApps.viewerTools": "Viewer controls",
|
|
10752
|
+
"quickApps.wrapText": "Wrap text",
|
|
10753
|
+
"quickApps.reloadView": "Reload",
|
|
10754
|
+
"quickApps.entryAddress": "Application entry address",
|
|
10755
|
+
"quickApps.noWorkspaces": "No managed workspaces available",
|
|
10756
|
+
"quickApps.browse": "Browse…",
|
|
10757
|
+
"quickApps.chooseFile": "Choose a workspace file",
|
|
10758
|
+
"quickApps.useFile": "Use this file",
|
|
10759
|
+
"quickApps.currentFolder": "Current folder",
|
|
10760
|
+
"quickApps.parentFolder": "Go to parent folder",
|
|
10761
|
+
"quickApps.refreshFiles": "Refresh",
|
|
10762
|
+
"quickApps.loadingFiles": "Loading files…",
|
|
10763
|
+
"quickApps.emptyFolder": "This folder has no selectable files or folders.",
|
|
10764
|
+
"quickApps.filesTruncated": "Only the first part of this folder is shown. You can enter the file path directly.",
|
|
10765
|
+
"quickApps.selectFileHint": "Open a folder, then select an HTML application or text document.",
|
|
10766
|
+
"quickApps.browseUnavailable": "File browsing is unavailable on this Host. You can still enter a workspace-relative file path.",
|
|
10767
|
+
"quickApps.browseHostUpdateRequired": "This Host does not support file browsing. Update or reload its CodingNS plugin, then refresh this page. You can still enter a workspace-relative file path.",
|
|
10768
|
+
...quickAppBootstrapEn,
|
|
10769
|
+
"quickApps.manage": "Edit shortcuts",
|
|
10770
|
+
"quickApps.done": "Done",
|
|
10771
|
+
"quickApps.editShortcut": "Edit shortcut",
|
|
10772
|
+
"quickApps.collapseBar": "Collapse Quick Apps",
|
|
10773
|
+
"quickApps.expandBar": "Restore Quick Apps",
|
|
10774
|
+
"quickApps.removeNamed": "Remove {title}",
|
|
10775
|
+
"quickApps.reorderHelp": "Drag to reorder, or use Alt + arrow keys.",
|
|
10776
|
+
"quickApps.reordered": "Shortcut order saved.",
|
|
10777
|
+
"quickApps.manageHelp": "Choose a shortcut to edit its source, permissions or remove it.",
|
|
10778
|
+
"quickApps.openNamed": "Open {title}",
|
|
10779
|
+
"quickApps.editNamed": "Edit {title}",
|
|
10780
|
+
"quickApps.count": "Shortcuts: {count}",
|
|
10781
|
+
"quickApps.loading": "Loading shortcuts…",
|
|
10782
|
+
"quickApps.retry": "Try again",
|
|
10783
|
+
"quickApps.emptyTitle": "Your workspace, one click away",
|
|
10784
|
+
"quickApps.advanced": "Advanced options",
|
|
10785
|
+
"quickApps.accessAndRemoval": "Access and shortcut management",
|
|
10786
|
+
"quickApps.titleHelp": "Leave blank to use the file or application folder name.",
|
|
10787
|
+
"quickApps.entryHelp": "Choose a file or enter its path within the workspace.",
|
|
10788
|
+
"quickApps.entryPlaceholder": "apps/calendar/index.html",
|
|
10789
|
+
"quickApps.entryRequired": "Enter an application or document file path.",
|
|
10790
|
+
"quickApps.orderInvalid": "Use a whole number for the list order.",
|
|
10791
|
+
"quickApps.saved": "Shortcut saved.",
|
|
10792
|
+
"quickApps.revoked": "File access revoked. Existing launches have closed.",
|
|
10793
|
+
"quickApps.saveBeforeAccess": "Save your changes before managing access or removing this shortcut.",
|
|
10794
|
+
"quickApps.conflict": "This shortcut changed elsewhere. Your edits are still here; reopen the shortcut to load the latest version.",
|
|
10795
|
+
"quickApps.order": "List order",
|
|
10796
|
+
"quickApps.mounts": "Additional resource folders (optional)",
|
|
10797
|
+
"quickApps.mount.urlPrefix": "App URL path",
|
|
10798
|
+
"quickApps.mount.workspacePath": "Workspace folder",
|
|
10799
|
+
"quickApps.addMount": "Add resource folder",
|
|
10800
|
+
"quickApps.removeMount": "Remove resource folder",
|
|
10801
|
+
"quickApps.title": "Quick Apps",
|
|
10802
|
+
"quickApps.description": "Open workspace HTML applications and text documents without a conversation.",
|
|
10803
|
+
"quickApps.close": "Close Quick Apps",
|
|
10804
|
+
"quickApps.back": "Back to shortcuts",
|
|
10805
|
+
"quickApps.application": "Workspace application",
|
|
10806
|
+
"quickApps.add": "Add shortcut",
|
|
10807
|
+
"quickApps.open": "Open",
|
|
10808
|
+
"quickApps.edit": "Edit",
|
|
10809
|
+
"quickApps.remove": "Remove shortcut",
|
|
10810
|
+
"quickApps.permissions": "File permissions",
|
|
10811
|
+
"quickApps.revoke": "Revoke access",
|
|
10812
|
+
"quickApps.save": "Save",
|
|
10813
|
+
"quickApps.cancel": "Cancel",
|
|
10814
|
+
"quickApps.titleField": "Title",
|
|
10815
|
+
"quickApps.entryPath": "Entry file",
|
|
10816
|
+
"quickApps.documentRoot": "Application folder",
|
|
10817
|
+
"quickApps.workspace": "Workspace",
|
|
10818
|
+
"quickApps.chooseWorkspace": "Choose a managed workspace",
|
|
10819
|
+
"quickApps.localHost": "This Host",
|
|
10820
|
+
"quickApps.kind": "Open as",
|
|
10821
|
+
"quickApps.html": "HTML application",
|
|
10822
|
+
"quickApps.text": "Text document",
|
|
10823
|
+
"quickApps.networkAllow": "Local addresses",
|
|
10824
|
+
"quickApps.networkAllowHelp": "Leave this empty to block loopback, private networks, link-local addresses, and cloud metadata. Add one local IP, CIDR range, or hostname per line, up to 16. Examples: 127.0.0.1, localhost, 192.168.1.0/24.",
|
|
10825
|
+
"quickApps.networkAllowPlaceholder": "127.0.0.1\nlocalhost\n192.168.1.0/24",
|
|
10826
|
+
"quickApps.networkAllowInvalid": "Use a local IP address, CIDR range, or hostname, with one entry per line.",
|
|
10827
|
+
"quickApps.spa": "Use the entry page for application navigation",
|
|
10828
|
+
"quickApps.pathHelp": "Enter workspace-relative paths. Use a dedicated application folder; an empty folder path selects the workspace root.",
|
|
10829
|
+
"quickApps.empty": "No shortcuts yet. In edit mode, add an HTML application or text document from a managed workspace.",
|
|
10830
|
+
"quickApps.removeHelp": "Removing a shortcut leaves its source files intact.",
|
|
10831
|
+
"quickApps.permissionHelp": "Optional file access for the next launch. Enter comma-separated workspace-relative folders; leave blank to deny. Approvals expire when the Host restarts or the shortcut or application code changes. Saving closes existing launches.",
|
|
10832
|
+
"quickApps.permission.read": "Read folders",
|
|
10833
|
+
"quickApps.permission.write": "Create and update folders",
|
|
10834
|
+
"quickApps.permission.delete": "Delete files in folders",
|
|
10835
|
+
"quickApps.permissionsSaved": "Permissions saved for the next launch.",
|
|
10836
|
+
"quickApps.unavailable": "HTML preview is unavailable on this Host connection. Update the owning Host plugin and reopen the shortcut.",
|
|
10837
|
+
"quickApps.status.unsupported-runtime": "HTML preview is unavailable on this Host connection.",
|
|
10838
|
+
"quickApps.status.disconnected-host": "The owning Host has no supported Quick Apps connection.",
|
|
10839
|
+
"quickApps.status.unsupported-connection": "This PeerHost relay cannot open Quick Apps. Use a direct connection to the owning Host.",
|
|
10840
|
+
"quickApps.status.missing-workspace": "The original workspace is unavailable.",
|
|
10841
|
+
"quickApps.status.missing-file": "The entry file or application folder is missing or cannot be accessed."
|
|
10842
|
+
};
|
|
10843
|
+
const zh$2 = {
|
|
10844
|
+
"quickApps.storagePreview": "应用数据保存在当前浏览器中。此视图不支持 IndexedDB 和以 / 开头的网址。",
|
|
10845
|
+
"quickApps.storageFailed": "无法在当前浏览器中保存应用数据:{message}",
|
|
10846
|
+
"quickApps.sandboxPreview": "工作区预览:浏览器存储和以 / 开头的网址可能无法在此视图中使用。",
|
|
10847
|
+
"quickApps.runtime.not-configured": "此主机尚不支持工作区 HTML 预览,请更新其 CodingNS 插件后重新打开快捷方式。",
|
|
10848
|
+
"quickApps.runtime.config-invalid": "主机的 HTML 托管配置或 TLS 证书无效。",
|
|
10849
|
+
"quickApps.runtime.lan-stopped": "请先在所属主机启动局域网访问,再打开此 HTML 应用。",
|
|
10850
|
+
"quickApps.runtime.ui-not-allowed": "主机的 HTML 托管配置尚未启用当前 DSH 地址。",
|
|
10851
|
+
"quickApps.runtime.ports-exhausted": "预留的应用端口已全部使用,请扩展主机的应用端口范围;已用端口不能重新分配。",
|
|
10852
|
+
"quickApps.runtime.ports-busy": "可用的应用端口正被占用,请在端口释放后重试。",
|
|
10853
|
+
"quickApps.workspaceAccessHelp": "保存后,此应用可读取、新建、修改和删除 {workspace} 中的文件。隐藏文件、凭据和其他工作区仍受保护。",
|
|
10854
|
+
"quickApps.saveWorkspaceAccess": "保存并允许访问工作区",
|
|
10855
|
+
"quickApps.workspaceAccessHostUpdate": "所属主机需要更新才能支持工作区访问。快捷方式已保存,但尚未启用此权限。",
|
|
10856
|
+
"quickApps.workspaceAccessUnavailable": "请更新所属主机以支持工作区访问。快捷方式未更改。",
|
|
10857
|
+
"quickApps.markdown": "Markdown",
|
|
10858
|
+
"quickApps.source": "源码",
|
|
10859
|
+
"quickApps.viewMode": "查看方式",
|
|
10860
|
+
"quickApps.markdownUnavailable": "当前 DSH 版本不支持原生 Markdown 预览,已显示源码。",
|
|
10861
|
+
"quickApps.maximize": "最大化查看器",
|
|
10862
|
+
"quickApps.restore": "还原查看器",
|
|
10863
|
+
"quickApps.loadingDocument": "正在加载…",
|
|
10864
|
+
"quickApps.documentEditor": "文档编辑器",
|
|
10865
|
+
"quickApps.editorFailed": "编辑器加载失败。",
|
|
10866
|
+
"quickApps.copyCode": "复制代码",
|
|
10867
|
+
"quickApps.copied": "已复制",
|
|
10868
|
+
"quickApps.code": "代码",
|
|
10869
|
+
"quickApps.footnotes": "脚注",
|
|
10870
|
+
"quickApps.unwrapText": "关闭自动换行",
|
|
10871
|
+
"quickApps.imagesUnavailable": "部分图片不可用或位于文档目录之外。",
|
|
10872
|
+
"quickApps.documentHome": "返回入口文档",
|
|
10873
|
+
"quickApps.documentLinkDenied": "链接位于文档目录之外或使用了不支持的路径。",
|
|
10874
|
+
"quickApps.documentHostUpdate": "请更新所属主机插件以启用文档操作,当前文档仍可查看。",
|
|
10875
|
+
"quickApps.documentConflict": "主机上的文件已更改,你的草稿仍然保留。请先复制修改内容,再重新加载最新文件。",
|
|
10876
|
+
"quickApps.documentAccessExpired": "文档访问已结束或不可用,草稿仍然保留。请先复制草稿,再关闭并重新打开快捷方式。",
|
|
10877
|
+
"quickApps.documentSaved": "已保存到工作区。",
|
|
10878
|
+
"quickApps.unsaved": "有未保存的修改",
|
|
10879
|
+
"quickApps.allowEditing": "允许编辑",
|
|
10880
|
+
"quickApps.allowEditingHelp": "允许修改 {path} 吗?本次授权仅适用于此文件,关闭查看器后失效。",
|
|
10881
|
+
"quickApps.discardTitle": "有未保存的修改",
|
|
10882
|
+
"quickApps.discard": "放弃修改",
|
|
10883
|
+
"quickApps.discardHelp": "对 {path} 的修改尚未保存。是否放弃修改并继续?",
|
|
10884
|
+
"quickApps.viewerTools": "查看器工具",
|
|
10885
|
+
"quickApps.wrapText": "自动换行",
|
|
10886
|
+
"quickApps.reloadView": "重新加载",
|
|
10887
|
+
"quickApps.entryAddress": "应用入口地址",
|
|
10888
|
+
"quickApps.noWorkspaces": "暂无可用的受管工作区",
|
|
10889
|
+
"quickApps.browse": "浏览…",
|
|
10890
|
+
"quickApps.chooseFile": "选择工作区文件",
|
|
10891
|
+
"quickApps.useFile": "使用此文件",
|
|
10892
|
+
"quickApps.currentFolder": "当前目录",
|
|
10893
|
+
"quickApps.parentFolder": "返回上级目录",
|
|
10894
|
+
"quickApps.refreshFiles": "刷新",
|
|
10895
|
+
"quickApps.loadingFiles": "正在加载文件…",
|
|
10896
|
+
"quickApps.emptyFolder": "此目录没有可选择的文件或文件夹。",
|
|
10897
|
+
"quickApps.filesTruncated": "当前仅显示部分内容,也可直接填写文件路径。",
|
|
10898
|
+
"quickApps.selectFileHint": "打开文件夹,再选择 HTML 应用或文本文档。",
|
|
10899
|
+
"quickApps.browseUnavailable": "此主机暂不支持文件浏览,仍可填写相对于工作区的文件路径。",
|
|
10900
|
+
"quickApps.browseHostUpdateRequired": "此主机尚不支持文件浏览。请更新或重新加载该主机的 CodingNS 插件后刷新页面,也可直接填写相对于工作区的文件路径。",
|
|
10901
|
+
...quickAppBootstrapZh,
|
|
10902
|
+
"quickApps.manage": "编辑快捷应用",
|
|
10903
|
+
"quickApps.done": "完成",
|
|
10904
|
+
"quickApps.editShortcut": "编辑快捷方式",
|
|
10905
|
+
"quickApps.collapseBar": "收起快捷应用",
|
|
10906
|
+
"quickApps.expandBar": "展开快捷应用",
|
|
10907
|
+
"quickApps.removeNamed": "移除{title}",
|
|
10908
|
+
"quickApps.reorderHelp": "拖动调整顺序,或使用 Alt + 方向键。",
|
|
10909
|
+
"quickApps.reordered": "快捷应用顺序已保存。",
|
|
10910
|
+
"quickApps.manageHelp": "选择快捷应用,修改来源、设置权限或移除快捷方式。",
|
|
10911
|
+
"quickApps.openNamed": "打开{title}",
|
|
10912
|
+
"quickApps.editNamed": "编辑{title}",
|
|
10913
|
+
"quickApps.count": "{count} 个快捷应用",
|
|
10914
|
+
"quickApps.loading": "正在加载快捷应用…",
|
|
10915
|
+
"quickApps.retry": "重试",
|
|
10916
|
+
"quickApps.emptyTitle": "一键打开工作区里的应用与文档",
|
|
10917
|
+
"quickApps.advanced": "高级选项",
|
|
10918
|
+
"quickApps.accessAndRemoval": "访问与快捷方式管理",
|
|
10919
|
+
"quickApps.titleHelp": "留空则使用文件名或应用目录名。",
|
|
10920
|
+
"quickApps.entryHelp": "选择文件,或填写它在工作区内的路径。",
|
|
10921
|
+
"quickApps.entryPlaceholder": "apps/calendar/index.html",
|
|
10922
|
+
"quickApps.entryRequired": "请填写应用或文档的文件路径。",
|
|
10923
|
+
"quickApps.orderInvalid": "列表顺序请填写整数。",
|
|
10924
|
+
"quickApps.saved": "快捷方式已保存。",
|
|
10925
|
+
"quickApps.revoked": "文件访问权限已撤销,已打开的应用已关闭。",
|
|
10926
|
+
"quickApps.saveBeforeAccess": "请先保存修改,再管理访问权限或移除此快捷方式。",
|
|
10927
|
+
"quickApps.conflict": "此快捷方式已在其他位置更新。你的修改仍保留在此处,重新打开快捷方式可加载最新版本。",
|
|
10928
|
+
"quickApps.order": "列表顺序",
|
|
10929
|
+
"quickApps.mounts": "附加资源目录(可选)",
|
|
10930
|
+
"quickApps.mount.urlPrefix": "应用网址路径",
|
|
10931
|
+
"quickApps.mount.workspacePath": "工作区目录",
|
|
10932
|
+
"quickApps.addMount": "添加资源目录",
|
|
10933
|
+
"quickApps.removeMount": "移除资源目录",
|
|
10934
|
+
"quickApps.title": "快捷应用",
|
|
10935
|
+
"quickApps.description": "无需打开会话,即可访问工作区内的 HTML 应用和文本文档。",
|
|
10936
|
+
"quickApps.close": "关闭快捷应用",
|
|
10937
|
+
"quickApps.back": "返回快捷列表",
|
|
10938
|
+
"quickApps.application": "工作区应用",
|
|
10939
|
+
"quickApps.add": "添加快捷方式",
|
|
10940
|
+
"quickApps.open": "打开",
|
|
10941
|
+
"quickApps.edit": "编辑",
|
|
10942
|
+
"quickApps.remove": "移除快捷方式",
|
|
10943
|
+
"quickApps.permissions": "文件权限",
|
|
10944
|
+
"quickApps.revoke": "撤销访问",
|
|
10945
|
+
"quickApps.save": "保存",
|
|
10946
|
+
"quickApps.cancel": "取消",
|
|
10947
|
+
"quickApps.titleField": "名称",
|
|
10948
|
+
"quickApps.entryPath": "入口文件",
|
|
10949
|
+
"quickApps.documentRoot": "应用目录",
|
|
10950
|
+
"quickApps.workspace": "工作区",
|
|
10951
|
+
"quickApps.chooseWorkspace": "选择受管工作区",
|
|
10952
|
+
"quickApps.localHost": "当前主机",
|
|
10953
|
+
"quickApps.kind": "打开方式",
|
|
10954
|
+
"quickApps.html": "HTML 应用",
|
|
10955
|
+
"quickApps.text": "文本文档",
|
|
10956
|
+
"quickApps.networkAllow": "允许的本地地址",
|
|
10957
|
+
"quickApps.networkAllowHelp": "留空则拒绝回环、私网、链路本地和云元数据地址。每行填写一个本地 IP、CIDR 网段或主机名,最多 16 个。例如 127.0.0.1、localhost、192.168.1.0/24。",
|
|
10958
|
+
"quickApps.networkAllowPlaceholder": "127.0.0.1\nlocalhost\n192.168.1.0/24",
|
|
10959
|
+
"quickApps.networkAllowInvalid": "请逐行填写本地 IP、CIDR 网段或主机名。",
|
|
10960
|
+
"quickApps.spa": "应用内导航使用入口页面",
|
|
10961
|
+
"quickApps.pathHelp": "填写相对于工作区的路径。建议使用专用应用目录;目录留空表示工作区根目录。",
|
|
10962
|
+
"quickApps.empty": "还没有快捷方式。可在编辑模式下从受管工作区添加 HTML 应用或文本文档。",
|
|
10963
|
+
"quickApps.removeHelp": "移除快捷方式不会删除源文件。",
|
|
10964
|
+
"quickApps.permissionHelp": "为下次打开应用设置可选文件权限。填写相对于工作区的目录,以逗号分隔;留空表示禁止。主机重启、快捷方式或应用代码变更后需要重新授权。保存会关闭现有应用。",
|
|
10965
|
+
"quickApps.permission.read": "允许读取的目录",
|
|
10966
|
+
"quickApps.permission.write": "允许创建和更新的目录",
|
|
10967
|
+
"quickApps.permission.delete": "允许删除文件的目录",
|
|
10968
|
+
"quickApps.permissionsSaved": "已保存下次打开应用时使用的权限。",
|
|
10969
|
+
"quickApps.unavailable": "当前主机连接暂不支持 HTML 预览,请更新所属主机插件后重新打开快捷方式。",
|
|
10970
|
+
"quickApps.status.unsupported-runtime": "当前主机连接暂不支持 HTML 预览。",
|
|
10971
|
+
"quickApps.status.disconnected-host": "所属主机暂不支持快捷应用连接。",
|
|
10972
|
+
"quickApps.status.unsupported-connection": "此 PeerHost 中转连接无法打开快捷应用,请使用直连方式连接所属主机。",
|
|
10973
|
+
"quickApps.status.missing-workspace": "原工作区不可用。",
|
|
10974
|
+
"quickApps.status.missing-file": "入口文件或应用目录不存在或无法访问。"
|
|
10975
|
+
};
|
|
10976
|
+
//#endregion
|
|
10977
|
+
//#region src/client/locales/cliManagement.ts
|
|
10978
|
+
const en$1 = {
|
|
10979
|
+
"cli.team.label": "Team eligibility",
|
|
10980
|
+
"cli.team.leadAndMember": "Collaborator and Lead",
|
|
10981
|
+
"cli.team.member": "Collaborator",
|
|
10982
|
+
"cli.team.reason.version": "Full Team support requires a verified DSH alpha.2 or alpha.3 host.",
|
|
10983
|
+
"cli.team.reason.profile": "Enable the native DSH Team profile to use Teams.",
|
|
10984
|
+
"cli.team.reason.disabled": "Enable the CodingNS bridge and this Agent to use Teams.",
|
|
10985
|
+
"cli.team.reason.adapter": "This Agent does not provide the required Team tool transport.",
|
|
10986
|
+
"cli.team.reason.installation": "Install and enable this Agent before using Teams.",
|
|
10987
|
+
"cli.manage.reasonLabel.application-managed": "Check in app",
|
|
10988
|
+
"cli.manage.reasonLabel.unknown-version": "Version unknown",
|
|
10989
|
+
"cli.manage.reasonLabel.legacy-distribution": "Legacy distribution",
|
|
10990
|
+
"cli.manage.reasonLabel.no-release-source": "No verified feed",
|
|
10991
|
+
"cli.manage.reasonLabel.incomparable-version": "Different release channel",
|
|
10992
|
+
"cli.manage.reason.application-managed": "This Agent is managed by its application. No comparable runtime release feed is verified; use the application’s Check for Updates.",
|
|
10993
|
+
"cli.manage.reason.unknown-version": "The installed version could not be identified. Re-detect the Agent before comparing releases.",
|
|
10994
|
+
"cli.manage.reason.legacy-distribution": "This legacy distribution has no comparable current release feed. See the official migration guide.",
|
|
10995
|
+
"cli.manage.reason.no-release-source": "No verified release feed is available for this installation and platform. See the official guide.",
|
|
10996
|
+
"cli.manage.reason.incomparable-version": "The installed and published versions use different release channels and cannot be compared safely.",
|
|
10997
|
+
"cli.manage.availableInApp": "Version {version} is available. Complete the update in {name}.",
|
|
10998
|
+
"cli.manage.updateInApp": "Update in app",
|
|
10999
|
+
"cli.manage.open": "Manage external Agents",
|
|
11000
|
+
"cli.manage.listTitle": "External Agents",
|
|
11001
|
+
"cli.manage.details": "Details",
|
|
11002
|
+
"cli.manage.methodUnknown": "No supported automatic updater was identified for this installation. Re-detect to retry, or follow the official guide below.",
|
|
11003
|
+
"cli.manage.hostUnsupported": "This Host has not loaded update checking. Reload the Host with the current plugin, then refresh this list.",
|
|
11004
|
+
"cli.manage.state.unchecked": "Not checked",
|
|
11005
|
+
"cli.manage.state.checking": "Checking…",
|
|
11006
|
+
"cli.manage.state.current": "Up to date",
|
|
11007
|
+
"cli.manage.state.unavailable": "Check manually",
|
|
11008
|
+
"cli.manage.state.error": "Check failed",
|
|
11009
|
+
"cli.manage.failure.timeout": "Release check timed out. Refresh to retry.",
|
|
11010
|
+
"cli.manage.failure.network": "Could not reach the release source. Check the Host network and refresh.",
|
|
11011
|
+
"cli.manage.failure.http": "The release source returned HTTP {status}. Refresh to retry.",
|
|
11012
|
+
"cli.manage.failure.invalid-response": "The release source returned invalid metadata. Use the official guide.",
|
|
11013
|
+
"cli.manage.install": "Install",
|
|
11014
|
+
"cli.manage.update": "Update",
|
|
11015
|
+
"cli.manage.unchecked": "Use Refresh to check for updates",
|
|
11016
|
+
"cli.manage.checking": "Checking for updates…",
|
|
11017
|
+
"cli.manage.available": "Update available: {version}",
|
|
11018
|
+
"cli.manage.current": "No newer release found",
|
|
11019
|
+
"cli.manage.unavailable": "No comparable release found. Check the official update guide.",
|
|
11020
|
+
"cli.manage.error": "Update check failed. Refresh to retry.",
|
|
11021
|
+
"cli.manage.title": "{action} {name}",
|
|
11022
|
+
"cli.manage.host": "Target Host: {name} ({platform})",
|
|
11023
|
+
"cli.manage.loading": "Checking the Agent and official methods…",
|
|
11024
|
+
"cli.manage.review": "Review the command and prerequisites. It runs on this Host with your user account. Updates may require restarting Agent sessions.",
|
|
11025
|
+
"cli.manage.source": "Official installation and update guide",
|
|
11026
|
+
"cli.manage.run": "Run {action}",
|
|
11027
|
+
"cli.manage.running": "Running…",
|
|
11028
|
+
"cli.manage.result.running": "{action} in progress",
|
|
11029
|
+
"cli.manage.result.succeeded": "{action} completed",
|
|
11030
|
+
"cli.manage.result.failed": "{action} failed",
|
|
11031
|
+
"cli.manage.result.cancelled": "{action} cancelled",
|
|
11032
|
+
"cli.manage.log.running": "Live",
|
|
11033
|
+
"cli.manage.log.succeeded": "Completed",
|
|
11034
|
+
"cli.manage.log.failed": "Failed",
|
|
11035
|
+
"cli.manage.log.cancelled": "Cancelled",
|
|
11036
|
+
"cli.manage.waitingOutput": "Waiting for output…",
|
|
11037
|
+
"cli.manage.emptyOutput": "The command produced no output.",
|
|
11038
|
+
"cli.manage.latestOutput": "Jump to latest ↓",
|
|
11039
|
+
"cli.manage.catalog.refreshing": "Refreshing the Agent list…",
|
|
11040
|
+
"cli.manage.catalog.refreshed": "Agent list refreshed with the detected version.",
|
|
11041
|
+
"cli.manage.catalog.failed": "The update succeeded, but the Agent list could not be refreshed.",
|
|
11042
|
+
"cli.manage.refreshList": "Refresh list",
|
|
11043
|
+
"cli.manage.succeeded": "Command completed. Detected version: {version}",
|
|
11044
|
+
"cli.manage.failed": "The operation failed.",
|
|
11045
|
+
"cli.manage.cancelled": "The operation was cancelled.",
|
|
11046
|
+
"cli.manage.cancel": "Cancel operation",
|
|
11047
|
+
"cli.manage.close": "Close",
|
|
11048
|
+
"cli.manage.redetect": "Re-detect installation",
|
|
11049
|
+
"cli.manage.output": "Command output",
|
|
11050
|
+
"cli.manage.background": "You can close this dialog and return to this Agent to see the result.",
|
|
11051
|
+
"cli.manage.otherBusy": "Another Agent operation is running on this Host: {name}",
|
|
11052
|
+
"cli.manage.retryStatus": "Retry status",
|
|
11053
|
+
"cli.manage.reviewAgain": "Review another operation"
|
|
11054
|
+
};
|
|
11055
|
+
const zh$1 = {
|
|
11056
|
+
"cli.team.label": "团队适配能力",
|
|
11057
|
+
"cli.team.leadAndMember": "协作者和管理者",
|
|
11058
|
+
"cli.team.member": "协作者",
|
|
11059
|
+
"cli.team.reason.version": "完整团队功能需要经过验证的 DSH alpha.2 或 alpha.3 主机。",
|
|
11060
|
+
"cli.team.reason.profile": "请启用 DSH 原生团队配置后使用团队功能。",
|
|
11061
|
+
"cli.team.reason.disabled": "请启用 CodingNS 桥接和此 Agent 后使用团队功能。",
|
|
11062
|
+
"cli.team.reason.adapter": "此 Agent 尚未提供所需的团队工具通道。",
|
|
11063
|
+
"cli.team.reason.installation": "请先安装并启用此 Agent,再使用团队功能。",
|
|
11064
|
+
"cli.manage.reasonLabel.application-managed": "在应用中检查",
|
|
11065
|
+
"cli.manage.reasonLabel.unknown-version": "版本未知",
|
|
11066
|
+
"cli.manage.reasonLabel.legacy-distribution": "旧版发行包",
|
|
11067
|
+
"cli.manage.reasonLabel.no-release-source": "暂无可用版本源",
|
|
11068
|
+
"cli.manage.reasonLabel.incomparable-version": "版本通道不同",
|
|
11069
|
+
"cli.manage.reason.application-managed": "此 Agent 由所属应用管理,尚未验证可比较的运行时版本源,请使用应用内的“检查更新”。",
|
|
11070
|
+
"cli.manage.reason.unknown-version": "无法识别已安装版本,请重新检测 Agent 后再比较版本。",
|
|
11071
|
+
"cli.manage.reason.legacy-distribution": "此旧版发行包没有可比较的当前版本源,请查看官方迁移指南。",
|
|
11072
|
+
"cli.manage.reason.no-release-source": "此安装和平台尚无经过验证的版本源,请查看官方指南。",
|
|
11073
|
+
"cli.manage.reason.incomparable-version": "已安装版本与发布版本属于不同通道,无法可靠比较。",
|
|
11074
|
+
"cli.manage.availableInApp": "发现版本 {version},请在 {name} 中完成更新。",
|
|
11075
|
+
"cli.manage.updateInApp": "在应用中更新",
|
|
11076
|
+
"cli.manage.open": "管理外部 Agent",
|
|
11077
|
+
"cli.manage.listTitle": "外部 Agent",
|
|
11078
|
+
"cli.manage.details": "详情",
|
|
11079
|
+
"cli.manage.methodUnknown": "未能识别此安装的自动更新方式。可重新检测重试,或查看下方官方指南。",
|
|
11080
|
+
"cli.manage.hostUnsupported": "此主机尚未加载更新检查功能。请让主机加载当前插件后,再刷新列表。",
|
|
11081
|
+
"cli.manage.state.unchecked": "未检查更新",
|
|
11082
|
+
"cli.manage.state.checking": "检查中…",
|
|
11083
|
+
"cli.manage.state.current": "已是最新",
|
|
11084
|
+
"cli.manage.state.unavailable": "需手动检查",
|
|
11085
|
+
"cli.manage.state.error": "检查失败",
|
|
11086
|
+
"cli.manage.failure.timeout": "版本检查超时,请刷新重试。",
|
|
11087
|
+
"cli.manage.failure.network": "无法连接版本来源,请检查主机网络后刷新。",
|
|
11088
|
+
"cli.manage.failure.http": "版本来源返回 HTTP {status},请刷新重试。",
|
|
11089
|
+
"cli.manage.failure.invalid-response": "版本来源返回的数据无效,请查看官方指南。",
|
|
11090
|
+
"cli.manage.install": "安装",
|
|
11091
|
+
"cli.manage.update": "更新",
|
|
11092
|
+
"cli.manage.unchecked": "点击刷新检查更新",
|
|
11093
|
+
"cli.manage.checking": "正在检查更新…",
|
|
11094
|
+
"cli.manage.available": "有新版本:{version}",
|
|
11095
|
+
"cli.manage.current": "未发现更新版本",
|
|
11096
|
+
"cli.manage.unavailable": "未找到可比较的版本,请查看官方更新指南。",
|
|
11097
|
+
"cli.manage.error": "检查更新失败,请刷新重试。",
|
|
11098
|
+
"cli.manage.title": "{action} {name}",
|
|
11099
|
+
"cli.manage.host": "目标主机:{name}({platform})",
|
|
11100
|
+
"cli.manage.loading": "正在检查 Agent 和官方安装方式…",
|
|
11101
|
+
"cli.manage.review": "请核对命令和前置要求。命令将以当前用户在此主机上执行,更新后可能需要重新开启 Agent 会话。",
|
|
11102
|
+
"cli.manage.source": "官方安装与更新指南",
|
|
11103
|
+
"cli.manage.run": "执行{action}",
|
|
11104
|
+
"cli.manage.running": "正在执行…",
|
|
11105
|
+
"cli.manage.result.running": "正在{action}",
|
|
11106
|
+
"cli.manage.result.succeeded": "{action}成功",
|
|
11107
|
+
"cli.manage.result.failed": "{action}失败",
|
|
11108
|
+
"cli.manage.result.cancelled": "已取消{action}",
|
|
11109
|
+
"cli.manage.log.running": "实时输出",
|
|
11110
|
+
"cli.manage.log.succeeded": "已完成",
|
|
11111
|
+
"cli.manage.log.failed": "失败",
|
|
11112
|
+
"cli.manage.log.cancelled": "已取消",
|
|
11113
|
+
"cli.manage.waitingOutput": "等待命令输出…",
|
|
11114
|
+
"cli.manage.emptyOutput": "命令未产生输出。",
|
|
11115
|
+
"cli.manage.latestOutput": "跳至最新 ↓",
|
|
11116
|
+
"cli.manage.catalog.refreshing": "正在刷新 Agent 列表…",
|
|
11117
|
+
"cli.manage.catalog.refreshed": "Agent 列表已刷新,当前显示检测到的新版本。",
|
|
11118
|
+
"cli.manage.catalog.failed": "更新已成功,但 Agent 列表刷新失败。",
|
|
11119
|
+
"cli.manage.refreshList": "刷新列表",
|
|
11120
|
+
"cli.manage.succeeded": "命令已完成,检测到版本:{version}",
|
|
11121
|
+
"cli.manage.failed": "操作失败。",
|
|
11122
|
+
"cli.manage.cancelled": "操作已取消。",
|
|
11123
|
+
"cli.manage.cancel": "取消操作",
|
|
11124
|
+
"cli.manage.close": "关闭",
|
|
11125
|
+
"cli.manage.redetect": "重新检测安装",
|
|
11126
|
+
"cli.manage.output": "命令输出",
|
|
11127
|
+
"cli.manage.background": "可以关闭此窗口,稍后再次打开此 Agent 查看结果。",
|
|
11128
|
+
"cli.manage.otherBusy": "此主机上的另一个 Agent 操作正在执行:{name}",
|
|
11129
|
+
"cli.manage.retryStatus": "重新查询状态",
|
|
11130
|
+
"cli.manage.reviewAgain": "查看新的操作"
|
|
11131
|
+
};
|
|
11132
|
+
//#endregion
|
|
10376
11133
|
//#region src/client/locale.ts
|
|
10377
11134
|
/** Codingns4DSH 自有词典命名空间。词典缺少的语言由 DSH 自动回退到英文。 */
|
|
10378
11135
|
const CODINGNS_LOCALE_NS = "codingns";
|
|
@@ -10494,7 +11251,7 @@
|
|
|
10494
11251
|
"feature.fileManagement.label": "File management enhancements",
|
|
10495
11252
|
"feature.fileManagement.description": "Add file and folder operation menus to the DSH file sidebar and edit common text files in place.",
|
|
10496
11253
|
"fileManagement.menuEnhancement": "File and folder operation menu",
|
|
10497
|
-
"fileManagement.menuEnhancementDescription": "Show the right-click operation menu for files and folders in the DSH sidebar.",
|
|
11254
|
+
"fileManagement.menuEnhancementDescription": "Show the right-click operation menu for files and folders in the DSH sidebar, and copy relative or absolute paths from the file viewer.",
|
|
10498
11255
|
"fileManagement.fileEditor": "File viewer editor",
|
|
10499
11256
|
"fileManagement.fileEditorDescription": "Show the icon button for editing supported text files with syntax highlighting and line numbers.",
|
|
10500
11257
|
"fileManagement.sessionChangedFiles": "Show current session changed files",
|
|
@@ -10741,6 +11498,9 @@
|
|
|
10741
11498
|
"cli.loadingModel": "Loading models…",
|
|
10742
11499
|
"cli.noModelsAvailable": "No models available",
|
|
10743
11500
|
"cli.model": "Model",
|
|
11501
|
+
"cli.modelSearch": "Search models…",
|
|
11502
|
+
"cli.modelSearchClear": "Clear search",
|
|
11503
|
+
"cli.modelSearchEmpty": "No matching models.",
|
|
10744
11504
|
"cli.thinking": "Thinking level",
|
|
10745
11505
|
"cli.back": "‹ Back",
|
|
10746
11506
|
"cli.chooseModel": "Choose model, current {model}, thinking level {effort}",
|
|
@@ -10772,6 +11532,8 @@
|
|
|
10772
11532
|
"cli.currentAgent": "Current Agent: {name}{locked}",
|
|
10773
11533
|
"cli.locked": " (locked)",
|
|
10774
11534
|
"cli.selectAgent": "Select Agent",
|
|
11535
|
+
"cli.catalogLoadFailed": "Could not load external Agents.",
|
|
11536
|
+
"cli.retryCatalog": "Retry loading Agents",
|
|
10775
11537
|
"workspace.showLogo": "Show Agent logo",
|
|
10776
11538
|
"workspace.logoDescription": "Display the selected external Agent logo in native workspace session rows.",
|
|
10777
11539
|
"workspace.optimizeSessionTitles": "Optimize DSH session title generation",
|
|
@@ -10798,6 +11560,8 @@
|
|
|
10798
11560
|
"workspace.rememberConversationRightbarRatio": "Remember conversation and right sidebar width ratio",
|
|
10799
11561
|
"workspace.rememberConversationRightbarRatioDescription": "Restore the right sidebar proportion after refreshing this browser; the ratio is stored locally.",
|
|
10800
11562
|
"mobile.sidebarGestures": "Swipe to open or close sidebars",
|
|
11563
|
+
"mobile.team.title": "Agent Team",
|
|
11564
|
+
"mobile.team.close": "Close Agent Team",
|
|
10801
11565
|
"mobile.sidebarGesturesDescription": "On touch devices, swipe horizontally in the conversation area to toggle a sidebar. Cross the configured share of the viewport width, or give a quick flick to trigger it.",
|
|
10802
11566
|
"mobile.sidebarGestureMapping": "Swipe direction",
|
|
10803
11567
|
"mobile.sidebarGestureMappingInward": "Swipe right: session list; swipe left: right sidebar",
|
|
@@ -10943,7 +11707,7 @@
|
|
|
10943
11707
|
"feature.fileManagement.label": "文件管理增强",
|
|
10944
11708
|
"feature.fileManagement.description": "增强文件侧栏操作",
|
|
10945
11709
|
"fileManagement.menuEnhancement": "文件管理菜单增强",
|
|
10946
|
-
"fileManagement.menuEnhancementDescription": "在 DSH
|
|
11710
|
+
"fileManagement.menuEnhancementDescription": "在 DSH 文件侧栏为文件和目录显示右键操作菜单,并在文件查看器中复制相对路径或绝对路径。",
|
|
10947
11711
|
"fileManagement.fileEditor": "文件查看器编辑功能",
|
|
10948
11712
|
"fileManagement.fileEditorDescription": "为支持的文本文件显示编辑图标按钮,并保留语法高亮和行号。",
|
|
10949
11713
|
"fileManagement.sessionChangedFiles": "显示当前会话修改的文件",
|
|
@@ -11190,6 +11954,9 @@
|
|
|
11190
11954
|
"cli.loadingModel": "加载模型…",
|
|
11191
11955
|
"cli.noModelsAvailable": "无可用模型",
|
|
11192
11956
|
"cli.model": "模型",
|
|
11957
|
+
"cli.modelSearch": "搜索模型…",
|
|
11958
|
+
"cli.modelSearchClear": "清除搜索",
|
|
11959
|
+
"cli.modelSearchEmpty": "没有匹配的模型。",
|
|
11193
11960
|
"cli.thinking": "思考等级",
|
|
11194
11961
|
"cli.back": "‹ 返回",
|
|
11195
11962
|
"cli.chooseModel": "选择模型,当前 {model},思考等级 {effort}",
|
|
@@ -11221,6 +11988,8 @@
|
|
|
11221
11988
|
"cli.currentAgent": "当前 Agent:{name}{locked}",
|
|
11222
11989
|
"cli.locked": "(已锁定)",
|
|
11223
11990
|
"cli.selectAgent": "选择 Agent",
|
|
11991
|
+
"cli.catalogLoadFailed": "无法加载外部 Agent。",
|
|
11992
|
+
"cli.retryCatalog": "重新加载 Agent",
|
|
11224
11993
|
"workspace.showLogo": "显示 Agent Logo",
|
|
11225
11994
|
"workspace.logoDescription": "在原生工作区会话行显示所选外部 Agent 的 Logo。",
|
|
11226
11995
|
"workspace.optimizeSessionTitles": "优化DSH会话标题生成逻辑",
|
|
@@ -11247,6 +12016,8 @@
|
|
|
11247
12016
|
"workspace.rememberConversationRightbarRatio": "记忆对话窗口与右侧栏的宽度比例",
|
|
11248
12017
|
"workspace.rememberConversationRightbarRatioDescription": "刷新后恢复右侧栏比例;比例仅保存在当前浏览器中。",
|
|
11249
12018
|
"mobile.sidebarGestures": "横滑开合侧栏",
|
|
12019
|
+
"mobile.team.title": "智能体团队",
|
|
12020
|
+
"mobile.team.close": "关闭智能体团队",
|
|
11250
12021
|
"mobile.sidebarGesturesDescription": "触摸设备上在对话区横滑即可开合侧栏;跨过设定的视口宽度比例即触发,快速轻甩同样有效。",
|
|
11251
12022
|
"mobile.sidebarGestureMapping": "方向映射",
|
|
11252
12023
|
"mobile.sidebarGestureMappingInward": "右滑开合会话列表,左滑开合右边栏",
|
|
@@ -11276,36 +12047,40 @@
|
|
|
11276
12047
|
};
|
|
11277
12048
|
({
|
|
11278
12049
|
...CORE_EN,
|
|
12050
|
+
...en$14,
|
|
12051
|
+
...en$15,
|
|
11279
12052
|
...en$12,
|
|
11280
|
-
...en$
|
|
12053
|
+
...en$16,
|
|
11281
12054
|
...en$10,
|
|
11282
|
-
...en$
|
|
11283
|
-
...en$8,
|
|
12055
|
+
...en$9,
|
|
11284
12056
|
...en$7,
|
|
12057
|
+
...en$6,
|
|
11285
12058
|
...en$5,
|
|
11286
12059
|
...en$4,
|
|
12060
|
+
...en$13,
|
|
12061
|
+
...en$8,
|
|
12062
|
+
...en$11,
|
|
11287
12063
|
...en$3,
|
|
11288
12064
|
...en$2,
|
|
11289
|
-
...en$11,
|
|
11290
|
-
...en$6,
|
|
11291
|
-
...en$9,
|
|
11292
12065
|
...en$1
|
|
11293
12066
|
});
|
|
11294
12067
|
const zh = {
|
|
11295
12068
|
...CORE_ZH,
|
|
12069
|
+
...zh$14,
|
|
12070
|
+
...zh$15,
|
|
11296
12071
|
...zh$12,
|
|
11297
|
-
...zh$
|
|
12072
|
+
...zh$16,
|
|
11298
12073
|
...zh$10,
|
|
11299
|
-
...zh$
|
|
11300
|
-
...zh$8,
|
|
12074
|
+
...zh$9,
|
|
11301
12075
|
...zh$7,
|
|
12076
|
+
...zh$6,
|
|
11302
12077
|
...zh$5,
|
|
11303
12078
|
...zh$4,
|
|
12079
|
+
...zh$13,
|
|
12080
|
+
...zh$8,
|
|
12081
|
+
...zh$11,
|
|
11304
12082
|
...zh$3,
|
|
11305
12083
|
...zh$2,
|
|
11306
|
-
...zh$11,
|
|
11307
|
-
...zh$6,
|
|
11308
|
-
...zh$9,
|
|
11309
12084
|
...zh$1
|
|
11310
12085
|
};
|
|
11311
12086
|
/** 非 React 注册回调使用的翻译函数。 */
|
|
@@ -11462,84 +12237,77 @@
|
|
|
11462
12237
|
return n;
|
|
11463
12238
|
}
|
|
11464
12239
|
//#endregion
|
|
11465
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12240
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css
|
|
11466
12241
|
var TextShimmer_module_default = {
|
|
11467
|
-
"content": "
|
|
11468
|
-
"decoration": "
|
|
11469
|
-
"dsh-row-shimmer-highlight": "
|
|
11470
|
-
"dsh-row-shimmer-sweep": "
|
|
11471
|
-
"highlight": "
|
|
11472
|
-
"root": "
|
|
11473
|
-
"sweep": "
|
|
11474
|
-
"text": "
|
|
12242
|
+
"content": "xT720a_content",
|
|
12243
|
+
"decoration": "xT720a_decoration",
|
|
12244
|
+
"dsh-row-shimmer-highlight": "xT720a_dsh-row-shimmer-highlight",
|
|
12245
|
+
"dsh-row-shimmer-sweep": "xT720a_dsh-row-shimmer-sweep",
|
|
12246
|
+
"highlight": "xT720a_highlight",
|
|
12247
|
+
"root": "xT720a_root",
|
|
12248
|
+
"sweep": "xT720a_sweep",
|
|
12249
|
+
"text": "xT720a_text"
|
|
11475
12250
|
};
|
|
11476
12251
|
//#endregion
|
|
11477
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12252
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css
|
|
11478
12253
|
var DisclosureRow_module_default = {
|
|
11479
|
-
"chevronHover": "
|
|
11480
|
-
"header": "
|
|
11481
|
-
"iconIdle": "
|
|
11482
|
-
"leading": "
|
|
11483
|
-
"root": "
|
|
11484
|
-
"row": "
|
|
11485
|
-
"title": "
|
|
12254
|
+
"chevronHover": "xmgODW_chevronHover",
|
|
12255
|
+
"header": "xmgODW_header",
|
|
12256
|
+
"iconIdle": "xmgODW_iconIdle",
|
|
12257
|
+
"leading": "xmgODW_leading",
|
|
12258
|
+
"root": "xmgODW_root",
|
|
12259
|
+
"row": "xmgODW_row",
|
|
12260
|
+
"title": "xmgODW_title"
|
|
11486
12261
|
};
|
|
11487
12262
|
//#endregion
|
|
11488
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12263
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css
|
|
11489
12264
|
var Button_module_default = {
|
|
11490
|
-
"button": "
|
|
11491
|
-
"ghost": "
|
|
11492
|
-
"icon": "
|
|
11493
|
-
"md": "
|
|
11494
|
-
"outline": "
|
|
11495
|
-
"primary": "
|
|
11496
|
-
"sm": "
|
|
11497
|
-
"toolbar": "
|
|
12265
|
+
"button": "_8zgEAq_button",
|
|
12266
|
+
"ghost": "_8zgEAq_ghost",
|
|
12267
|
+
"icon": "_8zgEAq_icon",
|
|
12268
|
+
"md": "_8zgEAq_md",
|
|
12269
|
+
"outline": "_8zgEAq_outline",
|
|
12270
|
+
"primary": "_8zgEAq_primary",
|
|
12271
|
+
"sm": "_8zgEAq_sm",
|
|
12272
|
+
"toolbar": "_8zgEAq_toolbar"
|
|
11498
12273
|
};
|
|
11499
12274
|
//#endregion
|
|
11500
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12275
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css
|
|
11501
12276
|
var Input_module_default = {
|
|
11502
|
-
"icon": "
|
|
11503
|
-
"input": "
|
|
11504
|
-
"wrap": "
|
|
12277
|
+
"icon": "_6cRCnW_icon",
|
|
12278
|
+
"input": "_6cRCnW_input",
|
|
12279
|
+
"wrap": "_6cRCnW_wrap"
|
|
11505
12280
|
};
|
|
11506
12281
|
//#endregion
|
|
11507
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12282
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css
|
|
11508
12283
|
var import_react_dom = require_react_dom();
|
|
11509
12284
|
var ShortcutKeys_module_default = {
|
|
11510
|
-
"joined": "
|
|
11511
|
-
"key": "
|
|
11512
|
-
"keys": "
|
|
11513
|
-
"separator": "
|
|
11514
|
-
"tooltip": "
|
|
12285
|
+
"joined": "qBkf6a_joined",
|
|
12286
|
+
"key": "qBkf6a_key",
|
|
12287
|
+
"keys": "qBkf6a_keys",
|
|
12288
|
+
"separator": "qBkf6a_separator",
|
|
12289
|
+
"tooltip": "qBkf6a_tooltip"
|
|
11515
12290
|
};
|
|
11516
12291
|
//#endregion
|
|
11517
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12292
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css
|
|
11518
12293
|
var MenuSurface_module_default = {
|
|
11519
|
-
"backing": "
|
|
11520
|
-
"compact": "
|
|
11521
|
-
"material": "
|
|
11522
|
-
"surface": "
|
|
11523
|
-
};
|
|
11524
|
-
//#endregion
|
|
11525
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-alpha.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css
|
|
11526
|
-
var Tooltip_module_default = {
|
|
11527
|
-
"bubble": "hMkNvq_bubble",
|
|
11528
|
-
"label": "hMkNvq_label",
|
|
11529
|
-
"tooltip-in": "hMkNvq_tooltip-in"
|
|
12294
|
+
"backing": "aFxMnq_backing",
|
|
12295
|
+
"compact": "aFxMnq_compact",
|
|
12296
|
+
"material": "aFxMnq_material",
|
|
12297
|
+
"surface": "aFxMnq_surface"
|
|
11530
12298
|
};
|
|
11531
12299
|
//#endregion
|
|
11532
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12300
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css
|
|
11533
12301
|
var HoverCard_module_default = {
|
|
11534
|
-
"card": "
|
|
11535
|
-
"copied": "
|
|
11536
|
-
"copyable": "
|
|
11537
|
-
"feedback": "
|
|
11538
|
-
"inline": "
|
|
11539
|
-
"media": "
|
|
11540
|
-
"preview": "
|
|
11541
|
-
"root": "
|
|
11542
|
-
"status": "
|
|
12302
|
+
"card": "qC0LEq_card",
|
|
12303
|
+
"copied": "qC0LEq_copied",
|
|
12304
|
+
"copyable": "qC0LEq_copyable",
|
|
12305
|
+
"feedback": "qC0LEq_feedback",
|
|
12306
|
+
"inline": "qC0LEq_inline",
|
|
12307
|
+
"media": "qC0LEq_media",
|
|
12308
|
+
"preview": "qC0LEq_preview",
|
|
12309
|
+
"root": "qC0LEq_root",
|
|
12310
|
+
"status": "qC0LEq_status"
|
|
11543
12311
|
};
|
|
11544
12312
|
//#endregion
|
|
11545
12313
|
//#region node_modules/.pnpm/simple-icons@16.31.0/node_modules/simple-icons/index.mjs
|
|
@@ -11903,19 +12671,26 @@
|
|
|
11903
12671
|
hex: "0084FF"
|
|
11904
12672
|
};
|
|
11905
12673
|
//#endregion
|
|
11906
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12674
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css
|
|
11907
12675
|
var MarkdownText_module_default = {
|
|
11908
|
-
"compact": "
|
|
11909
|
-
"fileLink": "
|
|
11910
|
-
"fileMention": "
|
|
11911
|
-
"image": "
|
|
11912
|
-
"imageAlt": "
|
|
11913
|
-
"imageButton": "
|
|
11914
|
-
"linkIcon": "
|
|
11915
|
-
"markdown": "
|
|
11916
|
-
"previewName": "
|
|
11917
|
-
"tableFill": "
|
|
11918
|
-
"tableScroll": "
|
|
12676
|
+
"compact": "RLS9OW_compact",
|
|
12677
|
+
"fileLink": "RLS9OW_fileLink",
|
|
12678
|
+
"fileMention": "RLS9OW_fileMention",
|
|
12679
|
+
"image": "RLS9OW_image",
|
|
12680
|
+
"imageAlt": "RLS9OW_imageAlt",
|
|
12681
|
+
"imageButton": "RLS9OW_imageButton",
|
|
12682
|
+
"linkIcon": "RLS9OW_linkIcon",
|
|
12683
|
+
"markdown": "RLS9OW_markdown",
|
|
12684
|
+
"previewName": "RLS9OW_previewName",
|
|
12685
|
+
"tableFill": "RLS9OW_tableFill",
|
|
12686
|
+
"tableScroll": "RLS9OW_tableScroll"
|
|
12687
|
+
};
|
|
12688
|
+
//#endregion
|
|
12689
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css
|
|
12690
|
+
var Tooltip_module_default = {
|
|
12691
|
+
"bubble": "qoNxEW_bubble",
|
|
12692
|
+
"label": "qoNxEW_label",
|
|
12693
|
+
"tooltip-in": "qoNxEW_tooltip-in"
|
|
11919
12694
|
};
|
|
11920
12695
|
//#endregion
|
|
11921
12696
|
//#region node_modules/.pnpm/@shikijs+types@4.5.0/node_modules/@shikijs/types/dist/index.mjs
|
|
@@ -22474,7 +23249,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
22474
23249
|
json_default = [lang$72];
|
|
22475
23250
|
}));
|
|
22476
23251
|
//#endregion
|
|
22477
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-
|
|
23252
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-util-code-language/lib/index.js
|
|
22478
23253
|
init_typescript();
|
|
22479
23254
|
init_shellscript();
|
|
22480
23255
|
init_json();
|
|
@@ -23115,15 +23890,15 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
23115
23890
|
};
|
|
23116
23891
|
})))();
|
|
23117
23892
|
var CodeCard_module_default = {
|
|
23118
|
-
"action": "
|
|
23119
|
-
"actions": "
|
|
23120
|
-
"body": "
|
|
23121
|
-
"card": "
|
|
23122
|
-
"header": "
|
|
23123
|
-
"heading": "
|
|
23124
|
-
"language": "
|
|
23125
|
-
"status": "
|
|
23126
|
-
"title": "
|
|
23893
|
+
"action": "fsQ4jG_action",
|
|
23894
|
+
"actions": "fsQ4jG_actions",
|
|
23895
|
+
"body": "fsQ4jG_body",
|
|
23896
|
+
"card": "fsQ4jG_card",
|
|
23897
|
+
"header": "fsQ4jG_header",
|
|
23898
|
+
"heading": "fsQ4jG_heading",
|
|
23899
|
+
"language": "fsQ4jG_language",
|
|
23900
|
+
"status": "fsQ4jG_status",
|
|
23901
|
+
"title": "fsQ4jG_title"
|
|
23127
23902
|
};
|
|
23128
23903
|
//#endregion
|
|
23129
23904
|
//#region node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/diff/base.js
|
|
@@ -23640,17 +24415,17 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
23640
24415
|
};
|
|
23641
24416
|
new ArrayDiff();
|
|
23642
24417
|
//#endregion
|
|
23643
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
24418
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css
|
|
23644
24419
|
var DiffBlock_module_default = {
|
|
23645
|
-
"add": "
|
|
23646
|
-
"block": "
|
|
23647
|
-
"body": "
|
|
23648
|
-
"context": "
|
|
23649
|
-
"del": "
|
|
23650
|
-
"expand": "
|
|
23651
|
-
"gap": "
|
|
23652
|
-
"line": "
|
|
23653
|
-
"path": "
|
|
24420
|
+
"add": "CrA-0W_add",
|
|
24421
|
+
"block": "CrA-0W_block",
|
|
24422
|
+
"body": "CrA-0W_body",
|
|
24423
|
+
"context": "CrA-0W_context",
|
|
24424
|
+
"del": "CrA-0W_del",
|
|
24425
|
+
"expand": "CrA-0W_expand",
|
|
24426
|
+
"gap": "CrA-0W_gap",
|
|
24427
|
+
"line": "CrA-0W_line",
|
|
24428
|
+
"path": "CrA-0W_path"
|
|
23654
24429
|
};
|
|
23655
24430
|
//#endregion
|
|
23656
24431
|
//#region node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
|
|
@@ -63376,35 +64151,35 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
63376
64151
|
chunkString: "chunkString"
|
|
63377
64152
|
};
|
|
63378
64153
|
//#endregion
|
|
63379
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
64154
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css
|
|
63380
64155
|
var CodeBlock_module_default = {
|
|
63381
|
-
"action": "
|
|
63382
|
-
"banner": "
|
|
63383
|
-
"bannerWrap": "
|
|
63384
|
-
"block": "
|
|
63385
|
-
"card": "
|
|
63386
|
-
"content": "
|
|
63387
|
-
"copyButton": "
|
|
63388
|
-
"infostring": "
|
|
63389
|
-
"numbered": "
|
|
63390
|
-
"plain": "
|
|
63391
|
-
"shiki": "
|
|
64156
|
+
"action": "_7w5hmG_action",
|
|
64157
|
+
"banner": "_7w5hmG_banner",
|
|
64158
|
+
"bannerWrap": "_7w5hmG_bannerWrap",
|
|
64159
|
+
"block": "_7w5hmG_block",
|
|
64160
|
+
"card": "_7w5hmG_card",
|
|
64161
|
+
"content": "_7w5hmG_content",
|
|
64162
|
+
"copyButton": "_7w5hmG_copyButton",
|
|
64163
|
+
"infostring": "_7w5hmG_infostring",
|
|
64164
|
+
"numbered": "_7w5hmG_numbered",
|
|
64165
|
+
"plain": "_7w5hmG_plain",
|
|
64166
|
+
"shiki": "_7w5hmG_shiki"
|
|
63392
64167
|
};
|
|
63393
64168
|
//#endregion
|
|
63394
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
64169
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css
|
|
63395
64170
|
var ImageLightbox_module_default = {
|
|
63396
|
-
"backdrop": "
|
|
63397
|
-
"close": "
|
|
63398
|
-
"image": "
|
|
63399
|
-
"mask": "
|
|
63400
|
-
"stage": "
|
|
64171
|
+
"backdrop": "oyD5na_backdrop",
|
|
64172
|
+
"close": "oyD5na_close",
|
|
64173
|
+
"image": "oyD5na_image",
|
|
64174
|
+
"mask": "oyD5na_mask",
|
|
64175
|
+
"stage": "oyD5na_stage"
|
|
63401
64176
|
};
|
|
63402
64177
|
//#endregion
|
|
63403
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
64178
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css
|
|
63404
64179
|
var ImagePreview_module_default = {
|
|
63405
|
-
"frame": "
|
|
63406
|
-
"image": "
|
|
63407
|
-
"status": "
|
|
64180
|
+
"frame": "RGf95q_frame",
|
|
64181
|
+
"image": "RGf95q_image",
|
|
64182
|
+
"status": "RGf95q_status"
|
|
63408
64183
|
};
|
|
63409
64184
|
//#endregion
|
|
63410
64185
|
//#region node_modules/.pnpm/@shikijs+langs@4.5.0/node_modules/@shikijs/langs/dist/python.mjs
|
|
@@ -64137,7 +64912,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
64137
64912
|
groovy_default = [lang];
|
|
64138
64913
|
}));
|
|
64139
64914
|
//#endregion
|
|
64140
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
64915
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
64141
64916
|
init_typescript();
|
|
64142
64917
|
init_shellscript();
|
|
64143
64918
|
init_json();
|
|
@@ -64716,317 +65491,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
64716
65491
|
el.remove();
|
|
64717
65492
|
}
|
|
64718
65493
|
}
|
|
64719
|
-
/**
|
|
64720
|
-
|
|
64721
|
-
* Tooltips follow the last input; rings follow navigation or a key followed by
|
|
64722
|
-
* focus on a different control. Modifiers and refocusing alone keep rings silent.
|
|
64723
|
-
* Module-level listeners live for the document lifetime; Node imports are inert.
|
|
64724
|
-
*/
|
|
64725
|
-
/** Modality values published on the document element. */
|
|
64726
|
-
const INPUT_MODALITY = {
|
|
64727
|
-
pointer: "pointer",
|
|
64728
|
-
keyboard: "keyboard"
|
|
64729
|
-
};
|
|
64730
|
-
/** Attribute carrying whether focus navigation last owned focus. */
|
|
64731
|
-
const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
64732
|
-
const FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
|
|
64733
|
-
"Tab",
|
|
64734
|
-
"Home",
|
|
64735
|
-
"End",
|
|
64736
|
-
"PageUp",
|
|
64737
|
-
"PageDown"
|
|
64738
|
-
]);
|
|
64739
|
-
let pointer = false;
|
|
64740
|
-
let pointerOwnsFocus = false;
|
|
64741
|
-
let keyFocusOrigin;
|
|
64742
|
-
function publish() {
|
|
64743
|
-
document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
|
|
64744
|
-
}
|
|
64745
|
-
/**
|
|
64746
|
-
* Whether the last input came from a pointer, independently of ring visibility.
|
|
64747
|
-
* @returns True after pointer input; false after any key.
|
|
64748
|
-
*/
|
|
64749
|
-
function pointerModality() {
|
|
64750
|
-
return pointer;
|
|
64751
|
-
}
|
|
64752
|
-
if (typeof window !== "undefined") {
|
|
64753
|
-
window.addEventListener("pointerdown", () => {
|
|
64754
|
-
pointer = true;
|
|
64755
|
-
pointerOwnsFocus = true;
|
|
64756
|
-
keyFocusOrigin = void 0;
|
|
64757
|
-
publish();
|
|
64758
|
-
}, true);
|
|
64759
|
-
window.addEventListener("keydown", (event) => {
|
|
64760
|
-
pointer = false;
|
|
64761
|
-
if (event.isComposing) {
|
|
64762
|
-
keyFocusOrigin = void 0;
|
|
64763
|
-
return;
|
|
64764
|
-
}
|
|
64765
|
-
keyFocusOrigin = event.composedPath()[0];
|
|
64766
|
-
if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
|
|
64767
|
-
pointerOwnsFocus = false;
|
|
64768
|
-
publish();
|
|
64769
|
-
}, true);
|
|
64770
|
-
window.addEventListener("focusin", (event) => {
|
|
64771
|
-
if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
|
|
64772
|
-
keyFocusOrigin = void 0;
|
|
64773
|
-
if (!pointerOwnsFocus) return;
|
|
64774
|
-
pointerOwnsFocus = false;
|
|
64775
|
-
publish();
|
|
64776
|
-
}, true);
|
|
64777
|
-
window.addEventListener("blur", () => {
|
|
64778
|
-
keyFocusOrigin = void 0;
|
|
64779
|
-
});
|
|
64780
|
-
}
|
|
64781
|
-
/** Anchor-preserving tooltips; an optional body portal escapes clipping containers and stacking contexts that cap the bubble's z-index. */
|
|
64782
|
-
/**
|
|
64783
|
-
* Suppression channel for enclosing tooltip and hover-card anchors: a visible
|
|
64784
|
-
* tooltip within an anchor withdraws the enclosing preview while its bubble is shown.
|
|
64785
|
-
*/
|
|
64786
|
-
const TooltipSuppression = (0, import_react.createContext)(null);
|
|
64787
|
-
/**
|
|
64788
|
-
* Attach a hover/focus tooltip to an anchor element.
|
|
64789
|
-
* @param props.label - bubble text, or a resolver evaluated only while visible; an empty string shows only shortcut keys.
|
|
64790
|
-
* @param props.shortcutKeys - effective key labels rendered as platform-formatted keycaps after optional text.
|
|
64791
|
-
* @param props.side - placement relative to the anchor (default 'right').
|
|
64792
|
-
* @param props.align - horizontal anchor-edge alignment for 'bottom'/'top' bubbles: 'end' pins
|
|
64793
|
-
* the bubble's right edge to the anchor's (for anchors beside other hover surfaces the centered
|
|
64794
|
-
* bubble would overlap); default 'center'. Ignored for side 'right'.
|
|
64795
|
-
* @param props.portal - render the bubble under document.body, so an ancestor's clipping or its
|
|
64796
|
-
* stacking context (which confines the bubble's z-index to that context) cannot hide it.
|
|
64797
|
-
* @param props.delayMs - hover delay in milliseconds (default 0).
|
|
64798
|
-
* @param props.focusDelayMs - keyboard focus delay in milliseconds (default 0); blur, click,
|
|
64799
|
-
* mouse leave, disabling, and unmount cancel a pending show.
|
|
64800
|
-
* @param props.gap - anchor-to-bubble distance in pixels for 'bottom'/'top' bubbles (default 8);
|
|
64801
|
-
* ignored for side 'right'.
|
|
64802
|
-
* @param props.disabled - suppress the bubble while true; the anchor renders identically so
|
|
64803
|
-
* toggling never remounts it (which would cut its CSS transitions).
|
|
64804
|
-
* @param props.maxWidth - bubble width cap in pixels, for labels long enough that the default
|
|
64805
|
-
* half-viewport cap would render a slab wider than the surface the anchor sits on.
|
|
64806
|
-
* @param props.openOnClick - clicking also pins the bubble for reading; another click, Escape,
|
|
64807
|
-
* Tab, or an outside pointerdown dismisses it. Defaults to false for ordinary action tooltips.
|
|
64808
|
-
* @param props.children - a single anchor element; its own ref (callback or object) is forwarded alongside the tooltip's.
|
|
64809
|
-
* @returns the cloned anchor plus a fixed-position bubble, optionally portaled to the body.
|
|
64810
|
-
* The bubble stays hidden until ResizeObserver supplies its size for viewport fitting; clicking the
|
|
64811
|
-
* anchor dismisses the bubble unless openOnClick is enabled, and focus arriving after a pointer
|
|
64812
|
-
* interaction (a closing menu refocusing its trigger) never raises it.
|
|
64813
|
-
*/
|
|
64814
|
-
function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
|
|
64815
|
-
const id = (0, import_react.useId)();
|
|
64816
|
-
const [pinned, setPinned] = (0, import_react.useState)(false);
|
|
64817
|
-
const anchor = (0, import_react.useRef)(null);
|
|
64818
|
-
const childRef = children.ref;
|
|
64819
|
-
const mergedRef = (0, import_react.useCallback)((el) => {
|
|
64820
|
-
anchor.current = el;
|
|
64821
|
-
if (typeof childRef === "function") childRef(el);
|
|
64822
|
-
else if (childRef != null) childRef.current = el;
|
|
64823
|
-
}, [childRef]);
|
|
64824
|
-
const [pos, setPos] = (0, import_react.useState)(null);
|
|
64825
|
-
const bubble = (0, import_react.useRef)(null);
|
|
64826
|
-
const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
|
|
64827
|
-
const y = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
|
|
64828
|
-
const showTimer = (0, import_react.useRef)(null);
|
|
64829
|
-
const triggers = (0, import_react.useRef)({
|
|
64830
|
-
hover: false,
|
|
64831
|
-
focus: false
|
|
64832
|
-
});
|
|
64833
|
-
const suppressAncestors = (0, import_react.useContext)(TooltipSuppression);
|
|
64834
|
-
const [suppressed, setSuppressed] = (0, import_react.useState)(false);
|
|
64835
|
-
const announce = (0, import_react.useCallback)((active) => {
|
|
64836
|
-
suppressAncestors?.(active);
|
|
64837
|
-
}, [suppressAncestors]);
|
|
64838
|
-
const visible = pos !== null && !disabled;
|
|
64839
|
-
(0, import_react.useEffect)(() => {
|
|
64840
|
-
const el = bubble.current;
|
|
64841
|
-
if (pos === null || !visible || suppressed || el === null) return;
|
|
64842
|
-
const edgeMargin = 12;
|
|
64843
|
-
let size;
|
|
64844
|
-
let placement = side;
|
|
64845
|
-
const fit = () => {
|
|
64846
|
-
if (size === void 0) return;
|
|
64847
|
-
const { inlineSize: width, blockSize: height } = size;
|
|
64848
|
-
const offset = side === "right" ? 0 : align === "end" ? width : width / 2;
|
|
64849
|
-
const left = Math.max(edgeMargin, Math.min(pos.x - offset, window.innerWidth - edgeMargin - width));
|
|
64850
|
-
const fitsBelow = pos.bottom + gap + height <= window.innerHeight - edgeMargin;
|
|
64851
|
-
const fitsAbove = pos.top - gap - height >= edgeMargin;
|
|
64852
|
-
if (placement === "bottom" && !fitsBelow && fitsAbove) placement = "top";
|
|
64853
|
-
else if (placement === "top" && !fitsAbove && fitsBelow) placement = "bottom";
|
|
64854
|
-
el.style.left = `${left + offset}px`;
|
|
64855
|
-
el.style.top = `${placement === "right" ? (pos.top + pos.bottom) / 2 : placement === "top" ? pos.top - gap : pos.bottom + gap}px`;
|
|
64856
|
-
el.dataset.side = placement;
|
|
64857
|
-
el.style.visibility = "visible";
|
|
64858
|
-
};
|
|
64859
|
-
const observer = new ResizeObserver((entries) => {
|
|
64860
|
-
size = entries[0]?.borderBoxSize[0];
|
|
64861
|
-
fit();
|
|
64862
|
-
});
|
|
64863
|
-
observer.observe(el, { box: "border-box" });
|
|
64864
|
-
window.addEventListener("resize", fit);
|
|
64865
|
-
return () => {
|
|
64866
|
-
observer.disconnect();
|
|
64867
|
-
window.removeEventListener("resize", fit);
|
|
64868
|
-
};
|
|
64869
|
-
}, [
|
|
64870
|
-
align,
|
|
64871
|
-
gap,
|
|
64872
|
-
pos,
|
|
64873
|
-
side,
|
|
64874
|
-
suppressed,
|
|
64875
|
-
visible
|
|
64876
|
-
]);
|
|
64877
|
-
(0, import_react.useEffect)(() => {
|
|
64878
|
-
announce(visible);
|
|
64879
|
-
return () => {
|
|
64880
|
-
announce(false);
|
|
64881
|
-
};
|
|
64882
|
-
}, [announce, visible]);
|
|
64883
|
-
const cancelShow = (0, import_react.useCallback)(() => {
|
|
64884
|
-
if (showTimer.current === null) return;
|
|
64885
|
-
clearTimeout(showTimer.current);
|
|
64886
|
-
showTimer.current = null;
|
|
64887
|
-
}, []);
|
|
64888
|
-
(0, import_react.useEffect)(() => {
|
|
64889
|
-
if (pinned && (disabled || !openOnClick)) setPinned(false);
|
|
64890
|
-
if (disabled) {
|
|
64891
|
-
cancelShow();
|
|
64892
|
-
triggers.current = {
|
|
64893
|
-
hover: false,
|
|
64894
|
-
focus: false
|
|
64895
|
-
};
|
|
64896
|
-
setPos(null);
|
|
64897
|
-
}
|
|
64898
|
-
return cancelShow;
|
|
64899
|
-
}, [
|
|
64900
|
-
cancelShow,
|
|
64901
|
-
disabled,
|
|
64902
|
-
openOnClick,
|
|
64903
|
-
pinned
|
|
64904
|
-
]);
|
|
64905
|
-
const show = () => {
|
|
64906
|
-
if (disabled) return;
|
|
64907
|
-
const el = anchor.current;
|
|
64908
|
-
/* v8 ignore next -- the ref is attached by event time: events fire on the cloned anchor. */
|
|
64909
|
-
if (el === null) return;
|
|
64910
|
-
const r = el.getBoundingClientRect();
|
|
64911
|
-
setPos({
|
|
64912
|
-
x: side === "right" ? r.right + 10 : align === "end" ? r.right : r.left + r.width / 2,
|
|
64913
|
-
top: r.top,
|
|
64914
|
-
bottom: r.bottom
|
|
64915
|
-
});
|
|
64916
|
-
announce(true);
|
|
64917
|
-
};
|
|
64918
|
-
const showAfterDelay = (delay) => {
|
|
64919
|
-
cancelShow();
|
|
64920
|
-
if (delay <= 0) {
|
|
64921
|
-
show();
|
|
64922
|
-
return;
|
|
64923
|
-
}
|
|
64924
|
-
showTimer.current = setTimeout(() => {
|
|
64925
|
-
showTimer.current = null;
|
|
64926
|
-
show();
|
|
64927
|
-
}, delay);
|
|
64928
|
-
};
|
|
64929
|
-
const withdraw = (0, import_react.useCallback)(() => {
|
|
64930
|
-
setPinned(false);
|
|
64931
|
-
setPos(null);
|
|
64932
|
-
announce(false);
|
|
64933
|
-
}, [announce]);
|
|
64934
|
-
const hide = () => {
|
|
64935
|
-
cancelShow();
|
|
64936
|
-
if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
|
|
64937
|
-
};
|
|
64938
|
-
const dismiss = (0, import_react.useCallback)(() => {
|
|
64939
|
-
cancelShow();
|
|
64940
|
-
triggers.current = {
|
|
64941
|
-
hover: false,
|
|
64942
|
-
focus: false
|
|
64943
|
-
};
|
|
64944
|
-
withdraw();
|
|
64945
|
-
}, [cancelShow, withdraw]);
|
|
64946
|
-
useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
|
|
64947
|
-
(0, import_react.useEffect)(() => {
|
|
64948
|
-
if (!openOnClick || !visible) return;
|
|
64949
|
-
const onKeyDown = (event) => {
|
|
64950
|
-
if (event.key !== "Escape" && event.key !== "Tab") return;
|
|
64951
|
-
if (event.key === "Escape") {
|
|
64952
|
-
event.preventDefault();
|
|
64953
|
-
event.stopPropagation();
|
|
64954
|
-
}
|
|
64955
|
-
dismiss();
|
|
64956
|
-
};
|
|
64957
|
-
document.addEventListener("keydown", onKeyDown, true);
|
|
64958
|
-
return () => {
|
|
64959
|
-
document.removeEventListener("keydown", onKeyDown, true);
|
|
64960
|
-
};
|
|
64961
|
-
}, [
|
|
64962
|
-
dismiss,
|
|
64963
|
-
openOnClick,
|
|
64964
|
-
visible
|
|
64965
|
-
]);
|
|
64966
|
-
const content = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
|
|
64967
|
-
ref: bubble,
|
|
64968
|
-
id: openOnClick ? id : void 0,
|
|
64969
|
-
className: Tooltip_module_default.bubble,
|
|
64970
|
-
"data-side": side,
|
|
64971
|
-
"data-portal": portal || void 0,
|
|
64972
|
-
"data-pinned": pinned || void 0,
|
|
64973
|
-
"data-align": align,
|
|
64974
|
-
"data-has-shortcut": shortcutKeys?.length ? true : void 0,
|
|
64975
|
-
style: {
|
|
64976
|
-
left: pos.x,
|
|
64977
|
-
top: y,
|
|
64978
|
-
visibility: "hidden",
|
|
64979
|
-
...maxWidth === void 0 ? {} : { maxWidth }
|
|
64980
|
-
},
|
|
64981
|
-
role: "tooltip",
|
|
64982
|
-
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
64983
|
-
children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
|
|
64984
|
-
className: Tooltip_module_default.label,
|
|
64985
|
-
children: resolvedLabel
|
|
64986
|
-
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
|
|
64987
|
-
keys: shortcutKeys,
|
|
64988
|
-
variant: "tooltip"
|
|
64989
|
-
})]
|
|
64990
|
-
});
|
|
64991
|
-
return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
|
|
64992
|
-
value: setSuppressed,
|
|
64993
|
-
children: [(0, import_react.cloneElement)(children, {
|
|
64994
|
-
ref: mergedRef,
|
|
64995
|
-
"aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
|
|
64996
|
-
onMouseEnter: (e) => {
|
|
64997
|
-
children.props.onMouseEnter?.(e);
|
|
64998
|
-
triggers.current.hover = true;
|
|
64999
|
-
showAfterDelay(delayMs);
|
|
65000
|
-
},
|
|
65001
|
-
onMouseLeave: (e) => {
|
|
65002
|
-
children.props.onMouseLeave?.(e);
|
|
65003
|
-
triggers.current.hover = false;
|
|
65004
|
-
cancelShow();
|
|
65005
|
-
if (!pinned) withdraw();
|
|
65006
|
-
},
|
|
65007
|
-
onClick: (e) => {
|
|
65008
|
-
children.props.onClick?.(e);
|
|
65009
|
-
triggers.current.focus = false;
|
|
65010
|
-
cancelShow();
|
|
65011
|
-
if (openOnClick && !disabled && !pinned) {
|
|
65012
|
-
setPinned(true);
|
|
65013
|
-
show();
|
|
65014
|
-
} else withdraw();
|
|
65015
|
-
},
|
|
65016
|
-
onFocus: (e) => {
|
|
65017
|
-
children.props.onFocus?.(e);
|
|
65018
|
-
if (pointerModality()) return;
|
|
65019
|
-
triggers.current.focus = true;
|
|
65020
|
-
showAfterDelay(focusDelayMs);
|
|
65021
|
-
},
|
|
65022
|
-
onBlur: (e) => {
|
|
65023
|
-
children.props.onBlur?.(e);
|
|
65024
|
-
triggers.current.focus = false;
|
|
65025
|
-
hide();
|
|
65026
|
-
}
|
|
65027
|
-
}), portal ? content !== false && (0, import_react_dom.createPortal)(content, document.body) : content]
|
|
65028
|
-
});
|
|
65029
|
-
}
|
|
65494
|
+
/** Private coordination shared only by opted-in HoverCards inside one mounted group. */
|
|
65495
|
+
const HoverCardGroupContext = (0, import_react.createContext)(null);
|
|
65030
65496
|
/** Preview opacity transition and retained lifetime during dismissal. */
|
|
65031
65497
|
const PREVIEW_FADE_MS = 100;
|
|
65032
65498
|
const PREVIEW_MAX_HEIGHT = 420;
|
|
@@ -65035,7 +65501,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65035
65501
|
const ANCHOR_GAP = 8;
|
|
65036
65502
|
const VIEWPORT_MARGIN = 8;
|
|
65037
65503
|
/**
|
|
65038
|
-
* Render an anchor with a hover-triggered preview card
|
|
65504
|
+
* Render an anchor with a hover-triggered preview card independently of nested tooltips.
|
|
65039
65505
|
* @param props.anchor - the hover target (rendered in place inside a wrapper span).
|
|
65040
65506
|
* @param props.content - card content; the pointer may rest on it, so it is
|
|
65041
65507
|
* readable and selectable, but it carries no dismissal affordance of its own.
|
|
@@ -65045,13 +65511,15 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65045
65511
|
* @param props.widthAnchorRef - optional element whose width and horizontal position size the preview.
|
|
65046
65512
|
* @param props.inline - keep the anchor in prose; show a contained preview on hover or keyboard focus.
|
|
65047
65513
|
* @param props.disabled - suppress opening; turning true dismisses an open card.
|
|
65514
|
+
* @param props.grouped - share first-display dwell across the surrounding list and active portal.
|
|
65515
|
+
* Group replacement removes the previous card immediately, including a fading preview.
|
|
65048
65516
|
* @param props.copyText - optional primary value copied by activation and
|
|
65049
65517
|
* included in the card's accessible name.
|
|
65050
65518
|
* @param props.copyLabel - localized accessible activation-label prefix.
|
|
65051
65519
|
* @param props.copiedLabel - localized visible success label.
|
|
65052
65520
|
* @returns anchor wrapper with the conditional portaled card.
|
|
65053
65521
|
*/
|
|
65054
|
-
function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
|
|
65522
|
+
function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, grouped = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
|
|
65055
65523
|
const rootRef = (0, import_react.useRef)(null);
|
|
65056
65524
|
const cardRef = (0, import_react.useRef)(null);
|
|
65057
65525
|
const timerRef = (0, import_react.useRef)(null);
|
|
@@ -65066,7 +65534,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65066
65534
|
const [pos, setPos] = (0, import_react.useState)(null);
|
|
65067
65535
|
const positioned = pos !== null;
|
|
65068
65536
|
const [copied, setCopied] = (0, import_react.useState)(false);
|
|
65069
|
-
const
|
|
65537
|
+
const parentGroup = (0, import_react.useContext)(HoverCardGroupContext);
|
|
65538
|
+
const group = grouped ? parentGroup : null;
|
|
65539
|
+
const [groupOwner] = (0, import_react.useState)(() => Symbol("hover-card"));
|
|
65070
65540
|
const clearCopied = (0, import_react.useCallback)(() => {
|
|
65071
65541
|
if (copyTimerRef.current !== null) {
|
|
65072
65542
|
clearTimeout(copyTimerRef.current);
|
|
@@ -65081,12 +65551,36 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65081
65551
|
setPhase((current) => variant === "preview" && current !== "closed" ? "closing" : "closed");
|
|
65082
65552
|
}, [clearCopied, variant]);
|
|
65083
65553
|
const { arm: armClose, cancel: cancelClose } = usePointerGrace(close);
|
|
65084
|
-
const clearTimer = () => {
|
|
65554
|
+
const clearTimer = (0, import_react.useCallback)(() => {
|
|
65085
65555
|
if (timerRef.current !== null) {
|
|
65086
65556
|
clearTimeout(timerRef.current);
|
|
65087
65557
|
timerRef.current = null;
|
|
65088
65558
|
}
|
|
65089
|
-
};
|
|
65559
|
+
}, []);
|
|
65560
|
+
const dismissImmediately = (0, import_react.useCallback)(() => {
|
|
65561
|
+
clearTimer();
|
|
65562
|
+
cancelClose();
|
|
65563
|
+
copyEpochRef.current += 1;
|
|
65564
|
+
clearCopied();
|
|
65565
|
+
setPhase("closed");
|
|
65566
|
+
}, [
|
|
65567
|
+
clearTimer,
|
|
65568
|
+
cancelClose,
|
|
65569
|
+
clearCopied
|
|
65570
|
+
]);
|
|
65571
|
+
const groupVisible = open && positioned;
|
|
65572
|
+
(0, import_react.useLayoutEffect)(() => {
|
|
65573
|
+
if (!groupVisible || group === null) return;
|
|
65574
|
+
group.shown(groupOwner, dismissImmediately, cardRef.current);
|
|
65575
|
+
return () => {
|
|
65576
|
+
group.release(groupOwner);
|
|
65577
|
+
};
|
|
65578
|
+
}, [
|
|
65579
|
+
group,
|
|
65580
|
+
groupOwner,
|
|
65581
|
+
groupVisible,
|
|
65582
|
+
dismissImmediately
|
|
65583
|
+
]);
|
|
65090
65584
|
(0, import_react.useEffect)(() => {
|
|
65091
65585
|
if (!closing) return;
|
|
65092
65586
|
const timer = setTimeout(() => {
|
|
@@ -65211,7 +65705,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65211
65705
|
inline
|
|
65212
65706
|
]);
|
|
65213
65707
|
(0, import_react.useLayoutEffect)(() => {
|
|
65214
|
-
if (!open || pos === null || variant === "preview" || inline
|
|
65708
|
+
if (!open || pos === null || variant === "preview" || inline) return;
|
|
65215
65709
|
/* v8 ignore next -- the card is mounted whenever pos is set, so the ref is attached here. */
|
|
65216
65710
|
const h = cardRef.current?.offsetHeight ?? 0;
|
|
65217
65711
|
if (pos.top + h > window.innerHeight - VIEWPORT_MARGIN) setPos({
|
|
@@ -65222,8 +65716,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65222
65716
|
open,
|
|
65223
65717
|
pos,
|
|
65224
65718
|
variant,
|
|
65225
|
-
inline
|
|
65226
|
-
suppressed
|
|
65719
|
+
inline
|
|
65227
65720
|
]);
|
|
65228
65721
|
const copy = async (text) => {
|
|
65229
65722
|
if (copied || copyingRef.current) return;
|
|
@@ -65245,7 +65738,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65245
65738
|
cancelClose();
|
|
65246
65739
|
close();
|
|
65247
65740
|
};
|
|
65248
|
-
const card = open && pos !== null &&
|
|
65741
|
+
const card = open && pos !== null && (0, import_jsx_runtime.jsx)("div", {
|
|
65249
65742
|
ref: cardRef,
|
|
65250
65743
|
className: clsx(HoverCard_module_default.card, variant === "preview" && HoverCard_module_default.preview, inline && HoverCard_module_default.media, copyable && HoverCard_module_default.copyable, copied && HoverCard_module_default.feedback),
|
|
65251
65744
|
"data-closing": closing || void 0,
|
|
@@ -65299,7 +65792,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65299
65792
|
return;
|
|
65300
65793
|
}
|
|
65301
65794
|
clearTimer();
|
|
65302
|
-
|
|
65795
|
+
if (group?.isWarm()) setPhase("open");
|
|
65796
|
+
else timerRef.current = setTimeout(() => {
|
|
65303
65797
|
setPhase("open");
|
|
65304
65798
|
}, openDelayMs);
|
|
65305
65799
|
},
|
|
@@ -65310,11 +65804,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65310
65804
|
onPointerDownCapture: dismissFromAnchor,
|
|
65311
65805
|
onClickCapture: dismissFromAnchor,
|
|
65312
65806
|
children: [
|
|
65313
|
-
|
|
65314
|
-
|
|
65315
|
-
children: anchor
|
|
65316
|
-
}),
|
|
65317
|
-
open && !suppressed && copyable && (0, import_jsx_runtime.jsx)("span", {
|
|
65807
|
+
anchor,
|
|
65808
|
+
open && copyable && (0, import_jsx_runtime.jsx)("span", {
|
|
65318
65809
|
className: HoverCard_module_default.status,
|
|
65319
65810
|
role: "status",
|
|
65320
65811
|
children: copied ? copiedLabel : ""
|
|
@@ -66019,6 +66510,317 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66019
66510
|
});
|
|
66020
66511
|
}
|
|
66021
66512
|
/**
|
|
66513
|
+
* Document-wide input tracking shared by tooltips and focus-ring styles.
|
|
66514
|
+
* Tooltips follow the last input; rings follow navigation or a key followed by
|
|
66515
|
+
* focus on a different control. Modifiers and refocusing alone keep rings silent.
|
|
66516
|
+
* Module-level listeners live for the document lifetime; Node imports are inert.
|
|
66517
|
+
*/
|
|
66518
|
+
/** Modality values published on the document element. */
|
|
66519
|
+
const INPUT_MODALITY = {
|
|
66520
|
+
pointer: "pointer",
|
|
66521
|
+
keyboard: "keyboard"
|
|
66522
|
+
};
|
|
66523
|
+
/** Attribute carrying whether focus navigation last owned focus. */
|
|
66524
|
+
const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
66525
|
+
const FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
|
|
66526
|
+
"Tab",
|
|
66527
|
+
"Home",
|
|
66528
|
+
"End",
|
|
66529
|
+
"PageUp",
|
|
66530
|
+
"PageDown"
|
|
66531
|
+
]);
|
|
66532
|
+
let pointer = false;
|
|
66533
|
+
let pointerOwnsFocus = false;
|
|
66534
|
+
let keyFocusOrigin;
|
|
66535
|
+
function publish() {
|
|
66536
|
+
document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
|
|
66537
|
+
}
|
|
66538
|
+
/**
|
|
66539
|
+
* Whether the last input came from a pointer, independently of ring visibility.
|
|
66540
|
+
* @returns True after pointer input; false after any key.
|
|
66541
|
+
*/
|
|
66542
|
+
function pointerModality() {
|
|
66543
|
+
return pointer;
|
|
66544
|
+
}
|
|
66545
|
+
if (typeof window !== "undefined") {
|
|
66546
|
+
window.addEventListener("pointerdown", () => {
|
|
66547
|
+
pointer = true;
|
|
66548
|
+
pointerOwnsFocus = true;
|
|
66549
|
+
keyFocusOrigin = void 0;
|
|
66550
|
+
publish();
|
|
66551
|
+
}, true);
|
|
66552
|
+
window.addEventListener("keydown", (event) => {
|
|
66553
|
+
pointer = false;
|
|
66554
|
+
if (event.isComposing) {
|
|
66555
|
+
keyFocusOrigin = void 0;
|
|
66556
|
+
return;
|
|
66557
|
+
}
|
|
66558
|
+
keyFocusOrigin = event.composedPath()[0];
|
|
66559
|
+
if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
|
|
66560
|
+
pointerOwnsFocus = false;
|
|
66561
|
+
publish();
|
|
66562
|
+
}, true);
|
|
66563
|
+
window.addEventListener("focusin", (event) => {
|
|
66564
|
+
if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
|
|
66565
|
+
keyFocusOrigin = void 0;
|
|
66566
|
+
if (!pointerOwnsFocus) return;
|
|
66567
|
+
pointerOwnsFocus = false;
|
|
66568
|
+
publish();
|
|
66569
|
+
}, true);
|
|
66570
|
+
window.addEventListener("blur", () => {
|
|
66571
|
+
keyFocusOrigin = void 0;
|
|
66572
|
+
});
|
|
66573
|
+
}
|
|
66574
|
+
/** Anchor-preserving tooltips; an optional body portal escapes clipping containers and stacking contexts that cap the bubble's z-index. */
|
|
66575
|
+
/**
|
|
66576
|
+
* Suppression channel for nested tooltips: a visible descendant tooltip
|
|
66577
|
+
* withdraws the enclosing tooltip while its bubble is shown.
|
|
66578
|
+
*/
|
|
66579
|
+
const TooltipSuppression = (0, import_react.createContext)(null);
|
|
66580
|
+
/**
|
|
66581
|
+
* Attach a hover/focus tooltip to an anchor element.
|
|
66582
|
+
* @param props.label - bubble text, or a resolver evaluated only while visible; an empty string shows only shortcut keys.
|
|
66583
|
+
* @param props.shortcutKeys - effective key labels rendered as platform-formatted keycaps after optional text.
|
|
66584
|
+
* @param props.side - placement relative to the anchor (default 'right').
|
|
66585
|
+
* @param props.align - horizontal anchor-edge alignment for 'bottom'/'top' bubbles: 'end' pins
|
|
66586
|
+
* the bubble's right edge to the anchor's (for anchors beside other hover surfaces the centered
|
|
66587
|
+
* bubble would overlap); default 'center'. Ignored for side 'right'.
|
|
66588
|
+
* @param props.portal - render the bubble under document.body, so an ancestor's clipping or its
|
|
66589
|
+
* stacking context (which confines the bubble's z-index to that context) cannot hide it.
|
|
66590
|
+
* @param props.delayMs - hover delay in milliseconds (default 0).
|
|
66591
|
+
* @param props.focusDelayMs - keyboard focus delay in milliseconds (default 0); blur, click,
|
|
66592
|
+
* mouse leave, disabling, and unmount cancel a pending show.
|
|
66593
|
+
* @param props.gap - anchor-to-bubble distance in pixels for 'bottom'/'top' bubbles (default 8);
|
|
66594
|
+
* ignored for side 'right'.
|
|
66595
|
+
* @param props.disabled - suppress the bubble while true; the anchor renders identically so
|
|
66596
|
+
* toggling never remounts it (which would cut its CSS transitions).
|
|
66597
|
+
* @param props.maxWidth - bubble width cap in pixels, for labels long enough that the default
|
|
66598
|
+
* half-viewport cap would render a slab wider than the surface the anchor sits on.
|
|
66599
|
+
* @param props.openOnClick - clicking also pins the bubble for reading; another click, Escape,
|
|
66600
|
+
* Tab, or an outside pointerdown dismisses it. Defaults to false for ordinary action tooltips.
|
|
66601
|
+
* @param props.children - a single anchor element; its own ref (callback or object) is forwarded alongside the tooltip's.
|
|
66602
|
+
* @returns the cloned anchor plus a fixed-position bubble, optionally portaled to the body.
|
|
66603
|
+
* The bubble stays hidden until ResizeObserver supplies its size for viewport fitting; clicking the
|
|
66604
|
+
* anchor dismisses the bubble unless openOnClick is enabled, and focus arriving after a pointer
|
|
66605
|
+
* interaction (a closing menu refocusing its trigger) never raises it.
|
|
66606
|
+
*/
|
|
66607
|
+
function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
|
|
66608
|
+
const id = (0, import_react.useId)();
|
|
66609
|
+
const [pinned, setPinned] = (0, import_react.useState)(false);
|
|
66610
|
+
const anchor = (0, import_react.useRef)(null);
|
|
66611
|
+
const childRef = children.ref;
|
|
66612
|
+
const mergedRef = (0, import_react.useCallback)((el) => {
|
|
66613
|
+
anchor.current = el;
|
|
66614
|
+
if (typeof childRef === "function") childRef(el);
|
|
66615
|
+
else if (childRef != null) childRef.current = el;
|
|
66616
|
+
}, [childRef]);
|
|
66617
|
+
const [pos, setPos] = (0, import_react.useState)(null);
|
|
66618
|
+
const bubble = (0, import_react.useRef)(null);
|
|
66619
|
+
const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
|
|
66620
|
+
const y = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
|
|
66621
|
+
const showTimer = (0, import_react.useRef)(null);
|
|
66622
|
+
const triggers = (0, import_react.useRef)({
|
|
66623
|
+
hover: false,
|
|
66624
|
+
focus: false
|
|
66625
|
+
});
|
|
66626
|
+
const suppressAncestors = (0, import_react.useContext)(TooltipSuppression);
|
|
66627
|
+
const [suppressed, setSuppressed] = (0, import_react.useState)(false);
|
|
66628
|
+
const announce = (0, import_react.useCallback)((active) => {
|
|
66629
|
+
suppressAncestors?.(active);
|
|
66630
|
+
}, [suppressAncestors]);
|
|
66631
|
+
const visible = pos !== null && !disabled;
|
|
66632
|
+
(0, import_react.useEffect)(() => {
|
|
66633
|
+
const el = bubble.current;
|
|
66634
|
+
if (pos === null || !visible || suppressed || el === null) return;
|
|
66635
|
+
const edgeMargin = 12;
|
|
66636
|
+
let size;
|
|
66637
|
+
let placement = side;
|
|
66638
|
+
const fit = () => {
|
|
66639
|
+
if (size === void 0) return;
|
|
66640
|
+
const { inlineSize: width, blockSize: height } = size;
|
|
66641
|
+
const offset = side === "right" ? 0 : align === "end" ? width : width / 2;
|
|
66642
|
+
const left = Math.max(edgeMargin, Math.min(pos.x - offset, window.innerWidth - edgeMargin - width));
|
|
66643
|
+
const fitsBelow = pos.bottom + gap + height <= window.innerHeight - edgeMargin;
|
|
66644
|
+
const fitsAbove = pos.top - gap - height >= edgeMargin;
|
|
66645
|
+
if (placement === "bottom" && !fitsBelow && fitsAbove) placement = "top";
|
|
66646
|
+
else if (placement === "top" && !fitsAbove && fitsBelow) placement = "bottom";
|
|
66647
|
+
el.style.left = `${left + offset}px`;
|
|
66648
|
+
el.style.top = `${placement === "right" ? (pos.top + pos.bottom) / 2 : placement === "top" ? pos.top - gap : pos.bottom + gap}px`;
|
|
66649
|
+
el.dataset.side = placement;
|
|
66650
|
+
el.style.visibility = "visible";
|
|
66651
|
+
};
|
|
66652
|
+
const observer = new ResizeObserver((entries) => {
|
|
66653
|
+
size = entries[0]?.borderBoxSize[0];
|
|
66654
|
+
fit();
|
|
66655
|
+
});
|
|
66656
|
+
observer.observe(el, { box: "border-box" });
|
|
66657
|
+
window.addEventListener("resize", fit);
|
|
66658
|
+
return () => {
|
|
66659
|
+
observer.disconnect();
|
|
66660
|
+
window.removeEventListener("resize", fit);
|
|
66661
|
+
};
|
|
66662
|
+
}, [
|
|
66663
|
+
align,
|
|
66664
|
+
gap,
|
|
66665
|
+
pos,
|
|
66666
|
+
side,
|
|
66667
|
+
suppressed,
|
|
66668
|
+
visible
|
|
66669
|
+
]);
|
|
66670
|
+
(0, import_react.useEffect)(() => {
|
|
66671
|
+
announce(visible);
|
|
66672
|
+
return () => {
|
|
66673
|
+
announce(false);
|
|
66674
|
+
};
|
|
66675
|
+
}, [announce, visible]);
|
|
66676
|
+
const cancelShow = (0, import_react.useCallback)(() => {
|
|
66677
|
+
if (showTimer.current === null) return;
|
|
66678
|
+
clearTimeout(showTimer.current);
|
|
66679
|
+
showTimer.current = null;
|
|
66680
|
+
}, []);
|
|
66681
|
+
(0, import_react.useEffect)(() => {
|
|
66682
|
+
if (pinned && (disabled || !openOnClick)) setPinned(false);
|
|
66683
|
+
if (disabled) {
|
|
66684
|
+
cancelShow();
|
|
66685
|
+
triggers.current = {
|
|
66686
|
+
hover: false,
|
|
66687
|
+
focus: false
|
|
66688
|
+
};
|
|
66689
|
+
setPos(null);
|
|
66690
|
+
}
|
|
66691
|
+
return cancelShow;
|
|
66692
|
+
}, [
|
|
66693
|
+
cancelShow,
|
|
66694
|
+
disabled,
|
|
66695
|
+
openOnClick,
|
|
66696
|
+
pinned
|
|
66697
|
+
]);
|
|
66698
|
+
const show = () => {
|
|
66699
|
+
if (disabled) return;
|
|
66700
|
+
const el = anchor.current;
|
|
66701
|
+
/* v8 ignore next -- the ref is attached by event time: events fire on the cloned anchor. */
|
|
66702
|
+
if (el === null) return;
|
|
66703
|
+
const r = el.getBoundingClientRect();
|
|
66704
|
+
setPos({
|
|
66705
|
+
x: side === "right" ? r.right + 10 : align === "end" ? r.right : r.left + r.width / 2,
|
|
66706
|
+
top: r.top,
|
|
66707
|
+
bottom: r.bottom
|
|
66708
|
+
});
|
|
66709
|
+
announce(true);
|
|
66710
|
+
};
|
|
66711
|
+
const showAfterDelay = (delay) => {
|
|
66712
|
+
cancelShow();
|
|
66713
|
+
if (delay <= 0) {
|
|
66714
|
+
show();
|
|
66715
|
+
return;
|
|
66716
|
+
}
|
|
66717
|
+
showTimer.current = setTimeout(() => {
|
|
66718
|
+
showTimer.current = null;
|
|
66719
|
+
show();
|
|
66720
|
+
}, delay);
|
|
66721
|
+
};
|
|
66722
|
+
const withdraw = (0, import_react.useCallback)(() => {
|
|
66723
|
+
setPinned(false);
|
|
66724
|
+
setPos(null);
|
|
66725
|
+
announce(false);
|
|
66726
|
+
}, [announce]);
|
|
66727
|
+
const hide = () => {
|
|
66728
|
+
cancelShow();
|
|
66729
|
+
if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
|
|
66730
|
+
};
|
|
66731
|
+
const dismiss = (0, import_react.useCallback)(() => {
|
|
66732
|
+
cancelShow();
|
|
66733
|
+
triggers.current = {
|
|
66734
|
+
hover: false,
|
|
66735
|
+
focus: false
|
|
66736
|
+
};
|
|
66737
|
+
withdraw();
|
|
66738
|
+
}, [cancelShow, withdraw]);
|
|
66739
|
+
useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
|
|
66740
|
+
(0, import_react.useEffect)(() => {
|
|
66741
|
+
if (!openOnClick || !visible) return;
|
|
66742
|
+
const onKeyDown = (event) => {
|
|
66743
|
+
if (event.key !== "Escape" && event.key !== "Tab") return;
|
|
66744
|
+
if (event.key === "Escape") {
|
|
66745
|
+
event.preventDefault();
|
|
66746
|
+
event.stopPropagation();
|
|
66747
|
+
}
|
|
66748
|
+
dismiss();
|
|
66749
|
+
};
|
|
66750
|
+
document.addEventListener("keydown", onKeyDown, true);
|
|
66751
|
+
return () => {
|
|
66752
|
+
document.removeEventListener("keydown", onKeyDown, true);
|
|
66753
|
+
};
|
|
66754
|
+
}, [
|
|
66755
|
+
dismiss,
|
|
66756
|
+
openOnClick,
|
|
66757
|
+
visible
|
|
66758
|
+
]);
|
|
66759
|
+
const content = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
|
|
66760
|
+
ref: bubble,
|
|
66761
|
+
id: openOnClick ? id : void 0,
|
|
66762
|
+
className: Tooltip_module_default.bubble,
|
|
66763
|
+
"data-side": side,
|
|
66764
|
+
"data-portal": portal || void 0,
|
|
66765
|
+
"data-pinned": pinned || void 0,
|
|
66766
|
+
"data-align": align,
|
|
66767
|
+
"data-has-shortcut": shortcutKeys?.length ? true : void 0,
|
|
66768
|
+
style: {
|
|
66769
|
+
left: pos.x,
|
|
66770
|
+
top: y,
|
|
66771
|
+
visibility: "hidden",
|
|
66772
|
+
...maxWidth === void 0 ? {} : { maxWidth }
|
|
66773
|
+
},
|
|
66774
|
+
role: "tooltip",
|
|
66775
|
+
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
66776
|
+
children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
|
|
66777
|
+
className: Tooltip_module_default.label,
|
|
66778
|
+
children: resolvedLabel
|
|
66779
|
+
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
|
|
66780
|
+
keys: shortcutKeys,
|
|
66781
|
+
variant: "tooltip"
|
|
66782
|
+
})]
|
|
66783
|
+
});
|
|
66784
|
+
return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
|
|
66785
|
+
value: setSuppressed,
|
|
66786
|
+
children: [(0, import_react.cloneElement)(children, {
|
|
66787
|
+
ref: mergedRef,
|
|
66788
|
+
"aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
|
|
66789
|
+
onMouseEnter: (e) => {
|
|
66790
|
+
children.props.onMouseEnter?.(e);
|
|
66791
|
+
triggers.current.hover = true;
|
|
66792
|
+
showAfterDelay(delayMs);
|
|
66793
|
+
},
|
|
66794
|
+
onMouseLeave: (e) => {
|
|
66795
|
+
children.props.onMouseLeave?.(e);
|
|
66796
|
+
triggers.current.hover = false;
|
|
66797
|
+
cancelShow();
|
|
66798
|
+
if (!pinned) withdraw();
|
|
66799
|
+
},
|
|
66800
|
+
onClick: (e) => {
|
|
66801
|
+
children.props.onClick?.(e);
|
|
66802
|
+
triggers.current.focus = false;
|
|
66803
|
+
cancelShow();
|
|
66804
|
+
if (openOnClick && !disabled && !pinned) {
|
|
66805
|
+
setPinned(true);
|
|
66806
|
+
show();
|
|
66807
|
+
} else withdraw();
|
|
66808
|
+
},
|
|
66809
|
+
onFocus: (e) => {
|
|
66810
|
+
children.props.onFocus?.(e);
|
|
66811
|
+
if (pointerModality()) return;
|
|
66812
|
+
triggers.current.focus = true;
|
|
66813
|
+
showAfterDelay(focusDelayMs);
|
|
66814
|
+
},
|
|
66815
|
+
onBlur: (e) => {
|
|
66816
|
+
children.props.onBlur?.(e);
|
|
66817
|
+
triggers.current.focus = false;
|
|
66818
|
+
hide();
|
|
66819
|
+
}
|
|
66820
|
+
}), portal ? content !== false && (0, import_react_dom.createPortal)(content, document.body) : content]
|
|
66821
|
+
});
|
|
66822
|
+
}
|
|
66823
|
+
/**
|
|
66022
66824
|
* The client's ONE syntax highlighter: a synchronous fine-grained shiki core
|
|
66023
66825
|
* (JavaScript regex engine — no oniguruma WASM, bundle-friendly) with an
|
|
66024
66826
|
* explicit grammar allowlist and a CSS-variables theme. Colors live in the
|
|
@@ -68502,16 +69304,17 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68502
69304
|
function isPendingNotice(notice) {
|
|
68503
69305
|
return (notice.kind === "question" || notice.kind === "approval") && notice.lifecycle === "active";
|
|
68504
69306
|
}
|
|
68505
|
-
function AssistantNotificationBubble({ frame, t, error, onOpen, onDismiss, onPresented, autoClose = false, autoCloseSeconds = 30, onExpandedChange, onClearAll, tailSide = "bottom", tailTarget, tailStyle }) {
|
|
69307
|
+
function AssistantNotificationBubble({ frame, t, error, onOpen, onDismiss, onAutoClose, onPresented, autoClose = false, autoCloseSeconds = 30, onExpandedChange, onCollapsedChange, onClearAll, onSizeChange, tailSide = "bottom", tailTarget, tailStyle }) {
|
|
68506
69308
|
const [expanded, setExpanded] = (0, import_react.useState)(false);
|
|
68507
69309
|
const [collapsed, setCollapsed] = (0, import_react.useState)(false);
|
|
68508
69310
|
const [listFilter, setListFilter] = (0, import_react.useState)("all");
|
|
68509
69311
|
const [processing, setProcessing] = (0, import_react.useState)(false);
|
|
68510
69312
|
const bubble = (0, import_react.useRef)(null);
|
|
69313
|
+
const shellBox = (0, import_react.useRef)(null);
|
|
68511
69314
|
const autoCloseTimer = (0, import_react.useRef)(void 0);
|
|
68512
69315
|
const snapshot = "items" in frame ? frame : void 0;
|
|
68513
69316
|
const primary = snapshot === void 0 ? frame : snapshot.primary;
|
|
68514
|
-
const items = snapshot
|
|
69317
|
+
const items = snapshot === void 0 ? [] : [...snapshot.primary !== null && !snapshot.items.some((notice) => notice.noticeId === snapshot.primary.noticeId) ? [snapshot.primary] : [], ...snapshot.items];
|
|
68515
69318
|
const attentionItems = snapshot === void 0 ? primary === void 0 || primary === null ? [] : [primary] : [...snapshot.primary === null || snapshot.primary.presentation === "collapsed" ? [] : [snapshot.primary], ...items.filter((notice) => notice.presentation !== "collapsed" && (!notice.read || isPendingNotice(notice)) && notice.noticeId !== snapshot.primary?.noticeId)];
|
|
68516
69319
|
const multiple = attentionItems.length > 1 || snapshot !== void 0 && Math.max(snapshot.unreadCount, snapshot.pendingCount) > 1;
|
|
68517
69320
|
const mainNotice = attentionItems[0] ?? (snapshot === void 0 ? primary ?? void 0 : void 0);
|
|
@@ -68526,6 +69329,13 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68526
69329
|
(0, import_react.useEffect)(() => {
|
|
68527
69330
|
setListFilter("all");
|
|
68528
69331
|
}, [frame.generation, snapshot?.reset]);
|
|
69332
|
+
(0, import_react.useEffect)(() => {
|
|
69333
|
+
const node = shellBox.current;
|
|
69334
|
+
if (onSizeChange === void 0 || node === null || typeof ResizeObserver === "undefined") return;
|
|
69335
|
+
const observer = new ResizeObserver(() => onSizeChange(Math.ceil(node.getBoundingClientRect().height)));
|
|
69336
|
+
observer.observe(node);
|
|
69337
|
+
return () => observer.disconnect();
|
|
69338
|
+
}, [onSizeChange]);
|
|
68529
69339
|
(0, import_react.useEffect)(() => {
|
|
68530
69340
|
if (presented === void 0 || presented === null) return;
|
|
68531
69341
|
const node = bubble.current;
|
|
@@ -68537,7 +69347,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68537
69347
|
const connectionGeneration = "connectionGeneration" in presented ? presented.connectionGeneration : void 0;
|
|
68538
69348
|
autoCloseTimer.current = setTimeout(() => {
|
|
68539
69349
|
autoCloseTimer.current = void 0;
|
|
68540
|
-
|
|
69350
|
+
if (onAutoClose !== void 0) onAutoClose(presented.noticeId, frame.generation, connectionGeneration);
|
|
69351
|
+
else onDismiss(presented.noticeId, frame.generation, connectionGeneration);
|
|
68541
69352
|
}, autoCloseSeconds * 1e3);
|
|
68542
69353
|
};
|
|
68543
69354
|
const confirm = () => {
|
|
@@ -68578,7 +69389,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68578
69389
|
autoClose,
|
|
68579
69390
|
autoCloseSeconds,
|
|
68580
69391
|
onPresented,
|
|
68581
|
-
onDismiss
|
|
69392
|
+
onDismiss,
|
|
69393
|
+
onAutoClose
|
|
68582
69394
|
]);
|
|
68583
69395
|
const clearableCount = snapshot === void 0 ? 0 : [...snapshot.items, ...snapshot.primary === null ? [] : [snapshot.primary]].filter((notice) => !notice.read && !isPendingNotice(notice)).length;
|
|
68584
69396
|
const showClearAll = snapshot !== void 0 && clearableCount > 0 && onClearAll !== void 0;
|
|
@@ -68587,7 +69399,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68587
69399
|
const showExpandButton = collapsed && (mainNotice !== void 0 || hasNotificationCounts);
|
|
68588
69400
|
const showTopRow = showCollapseButton || showExpandButton || showClearAll || hasNotificationCounts;
|
|
68589
69401
|
const showBubble = !collapsed && (!expanded || snapshot === void 0) && mainNotice !== void 0;
|
|
68590
|
-
const showFilterTags = snapshot !== void 0 && (multiple ||
|
|
69402
|
+
const showFilterTags = snapshot !== void 0 && hasNotificationCounts && (multiple || items.length > 1);
|
|
68591
69403
|
const listItems = listFilter === "unread" ? items.filter((notice) => !notice.read && !isPendingNotice(notice)) : listFilter === "pending" ? items.filter((notice) => isPendingNotice(notice)) : items;
|
|
68592
69404
|
const tail = tailSide !== "top" && (showBubble || expanded && snapshot !== void 0) ? (0, import_react.createElement)("span", {
|
|
68593
69405
|
"aria-hidden": true,
|
|
@@ -68604,10 +69416,11 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68604
69416
|
style: tailSvg(tailSide)
|
|
68605
69417
|
}, (0, import_react.createElement)("path", {
|
|
68606
69418
|
d: `${notificationTailCurve} Z`,
|
|
68607
|
-
fill:
|
|
69419
|
+
fill: notificationTheme.surface
|
|
68608
69420
|
}))) : null;
|
|
68609
69421
|
const toggleFilter = (filter) => {
|
|
68610
69422
|
setCollapsed(false);
|
|
69423
|
+
onCollapsedChange?.(false);
|
|
68611
69424
|
setListFilter(listFilter === filter ? "all" : filter);
|
|
68612
69425
|
setExpanded(true);
|
|
68613
69426
|
};
|
|
@@ -68670,6 +69483,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68670
69483
|
style: panel
|
|
68671
69484
|
}, capability.reason)) ?? [];
|
|
68672
69485
|
return (0, import_react.createElement)("div", {
|
|
69486
|
+
ref: shellBox,
|
|
68673
69487
|
"data-codingns-assistant-notifications": true,
|
|
68674
69488
|
style: shell,
|
|
68675
69489
|
onPointerDown: (event) => event.stopPropagation(),
|
|
@@ -68684,8 +69498,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68684
69498
|
"aria-label": t(collapsed ? "awb.notifications.expand" : "awb.notifications.collapse"),
|
|
68685
69499
|
title: t(collapsed ? "awb.notifications.expand" : "awb.notifications.collapse"),
|
|
68686
69500
|
onClick: () => {
|
|
68687
|
-
|
|
68688
|
-
setCollapsed(
|
|
69501
|
+
const nextCollapsed = !collapsed;
|
|
69502
|
+
setCollapsed(nextCollapsed);
|
|
69503
|
+
setExpanded(!nextCollapsed);
|
|
69504
|
+
onCollapsedChange?.(nextCollapsed);
|
|
68689
69505
|
}
|
|
68690
69506
|
}, notificationToolbarIcon(collapsed ? "expand" : "collapse")) : null, !collapsed && showClearAll ? (0, import_react.createElement)("button", {
|
|
68691
69507
|
type: "button",
|
|
@@ -68793,67 +69609,88 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68793
69609
|
if (notice.kind === "question") return t("awb.notifications.question");
|
|
68794
69610
|
return t("awb.notifications.approval");
|
|
68795
69611
|
}
|
|
69612
|
+
/** 独立伴随页没有 DSH 主题变量,回退色固定为夜间灰;宿主页面仍可通过变量覆盖。 */
|
|
69613
|
+
const notificationTheme = {
|
|
69614
|
+
labelPrimary: "var(--dsw-alias-label-primary, #f1f2f4)",
|
|
69615
|
+
labelSecondary: "var(--dsw-alias-label-secondary, #b7bac1)",
|
|
69616
|
+
border: "var(--dsw-alias-border-l2, #5b5e66)",
|
|
69617
|
+
surface: "var(--dsw-alias-bg-layer-3, #303237)",
|
|
69618
|
+
card: "var(--dsw-alias-bg-layer-1, #3b3d43)",
|
|
69619
|
+
button: "var(--dsw-alias-button-elevated-fill, #44474e)",
|
|
69620
|
+
shadow: "var(--dsw-elevation-prominent, 0 12px 36px rgba(0, 0, 0, 0.42))"
|
|
69621
|
+
};
|
|
68796
69622
|
const button = {
|
|
68797
69623
|
...dshSettingsButtonStyle,
|
|
68798
69624
|
minHeight: 36,
|
|
68799
69625
|
touchAction: "manipulation",
|
|
68800
69626
|
whiteSpace: "normal",
|
|
68801
69627
|
borderRadius: 999,
|
|
68802
|
-
fontWeight: 650
|
|
69628
|
+
fontWeight: 650,
|
|
69629
|
+
color: notificationTheme.labelPrimary,
|
|
69630
|
+
background: notificationTheme.button,
|
|
69631
|
+
borderColor: notificationTheme.border
|
|
68803
69632
|
};
|
|
69633
|
+
/** 外壳按实际内容收缩,避免原生为形象预留的高度变成大片不透明背景。 */
|
|
68804
69634
|
const shell = {
|
|
68805
69635
|
position: "relative",
|
|
68806
69636
|
isolation: "isolate",
|
|
68807
69637
|
width: "100%",
|
|
68808
69638
|
maxWidth: 320,
|
|
68809
|
-
height: "
|
|
69639
|
+
height: "auto",
|
|
68810
69640
|
maxHeight: "var(--codingns-notification-max-height, min(276px, calc(100vh - 24px)))",
|
|
68811
69641
|
minHeight: 0,
|
|
68812
69642
|
display: "flex",
|
|
68813
69643
|
flexDirection: "column",
|
|
68814
69644
|
gap: 6,
|
|
69645
|
+
padding: 10,
|
|
69646
|
+
boxSizing: "border-box",
|
|
68815
69647
|
pointerEvents: "auto",
|
|
68816
|
-
color:
|
|
68817
|
-
fontSize: uiFontSize(13)
|
|
69648
|
+
color: notificationTheme.labelPrimary,
|
|
69649
|
+
fontSize: uiFontSize(13),
|
|
69650
|
+
background: notificationTheme.surface,
|
|
69651
|
+
border: `1px solid ${notificationTheme.border}`,
|
|
69652
|
+
borderRadius: "24px 24px 24px 8px",
|
|
69653
|
+
boxShadow: notificationTheme.shadow
|
|
68818
69654
|
};
|
|
68819
69655
|
const panel = {
|
|
68820
69656
|
position: "relative",
|
|
68821
69657
|
zIndex: 1,
|
|
68822
69658
|
padding: 10,
|
|
68823
|
-
background:
|
|
68824
|
-
border: `1px solid ${
|
|
69659
|
+
background: notificationTheme.surface,
|
|
69660
|
+
border: `1px solid ${notificationTheme.border}`,
|
|
68825
69661
|
borderRadius: 18,
|
|
68826
|
-
boxShadow:
|
|
69662
|
+
boxShadow: notificationTheme.shadow,
|
|
68827
69663
|
minWidth: 0,
|
|
68828
69664
|
boxSizing: "border-box",
|
|
68829
|
-
maxHeight: "min(276px, calc(100vh - 24px))",
|
|
69665
|
+
maxHeight: "var(--codingns-notification-max-height, min(276px, calc(100vh - 24px)))",
|
|
68830
69666
|
overflowY: "auto"
|
|
68831
69667
|
};
|
|
68832
69668
|
const bubblePanel = {
|
|
68833
|
-
...panel,
|
|
68834
69669
|
position: "relative",
|
|
68835
69670
|
display: "flex",
|
|
68836
69671
|
flexDirection: "column",
|
|
68837
|
-
flex: "
|
|
69672
|
+
flex: "0 1 auto",
|
|
68838
69673
|
minWidth: 0,
|
|
68839
69674
|
minHeight: 0,
|
|
68840
|
-
padding:
|
|
69675
|
+
padding: 0,
|
|
68841
69676
|
overflow: "visible",
|
|
68842
69677
|
border: "none",
|
|
68843
|
-
borderRadius:
|
|
68844
|
-
maxHeight: "100%",
|
|
68845
|
-
background: dshThemeColor.menuBackground,
|
|
68846
|
-
borderColor: "transparent",
|
|
69678
|
+
borderRadius: 0,
|
|
68847
69679
|
boxShadow: "none",
|
|
69680
|
+
maxHeight: "var(--codingns-notification-max-height, min(276px, calc(100vh - 24px)))",
|
|
69681
|
+
background: "transparent",
|
|
68848
69682
|
outline: "none"
|
|
68849
69683
|
};
|
|
68850
69684
|
const bubbleContent = {
|
|
68851
69685
|
position: "relative",
|
|
68852
69686
|
zIndex: 1,
|
|
68853
69687
|
display: "grid",
|
|
69688
|
+
gridAutoRows: "max-content",
|
|
69689
|
+
alignContent: "start",
|
|
68854
69690
|
gap: 8,
|
|
68855
69691
|
minHeight: 0,
|
|
68856
|
-
flex: "
|
|
69692
|
+
flex: "0 1 auto",
|
|
69693
|
+
maxHeight: "var(--codingns-notification-max-height, min(276px, calc(100vh - 24px)))",
|
|
68857
69694
|
overflowY: "auto",
|
|
68858
69695
|
overscrollBehavior: "contain",
|
|
68859
69696
|
boxSizing: "border-box",
|
|
@@ -68920,7 +69757,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68920
69757
|
transform: `translate(-50%, -50%) rotate(${side === "left" ? 90 : -90}deg)`
|
|
68921
69758
|
};
|
|
68922
69759
|
}
|
|
68923
|
-
const notificationBubbleCss = "[data-codingns-notification-scroll]{scrollbar-width:none;-ms-overflow-style:none}[data-codingns-notification-scroll]::-webkit-scrollbar{display:none;width:0;height:0}[data-codingns-notification-filter], [data-codingns-notification-filter]:focus, [data-codingns-notification-filter]:focus-visible{border:1px solid var(--dsw-alias-border-l2,#
|
|
69760
|
+
const notificationBubbleCss = "[data-codingns-notification-scroll]{scrollbar-width:none;-ms-overflow-style:none}[data-codingns-notification-scroll]::-webkit-scrollbar{display:none;width:0;height:0}[data-codingns-notification-filter], [data-codingns-notification-filter]:focus, [data-codingns-notification-filter]:focus-visible{border:1px solid var(--dsw-alias-border-l2,#5b5e66)!important;outline:none!important;box-shadow:none!important}";
|
|
68924
69761
|
const primaryCard = {
|
|
68925
69762
|
display: "grid",
|
|
68926
69763
|
gridTemplateColumns: "minmax(0, 1fr) auto",
|
|
@@ -68936,10 +69773,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68936
69773
|
gap: 7,
|
|
68937
69774
|
padding: "10px 11px",
|
|
68938
69775
|
minWidth: 0,
|
|
68939
|
-
background:
|
|
68940
|
-
border: `1px solid ${
|
|
69776
|
+
background: notificationTheme.card,
|
|
69777
|
+
border: `1px solid ${notificationTheme.border}`,
|
|
68941
69778
|
borderRadius: 15,
|
|
68942
|
-
boxShadow:
|
|
69779
|
+
boxShadow: "0 1px 2px rgba(0, 0, 0, 0.24)"
|
|
68943
69780
|
};
|
|
68944
69781
|
const cardBody = {
|
|
68945
69782
|
display: "grid",
|
|
@@ -68954,7 +69791,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68954
69791
|
minWidth: 0
|
|
68955
69792
|
};
|
|
68956
69793
|
const cardMeta = {
|
|
68957
|
-
color:
|
|
69794
|
+
color: notificationTheme.labelSecondary,
|
|
68958
69795
|
fontSize: uiFontSize(11),
|
|
68959
69796
|
lineHeight: 1.3,
|
|
68960
69797
|
overflowWrap: "anywhere"
|
|
@@ -68972,13 +69809,13 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
68972
69809
|
width: 24,
|
|
68973
69810
|
height: 24,
|
|
68974
69811
|
borderRadius: "50%",
|
|
68975
|
-
color:
|
|
69812
|
+
color: "#fff",
|
|
68976
69813
|
fontSize: uiFontSize(13),
|
|
68977
69814
|
fontWeight: 800,
|
|
68978
|
-
boxShadow:
|
|
69815
|
+
boxShadow: "0 1px 2px rgba(0, 0, 0, 0.28)"
|
|
68979
69816
|
};
|
|
68980
69817
|
const messageText = {
|
|
68981
|
-
color:
|
|
69818
|
+
color: notificationTheme.labelPrimary,
|
|
68982
69819
|
whiteSpace: "pre-wrap",
|
|
68983
69820
|
overflowWrap: "anywhere",
|
|
68984
69821
|
lineHeight: 1.5,
|
|
@@ -69009,8 +69846,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
69009
69846
|
gap: 4,
|
|
69010
69847
|
minWidth: 46,
|
|
69011
69848
|
padding: "2px 7px",
|
|
69012
|
-
background:
|
|
69013
|
-
boxShadow:
|
|
69849
|
+
background: notificationTheme.button,
|
|
69850
|
+
boxShadow: "0 1px 2px rgba(0, 0, 0, 0.24)"
|
|
69014
69851
|
};
|
|
69015
69852
|
const filterButtonActive = {
|
|
69016
69853
|
...filterButton,
|
|
@@ -69026,8 +69863,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
69026
69863
|
padding: "0 4px",
|
|
69027
69864
|
boxSizing: "border-box",
|
|
69028
69865
|
borderRadius: 8,
|
|
69029
|
-
color:
|
|
69030
|
-
background:
|
|
69866
|
+
color: notificationTheme.labelPrimary,
|
|
69867
|
+
background: notificationTheme.card,
|
|
69031
69868
|
fontSize: uiFontSize(10),
|
|
69032
69869
|
lineHeight: 1,
|
|
69033
69870
|
fontWeight: 750
|
|
@@ -69039,18 +69876,19 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
69039
69876
|
};
|
|
69040
69877
|
const topRow = {
|
|
69041
69878
|
display: "flex",
|
|
69879
|
+
width: "100%",
|
|
69042
69880
|
flexShrink: 0,
|
|
69043
69881
|
alignItems: "center",
|
|
69044
69882
|
justifyContent: "center",
|
|
69045
|
-
flexWrap: "
|
|
69883
|
+
flexWrap: "nowrap",
|
|
69046
69884
|
gap: 6
|
|
69047
69885
|
};
|
|
69048
69886
|
const clearAllButton = {
|
|
69049
69887
|
...toolbarIconButton,
|
|
69050
69888
|
alignSelf: "end",
|
|
69051
|
-
background:
|
|
69052
|
-
borderColor:
|
|
69053
|
-
color:
|
|
69889
|
+
background: notificationTheme.button,
|
|
69890
|
+
borderColor: notificationTheme.border,
|
|
69891
|
+
color: notificationTheme.labelPrimary,
|
|
69054
69892
|
borderRadius: 10,
|
|
69055
69893
|
boxShadow: "none"
|
|
69056
69894
|
};
|
|
@@ -69082,7 +69920,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
69082
69920
|
const compactPrompt = {
|
|
69083
69921
|
fontSize: uiFontSize(12),
|
|
69084
69922
|
lineHeight: 1.4,
|
|
69085
|
-
color:
|
|
69923
|
+
color: notificationTheme.labelPrimary
|
|
69086
69924
|
};
|
|
69087
69925
|
const compactRequestTag = {
|
|
69088
69926
|
...requestInlineTag,
|
|
@@ -69100,7 +69938,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
69100
69938
|
color: dshThemeColor.warningForeground
|
|
69101
69939
|
};
|
|
69102
69940
|
const compactStatus = {
|
|
69103
|
-
color:
|
|
69941
|
+
color: notificationTheme.labelSecondary,
|
|
69104
69942
|
fontSize: uiFontSize(11),
|
|
69105
69943
|
lineHeight: 1.3,
|
|
69106
69944
|
paddingLeft: 32
|
|
@@ -70031,6 +70869,14 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
70031
70869
|
noticeGeneration: generation
|
|
70032
70870
|
});
|
|
70033
70871
|
}
|
|
70872
|
+
/** 通知区高度按气泡真实渲染尺寸收缩;原生据此调整窗口与透明点击区,不保留固定空白。 */
|
|
70873
|
+
function sendDesktopAssistantNoticeSize(height) {
|
|
70874
|
+
if (!Number.isFinite(height) || height <= 0) return;
|
|
70875
|
+
postDesktopAssistantEvent({
|
|
70876
|
+
type: "notice-size",
|
|
70877
|
+
height: Math.min(276, Math.round(height))
|
|
70878
|
+
});
|
|
70879
|
+
}
|
|
70034
70880
|
const renderers = {
|
|
70035
70881
|
builtin: BuiltinAssistantAvatar,
|
|
70036
70882
|
image: ImageAssistantAvatar,
|
|
@@ -70058,6 +70904,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
70058
70904
|
const presented = (0, import_react.useCallback)((noticeId, generation, kind) => sendNotice("notice-presented", noticeId, generation, void 0, kind, desktopAssistantNotice(latestFrame.current)?.connectionGeneration), [sendNotice]);
|
|
70059
70905
|
const openNotice = (0, import_react.useCallback)((noticeId, generation, connectionGeneration) => sendNotice("notice-action", noticeId, generation, "open", void 0, connectionGeneration), [sendNotice]);
|
|
70060
70906
|
const dismissNotice = (0, import_react.useCallback)((noticeId, generation, connectionGeneration) => sendNotice("notice-action", noticeId, generation, "dismiss", void 0, connectionGeneration), [sendNotice]);
|
|
70907
|
+
const collapseNotice = (0, import_react.useCallback)((noticeId, generation, connectionGeneration) => sendNotice("notice-action", noticeId, generation, "collapse", void 0, connectionGeneration), [sendNotice]);
|
|
70061
70908
|
const clearAllNotices = (0, import_react.useCallback)((generation) => {
|
|
70062
70909
|
const current = latestFrame.current;
|
|
70063
70910
|
if (current.notificationSnapshot?.generation !== generation || JSON.stringify(current.identity) !== identityKey) return;
|
|
@@ -70071,6 +70918,14 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
70071
70918
|
expanded
|
|
70072
70919
|
});
|
|
70073
70920
|
}, [identityKey]);
|
|
70921
|
+
const collapsedNotices = (0, import_react.useCallback)((collapsed) => {
|
|
70922
|
+
const current = latestFrame.current;
|
|
70923
|
+
if (current.notificationSnapshot && JSON.stringify(current.identity) === identityKey) postDesktopAssistantEvent({
|
|
70924
|
+
type: "notice-collapse",
|
|
70925
|
+
...current.identity,
|
|
70926
|
+
collapsed
|
|
70927
|
+
});
|
|
70928
|
+
}, [identityKey]);
|
|
70074
70929
|
(0, import_react.useEffect)(() => {
|
|
70075
70930
|
let retry;
|
|
70076
70931
|
const result = (event) => {
|
|
@@ -70129,6 +70984,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
70129
70984
|
width: 1024,
|
|
70130
70985
|
height: 768
|
|
70131
70986
|
}]);
|
|
70987
|
+
const notification = desktopAssistantHasNotifications(frame) ? frame.notificationSnapshot ?? frame.notification : void 0;
|
|
70988
|
+
const notificationRegion = notification === void 0 ? void 0 : layout.notification;
|
|
70132
70989
|
const regionStyle = (region) => ({
|
|
70133
70990
|
position: "absolute",
|
|
70134
70991
|
left: region.x,
|
|
@@ -70137,20 +70994,24 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
70137
70994
|
height: region.height,
|
|
70138
70995
|
overflowY: "auto"
|
|
70139
70996
|
});
|
|
70140
|
-
const
|
|
70141
|
-
const
|
|
70142
|
-
const
|
|
70997
|
+
const notificationAbove = notificationRegion !== void 0 && notificationRegion.y < layout.avatar.y;
|
|
70998
|
+
const notificationTail = notificationAbove ? "bottom" : "top";
|
|
70999
|
+
const notificationTailStyle = notificationRegion === void 0 ? {} : assistantNotificationTailStyle(layout.avatar.x + layout.avatar.width / 2, notificationRegion.x, notificationRegion.width, notificationTail);
|
|
71000
|
+
const notificationStyle = notificationRegion === void 0 ? void 0 : {
|
|
70143
71001
|
position: "absolute",
|
|
70144
|
-
left:
|
|
70145
|
-
top:
|
|
70146
|
-
width:
|
|
70147
|
-
|
|
70148
|
-
"--codingns-notification-max-height": `${layout.notification.height}px`,
|
|
70149
|
-
height: layout.notification.height,
|
|
71002
|
+
left: notificationRegion.x,
|
|
71003
|
+
top: notificationRegion.y,
|
|
71004
|
+
width: notificationRegion.width,
|
|
71005
|
+
height: notificationRegion.height,
|
|
70150
71006
|
boxSizing: "border-box",
|
|
71007
|
+
display: "flex",
|
|
71008
|
+
flexDirection: "column",
|
|
71009
|
+
justifyContent: notificationAbove ? "flex-end" : "flex-start",
|
|
71010
|
+
overflow: "visible",
|
|
71011
|
+
"--codingns-notification-max-height": `${notificationRegion.limit ?? notificationRegion.height}px`,
|
|
70151
71012
|
...notificationTailStyle
|
|
70152
71013
|
};
|
|
70153
|
-
const
|
|
71014
|
+
const reportNoticeSize = (0, import_react.useCallback)((height) => sendDesktopAssistantNoticeSize(height), []);
|
|
70154
71015
|
return (0, import_react.createElement)("div", { style: {
|
|
70155
71016
|
width: layout.bounds.width,
|
|
70156
71017
|
height: layout.bounds.height,
|
|
@@ -70217,15 +71078,18 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
70217
71078
|
t: resolveCodingNsTranslator(),
|
|
70218
71079
|
error: noticeError ?? frame.noticeError,
|
|
70219
71080
|
tailSide: notificationTail,
|
|
70220
|
-
tailTarget: assistantNotificationTailTarget(layout.avatar.x + layout.avatar.width / 2,
|
|
71081
|
+
tailTarget: assistantNotificationTailTarget(layout.avatar.x + layout.avatar.width / 2, notificationRegion.x),
|
|
70221
71082
|
tailStyle: notificationTailStyle,
|
|
71083
|
+
onSizeChange: reportNoticeSize,
|
|
70222
71084
|
...frame.autoClose === void 0 || !frame.nativeVisible ? {} : { autoClose: frame.autoClose },
|
|
70223
71085
|
...frame.autoCloseSeconds === void 0 || !frame.nativeVisible ? {} : { autoCloseSeconds: frame.autoCloseSeconds },
|
|
70224
71086
|
onOpen: openNotice,
|
|
70225
71087
|
onDismiss: dismissNotice,
|
|
71088
|
+
onAutoClose: collapseNotice,
|
|
70226
71089
|
onPresented: frame.nativeVisible ? presented : () => void 0,
|
|
70227
71090
|
...frame.notificationSnapshot === void 0 ? {} : {
|
|
70228
71091
|
onExpandedChange: expandedNotices,
|
|
71092
|
+
onCollapsedChange: collapsedNotices,
|
|
70229
71093
|
onClearAll: clearAllNotices
|
|
70230
71094
|
}
|
|
70231
71095
|
})) : null, frame.caption && layout.caption ? (0, import_react.createElement)("div", {
|