@jingyi0605/codingns4dsh 0.2.1-beta.9 → 0.2.1-rc.3
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 +10 -6
- package/README.md +12 -9
- 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/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 +24 -70
- 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/bundle.js +55627 -31591
- 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 +300 -41
- 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.delegate-command.js +44 -26
- 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} +393 -14
- 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 +91 -15
- 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 +121 -2
- package/data/build/dist/client/client.session-translation.js.map +1 -1
- package/data/build/dist/client/client.transport.js +1415 -57
- 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 +1948 -494
- 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/feature-requirement.d.ts +43 -0
- package/data/build/dist/client/feature-requirement.d.ts.map +1 -0
- package/data/build/dist/client/feature-requirement.js +105 -0
- package/data/build/dist/client/feature-requirement.js.map +1 -0
- 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/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/magpie-management-controls.d.ts +46 -0
- package/data/build/dist/client/features/magpie-management-controls.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-management-controls.js +759 -0
- package/data/build/dist/client/features/magpie-management-controls.js.map +1 -0
- package/data/build/dist/client/features/magpie-management-page.d.ts +124 -0
- package/data/build/dist/client/features/magpie-management-page.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-management-page.js +1256 -0
- package/data/build/dist/client/features/magpie-management-page.js.map +1 -0
- package/data/build/dist/client/features/magpie-management.d.ts +7 -0
- package/data/build/dist/client/features/magpie-management.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-management.js +154 -0
- package/data/build/dist/client/features/magpie-management.js.map +1 -0
- package/data/build/dist/client/features/magpie-mark.d.ts +10 -0
- package/data/build/dist/client/features/magpie-mark.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-mark.js +21 -0
- package/data/build/dist/client/features/magpie-mark.js.map +1 -0
- package/data/build/dist/client/features/magpie-provider-logo.d.ts +11 -0
- package/data/build/dist/client/features/magpie-provider-logo.d.ts.map +1 -0
- package/data/build/dist/client/features/magpie-provider-logo.js +35 -0
- package/data/build/dist/client/features/magpie-provider-logo.js.map +1 -0
- 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 +6 -0
- 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.map +1 -1
- package/data/build/dist/client/features/session-translation.js +50 -49
- package/data/build/dist/client/features/session-translation.js.map +1 -1
- package/data/build/dist/client/features/subscription-quota-groups.d.ts +193 -0
- package/data/build/dist/client/features/subscription-quota-groups.d.ts.map +1 -0
- package/data/build/dist/client/features/subscription-quota-groups.js +548 -0
- package/data/build/dist/client/features/subscription-quota-groups.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 +64 -41
- 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 +15 -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 +1 -1
- package/data/build/dist/client/index.d.ts.map +1 -1
- package/data/build/dist/client/index.js +1 -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 +29 -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/magpie.d.ts +4 -0
- package/data/build/dist/client/locales/magpie.d.ts.map +1 -0
- package/data/build/dist/client/locales/magpie.js +622 -0
- package/data/build/dist/client/locales/magpie.js.map +1 -0
- package/data/build/dist/client/locales/panels.d.ts.map +1 -1
- package/data/build/dist/client/locales/panels.js +103 -11
- 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 +150 -0
- package/data/build/dist/client/locales/usage.js.map +1 -1
- package/data/build/dist/client/magpie-model-tag.d.ts +16 -0
- package/data/build/dist/client/magpie-model-tag.d.ts.map +1 -0
- package/data/build/dist/client/magpie-model-tag.js +62 -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 +8 -0
- package/data/build/dist/client/provider-icons.d.ts.map +1 -1
- package/data/build/dist/client/provider-icons.js +125 -3
- 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-translation-chat.d.ts +68 -2
- package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
- package/data/build/dist/client/session-translation-chat.js +297 -109
- package/data/build/dist/client/session-translation-chat.js.map +1 -1
- 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/settings-bridge.d.ts +1 -0
- package/data/build/dist/client/settings-bridge.d.ts.map +1 -1
- package/data/build/dist/client/settings-bridge.js +29 -10
- package/data/build/dist/client/settings-bridge.js.map +1 -1
- package/data/build/dist/client/settings-section.d.ts.map +1 -1
- package/data/build/dist/client/settings-section.js +21 -3
- package/data/build/dist/client/settings-section.js.map +1 -1
- 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 +279 -276
- package/data/build/dist/client/subscription-slot.d.ts +26 -2
- package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
- package/data/build/dist/client/subscription-slot.js +679 -24
- 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 +43 -10
- package/data/build/dist/client/workspace-session-visibility-dom.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/global-panel-adapter.d.ts +27 -0
- package/data/build/dist/dsh-capabilities/client/global-panel-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/global-panel-adapter.js +109 -0
- package/data/build/dist/dsh-capabilities/client/global-panel-adapter.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/session-title-adapter.d.ts +2 -1
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.js +32 -2
- package/data/build/dist/dsh-capabilities/host/session-title-adapter.js.map +1 -1
- 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 +23 -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 +50 -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 +27 -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 +94 -16
- 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 -0
- package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/codex-driver.js +158 -22
- 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 +6 -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 +198 -26
- 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.map +1 -1
- package/data/build/dist/host/cli-adapters/command-code-driver.js +33 -5
- package/data/build/dist/host/cli-adapters/command-code-driver.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 +5 -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 +65 -17
- 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 +17 -0
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +972 -102
- 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 +463 -59
- 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/magpie-detection.d.ts +72 -0
- package/data/build/dist/host/cli-adapters/magpie-detection.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-detection.js +298 -0
- package/data/build/dist/host/cli-adapters/magpie-detection.js.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-management.d.ts +50 -0
- package/data/build/dist/host/cli-adapters/magpie-management.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-management.js +1268 -0
- package/data/build/dist/host/cli-adapters/magpie-management.js.map +1 -0
- 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-update.d.ts +59 -0
- package/data/build/dist/host/cli-adapters/magpie-update.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-update.js +249 -0
- package/data/build/dist/host/cli-adapters/magpie-update.js.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +148 -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 +1710 -0
- package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-web.d.ts +54 -0
- package/data/build/dist/host/cli-adapters/magpie-web.d.ts.map +1 -0
- package/data/build/dist/host/cli-adapters/magpie-web.js +407 -0
- package/data/build/dist/host/cli-adapters/magpie-web.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 +22 -0
- package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-driver.js +105 -17
- package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
- package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +4 -1
- 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 +4 -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 +20 -11
- package/data/build/dist/host/cli-adapters/process-utils.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 +141 -51
- 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/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 +63 -6
- 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 +128 -0
- package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
- package/data/build/dist/host/cli-bridge/dispatch.js +1 -1
- 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 +14 -0
- package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
- package/data/build/dist/host/cli-bridge/injections.js +69 -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 +102 -7
- 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/dsh-gateway-feature.d.ts.map +1 -1
- package/data/build/dist/host/dsh-gateway-feature.js +26 -3
- package/data/build/dist/host/dsh-gateway-feature.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/host-status.d.ts +25 -0
- package/data/build/dist/host/features/host-status.d.ts.map +1 -1
- package/data/build/dist/host/features/host-status.js +60 -6
- package/data/build/dist/host/features/host-status.js.map +1 -1
- package/data/build/dist/host/features/index.d.ts.map +1 -1
- package/data/build/dist/host/features/index.js +2 -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 +64 -13
- 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 +13 -6
- 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 +205 -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 +19 -4
- package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -1
- package/data/build/dist/host/features/session-translation-service.js +249 -210
- package/data/build/dist/host/features/session-translation-service.js.map +1 -1
- package/data/build/dist/host/features/session-translation.d.ts.map +1 -1
- package/data/build/dist/host/features/session-translation.js +6 -3
- package/data/build/dist/host/features/session-translation.js.map +1 -1
- package/data/build/dist/host/features/types.d.ts +10 -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/index.d.ts.map +1 -1
- package/data/build/dist/host/index.js +32 -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 +87 -15
- 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-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/pwa/pwa-session-notifications.js +2 -1
- package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -1
- 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 +7 -1
- package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
- package/data/build/dist/host/native-session-bridge.js +10 -15
- package/data/build/dist/host/native-session-bridge.js.map +1 -1
- package/data/build/dist/host/rpc.d.ts +15 -2
- package/data/build/dist/host/rpc.d.ts.map +1 -1
- package/data/build/dist/host/rpc.js +67 -15
- 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 +6 -2
- 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 +36 -2
- 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/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 +62 -1
- 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 +25 -1
- package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/config.js +11 -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/feature.d.ts +7 -0
- package/data/build/dist/shared/contracts/feature.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/magpie-management.d.ts +395 -0
- package/data/build/dist/shared/contracts/magpie-management.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/magpie-management.js +2 -0
- package/data/build/dist/shared/contracts/magpie-management.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 +82 -9
- package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/session-translation.js +146 -2
- package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
- package/data/build/dist/shared/contracts/subscription.d.ts +161 -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/index.d.ts +4 -2
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js +3 -2
- 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/session-title.d.ts.map +1 -1
- package/data/build/dist/shared/session-title.js +10 -4
- package/data/build/dist/shared/session-title.js.map +1 -1
- 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 +35 -34
- 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
|
@@ -7811,7 +7811,7 @@
|
|
|
7811
7811
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
7812
7812
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
7813
7813
|
*/
|
|
7814
|
-
const en$
|
|
7814
|
+
const en$17 = {
|
|
7815
7815
|
"debug.title": "Debug",
|
|
7816
7816
|
"debug.guideDescription": "Start workspace commands, check ports, and open services",
|
|
7817
7817
|
"debug.readingWorkspace": "Reading workspace…",
|
|
@@ -7889,7 +7889,7 @@
|
|
|
7889
7889
|
"feature.debug.label": "Workspace debugging",
|
|
7890
7890
|
"feature.debug.description": "Launch terminals and check services"
|
|
7891
7891
|
};
|
|
7892
|
-
const zh$
|
|
7892
|
+
const zh$17 = {
|
|
7893
7893
|
"debug.title": "调试",
|
|
7894
7894
|
"debug.guideDescription": "启动工作区命令、检查端口并访问服务",
|
|
7895
7895
|
"debug.readingWorkspace": "正在读取工作区…",
|
|
@@ -7970,7 +7970,7 @@
|
|
|
7970
7970
|
//#endregion
|
|
7971
7971
|
//#region src/client/locales/assistantDebug.ts
|
|
7972
7972
|
/** 全局助理调试页词典;状态名与 JSON 只在明确的调试区域展示。 */
|
|
7973
|
-
const zh$
|
|
7973
|
+
const zh$16 = {
|
|
7974
7974
|
"assistant.debug.open": "全局项目状态调试",
|
|
7975
7975
|
"assistant.debug.title": "全局助理管理状态调试",
|
|
7976
7976
|
"assistant.debug.description": "独立检查工作区范围、会话状态和文字指令,无需启动语音。",
|
|
@@ -8150,7 +8150,7 @@
|
|
|
8150
8150
|
"assistant.debug.analysisState.cancelled": "总结已停止,原始索引材料已保留",
|
|
8151
8151
|
"assistant.debug.rawEvidence": "以下是原始会话摘录,作为总结证据保留,不是 LLM 生成的进展判断。"
|
|
8152
8152
|
};
|
|
8153
|
-
const en$
|
|
8153
|
+
const en$16 = {
|
|
8154
8154
|
"assistant.debug.open": "Global project state debug",
|
|
8155
8155
|
"assistant.debug.title": "Global assistant management debug",
|
|
8156
8156
|
"assistant.debug.description": "Inspect workspace scope, session state and text commands without starting voice.",
|
|
@@ -8332,7 +8332,7 @@
|
|
|
8332
8332
|
};
|
|
8333
8333
|
//#endregion
|
|
8334
8334
|
//#region src/client/locales/assistantAvatar.ts
|
|
8335
|
-
const en$
|
|
8335
|
+
const en$15 = {
|
|
8336
8336
|
"avatar.portraitTitle": "Avatar",
|
|
8337
8337
|
"avatar.portraitEdit": "Adjust avatar",
|
|
8338
8338
|
"avatar.portraitLocalHint": "Saved in this browser for this character; conversation and sidebar avatars update together.",
|
|
@@ -8468,7 +8468,7 @@
|
|
|
8468
8468
|
"avatar.desktopFallback": "Desktop companion unavailable; showing inside this window.",
|
|
8469
8469
|
"avatar.dragHint": "Drag to move; click to open the assistant."
|
|
8470
8470
|
};
|
|
8471
|
-
const zh$
|
|
8471
|
+
const zh$15 = {
|
|
8472
8472
|
"avatar.portraitTitle": "头像",
|
|
8473
8473
|
"avatar.portraitEdit": "微调头像",
|
|
8474
8474
|
"avatar.portraitLocalHint": "按形象保存在当前浏览器,对话与侧栏头像同步更新。",
|
|
@@ -8612,7 +8612,9 @@
|
|
|
8612
8612
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8613
8613
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8614
8614
|
*/
|
|
8615
|
-
const en$
|
|
8615
|
+
const en$14 = {
|
|
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.",
|
|
8616
8618
|
"fileMenu.expandFolder": "Expand folder",
|
|
8617
8619
|
"fileMenu.openFile": "Open file",
|
|
8618
8620
|
"fileMenu.download": "Download file",
|
|
@@ -8660,6 +8662,8 @@
|
|
|
8660
8662
|
"archive.close": "Close",
|
|
8661
8663
|
"archive.searchPlaceholder": "Search archived sessions",
|
|
8662
8664
|
"archive.empty": "No archived sessions found.",
|
|
8665
|
+
"archive.createdAt": "Created: {time}",
|
|
8666
|
+
"archive.archivedAt": "Archived: {time}",
|
|
8663
8667
|
"archive.restore": "Unarchive",
|
|
8664
8668
|
"archive.restoreUnsupportedTitle": "This DSH version does not support unarchiving",
|
|
8665
8669
|
"archive.restoreUnsupported": "Unarchive (not supported in this version)",
|
|
@@ -8681,7 +8685,9 @@
|
|
|
8681
8685
|
"pwaPrompt.dismiss": "Not now",
|
|
8682
8686
|
"pwaPrompt.iosHint": "Tap \"Share\" then \"Add to Home Screen\" to install."
|
|
8683
8687
|
};
|
|
8684
|
-
const zh$
|
|
8688
|
+
const zh$14 = {
|
|
8689
|
+
"htmlFiles.confirmConnect": "允许此 HTML 页面读取、保存和删除以下位置中的文件吗?\n\n页面:{path}\n\n{scopes}\n\n授权在关闭或重新加载预览后失效。",
|
|
8690
|
+
"htmlFiles.cancelled": "已取消工作区文件连接。",
|
|
8685
8691
|
"fileMenu.expandFolder": "展开文件夹",
|
|
8686
8692
|
"fileMenu.openFile": "打开文件",
|
|
8687
8693
|
"fileMenu.download": "下载文件",
|
|
@@ -8729,6 +8735,8 @@
|
|
|
8729
8735
|
"archive.close": "关闭",
|
|
8730
8736
|
"archive.searchPlaceholder": "搜索已归档会话",
|
|
8731
8737
|
"archive.empty": "没有找到归档会话。",
|
|
8738
|
+
"archive.createdAt": "创建时间:{time}",
|
|
8739
|
+
"archive.archivedAt": "归档时间:{time}",
|
|
8732
8740
|
"archive.restore": "取消归档",
|
|
8733
8741
|
"archive.restoreUnsupportedTitle": "当前 DSH 版本不支持取消归档",
|
|
8734
8742
|
"archive.restoreUnsupported": "取消归档(当前版本不支持)",
|
|
@@ -8758,7 +8766,7 @@
|
|
|
8758
8766
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8759
8767
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8760
8768
|
*/
|
|
8761
|
-
const en$
|
|
8769
|
+
const en$13 = {
|
|
8762
8770
|
"feature.gitManagement.label": "Git repository management",
|
|
8763
8771
|
"feature.gitManagement.description": "View changes and manage commits",
|
|
8764
8772
|
"git.tabTitle": "Git",
|
|
@@ -8792,7 +8800,21 @@
|
|
|
8792
8800
|
"git.stagingEmpty": "Staging area is empty",
|
|
8793
8801
|
"git.stagedCount": "{count} staged",
|
|
8794
8802
|
"git.commitPlaceholder": "Type a commit message here",
|
|
8795
|
-
"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…",
|
|
8796
8818
|
"git.draftMessage": "Generate commit message",
|
|
8797
8819
|
"git.commit": "Commit",
|
|
8798
8820
|
"git.stagedFiles": "Staged files",
|
|
@@ -8866,7 +8888,7 @@
|
|
|
8866
8888
|
"git.unknownTime": "Unknown time",
|
|
8867
8889
|
"git.dateLabel": "{month}/{day}"
|
|
8868
8890
|
};
|
|
8869
|
-
const zh$
|
|
8891
|
+
const zh$13 = {
|
|
8870
8892
|
"feature.gitManagement.label": "Git 仓库管理",
|
|
8871
8893
|
"feature.gitManagement.description": "查看改动并管理提交",
|
|
8872
8894
|
"git.tabTitle": "Git",
|
|
@@ -8900,7 +8922,21 @@
|
|
|
8900
8922
|
"git.stagingEmpty": "暂存区为空",
|
|
8901
8923
|
"git.stagedCount": "{count} 个已暂存",
|
|
8902
8924
|
"git.commitPlaceholder": "在这里输入提交信息",
|
|
8903
|
-
"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": "正在保存提交规则…",
|
|
8904
8940
|
"git.draftMessage": "生成提交信息",
|
|
8905
8941
|
"git.commit": "提交",
|
|
8906
8942
|
"git.stagedFiles": "暂存文件",
|
|
@@ -8982,7 +9018,7 @@
|
|
|
8982
9018
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
8983
9019
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
8984
9020
|
*/
|
|
8985
|
-
const en$
|
|
9021
|
+
const en$12 = {
|
|
8986
9022
|
"common.listSeparator": ", ",
|
|
8987
9023
|
"settings.unknownVersion": "Unknown version",
|
|
8988
9024
|
"settings.maintenanceDisabled": "This module is disabled by maintenance policy; the setting will not start it.",
|
|
@@ -8991,32 +9027,78 @@
|
|
|
8991
9027
|
"cli.adapterDisabled": "{name} disabled",
|
|
8992
9028
|
"cli.translationConversation": "Translate conversation",
|
|
8993
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",
|
|
8994
9036
|
"lan.fieldListenPort": "listen port",
|
|
8995
9037
|
"lan.fieldDshPort": "DSH local port",
|
|
8996
9038
|
"lan.fieldMustBeNumber": "{field} must be a number",
|
|
8997
9039
|
"lan.fieldMustBeInteger": "{field} must be an integer from {minimum} to 65535",
|
|
8998
9040
|
"workspace.sessionSettingsSaved": "Workspace session settings saved",
|
|
8999
9041
|
"feature.sessionTranslation.label": "Session translation",
|
|
9000
|
-
"feature.sessionTranslation.description": "Translate selected external Agent requests and replies while keeping tools, commands, paths, and original history unchanged.",
|
|
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.",
|
|
9001
9043
|
"translation.inputTitle": "Translate requests before sending",
|
|
9002
9044
|
"translation.inputLanguage": "Request language",
|
|
9003
|
-
"translation.outputTitle": "Translate
|
|
9045
|
+
"translation.outputTitle": "Translate the AI’s reasoning and final messages into the language specified below",
|
|
9004
9046
|
"translation.outputLanguage": "Reply language",
|
|
9005
|
-
"translation.modelTitle": "Translation model",
|
|
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",
|
|
9006
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",
|
|
9007
9063
|
"translation.modelUnavailable": "Saved model is unavailable",
|
|
9008
9064
|
"translation.modelLoading": "Loading available DSH models…",
|
|
9009
9065
|
"translation.modelEmpty": "No DSH text models are available.",
|
|
9010
|
-
"translation.modelHelp": "
|
|
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.",
|
|
9011
9084
|
"translation.detailsTitle": "Translation details",
|
|
9012
9085
|
"translation.viewDetails": "View translation details",
|
|
9013
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.",
|
|
9014
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.",
|
|
9015
9096
|
"translation.statusNotNeeded": "Already in the target language; translation skipped",
|
|
9016
9097
|
"translation.detectedLanguage": "Detected language",
|
|
9017
9098
|
"translation.modelNotUsed": "Not used; translation was unnecessary",
|
|
9018
9099
|
"translation.originalText": "Original text",
|
|
9019
|
-
"translation.translatedText": "
|
|
9100
|
+
"translation.translatedText": "Translation",
|
|
9101
|
+
"translation.actualSentText": "Actual sent text:",
|
|
9020
9102
|
"translation.modelUsed": "Model used",
|
|
9021
9103
|
"translation.modelUnknown": "Model information unavailable",
|
|
9022
9104
|
"translation.modelOfficial": "DeepSeek official",
|
|
@@ -9037,7 +9119,7 @@
|
|
|
9037
9119
|
"translation.adapter.cursor": "Cursor",
|
|
9038
9120
|
"translation.adapter.kiro": "Kiro"
|
|
9039
9121
|
};
|
|
9040
|
-
const zh$
|
|
9122
|
+
const zh$12 = {
|
|
9041
9123
|
"common.listSeparator": "、",
|
|
9042
9124
|
"settings.unknownVersion": "未知版本",
|
|
9043
9125
|
"settings.maintenanceDisabled": "该模块当前由维护策略停用,设置不会启动它。",
|
|
@@ -9046,33 +9128,79 @@
|
|
|
9046
9128
|
"cli.adapterDisabled": "已停用 {name}",
|
|
9047
9129
|
"cli.translationConversation": "翻译对话",
|
|
9048
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 正式消息",
|
|
9049
9137
|
"lan.fieldListenPort": "监听端口",
|
|
9050
9138
|
"lan.fieldDshPort": "DSH 本地端口",
|
|
9051
9139
|
"lan.fieldMustBeNumber": "{field} 必须是数字",
|
|
9052
9140
|
"lan.fieldMustBeInteger": "{field} 必须是 {minimum} 到 65535 的整数",
|
|
9053
9141
|
"workspace.sessionSettingsSaved": "工作区会话设置已保存",
|
|
9054
9142
|
"feature.sessionTranslation.label": "会话翻译",
|
|
9055
|
-
"feature.sessionTranslation.description": "为选定的外部 Agent
|
|
9143
|
+
"feature.sessionTranslation.description": "为选定的外部 Agent 翻译请求和回复,同时保留工具、命令、路径与原始历史;DSH 原生会话翻译由对话框模型选择器中的会话翻译开关控制。",
|
|
9056
9144
|
"translation.inputTitle": "发送前翻译请求",
|
|
9057
9145
|
"translation.inputLanguage": "请求目标语言",
|
|
9058
|
-
"translation.outputTitle": "
|
|
9146
|
+
"translation.outputTitle": "AI的思考内容和正式消息翻译为以下指定语言",
|
|
9059
9147
|
"translation.outputLanguage": "回复语言",
|
|
9060
|
-
"translation.modelTitle": "
|
|
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": "取消",
|
|
9061
9160
|
"translation.modelFollowDefault": "跟随 DSH 默认模型",
|
|
9161
|
+
"translation.modelResetTitle": "确认跟随 DSH 默认模型?",
|
|
9162
|
+
"translation.modelResetHelp": "这将清空模型池中的全部 {count} 个模型及其优先级顺序,并改为跟随 DSH 默认模型。是否继续?",
|
|
9163
|
+
"translation.modelResetConfirm": "清空并跟随默认模型",
|
|
9062
9164
|
"translation.modelUnavailable": "已保存的模型当前不可用",
|
|
9063
9165
|
"translation.modelLoading": "正在加载可用的 DSH 模型…",
|
|
9064
9166
|
"translation.modelEmpty": "当前没有可用的 DSH 文本模型。",
|
|
9065
|
-
"translation.modelHelp": "
|
|
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": "所有可用模型均已添加到模型池。",
|
|
9066
9185
|
"translation.detailsTitle": "翻译详情",
|
|
9067
9186
|
"translation.viewDetails": "查看翻译详情",
|
|
9068
9187
|
"translation.statusTranslated": "已翻译",
|
|
9188
|
+
"translation.statusTranslating": "正在翻译…",
|
|
9189
|
+
"translation.progressHelp": "正在准备并翻译消息,完成后可查看翻译结果。",
|
|
9069
9190
|
"translation.statusFailed": "翻译失败,已保留原文",
|
|
9191
|
+
"translation.retry": "重试翻译",
|
|
9192
|
+
"translation.sendDirectly": "直接发送",
|
|
9193
|
+
"translation.cancelSending": "取消发送",
|
|
9194
|
+
"translation.inputFailedTitle": "消息翻译失败",
|
|
9195
|
+
"translation.inputFailedHelp": "消息尚未发送,请选择如何继续。",
|
|
9196
|
+
"translation.decisionFailed": "未能应用你的选择,请重试。",
|
|
9070
9197
|
"translation.statusNotNeeded": "原文已是目标语言,无需翻译",
|
|
9071
9198
|
"translation.detectedLanguage": "检测到的语言",
|
|
9072
9199
|
"translation.modelNotUsed": "未调用,原文无需翻译",
|
|
9073
9200
|
"translation.originalText": "原文",
|
|
9074
|
-
"translation.translatedText": "译文
|
|
9075
|
-
"translation.
|
|
9201
|
+
"translation.translatedText": "译文",
|
|
9202
|
+
"translation.actualSentText": "实际发送文本:",
|
|
9203
|
+
"translation.modelUsed": "翻译模型",
|
|
9076
9204
|
"translation.modelUnknown": "暂无模型信息",
|
|
9077
9205
|
"translation.modelOfficial": "DeepSeek 官方",
|
|
9078
9206
|
"translation.modelThirdParty": "第三方",
|
|
@@ -9100,7 +9228,7 @@
|
|
|
9100
9228
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9101
9229
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9102
9230
|
*/
|
|
9103
|
-
const en$
|
|
9231
|
+
const en$11 = {
|
|
9104
9232
|
"feature.peerHost.label": "Manage other DSH Hosts",
|
|
9105
9233
|
"feature.peerHost.description": "Aggregate sessions from multiple Hosts",
|
|
9106
9234
|
"peerHost.panelTitle": "Manage other DSH Hosts",
|
|
@@ -9171,6 +9299,7 @@
|
|
|
9171
9299
|
"peerHost.fileWorkspaceUnavailable": "The remote file scope is unavailable or inconsistent. Please wait for PeerHost workspaces to refresh.",
|
|
9172
9300
|
"peerHost.questionSessionUnavailable": "The session for this remote question is unavailable. Please reconnect.",
|
|
9173
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.",
|
|
9174
9303
|
"peerHost.reference.section": "Conversations",
|
|
9175
9304
|
"peerHost.reference.newSession": "New session",
|
|
9176
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.",
|
|
@@ -9180,7 +9309,7 @@
|
|
|
9180
9309
|
"peerHost.stateActive": "The preboot shim has taken over the page Transport; the native Connection of this page keeps reusing the same instance.",
|
|
9181
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."
|
|
9182
9311
|
};
|
|
9183
|
-
const zh$
|
|
9312
|
+
const zh$11 = {
|
|
9184
9313
|
"feature.peerHost.label": "管理其他 DSH Host",
|
|
9185
9314
|
"feature.peerHost.description": "聚合多个 Host 会话",
|
|
9186
9315
|
"peerHost.panelTitle": "管理其他 DSH Host",
|
|
@@ -9251,6 +9380,7 @@
|
|
|
9251
9380
|
"peerHost.fileWorkspaceUnavailable": "远程文件作用域不可用或不一致,请等待 PeerHost 工作区刷新",
|
|
9252
9381
|
"peerHost.questionSessionUnavailable": "远端问题所属会话不可用,请重新连接",
|
|
9253
9382
|
"peerHost.sessionUnavailable": "远端会话作用域暂不可用,请等待 PeerHost 工作区刷新",
|
|
9383
|
+
"peerHost.attachmentFolderUnsupported": "请向远程会话添加单个文件,不能附加本机文件夹。",
|
|
9254
9384
|
"peerHost.reference.section": "对话",
|
|
9255
9385
|
"peerHost.reference.newSession": "新会话",
|
|
9256
9386
|
"peerHost.stateExternal": "当前页面的 Transport 结构不受支持,插件无法包装它,PeerHost 聚合已停用;刷新页面不会改变结果。",
|
|
@@ -9268,7 +9398,7 @@
|
|
|
9268
9398
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9269
9399
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9270
9400
|
*/
|
|
9271
|
-
const en$
|
|
9401
|
+
const en$10 = {
|
|
9272
9402
|
"peerHostWorkspace.tabLocal": "Local folders",
|
|
9273
9403
|
"peerHostWorkspace.tabRemote": "Remote HOST",
|
|
9274
9404
|
"peerHostWorkspace.sourceLabel": "Workspace source",
|
|
@@ -9314,7 +9444,7 @@
|
|
|
9314
9444
|
"peerHostWorkspace.hintNotReady": "“{host}” is currently “{status}”; finish connecting it in the management panel first.",
|
|
9315
9445
|
"peerHostWorkspace.manageHosts": "Manage other DSH Hosts"
|
|
9316
9446
|
};
|
|
9317
|
-
const zh$
|
|
9447
|
+
const zh$10 = {
|
|
9318
9448
|
"peerHostWorkspace.tabLocal": "本机文件夹",
|
|
9319
9449
|
"peerHostWorkspace.tabRemote": "远程 HOST",
|
|
9320
9450
|
"peerHostWorkspace.sourceLabel": "工作区来源",
|
|
@@ -9368,7 +9498,7 @@
|
|
|
9368
9498
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9369
9499
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9370
9500
|
*/
|
|
9371
|
-
const en$
|
|
9501
|
+
const en$9 = {
|
|
9372
9502
|
"terminalShare.title": "Share terminal output to a conversation",
|
|
9373
9503
|
"terminalShare.menuTitle": "Share to a conversation",
|
|
9374
9504
|
"terminalShare.more": "More conversations",
|
|
@@ -9441,7 +9571,7 @@
|
|
|
9441
9571
|
"loginProtection.errorTimeoutRange": "The session timeout must be between 60 and 604800 seconds",
|
|
9442
9572
|
"loginProtection.errorScopesRequired": "Select at least one scope"
|
|
9443
9573
|
};
|
|
9444
|
-
const zh$
|
|
9574
|
+
const zh$9 = {
|
|
9445
9575
|
"terminalShare.title": "分享终端输出至会话",
|
|
9446
9576
|
"terminalShare.menuTitle": "分享至会话",
|
|
9447
9577
|
"terminalShare.more": "更多会话",
|
|
@@ -9522,7 +9652,7 @@
|
|
|
9522
9652
|
* 只放该域新增的键;合并与命名空间注册由 ../locale.ts 统一完成。
|
|
9523
9653
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
9524
9654
|
*/
|
|
9525
|
-
const en$
|
|
9655
|
+
const en$8 = {
|
|
9526
9656
|
"usage.r4StatsPeriod": "Account usage · UTC",
|
|
9527
9657
|
"usage.r4TodayIoTokens": "Input + output tokens today",
|
|
9528
9658
|
"usage.r4WeekRequests": "Requests · last 7 days",
|
|
@@ -9635,6 +9765,55 @@
|
|
|
9635
9765
|
"usage.resetOutcomeNothingToReset": "No window has reached its limit; no reset credit was consumed.",
|
|
9636
9766
|
"usage.resetOutcomeNoCredit": "No reset credits available; nothing was reset.",
|
|
9637
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",
|
|
9638
9817
|
"accountBar.userFallback": "User",
|
|
9639
9818
|
"accountBar.connectionManageTitle": "Connection management · Manage other DSH Hosts",
|
|
9640
9819
|
"accountBar.identityClickHint": "{identity} · Click to manage sign-in",
|
|
@@ -9652,9 +9831,33 @@
|
|
|
9652
9831
|
"accountBar.loggingOut": "Signing out…",
|
|
9653
9832
|
"accountBar.logout": "Sign out",
|
|
9654
9833
|
"accountBar.relay": "Relay",
|
|
9655
|
-
"accountBar.direct": "Direct"
|
|
9834
|
+
"accountBar.direct": "Direct",
|
|
9835
|
+
"usage.checkinClaimed": "Checked in today{credit} · {streak}",
|
|
9836
|
+
"usage.checkinStreak": "{days}-day streak",
|
|
9837
|
+
"usage.checkinFailed": "Check-in failed",
|
|
9838
|
+
"usage.checkinIneligible": "This account does not take part in check-in",
|
|
9839
|
+
"usage.checkinInactive": "Check-in is not enabled",
|
|
9840
|
+
"usage.checkinCaptcha": "Check-in needs a captcha",
|
|
9841
|
+
"usage.checkinOwnApp": "Check in from the official app",
|
|
9842
|
+
"usage.checkinPending": "Not checked in yet today",
|
|
9843
|
+
"usage.checkinUnknown": "Check-in state unknown",
|
|
9844
|
+
"usage.quotaActiveAccount": "In use",
|
|
9845
|
+
"usage.quotaGroupAccounts": "{count} accounts",
|
|
9846
|
+
"usage.quotaCollapseAccounts": "Collapse account details",
|
|
9847
|
+
"usage.quotaExpandAccounts": "Expand account details",
|
|
9848
|
+
"usage.quotaDailyTotal": "Today {amount}",
|
|
9849
|
+
"usage.quotaPlanUntil": "Plan until",
|
|
9850
|
+
"usage.quotaReadFailed": "Read failed: {reason}",
|
|
9851
|
+
"usage.quotaRunsOut": "At the current rate {amount} runs out {time}",
|
|
9852
|
+
"usage.resetCardsLabel": "Reset cards",
|
|
9853
|
+
"usage.resetCardsByWindow": "Resets · 5h {fiveHour} · weekly {weekly}",
|
|
9854
|
+
"usage.resetCardsCount": "{count} reset cards",
|
|
9855
|
+
"usage.resetCardsExpiresAt": "Expires {time}",
|
|
9856
|
+
"usage.magpieViewRequests": "View requests",
|
|
9857
|
+
"usage.magpieRequestsTitle": "Magpie requests",
|
|
9858
|
+
"usage.magpieRequestsClose": "Close"
|
|
9656
9859
|
};
|
|
9657
|
-
const zh$
|
|
9860
|
+
const zh$8 = {
|
|
9658
9861
|
"usage.r4StatsPeriod": "账户用量 · UTC",
|
|
9659
9862
|
"usage.r4TodayIoTokens": "今日输入与输出 Token",
|
|
9660
9863
|
"usage.r4WeekRequests": "近 7 天请求数",
|
|
@@ -9767,6 +9970,55 @@
|
|
|
9767
9970
|
"usage.resetOutcomeNothingToReset": "当前没有达到限额的窗口,未消耗重置次数。",
|
|
9768
9971
|
"usage.resetOutcomeNoCredit": "没有可用的重置次数,未执行重置。",
|
|
9769
9972
|
"usage.resetFailed": "重置失败,请稍后重试。",
|
|
9973
|
+
"usage.magpieUsageLabel": "Magpie 用量、会话与路由",
|
|
9974
|
+
"usage.magpieShortLabel": "Magpie",
|
|
9975
|
+
"usage.magpieTitle": "Magpie 用量",
|
|
9976
|
+
"usage.magpieTodayScope": "今日 · 所有 Magpie Agent",
|
|
9977
|
+
"usage.magpieTabUsage": "用量",
|
|
9978
|
+
"usage.magpieTabRoute": "路由 + 配额",
|
|
9979
|
+
"usage.magpieAggregateTitle": "网关用量",
|
|
9980
|
+
"usage.magpieSessionTitle": "当前 Agent 会话",
|
|
9981
|
+
"usage.magpieRouteTitle": "最近路由",
|
|
9982
|
+
"usage.magpieUsageUnavailable": "暂时无法读取 Magpie 用量。",
|
|
9983
|
+
"usage.magpieRequests": "请求数",
|
|
9984
|
+
"usage.magpieErrors": "失败数",
|
|
9985
|
+
"usage.magpieInputTokens": "输入 Token",
|
|
9986
|
+
"usage.magpieOutputTokens": "输出 Token",
|
|
9987
|
+
"usage.magpieCacheReadTokens": "缓存读取",
|
|
9988
|
+
"usage.magpieCacheWriteTokens": "缓存写入",
|
|
9989
|
+
"usage.magpieTotalTokens": "输入 + 输出",
|
|
9990
|
+
"usage.magpieCost": "预估费用",
|
|
9991
|
+
"usage.magpieCacheHitRate": "缓存命中率",
|
|
9992
|
+
"usage.magpieUpdated": "更新于 {time}",
|
|
9993
|
+
"usage.magpieAgent": "Agent:{agent}",
|
|
9994
|
+
"usage.magpieSessionNoUsage": "今天还没有找到此会话的用量。",
|
|
9995
|
+
"usage.magpieSessionIdUnavailable": "无法将当前 Agent 会话与 Magpie 对应。",
|
|
9996
|
+
"usage.magpieRouteUnavailable": "暂时无法读取 Magpie 路由信息。",
|
|
9997
|
+
"usage.magpieRouteNoRequests": "Magpie 尚无此会话的路由记录。",
|
|
9998
|
+
"usage.magpieAskedModel": "请求的模型",
|
|
9999
|
+
"usage.magpieRouteGroup": "路由分组",
|
|
10000
|
+
"usage.magpieRouteRule": "路由规则",
|
|
10001
|
+
"usage.magpieRouteAccount": "上游账号",
|
|
10002
|
+
"usage.magpieRoutedModel": "当前目标",
|
|
10003
|
+
"usage.magpieServedModel": "实际响应模型",
|
|
10004
|
+
"usage.magpieEffort": "推理强度",
|
|
10005
|
+
"usage.magpieRequestStatus": "请求状态",
|
|
10006
|
+
"usage.magpieRouteDone": "已完成 · ",
|
|
10007
|
+
"usage.magpieRouteRunning": "进行中 · ",
|
|
10008
|
+
"usage.magpieAttempts": "尝试记录",
|
|
10009
|
+
"usage.magpieUnknownModel": "上游未提供模型名",
|
|
10010
|
+
"usage.magpieFallback": "已回退",
|
|
10011
|
+
"usage.magpieQuotaTitle": "上游配额",
|
|
10012
|
+
"usage.magpieQuotaUnavailable": "暂时无法读取 Magpie 配额。",
|
|
10013
|
+
"usage.magpieQuotaProviderUnavailable": "尚未识别此会话实际使用的上游提供商。",
|
|
10014
|
+
"usage.magpieQuotaNoData": "上游提供商没有报告配额信息。",
|
|
10015
|
+
"usage.magpieQuotaNoWindows": "上游没有报告配额窗口。",
|
|
10016
|
+
"usage.magpieQuotaAccount": "账号:{account}",
|
|
10017
|
+
"usage.magpieQuotaBalance": "余额:{balance}",
|
|
10018
|
+
"usage.magpieQuotaRemaining": "{name} 剩余 {percent}%",
|
|
10019
|
+
"usage.magpieQuotaResets": "重置于 {time}",
|
|
10020
|
+
"usage.magpieRouteFlowTitle": "路由流转",
|
|
10021
|
+
"usage.magpieRouteComplete": "已完成",
|
|
9770
10022
|
"accountBar.userFallback": "用户",
|
|
9771
10023
|
"accountBar.connectionManageTitle": "连接管理 · 管理其他 DSH Host",
|
|
9772
10024
|
"accountBar.identityClickHint": "{identity} · 点击管理登录",
|
|
@@ -9784,11 +10036,35 @@
|
|
|
9784
10036
|
"accountBar.loggingOut": "注销中…",
|
|
9785
10037
|
"accountBar.logout": "注销登录",
|
|
9786
10038
|
"accountBar.relay": "中转",
|
|
9787
|
-
"accountBar.direct": "直连"
|
|
10039
|
+
"accountBar.direct": "直连",
|
|
10040
|
+
"usage.checkinClaimed": "今日已签到{credit} · {streak}",
|
|
10041
|
+
"usage.checkinStreak": "连续 {days} 天",
|
|
10042
|
+
"usage.checkinFailed": "签到失败",
|
|
10043
|
+
"usage.checkinIneligible": "该账号不参与签到",
|
|
10044
|
+
"usage.checkinInactive": "未启用签到",
|
|
10045
|
+
"usage.checkinCaptcha": "签到需要验证码",
|
|
10046
|
+
"usage.checkinOwnApp": "请在官方 App 内签到",
|
|
10047
|
+
"usage.checkinPending": "今日尚未签到",
|
|
10048
|
+
"usage.checkinUnknown": "签到状态未知",
|
|
10049
|
+
"usage.quotaActiveAccount": "使用中",
|
|
10050
|
+
"usage.quotaGroupAccounts": "{count} 个账号",
|
|
10051
|
+
"usage.quotaCollapseAccounts": "收起账号明细",
|
|
10052
|
+
"usage.quotaExpandAccounts": "展开账号明细",
|
|
10053
|
+
"usage.quotaDailyTotal": "今日 {amount}",
|
|
10054
|
+
"usage.quotaPlanUntil": "套餐到期",
|
|
10055
|
+
"usage.quotaReadFailed": "读取失败:{reason}",
|
|
10056
|
+
"usage.quotaRunsOut": "按当前速度,{amount} 将在 {time} 耗尽",
|
|
10057
|
+
"usage.resetCardsLabel": "重置卡",
|
|
10058
|
+
"usage.resetCardsByWindow": "重置卡 · 5 小时 {fiveHour} · 每周 {weekly}",
|
|
10059
|
+
"usage.resetCardsCount": "{count} 张重置卡",
|
|
10060
|
+
"usage.resetCardsExpiresAt": "最近到期 {time}",
|
|
10061
|
+
"usage.magpieViewRequests": "查看请求",
|
|
10062
|
+
"usage.magpieRequestsTitle": "Magpie 请求",
|
|
10063
|
+
"usage.magpieRequestsClose": "关闭"
|
|
9788
10064
|
};
|
|
9789
10065
|
//#endregion
|
|
9790
10066
|
//#region src/client/locales/voiceModels.ts
|
|
9791
|
-
const en$
|
|
10067
|
+
const en$7 = {
|
|
9792
10068
|
"voice.models.prepared": "Model resources are ready. Save the configuration to use this recognition model.",
|
|
9793
10069
|
"voice.settings.input": "Speech input",
|
|
9794
10070
|
"voice.settings.output": "Speech output",
|
|
@@ -9831,7 +10107,7 @@
|
|
|
9831
10107
|
"voice.models.localHint": "Models are stored on this Host. Verification tests model loading and recognition without using your microphone.",
|
|
9832
10108
|
"voice.models.close": "Close"
|
|
9833
10109
|
};
|
|
9834
|
-
const zh$
|
|
10110
|
+
const zh$7 = {
|
|
9835
10111
|
"voice.models.prepared": "模型资源已准备好,保存配置后使用此识别模型。",
|
|
9836
10112
|
"voice.settings.input": "语音输入",
|
|
9837
10113
|
"voice.settings.output": "语音输出",
|
|
@@ -9877,7 +10153,7 @@
|
|
|
9877
10153
|
//#endregion
|
|
9878
10154
|
//#region src/client/locales/assistantTts.ts
|
|
9879
10155
|
/** 独立音色面板词典;官方名称保留原文,元数据标签随界面语言翻译。 */
|
|
9880
|
-
const en$
|
|
10156
|
+
const en$6 = {
|
|
9881
10157
|
"tts.wizardPrepareResources": "Prepare voice resources",
|
|
9882
10158
|
"tts.wizardDraftReady": "Voice resources are ready. Configuration changes apply after saving.",
|
|
9883
10159
|
"tts.prepare": "Prepare MOSS resources",
|
|
@@ -9954,7 +10230,7 @@
|
|
|
9954
10230
|
"tts.saveParameters": "Save speech controls",
|
|
9955
10231
|
"tts.resetParameters": "Restore and save defaults"
|
|
9956
10232
|
};
|
|
9957
|
-
const zh$
|
|
10233
|
+
const zh$6 = {
|
|
9958
10234
|
"tts.wizardPrepareResources": "准备语音资源",
|
|
9959
10235
|
"tts.wizardDraftReady": "语音资源已就绪,配置保存后生效。",
|
|
9960
10236
|
"tts.prepare": "准备 MOSS 资源",
|
|
@@ -10034,7 +10310,7 @@
|
|
|
10034
10310
|
//#endregion
|
|
10035
10311
|
//#region src/client/locales/assistantWorkbench.ts
|
|
10036
10312
|
/** 生命周期工作台文案;高级资源管理复用原有词典。 */
|
|
10037
|
-
const zh$
|
|
10313
|
+
const zh$5 = {
|
|
10038
10314
|
"awb.notifications.title": "会话提醒",
|
|
10039
10315
|
"awb.notifications.hint": "在悬浮助理旁显示提醒,查看会话后标记已读。",
|
|
10040
10316
|
"awb.notifications.enabled": "启用会话提醒",
|
|
@@ -10202,7 +10478,7 @@
|
|
|
10202
10478
|
"awb.prompts": "提示词",
|
|
10203
10479
|
"awb.unavailableSelection": "原选择暂不可用:{id}"
|
|
10204
10480
|
};
|
|
10205
|
-
const en$
|
|
10481
|
+
const en$5 = {
|
|
10206
10482
|
"awb.notifications.title": "Session notices",
|
|
10207
10483
|
"awb.notifications.hint": "Show notices beside the floating assistant. Viewing a session marks its notice as read.",
|
|
10208
10484
|
"awb.notifications.enabled": "Enable session notices",
|
|
@@ -10380,7 +10656,7 @@
|
|
|
10380
10656
|
* 注册仍使用同一份 zh/en。
|
|
10381
10657
|
* 规范见 docs/开发规范/20260930-前端文案国际化规范.md。
|
|
10382
10658
|
*/
|
|
10383
|
-
const zh$
|
|
10659
|
+
const zh$4 = {
|
|
10384
10660
|
"subagentCollapsed.inactive.one": "已停止 {count} 个子智能体",
|
|
10385
10661
|
"subagentCollapsed.inactive.other": "已停止 {count} 个子智能体",
|
|
10386
10662
|
"subagentCollapsed.inactive.expand": "展开已停止的子智能体",
|
|
@@ -10423,7 +10699,7 @@
|
|
|
10423
10699
|
"subagentCollapsed.open.sidebar": "在侧边栏打开",
|
|
10424
10700
|
"subagentCollapsed.open.sidebar.aria": "在侧边栏打开 {label}"
|
|
10425
10701
|
};
|
|
10426
|
-
const en$
|
|
10702
|
+
const en$4 = {
|
|
10427
10703
|
"subagentCollapsed.inactive.one": "{count} stopped subagent",
|
|
10428
10704
|
"subagentCollapsed.inactive.other": "{count} stopped subagents",
|
|
10429
10705
|
"subagentCollapsed.inactive.expand": "Show stopped subagents",
|
|
@@ -10467,6 +10743,1064 @@
|
|
|
10467
10743
|
"subagentCollapsed.open.sidebar.aria": "Open {label} in sidebar"
|
|
10468
10744
|
};
|
|
10469
10745
|
//#endregion
|
|
10746
|
+
//#region src/shared/quick-apps-bootstrap-locale.ts
|
|
10747
|
+
/** Shared by the client dictionary and the isolated credential landing page. */
|
|
10748
|
+
const quickAppBootstrapEn = {
|
|
10749
|
+
"quickApps.opening": "Opening application…",
|
|
10750
|
+
"quickApps.bootstrapFailed": "Application access could not be established. Reopen it from Quick Apps and check browser cookie settings."
|
|
10751
|
+
};
|
|
10752
|
+
const quickAppBootstrapZh = {
|
|
10753
|
+
"quickApps.opening": "正在打开应用…",
|
|
10754
|
+
"quickApps.bootstrapFailed": "无法建立应用访问,请从快捷应用重新打开并检查浏览器 Cookie 设置。"
|
|
10755
|
+
};
|
|
10756
|
+
//#endregion
|
|
10757
|
+
//#region src/client/locales/quickApps.ts
|
|
10758
|
+
const en$3 = {
|
|
10759
|
+
"quickApps.storagePreview": "App data is saved in this browser. IndexedDB and URLs starting with / are not supported in this view.",
|
|
10760
|
+
"quickApps.storageFailed": "App data could not be saved in this browser: {message}",
|
|
10761
|
+
"quickApps.sandboxPreview": "Workspace preview. Browser storage and URLs starting with / may not work in this view.",
|
|
10762
|
+
"quickApps.runtime.not-configured": "This Host does not provide workspace HTML previews. Update its CodingNS plugin and reopen the shortcut.",
|
|
10763
|
+
"quickApps.runtime.config-invalid": "The Host’s HTML hosting configuration or TLS certificate is invalid.",
|
|
10764
|
+
"quickApps.runtime.lan-stopped": "Start LAN access on the owning Host to open this HTML app.",
|
|
10765
|
+
"quickApps.runtime.ui-not-allowed": "This DSH address is not enabled in the Host’s HTML hosting configuration.",
|
|
10766
|
+
"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.",
|
|
10767
|
+
"quickApps.runtime.ports-busy": "The available app ports are currently in use. Try again after they are released.",
|
|
10768
|
+
"quickApps.workspaceAccessHelp": "Saving lets this app read, create, update and delete files in {workspace}. Hidden files, credentials and other workspaces stay protected.",
|
|
10769
|
+
"quickApps.saveWorkspaceAccess": "Save and allow workspace access",
|
|
10770
|
+
"quickApps.workspaceAccessHostUpdate": "This Host needs an update to support workspace access. The shortcut was saved without enabling it.",
|
|
10771
|
+
"quickApps.workspaceAccessUnavailable": "Update the owning Host to support workspace access. The shortcut was not changed.",
|
|
10772
|
+
"quickApps.markdown": "Markdown",
|
|
10773
|
+
"quickApps.source": "Source",
|
|
10774
|
+
"quickApps.viewMode": "View as",
|
|
10775
|
+
"quickApps.markdownUnavailable": "Native Markdown preview is unavailable in this DSH version. Showing source.",
|
|
10776
|
+
"quickApps.maximize": "Maximize viewer",
|
|
10777
|
+
"quickApps.restore": "Restore viewer",
|
|
10778
|
+
"quickApps.loadingDocument": "Loading…",
|
|
10779
|
+
"quickApps.documentEditor": "Document editor",
|
|
10780
|
+
"quickApps.editorFailed": "The editor could not load.",
|
|
10781
|
+
"quickApps.copyCode": "Copy code",
|
|
10782
|
+
"quickApps.copied": "Copied",
|
|
10783
|
+
"quickApps.code": "Code",
|
|
10784
|
+
"quickApps.footnotes": "Footnotes",
|
|
10785
|
+
"quickApps.unwrapText": "Disable wrapping",
|
|
10786
|
+
"quickApps.imagesUnavailable": "Some images are unavailable or outside this document folder.",
|
|
10787
|
+
"quickApps.documentHome": "Back to entry document",
|
|
10788
|
+
"quickApps.documentLinkDenied": "This link is outside the document folder or uses an unsupported path.",
|
|
10789
|
+
"quickApps.documentHostUpdate": "Update the owning Host plugin to enable document operations. This document remains viewable.",
|
|
10790
|
+
"quickApps.documentConflict": "The file changed on the Host. Your draft is preserved. Copy your changes before reloading the latest file.",
|
|
10791
|
+
"quickApps.documentAccessExpired": "Document access has ended or is unavailable. Your draft is preserved; copy it before closing and reopening the shortcut.",
|
|
10792
|
+
"quickApps.documentSaved": "Saved to the workspace.",
|
|
10793
|
+
"quickApps.unsaved": "Unsaved changes",
|
|
10794
|
+
"quickApps.allowEditing": "Allow editing",
|
|
10795
|
+
"quickApps.allowEditingHelp": "Allow changes to {path}? This approval applies only to this file and ends when you close the viewer.",
|
|
10796
|
+
"quickApps.discardTitle": "Unsaved changes",
|
|
10797
|
+
"quickApps.discard": "Discard changes",
|
|
10798
|
+
"quickApps.discardHelp": "Your changes to {path} have not been saved. Discard them and continue?",
|
|
10799
|
+
"quickApps.viewerTools": "Viewer controls",
|
|
10800
|
+
"quickApps.wrapText": "Wrap text",
|
|
10801
|
+
"quickApps.reloadView": "Reload",
|
|
10802
|
+
"quickApps.entryAddress": "Application entry address",
|
|
10803
|
+
"quickApps.noWorkspaces": "No managed workspaces available",
|
|
10804
|
+
"quickApps.browse": "Browse…",
|
|
10805
|
+
"quickApps.chooseFile": "Choose a workspace file",
|
|
10806
|
+
"quickApps.useFile": "Use this file",
|
|
10807
|
+
"quickApps.currentFolder": "Current folder",
|
|
10808
|
+
"quickApps.parentFolder": "Go to parent folder",
|
|
10809
|
+
"quickApps.refreshFiles": "Refresh",
|
|
10810
|
+
"quickApps.loadingFiles": "Loading files…",
|
|
10811
|
+
"quickApps.emptyFolder": "This folder has no selectable files or folders.",
|
|
10812
|
+
"quickApps.filesTruncated": "Only the first part of this folder is shown. You can enter the file path directly.",
|
|
10813
|
+
"quickApps.selectFileHint": "Open a folder, then select an HTML application or text document.",
|
|
10814
|
+
"quickApps.browseUnavailable": "File browsing is unavailable on this Host. You can still enter a workspace-relative file path.",
|
|
10815
|
+
"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.",
|
|
10816
|
+
...quickAppBootstrapEn,
|
|
10817
|
+
"quickApps.manage": "Edit shortcuts",
|
|
10818
|
+
"quickApps.done": "Done",
|
|
10819
|
+
"quickApps.editShortcut": "Edit shortcut",
|
|
10820
|
+
"quickApps.collapseBar": "Collapse Quick Apps",
|
|
10821
|
+
"quickApps.expandBar": "Restore Quick Apps",
|
|
10822
|
+
"quickApps.removeNamed": "Remove {title}",
|
|
10823
|
+
"quickApps.reorderHelp": "Drag to reorder, or use Alt + arrow keys.",
|
|
10824
|
+
"quickApps.reordered": "Shortcut order saved.",
|
|
10825
|
+
"quickApps.manageHelp": "Choose a shortcut to edit its source, permissions or remove it.",
|
|
10826
|
+
"quickApps.openNamed": "Open {title}",
|
|
10827
|
+
"quickApps.editNamed": "Edit {title}",
|
|
10828
|
+
"quickApps.count": "Shortcuts: {count}",
|
|
10829
|
+
"quickApps.loading": "Loading shortcuts…",
|
|
10830
|
+
"quickApps.retry": "Try again",
|
|
10831
|
+
"quickApps.emptyTitle": "Your workspace, one click away",
|
|
10832
|
+
"quickApps.advanced": "Advanced options",
|
|
10833
|
+
"quickApps.accessAndRemoval": "Access and shortcut management",
|
|
10834
|
+
"quickApps.titleHelp": "Leave blank to use the file or application folder name.",
|
|
10835
|
+
"quickApps.entryHelp": "Choose a file or enter its path within the workspace.",
|
|
10836
|
+
"quickApps.entryPlaceholder": "apps/calendar/index.html",
|
|
10837
|
+
"quickApps.entryRequired": "Enter an application or document file path.",
|
|
10838
|
+
"quickApps.orderInvalid": "Use a whole number for the list order.",
|
|
10839
|
+
"quickApps.saved": "Shortcut saved.",
|
|
10840
|
+
"quickApps.revoked": "File access revoked. Existing launches have closed.",
|
|
10841
|
+
"quickApps.saveBeforeAccess": "Save your changes before managing access or removing this shortcut.",
|
|
10842
|
+
"quickApps.conflict": "This shortcut changed elsewhere. Your edits are still here; reopen the shortcut to load the latest version.",
|
|
10843
|
+
"quickApps.order": "List order",
|
|
10844
|
+
"quickApps.mounts": "Additional resource folders (optional)",
|
|
10845
|
+
"quickApps.mount.urlPrefix": "App URL path",
|
|
10846
|
+
"quickApps.mount.workspacePath": "Workspace folder",
|
|
10847
|
+
"quickApps.addMount": "Add resource folder",
|
|
10848
|
+
"quickApps.removeMount": "Remove resource folder",
|
|
10849
|
+
"quickApps.title": "Quick Apps",
|
|
10850
|
+
"quickApps.description": "Open workspace HTML applications and text documents without a conversation.",
|
|
10851
|
+
"quickApps.close": "Close Quick Apps",
|
|
10852
|
+
"quickApps.back": "Back to shortcuts",
|
|
10853
|
+
"quickApps.application": "Workspace application",
|
|
10854
|
+
"quickApps.add": "Add shortcut",
|
|
10855
|
+
"quickApps.open": "Open",
|
|
10856
|
+
"quickApps.edit": "Edit",
|
|
10857
|
+
"quickApps.remove": "Remove shortcut",
|
|
10858
|
+
"quickApps.permissions": "File permissions",
|
|
10859
|
+
"quickApps.revoke": "Revoke access",
|
|
10860
|
+
"quickApps.save": "Save",
|
|
10861
|
+
"quickApps.cancel": "Cancel",
|
|
10862
|
+
"quickApps.titleField": "Title",
|
|
10863
|
+
"quickApps.entryPath": "Entry file",
|
|
10864
|
+
"quickApps.documentRoot": "Application folder",
|
|
10865
|
+
"quickApps.workspace": "Workspace",
|
|
10866
|
+
"quickApps.chooseWorkspace": "Choose a managed workspace",
|
|
10867
|
+
"quickApps.localHost": "This Host",
|
|
10868
|
+
"quickApps.kind": "Open as",
|
|
10869
|
+
"quickApps.html": "HTML application",
|
|
10870
|
+
"quickApps.text": "Text document",
|
|
10871
|
+
"quickApps.networkAllow": "Local addresses",
|
|
10872
|
+
"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.",
|
|
10873
|
+
"quickApps.networkAllowPlaceholder": "127.0.0.1\nlocalhost\n192.168.1.0/24",
|
|
10874
|
+
"quickApps.networkAllowInvalid": "Use a local IP address, CIDR range, or hostname, with one entry per line.",
|
|
10875
|
+
"quickApps.spa": "Use the entry page for application navigation",
|
|
10876
|
+
"quickApps.pathHelp": "Enter workspace-relative paths. Use a dedicated application folder; an empty folder path selects the workspace root.",
|
|
10877
|
+
"quickApps.empty": "No shortcuts yet. In edit mode, add an HTML application or text document from a managed workspace.",
|
|
10878
|
+
"quickApps.removeHelp": "Removing a shortcut leaves its source files intact.",
|
|
10879
|
+
"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.",
|
|
10880
|
+
"quickApps.permission.read": "Read folders",
|
|
10881
|
+
"quickApps.permission.write": "Create and update folders",
|
|
10882
|
+
"quickApps.permission.delete": "Delete files in folders",
|
|
10883
|
+
"quickApps.permissionsSaved": "Permissions saved for the next launch.",
|
|
10884
|
+
"quickApps.unavailable": "HTML preview is unavailable on this Host connection. Update the owning Host plugin and reopen the shortcut.",
|
|
10885
|
+
"quickApps.status.unsupported-runtime": "HTML preview is unavailable on this Host connection.",
|
|
10886
|
+
"quickApps.status.disconnected-host": "The owning Host has no supported Quick Apps connection.",
|
|
10887
|
+
"quickApps.status.unsupported-connection": "This PeerHost relay cannot open Quick Apps. Use a direct connection to the owning Host.",
|
|
10888
|
+
"quickApps.status.missing-workspace": "The original workspace is unavailable.",
|
|
10889
|
+
"quickApps.status.missing-file": "The entry file or application folder is missing or cannot be accessed."
|
|
10890
|
+
};
|
|
10891
|
+
const zh$3 = {
|
|
10892
|
+
"quickApps.storagePreview": "应用数据保存在当前浏览器中。此视图不支持 IndexedDB 和以 / 开头的网址。",
|
|
10893
|
+
"quickApps.storageFailed": "无法在当前浏览器中保存应用数据:{message}",
|
|
10894
|
+
"quickApps.sandboxPreview": "工作区预览:浏览器存储和以 / 开头的网址可能无法在此视图中使用。",
|
|
10895
|
+
"quickApps.runtime.not-configured": "此主机尚不支持工作区 HTML 预览,请更新其 CodingNS 插件后重新打开快捷方式。",
|
|
10896
|
+
"quickApps.runtime.config-invalid": "主机的 HTML 托管配置或 TLS 证书无效。",
|
|
10897
|
+
"quickApps.runtime.lan-stopped": "请先在所属主机启动局域网访问,再打开此 HTML 应用。",
|
|
10898
|
+
"quickApps.runtime.ui-not-allowed": "主机的 HTML 托管配置尚未启用当前 DSH 地址。",
|
|
10899
|
+
"quickApps.runtime.ports-exhausted": "预留的应用端口已全部使用,请扩展主机的应用端口范围;已用端口不能重新分配。",
|
|
10900
|
+
"quickApps.runtime.ports-busy": "可用的应用端口正被占用,请在端口释放后重试。",
|
|
10901
|
+
"quickApps.workspaceAccessHelp": "保存后,此应用可读取、新建、修改和删除 {workspace} 中的文件。隐藏文件、凭据和其他工作区仍受保护。",
|
|
10902
|
+
"quickApps.saveWorkspaceAccess": "保存并允许访问工作区",
|
|
10903
|
+
"quickApps.workspaceAccessHostUpdate": "所属主机需要更新才能支持工作区访问。快捷方式已保存,但尚未启用此权限。",
|
|
10904
|
+
"quickApps.workspaceAccessUnavailable": "请更新所属主机以支持工作区访问。快捷方式未更改。",
|
|
10905
|
+
"quickApps.markdown": "Markdown",
|
|
10906
|
+
"quickApps.source": "源码",
|
|
10907
|
+
"quickApps.viewMode": "查看方式",
|
|
10908
|
+
"quickApps.markdownUnavailable": "当前 DSH 版本不支持原生 Markdown 预览,已显示源码。",
|
|
10909
|
+
"quickApps.maximize": "最大化查看器",
|
|
10910
|
+
"quickApps.restore": "还原查看器",
|
|
10911
|
+
"quickApps.loadingDocument": "正在加载…",
|
|
10912
|
+
"quickApps.documentEditor": "文档编辑器",
|
|
10913
|
+
"quickApps.editorFailed": "编辑器加载失败。",
|
|
10914
|
+
"quickApps.copyCode": "复制代码",
|
|
10915
|
+
"quickApps.copied": "已复制",
|
|
10916
|
+
"quickApps.code": "代码",
|
|
10917
|
+
"quickApps.footnotes": "脚注",
|
|
10918
|
+
"quickApps.unwrapText": "关闭自动换行",
|
|
10919
|
+
"quickApps.imagesUnavailable": "部分图片不可用或位于文档目录之外。",
|
|
10920
|
+
"quickApps.documentHome": "返回入口文档",
|
|
10921
|
+
"quickApps.documentLinkDenied": "链接位于文档目录之外或使用了不支持的路径。",
|
|
10922
|
+
"quickApps.documentHostUpdate": "请更新所属主机插件以启用文档操作,当前文档仍可查看。",
|
|
10923
|
+
"quickApps.documentConflict": "主机上的文件已更改,你的草稿仍然保留。请先复制修改内容,再重新加载最新文件。",
|
|
10924
|
+
"quickApps.documentAccessExpired": "文档访问已结束或不可用,草稿仍然保留。请先复制草稿,再关闭并重新打开快捷方式。",
|
|
10925
|
+
"quickApps.documentSaved": "已保存到工作区。",
|
|
10926
|
+
"quickApps.unsaved": "有未保存的修改",
|
|
10927
|
+
"quickApps.allowEditing": "允许编辑",
|
|
10928
|
+
"quickApps.allowEditingHelp": "允许修改 {path} 吗?本次授权仅适用于此文件,关闭查看器后失效。",
|
|
10929
|
+
"quickApps.discardTitle": "有未保存的修改",
|
|
10930
|
+
"quickApps.discard": "放弃修改",
|
|
10931
|
+
"quickApps.discardHelp": "对 {path} 的修改尚未保存。是否放弃修改并继续?",
|
|
10932
|
+
"quickApps.viewerTools": "查看器工具",
|
|
10933
|
+
"quickApps.wrapText": "自动换行",
|
|
10934
|
+
"quickApps.reloadView": "重新加载",
|
|
10935
|
+
"quickApps.entryAddress": "应用入口地址",
|
|
10936
|
+
"quickApps.noWorkspaces": "暂无可用的受管工作区",
|
|
10937
|
+
"quickApps.browse": "浏览…",
|
|
10938
|
+
"quickApps.chooseFile": "选择工作区文件",
|
|
10939
|
+
"quickApps.useFile": "使用此文件",
|
|
10940
|
+
"quickApps.currentFolder": "当前目录",
|
|
10941
|
+
"quickApps.parentFolder": "返回上级目录",
|
|
10942
|
+
"quickApps.refreshFiles": "刷新",
|
|
10943
|
+
"quickApps.loadingFiles": "正在加载文件…",
|
|
10944
|
+
"quickApps.emptyFolder": "此目录没有可选择的文件或文件夹。",
|
|
10945
|
+
"quickApps.filesTruncated": "当前仅显示部分内容,也可直接填写文件路径。",
|
|
10946
|
+
"quickApps.selectFileHint": "打开文件夹,再选择 HTML 应用或文本文档。",
|
|
10947
|
+
"quickApps.browseUnavailable": "此主机暂不支持文件浏览,仍可填写相对于工作区的文件路径。",
|
|
10948
|
+
"quickApps.browseHostUpdateRequired": "此主机尚不支持文件浏览。请更新或重新加载该主机的 CodingNS 插件后刷新页面,也可直接填写相对于工作区的文件路径。",
|
|
10949
|
+
...quickAppBootstrapZh,
|
|
10950
|
+
"quickApps.manage": "编辑快捷应用",
|
|
10951
|
+
"quickApps.done": "完成",
|
|
10952
|
+
"quickApps.editShortcut": "编辑快捷方式",
|
|
10953
|
+
"quickApps.collapseBar": "收起快捷应用",
|
|
10954
|
+
"quickApps.expandBar": "展开快捷应用",
|
|
10955
|
+
"quickApps.removeNamed": "移除{title}",
|
|
10956
|
+
"quickApps.reorderHelp": "拖动调整顺序,或使用 Alt + 方向键。",
|
|
10957
|
+
"quickApps.reordered": "快捷应用顺序已保存。",
|
|
10958
|
+
"quickApps.manageHelp": "选择快捷应用,修改来源、设置权限或移除快捷方式。",
|
|
10959
|
+
"quickApps.openNamed": "打开{title}",
|
|
10960
|
+
"quickApps.editNamed": "编辑{title}",
|
|
10961
|
+
"quickApps.count": "{count} 个快捷应用",
|
|
10962
|
+
"quickApps.loading": "正在加载快捷应用…",
|
|
10963
|
+
"quickApps.retry": "重试",
|
|
10964
|
+
"quickApps.emptyTitle": "一键打开工作区里的应用与文档",
|
|
10965
|
+
"quickApps.advanced": "高级选项",
|
|
10966
|
+
"quickApps.accessAndRemoval": "访问与快捷方式管理",
|
|
10967
|
+
"quickApps.titleHelp": "留空则使用文件名或应用目录名。",
|
|
10968
|
+
"quickApps.entryHelp": "选择文件,或填写它在工作区内的路径。",
|
|
10969
|
+
"quickApps.entryPlaceholder": "apps/calendar/index.html",
|
|
10970
|
+
"quickApps.entryRequired": "请填写应用或文档的文件路径。",
|
|
10971
|
+
"quickApps.orderInvalid": "列表顺序请填写整数。",
|
|
10972
|
+
"quickApps.saved": "快捷方式已保存。",
|
|
10973
|
+
"quickApps.revoked": "文件访问权限已撤销,已打开的应用已关闭。",
|
|
10974
|
+
"quickApps.saveBeforeAccess": "请先保存修改,再管理访问权限或移除此快捷方式。",
|
|
10975
|
+
"quickApps.conflict": "此快捷方式已在其他位置更新。你的修改仍保留在此处,重新打开快捷方式可加载最新版本。",
|
|
10976
|
+
"quickApps.order": "列表顺序",
|
|
10977
|
+
"quickApps.mounts": "附加资源目录(可选)",
|
|
10978
|
+
"quickApps.mount.urlPrefix": "应用网址路径",
|
|
10979
|
+
"quickApps.mount.workspacePath": "工作区目录",
|
|
10980
|
+
"quickApps.addMount": "添加资源目录",
|
|
10981
|
+
"quickApps.removeMount": "移除资源目录",
|
|
10982
|
+
"quickApps.title": "快捷应用",
|
|
10983
|
+
"quickApps.description": "无需打开会话,即可访问工作区内的 HTML 应用和文本文档。",
|
|
10984
|
+
"quickApps.close": "关闭快捷应用",
|
|
10985
|
+
"quickApps.back": "返回快捷列表",
|
|
10986
|
+
"quickApps.application": "工作区应用",
|
|
10987
|
+
"quickApps.add": "添加快捷方式",
|
|
10988
|
+
"quickApps.open": "打开",
|
|
10989
|
+
"quickApps.edit": "编辑",
|
|
10990
|
+
"quickApps.remove": "移除快捷方式",
|
|
10991
|
+
"quickApps.permissions": "文件权限",
|
|
10992
|
+
"quickApps.revoke": "撤销访问",
|
|
10993
|
+
"quickApps.save": "保存",
|
|
10994
|
+
"quickApps.cancel": "取消",
|
|
10995
|
+
"quickApps.titleField": "名称",
|
|
10996
|
+
"quickApps.entryPath": "入口文件",
|
|
10997
|
+
"quickApps.documentRoot": "应用目录",
|
|
10998
|
+
"quickApps.workspace": "工作区",
|
|
10999
|
+
"quickApps.chooseWorkspace": "选择受管工作区",
|
|
11000
|
+
"quickApps.localHost": "当前主机",
|
|
11001
|
+
"quickApps.kind": "打开方式",
|
|
11002
|
+
"quickApps.html": "HTML 应用",
|
|
11003
|
+
"quickApps.text": "文本文档",
|
|
11004
|
+
"quickApps.networkAllow": "允许的本地地址",
|
|
11005
|
+
"quickApps.networkAllowHelp": "留空则拒绝回环、私网、链路本地和云元数据地址。每行填写一个本地 IP、CIDR 网段或主机名,最多 16 个。例如 127.0.0.1、localhost、192.168.1.0/24。",
|
|
11006
|
+
"quickApps.networkAllowPlaceholder": "127.0.0.1\nlocalhost\n192.168.1.0/24",
|
|
11007
|
+
"quickApps.networkAllowInvalid": "请逐行填写本地 IP、CIDR 网段或主机名。",
|
|
11008
|
+
"quickApps.spa": "应用内导航使用入口页面",
|
|
11009
|
+
"quickApps.pathHelp": "填写相对于工作区的路径。建议使用专用应用目录;目录留空表示工作区根目录。",
|
|
11010
|
+
"quickApps.empty": "还没有快捷方式。可在编辑模式下从受管工作区添加 HTML 应用或文本文档。",
|
|
11011
|
+
"quickApps.removeHelp": "移除快捷方式不会删除源文件。",
|
|
11012
|
+
"quickApps.permissionHelp": "为下次打开应用设置可选文件权限。填写相对于工作区的目录,以逗号分隔;留空表示禁止。主机重启、快捷方式或应用代码变更后需要重新授权。保存会关闭现有应用。",
|
|
11013
|
+
"quickApps.permission.read": "允许读取的目录",
|
|
11014
|
+
"quickApps.permission.write": "允许创建和更新的目录",
|
|
11015
|
+
"quickApps.permission.delete": "允许删除文件的目录",
|
|
11016
|
+
"quickApps.permissionsSaved": "已保存下次打开应用时使用的权限。",
|
|
11017
|
+
"quickApps.unavailable": "当前主机连接暂不支持 HTML 预览,请更新所属主机插件后重新打开快捷方式。",
|
|
11018
|
+
"quickApps.status.unsupported-runtime": "当前主机连接暂不支持 HTML 预览。",
|
|
11019
|
+
"quickApps.status.disconnected-host": "所属主机暂不支持快捷应用连接。",
|
|
11020
|
+
"quickApps.status.unsupported-connection": "此 PeerHost 中转连接无法打开快捷应用,请使用直连方式连接所属主机。",
|
|
11021
|
+
"quickApps.status.missing-workspace": "原工作区不可用。",
|
|
11022
|
+
"quickApps.status.missing-file": "入口文件或应用目录不存在或无法访问。"
|
|
11023
|
+
};
|
|
11024
|
+
//#endregion
|
|
11025
|
+
//#region src/client/locales/cliManagement.ts
|
|
11026
|
+
const en$2 = {
|
|
11027
|
+
"cli.team.label": "Team eligibility",
|
|
11028
|
+
"cli.team.leadAndMember": "Collaborator and Lead",
|
|
11029
|
+
"cli.team.member": "Collaborator",
|
|
11030
|
+
"cli.team.reason.version": "Full Team support requires a verified DSH alpha.2 or alpha.3 host.",
|
|
11031
|
+
"cli.team.reason.profile": "Enable the native DSH Team profile to use Teams.",
|
|
11032
|
+
"cli.team.reason.disabled": "Enable the CodingNS bridge and this Agent to use Teams.",
|
|
11033
|
+
"cli.team.reason.adapter": "This Agent does not provide the required Team tool transport.",
|
|
11034
|
+
"cli.team.reason.installation": "Install and enable this Agent before using Teams.",
|
|
11035
|
+
"cli.manage.reasonLabel.application-managed": "Check in app",
|
|
11036
|
+
"cli.manage.reasonLabel.unknown-version": "Version unknown",
|
|
11037
|
+
"cli.manage.reasonLabel.legacy-distribution": "Legacy distribution",
|
|
11038
|
+
"cli.manage.reasonLabel.no-release-source": "No verified feed",
|
|
11039
|
+
"cli.manage.reasonLabel.incomparable-version": "Different release channel",
|
|
11040
|
+
"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.",
|
|
11041
|
+
"cli.manage.reason.unknown-version": "The installed version could not be identified. Re-detect the Agent before comparing releases.",
|
|
11042
|
+
"cli.manage.reason.legacy-distribution": "This legacy distribution has no comparable current release feed. See the official migration guide.",
|
|
11043
|
+
"cli.manage.reason.no-release-source": "No verified release feed is available for this installation and platform. See the official guide.",
|
|
11044
|
+
"cli.manage.reason.incomparable-version": "The installed and published versions use different release channels and cannot be compared safely.",
|
|
11045
|
+
"cli.manage.availableInApp": "Version {version} is available. Complete the update in {name}.",
|
|
11046
|
+
"cli.manage.updateInApp": "Update in app",
|
|
11047
|
+
"cli.manage.open": "Manage external Agents",
|
|
11048
|
+
"cli.manage.listTitle": "External Agents",
|
|
11049
|
+
"cli.manage.details": "Details",
|
|
11050
|
+
"cli.manage.methodUnknown": "No supported automatic updater was identified for this installation. Re-detect to retry, or follow the official guide below.",
|
|
11051
|
+
"cli.manage.hostUnsupported": "This Host has not loaded update checking. Reload the Host with the current plugin, then refresh this list.",
|
|
11052
|
+
"cli.manage.state.unchecked": "Not checked",
|
|
11053
|
+
"cli.manage.state.checking": "Checking…",
|
|
11054
|
+
"cli.manage.state.current": "Up to date",
|
|
11055
|
+
"cli.manage.state.unavailable": "Check manually",
|
|
11056
|
+
"cli.manage.state.error": "Check failed",
|
|
11057
|
+
"cli.manage.failure.timeout": "Release check timed out. Refresh to retry.",
|
|
11058
|
+
"cli.manage.failure.network": "Could not reach the release source. Check the Host network and refresh.",
|
|
11059
|
+
"cli.manage.failure.http": "The release source returned HTTP {status}. Refresh to retry.",
|
|
11060
|
+
"cli.manage.failure.invalid-response": "The release source returned invalid metadata. Use the official guide.",
|
|
11061
|
+
"cli.manage.install": "Install",
|
|
11062
|
+
"cli.manage.update": "Update",
|
|
11063
|
+
"cli.manage.unchecked": "Use Refresh to check for updates",
|
|
11064
|
+
"cli.manage.checking": "Checking for updates…",
|
|
11065
|
+
"cli.manage.available": "Update available: {version}",
|
|
11066
|
+
"cli.manage.current": "No newer release found",
|
|
11067
|
+
"cli.manage.unavailable": "No comparable release found. Check the official update guide.",
|
|
11068
|
+
"cli.manage.error": "Update check failed. Refresh to retry.",
|
|
11069
|
+
"cli.manage.title": "{action} {name}",
|
|
11070
|
+
"cli.manage.host": "Target Host: {name} ({platform})",
|
|
11071
|
+
"cli.manage.loading": "Checking the Agent and official methods…",
|
|
11072
|
+
"cli.manage.review": "Review the command and prerequisites. It runs on this Host with your user account. Updates may require restarting Agent sessions.",
|
|
11073
|
+
"cli.manage.source": "Official installation and update guide",
|
|
11074
|
+
"cli.manage.run": "Run {action}",
|
|
11075
|
+
"cli.manage.running": "Running…",
|
|
11076
|
+
"cli.manage.result.running": "{action} in progress",
|
|
11077
|
+
"cli.manage.result.succeeded": "{action} completed",
|
|
11078
|
+
"cli.manage.result.failed": "{action} failed",
|
|
11079
|
+
"cli.manage.result.cancelled": "{action} cancelled",
|
|
11080
|
+
"cli.manage.log.running": "Live",
|
|
11081
|
+
"cli.manage.log.succeeded": "Completed",
|
|
11082
|
+
"cli.manage.log.failed": "Failed",
|
|
11083
|
+
"cli.manage.log.cancelled": "Cancelled",
|
|
11084
|
+
"cli.manage.waitingOutput": "Waiting for output…",
|
|
11085
|
+
"cli.manage.emptyOutput": "The command produced no output.",
|
|
11086
|
+
"cli.manage.latestOutput": "Jump to latest ↓",
|
|
11087
|
+
"cli.manage.catalog.refreshing": "Refreshing the Agent list…",
|
|
11088
|
+
"cli.manage.catalog.refreshed": "Agent list refreshed with the detected version.",
|
|
11089
|
+
"cli.manage.catalog.failed": "The update succeeded, but the Agent list could not be refreshed.",
|
|
11090
|
+
"cli.manage.refreshList": "Refresh list",
|
|
11091
|
+
"cli.manage.succeeded": "Command completed. Detected version: {version}",
|
|
11092
|
+
"cli.manage.failed": "The operation failed.",
|
|
11093
|
+
"cli.manage.cancelled": "The operation was cancelled.",
|
|
11094
|
+
"cli.manage.cancel": "Cancel operation",
|
|
11095
|
+
"cli.manage.close": "Close",
|
|
11096
|
+
"cli.manage.redetect": "Re-detect installation",
|
|
11097
|
+
"cli.manage.output": "Command output",
|
|
11098
|
+
"cli.manage.background": "You can close this dialog and return to this Agent to see the result.",
|
|
11099
|
+
"cli.manage.otherBusy": "Another Agent operation is running on this Host: {name}",
|
|
11100
|
+
"cli.manage.retryStatus": "Retry status",
|
|
11101
|
+
"cli.manage.reviewAgain": "Review another operation"
|
|
11102
|
+
};
|
|
11103
|
+
const zh$2 = {
|
|
11104
|
+
"cli.team.label": "团队适配能力",
|
|
11105
|
+
"cli.team.leadAndMember": "协作者和管理者",
|
|
11106
|
+
"cli.team.member": "协作者",
|
|
11107
|
+
"cli.team.reason.version": "完整团队功能需要经过验证的 DSH alpha.2 或 alpha.3 主机。",
|
|
11108
|
+
"cli.team.reason.profile": "请启用 DSH 原生团队配置后使用团队功能。",
|
|
11109
|
+
"cli.team.reason.disabled": "请启用 CodingNS 桥接和此 Agent 后使用团队功能。",
|
|
11110
|
+
"cli.team.reason.adapter": "此 Agent 尚未提供所需的团队工具通道。",
|
|
11111
|
+
"cli.team.reason.installation": "请先安装并启用此 Agent,再使用团队功能。",
|
|
11112
|
+
"cli.manage.reasonLabel.application-managed": "在应用中检查",
|
|
11113
|
+
"cli.manage.reasonLabel.unknown-version": "版本未知",
|
|
11114
|
+
"cli.manage.reasonLabel.legacy-distribution": "旧版发行包",
|
|
11115
|
+
"cli.manage.reasonLabel.no-release-source": "暂无可用版本源",
|
|
11116
|
+
"cli.manage.reasonLabel.incomparable-version": "版本通道不同",
|
|
11117
|
+
"cli.manage.reason.application-managed": "此 Agent 由所属应用管理,尚未验证可比较的运行时版本源,请使用应用内的“检查更新”。",
|
|
11118
|
+
"cli.manage.reason.unknown-version": "无法识别已安装版本,请重新检测 Agent 后再比较版本。",
|
|
11119
|
+
"cli.manage.reason.legacy-distribution": "此旧版发行包没有可比较的当前版本源,请查看官方迁移指南。",
|
|
11120
|
+
"cli.manage.reason.no-release-source": "此安装和平台尚无经过验证的版本源,请查看官方指南。",
|
|
11121
|
+
"cli.manage.reason.incomparable-version": "已安装版本与发布版本属于不同通道,无法可靠比较。",
|
|
11122
|
+
"cli.manage.availableInApp": "发现版本 {version},请在 {name} 中完成更新。",
|
|
11123
|
+
"cli.manage.updateInApp": "在应用中更新",
|
|
11124
|
+
"cli.manage.open": "管理外部 Agent",
|
|
11125
|
+
"cli.manage.listTitle": "外部 Agent",
|
|
11126
|
+
"cli.manage.details": "详情",
|
|
11127
|
+
"cli.manage.methodUnknown": "未能识别此安装的自动更新方式。可重新检测重试,或查看下方官方指南。",
|
|
11128
|
+
"cli.manage.hostUnsupported": "此主机尚未加载更新检查功能。请让主机加载当前插件后,再刷新列表。",
|
|
11129
|
+
"cli.manage.state.unchecked": "未检查更新",
|
|
11130
|
+
"cli.manage.state.checking": "检查中…",
|
|
11131
|
+
"cli.manage.state.current": "已是最新",
|
|
11132
|
+
"cli.manage.state.unavailable": "需手动检查",
|
|
11133
|
+
"cli.manage.state.error": "检查失败",
|
|
11134
|
+
"cli.manage.failure.timeout": "版本检查超时,请刷新重试。",
|
|
11135
|
+
"cli.manage.failure.network": "无法连接版本来源,请检查主机网络后刷新。",
|
|
11136
|
+
"cli.manage.failure.http": "版本来源返回 HTTP {status},请刷新重试。",
|
|
11137
|
+
"cli.manage.failure.invalid-response": "版本来源返回的数据无效,请查看官方指南。",
|
|
11138
|
+
"cli.manage.install": "安装",
|
|
11139
|
+
"cli.manage.update": "更新",
|
|
11140
|
+
"cli.manage.unchecked": "点击刷新检查更新",
|
|
11141
|
+
"cli.manage.checking": "正在检查更新…",
|
|
11142
|
+
"cli.manage.available": "有新版本:{version}",
|
|
11143
|
+
"cli.manage.current": "未发现更新版本",
|
|
11144
|
+
"cli.manage.unavailable": "未找到可比较的版本,请查看官方更新指南。",
|
|
11145
|
+
"cli.manage.error": "检查更新失败,请刷新重试。",
|
|
11146
|
+
"cli.manage.title": "{action} {name}",
|
|
11147
|
+
"cli.manage.host": "目标主机:{name}({platform})",
|
|
11148
|
+
"cli.manage.loading": "正在检查 Agent 和官方安装方式…",
|
|
11149
|
+
"cli.manage.review": "请核对命令和前置要求。命令将以当前用户在此主机上执行,更新后可能需要重新开启 Agent 会话。",
|
|
11150
|
+
"cli.manage.source": "官方安装与更新指南",
|
|
11151
|
+
"cli.manage.run": "执行{action}",
|
|
11152
|
+
"cli.manage.running": "正在执行…",
|
|
11153
|
+
"cli.manage.result.running": "正在{action}",
|
|
11154
|
+
"cli.manage.result.succeeded": "{action}成功",
|
|
11155
|
+
"cli.manage.result.failed": "{action}失败",
|
|
11156
|
+
"cli.manage.result.cancelled": "已取消{action}",
|
|
11157
|
+
"cli.manage.log.running": "实时输出",
|
|
11158
|
+
"cli.manage.log.succeeded": "已完成",
|
|
11159
|
+
"cli.manage.log.failed": "失败",
|
|
11160
|
+
"cli.manage.log.cancelled": "已取消",
|
|
11161
|
+
"cli.manage.waitingOutput": "等待命令输出…",
|
|
11162
|
+
"cli.manage.emptyOutput": "命令未产生输出。",
|
|
11163
|
+
"cli.manage.latestOutput": "跳至最新 ↓",
|
|
11164
|
+
"cli.manage.catalog.refreshing": "正在刷新 Agent 列表…",
|
|
11165
|
+
"cli.manage.catalog.refreshed": "Agent 列表已刷新,当前显示检测到的新版本。",
|
|
11166
|
+
"cli.manage.catalog.failed": "更新已成功,但 Agent 列表刷新失败。",
|
|
11167
|
+
"cli.manage.refreshList": "刷新列表",
|
|
11168
|
+
"cli.manage.succeeded": "命令已完成,检测到版本:{version}",
|
|
11169
|
+
"cli.manage.failed": "操作失败。",
|
|
11170
|
+
"cli.manage.cancelled": "操作已取消。",
|
|
11171
|
+
"cli.manage.cancel": "取消操作",
|
|
11172
|
+
"cli.manage.close": "关闭",
|
|
11173
|
+
"cli.manage.redetect": "重新检测安装",
|
|
11174
|
+
"cli.manage.output": "命令输出",
|
|
11175
|
+
"cli.manage.background": "可以关闭此窗口,稍后再次打开此 Agent 查看结果。",
|
|
11176
|
+
"cli.manage.otherBusy": "此主机上的另一个 Agent 操作正在执行:{name}",
|
|
11177
|
+
"cli.manage.retryStatus": "重新查询状态",
|
|
11178
|
+
"cli.manage.reviewAgain": "查看新的操作"
|
|
11179
|
+
};
|
|
11180
|
+
//#endregion
|
|
11181
|
+
//#region src/client/locales/magpie.ts
|
|
11182
|
+
/** Copy for the optional Magpie usage dashboard. */
|
|
11183
|
+
const en$1 = {
|
|
11184
|
+
"feature.magpieManagement.label": "Magpie management and usage",
|
|
11185
|
+
"feature.magpieManagement.description": "Enable to add a separate Magpie Management page below Plugins in the global sidebar.",
|
|
11186
|
+
"magpie.sidebarLabel": "Magpie",
|
|
11187
|
+
"magpie.usage": "Usage",
|
|
11188
|
+
"magpie.routing": "Routing",
|
|
11189
|
+
"magpie.statTokens": "Tokens",
|
|
11190
|
+
"magpie.statCalls": "Requests",
|
|
11191
|
+
"magpie.statWriteDown": "Output",
|
|
11192
|
+
"magpie.statSessions": "Sessions",
|
|
11193
|
+
"magpie.statReasoning": "Reasoning",
|
|
11194
|
+
"magpie.statReasoningNote": "Counted as output",
|
|
11195
|
+
"magpie.statSpeed": "Output speed",
|
|
11196
|
+
"magpie.statLatency": "First text",
|
|
11197
|
+
"magpie.statLatencyNote": "Average first-text latency",
|
|
11198
|
+
"magpie.topSessions": "Top sessions",
|
|
11199
|
+
"magpie.dailyTrend": "Daily trend",
|
|
11200
|
+
"magpie.ncolTime": "Time",
|
|
11201
|
+
"magpie.ncolRequested": "Requested model",
|
|
11202
|
+
"magpie.ncolProvider": "Provider / account",
|
|
11203
|
+
"magpie.ncolServed": "Served model",
|
|
11204
|
+
"magpie.ncolInput": "Input",
|
|
11205
|
+
"magpie.ncolOutput": "Output",
|
|
11206
|
+
"magpie.ncolCost": "Cost",
|
|
11207
|
+
"magpie.ncolFirstText": "First text",
|
|
11208
|
+
"magpie.ncolDuration": "Duration",
|
|
11209
|
+
"magpie.ncolSpeed": "Speed",
|
|
11210
|
+
"magpie.ncolStatus": "Status",
|
|
11211
|
+
"magpie.open": "Open Magpie dashboard",
|
|
11212
|
+
"magpie.pageTitle": "Magpie observatory",
|
|
11213
|
+
"magpie.pageSubtitle": "A live ledger of routing, usage, and subscription allowance.",
|
|
11214
|
+
"magpie.periodLabel": "PERIOD",
|
|
11215
|
+
"magpie.chart.calls": "Magpie requests over time",
|
|
11216
|
+
"magpie.chart.tokens": "Magpie tokens over time",
|
|
11217
|
+
"magpie.chart.cost": "Magpie reported cost over time",
|
|
11218
|
+
"magpie.close": "Return to the conversation",
|
|
11219
|
+
"magpie.overview": "Overview",
|
|
11220
|
+
"magpie.sessions": "Sessions",
|
|
11221
|
+
"magpie.requests": "Requests",
|
|
11222
|
+
"magpie.quotas": "Subscriptions",
|
|
11223
|
+
"magpie.today": "Today",
|
|
11224
|
+
"magpie.week": "7 days",
|
|
11225
|
+
"magpie.month": "30 days",
|
|
11226
|
+
"magpie.all": "All time",
|
|
11227
|
+
"magpie.refresh": "Refresh",
|
|
11228
|
+
"magpie.refreshing": "Refreshing…",
|
|
11229
|
+
"magpie.update.title": "Magpie update",
|
|
11230
|
+
"magpie.update.open": "Magpie {version}; open update details",
|
|
11231
|
+
"magpie.update.close": "Close Magpie update details",
|
|
11232
|
+
"magpie.update.description": "Automatic checks observe Magpie in the background. Download and restart only run after you confirm a manual update.",
|
|
11233
|
+
"magpie.update.unavailable": "Magpie update status is unavailable.",
|
|
11234
|
+
"magpie.update.unsupported": "This Magpie version does not expose a supported update API.",
|
|
11235
|
+
"magpie.update.invalid": "Magpie returned an update response CodingNS cannot safely read.",
|
|
11236
|
+
"magpie.update.current": "Current {version}",
|
|
11237
|
+
"magpie.update.latest": "Latest {version}",
|
|
11238
|
+
"magpie.update.releaseNotes": "Release notes for {version}",
|
|
11239
|
+
"magpie.update.check": "Check for updates",
|
|
11240
|
+
"magpie.update.checking": "Checking for updates…",
|
|
11241
|
+
"magpie.update.downloading": "Magpie is downloading the update…",
|
|
11242
|
+
"magpie.update.manual": "Manual update",
|
|
11243
|
+
"magpie.update.retry": "Retry update",
|
|
11244
|
+
"magpie.update.confirmTitle": "Confirm Magpie update",
|
|
11245
|
+
"magpie.update.confirmWarning": "Magpie may download a new binary, restart its Web process, and interrupt active requests.",
|
|
11246
|
+
"magpie.update.confirm": "Confirm and update",
|
|
11247
|
+
"magpie.update.requested": "Magpie accepted the update request.",
|
|
11248
|
+
"magpie.update.restartRequested": "Magpie accepted the update and may restart now. The admin page will reconnect afterward.",
|
|
11249
|
+
"magpie.update.state.checking": "Checking",
|
|
11250
|
+
"magpie.update.state.latest": "Up to date",
|
|
11251
|
+
"magpie.update.state.found": "Update available",
|
|
11252
|
+
"magpie.update.state.downloading": "Downloading",
|
|
11253
|
+
"magpie.update.state.ready": "Ready to restart",
|
|
11254
|
+
"magpie.update.state.available": "Update available manually",
|
|
11255
|
+
"magpie.update.state.source": "Source build",
|
|
11256
|
+
"magpie.update.state.error": "Update error",
|
|
11257
|
+
"magpie.update.state.blocked": "Update blocked",
|
|
11258
|
+
"magpie.loading": "Reading the local Magpie Web API…",
|
|
11259
|
+
"magpie.webApiUnavailable": "The Host could not start or authenticate Magpie Web. Startup is automatic; verify that the Magpie CLI is available, then retry.",
|
|
11260
|
+
"magpie.unavailable": "Magpie data is unavailable on this Host.",
|
|
11261
|
+
"magpie.cliUnavailable": "The Host could not find or run the Magpie CLI. Verify `magpie --version` in the DSH Host environment.",
|
|
11262
|
+
"magpie.cliVersionUnsupported": "This Magpie CLI version is not supported. The dashboard requires Magpie 0.1.1295 or later.",
|
|
11263
|
+
"magpie.catalogUnavailable": "The Host could not read `magpie models dsh` or find its Gateway address.",
|
|
11264
|
+
"magpie.hostRpcOutdated": "This Host is missing the Magpie usage or management RPC. Update/reload CodingNS on the Host to enable management panels.",
|
|
11265
|
+
"magpie.featureDisabled": "Magpie Management is disabled in the Host settings. Enable it in CodingNS settings and retry.",
|
|
11266
|
+
"magpie.hostRequestFailed": "The Host request failed. Check the Host connection and retry.",
|
|
11267
|
+
"magpie.usageUnavailable": "Usage data could not be read. Other sections may still be available.",
|
|
11268
|
+
"magpie.quotaUnavailable": "Subscription data could not be read.",
|
|
11269
|
+
"magpie.historyUnavailable": "Quota history could not be read.",
|
|
11270
|
+
"magpie.noUsage": "No usage was reported for this period.",
|
|
11271
|
+
"magpie.noSessions": "No sessions were reported for this period.",
|
|
11272
|
+
"magpie.noRequests": "No request rows are available for this selection.",
|
|
11273
|
+
"magpie.noQuotas": "No subscription quota cards are available.",
|
|
11274
|
+
"magpie.noHistory": "No quota history is available.",
|
|
11275
|
+
"magpie.costNote": "Cost is reported by Magpie; the API does not specify a currency.",
|
|
11276
|
+
"magpie.metricCalls": "Requests",
|
|
11277
|
+
"magpie.metricErrors": "Errors",
|
|
11278
|
+
"magpie.metricRetries": "Retries",
|
|
11279
|
+
"magpie.metricInput": "Input tokens",
|
|
11280
|
+
"magpie.metricOutput": "Output tokens",
|
|
11281
|
+
"magpie.metricCacheRead": "Cache read",
|
|
11282
|
+
"magpie.metricCacheWrite": "Cache written",
|
|
11283
|
+
"magpie.metricReasoning": "Reasoning tokens",
|
|
11284
|
+
"magpie.metricCost": "Reported cost",
|
|
11285
|
+
"magpie.metricUnpriced": "Unpriced requests",
|
|
11286
|
+
"magpie.metricLatency": "Measured requests",
|
|
11287
|
+
"magpie.metricTtft": "TTFT reported (ms)",
|
|
11288
|
+
"magpie.metricDecode": "Decode time reported",
|
|
11289
|
+
"magpie.metricDecodeTokens": "Decode tokens",
|
|
11290
|
+
"magpie.metricDecodeCount": "decode count",
|
|
11291
|
+
"magpie.timeline": "Usage over time",
|
|
11292
|
+
"magpie.tokens": "Input + output tokens",
|
|
11293
|
+
"magpie.byProvider": "By provider",
|
|
11294
|
+
"magpie.byModel": "By model",
|
|
11295
|
+
"magpie.byAccount": "By account",
|
|
11296
|
+
"magpie.modelBreakdown": "Model breakdown",
|
|
11297
|
+
"magpie.modelAggregate": "Aggregate",
|
|
11298
|
+
"magpie.modelPerAccount": "Per account",
|
|
11299
|
+
"magpie.byAgent": "By Agent",
|
|
11300
|
+
"magpie.management.providers": "Providers",
|
|
11301
|
+
"magpie.management.groupsTab": "Routing groups",
|
|
11302
|
+
"magpie.management.classifierEmpty": "Choose a model",
|
|
11303
|
+
"magpie.management.classifierHint": "Asked once as each turn begins; a small, fast model without reasoning is best.",
|
|
11304
|
+
"magpie.management.contextCustom": "Custom",
|
|
11305
|
+
"magpie.management.contextHint": "The window Agents are told this group takes, so they compact before a member turns the conversation away.",
|
|
11306
|
+
"magpie.management.contextInvalid": "Enter a number of tokens, like 200k or 1m.",
|
|
11307
|
+
"magpie.management.contextLargest": "Largest member",
|
|
11308
|
+
"magpie.management.contextSmallest": "Smallest member",
|
|
11309
|
+
"magpie.management.contextTokens": "{count} token",
|
|
11310
|
+
"magpie.management.effortAgent": "As the Agent asks",
|
|
11311
|
+
"magpie.management.effortAgentHint": "Each request reasons as much as the Agent asked for.",
|
|
11312
|
+
"magpie.management.effortAuto": "Picked per turn",
|
|
11313
|
+
"magpie.management.effortAutoHint": "A classifier rates each turn and asks its model for the nearest level; requests without reasoning stay without.",
|
|
11314
|
+
"magpie.management.effortNeedsClassifier": "Picking a level per turn needs a model that rates the turn. No model is available here.",
|
|
11315
|
+
"magpie.management.levelsNamed": "Chosen here",
|
|
11316
|
+
"magpie.management.levelsNamedHint": "Agents are offered these; a member without one is sent the level it has nearest.",
|
|
11317
|
+
"magpie.management.levelsShared": "Shared by its models",
|
|
11318
|
+
"magpie.management.levelsSharedHint": "Agents are offered the levels every member has.",
|
|
11319
|
+
"magpie.management.reviewContext": "Context window: {value}",
|
|
11320
|
+
"magpie.management.reviewEffort": "Effort: {value}",
|
|
11321
|
+
"magpie.management.reviewEffortAuto": "picked per turn by {model}",
|
|
11322
|
+
"magpie.management.reviewLevels": "Reasoning levels: {value}",
|
|
11323
|
+
"magpie.management.accounts": "Accounts",
|
|
11324
|
+
"magpie.management.groups": "Routing groups",
|
|
11325
|
+
"magpie.management.loading": "Reading Magpie provider, account, and routing-group settings…",
|
|
11326
|
+
"magpie.management.cliVersionUnsupported": "Magpie Web returned provider or routing-group data this Host cannot read. Update Magpie Web or CodingNS and retry.",
|
|
11327
|
+
"magpie.management.providersUnavailable": "Magpie provider settings could not be read in a supported format.",
|
|
11328
|
+
"magpie.management.accountsUnavailable": "Magpie account status could not be read.",
|
|
11329
|
+
"magpie.management.groupsUnavailable": "Magpie routing groups could not be read in a supported format.",
|
|
11330
|
+
"magpie.management.noProviders": "No Magpie providers were found.",
|
|
11331
|
+
"magpie.management.noAccounts": "No subscription accounts were reported by Magpie.",
|
|
11332
|
+
"magpie.management.noGroups": "No routing groups were found.",
|
|
11333
|
+
"magpie.management.accountApiRequired": "Host-managed Magpie Web is unavailable. Retry after the Host reconnects.",
|
|
11334
|
+
"magpie.management.accountRoleNote": "Primary is the Agent's signed-in account; secondary accounts can be placed in or removed from the failover rotation.",
|
|
11335
|
+
"magpie.management.unlinkedAccounts": "Accounts without a listed provider",
|
|
11336
|
+
"magpie.management.unlinkedAccountsNote": "These accounts are still shown, but Magpie did not provide a matching account Agent identity for any listed provider.",
|
|
11337
|
+
"magpie.management.noLinkedAccounts": "No subscription accounts are linked to this provider.",
|
|
11338
|
+
"magpie.management.primaryAccount": "Primary · signed in",
|
|
11339
|
+
"magpie.management.secondaryAccount": "Secondary",
|
|
11340
|
+
"magpie.management.inRotation": "In routing rotation",
|
|
11341
|
+
"magpie.management.primaryPaused": "Primary paused",
|
|
11342
|
+
"magpie.management.outOfRotation": "Out of rotation",
|
|
11343
|
+
"magpie.management.addToRotation": "Add to failover rotation",
|
|
11344
|
+
"magpie.management.removeFromRotation": "Remove from failover rotation",
|
|
11345
|
+
"magpie.management.pausePrimary": "Pause primary account",
|
|
11346
|
+
"magpie.management.lastAccountInRotation": "Magpie requires at least one account to remain in rotation.",
|
|
11347
|
+
"magpie.management.reviewAccount": "Review account routing change",
|
|
11348
|
+
"magpie.management.reviewAccountOn": "Add {account} to this provider's failover rotation.",
|
|
11349
|
+
"magpie.management.reviewAccountOff": "Remove {account} from this provider's rotation. Magpie may move Agents using it to another provider/model.",
|
|
11350
|
+
"magpie.management.accountSaveFailed": "Magpie did not confirm this account change. Refresh and inspect its current routing state.",
|
|
11351
|
+
"magpie.management.turnProviderOn": "Turn provider on",
|
|
11352
|
+
"magpie.management.turnProviderOff": "Turn provider off",
|
|
11353
|
+
"magpie.management.reviewProviderStatus": "Routing availability: {value}",
|
|
11354
|
+
"magpie.management.providerAccount": "Account: {account}",
|
|
11355
|
+
"magpie.management.modelCountUnknown": "Model count not reported",
|
|
11356
|
+
"magpie.management.modelCounts": "{exposed} exposed / {total} available models",
|
|
11357
|
+
"magpie.management.providerName": "Provider name",
|
|
11358
|
+
"magpie.management.endpointType": "Endpoint type",
|
|
11359
|
+
"magpie.management.endpointUrl": "Endpoint URL",
|
|
11360
|
+
"magpie.management.exposedModels": "Exposed models",
|
|
11361
|
+
"magpie.management.providerModelsHint": "Magpie returned the complete model inventory. Check a model to expose it for routing; the original order is preserved.",
|
|
11362
|
+
"magpie.management.providerModelsUnavailable": "Magpie returned model entries this Host cannot safely edit. The list is read-only; other supported provider fields remain editable.",
|
|
11363
|
+
"magpie.management.noProviderModels": "Magpie did not return any model entries for this provider.",
|
|
11364
|
+
"magpie.management.enableAllModels": "Enable all",
|
|
11365
|
+
"magpie.management.disableAllModels": "Disable all",
|
|
11366
|
+
"magpie.management.groupName": "Group name",
|
|
11367
|
+
"magpie.management.groupModels": "Ordered models and patterns",
|
|
11368
|
+
"magpie.management.groupModelsHint": "Arrange the selected models and patterns in priority order. Use Add a model to insert another Magpie model without expanding the full inventory.",
|
|
11369
|
+
"magpie.management.addGroupModel": "Add a model",
|
|
11370
|
+
"magpie.management.searchGroupModels": "Filter models...",
|
|
11371
|
+
"magpie.management.noMatchingGroupModels": "No matching models.",
|
|
11372
|
+
"magpie.management.otherGroupModels": "Other models",
|
|
11373
|
+
"magpie.management.noSelectedGroupModels": "No models or patterns are selected for this group.",
|
|
11374
|
+
"magpie.management.moveModelUp": "Move {model} up",
|
|
11375
|
+
"magpie.management.moveModelDown": "Move {model} down",
|
|
11376
|
+
"magpie.management.routing": "Invocation policy",
|
|
11377
|
+
"magpie.management.routing.smart": "Smart",
|
|
11378
|
+
"magpie.management.routing.order": "In order",
|
|
11379
|
+
"magpie.management.routing.rotate": "In turn",
|
|
11380
|
+
"magpie.management.routing.usage": "Least used",
|
|
11381
|
+
"magpie.management.routing.pace": "Weekly pace",
|
|
11382
|
+
"magpie.management.routing.weight": "By weight",
|
|
11383
|
+
"magpie.management.routing.manual": "Manual",
|
|
11384
|
+
"magpie.management.routing.free": "Free first",
|
|
11385
|
+
"magpie.management.stays": "Account stickiness",
|
|
11386
|
+
"magpie.management.stays.auto": "Auto",
|
|
11387
|
+
"magpie.management.stays.session": "Session",
|
|
11388
|
+
"magpie.management.stays.turn": "Within a turn",
|
|
11389
|
+
"magpie.management.stays.off": "Off",
|
|
11390
|
+
"magpie.management.stays.strict": "Strict",
|
|
11391
|
+
"magpie.management.routingHint": "How this group sends a request to its members.",
|
|
11392
|
+
"magpie.management.staysHint": "How long a conversation stays with the member that answered it.",
|
|
11393
|
+
"magpie.management.manualPick": "Model sent every request",
|
|
11394
|
+
"magpie.management.manualPickHint": "Manual sends every request to this member; the others wait until another is picked.",
|
|
11395
|
+
"magpie.management.unlists": "Agents see the group only",
|
|
11396
|
+
"magpie.management.unlistsHint": "On, Agent model lists show the group and not the models it names; a request naming one is still answered.",
|
|
11397
|
+
"magpie.management.fastMode": "Fast mode",
|
|
11398
|
+
"magpie.management.fastModeHint": "{model} is asked for its vendor's fast mode (OpenAI service_tier \"priority\"): quicker, at a higher price.",
|
|
11399
|
+
"magpie.management.noFastModels": "Agents list the models below as they are; none takes this group's reasoning levels or fast mode.",
|
|
11400
|
+
"magpie.management.context": "Context limit",
|
|
11401
|
+
"magpie.management.levels": "Reasoning levels",
|
|
11402
|
+
"magpie.management.family": "Family tag",
|
|
11403
|
+
"magpie.management.effort": "Effort policy",
|
|
11404
|
+
"magpie.management.classifier": "Classifier model",
|
|
11405
|
+
"magpie.management.pick": "Manually picked model",
|
|
11406
|
+
"magpie.management.listed": "List group models separately to Agents",
|
|
11407
|
+
"magpie.management.active": "Active",
|
|
11408
|
+
"magpie.management.inactive": "Inactive",
|
|
11409
|
+
"magpie.management.enabled": "Routing on",
|
|
11410
|
+
"magpie.management.disabled": "Routing off",
|
|
11411
|
+
"magpie.management.on": "On",
|
|
11412
|
+
"magpie.management.off": "Off",
|
|
11413
|
+
"magpie.management.unknown": "Unknown",
|
|
11414
|
+
"magpie.management.noAccountWindows": "No allowance windows reported.",
|
|
11415
|
+
"magpie.management.readAt": "Read {time}",
|
|
11416
|
+
"magpie.management.membersCount": "{count} members",
|
|
11417
|
+
"magpie.management.usedBy": "Used by {agents}",
|
|
11418
|
+
"magpie.management.reviewProvider": "Review provider changes",
|
|
11419
|
+
"magpie.management.reviewGroup": "Review routing-group changes",
|
|
11420
|
+
"magpie.management.reviewName": "Name: {value}",
|
|
11421
|
+
"magpie.management.reviewEndpoint": "{field} endpoint: {value}",
|
|
11422
|
+
"magpie.management.reviewModels": "Model list: {count} entries",
|
|
11423
|
+
"magpie.management.reviewRouting": "Routing: {value}",
|
|
11424
|
+
"magpie.management.reviewStays": "Stickiness: {value}",
|
|
11425
|
+
"magpie.management.manualPickEmpty": "Choose a model",
|
|
11426
|
+
"magpie.management.reviewPick": "Manual pick: {value}",
|
|
11427
|
+
"magpie.management.reviewUnlists": "Group only: {value}",
|
|
11428
|
+
"magpie.management.reviewFast": "Fast mode: {count} models",
|
|
11429
|
+
"magpie.management.reviewListed": "Listed: {value}",
|
|
11430
|
+
"magpie.management.reviewChanges": "Review changes",
|
|
11431
|
+
"magpie.management.cancel": "Cancel",
|
|
11432
|
+
"magpie.management.apply": "Apply changes",
|
|
11433
|
+
"magpie.management.saving": "Saving…",
|
|
11434
|
+
"magpie.management.saved": "Saved and verified against Magpie.",
|
|
11435
|
+
"magpie.management.saveFailed": "Magpie did not confirm this change. Refresh and inspect the current values.",
|
|
11436
|
+
"magpie.management.reset": "Reset",
|
|
11437
|
+
"magpie.sessionsCount": "{count} sessions",
|
|
11438
|
+
"magpie.sessionSearch": "Filter sessions by Agent or ID",
|
|
11439
|
+
"magpie.openRequests": "Inspect requests",
|
|
11440
|
+
"magpie.clearSession": "Clear session filter",
|
|
11441
|
+
"magpie.requestFor": "Requests for {agent} · {id}",
|
|
11442
|
+
"magpie.colTime": "Time",
|
|
11443
|
+
"magpie.colProvider": "Provider / account",
|
|
11444
|
+
"magpie.colRoute": "Requested → served",
|
|
11445
|
+
"magpie.colTokens": "Tokens",
|
|
11446
|
+
"magpie.colCost": "Cost",
|
|
11447
|
+
"magpie.colStatus": "Status / time",
|
|
11448
|
+
"magpie.routeId": "Route #{id}",
|
|
11449
|
+
"magpie.priced": "Priced",
|
|
11450
|
+
"magpie.unpricedStatus": "Unpriced",
|
|
11451
|
+
"magpie.previous": "Previous",
|
|
11452
|
+
"magpie.next": "Next",
|
|
11453
|
+
"magpie.pageOf": "Page {page}",
|
|
11454
|
+
"magpie.quotaHistory": "Allowance history",
|
|
11455
|
+
"magpie.quotaHistoryNote": "Remaining allowance values recorded by Magpie; units follow each provider.",
|
|
11456
|
+
"magpie.dailyUsage": "Daily usage",
|
|
11457
|
+
"magpie.remaining": "{percent}% remaining",
|
|
11458
|
+
"magpie.used": "{percent}% used",
|
|
11459
|
+
"magpie.quotaViewLabel": "Subscription card values",
|
|
11460
|
+
"magpie.quotaViewUsed": "Used",
|
|
11461
|
+
"magpie.quotaViewRemaining": "Remaining",
|
|
11462
|
+
"magpie.quotaViewFailed": "Could not save the display mode",
|
|
11463
|
+
"magpie.resets": "Resets {time}",
|
|
11464
|
+
"magpie.account": "Account {account}",
|
|
11465
|
+
"magpie.noLimit": "No reported limit",
|
|
11466
|
+
"magpie.quotaAccounts": "{count} accounts",
|
|
11467
|
+
"magpie.quotaShowAllAccounts": "Show all accounts",
|
|
11468
|
+
"magpie.quotaShowMainAccount": "Show main account only",
|
|
11469
|
+
"magpie.quotaCollapseAccounts": "{count} accounts · collapse",
|
|
11470
|
+
"magpie.balance": "Balance",
|
|
11471
|
+
"magpie.quotaRemainingAccounts": "+{count} more",
|
|
11472
|
+
"magpie.sessionCountUnknown": "Session count not reported",
|
|
11473
|
+
"magpie.install.platform": "Host platform: {platform}",
|
|
11474
|
+
"magpie.install.title": "Magpie is not available on this Host",
|
|
11475
|
+
"magpie.install.detected": "Detected Magpie {version} at {command}",
|
|
11476
|
+
"magpie.install.recheck": "Detect again",
|
|
11477
|
+
"magpie.install.checking": "Detecting…",
|
|
11478
|
+
"magpie.install.checkedAt": "Last checked {time}",
|
|
11479
|
+
"magpie.install.reason.launch": "The entry {command} exists but Magpie could not run. Check the installation and try again.",
|
|
11480
|
+
"magpie.install.reason.timeout": "The entry {command} did not answer in time. Check the installation and try again.",
|
|
11481
|
+
"magpie.install.reason.version": "The entry {command} ran but did not report a recognizable Magpie version.",
|
|
11482
|
+
"magpie.install.command": "npm i -g magpie && magpie --version",
|
|
11483
|
+
"magpie.install.installHelp.macos": "Install with npm or pnpm, then reopen DSH. The Host reads the login shell PATH and the Homebrew, /usr/local, ~/.local/bin, and ~/.bun/bin directories, so a version manager install is enough.",
|
|
11484
|
+
"magpie.install.installHelp.windows": "Install with npm or pnpm (a magpie.cmd shim is found), or use the Magpie installer. The Host searches PATH, then the npm, pnpm, Volta, Bun, Scoop, and WinGet directories under your user profile. Reopen DSH after installing so it picks up the new PATH.",
|
|
11485
|
+
"magpie.install.installHelp.linux": "Install with npm or pnpm, then reopen DSH. The Host reads the login shell PATH plus /usr/local/bin and ~/.local/bin.",
|
|
11486
|
+
"magpie.install.customToggle": "Specify the Magpie path",
|
|
11487
|
+
"magpie.install.customLabel": "Absolute path to the Magpie executable",
|
|
11488
|
+
"magpie.install.customPlaceholder": "/opt/homebrew/bin/magpie or C:\\Users\\you\\AppData\\Roaming\\npm\\magpie.cmd",
|
|
11489
|
+
"magpie.install.customHelp": "Only an absolute path to a file is accepted; arguments are not allowed. The path is used for this session only.",
|
|
11490
|
+
"magpie.install.customApply": "Detect this path",
|
|
11491
|
+
"magpie.install.disabledNote": "Magpie management stays off until a working Magpie CLI is detected."
|
|
11492
|
+
};
|
|
11493
|
+
const zh$1 = {
|
|
11494
|
+
"feature.magpieManagement.label": "Magpie 管理与用量",
|
|
11495
|
+
"feature.magpieManagement.description": "启用后,会在全局侧栏的「插件」下方添加独立的 Magpie 管理页面。",
|
|
11496
|
+
"magpie.sidebarLabel": "Magpie",
|
|
11497
|
+
"magpie.usage": "用量",
|
|
11498
|
+
"magpie.routing": "路由",
|
|
11499
|
+
"magpie.statTokens": "Token",
|
|
11500
|
+
"magpie.statCalls": "请求",
|
|
11501
|
+
"magpie.statWriteDown": "输出",
|
|
11502
|
+
"magpie.statSessions": "会话数",
|
|
11503
|
+
"magpie.statReasoning": "推理",
|
|
11504
|
+
"magpie.statReasoningNote": "计入输出",
|
|
11505
|
+
"magpie.statSpeed": "输出速度",
|
|
11506
|
+
"magpie.statLatency": "首字耗时",
|
|
11507
|
+
"magpie.statLatencyNote": "首字平均耗时",
|
|
11508
|
+
"magpie.topSessions": "最耗会话",
|
|
11509
|
+
"magpie.dailyTrend": "每日趋势",
|
|
11510
|
+
"magpie.ncolTime": "时间",
|
|
11511
|
+
"magpie.ncolRequested": "请求模型",
|
|
11512
|
+
"magpie.ncolProvider": "供应商 · 账号",
|
|
11513
|
+
"magpie.ncolServed": "实际模型",
|
|
11514
|
+
"magpie.ncolInput": "输入",
|
|
11515
|
+
"magpie.ncolOutput": "输出",
|
|
11516
|
+
"magpie.ncolCost": "费用",
|
|
11517
|
+
"magpie.ncolFirstText": "首字耗时",
|
|
11518
|
+
"magpie.ncolDuration": "耗时",
|
|
11519
|
+
"magpie.ncolSpeed": "速度",
|
|
11520
|
+
"magpie.ncolStatus": "状态",
|
|
11521
|
+
"magpie.open": "打开 Magpie 面板",
|
|
11522
|
+
"magpie.pageTitle": "Magpie 用量观测台",
|
|
11523
|
+
"magpie.pageSubtitle": "实时查看路由、用量和订阅额度记录。",
|
|
11524
|
+
"magpie.periodLabel": "周期",
|
|
11525
|
+
"magpie.chart.calls": "Magpie 请求趋势",
|
|
11526
|
+
"magpie.chart.tokens": "Magpie Token 趋势",
|
|
11527
|
+
"magpie.chart.cost": "Magpie 报告费用趋势",
|
|
11528
|
+
"magpie.close": "返回当前对话",
|
|
11529
|
+
"magpie.overview": "总览",
|
|
11530
|
+
"magpie.sessions": "会话",
|
|
11531
|
+
"magpie.requests": "请求",
|
|
11532
|
+
"magpie.quotas": "订阅",
|
|
11533
|
+
"magpie.today": "今天",
|
|
11534
|
+
"magpie.week": "近 7 天",
|
|
11535
|
+
"magpie.month": "近 30 天",
|
|
11536
|
+
"magpie.all": "全部",
|
|
11537
|
+
"magpie.refresh": "刷新",
|
|
11538
|
+
"magpie.refreshing": "正在刷新…",
|
|
11539
|
+
"magpie.update.title": "Magpie 更新",
|
|
11540
|
+
"magpie.update.open": "Magpie {version};打开更新详情",
|
|
11541
|
+
"magpie.update.close": "关闭 Magpie 更新详情",
|
|
11542
|
+
"magpie.update.description": "后台会自动观察 Magpie 的更新状态;只有你确认手动更新后,才会下载或重启。",
|
|
11543
|
+
"magpie.update.unavailable": "暂时无法读取 Magpie 更新状态。",
|
|
11544
|
+
"magpie.update.unsupported": "当前 Magpie 版本没有可支持的更新 API。",
|
|
11545
|
+
"magpie.update.invalid": "Magpie 返回了 CodingNS 无法安全读取的更新数据。",
|
|
11546
|
+
"magpie.update.current": "当前 {version}",
|
|
11547
|
+
"magpie.update.latest": "最新 {version}",
|
|
11548
|
+
"magpie.update.releaseNotes": "{version} 的更新说明",
|
|
11549
|
+
"magpie.update.check": "检查更新",
|
|
11550
|
+
"magpie.update.checking": "正在检查更新…",
|
|
11551
|
+
"magpie.update.downloading": "Magpie 正在下载更新…",
|
|
11552
|
+
"magpie.update.manual": "手动更新",
|
|
11553
|
+
"magpie.update.retry": "重试更新",
|
|
11554
|
+
"magpie.update.confirmTitle": "确认更新 Magpie",
|
|
11555
|
+
"magpie.update.confirmWarning": "Magpie 可能下载新的程序文件、重启 Web 进程,并中断正在进行的请求。",
|
|
11556
|
+
"magpie.update.confirm": "确认并更新",
|
|
11557
|
+
"magpie.update.requested": "Magpie 已接受更新请求。",
|
|
11558
|
+
"magpie.update.restartRequested": "Magpie 已接受更新,可能会立即重启;管理页稍后会自动重新连接。",
|
|
11559
|
+
"magpie.update.state.checking": "检查中",
|
|
11560
|
+
"magpie.update.state.latest": "已是最新",
|
|
11561
|
+
"magpie.update.state.found": "发现更新",
|
|
11562
|
+
"magpie.update.state.downloading": "下载中",
|
|
11563
|
+
"magpie.update.state.ready": "已准备重启",
|
|
11564
|
+
"magpie.update.state.available": "可手动更新",
|
|
11565
|
+
"magpie.update.state.source": "源码版本",
|
|
11566
|
+
"magpie.update.state.error": "更新出错",
|
|
11567
|
+
"magpie.update.state.blocked": "更新被阻止",
|
|
11568
|
+
"magpie.loading": "正在读取本机 Magpie Web API…",
|
|
11569
|
+
"magpie.webApiUnavailable": "Host 无法启动或认证 Magpie Web。服务会自动启动;请确认 Magpie CLI 可用后重试。",
|
|
11570
|
+
"magpie.unavailable": "此 Host 上的 Magpie 数据不可用。",
|
|
11571
|
+
"magpie.cliUnavailable": "Host 无法找到或运行 Magpie CLI。请在 DSH Host 环境中确认 `magpie --version` 可用。",
|
|
11572
|
+
"magpie.cliVersionUnsupported": "此 Magpie CLI 版本暂不支持;用量面板要求 Magpie 0.1.1295 或更高版本。",
|
|
11573
|
+
"magpie.catalogUnavailable": "Host 无法读取 `magpie models dsh`,或未能从中找到 Gateway 地址。",
|
|
11574
|
+
"magpie.hostRpcOutdated": "此 Host 缺少 Magpie 用量或管理 RPC。请在 Host 更新/重载 CodingNS 后使用管理面板。",
|
|
11575
|
+
"magpie.featureDisabled": "Host 设置中的 Magpie 管理功能未启用。请在 CodingNS 设置中启用后重试。",
|
|
11576
|
+
"magpie.hostRequestFailed": "Host 请求失败。请检查 Host 连接后重试。",
|
|
11577
|
+
"magpie.usageUnavailable": "无法读取用量数据;其他区块仍可能可用。",
|
|
11578
|
+
"magpie.quotaUnavailable": "无法读取订阅数据。",
|
|
11579
|
+
"magpie.historyUnavailable": "无法读取额度历史。",
|
|
11580
|
+
"magpie.noUsage": "此周期没有用量记录。",
|
|
11581
|
+
"magpie.noSessions": "此周期没有会话记录。",
|
|
11582
|
+
"magpie.noRequests": "当前选择没有可显示的请求记录。",
|
|
11583
|
+
"magpie.noQuotas": "没有可用的订阅额度卡片。",
|
|
11584
|
+
"magpie.noHistory": "没有可用的额度历史。",
|
|
11585
|
+
"magpie.costNote": "费用由 Magpie 提供;API 未声明币种。",
|
|
11586
|
+
"magpie.metricCalls": "请求数",
|
|
11587
|
+
"magpie.metricErrors": "错误数",
|
|
11588
|
+
"magpie.metricRetries": "重试数",
|
|
11589
|
+
"magpie.metricInput": "输入 Token",
|
|
11590
|
+
"magpie.metricOutput": "输出 Token",
|
|
11591
|
+
"magpie.metricCacheRead": "缓存读取",
|
|
11592
|
+
"magpie.metricCacheWrite": "缓存写入",
|
|
11593
|
+
"magpie.metricReasoning": "推理 Token",
|
|
11594
|
+
"magpie.metricCost": "报告费用",
|
|
11595
|
+
"magpie.metricUnpriced": "未计价请求",
|
|
11596
|
+
"magpie.metricLatency": "已测时请求",
|
|
11597
|
+
"magpie.metricTtft": "报告 TTFT(毫秒)",
|
|
11598
|
+
"magpie.metricDecode": "报告解码时间",
|
|
11599
|
+
"magpie.metricDecodeTokens": "解码 Token",
|
|
11600
|
+
"magpie.metricDecodeCount": "次解码",
|
|
11601
|
+
"magpie.timeline": "用量趋势",
|
|
11602
|
+
"magpie.tokens": "输入 + 输出 Token",
|
|
11603
|
+
"magpie.byProvider": "按提供商",
|
|
11604
|
+
"magpie.byModel": "按模型",
|
|
11605
|
+
"magpie.byAccount": "按账户",
|
|
11606
|
+
"magpie.modelBreakdown": "模型明细方式",
|
|
11607
|
+
"magpie.modelAggregate": "汇总",
|
|
11608
|
+
"magpie.modelPerAccount": "按账户",
|
|
11609
|
+
"magpie.byAgent": "按 Agent",
|
|
11610
|
+
"magpie.management.providers": "提供商",
|
|
11611
|
+
"magpie.management.groupsTab": "路由组",
|
|
11612
|
+
"magpie.management.classifierEmpty": "请选择模型",
|
|
11613
|
+
"magpie.management.classifierHint": "每轮开始时询问一次;不带推理的小型快速模型最合适。",
|
|
11614
|
+
"magpie.management.contextCustom": "自定义",
|
|
11615
|
+
"magpie.management.contextHint": "告知 Agent 此路由组的上下文窗口,让它在成员拒绝之前先行压缩。",
|
|
11616
|
+
"magpie.management.contextInvalid": "请填写 token 数量,例如 200k 或 1m。",
|
|
11617
|
+
"magpie.management.contextLargest": "最大成员",
|
|
11618
|
+
"magpie.management.contextSmallest": "最小成员",
|
|
11619
|
+
"magpie.management.contextTokens": "{count} tokens",
|
|
11620
|
+
"magpie.management.effortAgent": "按 Agent 请求",
|
|
11621
|
+
"magpie.management.effortAgentHint": "每个请求按 Agent 请求的推理强度处理。",
|
|
11622
|
+
"magpie.management.effortAuto": "按轮挑选",
|
|
11623
|
+
"magpie.management.effortAutoHint": "分类器判断每轮的难度,并让该轮按最近的档位请求;原本不带推理的请求仍然不带。",
|
|
11624
|
+
"magpie.management.effortNeedsClassifier": "按轮挑选需要一个评判该轮的模型,此处没有可用模型。",
|
|
11625
|
+
"magpie.management.levelsNamed": "在此指定",
|
|
11626
|
+
"magpie.management.levelsNamedHint": "向 Agent 提供这些档位;没有该档位的成员会按最近的档位下发。",
|
|
11627
|
+
"magpie.management.levelsShared": "沿用各模型共有",
|
|
11628
|
+
"magpie.management.levelsSharedHint": "向 Agent 提供所有成员都具备的推理档位。",
|
|
11629
|
+
"magpie.management.reviewContext": "上下文窗口:{value}",
|
|
11630
|
+
"magpie.management.reviewEffort": "推理强度:{value}",
|
|
11631
|
+
"magpie.management.reviewEffortAuto": "由 {model} 按轮挑选",
|
|
11632
|
+
"magpie.management.reviewLevels": "推理档位:{value}",
|
|
11633
|
+
"magpie.management.accounts": "账户",
|
|
11634
|
+
"magpie.management.groups": "路由组",
|
|
11635
|
+
"magpie.management.loading": "正在读取 Magpie 提供商、账户和路由组设置…",
|
|
11636
|
+
"magpie.management.cliVersionUnsupported": "Magpie Web 返回的提供商或路由组数据无法由此 Host 读取。请更新 Magpie Web 或 CodingNS 后重试。",
|
|
11637
|
+
"magpie.management.providersUnavailable": "无法按受支持的格式读取 Magpie 提供商设置。",
|
|
11638
|
+
"magpie.management.accountsUnavailable": "无法读取 Magpie 账户状态。",
|
|
11639
|
+
"magpie.management.groupsUnavailable": "无法按受支持的格式读取 Magpie 路由组。",
|
|
11640
|
+
"magpie.management.noProviders": "未找到 Magpie 提供商。",
|
|
11641
|
+
"magpie.management.noAccounts": "Magpie 未报告订阅账户。",
|
|
11642
|
+
"magpie.management.noGroups": "未找到路由组。",
|
|
11643
|
+
"magpie.management.accountApiRequired": "Host 管理的 Magpie Web 当前不可用;请在 Host 重新连接后重试。",
|
|
11644
|
+
"magpie.management.accountRoleNote": "主账户是 Agent 当前登录的账户;次级账户可加入或移出故障转移轮换。",
|
|
11645
|
+
"magpie.management.unlinkedAccounts": "未匹配到提供商的账户",
|
|
11646
|
+
"magpie.management.unlinkedAccountsNote": "这些账户仍会显示;但 Magpie 没有为任何已列出的提供商返回匹配的账户 Agent 标识。",
|
|
11647
|
+
"magpie.management.noLinkedAccounts": "此提供商没有关联的订阅账户。",
|
|
11648
|
+
"magpie.management.primaryAccount": "主账户 · 当前登录",
|
|
11649
|
+
"magpie.management.secondaryAccount": "次级账户",
|
|
11650
|
+
"magpie.management.inRotation": "参与路由轮换",
|
|
11651
|
+
"magpie.management.primaryPaused": "主账户已暂停",
|
|
11652
|
+
"magpie.management.outOfRotation": "未参与轮换",
|
|
11653
|
+
"magpie.management.addToRotation": "加入故障转移轮换",
|
|
11654
|
+
"magpie.management.removeFromRotation": "移出故障转移轮换",
|
|
11655
|
+
"magpie.management.pausePrimary": "暂停主账户",
|
|
11656
|
+
"magpie.management.lastAccountInRotation": "Magpie 要求至少保留一个参与轮换的账户。",
|
|
11657
|
+
"magpie.management.reviewAccount": "确认账户路由变更",
|
|
11658
|
+
"magpie.management.reviewAccountOn": "将 {account} 加入此提供商的故障转移轮换。",
|
|
11659
|
+
"magpie.management.reviewAccountOff": "将 {account} 移出此提供商的轮换。Magpie 可能会让正在使用它的 Agent 改用其他提供商/模型。",
|
|
11660
|
+
"magpie.management.accountSaveFailed": "Magpie 未确认此账户变更。请刷新并检查当前路由状态。",
|
|
11661
|
+
"magpie.management.turnProviderOn": "启用提供商",
|
|
11662
|
+
"magpie.management.turnProviderOff": "停用提供商",
|
|
11663
|
+
"magpie.management.reviewProviderStatus": "路由状态:{value}",
|
|
11664
|
+
"magpie.management.providerAccount": "账户:{account}",
|
|
11665
|
+
"magpie.management.modelCountUnknown": "未报告模型数量",
|
|
11666
|
+
"magpie.management.modelCounts": "已公开 {exposed} / 可用 {total} 个模型",
|
|
11667
|
+
"magpie.management.providerName": "提供商名称",
|
|
11668
|
+
"magpie.management.endpointType": "端点类型",
|
|
11669
|
+
"magpie.management.endpointUrl": "端点 URL",
|
|
11670
|
+
"magpie.management.exposedModels": "已公开模型",
|
|
11671
|
+
"magpie.management.providerModelsHint": "Magpie 已返回完整模型清单。勾选模型即可将其公开到路由中;原始顺序会保留。",
|
|
11672
|
+
"magpie.management.providerModelsUnavailable": "Magpie 返回了此 Host 无法安全编辑的模型条目;模型列表已设为只读,其他受支持的提供商字段仍可编辑。",
|
|
11673
|
+
"magpie.management.noProviderModels": "Magpie 没有为此提供商返回模型条目。",
|
|
11674
|
+
"magpie.management.enableAllModels": "全部启用",
|
|
11675
|
+
"magpie.management.disableAllModels": "全部停用",
|
|
11676
|
+
"magpie.management.groupName": "路由组名称",
|
|
11677
|
+
"magpie.management.groupModels": "有序模型与匹配模式",
|
|
11678
|
+
"magpie.management.groupModelsHint": "按优先级排列已选模型和匹配模式。使用“添加模型”即可加入其他 Magpie 模型,不再展开完整清单。",
|
|
11679
|
+
"magpie.management.addGroupModel": "添加模型",
|
|
11680
|
+
"magpie.management.searchGroupModels": "筛选模型…",
|
|
11681
|
+
"magpie.management.noMatchingGroupModels": "没有匹配的模型。",
|
|
11682
|
+
"magpie.management.otherGroupModels": "其他模型",
|
|
11683
|
+
"magpie.management.noSelectedGroupModels": "此路由组尚未选择模型或匹配模式。",
|
|
11684
|
+
"magpie.management.moveModelUp": "将 {model} 上移",
|
|
11685
|
+
"magpie.management.moveModelDown": "将 {model} 下移",
|
|
11686
|
+
"magpie.management.routing": "调用策略",
|
|
11687
|
+
"magpie.management.routing.smart": "智能",
|
|
11688
|
+
"magpie.management.routing.order": "按顺序",
|
|
11689
|
+
"magpie.management.routing.rotate": "轮流",
|
|
11690
|
+
"magpie.management.routing.usage": "最少使用",
|
|
11691
|
+
"magpie.management.routing.pace": "重置前用完",
|
|
11692
|
+
"magpie.management.routing.weight": "按权重",
|
|
11693
|
+
"magpie.management.routing.manual": "手动",
|
|
11694
|
+
"magpie.management.routing.free": "免费优先",
|
|
11695
|
+
"magpie.management.stays": "账户粘性",
|
|
11696
|
+
"magpie.management.stays.auto": "自动",
|
|
11697
|
+
"magpie.management.stays.session": "整个会话",
|
|
11698
|
+
"magpie.management.stays.turn": "一轮之内",
|
|
11699
|
+
"magpie.management.stays.off": "关闭",
|
|
11700
|
+
"magpie.management.stays.strict": "严格",
|
|
11701
|
+
"magpie.management.routingHint": "此路由组如何把请求发往组内模型。",
|
|
11702
|
+
"magpie.management.staysHint": "会话在多长时间内固定在应答它的成员上。",
|
|
11703
|
+
"magpie.management.manualPick": "固定发送的模型",
|
|
11704
|
+
"magpie.management.manualPickHint": "「手动」会把每个请求都发给此成员,其余成员在另行选择前不参与。",
|
|
11705
|
+
"magpie.management.unlists": "Agent 只看到路由组",
|
|
11706
|
+
"magpie.management.unlistsHint": "开启后,Agent 的模型列表只显示路由组,不显示它包含的模型;直接点名这些模型的请求仍会应答。",
|
|
11707
|
+
"magpie.management.fastMode": "快速模式",
|
|
11708
|
+
"magpie.management.fastModeHint": "会向 {model} 请求其厂商的快速模式(OpenAI service_tier \"priority\"):更快,但价格更高。",
|
|
11709
|
+
"magpie.management.noFastModels": "Agent 列表中的模型按原样列出;此路由组的推理档位与快速模式都不作用于它们。",
|
|
11710
|
+
"magpie.management.context": "上下文上限",
|
|
11711
|
+
"magpie.management.levels": "推理等级",
|
|
11712
|
+
"magpie.management.family": "模型族标签",
|
|
11713
|
+
"magpie.management.effort": "推理策略",
|
|
11714
|
+
"magpie.management.classifier": "分类器模型",
|
|
11715
|
+
"magpie.management.pick": "手动选择的模型",
|
|
11716
|
+
"magpie.management.listed": "向 Agent 单独公开组内模型",
|
|
11717
|
+
"magpie.management.active": "活跃",
|
|
11718
|
+
"magpie.management.inactive": "未活跃",
|
|
11719
|
+
"magpie.management.enabled": "路由开启",
|
|
11720
|
+
"magpie.management.disabled": "路由关闭",
|
|
11721
|
+
"magpie.management.on": "开启",
|
|
11722
|
+
"magpie.management.off": "关闭",
|
|
11723
|
+
"magpie.management.unknown": "未知",
|
|
11724
|
+
"magpie.management.noAccountWindows": "未报告额度窗口。",
|
|
11725
|
+
"magpie.management.readAt": "读取于 {time}",
|
|
11726
|
+
"magpie.management.membersCount": "{count} 个成员",
|
|
11727
|
+
"magpie.management.usedBy": "使用方:{agents}",
|
|
11728
|
+
"magpie.management.reviewProvider": "确认提供商变更",
|
|
11729
|
+
"magpie.management.reviewGroup": "确认路由组变更",
|
|
11730
|
+
"magpie.management.reviewName": "名称:{value}",
|
|
11731
|
+
"magpie.management.reviewEndpoint": "{field} 端点:{value}",
|
|
11732
|
+
"magpie.management.reviewModels": "模型列表:{count} 项",
|
|
11733
|
+
"magpie.management.reviewRouting": "路由:{value}",
|
|
11734
|
+
"magpie.management.reviewStays": "粘性:{value}",
|
|
11735
|
+
"magpie.management.manualPickEmpty": "请选择模型",
|
|
11736
|
+
"magpie.management.reviewPick": "手动固定:{value}",
|
|
11737
|
+
"magpie.management.reviewUnlists": "只显示路由组:{value}",
|
|
11738
|
+
"magpie.management.reviewFast": "快速模式:{count} 个模型",
|
|
11739
|
+
"magpie.management.reviewListed": "公开:{value}",
|
|
11740
|
+
"magpie.management.reviewChanges": "检查变更",
|
|
11741
|
+
"magpie.management.cancel": "取消",
|
|
11742
|
+
"magpie.management.apply": "应用变更",
|
|
11743
|
+
"magpie.management.saving": "保存中…",
|
|
11744
|
+
"magpie.management.saved": "已保存,并已通过 Magpie 回读验证。",
|
|
11745
|
+
"magpie.management.saveFailed": "Magpie 未确认此变更。请刷新并检查当前值。",
|
|
11746
|
+
"magpie.management.reset": "重置",
|
|
11747
|
+
"magpie.sessionsCount": "{count} 个会话",
|
|
11748
|
+
"magpie.sessionSearch": "按 Agent 或 ID 筛选会话",
|
|
11749
|
+
"magpie.openRequests": "查看请求",
|
|
11750
|
+
"magpie.clearSession": "清除会话筛选",
|
|
11751
|
+
"magpie.requestFor": "{agent} 的请求 · {id}",
|
|
11752
|
+
"magpie.colTime": "时间",
|
|
11753
|
+
"magpie.colProvider": "提供商 / 账户",
|
|
11754
|
+
"magpie.colRoute": "请求 → 实际服务",
|
|
11755
|
+
"magpie.colTokens": "Token",
|
|
11756
|
+
"magpie.colCost": "费用",
|
|
11757
|
+
"magpie.colStatus": "状态 / 耗时",
|
|
11758
|
+
"magpie.routeId": "路由 #{id}",
|
|
11759
|
+
"magpie.priced": "已计价",
|
|
11760
|
+
"magpie.unpricedStatus": "未计价",
|
|
11761
|
+
"magpie.previous": "上一页",
|
|
11762
|
+
"magpie.next": "下一页",
|
|
11763
|
+
"magpie.pageOf": "第 {page} 页",
|
|
11764
|
+
"magpie.quotaHistory": "额度历史",
|
|
11765
|
+
"magpie.quotaHistoryNote": "Magpie 记录的剩余额度;单位以各提供商报告为准。",
|
|
11766
|
+
"magpie.dailyUsage": "每日用量",
|
|
11767
|
+
"magpie.remaining": "剩余 {percent}%",
|
|
11768
|
+
"magpie.used": "已用 {percent}%",
|
|
11769
|
+
"magpie.quotaViewLabel": "订阅卡显示口径",
|
|
11770
|
+
"magpie.quotaViewUsed": "已用",
|
|
11771
|
+
"magpie.quotaViewRemaining": "剩余",
|
|
11772
|
+
"magpie.quotaViewFailed": "显示口径保存失败",
|
|
11773
|
+
"magpie.resets": "重置时间 {time}",
|
|
11774
|
+
"magpie.account": "账户 {account}",
|
|
11775
|
+
"magpie.noLimit": "未报告额度上限",
|
|
11776
|
+
"magpie.quotaAccounts": "{count} 个账号",
|
|
11777
|
+
"magpie.quotaShowAllAccounts": "展开全部账号",
|
|
11778
|
+
"magpie.quotaShowMainAccount": "只显示主账号",
|
|
11779
|
+
"magpie.quotaCollapseAccounts": "{count} 个账号 · 收起其余账号",
|
|
11780
|
+
"magpie.balance": "余额",
|
|
11781
|
+
"magpie.quotaRemainingAccounts": "另 {count} 个",
|
|
11782
|
+
"magpie.sessionCountUnknown": "未报告会话总数",
|
|
11783
|
+
"magpie.install.platform": "Host 平台:{platform}",
|
|
11784
|
+
"magpie.install.title": "本机未找到可用的 Magpie",
|
|
11785
|
+
"magpie.install.detected": "已检测到 Magpie {version}:{command}",
|
|
11786
|
+
"magpie.install.recheck": "重新检测",
|
|
11787
|
+
"magpie.install.checking": "检测中…",
|
|
11788
|
+
"magpie.install.checkedAt": "上次检测:{time}",
|
|
11789
|
+
"magpie.install.reason.launch": "入口 {command} 存在,但 Magpie 无法运行;请检查安装后重试。",
|
|
11790
|
+
"magpie.install.reason.timeout": "入口 {command} 未在限定时间内响应;请检查安装后重试。",
|
|
11791
|
+
"magpie.install.reason.version": "入口 {command} 已运行,但没有输出可识别的 Magpie 版本。",
|
|
11792
|
+
"magpie.install.command": "npm i -g magpie && magpie --version",
|
|
11793
|
+
"magpie.install.installHelp.macos": "使用 npm 或 pnpm 安装后重新打开 DSH。Host 会读取登录 Shell 的 PATH,以及 Homebrew、/usr/local、~/.local/bin、~/.bun/bin 目录,因此通过版本管理器安装也能识别。",
|
|
11794
|
+
"magpie.install.installHelp.windows": "使用 npm 或 pnpm 安装(可识别 magpie.cmd),或使用 Magpie 安装包。Host 先查 PATH,再查用户目录下的 npm、pnpm、Volta、Bun、Scoop 和 WinGet 目录。安装后请重新打开 DSH,以读取新的 PATH。",
|
|
11795
|
+
"magpie.install.installHelp.linux": "使用 npm 或 pnpm 安装后重新打开 DSH。Host 会读取登录 Shell 的 PATH、/usr/local/bin 和 ~/.local/bin。",
|
|
11796
|
+
"magpie.install.customToggle": "手动指定 Magpie 路径",
|
|
11797
|
+
"magpie.install.customLabel": "Magpie 可执行文件的绝对路径",
|
|
11798
|
+
"magpie.install.customPlaceholder": "/opt/homebrew/bin/magpie 或 C:\\Users\\你\\AppData\\Roaming\\npm\\magpie.cmd",
|
|
11799
|
+
"magpie.install.customHelp": "只接受文件绝对路径,不允许附加参数;该路径只在本次会话生效。",
|
|
11800
|
+
"magpie.install.customApply": "检测此路径",
|
|
11801
|
+
"magpie.install.disabledNote": "检测到可用的 Magpie CLI 前,Magpie 管理保持关闭。"
|
|
11802
|
+
};
|
|
11803
|
+
//#endregion
|
|
10470
11804
|
//#region src/client/locale.ts
|
|
10471
11805
|
/** Codingns4DSH 自有词典命名空间。词典缺少的语言由 DSH 自动回退到英文。 */
|
|
10472
11806
|
const CODINGNS_LOCALE_NS = "codingns";
|
|
@@ -10482,6 +11816,8 @@
|
|
|
10482
11816
|
"settings.moduleEnabled": "{label} enabled.",
|
|
10483
11817
|
"settings.moduleDisabled": "{label} disabled.",
|
|
10484
11818
|
"settings.moduleWriteRejected": "The setting change was rejected; please retry.",
|
|
11819
|
+
"settings.requirement.magpieInstall": "Magpie is not installed or not usable on this Host. Install Magpie and detect again before enabling this module.",
|
|
11820
|
+
"settings.requirement.checking": "Checking whether Magpie is available on this Host…",
|
|
10485
11821
|
"settings.promo.sectionLabel": "Codingns4DSH promotion",
|
|
10486
11822
|
"settings.promo.version": "Version {version}",
|
|
10487
11823
|
"settings.promo.starHint": "If Codingns4DSH helps you, please give us a Star on GitHub — it means a lot to us.",
|
|
@@ -10588,7 +11924,7 @@
|
|
|
10588
11924
|
"feature.fileManagement.label": "File management enhancements",
|
|
10589
11925
|
"feature.fileManagement.description": "Add file and folder operation menus to the DSH file sidebar and edit common text files in place.",
|
|
10590
11926
|
"fileManagement.menuEnhancement": "File and folder operation menu",
|
|
10591
|
-
"fileManagement.menuEnhancementDescription": "Show the right-click operation menu for files and folders in the DSH sidebar.",
|
|
11927
|
+
"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.",
|
|
10592
11928
|
"fileManagement.fileEditor": "File viewer editor",
|
|
10593
11929
|
"fileManagement.fileEditorDescription": "Show the icon button for editing supported text files with syntax highlighting and line numbers.",
|
|
10594
11930
|
"fileManagement.sessionChangedFiles": "Show current session changed files",
|
|
@@ -10835,6 +12171,9 @@
|
|
|
10835
12171
|
"cli.loadingModel": "Loading models…",
|
|
10836
12172
|
"cli.noModelsAvailable": "No models available",
|
|
10837
12173
|
"cli.model": "Model",
|
|
12174
|
+
"cli.modelSearch": "Search models…",
|
|
12175
|
+
"cli.modelSearchClear": "Clear search",
|
|
12176
|
+
"cli.modelSearchEmpty": "No matching models.",
|
|
10838
12177
|
"cli.thinking": "Thinking level",
|
|
10839
12178
|
"cli.back": "‹ Back",
|
|
10840
12179
|
"cli.chooseModel": "Choose model, current {model}, thinking level {effort}",
|
|
@@ -10866,6 +12205,8 @@
|
|
|
10866
12205
|
"cli.currentAgent": "Current Agent: {name}{locked}",
|
|
10867
12206
|
"cli.locked": " (locked)",
|
|
10868
12207
|
"cli.selectAgent": "Select Agent",
|
|
12208
|
+
"cli.catalogLoadFailed": "Could not load external Agents.",
|
|
12209
|
+
"cli.retryCatalog": "Retry loading Agents",
|
|
10869
12210
|
"workspace.showLogo": "Show Agent logo",
|
|
10870
12211
|
"workspace.logoDescription": "Display the selected external Agent logo in native workspace session rows.",
|
|
10871
12212
|
"workspace.optimizeSessionTitles": "Optimize DSH session title generation",
|
|
@@ -10892,6 +12233,8 @@
|
|
|
10892
12233
|
"workspace.rememberConversationRightbarRatio": "Remember conversation and right sidebar width ratio",
|
|
10893
12234
|
"workspace.rememberConversationRightbarRatioDescription": "Restore the right sidebar proportion after refreshing this browser; the ratio is stored locally.",
|
|
10894
12235
|
"mobile.sidebarGestures": "Swipe to open or close sidebars",
|
|
12236
|
+
"mobile.team.title": "Agent Team",
|
|
12237
|
+
"mobile.team.close": "Close Agent Team",
|
|
10895
12238
|
"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.",
|
|
10896
12239
|
"mobile.sidebarGestureMapping": "Swipe direction",
|
|
10897
12240
|
"mobile.sidebarGestureMappingInward": "Swipe right: session list; swipe left: right sidebar",
|
|
@@ -10931,6 +12274,8 @@
|
|
|
10931
12274
|
"settings.moduleEnabled": "已启用{label}",
|
|
10932
12275
|
"settings.moduleDisabled": "已禁用{label}",
|
|
10933
12276
|
"settings.moduleWriteRejected": "设置未被接受,请重试。",
|
|
12277
|
+
"settings.requirement.magpieInstall": "本机未安装 Magpie 或 Magpie 不可用;请先安装并重新检测,再启用此模块。",
|
|
12278
|
+
"settings.requirement.checking": "正在检测本机是否可用的 Magpie…",
|
|
10934
12279
|
"settings.promo.sectionLabel": "Codingns4DSH 推广",
|
|
10935
12280
|
"settings.promo.version": "版本 v{version}",
|
|
10936
12281
|
"settings.promo.starHint": "如果 Codingns4DSH 帮到了你,请在 GitHub 点个 Star,这对我们意义重大。",
|
|
@@ -11037,7 +12382,7 @@
|
|
|
11037
12382
|
"feature.fileManagement.label": "文件管理增强",
|
|
11038
12383
|
"feature.fileManagement.description": "增强文件侧栏操作",
|
|
11039
12384
|
"fileManagement.menuEnhancement": "文件管理菜单增强",
|
|
11040
|
-
"fileManagement.menuEnhancementDescription": "在 DSH
|
|
12385
|
+
"fileManagement.menuEnhancementDescription": "在 DSH 文件侧栏为文件和目录显示右键操作菜单,并在文件查看器中复制相对路径或绝对路径。",
|
|
11041
12386
|
"fileManagement.fileEditor": "文件查看器编辑功能",
|
|
11042
12387
|
"fileManagement.fileEditorDescription": "为支持的文本文件显示编辑图标按钮,并保留语法高亮和行号。",
|
|
11043
12388
|
"fileManagement.sessionChangedFiles": "显示当前会话修改的文件",
|
|
@@ -11284,6 +12629,9 @@
|
|
|
11284
12629
|
"cli.loadingModel": "加载模型…",
|
|
11285
12630
|
"cli.noModelsAvailable": "无可用模型",
|
|
11286
12631
|
"cli.model": "模型",
|
|
12632
|
+
"cli.modelSearch": "搜索模型…",
|
|
12633
|
+
"cli.modelSearchClear": "清除搜索",
|
|
12634
|
+
"cli.modelSearchEmpty": "没有匹配的模型。",
|
|
11287
12635
|
"cli.thinking": "思考等级",
|
|
11288
12636
|
"cli.back": "‹ 返回",
|
|
11289
12637
|
"cli.chooseModel": "选择模型,当前 {model},思考等级 {effort}",
|
|
@@ -11315,6 +12663,8 @@
|
|
|
11315
12663
|
"cli.currentAgent": "当前 Agent:{name}{locked}",
|
|
11316
12664
|
"cli.locked": "(已锁定)",
|
|
11317
12665
|
"cli.selectAgent": "选择 Agent",
|
|
12666
|
+
"cli.catalogLoadFailed": "无法加载外部 Agent。",
|
|
12667
|
+
"cli.retryCatalog": "重新加载 Agent",
|
|
11318
12668
|
"workspace.showLogo": "显示 Agent Logo",
|
|
11319
12669
|
"workspace.logoDescription": "在原生工作区会话行显示所选外部 Agent 的 Logo。",
|
|
11320
12670
|
"workspace.optimizeSessionTitles": "优化DSH会话标题生成逻辑",
|
|
@@ -11341,6 +12691,8 @@
|
|
|
11341
12691
|
"workspace.rememberConversationRightbarRatio": "记忆对话窗口与右侧栏的宽度比例",
|
|
11342
12692
|
"workspace.rememberConversationRightbarRatioDescription": "刷新后恢复右侧栏比例;比例仅保存在当前浏览器中。",
|
|
11343
12693
|
"mobile.sidebarGestures": "横滑开合侧栏",
|
|
12694
|
+
"mobile.team.title": "智能体团队",
|
|
12695
|
+
"mobile.team.close": "关闭智能体团队",
|
|
11344
12696
|
"mobile.sidebarGesturesDescription": "触摸设备上在对话区横滑即可开合侧栏;跨过设定的视口宽度比例即触发,快速轻甩同样有效。",
|
|
11345
12697
|
"mobile.sidebarGestureMapping": "方向映射",
|
|
11346
12698
|
"mobile.sidebarGestureMappingInward": "右滑开合会话列表,左滑开合右边栏",
|
|
@@ -11370,36 +12722,42 @@
|
|
|
11370
12722
|
};
|
|
11371
12723
|
({
|
|
11372
12724
|
...CORE_EN,
|
|
11373
|
-
...en$
|
|
12725
|
+
...en$15,
|
|
12726
|
+
...en$16,
|
|
11374
12727
|
...en$13,
|
|
12728
|
+
...en$17,
|
|
12729
|
+
...en$11,
|
|
11375
12730
|
...en$10,
|
|
11376
|
-
...en$14,
|
|
11377
12731
|
...en$8,
|
|
11378
12732
|
...en$7,
|
|
12733
|
+
...en$6,
|
|
11379
12734
|
...en$5,
|
|
12735
|
+
...en$14,
|
|
12736
|
+
...en$9,
|
|
12737
|
+
...en$12,
|
|
11380
12738
|
...en$4,
|
|
11381
12739
|
...en$3,
|
|
11382
12740
|
...en$2,
|
|
11383
|
-
...en$11,
|
|
11384
|
-
...en$6,
|
|
11385
|
-
...en$9,
|
|
11386
12741
|
...en$1
|
|
11387
12742
|
});
|
|
11388
12743
|
const zh = {
|
|
11389
12744
|
...CORE_ZH,
|
|
11390
|
-
...zh$
|
|
12745
|
+
...zh$15,
|
|
12746
|
+
...zh$16,
|
|
11391
12747
|
...zh$13,
|
|
12748
|
+
...zh$17,
|
|
12749
|
+
...zh$11,
|
|
11392
12750
|
...zh$10,
|
|
11393
|
-
...zh$14,
|
|
11394
12751
|
...zh$8,
|
|
11395
12752
|
...zh$7,
|
|
12753
|
+
...zh$6,
|
|
11396
12754
|
...zh$5,
|
|
12755
|
+
...zh$14,
|
|
12756
|
+
...zh$9,
|
|
12757
|
+
...zh$12,
|
|
11397
12758
|
...zh$4,
|
|
11398
12759
|
...zh$3,
|
|
11399
12760
|
...zh$2,
|
|
11400
|
-
...zh$11,
|
|
11401
|
-
...zh$6,
|
|
11402
|
-
...zh$9,
|
|
11403
12761
|
...zh$1
|
|
11404
12762
|
};
|
|
11405
12763
|
/** 非 React 注册回调使用的翻译函数。 */
|
|
@@ -11556,84 +12914,77 @@
|
|
|
11556
12914
|
return n;
|
|
11557
12915
|
}
|
|
11558
12916
|
//#endregion
|
|
11559
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12917
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css
|
|
11560
12918
|
var TextShimmer_module_default = {
|
|
11561
|
-
"content": "
|
|
11562
|
-
"decoration": "
|
|
11563
|
-
"dsh-row-shimmer-highlight": "
|
|
11564
|
-
"dsh-row-shimmer-sweep": "
|
|
11565
|
-
"highlight": "
|
|
11566
|
-
"root": "
|
|
11567
|
-
"sweep": "
|
|
11568
|
-
"text": "
|
|
12919
|
+
"content": "_6Crova_content",
|
|
12920
|
+
"decoration": "_6Crova_decoration",
|
|
12921
|
+
"dsh-row-shimmer-highlight": "_6Crova_dsh-row-shimmer-highlight",
|
|
12922
|
+
"dsh-row-shimmer-sweep": "_6Crova_dsh-row-shimmer-sweep",
|
|
12923
|
+
"highlight": "_6Crova_highlight",
|
|
12924
|
+
"root": "_6Crova_root",
|
|
12925
|
+
"sweep": "_6Crova_sweep",
|
|
12926
|
+
"text": "_6Crova_text"
|
|
11569
12927
|
};
|
|
11570
12928
|
//#endregion
|
|
11571
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12929
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css
|
|
11572
12930
|
var DisclosureRow_module_default = {
|
|
11573
|
-
"chevronHover": "
|
|
11574
|
-
"header": "
|
|
11575
|
-
"iconIdle": "
|
|
11576
|
-
"leading": "
|
|
11577
|
-
"root": "
|
|
11578
|
-
"row": "
|
|
11579
|
-
"title": "
|
|
12931
|
+
"chevronHover": "hu2FtW_chevronHover",
|
|
12932
|
+
"header": "hu2FtW_header",
|
|
12933
|
+
"iconIdle": "hu2FtW_iconIdle",
|
|
12934
|
+
"leading": "hu2FtW_leading",
|
|
12935
|
+
"root": "hu2FtW_root",
|
|
12936
|
+
"row": "hu2FtW_row",
|
|
12937
|
+
"title": "hu2FtW_title"
|
|
11580
12938
|
};
|
|
11581
12939
|
//#endregion
|
|
11582
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12940
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css
|
|
11583
12941
|
var Button_module_default = {
|
|
11584
|
-
"button": "
|
|
11585
|
-
"ghost": "
|
|
11586
|
-
"icon": "
|
|
11587
|
-
"md": "
|
|
11588
|
-
"outline": "
|
|
11589
|
-
"primary": "
|
|
11590
|
-
"sm": "
|
|
11591
|
-
"toolbar": "
|
|
12942
|
+
"button": "DVTTua_button",
|
|
12943
|
+
"ghost": "DVTTua_ghost",
|
|
12944
|
+
"icon": "DVTTua_icon",
|
|
12945
|
+
"md": "DVTTua_md",
|
|
12946
|
+
"outline": "DVTTua_outline",
|
|
12947
|
+
"primary": "DVTTua_primary",
|
|
12948
|
+
"sm": "DVTTua_sm",
|
|
12949
|
+
"toolbar": "DVTTua_toolbar"
|
|
11592
12950
|
};
|
|
11593
12951
|
//#endregion
|
|
11594
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12952
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css
|
|
11595
12953
|
var Input_module_default = {
|
|
11596
|
-
"icon": "
|
|
11597
|
-
"input": "
|
|
11598
|
-
"wrap": "
|
|
12954
|
+
"icon": "h_rfNG_icon",
|
|
12955
|
+
"input": "h_rfNG_input",
|
|
12956
|
+
"wrap": "h_rfNG_wrap"
|
|
11599
12957
|
};
|
|
11600
12958
|
//#endregion
|
|
11601
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12959
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css
|
|
11602
12960
|
var import_react_dom = require_react_dom();
|
|
11603
12961
|
var ShortcutKeys_module_default = {
|
|
11604
|
-
"joined": "
|
|
11605
|
-
"key": "
|
|
11606
|
-
"keys": "
|
|
11607
|
-
"separator": "
|
|
11608
|
-
"tooltip": "
|
|
12962
|
+
"joined": "viNX6q_joined",
|
|
12963
|
+
"key": "viNX6q_key",
|
|
12964
|
+
"keys": "viNX6q_keys",
|
|
12965
|
+
"separator": "viNX6q_separator",
|
|
12966
|
+
"tooltip": "viNX6q_tooltip"
|
|
11609
12967
|
};
|
|
11610
12968
|
//#endregion
|
|
11611
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12969
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css
|
|
11612
12970
|
var MenuSurface_module_default = {
|
|
11613
|
-
"backing": "
|
|
11614
|
-
"compact": "
|
|
11615
|
-
"material": "
|
|
11616
|
-
"surface": "
|
|
11617
|
-
};
|
|
11618
|
-
//#endregion
|
|
11619
|
-
//#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
|
|
11620
|
-
var Tooltip_module_default = {
|
|
11621
|
-
"bubble": "hMkNvq_bubble",
|
|
11622
|
-
"label": "hMkNvq_label",
|
|
11623
|
-
"tooltip-in": "hMkNvq_tooltip-in"
|
|
12971
|
+
"backing": "S6D4NW_backing",
|
|
12972
|
+
"compact": "S6D4NW_compact",
|
|
12973
|
+
"material": "S6D4NW_material",
|
|
12974
|
+
"surface": "S6D4NW_surface"
|
|
11624
12975
|
};
|
|
11625
12976
|
//#endregion
|
|
11626
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
12977
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css
|
|
11627
12978
|
var HoverCard_module_default = {
|
|
11628
|
-
"card": "
|
|
11629
|
-
"copied": "
|
|
11630
|
-
"copyable": "
|
|
11631
|
-
"feedback": "
|
|
11632
|
-
"inline": "
|
|
11633
|
-
"media": "
|
|
11634
|
-
"preview": "
|
|
11635
|
-
"root": "
|
|
11636
|
-
"status": "
|
|
12979
|
+
"card": "NjTHtW_card",
|
|
12980
|
+
"copied": "NjTHtW_copied",
|
|
12981
|
+
"copyable": "NjTHtW_copyable",
|
|
12982
|
+
"feedback": "NjTHtW_feedback",
|
|
12983
|
+
"inline": "NjTHtW_inline",
|
|
12984
|
+
"media": "NjTHtW_media",
|
|
12985
|
+
"preview": "NjTHtW_preview",
|
|
12986
|
+
"root": "NjTHtW_root",
|
|
12987
|
+
"status": "NjTHtW_status"
|
|
11637
12988
|
};
|
|
11638
12989
|
//#endregion
|
|
11639
12990
|
//#region node_modules/.pnpm/simple-icons@16.31.0/node_modules/simple-icons/index.mjs
|
|
@@ -11997,19 +13348,26 @@
|
|
|
11997
13348
|
hex: "0084FF"
|
|
11998
13349
|
};
|
|
11999
13350
|
//#endregion
|
|
12000
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
13351
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css
|
|
12001
13352
|
var MarkdownText_module_default = {
|
|
12002
|
-
"compact": "
|
|
12003
|
-
"fileLink": "
|
|
12004
|
-
"fileMention": "
|
|
12005
|
-
"image": "
|
|
12006
|
-
"imageAlt": "
|
|
12007
|
-
"imageButton": "
|
|
12008
|
-
"linkIcon": "
|
|
12009
|
-
"markdown": "
|
|
12010
|
-
"previewName": "
|
|
12011
|
-
"tableFill": "
|
|
12012
|
-
"tableScroll": "
|
|
13353
|
+
"compact": "_9E0s7q_compact",
|
|
13354
|
+
"fileLink": "_9E0s7q_fileLink",
|
|
13355
|
+
"fileMention": "_9E0s7q_fileMention",
|
|
13356
|
+
"image": "_9E0s7q_image",
|
|
13357
|
+
"imageAlt": "_9E0s7q_imageAlt",
|
|
13358
|
+
"imageButton": "_9E0s7q_imageButton",
|
|
13359
|
+
"linkIcon": "_9E0s7q_linkIcon",
|
|
13360
|
+
"markdown": "_9E0s7q_markdown",
|
|
13361
|
+
"previewName": "_9E0s7q_previewName",
|
|
13362
|
+
"tableFill": "_9E0s7q_tableFill",
|
|
13363
|
+
"tableScroll": "_9E0s7q_tableScroll"
|
|
13364
|
+
};
|
|
13365
|
+
//#endregion
|
|
13366
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css
|
|
13367
|
+
var Tooltip_module_default = {
|
|
13368
|
+
"bubble": "oSITJq_bubble",
|
|
13369
|
+
"label": "oSITJq_label",
|
|
13370
|
+
"tooltip-in": "oSITJq_tooltip-in"
|
|
12013
13371
|
};
|
|
12014
13372
|
//#endregion
|
|
12015
13373
|
//#region node_modules/.pnpm/@shikijs+types@4.5.0/node_modules/@shikijs/types/dist/index.mjs
|
|
@@ -22568,7 +23926,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
22568
23926
|
json_default = [lang$72];
|
|
22569
23927
|
}));
|
|
22570
23928
|
//#endregion
|
|
22571
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-
|
|
23929
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-util-code-language/lib/index.js
|
|
22572
23930
|
init_typescript();
|
|
22573
23931
|
init_shellscript();
|
|
22574
23932
|
init_json();
|
|
@@ -23209,15 +24567,15 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
23209
24567
|
};
|
|
23210
24568
|
})))();
|
|
23211
24569
|
var CodeCard_module_default = {
|
|
23212
|
-
"action": "
|
|
23213
|
-
"actions": "
|
|
23214
|
-
"body": "
|
|
23215
|
-
"card": "
|
|
23216
|
-
"header": "
|
|
23217
|
-
"heading": "
|
|
23218
|
-
"language": "
|
|
23219
|
-
"status": "
|
|
23220
|
-
"title": "
|
|
24570
|
+
"action": "aStEVa_action",
|
|
24571
|
+
"actions": "aStEVa_actions",
|
|
24572
|
+
"body": "aStEVa_body",
|
|
24573
|
+
"card": "aStEVa_card",
|
|
24574
|
+
"header": "aStEVa_header",
|
|
24575
|
+
"heading": "aStEVa_heading",
|
|
24576
|
+
"language": "aStEVa_language",
|
|
24577
|
+
"status": "aStEVa_status",
|
|
24578
|
+
"title": "aStEVa_title"
|
|
23221
24579
|
};
|
|
23222
24580
|
//#endregion
|
|
23223
24581
|
//#region node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/diff/base.js
|
|
@@ -23734,17 +25092,17 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
23734
25092
|
};
|
|
23735
25093
|
new ArrayDiff();
|
|
23736
25094
|
//#endregion
|
|
23737
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
25095
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css
|
|
23738
25096
|
var DiffBlock_module_default = {
|
|
23739
|
-
"add": "
|
|
23740
|
-
"block": "
|
|
23741
|
-
"body": "
|
|
23742
|
-
"context": "
|
|
23743
|
-
"del": "
|
|
23744
|
-
"expand": "
|
|
23745
|
-
"gap": "
|
|
23746
|
-
"line": "
|
|
23747
|
-
"path": "
|
|
25097
|
+
"add": "qd6yXq_add",
|
|
25098
|
+
"block": "qd6yXq_block",
|
|
25099
|
+
"body": "qd6yXq_body",
|
|
25100
|
+
"context": "qd6yXq_context",
|
|
25101
|
+
"del": "qd6yXq_del",
|
|
25102
|
+
"expand": "qd6yXq_expand",
|
|
25103
|
+
"gap": "qd6yXq_gap",
|
|
25104
|
+
"line": "qd6yXq_line",
|
|
25105
|
+
"path": "qd6yXq_path"
|
|
23748
25106
|
};
|
|
23749
25107
|
//#endregion
|
|
23750
25108
|
//#region node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
|
|
@@ -63470,35 +64828,35 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
63470
64828
|
chunkString: "chunkString"
|
|
63471
64829
|
};
|
|
63472
64830
|
//#endregion
|
|
63473
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
64831
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css
|
|
63474
64832
|
var CodeBlock_module_default = {
|
|
63475
|
-
"action": "
|
|
63476
|
-
"banner": "
|
|
63477
|
-
"bannerWrap": "
|
|
63478
|
-
"block": "
|
|
63479
|
-
"card": "
|
|
63480
|
-
"content": "
|
|
63481
|
-
"copyButton": "
|
|
63482
|
-
"infostring": "
|
|
63483
|
-
"numbered": "
|
|
63484
|
-
"plain": "
|
|
63485
|
-
"shiki": "
|
|
64833
|
+
"action": "pwIRiG_action",
|
|
64834
|
+
"banner": "pwIRiG_banner",
|
|
64835
|
+
"bannerWrap": "pwIRiG_bannerWrap",
|
|
64836
|
+
"block": "pwIRiG_block",
|
|
64837
|
+
"card": "pwIRiG_card",
|
|
64838
|
+
"content": "pwIRiG_content",
|
|
64839
|
+
"copyButton": "pwIRiG_copyButton",
|
|
64840
|
+
"infostring": "pwIRiG_infostring",
|
|
64841
|
+
"numbered": "pwIRiG_numbered",
|
|
64842
|
+
"plain": "pwIRiG_plain",
|
|
64843
|
+
"shiki": "pwIRiG_shiki"
|
|
63486
64844
|
};
|
|
63487
64845
|
//#endregion
|
|
63488
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
64846
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css
|
|
63489
64847
|
var ImageLightbox_module_default = {
|
|
63490
|
-
"backdrop": "
|
|
63491
|
-
"close": "
|
|
63492
|
-
"image": "
|
|
63493
|
-
"mask": "
|
|
63494
|
-
"stage": "
|
|
64848
|
+
"backdrop": "_0Fs4Wq_backdrop",
|
|
64849
|
+
"close": "_0Fs4Wq_close",
|
|
64850
|
+
"image": "_0Fs4Wq_image",
|
|
64851
|
+
"mask": "_0Fs4Wq_mask",
|
|
64852
|
+
"stage": "_0Fs4Wq_stage"
|
|
63495
64853
|
};
|
|
63496
64854
|
//#endregion
|
|
63497
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
64855
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css
|
|
63498
64856
|
var ImagePreview_module_default = {
|
|
63499
|
-
"frame": "
|
|
63500
|
-
"image": "
|
|
63501
|
-
"status": "
|
|
64857
|
+
"frame": "Xh6afG_frame",
|
|
64858
|
+
"image": "Xh6afG_image",
|
|
64859
|
+
"status": "Xh6afG_status"
|
|
63502
64860
|
};
|
|
63503
64861
|
//#endregion
|
|
63504
64862
|
//#region node_modules/.pnpm/@shikijs+langs@4.5.0/node_modules/@shikijs/langs/dist/python.mjs
|
|
@@ -64231,7 +65589,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
64231
65589
|
groovy_default = [lang];
|
|
64232
65590
|
}));
|
|
64233
65591
|
//#endregion
|
|
64234
|
-
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-
|
|
65592
|
+
//#region node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.3_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
64235
65593
|
init_typescript();
|
|
64236
65594
|
init_shellscript();
|
|
64237
65595
|
init_json();
|
|
@@ -64810,317 +66168,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
64810
66168
|
el.remove();
|
|
64811
66169
|
}
|
|
64812
66170
|
}
|
|
64813
|
-
/**
|
|
64814
|
-
|
|
64815
|
-
* Tooltips follow the last input; rings follow navigation or a key followed by
|
|
64816
|
-
* focus on a different control. Modifiers and refocusing alone keep rings silent.
|
|
64817
|
-
* Module-level listeners live for the document lifetime; Node imports are inert.
|
|
64818
|
-
*/
|
|
64819
|
-
/** Modality values published on the document element. */
|
|
64820
|
-
const INPUT_MODALITY = {
|
|
64821
|
-
pointer: "pointer",
|
|
64822
|
-
keyboard: "keyboard"
|
|
64823
|
-
};
|
|
64824
|
-
/** Attribute carrying whether focus navigation last owned focus. */
|
|
64825
|
-
const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
64826
|
-
const FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
|
|
64827
|
-
"Tab",
|
|
64828
|
-
"Home",
|
|
64829
|
-
"End",
|
|
64830
|
-
"PageUp",
|
|
64831
|
-
"PageDown"
|
|
64832
|
-
]);
|
|
64833
|
-
let pointer = false;
|
|
64834
|
-
let pointerOwnsFocus = false;
|
|
64835
|
-
let keyFocusOrigin;
|
|
64836
|
-
function publish() {
|
|
64837
|
-
document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
|
|
64838
|
-
}
|
|
64839
|
-
/**
|
|
64840
|
-
* Whether the last input came from a pointer, independently of ring visibility.
|
|
64841
|
-
* @returns True after pointer input; false after any key.
|
|
64842
|
-
*/
|
|
64843
|
-
function pointerModality() {
|
|
64844
|
-
return pointer;
|
|
64845
|
-
}
|
|
64846
|
-
if (typeof window !== "undefined") {
|
|
64847
|
-
window.addEventListener("pointerdown", () => {
|
|
64848
|
-
pointer = true;
|
|
64849
|
-
pointerOwnsFocus = true;
|
|
64850
|
-
keyFocusOrigin = void 0;
|
|
64851
|
-
publish();
|
|
64852
|
-
}, true);
|
|
64853
|
-
window.addEventListener("keydown", (event) => {
|
|
64854
|
-
pointer = false;
|
|
64855
|
-
if (event.isComposing) {
|
|
64856
|
-
keyFocusOrigin = void 0;
|
|
64857
|
-
return;
|
|
64858
|
-
}
|
|
64859
|
-
keyFocusOrigin = event.composedPath()[0];
|
|
64860
|
-
if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
|
|
64861
|
-
pointerOwnsFocus = false;
|
|
64862
|
-
publish();
|
|
64863
|
-
}, true);
|
|
64864
|
-
window.addEventListener("focusin", (event) => {
|
|
64865
|
-
if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
|
|
64866
|
-
keyFocusOrigin = void 0;
|
|
64867
|
-
if (!pointerOwnsFocus) return;
|
|
64868
|
-
pointerOwnsFocus = false;
|
|
64869
|
-
publish();
|
|
64870
|
-
}, true);
|
|
64871
|
-
window.addEventListener("blur", () => {
|
|
64872
|
-
keyFocusOrigin = void 0;
|
|
64873
|
-
});
|
|
64874
|
-
}
|
|
64875
|
-
/** Anchor-preserving tooltips; an optional body portal escapes clipping containers and stacking contexts that cap the bubble's z-index. */
|
|
64876
|
-
/**
|
|
64877
|
-
* Suppression channel for enclosing tooltip and hover-card anchors: a visible
|
|
64878
|
-
* tooltip within an anchor withdraws the enclosing preview while its bubble is shown.
|
|
64879
|
-
*/
|
|
64880
|
-
const TooltipSuppression = (0, import_react.createContext)(null);
|
|
64881
|
-
/**
|
|
64882
|
-
* Attach a hover/focus tooltip to an anchor element.
|
|
64883
|
-
* @param props.label - bubble text, or a resolver evaluated only while visible; an empty string shows only shortcut keys.
|
|
64884
|
-
* @param props.shortcutKeys - effective key labels rendered as platform-formatted keycaps after optional text.
|
|
64885
|
-
* @param props.side - placement relative to the anchor (default 'right').
|
|
64886
|
-
* @param props.align - horizontal anchor-edge alignment for 'bottom'/'top' bubbles: 'end' pins
|
|
64887
|
-
* the bubble's right edge to the anchor's (for anchors beside other hover surfaces the centered
|
|
64888
|
-
* bubble would overlap); default 'center'. Ignored for side 'right'.
|
|
64889
|
-
* @param props.portal - render the bubble under document.body, so an ancestor's clipping or its
|
|
64890
|
-
* stacking context (which confines the bubble's z-index to that context) cannot hide it.
|
|
64891
|
-
* @param props.delayMs - hover delay in milliseconds (default 0).
|
|
64892
|
-
* @param props.focusDelayMs - keyboard focus delay in milliseconds (default 0); blur, click,
|
|
64893
|
-
* mouse leave, disabling, and unmount cancel a pending show.
|
|
64894
|
-
* @param props.gap - anchor-to-bubble distance in pixels for 'bottom'/'top' bubbles (default 8);
|
|
64895
|
-
* ignored for side 'right'.
|
|
64896
|
-
* @param props.disabled - suppress the bubble while true; the anchor renders identically so
|
|
64897
|
-
* toggling never remounts it (which would cut its CSS transitions).
|
|
64898
|
-
* @param props.maxWidth - bubble width cap in pixels, for labels long enough that the default
|
|
64899
|
-
* half-viewport cap would render a slab wider than the surface the anchor sits on.
|
|
64900
|
-
* @param props.openOnClick - clicking also pins the bubble for reading; another click, Escape,
|
|
64901
|
-
* Tab, or an outside pointerdown dismisses it. Defaults to false for ordinary action tooltips.
|
|
64902
|
-
* @param props.children - a single anchor element; its own ref (callback or object) is forwarded alongside the tooltip's.
|
|
64903
|
-
* @returns the cloned anchor plus a fixed-position bubble, optionally portaled to the body.
|
|
64904
|
-
* The bubble stays hidden until ResizeObserver supplies its size for viewport fitting; clicking the
|
|
64905
|
-
* anchor dismisses the bubble unless openOnClick is enabled, and focus arriving after a pointer
|
|
64906
|
-
* interaction (a closing menu refocusing its trigger) never raises it.
|
|
64907
|
-
*/
|
|
64908
|
-
function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
|
|
64909
|
-
const id = (0, import_react.useId)();
|
|
64910
|
-
const [pinned, setPinned] = (0, import_react.useState)(false);
|
|
64911
|
-
const anchor = (0, import_react.useRef)(null);
|
|
64912
|
-
const childRef = children.ref;
|
|
64913
|
-
const mergedRef = (0, import_react.useCallback)((el) => {
|
|
64914
|
-
anchor.current = el;
|
|
64915
|
-
if (typeof childRef === "function") childRef(el);
|
|
64916
|
-
else if (childRef != null) childRef.current = el;
|
|
64917
|
-
}, [childRef]);
|
|
64918
|
-
const [pos, setPos] = (0, import_react.useState)(null);
|
|
64919
|
-
const bubble = (0, import_react.useRef)(null);
|
|
64920
|
-
const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
|
|
64921
|
-
const y = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
|
|
64922
|
-
const showTimer = (0, import_react.useRef)(null);
|
|
64923
|
-
const triggers = (0, import_react.useRef)({
|
|
64924
|
-
hover: false,
|
|
64925
|
-
focus: false
|
|
64926
|
-
});
|
|
64927
|
-
const suppressAncestors = (0, import_react.useContext)(TooltipSuppression);
|
|
64928
|
-
const [suppressed, setSuppressed] = (0, import_react.useState)(false);
|
|
64929
|
-
const announce = (0, import_react.useCallback)((active) => {
|
|
64930
|
-
suppressAncestors?.(active);
|
|
64931
|
-
}, [suppressAncestors]);
|
|
64932
|
-
const visible = pos !== null && !disabled;
|
|
64933
|
-
(0, import_react.useEffect)(() => {
|
|
64934
|
-
const el = bubble.current;
|
|
64935
|
-
if (pos === null || !visible || suppressed || el === null) return;
|
|
64936
|
-
const edgeMargin = 12;
|
|
64937
|
-
let size;
|
|
64938
|
-
let placement = side;
|
|
64939
|
-
const fit = () => {
|
|
64940
|
-
if (size === void 0) return;
|
|
64941
|
-
const { inlineSize: width, blockSize: height } = size;
|
|
64942
|
-
const offset = side === "right" ? 0 : align === "end" ? width : width / 2;
|
|
64943
|
-
const left = Math.max(edgeMargin, Math.min(pos.x - offset, window.innerWidth - edgeMargin - width));
|
|
64944
|
-
const fitsBelow = pos.bottom + gap + height <= window.innerHeight - edgeMargin;
|
|
64945
|
-
const fitsAbove = pos.top - gap - height >= edgeMargin;
|
|
64946
|
-
if (placement === "bottom" && !fitsBelow && fitsAbove) placement = "top";
|
|
64947
|
-
else if (placement === "top" && !fitsAbove && fitsBelow) placement = "bottom";
|
|
64948
|
-
el.style.left = `${left + offset}px`;
|
|
64949
|
-
el.style.top = `${placement === "right" ? (pos.top + pos.bottom) / 2 : placement === "top" ? pos.top - gap : pos.bottom + gap}px`;
|
|
64950
|
-
el.dataset.side = placement;
|
|
64951
|
-
el.style.visibility = "visible";
|
|
64952
|
-
};
|
|
64953
|
-
const observer = new ResizeObserver((entries) => {
|
|
64954
|
-
size = entries[0]?.borderBoxSize[0];
|
|
64955
|
-
fit();
|
|
64956
|
-
});
|
|
64957
|
-
observer.observe(el, { box: "border-box" });
|
|
64958
|
-
window.addEventListener("resize", fit);
|
|
64959
|
-
return () => {
|
|
64960
|
-
observer.disconnect();
|
|
64961
|
-
window.removeEventListener("resize", fit);
|
|
64962
|
-
};
|
|
64963
|
-
}, [
|
|
64964
|
-
align,
|
|
64965
|
-
gap,
|
|
64966
|
-
pos,
|
|
64967
|
-
side,
|
|
64968
|
-
suppressed,
|
|
64969
|
-
visible
|
|
64970
|
-
]);
|
|
64971
|
-
(0, import_react.useEffect)(() => {
|
|
64972
|
-
announce(visible);
|
|
64973
|
-
return () => {
|
|
64974
|
-
announce(false);
|
|
64975
|
-
};
|
|
64976
|
-
}, [announce, visible]);
|
|
64977
|
-
const cancelShow = (0, import_react.useCallback)(() => {
|
|
64978
|
-
if (showTimer.current === null) return;
|
|
64979
|
-
clearTimeout(showTimer.current);
|
|
64980
|
-
showTimer.current = null;
|
|
64981
|
-
}, []);
|
|
64982
|
-
(0, import_react.useEffect)(() => {
|
|
64983
|
-
if (pinned && (disabled || !openOnClick)) setPinned(false);
|
|
64984
|
-
if (disabled) {
|
|
64985
|
-
cancelShow();
|
|
64986
|
-
triggers.current = {
|
|
64987
|
-
hover: false,
|
|
64988
|
-
focus: false
|
|
64989
|
-
};
|
|
64990
|
-
setPos(null);
|
|
64991
|
-
}
|
|
64992
|
-
return cancelShow;
|
|
64993
|
-
}, [
|
|
64994
|
-
cancelShow,
|
|
64995
|
-
disabled,
|
|
64996
|
-
openOnClick,
|
|
64997
|
-
pinned
|
|
64998
|
-
]);
|
|
64999
|
-
const show = () => {
|
|
65000
|
-
if (disabled) return;
|
|
65001
|
-
const el = anchor.current;
|
|
65002
|
-
/* v8 ignore next -- the ref is attached by event time: events fire on the cloned anchor. */
|
|
65003
|
-
if (el === null) return;
|
|
65004
|
-
const r = el.getBoundingClientRect();
|
|
65005
|
-
setPos({
|
|
65006
|
-
x: side === "right" ? r.right + 10 : align === "end" ? r.right : r.left + r.width / 2,
|
|
65007
|
-
top: r.top,
|
|
65008
|
-
bottom: r.bottom
|
|
65009
|
-
});
|
|
65010
|
-
announce(true);
|
|
65011
|
-
};
|
|
65012
|
-
const showAfterDelay = (delay) => {
|
|
65013
|
-
cancelShow();
|
|
65014
|
-
if (delay <= 0) {
|
|
65015
|
-
show();
|
|
65016
|
-
return;
|
|
65017
|
-
}
|
|
65018
|
-
showTimer.current = setTimeout(() => {
|
|
65019
|
-
showTimer.current = null;
|
|
65020
|
-
show();
|
|
65021
|
-
}, delay);
|
|
65022
|
-
};
|
|
65023
|
-
const withdraw = (0, import_react.useCallback)(() => {
|
|
65024
|
-
setPinned(false);
|
|
65025
|
-
setPos(null);
|
|
65026
|
-
announce(false);
|
|
65027
|
-
}, [announce]);
|
|
65028
|
-
const hide = () => {
|
|
65029
|
-
cancelShow();
|
|
65030
|
-
if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
|
|
65031
|
-
};
|
|
65032
|
-
const dismiss = (0, import_react.useCallback)(() => {
|
|
65033
|
-
cancelShow();
|
|
65034
|
-
triggers.current = {
|
|
65035
|
-
hover: false,
|
|
65036
|
-
focus: false
|
|
65037
|
-
};
|
|
65038
|
-
withdraw();
|
|
65039
|
-
}, [cancelShow, withdraw]);
|
|
65040
|
-
useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
|
|
65041
|
-
(0, import_react.useEffect)(() => {
|
|
65042
|
-
if (!openOnClick || !visible) return;
|
|
65043
|
-
const onKeyDown = (event) => {
|
|
65044
|
-
if (event.key !== "Escape" && event.key !== "Tab") return;
|
|
65045
|
-
if (event.key === "Escape") {
|
|
65046
|
-
event.preventDefault();
|
|
65047
|
-
event.stopPropagation();
|
|
65048
|
-
}
|
|
65049
|
-
dismiss();
|
|
65050
|
-
};
|
|
65051
|
-
document.addEventListener("keydown", onKeyDown, true);
|
|
65052
|
-
return () => {
|
|
65053
|
-
document.removeEventListener("keydown", onKeyDown, true);
|
|
65054
|
-
};
|
|
65055
|
-
}, [
|
|
65056
|
-
dismiss,
|
|
65057
|
-
openOnClick,
|
|
65058
|
-
visible
|
|
65059
|
-
]);
|
|
65060
|
-
const content = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
|
|
65061
|
-
ref: bubble,
|
|
65062
|
-
id: openOnClick ? id : void 0,
|
|
65063
|
-
className: Tooltip_module_default.bubble,
|
|
65064
|
-
"data-side": side,
|
|
65065
|
-
"data-portal": portal || void 0,
|
|
65066
|
-
"data-pinned": pinned || void 0,
|
|
65067
|
-
"data-align": align,
|
|
65068
|
-
"data-has-shortcut": shortcutKeys?.length ? true : void 0,
|
|
65069
|
-
style: {
|
|
65070
|
-
left: pos.x,
|
|
65071
|
-
top: y,
|
|
65072
|
-
visibility: "hidden",
|
|
65073
|
-
...maxWidth === void 0 ? {} : { maxWidth }
|
|
65074
|
-
},
|
|
65075
|
-
role: "tooltip",
|
|
65076
|
-
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
65077
|
-
children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
|
|
65078
|
-
className: Tooltip_module_default.label,
|
|
65079
|
-
children: resolvedLabel
|
|
65080
|
-
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
|
|
65081
|
-
keys: shortcutKeys,
|
|
65082
|
-
variant: "tooltip"
|
|
65083
|
-
})]
|
|
65084
|
-
});
|
|
65085
|
-
return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
|
|
65086
|
-
value: setSuppressed,
|
|
65087
|
-
children: [(0, import_react.cloneElement)(children, {
|
|
65088
|
-
ref: mergedRef,
|
|
65089
|
-
"aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
|
|
65090
|
-
onMouseEnter: (e) => {
|
|
65091
|
-
children.props.onMouseEnter?.(e);
|
|
65092
|
-
triggers.current.hover = true;
|
|
65093
|
-
showAfterDelay(delayMs);
|
|
65094
|
-
},
|
|
65095
|
-
onMouseLeave: (e) => {
|
|
65096
|
-
children.props.onMouseLeave?.(e);
|
|
65097
|
-
triggers.current.hover = false;
|
|
65098
|
-
cancelShow();
|
|
65099
|
-
if (!pinned) withdraw();
|
|
65100
|
-
},
|
|
65101
|
-
onClick: (e) => {
|
|
65102
|
-
children.props.onClick?.(e);
|
|
65103
|
-
triggers.current.focus = false;
|
|
65104
|
-
cancelShow();
|
|
65105
|
-
if (openOnClick && !disabled && !pinned) {
|
|
65106
|
-
setPinned(true);
|
|
65107
|
-
show();
|
|
65108
|
-
} else withdraw();
|
|
65109
|
-
},
|
|
65110
|
-
onFocus: (e) => {
|
|
65111
|
-
children.props.onFocus?.(e);
|
|
65112
|
-
if (pointerModality()) return;
|
|
65113
|
-
triggers.current.focus = true;
|
|
65114
|
-
showAfterDelay(focusDelayMs);
|
|
65115
|
-
},
|
|
65116
|
-
onBlur: (e) => {
|
|
65117
|
-
children.props.onBlur?.(e);
|
|
65118
|
-
triggers.current.focus = false;
|
|
65119
|
-
hide();
|
|
65120
|
-
}
|
|
65121
|
-
}), portal ? content !== false && (0, import_react_dom.createPortal)(content, document.body) : content]
|
|
65122
|
-
});
|
|
65123
|
-
}
|
|
66171
|
+
/** Private coordination shared only by opted-in HoverCards inside one mounted group. */
|
|
66172
|
+
const HoverCardGroupContext = (0, import_react.createContext)(null);
|
|
65124
66173
|
/** Preview opacity transition and retained lifetime during dismissal. */
|
|
65125
66174
|
const PREVIEW_FADE_MS = 100;
|
|
65126
66175
|
const PREVIEW_MAX_HEIGHT = 420;
|
|
@@ -65129,7 +66178,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65129
66178
|
const ANCHOR_GAP = 8;
|
|
65130
66179
|
const VIEWPORT_MARGIN = 8;
|
|
65131
66180
|
/**
|
|
65132
|
-
* Render an anchor with a hover-triggered preview card
|
|
66181
|
+
* Render an anchor with a hover-triggered preview card independently of nested tooltips.
|
|
65133
66182
|
* @param props.anchor - the hover target (rendered in place inside a wrapper span).
|
|
65134
66183
|
* @param props.content - card content; the pointer may rest on it, so it is
|
|
65135
66184
|
* readable and selectable, but it carries no dismissal affordance of its own.
|
|
@@ -65139,13 +66188,15 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65139
66188
|
* @param props.widthAnchorRef - optional element whose width and horizontal position size the preview.
|
|
65140
66189
|
* @param props.inline - keep the anchor in prose; show a contained preview on hover or keyboard focus.
|
|
65141
66190
|
* @param props.disabled - suppress opening; turning true dismisses an open card.
|
|
66191
|
+
* @param props.grouped - share first-display dwell across the surrounding list and active portal.
|
|
66192
|
+
* Group replacement removes the previous card immediately, including a fading preview.
|
|
65142
66193
|
* @param props.copyText - optional primary value copied by activation and
|
|
65143
66194
|
* included in the card's accessible name.
|
|
65144
66195
|
* @param props.copyLabel - localized accessible activation-label prefix.
|
|
65145
66196
|
* @param props.copiedLabel - localized visible success label.
|
|
65146
66197
|
* @returns anchor wrapper with the conditional portaled card.
|
|
65147
66198
|
*/
|
|
65148
|
-
function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
|
|
66199
|
+
function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, grouped = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
|
|
65149
66200
|
const rootRef = (0, import_react.useRef)(null);
|
|
65150
66201
|
const cardRef = (0, import_react.useRef)(null);
|
|
65151
66202
|
const timerRef = (0, import_react.useRef)(null);
|
|
@@ -65160,7 +66211,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65160
66211
|
const [pos, setPos] = (0, import_react.useState)(null);
|
|
65161
66212
|
const positioned = pos !== null;
|
|
65162
66213
|
const [copied, setCopied] = (0, import_react.useState)(false);
|
|
65163
|
-
const
|
|
66214
|
+
const parentGroup = (0, import_react.useContext)(HoverCardGroupContext);
|
|
66215
|
+
const group = grouped ? parentGroup : null;
|
|
66216
|
+
const [groupOwner] = (0, import_react.useState)(() => Symbol("hover-card"));
|
|
65164
66217
|
const clearCopied = (0, import_react.useCallback)(() => {
|
|
65165
66218
|
if (copyTimerRef.current !== null) {
|
|
65166
66219
|
clearTimeout(copyTimerRef.current);
|
|
@@ -65175,12 +66228,36 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65175
66228
|
setPhase((current) => variant === "preview" && current !== "closed" ? "closing" : "closed");
|
|
65176
66229
|
}, [clearCopied, variant]);
|
|
65177
66230
|
const { arm: armClose, cancel: cancelClose } = usePointerGrace(close);
|
|
65178
|
-
const clearTimer = () => {
|
|
66231
|
+
const clearTimer = (0, import_react.useCallback)(() => {
|
|
65179
66232
|
if (timerRef.current !== null) {
|
|
65180
66233
|
clearTimeout(timerRef.current);
|
|
65181
66234
|
timerRef.current = null;
|
|
65182
66235
|
}
|
|
65183
|
-
};
|
|
66236
|
+
}, []);
|
|
66237
|
+
const dismissImmediately = (0, import_react.useCallback)(() => {
|
|
66238
|
+
clearTimer();
|
|
66239
|
+
cancelClose();
|
|
66240
|
+
copyEpochRef.current += 1;
|
|
66241
|
+
clearCopied();
|
|
66242
|
+
setPhase("closed");
|
|
66243
|
+
}, [
|
|
66244
|
+
clearTimer,
|
|
66245
|
+
cancelClose,
|
|
66246
|
+
clearCopied
|
|
66247
|
+
]);
|
|
66248
|
+
const groupVisible = open && positioned;
|
|
66249
|
+
(0, import_react.useLayoutEffect)(() => {
|
|
66250
|
+
if (!groupVisible || group === null) return;
|
|
66251
|
+
group.shown(groupOwner, dismissImmediately, cardRef.current);
|
|
66252
|
+
return () => {
|
|
66253
|
+
group.release(groupOwner);
|
|
66254
|
+
};
|
|
66255
|
+
}, [
|
|
66256
|
+
group,
|
|
66257
|
+
groupOwner,
|
|
66258
|
+
groupVisible,
|
|
66259
|
+
dismissImmediately
|
|
66260
|
+
]);
|
|
65184
66261
|
(0, import_react.useEffect)(() => {
|
|
65185
66262
|
if (!closing) return;
|
|
65186
66263
|
const timer = setTimeout(() => {
|
|
@@ -65305,7 +66382,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65305
66382
|
inline
|
|
65306
66383
|
]);
|
|
65307
66384
|
(0, import_react.useLayoutEffect)(() => {
|
|
65308
|
-
if (!open || pos === null || variant === "preview" || inline
|
|
66385
|
+
if (!open || pos === null || variant === "preview" || inline) return;
|
|
65309
66386
|
/* v8 ignore next -- the card is mounted whenever pos is set, so the ref is attached here. */
|
|
65310
66387
|
const h = cardRef.current?.offsetHeight ?? 0;
|
|
65311
66388
|
if (pos.top + h > window.innerHeight - VIEWPORT_MARGIN) setPos({
|
|
@@ -65316,8 +66393,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65316
66393
|
open,
|
|
65317
66394
|
pos,
|
|
65318
66395
|
variant,
|
|
65319
|
-
inline
|
|
65320
|
-
suppressed
|
|
66396
|
+
inline
|
|
65321
66397
|
]);
|
|
65322
66398
|
const copy = async (text) => {
|
|
65323
66399
|
if (copied || copyingRef.current) return;
|
|
@@ -65339,7 +66415,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65339
66415
|
cancelClose();
|
|
65340
66416
|
close();
|
|
65341
66417
|
};
|
|
65342
|
-
const card = open && pos !== null &&
|
|
66418
|
+
const card = open && pos !== null && (0, import_jsx_runtime.jsx)("div", {
|
|
65343
66419
|
ref: cardRef,
|
|
65344
66420
|
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),
|
|
65345
66421
|
"data-closing": closing || void 0,
|
|
@@ -65393,7 +66469,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65393
66469
|
return;
|
|
65394
66470
|
}
|
|
65395
66471
|
clearTimer();
|
|
65396
|
-
|
|
66472
|
+
if (group?.isWarm()) setPhase("open");
|
|
66473
|
+
else timerRef.current = setTimeout(() => {
|
|
65397
66474
|
setPhase("open");
|
|
65398
66475
|
}, openDelayMs);
|
|
65399
66476
|
},
|
|
@@ -65404,11 +66481,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
65404
66481
|
onPointerDownCapture: dismissFromAnchor,
|
|
65405
66482
|
onClickCapture: dismissFromAnchor,
|
|
65406
66483
|
children: [
|
|
65407
|
-
|
|
65408
|
-
|
|
65409
|
-
children: anchor
|
|
65410
|
-
}),
|
|
65411
|
-
open && !suppressed && copyable && (0, import_jsx_runtime.jsx)("span", {
|
|
66484
|
+
anchor,
|
|
66485
|
+
open && copyable && (0, import_jsx_runtime.jsx)("span", {
|
|
65412
66486
|
className: HoverCard_module_default.status,
|
|
65413
66487
|
role: "status",
|
|
65414
66488
|
children: copied ? copiedLabel : ""
|
|
@@ -66112,6 +67186,386 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
66112
67186
|
strokeWidth: ICON_MEDIUM_STROKE
|
|
66113
67187
|
});
|
|
66114
67188
|
}
|
|
67189
|
+
const opposite = {
|
|
67190
|
+
right: "left",
|
|
67191
|
+
left: "right",
|
|
67192
|
+
top: "bottom",
|
|
67193
|
+
bottom: "top"
|
|
67194
|
+
};
|
|
67195
|
+
/**
|
|
67196
|
+
* Prefer the requested side, its opposite, then perpendicular sides without covering the anchor.
|
|
67197
|
+
* @param input - Observed dimensions, anchor edges, viewport and requested placement; horizontal gaps remain 10px.
|
|
67198
|
+
* @returns Border-box coordinates and the selected side; if no side fits, a viewport-bounded fallback.
|
|
67199
|
+
*/
|
|
67200
|
+
function placeTooltip(input) {
|
|
67201
|
+
const { anchor, viewportWidth, viewportHeight, side, align, gap } = input;
|
|
67202
|
+
let { width, height } = input;
|
|
67203
|
+
const margin = 12;
|
|
67204
|
+
const maxWidth = Math.max(0, viewportWidth - 24);
|
|
67205
|
+
const maxHeight = Math.max(0, viewportHeight - 24);
|
|
67206
|
+
width = Math.min(width, maxWidth);
|
|
67207
|
+
height = Math.min(height, maxHeight);
|
|
67208
|
+
const clampX = (x) => Math.max(margin, Math.min(x, viewportWidth - margin - width));
|
|
67209
|
+
const clampY = (y) => Math.max(margin, Math.min(y, viewportHeight - margin - height));
|
|
67210
|
+
const horizontal = side === "right" || side === "left";
|
|
67211
|
+
const candidates = [
|
|
67212
|
+
side,
|
|
67213
|
+
opposite[side],
|
|
67214
|
+
...horizontal ? ["bottom", "top"] : ["right", "left"]
|
|
67215
|
+
];
|
|
67216
|
+
const positions = {
|
|
67217
|
+
right: {
|
|
67218
|
+
left: anchor.right + 10,
|
|
67219
|
+
top: clampY((anchor.top + anchor.bottom - height) / 2)
|
|
67220
|
+
},
|
|
67221
|
+
left: {
|
|
67222
|
+
left: anchor.left - 10 - width,
|
|
67223
|
+
top: clampY((anchor.top + anchor.bottom - height) / 2)
|
|
67224
|
+
},
|
|
67225
|
+
bottom: {
|
|
67226
|
+
left: clampX(align === "end" ? anchor.right - width : (anchor.left + anchor.right - width) / 2),
|
|
67227
|
+
top: anchor.bottom + gap
|
|
67228
|
+
},
|
|
67229
|
+
top: {
|
|
67230
|
+
left: clampX(align === "end" ? anchor.right - width : (anchor.left + anchor.right - width) / 2),
|
|
67231
|
+
top: anchor.top - gap - height
|
|
67232
|
+
}
|
|
67233
|
+
};
|
|
67234
|
+
for (const candidate of candidates) {
|
|
67235
|
+
const position = positions[candidate];
|
|
67236
|
+
if (position.left >= margin && position.top >= margin && position.left + width <= viewportWidth - margin && position.top + height <= viewportHeight - margin) return {
|
|
67237
|
+
...position,
|
|
67238
|
+
side: candidate,
|
|
67239
|
+
width,
|
|
67240
|
+
height,
|
|
67241
|
+
overflow: false
|
|
67242
|
+
};
|
|
67243
|
+
}
|
|
67244
|
+
const position = positions[side];
|
|
67245
|
+
return {
|
|
67246
|
+
left: clampX(position.left),
|
|
67247
|
+
top: clampY(position.top),
|
|
67248
|
+
side,
|
|
67249
|
+
width,
|
|
67250
|
+
height,
|
|
67251
|
+
overflow: true
|
|
67252
|
+
};
|
|
67253
|
+
}
|
|
67254
|
+
/**
|
|
67255
|
+
* Document-wide input tracking shared by tooltips and focus-ring styles.
|
|
67256
|
+
* Tooltips follow the last input; rings follow navigation or a key followed by
|
|
67257
|
+
* focus on a different control. Modifiers and refocusing alone keep rings silent.
|
|
67258
|
+
* Module-level listeners live for the document lifetime; Node imports are inert.
|
|
67259
|
+
*/
|
|
67260
|
+
/** Modality values published on the document element. */
|
|
67261
|
+
const INPUT_MODALITY = {
|
|
67262
|
+
pointer: "pointer",
|
|
67263
|
+
keyboard: "keyboard"
|
|
67264
|
+
};
|
|
67265
|
+
/** Attribute carrying whether focus navigation last owned focus. */
|
|
67266
|
+
const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
67267
|
+
const FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
|
|
67268
|
+
"Tab",
|
|
67269
|
+
"Home",
|
|
67270
|
+
"End",
|
|
67271
|
+
"PageUp",
|
|
67272
|
+
"PageDown"
|
|
67273
|
+
]);
|
|
67274
|
+
let pointer = false;
|
|
67275
|
+
let pointerOwnsFocus = false;
|
|
67276
|
+
let keyFocusOrigin;
|
|
67277
|
+
function publish() {
|
|
67278
|
+
document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
|
|
67279
|
+
}
|
|
67280
|
+
/**
|
|
67281
|
+
* Whether the last input came from a pointer, independently of ring visibility.
|
|
67282
|
+
* @returns True after pointer input; false after any key.
|
|
67283
|
+
*/
|
|
67284
|
+
function pointerModality() {
|
|
67285
|
+
return pointer;
|
|
67286
|
+
}
|
|
67287
|
+
if (typeof window !== "undefined") {
|
|
67288
|
+
window.addEventListener("pointerdown", () => {
|
|
67289
|
+
pointer = true;
|
|
67290
|
+
pointerOwnsFocus = true;
|
|
67291
|
+
keyFocusOrigin = void 0;
|
|
67292
|
+
publish();
|
|
67293
|
+
}, true);
|
|
67294
|
+
window.addEventListener("keydown", (event) => {
|
|
67295
|
+
pointer = false;
|
|
67296
|
+
if (event.isComposing) {
|
|
67297
|
+
keyFocusOrigin = void 0;
|
|
67298
|
+
return;
|
|
67299
|
+
}
|
|
67300
|
+
keyFocusOrigin = event.composedPath()[0];
|
|
67301
|
+
if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
|
|
67302
|
+
pointerOwnsFocus = false;
|
|
67303
|
+
publish();
|
|
67304
|
+
}, true);
|
|
67305
|
+
window.addEventListener("focusin", (event) => {
|
|
67306
|
+
if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
|
|
67307
|
+
keyFocusOrigin = void 0;
|
|
67308
|
+
if (!pointerOwnsFocus) return;
|
|
67309
|
+
pointerOwnsFocus = false;
|
|
67310
|
+
publish();
|
|
67311
|
+
}, true);
|
|
67312
|
+
window.addEventListener("blur", () => {
|
|
67313
|
+
keyFocusOrigin = void 0;
|
|
67314
|
+
});
|
|
67315
|
+
}
|
|
67316
|
+
/** Anchor-preserving tooltips; an optional body portal escapes clipping containers and stacking contexts that cap the bubble's z-index. */
|
|
67317
|
+
/**
|
|
67318
|
+
* Suppression channel for nested tooltips: a visible descendant tooltip
|
|
67319
|
+
* withdraws the enclosing tooltip while its bubble is shown.
|
|
67320
|
+
*/
|
|
67321
|
+
const TooltipSuppression = (0, import_react.createContext)(null);
|
|
67322
|
+
/**
|
|
67323
|
+
* Attach a hover/focus tooltip to an anchor element.
|
|
67324
|
+
* @param props.label - bubble text, or a resolver evaluated only while visible; an empty string shows only shortcut keys.
|
|
67325
|
+
* @param props.shortcutKeys - effective key labels rendered as platform-formatted keycaps after optional text.
|
|
67326
|
+
* @param props.side - preferred placement (default 'right'); fitting tries the opposite then perpendicular sides.
|
|
67327
|
+
* @param props.align - horizontal anchor-edge alignment for 'bottom'/'top' bubbles: 'end' pins
|
|
67328
|
+
* the bubble's right edge to the anchor's (for anchors beside other hover surfaces the centered
|
|
67329
|
+
* bubble would overlap); default 'center'. Horizontal placements ignore it.
|
|
67330
|
+
* @param props.portal - render the bubble under document.body, so an ancestor's clipping or its
|
|
67331
|
+
* stacking context (which confines the bubble's z-index to that context) cannot hide it.
|
|
67332
|
+
* @param props.delayMs - hover delay in milliseconds (default 0).
|
|
67333
|
+
* @param props.focusDelayMs - keyboard focus delay in milliseconds (default 0); blur, click,
|
|
67334
|
+
* mouse leave, disabling, and unmount cancel a pending show.
|
|
67335
|
+
* @param props.gap - anchor-to-bubble distance in pixels for 'bottom'/'top' bubbles (default 8);
|
|
67336
|
+
* horizontal placements use 10px, including after a flip.
|
|
67337
|
+
* @param props.disabled - suppress the bubble while true; the anchor renders identically so
|
|
67338
|
+
* toggling never remounts it (which would cut its CSS transitions).
|
|
67339
|
+
* @param props.maxWidth - bubble width cap in pixels, for labels long enough that the default
|
|
67340
|
+
* half-viewport cap would render a slab wider than the surface the anchor sits on; always bounded by viewport margins.
|
|
67341
|
+
* @param props.openOnClick - clicking also pins the bubble for reading; another click, Escape,
|
|
67342
|
+
* Tab, or an outside pointerdown dismisses it. Defaults to false for ordinary action tooltips.
|
|
67343
|
+
* @param props.children - a single anchor element; its own ref (callback or object) is forwarded alongside the tooltip's.
|
|
67344
|
+
* @returns the cloned anchor plus a fixed-position bubble, optionally portaled to the body.
|
|
67345
|
+
* The bubble stays hidden until ResizeObserver supplies its size for viewport fitting; clicking the
|
|
67346
|
+
* anchor dismisses the bubble unless openOnClick is enabled, and focus arriving after a pointer
|
|
67347
|
+
* interaction (a closing menu refocusing its trigger) never raises it. When no side fits, the
|
|
67348
|
+
* viewport-bounded fallback may overlap the anchor; oversized content is scrollable when pinned.
|
|
67349
|
+
*/
|
|
67350
|
+
function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
|
|
67351
|
+
const id = (0, import_react.useId)();
|
|
67352
|
+
const [pinned, setPinned] = (0, import_react.useState)(false);
|
|
67353
|
+
const anchor = (0, import_react.useRef)(null);
|
|
67354
|
+
const childRef = children.ref;
|
|
67355
|
+
const mergedRef = (0, import_react.useCallback)((el) => {
|
|
67356
|
+
anchor.current = el;
|
|
67357
|
+
if (typeof childRef === "function") childRef(el);
|
|
67358
|
+
else if (childRef != null) childRef.current = el;
|
|
67359
|
+
}, [childRef]);
|
|
67360
|
+
const [pos, setPos] = (0, import_react.useState)(null);
|
|
67361
|
+
const bubble = (0, import_react.useRef)(null);
|
|
67362
|
+
const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
|
|
67363
|
+
const showTimer = (0, import_react.useRef)(null);
|
|
67364
|
+
const triggers = (0, import_react.useRef)({
|
|
67365
|
+
hover: false,
|
|
67366
|
+
focus: false
|
|
67367
|
+
});
|
|
67368
|
+
const suppressAncestors = (0, import_react.useContext)(TooltipSuppression);
|
|
67369
|
+
const [suppressed, setSuppressed] = (0, import_react.useState)(false);
|
|
67370
|
+
const announce = (0, import_react.useCallback)((active) => {
|
|
67371
|
+
suppressAncestors?.(active);
|
|
67372
|
+
}, [suppressAncestors]);
|
|
67373
|
+
const visible = pos !== null && !disabled;
|
|
67374
|
+
(0, import_react.useEffect)(() => {
|
|
67375
|
+
const el = bubble.current;
|
|
67376
|
+
if (pos === null || !visible || suppressed || el === null) return;
|
|
67377
|
+
let size;
|
|
67378
|
+
let anchorRect = pos;
|
|
67379
|
+
const fit = () => {
|
|
67380
|
+
if (size === void 0) return;
|
|
67381
|
+
const placement = placeTooltip({
|
|
67382
|
+
anchor: anchorRect,
|
|
67383
|
+
width: size.inlineSize,
|
|
67384
|
+
height: size.blockSize,
|
|
67385
|
+
viewportWidth: window.innerWidth,
|
|
67386
|
+
viewportHeight: window.innerHeight,
|
|
67387
|
+
side,
|
|
67388
|
+
align,
|
|
67389
|
+
gap
|
|
67390
|
+
});
|
|
67391
|
+
const horizontal = placement.side === "right" || placement.side === "left";
|
|
67392
|
+
const offsetX = horizontal ? 0 : align === "end" ? placement.width : placement.width / 2;
|
|
67393
|
+
const offsetY = horizontal ? placement.height / 2 : placement.side === "top" ? placement.height : 0;
|
|
67394
|
+
el.style.left = `${placement.left + offsetX}px`;
|
|
67395
|
+
el.style.top = `${placement.top + offsetY}px`;
|
|
67396
|
+
el.dataset.side = placement.side;
|
|
67397
|
+
el.style.visibility = "visible";
|
|
67398
|
+
};
|
|
67399
|
+
const onResize = () => {
|
|
67400
|
+
if (anchor.current !== null) anchorRect = anchor.current.getBoundingClientRect();
|
|
67401
|
+
fit();
|
|
67402
|
+
};
|
|
67403
|
+
const observer = new ResizeObserver((entries) => {
|
|
67404
|
+
size = entries[0]?.borderBoxSize[0];
|
|
67405
|
+
fit();
|
|
67406
|
+
});
|
|
67407
|
+
observer.observe(el, { box: "border-box" });
|
|
67408
|
+
window.addEventListener("resize", onResize);
|
|
67409
|
+
return () => {
|
|
67410
|
+
observer.disconnect();
|
|
67411
|
+
window.removeEventListener("resize", onResize);
|
|
67412
|
+
};
|
|
67413
|
+
}, [
|
|
67414
|
+
align,
|
|
67415
|
+
gap,
|
|
67416
|
+
pos,
|
|
67417
|
+
side,
|
|
67418
|
+
suppressed,
|
|
67419
|
+
visible
|
|
67420
|
+
]);
|
|
67421
|
+
(0, import_react.useEffect)(() => {
|
|
67422
|
+
announce(visible);
|
|
67423
|
+
return () => {
|
|
67424
|
+
announce(false);
|
|
67425
|
+
};
|
|
67426
|
+
}, [announce, visible]);
|
|
67427
|
+
const cancelShow = (0, import_react.useCallback)(() => {
|
|
67428
|
+
if (showTimer.current === null) return;
|
|
67429
|
+
clearTimeout(showTimer.current);
|
|
67430
|
+
showTimer.current = null;
|
|
67431
|
+
}, []);
|
|
67432
|
+
(0, import_react.useEffect)(() => {
|
|
67433
|
+
if (pinned && (disabled || !openOnClick)) setPinned(false);
|
|
67434
|
+
if (disabled) {
|
|
67435
|
+
cancelShow();
|
|
67436
|
+
triggers.current = {
|
|
67437
|
+
hover: false,
|
|
67438
|
+
focus: false
|
|
67439
|
+
};
|
|
67440
|
+
setPos(null);
|
|
67441
|
+
}
|
|
67442
|
+
return cancelShow;
|
|
67443
|
+
}, [
|
|
67444
|
+
cancelShow,
|
|
67445
|
+
disabled,
|
|
67446
|
+
openOnClick,
|
|
67447
|
+
pinned
|
|
67448
|
+
]);
|
|
67449
|
+
const show = () => {
|
|
67450
|
+
if (disabled) return;
|
|
67451
|
+
const el = anchor.current;
|
|
67452
|
+
/* v8 ignore next -- the ref is attached by event time: events fire on the cloned anchor. */
|
|
67453
|
+
if (el === null) return;
|
|
67454
|
+
setPos(el.getBoundingClientRect());
|
|
67455
|
+
announce(true);
|
|
67456
|
+
};
|
|
67457
|
+
const showAfterDelay = (delay) => {
|
|
67458
|
+
cancelShow();
|
|
67459
|
+
if (delay <= 0) {
|
|
67460
|
+
show();
|
|
67461
|
+
return;
|
|
67462
|
+
}
|
|
67463
|
+
showTimer.current = setTimeout(() => {
|
|
67464
|
+
showTimer.current = null;
|
|
67465
|
+
show();
|
|
67466
|
+
}, delay);
|
|
67467
|
+
};
|
|
67468
|
+
const withdraw = (0, import_react.useCallback)(() => {
|
|
67469
|
+
setPinned(false);
|
|
67470
|
+
setPos(null);
|
|
67471
|
+
announce(false);
|
|
67472
|
+
}, [announce]);
|
|
67473
|
+
const hide = () => {
|
|
67474
|
+
cancelShow();
|
|
67475
|
+
if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
|
|
67476
|
+
};
|
|
67477
|
+
const dismiss = (0, import_react.useCallback)(() => {
|
|
67478
|
+
cancelShow();
|
|
67479
|
+
triggers.current = {
|
|
67480
|
+
hover: false,
|
|
67481
|
+
focus: false
|
|
67482
|
+
};
|
|
67483
|
+
withdraw();
|
|
67484
|
+
}, [cancelShow, withdraw]);
|
|
67485
|
+
useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
|
|
67486
|
+
(0, import_react.useEffect)(() => {
|
|
67487
|
+
if (!openOnClick || !visible) return;
|
|
67488
|
+
const onKeyDown = (event) => {
|
|
67489
|
+
if (event.key !== "Escape" && event.key !== "Tab") return;
|
|
67490
|
+
if (event.key === "Escape") {
|
|
67491
|
+
event.preventDefault();
|
|
67492
|
+
event.stopPropagation();
|
|
67493
|
+
}
|
|
67494
|
+
dismiss();
|
|
67495
|
+
};
|
|
67496
|
+
document.addEventListener("keydown", onKeyDown, true);
|
|
67497
|
+
return () => {
|
|
67498
|
+
document.removeEventListener("keydown", onKeyDown, true);
|
|
67499
|
+
};
|
|
67500
|
+
}, [
|
|
67501
|
+
dismiss,
|
|
67502
|
+
openOnClick,
|
|
67503
|
+
visible
|
|
67504
|
+
]);
|
|
67505
|
+
const content = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
|
|
67506
|
+
ref: bubble,
|
|
67507
|
+
id: openOnClick ? id : void 0,
|
|
67508
|
+
className: Tooltip_module_default.bubble,
|
|
67509
|
+
"data-side": side,
|
|
67510
|
+
"data-portal": portal || void 0,
|
|
67511
|
+
"data-pinned": pinned || void 0,
|
|
67512
|
+
"data-align": align,
|
|
67513
|
+
"data-has-shortcut": shortcutKeys?.length ? true : void 0,
|
|
67514
|
+
style: {
|
|
67515
|
+
left: pos.left,
|
|
67516
|
+
top: pos.top,
|
|
67517
|
+
visibility: "hidden",
|
|
67518
|
+
...maxWidth === void 0 ? {} : { maxWidth: `min(${maxWidth}px, calc(100vw - 24px))` }
|
|
67519
|
+
},
|
|
67520
|
+
role: "tooltip",
|
|
67521
|
+
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
67522
|
+
children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
|
|
67523
|
+
className: Tooltip_module_default.label,
|
|
67524
|
+
children: resolvedLabel
|
|
67525
|
+
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
|
|
67526
|
+
keys: shortcutKeys,
|
|
67527
|
+
variant: "tooltip"
|
|
67528
|
+
})]
|
|
67529
|
+
});
|
|
67530
|
+
return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
|
|
67531
|
+
value: setSuppressed,
|
|
67532
|
+
children: [(0, import_react.cloneElement)(children, {
|
|
67533
|
+
ref: mergedRef,
|
|
67534
|
+
"aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
|
|
67535
|
+
onMouseEnter: (e) => {
|
|
67536
|
+
children.props.onMouseEnter?.(e);
|
|
67537
|
+
triggers.current.hover = true;
|
|
67538
|
+
showAfterDelay(delayMs);
|
|
67539
|
+
},
|
|
67540
|
+
onMouseLeave: (e) => {
|
|
67541
|
+
children.props.onMouseLeave?.(e);
|
|
67542
|
+
triggers.current.hover = false;
|
|
67543
|
+
cancelShow();
|
|
67544
|
+
if (!pinned) withdraw();
|
|
67545
|
+
},
|
|
67546
|
+
onClick: (e) => {
|
|
67547
|
+
children.props.onClick?.(e);
|
|
67548
|
+
triggers.current.focus = false;
|
|
67549
|
+
cancelShow();
|
|
67550
|
+
if (openOnClick && !disabled && !pinned) {
|
|
67551
|
+
setPinned(true);
|
|
67552
|
+
show();
|
|
67553
|
+
} else withdraw();
|
|
67554
|
+
},
|
|
67555
|
+
onFocus: (e) => {
|
|
67556
|
+
children.props.onFocus?.(e);
|
|
67557
|
+
if (pointerModality()) return;
|
|
67558
|
+
triggers.current.focus = true;
|
|
67559
|
+
showAfterDelay(focusDelayMs);
|
|
67560
|
+
},
|
|
67561
|
+
onBlur: (e) => {
|
|
67562
|
+
children.props.onBlur?.(e);
|
|
67563
|
+
triggers.current.focus = false;
|
|
67564
|
+
hide();
|
|
67565
|
+
}
|
|
67566
|
+
}), portal ? content !== false && (0, import_react_dom.createPortal)(content, document.body) : content]
|
|
67567
|
+
});
|
|
67568
|
+
}
|
|
66115
67569
|
/**
|
|
66116
67570
|
* The client's ONE syntax highlighter: a synchronous fine-grained shiki core
|
|
66117
67571
|
* (JavaScript regex engine — no oniguruma WASM, bundle-friendly) with an
|