@deepseek-harness-tui/dsh-tui 0.14.1 → 0.16.0
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.md +163 -17
- package/bin/dsh-tui.js +200 -34
- package/cordis.patch.yml +16 -52
- package/cordis.yml +6 -2
- package/guide/dsh-tui-guide/claude-backend.en.md +44 -7
- package/guide/dsh-tui-guide/claude-backend.md +28 -6
- package/guide/dsh-tui-guide/codex-backend.en.md +47 -10
- package/guide/dsh-tui-guide/codex-backend.md +26 -4
- package/guide/dsh-tui-guide/configuration.en.md +168 -18
- package/guide/dsh-tui-guide/configuration.md +144 -16
- package/guide/dsh-tui-guide/getting-started.en.md +15 -0
- package/guide/dsh-tui-guide/getting-started.md +15 -0
- package/guide/dsh-tui-guide/interaction.en.md +64 -24
- package/guide/dsh-tui-guide/interaction.md +49 -19
- package/guide/dsh-tui-guide/plugins.en.md +97 -3
- package/guide/dsh-tui-guide/plugins.md +55 -2
- package/guide/dsh-tui-guide/themes.en.md +23 -14
- package/guide/dsh-tui-guide/themes.md +19 -12
- package/guide/dsh-tui-guide/user-guide.en.md +53 -21
- package/guide/dsh-tui-guide/user-guide.md +43 -22
- package/lib/settings.json +103 -9
- package/lib/types/adapter/channel/projection.d.ts.map +1 -1
- package/lib/types/adapter/channel/projection.js +1 -0
- package/lib/types/adapter/channel/ui-policy.d.ts +1 -1
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +4 -0
- package/lib/types/adapter/channel/ui.d.ts +2 -0
- package/lib/types/adapter/channel/ui.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui.js +6 -2
- package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
- package/lib/types/adapter/kernel/runtime.js +2 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts +5 -1
- package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-settings.d.ts +14 -3
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +56 -12
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +68 -0
- package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel.d.ts +2 -0
- package/lib/types/adapter/ports/channel.d.ts.map +1 -1
- package/lib/types/adapter/spec/backend-capabilities.d.ts +22 -0
- package/lib/types/adapter/spec/backend-capabilities.d.ts.map +1 -0
- package/lib/types/adapter/spec/backend-capabilities.js +49 -0
- package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
- package/lib/types/adapter/spec/protocol-constants.js +10 -3
- package/lib/types/adapter/spec/tui-contributions.d.ts +3 -0
- package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
- package/lib/types/adapter/spec/tui-contributions.js +7 -0
- package/lib/types/adapter/standard/registry.d.ts +6 -0
- package/lib/types/adapter/standard/registry.d.ts.map +1 -1
- package/lib/types/adapter/standard/registry.js +65 -15
- package/lib/types/adapter/standard/tui-extension.d.ts.map +1 -1
- package/lib/types/adapter/standard/tui-extension.js +7 -1
- package/lib/types/adapter/standard/types.d.ts +10 -1
- package/lib/types/adapter/standard/types.d.ts.map +1 -1
- package/lib/types/adapter/upstream/host-descriptor-driver.d.ts.map +1 -1
- package/lib/types/adapter/upstream/host-descriptor-driver.js +52 -0
- package/lib/types/agent/backend-manifest.d.ts +152 -0
- package/lib/types/agent/backend-manifest.d.ts.map +1 -0
- package/lib/types/agent/backend-manifest.js +14 -0
- package/lib/types/agent/backend.d.ts +71 -5
- package/lib/types/agent/backend.d.ts.map +1 -1
- package/lib/types/agent/capabilities.d.ts +6 -0
- package/lib/types/agent/capabilities.d.ts.map +1 -1
- package/lib/types/agent/events.d.ts +3 -2
- package/lib/types/agent/events.d.ts.map +1 -1
- package/lib/types/agent/index.d.ts +2 -0
- package/lib/types/agent/index.d.ts.map +1 -1
- package/lib/types/agent/refs.d.ts +11 -1
- package/lib/types/agent/refs.d.ts.map +1 -1
- package/lib/types/agent/starting-session.d.ts +4 -0
- package/lib/types/agent/starting-session.d.ts.map +1 -0
- package/lib/types/agent/starting-session.js +19 -0
- package/lib/types/backends/claude/activity.d.ts +1 -1
- package/lib/types/backends/claude/activity.d.ts.map +1 -1
- package/lib/types/backends/claude/activity.js +5 -5
- package/lib/types/backends/claude/auth.d.ts.map +1 -1
- package/lib/types/backends/claude/auth.js +10 -3
- package/lib/types/backends/claude/backend.d.ts.map +1 -1
- package/lib/types/backends/claude/backend.js +103 -29
- package/lib/types/backends/claude/catalog.d.ts +2 -1
- package/lib/types/backends/claude/catalog.d.ts.map +1 -1
- package/lib/types/backends/claude/catalog.js +15 -5
- package/lib/types/backends/claude/channels.d.ts +5 -3
- package/lib/types/backends/claude/channels.d.ts.map +1 -1
- package/lib/types/backends/claude/channels.js +5 -4
- package/lib/types/backends/claude/contract.d.ts +4 -0
- package/lib/types/backends/claude/contract.d.ts.map +1 -1
- package/lib/types/backends/claude/contract.js +4 -0
- package/lib/types/backends/claude/controls.d.ts +4 -0
- package/lib/types/backends/claude/controls.d.ts.map +1 -1
- package/lib/types/backends/claude/controls.js +34 -42
- package/lib/types/backends/claude/dialogs.d.ts +8 -2
- package/lib/types/backends/claude/dialogs.d.ts.map +1 -1
- package/lib/types/backends/claude/dialogs.js +24 -16
- package/lib/types/backends/claude/images.d.ts +1 -1
- package/lib/types/backends/claude/images.d.ts.map +1 -1
- package/lib/types/backends/claude/images.js +7 -7
- package/lib/types/backends/claude/manifest.d.ts +21 -0
- package/lib/types/backends/claude/manifest.d.ts.map +1 -0
- package/lib/types/backends/claude/manifest.js +29 -0
- package/lib/types/backends/claude/older-history.js +2 -2
- package/lib/types/backends/claude/permissions.js +11 -11
- package/lib/types/backends/claude/prefs.d.ts +4 -2
- package/lib/types/backends/claude/prefs.d.ts.map +1 -1
- package/lib/types/backends/claude/prefs.js +4 -3
- package/lib/types/backends/claude/process.d.ts +16 -4
- package/lib/types/backends/claude/process.d.ts.map +1 -1
- package/lib/types/backends/claude/process.js +100 -37
- package/lib/types/backends/claude/send-message.d.ts +1 -1
- package/lib/types/backends/claude/send-message.d.ts.map +1 -1
- package/lib/types/backends/claude/session/auth.js +22 -22
- package/lib/types/backends/claude/session/channels.d.ts +4 -0
- package/lib/types/backends/claude/session/channels.d.ts.map +1 -1
- package/lib/types/backends/claude/session/channels.js +5 -3
- package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -1
- package/lib/types/backends/claude/session/lifecycle.js +31 -23
- package/lib/types/backends/claude/session/store.js +8 -8
- package/lib/types/backends/claude/session/subagents.js +2 -2
- package/lib/types/backends/claude/session/types.d.ts +7 -0
- package/lib/types/backends/claude/session/types.d.ts.map +1 -1
- package/lib/types/backends/claude/side-query.js +3 -3
- package/lib/types/backends/claude/task-output.js +5 -5
- package/lib/types/backends/claude/text.d.ts +778 -0
- package/lib/types/backends/claude/text.d.ts.map +1 -0
- package/lib/types/backends/claude/text.js +298 -0
- package/lib/types/backends/claude/transcript-file.d.ts +1 -1
- package/lib/types/backends/claude/transcript-file.d.ts.map +1 -1
- package/lib/types/backends/claude/transcript-file.js +4 -4
- package/lib/types/backends/claude/translate/attempts.js +2 -2
- package/lib/types/backends/claude/translate/core.js +3 -3
- package/lib/types/backends/claude/translate/messages.js +4 -4
- package/lib/types/backends/claude/translate/system.js +14 -14
- package/lib/types/backends/claude/translate/tasks.js +2 -2
- package/lib/types/backends/claude/translate/types.d.ts +1 -1
- package/lib/types/backends/claude/translate/types.d.ts.map +1 -1
- package/lib/types/backends/codex/auth/external-tokens.js +16 -16
- package/lib/types/backends/codex/auth/status.js +14 -14
- package/lib/types/backends/codex/backend.d.ts +4 -19
- package/lib/types/backends/codex/backend.d.ts.map +1 -1
- package/lib/types/backends/codex/backend.js +118 -25
- package/lib/types/backends/codex/catalog.d.ts +2 -1
- package/lib/types/backends/codex/catalog.d.ts.map +1 -1
- package/lib/types/backends/codex/catalog.js +63 -18
- package/lib/types/backends/codex/channels.d.ts +6 -3
- package/lib/types/backends/codex/channels.d.ts.map +1 -1
- package/lib/types/backends/codex/channels.js +15 -13
- package/lib/types/backends/codex/contract.d.ts +3 -0
- package/lib/types/backends/codex/contract.d.ts.map +1 -1
- package/lib/types/backends/codex/contract.js +3 -0
- package/lib/types/backends/codex/detect.d.ts.map +1 -1
- package/lib/types/backends/codex/detect.js +9 -6
- package/lib/types/backends/codex/manifest.d.ts +30 -0
- package/lib/types/backends/codex/manifest.d.ts.map +1 -0
- package/lib/types/backends/codex/manifest.js +23 -0
- package/lib/types/backends/codex/prefs.d.ts +4 -2
- package/lib/types/backends/codex/prefs.d.ts.map +1 -1
- package/lib/types/backends/codex/prefs.js +4 -3
- package/lib/types/backends/codex/rpc/hub.js +2 -2
- package/lib/types/backends/codex/session/activity.d.ts +1 -1
- package/lib/types/backends/codex/session/activity.d.ts.map +1 -1
- package/lib/types/backends/codex/session/activity.js +13 -13
- package/lib/types/backends/codex/session/approvals.js +30 -30
- package/lib/types/backends/codex/session/async-questions.d.ts +17 -0
- package/lib/types/backends/codex/session/async-questions.d.ts.map +1 -0
- package/lib/types/backends/codex/session/async-questions.js +89 -0
- package/lib/types/backends/codex/session/commands.d.ts +8 -2
- package/lib/types/backends/codex/session/commands.d.ts.map +1 -1
- package/lib/types/backends/codex/session/commands.js +71 -23
- package/lib/types/backends/codex/session/controls.d.ts +1 -1
- package/lib/types/backends/codex/session/controls.d.ts.map +1 -1
- package/lib/types/backends/codex/session/controls.js +21 -16
- package/lib/types/backends/codex/session/goals.d.ts.map +1 -1
- package/lib/types/backends/codex/session/goals.js +3 -3
- package/lib/types/backends/codex/session/history.js +2 -2
- package/lib/types/backends/codex/session/images.js +8 -8
- package/lib/types/backends/codex/session/input.d.ts +6 -2
- package/lib/types/backends/codex/session/input.d.ts.map +1 -1
- package/lib/types/backends/codex/session/input.js +55 -13
- package/lib/types/backends/codex/session/plan-review.js +6 -6
- package/lib/types/backends/codex/session/session.d.ts.map +1 -1
- package/lib/types/backends/codex/session/session.js +100 -42
- package/lib/types/backends/codex/session/side-query.d.ts.map +1 -1
- package/lib/types/backends/codex/session/side-query.js +27 -9
- package/lib/types/backends/codex/session/state.d.ts +6 -1
- package/lib/types/backends/codex/session/state.d.ts.map +1 -1
- package/lib/types/backends/codex/session/subagents.js +5 -5
- package/lib/types/backends/codex/session/tasks.js +4 -4
- package/lib/types/backends/codex/text.d.ts +933 -0
- package/lib/types/backends/codex/text.d.ts.map +1 -0
- package/lib/types/backends/codex/text.js +313 -0
- package/lib/types/backends/codex/translate/items.d.ts.map +1 -1
- package/lib/types/backends/codex/translate/items.js +7 -5
- package/lib/types/backends/codex/translate/live.d.ts.map +1 -1
- package/lib/types/backends/codex/translate/live.js +11 -8
- package/lib/types/backends/codex/translate/notices.js +10 -10
- package/lib/types/backends/codex/translate/question-reply.d.ts +11 -0
- package/lib/types/backends/codex/translate/question-reply.d.ts.map +1 -0
- package/lib/types/backends/codex/translate/question-reply.js +53 -0
- package/lib/types/backends/shared/channel-slug.d.ts +4 -0
- package/lib/types/backends/shared/channel-slug.d.ts.map +1 -0
- package/lib/types/backends/shared/channel-slug.js +25 -0
- package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -1
- package/lib/types/backends/shared/channel-tokens.js +30 -23
- package/lib/types/{channel → backends/shared}/elicitation.d.ts +78 -21
- package/lib/types/backends/shared/elicitation.d.ts.map +1 -0
- package/lib/types/{channel → backends/shared}/elicitation.js +64 -66
- package/lib/types/backends/shared/image-size.d.ts +33 -0
- package/lib/types/backends/shared/image-size.d.ts.map +1 -0
- package/lib/types/backends/shared/image-size.js +134 -0
- package/lib/types/{utils → backends/shared}/jsonl.d.ts +5 -1
- package/lib/types/backends/shared/jsonl.d.ts.map +1 -0
- package/lib/types/{utils → backends/shared}/jsonl.js +5 -1
- package/lib/types/backends/shared/localized-text.d.ts +30 -0
- package/lib/types/backends/shared/localized-text.d.ts.map +1 -0
- package/lib/types/backends/shared/localized-text.js +24 -0
- package/lib/types/backends/shared/platform-text.d.ts +88 -0
- package/lib/types/backends/shared/platform-text.d.ts.map +1 -0
- package/lib/types/backends/shared/platform-text.js +33 -0
- package/lib/types/branding.d.ts +13 -0
- package/lib/types/branding.d.ts.map +1 -1
- package/lib/types/branding.js +18 -0
- package/lib/types/channel/channel-slug.d.ts +3 -1
- package/lib/types/channel/channel-slug.d.ts.map +1 -1
- package/lib/types/channel/channel-slug.js +3 -1
- package/lib/types/channel/projection.d.ts.map +1 -1
- package/lib/types/channel/projection.js +10 -0
- package/lib/types/channel/sanitize.d.ts +7 -0
- package/lib/types/channel/sanitize.d.ts.map +1 -1
- package/lib/types/channel/sanitize.js +9 -0
- package/lib/types/channel/usage.d.ts.map +1 -1
- package/lib/types/channel/usage.js +5 -0
- package/lib/types/commands.d.ts +15 -0
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +58 -10
- package/lib/types/components/AgentMessageComposer.d.ts.map +1 -1
- package/lib/types/components/AgentMessageComposer.js +3 -2
- package/lib/types/components/BtwPanel.d.ts.map +1 -1
- package/lib/types/components/BtwPanel.js +4 -2
- package/lib/types/components/Chat/JobCard.js +3 -3
- package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
- package/lib/types/components/CommandSuggestions.js +24 -7
- package/lib/types/components/ContextBarView.d.ts +5 -1
- package/lib/types/components/ContextBarView.d.ts.map +1 -1
- package/lib/types/components/ContextBarView.js +6 -3
- package/lib/types/components/ExtensionDialog.d.ts.map +1 -1
- package/lib/types/components/ExtensionDialog.js +2 -3
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/GoalTodoPanel.js +14 -3
- package/lib/types/components/InlineMathParagraph.js +1 -1
- package/lib/types/components/KernelPicker.d.ts.map +1 -1
- package/lib/types/components/KernelPicker.js +1 -1
- package/lib/types/components/LogoV2.d.ts +4 -1
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +14 -9
- package/lib/types/components/MarkdownTable.d.ts.map +1 -1
- package/lib/types/components/MarkdownTable.js +4 -3
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +109 -15
- package/lib/types/components/ModelPicker.d.ts +24 -31
- package/lib/types/components/ModelPicker.d.ts.map +1 -1
- package/lib/types/components/ModelPicker.js +115 -40
- package/lib/types/components/PermissionsPicker.d.ts +10 -1
- package/lib/types/components/PermissionsPicker.d.ts.map +1 -1
- package/lib/types/components/PermissionsPicker.js +24 -16
- package/lib/types/components/PluginInstallPane.d.ts +21 -0
- package/lib/types/components/PluginInstallPane.d.ts.map +1 -0
- package/lib/types/components/PluginInstallPane.js +84 -0
- package/lib/types/components/PluginManagePane.d.ts +21 -0
- package/lib/types/components/PluginManagePane.d.ts.map +1 -0
- package/lib/types/components/PluginManagePane.js +69 -0
- package/lib/types/components/PromptEditor.d.ts +3 -3
- package/lib/types/components/PromptInput.d.ts +21 -3
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +65 -121
- package/lib/types/components/SdkInstallWizard.d.ts +3 -1
- package/lib/types/components/SdkInstallWizard.d.ts.map +1 -1
- package/lib/types/components/SdkInstallWizard.js +8 -1
- package/lib/types/components/SearchBox.d.ts +13 -15
- package/lib/types/components/SearchBox.d.ts.map +1 -1
- package/lib/types/components/SearchBox.js +58 -27
- package/lib/types/components/SubagentCard.d.ts +13 -1
- package/lib/types/components/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +27 -12
- package/lib/types/components/SubagentDashboard.d.ts +8 -1
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
- package/lib/types/components/SubagentDashboard.js +58 -16
- package/lib/types/components/ThemePicker.d.ts +1 -1
- package/lib/types/components/ThemePicker.d.ts.map +1 -1
- package/lib/types/components/ThemePicker.js +14 -11
- package/lib/types/components/Tooltip.js +1 -1
- package/lib/types/components/WorkingSpinner.js +1 -1
- package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -1
- package/lib/types/components/WorkspaceFlowPicker.js +4 -3
- package/lib/types/components/composerImageTokens.d.ts +24 -0
- package/lib/types/components/composerImageTokens.d.ts.map +1 -0
- package/lib/types/components/composerImageTokens.js +37 -0
- package/lib/types/components/design-system/InputCaret.d.ts +7 -0
- package/lib/types/components/design-system/InputCaret.d.ts.map +1 -0
- package/lib/types/components/design-system/InputCaret.js +9 -0
- package/lib/types/components/design-system/ListItem.d.ts +13 -2
- package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
- package/lib/types/components/design-system/ListItem.js +11 -5
- package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemeProvider.js +6 -8
- package/lib/types/components/kernelCatalog.d.ts +55 -11
- package/lib/types/components/kernelCatalog.d.ts.map +1 -1
- package/lib/types/components/kernelCatalog.js +42 -23
- package/lib/types/components/launchpadActions.d.ts +4 -0
- package/lib/types/components/launchpadActions.d.ts.map +1 -1
- package/lib/types/components/launchpadActions.js +5 -4
- package/lib/types/components/launchpadLayout.d.ts +14 -1
- package/lib/types/components/launchpadLayout.d.ts.map +1 -1
- package/lib/types/components/launchpadLayout.js +38 -19
- package/lib/types/components/messages/TeamMessageBubble.d.ts +20 -0
- package/lib/types/components/messages/TeamMessageBubble.d.ts.map +1 -0
- package/lib/types/components/messages/TeamMessageBubble.js +15 -0
- package/lib/types/components/messages/UserPromptMessage.d.ts +4 -3
- package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -1
- package/lib/types/components/messages/UserPromptMessage.js +4 -3
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.js +8 -3
- package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
- package/lib/types/components/questions/PlanReviewPanel.js +4 -3
- package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -1
- package/lib/types/components/questions/ProviderModelEditor.js +3 -13
- package/lib/types/components/sessions/ForeignSessionRow.d.ts +3 -1
- package/lib/types/components/sessions/ForeignSessionRow.d.ts.map +1 -1
- package/lib/types/components/sessions/ForeignSessionRow.js +5 -2
- package/lib/types/components/sessions/SessionListRow.d.ts +3 -1
- package/lib/types/components/sessions/SessionListRow.d.ts.map +1 -1
- package/lib/types/components/sessions/SessionListRow.js +5 -2
- package/lib/types/components/sidePanel/PanelBar.d.ts +1 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -1
- package/lib/types/components/sidePanel/PanelBar.js +21 -17
- package/lib/types/components/sidePanel/PanelHost.d.ts.map +1 -1
- package/lib/types/components/sidePanel/PanelHost.js +5 -1
- package/lib/types/components/sidePanel/PanelStore.d.ts +8 -0
- package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -1
- package/lib/types/components/sidePanel/PanelStore.js +11 -0
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts +1 -1
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
- package/lib/types/components/sidePanel/SidePanelColumn.js +15 -2
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts +6 -4
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -1
- package/lib/types/components/sidePanel/SidePanelLayout.js +33 -7
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts +7 -0
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts.map +1 -1
- package/lib/types/components/sidePanel/SidePanelRuntimeContext.js +4 -0
- package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +7 -2
- package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwComposer.js +28 -8
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts +2 -1
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +156 -21
- package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts +6 -2
- package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadScene.js +64 -16
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +15 -5
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadView.js +101 -10
- package/lib/types/components/sidePanel/btw/threads.d.ts +18 -0
- package/lib/types/components/sidePanel/btw/threads.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/threads.js +51 -0
- package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -1
- package/lib/types/components/sidePanel/builtinPanels.js +5 -1
- package/lib/types/components/sidePanel/companion/CompanionPanel.js +2 -2
- package/lib/types/components/sidePanel/companion/SplashMascot.d.ts +5 -1
- package/lib/types/components/sidePanel/companion/SplashMascot.d.ts.map +1 -1
- package/lib/types/components/sidePanel/companion/SplashMascot.js +19 -4
- package/lib/types/components/sidePanel/companion/skins.d.ts +8 -0
- package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -1
- package/lib/types/components/sidePanel/companion/skins.js +57 -12
- package/lib/types/components/sidePanel/types.d.ts +7 -1
- package/lib/types/components/sidePanel/types.d.ts.map +1 -1
- package/lib/types/components/sidePanel/useSidePanel.d.ts +2 -0
- package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -1
- package/lib/types/components/sidePanel/useSidePanel.js +11 -1
- package/lib/types/components/splashArtRows.d.ts +29 -0
- package/lib/types/components/splashArtRows.d.ts.map +1 -0
- package/lib/types/components/splashArtRows.js +31 -0
- package/lib/types/components/splashFonts.d.ts +24 -1
- package/lib/types/components/splashFonts.d.ts.map +1 -1
- package/lib/types/components/splashFonts.js +40 -5
- package/lib/types/components/teamRoster.d.ts +70 -0
- package/lib/types/components/teamRoster.d.ts.map +1 -0
- package/lib/types/components/teamRoster.js +78 -0
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.js +5 -2
- package/lib/types/dsh-adapter/admission-loader.d.ts +102 -0
- package/lib/types/dsh-adapter/admission-loader.d.ts.map +1 -0
- package/lib/types/dsh-adapter/admission-loader.js +301 -0
- package/lib/types/dsh-adapter/agent-view.d.ts.map +1 -1
- package/lib/types/dsh-adapter/agent-view.js +3 -1
- package/lib/types/dsh-adapter/approvals.d.ts +7 -0
- package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
- package/lib/types/dsh-adapter/approvals.js +45 -1
- package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -1
- package/lib/types/dsh-adapter/backend/translate.js +71 -8
- package/lib/types/dsh-adapter/backend-admission.d.ts +64 -0
- package/lib/types/dsh-adapter/backend-admission.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-admission.js +34 -0
- package/lib/types/dsh-adapter/backend-assembly.d.ts +31 -0
- package/lib/types/dsh-adapter/backend-assembly.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-assembly.js +225 -0
- package/lib/types/dsh-adapter/backend-contribution.d.ts +62 -0
- package/lib/types/dsh-adapter/backend-contribution.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-contribution.js +78 -0
- package/lib/types/dsh-adapter/backend-registry.d.ts +136 -0
- package/lib/types/dsh-adapter/backend-registry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-registry.js +304 -0
- package/lib/types/dsh-adapter/backends.d.ts +67 -24
- package/lib/types/dsh-adapter/backends.d.ts.map +1 -1
- package/lib/types/dsh-adapter/backends.generated.d.ts +12 -0
- package/lib/types/dsh-adapter/backends.generated.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backends.generated.js +6 -0
- package/lib/types/dsh-adapter/backends.js +91 -46
- package/lib/types/dsh-adapter/bundled-presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/bundled-presets.js +60 -3
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts +2 -0
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/action-readiness.js +9 -3
- package/lib/types/dsh-adapter/channel/agent-view-projection.js +2 -2
- package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/background-action.js +8 -3
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +17 -3
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +19 -46
- package/lib/types/dsh-adapter/channel/channel-host.d.ts +45 -0
- package/lib/types/dsh-adapter/channel/channel-host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/channel-host.js +1 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts +5 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/command-completions.js +79 -6
- package/lib/types/dsh-adapter/channel/compaction.d.ts +7 -2
- package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/compaction.js +100 -26
- package/lib/types/dsh-adapter/channel/composer-images.d.ts +4 -2
- package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/composer-images.js +36 -5
- package/lib/types/dsh-adapter/channel/cordis-host.d.ts +14 -0
- package/lib/types/dsh-adapter/channel/cordis-host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/cordis-host.js +35 -0
- package/lib/types/dsh-adapter/channel/core/actions.d.ts +3 -3
- package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/actions.js +15 -6
- package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +10 -3
- package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/binding-feed.js +5 -1
- package/lib/types/dsh-adapter/channel/core/compose.d.ts +12 -28
- package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/compose.js +330 -117
- package/lib/types/dsh-adapter/channel/core/files.d.ts +7 -2
- package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/files.js +1 -0
- package/lib/types/dsh-adapter/channel/core/host.d.ts +12 -6
- package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/host.js +69 -35
- package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +5 -3
- package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/local-actions.js +5 -2
- package/lib/types/dsh-adapter/channel/core/session-controls.js +2 -2
- package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +7 -4
- package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/session-switch.js +8 -4
- package/lib/types/dsh-adapter/channel/core/sessions.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/sessions.js +75 -16
- package/lib/types/dsh-adapter/channel/extensions.d.ts +4 -3
- package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/extensions.js +109 -30
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts +2 -2
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/input-delivery.js +14 -5
- package/lib/types/dsh-adapter/channel/job-projection.d.ts +4 -0
- package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/job-projection.js +205 -24
- package/lib/types/dsh-adapter/channel/mentions.d.ts +3 -3
- package/lib/types/dsh-adapter/channel/mentions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +7 -0
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.js +235 -13
- package/lib/types/dsh-adapter/channel/model-actions.d.ts +5 -1
- package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/model-actions.js +48 -29
- package/lib/types/dsh-adapter/channel/model-selection.d.ts +17 -0
- package/lib/types/dsh-adapter/channel/model-selection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/model-selection.js +109 -0
- package/lib/types/dsh-adapter/channel/model-switch.d.ts +12 -21
- package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/model-switch.js +39 -102
- package/lib/types/dsh-adapter/channel/permissions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/permissions.js +4 -1
- package/lib/types/dsh-adapter/channel/projection-helpers.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/projection-helpers.js +2 -0
- package/lib/types/dsh-adapter/channel/projection.js +1 -1
- package/lib/types/dsh-adapter/channel/reports.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/reports.js +11 -3
- package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-fork.js +33 -20
- package/lib/types/dsh-adapter/channel/session-listing.d.ts +20 -0
- package/lib/types/dsh-adapter/channel/session-listing.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-listing.js +51 -0
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts +3 -1
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-metadata.js +60 -30
- package/lib/types/dsh-adapter/channel/session-reset.js +2 -2
- package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-resume.js +22 -8
- package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-rewind.js +38 -24
- package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-tree-actions.js +38 -24
- package/lib/types/dsh-adapter/channel/settings-host.d.ts +5 -2
- package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/settings-host.js +136 -5
- package/lib/types/dsh-adapter/channel/state.d.ts +43 -1
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +14 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.js +84 -12
- package/lib/types/dsh-adapter/channel/task-completion.d.ts +6 -0
- package/lib/types/dsh-adapter/channel/task-completion.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/task-completion.js +114 -0
- package/lib/types/dsh-adapter/channel/transcript.d.ts +8 -1
- package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/transcript.js +20 -3
- package/lib/types/dsh-adapter/channel/upstream-retry.d.ts +81 -0
- package/lib/types/dsh-adapter/channel/upstream-retry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/upstream-retry.js +138 -0
- package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/workspace-actions.js +9 -8
- package/lib/types/dsh-adapter/channel-ui.d.ts +3 -1
- package/lib/types/dsh-adapter/channel-ui.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel-ui.js +4 -2
- package/lib/types/dsh-adapter/channel.d.ts +2 -2
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +19 -5
- package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts +55 -0
- package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/agent-team-0.2.0.js +96 -0
- package/lib/types/dsh-adapter/context-occupancy.d.ts +81 -4
- package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -1
- package/lib/types/dsh-adapter/context-occupancy.js +108 -17
- package/lib/types/dsh-adapter/contract.d.ts +4 -4
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +20 -5
- package/lib/types/dsh-adapter/effect-ledger.d.ts +7 -0
- package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -1
- package/lib/types/dsh-adapter/effect-ledger.js +8 -1
- package/lib/types/dsh-adapter/entry-slot.d.ts +38 -0
- package/lib/types/dsh-adapter/entry-slot.d.ts.map +1 -0
- package/lib/types/dsh-adapter/entry-slot.js +28 -0
- package/lib/types/dsh-adapter/fresh-agent.d.ts +22 -0
- package/lib/types/dsh-adapter/fresh-agent.d.ts.map +1 -0
- package/lib/types/dsh-adapter/fresh-agent.js +226 -0
- package/lib/types/dsh-adapter/host-access.d.ts +16 -1
- package/lib/types/dsh-adapter/host-access.d.ts.map +1 -1
- package/lib/types/dsh-adapter/host-access.js +148 -2
- package/lib/types/dsh-adapter/host-contract.d.ts +103 -0
- package/lib/types/dsh-adapter/host-contract.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-contract.js +77 -0
- package/lib/types/dsh-adapter/host-dsh.d.ts +112 -0
- package/lib/types/dsh-adapter/host-dsh.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-dsh.js +481 -0
- package/lib/types/dsh-adapter/host-entry.d.ts +9 -0
- package/lib/types/dsh-adapter/host-entry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-entry.js +253 -0
- package/lib/types/dsh-adapter/index.d.ts +53 -17
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +63 -9
- package/lib/types/dsh-adapter/install/executors.d.ts +44 -0
- package/lib/types/dsh-adapter/install/executors.d.ts.map +1 -0
- package/lib/types/dsh-adapter/install/executors.js +15 -0
- package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts +3 -0
- package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts.map +1 -0
- package/lib/types/dsh-adapter/install/pnpm-profile-add.js +150 -0
- package/lib/types/dsh-adapter/invariant.d.ts +7 -2
- package/lib/types/dsh-adapter/invariant.d.ts.map +1 -1
- package/lib/types/dsh-adapter/invariant.js +6 -3
- package/lib/types/dsh-adapter/jobs.d.ts +7 -0
- package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
- package/lib/types/dsh-adapter/jobs.js +13 -0
- package/lib/types/dsh-adapter/lite-profile.d.ts +50 -0
- package/lib/types/dsh-adapter/lite-profile.d.ts.map +1 -0
- package/lib/types/dsh-adapter/lite-profile.js +49 -0
- package/lib/types/dsh-adapter/migrate/index.js +2 -2
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -1
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
- package/lib/types/dsh-adapter/migrate/parse/jsonl.js +4 -3
- package/lib/types/dsh-adapter/oauth/profiles.d.ts.map +1 -1
- package/lib/types/dsh-adapter/oauth/profiles.js +5 -1
- package/lib/types/dsh-adapter/panels.d.ts +7 -0
- package/lib/types/dsh-adapter/panels.d.ts.map +1 -1
- package/lib/types/dsh-adapter/panels.js +41 -2
- package/lib/types/dsh-adapter/plugin-completions.d.ts +32 -0
- package/lib/types/dsh-adapter/plugin-completions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-completions.js +80 -0
- package/lib/types/dsh-adapter/plugin-declaration.d.ts +119 -0
- package/lib/types/dsh-adapter/plugin-declaration.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-declaration.js +183 -0
- package/lib/types/dsh-adapter/plugin-feed.d.ts +94 -0
- package/lib/types/dsh-adapter/plugin-feed.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-feed.js +135 -0
- package/lib/types/dsh-adapter/plugin-guard.d.ts +115 -0
- package/lib/types/dsh-adapter/plugin-guard.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-guard.js +108 -0
- package/lib/types/dsh-adapter/plugin-host.d.ts +13 -2
- package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin-host.js +34 -8
- package/lib/types/dsh-adapter/plugin-install.d.ts +160 -0
- package/lib/types/dsh-adapter/plugin-install.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-install.js +545 -0
- package/lib/types/dsh-adapter/plugin-manage.d.ts +178 -0
- package/lib/types/dsh-adapter/plugin-manage.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-manage.js +468 -0
- package/lib/types/dsh-adapter/plugin-manager.d.ts +144 -0
- package/lib/types/dsh-adapter/plugin-manager.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-manager.js +83 -0
- package/lib/types/dsh-adapter/plugin.d.ts +50 -1
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +918 -234
- package/lib/types/dsh-adapter/plugins-info.d.ts +130 -8
- package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugins-info.js +469 -44
- package/lib/types/dsh-adapter/process-exit.d.ts +43 -0
- package/lib/types/dsh-adapter/process-exit.d.ts.map +1 -0
- package/lib/types/dsh-adapter/process-exit.js +60 -0
- package/lib/types/dsh-adapter/root-dispose.d.ts +18 -0
- package/lib/types/dsh-adapter/root-dispose.d.ts.map +1 -0
- package/lib/types/dsh-adapter/root-dispose.js +28 -0
- package/lib/types/dsh-adapter/session-list-metadata.d.ts +20 -0
- package/lib/types/dsh-adapter/session-list-metadata.d.ts.map +1 -0
- package/lib/types/dsh-adapter/session-list-metadata.js +56 -0
- package/lib/types/dsh-adapter/session-projection-store.d.ts +66 -0
- package/lib/types/dsh-adapter/session-projection-store.d.ts.map +1 -0
- package/lib/types/dsh-adapter/session-projection-store.js +149 -0
- package/lib/types/dsh-adapter/session-seed.d.ts +11 -0
- package/lib/types/dsh-adapter/session-seed.d.ts.map +1 -0
- package/lib/types/dsh-adapter/session-seed.js +47 -0
- package/lib/types/dsh-adapter/sessions/list.d.ts +3 -1
- package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/list.js +11 -5
- package/lib/types/dsh-adapter/sessions/snapshot.d.ts +0 -2
- package/lib/types/dsh-adapter/sessions/snapshot.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/snapshot.js +7 -70
- package/lib/types/dsh-adapter/settingsEditor.js +2 -2
- package/lib/types/dsh-adapter/sideQuestion.d.ts +21 -0
- package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sideQuestion.js +53 -0
- package/lib/types/dsh-adapter/startup-args.d.ts +2 -0
- package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -1
- package/lib/types/dsh-adapter/startup-args.js +5 -0
- package/lib/types/dsh-adapter/subagents.d.ts +33 -1
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
- package/lib/types/dsh-adapter/subagents.js +112 -9
- package/lib/types/dsh-adapter/team-mode.d.ts +74 -0
- package/lib/types/dsh-adapter/team-mode.d.ts.map +1 -0
- package/lib/types/dsh-adapter/team-mode.js +188 -0
- package/lib/types/dsh-adapter/team-roster.d.ts +67 -0
- package/lib/types/dsh-adapter/team-roster.d.ts.map +1 -0
- package/lib/types/dsh-adapter/team-roster.js +136 -0
- package/lib/types/dsh-adapter/team-tools.d.ts +58 -0
- package/lib/types/dsh-adapter/team-tools.d.ts.map +1 -0
- package/lib/types/dsh-adapter/team-tools.js +208 -0
- package/lib/types/dsh-adapter/tui-settings.d.ts +57 -0
- package/lib/types/dsh-adapter/tui-settings.d.ts.map +1 -0
- package/lib/types/dsh-adapter/tui-settings.js +199 -0
- package/lib/types/dsh-adapter/types.d.ts +1 -1
- package/lib/types/dsh-adapter/types.d.ts.map +1 -1
- package/lib/types/effortPrefs.d.ts +6 -3
- package/lib/types/effortPrefs.d.ts.map +1 -1
- package/lib/types/effortPrefs.js +7 -4
- package/lib/types/hostEntryRoute.d.ts +18 -0
- package/lib/types/hostEntryRoute.d.ts.map +1 -0
- package/lib/types/hostEntryRoute.js +57 -0
- package/lib/types/i18n.d.ts +961 -1439
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +443 -387
- package/lib/types/ink/components/AlternateScreen.js +2 -2
- package/lib/types/ink/components/App.d.ts +1 -0
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +16 -4
- package/lib/types/ink/components/CursorDeclarationContext.d.ts +9 -0
- package/lib/types/ink/components/CursorDeclarationContext.d.ts.map +1 -1
- package/lib/types/ink/components/CursorDeclarationContext.js +2 -0
- package/lib/types/ink/components/ScrollBox.d.ts +9 -0
- package/lib/types/ink/components/ScrollBox.d.ts.map +1 -1
- package/lib/types/ink/components/ScrollBox.js +23 -0
- package/lib/types/ink/dom.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-copy-on-select.d.ts +2 -2
- package/lib/types/ink/hooks/use-copy-on-select.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-copy-on-select.js +13 -7
- package/lib/types/ink/hooks/use-declared-cursor.d.ts +11 -3
- package/lib/types/ink/hooks/use-declared-cursor.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-declared-cursor.js +30 -10
- package/lib/types/ink/ink.d.ts +22 -17
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +151 -40
- package/lib/types/ink/kitty-graphics.d.ts +2 -0
- package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
- package/lib/types/ink/kitty-graphics.js +6 -1
- package/lib/types/ink/node-cache.d.ts +2 -1
- package/lib/types/ink/node-cache.d.ts.map +1 -1
- package/lib/types/ink/output.d.ts +10 -4
- package/lib/types/ink/output.d.ts.map +1 -1
- package/lib/types/ink/output.js +14 -10
- package/lib/types/ink/render-node-to-output.d.ts +5 -2
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +27 -9
- package/lib/types/ink/renderer.d.ts +1 -0
- package/lib/types/ink/renderer.d.ts.map +1 -1
- package/lib/types/ink/renderer.js +4 -3
- package/lib/types/ink/root.d.ts +4 -1
- package/lib/types/ink/root.d.ts.map +1 -1
- package/lib/types/ink/screen.d.ts +4 -2
- package/lib/types/ink/screen.d.ts.map +1 -1
- package/lib/types/ink/selection.d.ts +10 -1
- package/lib/types/ink/selection.d.ts.map +1 -1
- package/lib/types/ink/selection.js +94 -25
- package/lib/types/ink/stdin-handoff.d.ts +11 -0
- package/lib/types/ink/stdin-handoff.d.ts.map +1 -0
- package/lib/types/ink/stdin-handoff.js +20 -0
- package/lib/types/ink/styles.d.ts +2 -1
- package/lib/types/ink/styles.d.ts.map +1 -1
- package/lib/types/ink/terminal-image.d.ts +6 -4
- package/lib/types/ink/terminal-image.d.ts.map +1 -1
- package/lib/types/ink/terminal-image.js +16 -39
- package/lib/types/ink/terminal-notification.d.ts +8 -0
- package/lib/types/ink/terminal-notification.d.ts.map +1 -0
- package/lib/types/ink/terminal-notification.js +83 -0
- package/lib/types/ink/terminal.d.ts +9 -0
- package/lib/types/ink/terminal.d.ts.map +1 -1
- package/lib/types/ink/terminal.js +34 -1
- package/lib/types/ink/termio/csi.d.ts +11 -0
- package/lib/types/ink/termio/csi.d.ts.map +1 -1
- package/lib/types/ink/termio/csi.js +13 -0
- package/lib/types/ink/update-overflow-guard.d.ts +6 -0
- package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
- package/lib/types/ink/update-overflow-guard.js +17 -0
- package/lib/types/ink/wrap-text.d.ts +6 -0
- package/lib/types/ink/wrap-text.d.ts.map +1 -1
- package/lib/types/ink/wrap-text.js +17 -0
- package/lib/types/kernelPrefs.d.ts +130 -17
- package/lib/types/kernelPrefs.d.ts.map +1 -1
- package/lib/types/kernelPrefs.js +98 -35
- package/lib/types/math/inline-layout.d.ts +2 -0
- package/lib/types/math/inline-layout.d.ts.map +1 -1
- package/lib/types/math/inline-layout.js +5 -27
- package/lib/types/modelGroups.d.ts +15 -27
- package/lib/types/modelGroups.d.ts.map +1 -1
- package/lib/types/modelGroups.js +17 -31
- package/lib/types/modelPrefs.d.ts +5 -4
- package/lib/types/modelPrefs.d.ts.map +1 -1
- package/lib/types/modelPrefs.js +5 -4
- package/lib/types/modelRoute.d.ts +23 -9
- package/lib/types/modelRoute.d.ts.map +1 -1
- package/lib/types/modelRoute.js +25 -11
- package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -1
- package/lib/types/native-ts/yoga-layout/index.js +8 -1
- package/lib/types/permissionPrefs.d.ts +34 -0
- package/lib/types/permissionPrefs.d.ts.map +1 -0
- package/lib/types/permissionPrefs.js +61 -0
- package/lib/types/permissionPresetLabels.d.ts +25 -0
- package/lib/types/permissionPresetLabels.d.ts.map +1 -0
- package/lib/types/permissionPresetLabels.js +33 -0
- package/lib/types/plugin-host.d.ts +1 -0
- package/lib/types/plugin-host.d.ts.map +1 -1
- package/lib/types/preset-patch.d.ts +22 -0
- package/lib/types/preset-patch.d.ts.map +1 -0
- package/lib/types/preset-patch.js +14 -0
- package/lib/types/presetPrefs.d.ts +17 -3
- package/lib/types/presetPrefs.d.ts.map +1 -1
- package/lib/types/presetPrefs.js +20 -3
- package/lib/types/reload.d.ts +6 -10
- package/lib/types/reload.d.ts.map +1 -1
- package/lib/types/reload.js +14 -14
- package/lib/types/screens/Chat.d.ts +55 -16
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +742 -280
- package/lib/types/screens/Launchpad.d.ts +33 -17
- package/lib/types/screens/Launchpad.d.ts.map +1 -1
- package/lib/types/screens/Launchpad.js +256 -78
- package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/SessionSupervisor.js +53 -12
- package/lib/types/screens/Settings.d.ts.map +1 -1
- package/lib/types/screens/Settings.js +7 -0
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +24 -7
- package/lib/types/screens/StatusMetrics.d.ts +46 -1
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
- package/lib/types/screens/StatusMetrics.js +72 -0
- package/lib/types/screens/chat/useKernelPicker.d.ts +8 -4
- package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -1
- package/lib/types/screens/chat/useKernelPicker.js +61 -21
- package/lib/types/screens/chat/useModelPicker.d.ts +42 -0
- package/lib/types/screens/chat/useModelPicker.d.ts.map +1 -0
- package/lib/types/screens/chat/useModelPicker.js +182 -0
- package/lib/types/screens/chat/usePluginWriteFlow.d.ts +68 -0
- package/lib/types/screens/chat/usePluginWriteFlow.d.ts.map +1 -0
- package/lib/types/screens/chat/usePluginWriteFlow.js +92 -0
- package/lib/types/screens/chatOverlay.d.ts +30 -5
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +0 -1
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts +4 -1
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.js +26 -5
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +51 -29
- package/lib/types/sessionHistory.d.ts +5 -0
- package/lib/types/sessionHistory.d.ts.map +1 -1
- package/lib/types/sessionHistory.js +5 -0
- package/lib/types/sessionModes.d.ts +5 -3
- package/lib/types/sessionModes.d.ts.map +1 -1
- package/lib/types/sessionModes.js +9 -3
- package/lib/types/sessions/listSnapshot.d.ts +6 -0
- package/lib/types/sessions/listSnapshot.d.ts.map +1 -0
- package/lib/types/sessions/listSnapshot.js +67 -0
- package/lib/types/settings/definitions.d.ts +50 -0
- package/lib/types/settings/definitions.d.ts.map +1 -1
- package/lib/types/settings/definitions.js +42 -8
- package/lib/types/terminal-utils/cjk-emphasis.d.ts +28 -0
- package/lib/types/terminal-utils/cjk-emphasis.d.ts.map +1 -0
- package/lib/types/terminal-utils/cjk-emphasis.js +31 -0
- package/lib/types/terminal-utils/markdown.d.ts +3 -1
- package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
- package/lib/types/terminal-utils/markdown.js +7 -2
- package/lib/types/theme.d.ts +29 -12
- package/lib/types/theme.d.ts.map +1 -1
- package/lib/types/theme.js +310 -23
- package/lib/types/themeCatalog.d.ts.map +1 -1
- package/lib/types/themeCatalog.js +21 -2
- package/lib/types/tips.js +4 -4
- package/lib/types/tuiSettingsFile.d.ts +56 -0
- package/lib/types/tuiSettingsFile.d.ts.map +1 -0
- package/lib/types/tuiSettingsFile.js +206 -0
- package/lib/types/ui.d.ts +2 -0
- package/lib/types/ui.d.ts.map +1 -1
- package/lib/types/ui.js +2 -0
- package/lib/types/update.d.ts +72 -26
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +131 -43
- package/lib/types/utils/bmp.d.ts +7 -0
- package/lib/types/utils/bmp.d.ts.map +1 -1
- package/lib/types/utils/bmp.js +27 -0
- package/lib/types/utils/bootTrace.d.ts +2 -0
- package/lib/types/utils/bootTrace.d.ts.map +1 -0
- package/lib/types/utils/bootTrace.js +20 -0
- package/lib/types/utils/clipboard.d.ts.map +1 -1
- package/lib/types/utils/clipboard.js +11 -3
- package/lib/types/utils/credentials.d.ts +14 -2
- package/lib/types/utils/credentials.d.ts.map +1 -1
- package/lib/types/utils/credentials.js +34 -11
- package/lib/types/utils/imageResize.d.ts +10 -20
- package/lib/types/utils/imageResize.d.ts.map +1 -1
- package/lib/types/utils/imageResize.js +61 -134
- package/lib/types/utils/inputPaste.d.ts +2 -2
- package/lib/types/utils/inputPaste.js +2 -2
- package/lib/types/utils/pastedImagePath.d.ts +5 -0
- package/lib/types/utils/pastedImagePath.d.ts.map +1 -1
- package/lib/types/utils/pastedImagePath.js +33 -0
- package/lib/types/utils/paths.d.ts +11 -0
- package/lib/types/utils/paths.d.ts.map +1 -1
- package/lib/types/utils/paths.js +13 -0
- package/package.json +150 -114
- package/presets/winbash.mjs +716 -0
- package/tui-profile/feed/README.md +63 -0
- package/tui-profile/feed/first-party.json +10 -0
- package/tui-profile/protocols/profile-definitions.d.ts +1 -0
- package/tui-profile/protocols/profile-definitions.js +14 -0
- package/tui-profile/protocols/tui-contributions.d.ts +55 -0
- package/tui-profile/protocols/tui-contributions.js +141 -0
- package/tui-profile/registry/contracts/backend-v1alpha1.json +13 -0
- package/tui-profile/registry/registry-0.15.json +12 -0
- package/lib/types/backends/claude/install.d.ts +0 -15
- package/lib/types/backends/claude/install.d.ts.map +0 -1
- package/lib/types/backends/claude/install.js +0 -91
- package/lib/types/channel/elicitation.d.ts.map +0 -1
- package/lib/types/dsh-adapter/channel/session-lineage.d.ts +0 -42
- package/lib/types/dsh-adapter/channel/session-lineage.d.ts.map +0 -1
- package/lib/types/dsh-adapter/channel/session-lineage.js +0 -51
- package/lib/types/utils/jsonl.d.ts.map +0 -1
package/lib/types/i18n.d.ts
CHANGED
|
@@ -302,6 +302,10 @@ declare const dict: {
|
|
|
302
302
|
readonly zh: "未找到引用: {{paths}}";
|
|
303
303
|
readonly en: "References not found: {{paths}}";
|
|
304
304
|
};
|
|
305
|
+
readonly 'team-message-label': {
|
|
306
|
+
readonly zh: "团队消息";
|
|
307
|
+
readonly en: "team message";
|
|
308
|
+
};
|
|
305
309
|
readonly 'selection-attached': {
|
|
306
310
|
readonly zh: "已选中 {{lines}} 行 · {{path}}";
|
|
307
311
|
readonly en: {
|
|
@@ -450,262 +454,26 @@ declare const dict: {
|
|
|
450
454
|
readonly zh: "当前内核不支持:{{name}}";
|
|
451
455
|
readonly en: "Not supported by this kernel: {{name}}";
|
|
452
456
|
};
|
|
453
|
-
readonly '
|
|
454
|
-
readonly zh: "{{name}} 失败 · {{err}}";
|
|
455
|
-
readonly en: "{{name}} failed · {{err}}";
|
|
456
|
-
};
|
|
457
|
-
readonly 'claude-permission-denied': {
|
|
458
|
-
readonly zh: "{{tool}} 被权限规则拒绝";
|
|
459
|
-
readonly en: "{{tool}} was denied by a permission rule";
|
|
460
|
-
};
|
|
461
|
-
readonly 'claude-permission-denied-reason': {
|
|
462
|
-
readonly zh: "{{tool}} 被自动拒绝:{{reason}}";
|
|
463
|
-
readonly en: "{{tool}} was denied automatically: {{reason}}";
|
|
464
|
-
};
|
|
465
|
-
readonly 'claude-denied-reason': {
|
|
466
|
-
readonly zh: "拒绝原因:{{reason}}";
|
|
467
|
-
readonly en: "Denied: {{reason}}";
|
|
468
|
-
};
|
|
469
|
-
readonly 'claude-question-unreadable': {
|
|
470
|
-
readonly zh: "无法读取这次提问的内容,已拒绝";
|
|
471
|
-
readonly en: "The question could not be read and was declined";
|
|
472
|
-
};
|
|
473
|
-
readonly 'claude-always-rules-session': {
|
|
474
|
-
readonly zh: "允许,本次会话不再询问 {{rules}}";
|
|
475
|
-
readonly en: "Yes, and don't ask again for {{rules}} this session";
|
|
476
|
-
};
|
|
477
|
-
readonly 'claude-always-rules-project': {
|
|
478
|
-
readonly zh: "允许,本项目不再询问 {{rules}}";
|
|
479
|
-
readonly en: "Yes, and don't ask again for {{rules}} in this project";
|
|
480
|
-
};
|
|
481
|
-
readonly 'claude-always-rules-user': {
|
|
482
|
-
readonly zh: "允许,所有项目都不再询问 {{rules}}";
|
|
483
|
-
readonly en: "Yes, and don't ask again for {{rules}} in any project";
|
|
484
|
-
};
|
|
485
|
-
readonly 'claude-always-accept-edits': {
|
|
486
|
-
readonly zh: "允许,本次会话自动接受编辑";
|
|
487
|
-
readonly en: "Yes, and auto-accept edits this session";
|
|
488
|
-
};
|
|
489
|
-
readonly 'claude-always-mode': {
|
|
490
|
-
readonly zh: "允许,并切换到 {{mode}} 模式";
|
|
491
|
-
readonly en: "Yes, and switch to {{mode}} mode";
|
|
492
|
-
};
|
|
493
|
-
readonly 'claude-always-directories': {
|
|
494
|
-
readonly zh: "允许,并允许访问 {{dirs}}";
|
|
495
|
-
readonly en: "Yes, and allow access to {{dirs}}";
|
|
496
|
-
};
|
|
497
|
-
readonly 'claude-plan-review-header': {
|
|
498
|
-
readonly zh: "计划评审";
|
|
499
|
-
readonly en: "Plan review";
|
|
500
|
-
};
|
|
501
|
-
readonly 'claude-plan-review-question': {
|
|
502
|
-
readonly zh: "Claude 准备好了计划,要开始执行吗?";
|
|
503
|
-
readonly en: "Claude has a plan. Ready to start?";
|
|
504
|
-
};
|
|
505
|
-
readonly 'claude-plan-accept-edits': {
|
|
506
|
-
readonly zh: "批准,并自动接受编辑";
|
|
507
|
-
readonly en: "Yes, and auto-accept edits";
|
|
508
|
-
};
|
|
509
|
-
readonly 'claude-plan-accept-edits-desc': {
|
|
510
|
-
readonly zh: "退出计划模式,之后的文件编辑不再逐个询问";
|
|
511
|
-
readonly en: "Leave plan mode; file edits no longer ask one by one";
|
|
512
|
-
};
|
|
513
|
-
readonly 'claude-plan-manual': {
|
|
514
|
-
readonly zh: "批准,编辑仍逐个确认";
|
|
515
|
-
readonly en: "Yes, and approve each edit";
|
|
516
|
-
};
|
|
517
|
-
readonly 'claude-plan-manual-desc': {
|
|
518
|
-
readonly zh: "退出计划模式,回到默认权限模式";
|
|
519
|
-
readonly en: "Leave plan mode for the default permission mode";
|
|
520
|
-
};
|
|
521
|
-
readonly 'claude-plan-keep': {
|
|
522
|
-
readonly zh: "继续规划";
|
|
523
|
-
readonly en: "No, keep planning";
|
|
524
|
-
};
|
|
525
|
-
readonly 'claude-plan-keep-desc': {
|
|
526
|
-
readonly zh: "可在输入行写下要修改的地方";
|
|
527
|
-
readonly en: "Type what to change on the input row";
|
|
528
|
-
};
|
|
529
|
-
readonly 'claude-plan-approved': {
|
|
530
|
-
readonly zh: "计划已批准,开始执行";
|
|
531
|
-
readonly en: "Plan approved; starting";
|
|
532
|
-
};
|
|
533
|
-
readonly 'claude-plan-kept': {
|
|
534
|
-
readonly zh: "计划未批准,继续规划";
|
|
535
|
-
readonly en: "Plan not approved; planning continues";
|
|
536
|
-
};
|
|
537
|
-
readonly 'claude-model-unknown': {
|
|
538
|
-
readonly zh: "Claude 没有模型 {{model}}(/model 查看可用模型)";
|
|
539
|
-
readonly en: "Claude has no model {{model}} (see /model)";
|
|
540
|
-
};
|
|
541
|
-
readonly 'claude-mode-default': {
|
|
542
|
-
readonly zh: "默认";
|
|
543
|
-
readonly en: "Default";
|
|
544
|
-
};
|
|
545
|
-
readonly 'claude-mode-acceptEdits': {
|
|
546
|
-
readonly zh: "自动接受编辑";
|
|
547
|
-
readonly en: "Accept edits";
|
|
548
|
-
};
|
|
549
|
-
readonly 'claude-mode-plan': {
|
|
550
|
-
readonly zh: "计划模式";
|
|
551
|
-
readonly en: "Plan mode";
|
|
552
|
-
};
|
|
553
|
-
readonly 'claude-mode-auto': {
|
|
554
|
-
readonly zh: "自动审批";
|
|
555
|
-
readonly en: "Auto";
|
|
556
|
-
};
|
|
557
|
-
readonly 'claude-mode-dontAsk': {
|
|
558
|
-
readonly zh: "不询问";
|
|
559
|
-
readonly en: "Don't ask";
|
|
560
|
-
};
|
|
561
|
-
readonly 'claude-mode-bypassPermissions': {
|
|
562
|
-
readonly zh: "跳过权限";
|
|
563
|
-
readonly en: "Bypass permissions";
|
|
564
|
-
};
|
|
565
|
-
readonly 'claude-mode-desc-default': {
|
|
566
|
-
readonly zh: "默认:每个危险操作前都询问";
|
|
567
|
-
readonly en: "Default: asks before every risky action";
|
|
568
|
-
};
|
|
569
|
-
readonly 'claude-mode-desc-acceptEdits': {
|
|
570
|
-
readonly zh: "自动接受文件编辑,其他操作仍询问";
|
|
571
|
-
readonly en: "Auto-accepts file edits, still asks for the rest";
|
|
572
|
-
};
|
|
573
|
-
readonly 'claude-mode-desc-plan': {
|
|
574
|
-
readonly zh: "计划模式:只读,先出方案不动手";
|
|
575
|
-
readonly en: "Plan mode: read-only, proposes before acting";
|
|
576
|
-
};
|
|
577
|
-
readonly 'claude-mode-desc-auto': {
|
|
578
|
-
readonly zh: "自动审批:由模型分类器判定";
|
|
579
|
-
readonly en: "Auto: a model classifier decides";
|
|
580
|
-
};
|
|
581
|
-
readonly 'claude-mode-desc-dontAsk': {
|
|
582
|
-
readonly zh: "不询问:未预先批准的操作一律拒绝";
|
|
583
|
-
readonly en: "Don't ask: anything not pre-approved is denied";
|
|
584
|
-
};
|
|
585
|
-
readonly 'claude-mode-desc-bypassPermissions': {
|
|
586
|
-
readonly zh: "跳过全部权限检查(谨慎使用)";
|
|
587
|
-
readonly en: "Skips every permission check (use with care)";
|
|
588
|
-
};
|
|
589
|
-
readonly 'claude-effort-low': {
|
|
457
|
+
readonly 'effort-tier-low': {
|
|
590
458
|
readonly zh: "低";
|
|
591
459
|
readonly en: "Low";
|
|
592
460
|
};
|
|
593
|
-
readonly '
|
|
461
|
+
readonly 'effort-tier-medium': {
|
|
594
462
|
readonly zh: "中";
|
|
595
463
|
readonly en: "Medium";
|
|
596
464
|
};
|
|
597
|
-
readonly '
|
|
465
|
+
readonly 'effort-tier-high': {
|
|
598
466
|
readonly zh: "高";
|
|
599
467
|
readonly en: "High";
|
|
600
468
|
};
|
|
601
|
-
readonly '
|
|
469
|
+
readonly 'effort-tier-xhigh': {
|
|
602
470
|
readonly zh: "超高";
|
|
603
471
|
readonly en: "Extra high";
|
|
604
472
|
};
|
|
605
|
-
readonly '
|
|
473
|
+
readonly 'effort-tier-max': {
|
|
606
474
|
readonly zh: "最高";
|
|
607
475
|
readonly en: "Max";
|
|
608
476
|
};
|
|
609
|
-
readonly 'claude-auth-failed-login': {
|
|
610
|
-
readonly zh: "Claude 凭证仍被拒绝:用 /login 重新登录,或设置 ANTHROPIC_API_KEY、在终端运行 claude login";
|
|
611
|
-
readonly en: "Claude still refuses the credential: sign in again with /login, set ANTHROPIC_API_KEY, or run `claude login` in a terminal";
|
|
612
|
-
};
|
|
613
|
-
readonly 'claude-auth-reconnected': {
|
|
614
|
-
readonly zh: "凭证已刷新并重新连接同一会话,请重发上一条消息";
|
|
615
|
-
readonly en: "Credential renewed and the same session reconnected; send your last message again";
|
|
616
|
-
};
|
|
617
|
-
readonly 'claude-auth-refresh-failed': {
|
|
618
|
-
readonly zh: "刷新 Claude 凭证失败{{detail}}(可用 /login 重新登录)";
|
|
619
|
-
readonly en: "Renewing the Claude credential failed{{detail}} (sign in again with /login)";
|
|
620
|
-
};
|
|
621
|
-
readonly 'claude-channel-token-missing': {
|
|
622
|
-
readonly zh: "渠道 {{name}}({{host}})指向自定义端点,但没有可用的 token,已拒绝启动,以免向中转端点发送不带凭据的请求。请在 /channel → 管理渠道 里补上 token,或换一个渠道后重试。";
|
|
623
|
-
readonly en: "Channel {{name}} ({{host}}) points at a custom endpoint but has no usable token, so the session was not started (no unauthenticated requests to a relay). Add a token under /channel → Manage channels, or switch to another channel, then retry.";
|
|
624
|
-
};
|
|
625
|
-
readonly 'claude-channel-helper-conflict': {
|
|
626
|
-
readonly zh: "settings.json 配置了 apiKeyHelper,与当前渠道冲突:它生成的 x-api-key 会随请求发到渠道端点。请从 settings.json 删掉 apiKeyHelper,或在 /channel 里停用该渠道后再启动。";
|
|
627
|
-
readonly en: "settings.json sets apiKeyHelper, which conflicts with the active channel: the x-api-key it produces would be sent to the channel endpoint. Remove apiKeyHelper from settings.json, or deactivate the channel in /channel, then retry.";
|
|
628
|
-
};
|
|
629
|
-
readonly 'claude-auth-refresh-status': {
|
|
630
|
-
readonly zh: " · HTTP {{status}}";
|
|
631
|
-
readonly en: " · HTTP {{status}}";
|
|
632
|
-
};
|
|
633
|
-
readonly 'claude-auth-reconnect-failed': {
|
|
634
|
-
readonly zh: "重新连接 Claude 会话失败;可用 /login 重新登录";
|
|
635
|
-
readonly en: "Reconnecting the Claude session failed; sign in again with /login";
|
|
636
|
-
};
|
|
637
|
-
readonly 'claude-auth-reconnect-deferred': {
|
|
638
|
-
readonly zh: "当前回合结束后再用新凭证重新连接";
|
|
639
|
-
readonly en: "Reconnecting with the new credential once the current turn ends";
|
|
640
|
-
};
|
|
641
|
-
readonly 'claude-auth-reconnect-forced': {
|
|
642
|
-
readonly zh: "等待当前回合结束超时,现在重新连接,正在运行的回合会被中断";
|
|
643
|
-
readonly en: "The turn did not finish in time; reconnecting now, which interrupts the running turn";
|
|
644
|
-
};
|
|
645
|
-
readonly 'claude-auth-inputs-dropped': {
|
|
646
|
-
readonly zh: "重新连接失败,{{n}} 条尚未开始的消息未能送达";
|
|
647
|
-
readonly en: "Reconnecting failed; {{n}} message(s) that had not started were not delivered";
|
|
648
|
-
};
|
|
649
|
-
readonly 'claude-auth-route': {
|
|
650
|
-
readonly zh: "未使用订阅登录:{{route}}";
|
|
651
|
-
readonly en: "Subscription sign-in not used: {{route}}";
|
|
652
|
-
};
|
|
653
|
-
readonly 'claude-route-custom-endpoint': {
|
|
654
|
-
readonly zh: "自定义端点 {{host}}(ANTHROPIC_BASE_URL)";
|
|
655
|
-
readonly en: "custom endpoint {{host}} (ANTHROPIC_BASE_URL)";
|
|
656
|
-
};
|
|
657
|
-
readonly 'claude-route-custom-oauth': {
|
|
658
|
-
readonly zh: "自定义 OAuth 部署";
|
|
659
|
-
readonly en: "custom OAuth deployment";
|
|
660
|
-
};
|
|
661
|
-
readonly 'claude-route-unix-socket': {
|
|
662
|
-
readonly zh: "Unix 套接字(ANTHROPIC_UNIX_SOCKET)";
|
|
663
|
-
readonly en: "Unix socket (ANTHROPIC_UNIX_SOCKET)";
|
|
664
|
-
};
|
|
665
|
-
readonly 'claude-route-gateway': {
|
|
666
|
-
readonly zh: "云网关";
|
|
667
|
-
readonly en: "cloud gateway";
|
|
668
|
-
};
|
|
669
|
-
readonly 'claude-route-api-key-helper': {
|
|
670
|
-
readonly zh: "设置中的 apiKeyHelper";
|
|
671
|
-
readonly en: "apiKeyHelper in settings";
|
|
672
|
-
};
|
|
673
|
-
readonly 'claude-route-settings-unreadable': {
|
|
674
|
-
readonly zh: "无法读取 Claude 设置,无法确认连接方式";
|
|
675
|
-
readonly en: "Claude settings could not be read, so the connection route is unknown";
|
|
676
|
-
};
|
|
677
|
-
readonly 'claude-auth-source': {
|
|
678
|
-
readonly zh: "凭证来源:{{source}}";
|
|
679
|
-
readonly en: "Credential: {{source}}";
|
|
680
|
-
};
|
|
681
|
-
readonly 'claude-auth-missing-hint': {
|
|
682
|
-
readonly zh: "未找到 Claude 凭证:用 /login 登录 anthropic,或设置 ANTHROPIC_API_KEY、在终端运行 claude login";
|
|
683
|
-
readonly en: "No Claude credential found: sign in to anthropic with /login, set ANTHROPIC_API_KEY, or run `claude login` in a terminal";
|
|
684
|
-
};
|
|
685
|
-
readonly 'claude-auth-cli': {
|
|
686
|
-
readonly zh: "CLI 报告 · apiKeySource:{{source}} · tokenSource:{{token}}";
|
|
687
|
-
readonly en: "CLI reports · apiKeySource: {{source}} · tokenSource: {{token}}";
|
|
688
|
-
};
|
|
689
|
-
readonly 'claude-auth-source-dsh-auth': {
|
|
690
|
-
readonly zh: "dsh-auth anthropic 登录";
|
|
691
|
-
readonly en: "dsh-auth anthropic sign-in";
|
|
692
|
-
};
|
|
693
|
-
readonly 'claude-auth-source-dsh-auth-expires': {
|
|
694
|
-
readonly zh: "dsh-auth anthropic 登录(令牌到期 {{time}})";
|
|
695
|
-
readonly en: "dsh-auth anthropic sign-in (token expires {{time}})";
|
|
696
|
-
};
|
|
697
|
-
readonly 'claude-auth-source-cloud': {
|
|
698
|
-
readonly zh: "云厂商 {{provider}}(环境变量)";
|
|
699
|
-
readonly en: "Cloud provider {{provider}} (environment)";
|
|
700
|
-
};
|
|
701
|
-
readonly 'claude-auth-source-claude-login': {
|
|
702
|
-
readonly zh: "本机 claude login";
|
|
703
|
-
readonly en: "Local `claude login`";
|
|
704
|
-
};
|
|
705
|
-
readonly 'claude-auth-account': {
|
|
706
|
-
readonly zh: "账户:{{account}}";
|
|
707
|
-
readonly en: "Account: {{account}}";
|
|
708
|
-
};
|
|
709
477
|
readonly 'login-backend-heading': {
|
|
710
478
|
readonly zh: "{{backend}} 登录状态";
|
|
711
479
|
readonly en: "{{backend}} sign-in";
|
|
@@ -770,14 +538,6 @@ declare const dict: {
|
|
|
770
538
|
readonly zh: "已关闭 MCP 服务器 {{name}}";
|
|
771
539
|
readonly en: "Disabled the MCP server {{name}}";
|
|
772
540
|
};
|
|
773
|
-
readonly 'claude-side-query-empty': {
|
|
774
|
-
readonly zh: "会话还没有保存任何对话,暂无内容可问";
|
|
775
|
-
readonly en: "The session has no saved conversation to ask about yet";
|
|
776
|
-
};
|
|
777
|
-
readonly 'claude-side-query-no-answer': {
|
|
778
|
-
readonly zh: "没有得到回答";
|
|
779
|
-
readonly en: "No answer was received";
|
|
780
|
-
};
|
|
781
541
|
readonly 'backend-mcp-needs-auth': {
|
|
782
542
|
readonly zh: "需要授权的服务器请在终端运行 claude 后用 /mcp 完成";
|
|
783
543
|
readonly en: "For servers that need auth, finish it with /mcp in an interactive `claude`";
|
|
@@ -790,26 +550,6 @@ declare const dict: {
|
|
|
790
550
|
readonly zh: "订阅用量 {{usage}}";
|
|
791
551
|
readonly en: "Subscription usage {{usage}}";
|
|
792
552
|
};
|
|
793
|
-
readonly 'status-rate-limit-five-hour': {
|
|
794
|
-
readonly zh: "5小时";
|
|
795
|
-
readonly en: "5h";
|
|
796
|
-
};
|
|
797
|
-
readonly 'status-rate-limit-seven-day': {
|
|
798
|
-
readonly zh: "7天";
|
|
799
|
-
readonly en: "7d";
|
|
800
|
-
};
|
|
801
|
-
readonly 'claude-process-exited': {
|
|
802
|
-
readonly zh: "Claude 进程已退出:{{reason}}";
|
|
803
|
-
readonly en: "The Claude process exited: {{reason}}";
|
|
804
|
-
};
|
|
805
|
-
readonly 'claude-process-ended': {
|
|
806
|
-
readonly zh: "会话流已结束";
|
|
807
|
-
readonly en: "the session stream ended";
|
|
808
|
-
};
|
|
809
|
-
readonly 'claude-cancel-forced': {
|
|
810
|
-
readonly zh: "中断 30 秒未得到确认,已强制结束本回合";
|
|
811
|
-
readonly en: "The interrupt was not confirmed within 30s; the turn was force-closed";
|
|
812
|
-
};
|
|
813
553
|
readonly 'interrupt-failed': {
|
|
814
554
|
readonly zh: "打断请求失败:排队消息没有撤回,仍会在下一回合发送;已取消暂存,避免重复发送";
|
|
815
555
|
readonly en: "The interrupt request failed: the queued messages were not withdrawn and will still run next turn; they are no longer held, so nothing is sent twice";
|
|
@@ -818,1080 +558,6 @@ declare const dict: {
|
|
|
818
558
|
readonly zh: "无法确认排队消息已撤回:它们仍会在下一回合发送,不再暂存";
|
|
819
559
|
readonly en: "Could not confirm the queued messages were withdrawn: they will still run next turn and are no longer held";
|
|
820
560
|
};
|
|
821
|
-
readonly 'claude-version-drift': {
|
|
822
|
-
readonly zh: "Claude CLI {{version}} 未经本版 dsh-tui 验证(已验证:{{validated}}),继续运行";
|
|
823
|
-
readonly en: "Claude CLI {{version}} is not validated with this dsh-tui (validated: {{validated}}); continuing";
|
|
824
|
-
};
|
|
825
|
-
readonly 'claude-sdk-drift': {
|
|
826
|
-
readonly zh: "Claude Agent SDK {{version}} 与验证版本 {{validated}} 不一致,继续运行";
|
|
827
|
-
readonly en: "Claude Agent SDK {{version}} differs from the validated {{validated}}; continuing";
|
|
828
|
-
};
|
|
829
|
-
readonly 'claude-sdk-missing': {
|
|
830
|
-
readonly zh: "未安装 Claude Agent SDK:在 dsh-tui 安装目录运行 pnpm add @anthropic-ai/claude-agent-sdk@{{version}}";
|
|
831
|
-
readonly en: "The Claude Agent SDK is not installed: run pnpm add @anthropic-ai/claude-agent-sdk@{{version}} in the dsh-tui install directory";
|
|
832
|
-
};
|
|
833
|
-
readonly 'claude-resume-not-found': {
|
|
834
|
-
readonly zh: "本机 Claude 会话库中没有会话 {{id}}";
|
|
835
|
-
readonly en: "No Claude session {{id}} in the local session store";
|
|
836
|
-
};
|
|
837
|
-
readonly 'claude-rewind-files-unavailable': {
|
|
838
|
-
readonly zh: "该会话没有可用的文件检查点";
|
|
839
|
-
readonly en: "No file checkpoints are available for this session";
|
|
840
|
-
};
|
|
841
|
-
readonly 'claude-fork-empty': {
|
|
842
|
-
readonly zh: "会话还没有保存任何消息,无可分叉的内容";
|
|
843
|
-
readonly en: "Nothing to fork yet — the session has no saved messages";
|
|
844
|
-
};
|
|
845
|
-
readonly 'claude-task-unnamed': {
|
|
846
|
-
readonly zh: "任务 {{id}}(标题未恢复)";
|
|
847
|
-
readonly en: "Task {{id}} (subject not recovered)";
|
|
848
|
-
};
|
|
849
|
-
readonly 'claude-task-output-refused': {
|
|
850
|
-
readonly zh: "不读取任务 {{id}} 的输出:路径不在 Claude 的目录内";
|
|
851
|
-
readonly en: "Not reading the output of task {{id}}: the path is outside the Claude directories";
|
|
852
|
-
};
|
|
853
|
-
readonly 'claude-task-output-missing': {
|
|
854
|
-
readonly zh: "任务 {{id}} 的输出文件还不存在";
|
|
855
|
-
readonly en: "The output file of task {{id}} does not exist yet";
|
|
856
|
-
};
|
|
857
|
-
readonly 'claude-task-output-unknown': {
|
|
858
|
-
readonly zh: "任务 {{id}} 没有报告输出文件";
|
|
859
|
-
readonly en: "Task {{id}} reported no output file";
|
|
860
|
-
};
|
|
861
|
-
readonly 'claude-transcript-missing': {
|
|
862
|
-
readonly zh: "找不到会话 {{id}} 的转录文件";
|
|
863
|
-
readonly en: "The transcript file of session {{id}} was not found";
|
|
864
|
-
};
|
|
865
|
-
readonly 'claude-transcript-too-large': {
|
|
866
|
-
readonly zh: "会话转录超过 {{mb}} MB,不读取";
|
|
867
|
-
readonly en: "The session transcript is larger than {{mb}} MB; not reading it";
|
|
868
|
-
};
|
|
869
|
-
readonly 'claude-rewind-not-found': {
|
|
870
|
-
readonly zh: "该消息不在会话已保存的对话链中";
|
|
871
|
-
readonly en: "That message is not in the session's saved conversation";
|
|
872
|
-
};
|
|
873
|
-
readonly 'claude-images-too-many': {
|
|
874
|
-
readonly zh: "一条消息最多附 {{n}} 张图片";
|
|
875
|
-
readonly en: "A message carries at most {{n}} images";
|
|
876
|
-
};
|
|
877
|
-
readonly 'claude-images-too-large': {
|
|
878
|
-
readonly zh: "这条消息的图片合计超过 {{mb}} MB";
|
|
879
|
-
readonly en: "The images of this message exceed {{mb}} MB together";
|
|
880
|
-
};
|
|
881
|
-
readonly 'claude-image-too-large': {
|
|
882
|
-
readonly zh: "图片 {{name}} 超过 {{mb}} MB";
|
|
883
|
-
readonly en: "The image {{name}} exceeds {{mb}} MB";
|
|
884
|
-
};
|
|
885
|
-
readonly 'claude-image-type-refused': {
|
|
886
|
-
readonly zh: "Claude 不接受图片 {{name}} 的格式({{type}})";
|
|
887
|
-
readonly en: "Claude does not take the format of {{name}} ({{type}})";
|
|
888
|
-
};
|
|
889
|
-
readonly 'claude-image-unreadable': {
|
|
890
|
-
readonly zh: "无法读取图片 {{name}}:{{err}}";
|
|
891
|
-
readonly en: "The image {{name}} could not be read: {{err}}";
|
|
892
|
-
};
|
|
893
|
-
readonly 'claude-image-gone': {
|
|
894
|
-
readonly zh: "暂存的图片已不在内存中,请重新粘贴";
|
|
895
|
-
readonly en: "the staged image is no longer in memory; paste it again";
|
|
896
|
-
};
|
|
897
|
-
readonly 'claude-session-closed': {
|
|
898
|
-
readonly zh: "Claude 会话已关闭";
|
|
899
|
-
readonly en: "The Claude session is closed";
|
|
900
|
-
};
|
|
901
|
-
readonly 'claude-start-timeout': {
|
|
902
|
-
readonly zh: "Claude CLI 未在时限内完成启动握手";
|
|
903
|
-
readonly en: "The Claude CLI did not finish its start handshake in time";
|
|
904
|
-
};
|
|
905
|
-
readonly 'claude-start-mode-downgraded': {
|
|
906
|
-
readonly zh: "设置中的权限模式 {{mode}} 需在 /permission 里显式选择,本会话先以 default 启动";
|
|
907
|
-
readonly en: "The configured permission mode {{mode}} needs an explicit choice in /permission; this session starts in default";
|
|
908
|
-
};
|
|
909
|
-
readonly 'claude-start-mode-env': {
|
|
910
|
-
readonly zh: "权限模式由 DSH_TUI_CLAUDE_PERMISSION_MODE 指定:{{mode}}";
|
|
911
|
-
readonly en: "Permission mode set by DSH_TUI_CLAUDE_PERMISSION_MODE: {{mode}}";
|
|
912
|
-
};
|
|
913
|
-
readonly 'claude-start-mode-env-ignored': {
|
|
914
|
-
readonly zh: "已忽略 DSH_TUI_CLAUDE_PERMISSION_MODE={{mode}}(只接受 default/acceptEdits/plan/dontAsk/bypassPermissions)";
|
|
915
|
-
readonly en: "Ignored DSH_TUI_CLAUDE_PERMISSION_MODE={{mode}} (accepts default/acceptEdits/plan/dontAsk/bypassPermissions)";
|
|
916
|
-
};
|
|
917
|
-
readonly 'claude-start-mode-bypass-not-carried': {
|
|
918
|
-
readonly zh: "上次的「跳过权限」不会带到新会话,本会话照常审批;可用 /permission 重新开启";
|
|
919
|
-
readonly en: "Bypass permissions from the last session is not carried into a new one; approvals are on. Turn it back on with /permission";
|
|
920
|
-
};
|
|
921
|
-
readonly 'claude-input-refused': {
|
|
922
|
-
readonly zh: "Claude 拒绝了这条输入";
|
|
923
|
-
readonly en: "Claude refused this input";
|
|
924
|
-
};
|
|
925
|
-
readonly 'claude-assistant-error': {
|
|
926
|
-
readonly zh: "Claude 错误:{{error}}";
|
|
927
|
-
readonly en: "Claude error: {{error}}";
|
|
928
|
-
};
|
|
929
|
-
readonly 'claude-api-retry': {
|
|
930
|
-
readonly zh: "API 重试 {{attempt}}/{{max}}{{detail}}…";
|
|
931
|
-
readonly en: "API retry {{attempt}}/{{max}}{{detail}}…";
|
|
932
|
-
};
|
|
933
|
-
readonly 'claude-api-retry-status': {
|
|
934
|
-
readonly zh: " · HTTP {{status}}";
|
|
935
|
-
readonly en: " · HTTP {{status}}";
|
|
936
|
-
};
|
|
937
|
-
readonly 'claude-notification-turn': {
|
|
938
|
-
readonly zh: "后台任务完成,模型继续处理";
|
|
939
|
-
readonly en: "A background task finished; the model continues";
|
|
940
|
-
};
|
|
941
|
-
readonly 'claude-model-fallback': {
|
|
942
|
-
readonly zh: "{{original}} 拒绝了这次请求{{category}},已改用 {{model}} 重试(本会话之后都用它)";
|
|
943
|
-
readonly en: "{{original}} declined this request{{category}}; retried on {{model}} (the session continues on it)";
|
|
944
|
-
};
|
|
945
|
-
readonly 'claude-model-fallback-local': {
|
|
946
|
-
readonly zh: "一个子任务改由 {{model}} 回答({{original}} 拒绝了它),会话模型不变";
|
|
947
|
-
readonly en: "A side task was answered by {{model}} ({{original}} declined it); the session model is unchanged";
|
|
948
|
-
};
|
|
949
|
-
readonly 'claude-model-refused': {
|
|
950
|
-
readonly zh: "{{model}} 拒绝了这次请求{{category}},没有可用的回退模型";
|
|
951
|
-
readonly en: "{{model}} declined this request{{category}} and no fallback model is available";
|
|
952
|
-
};
|
|
953
|
-
readonly 'claude-refusal-category-suffix': {
|
|
954
|
-
readonly zh: "(类别:{{category}})";
|
|
955
|
-
readonly en: " (category: {{category}})";
|
|
956
|
-
};
|
|
957
|
-
readonly 'claude-rate-limit-warning': {
|
|
958
|
-
readonly zh: "订阅用量接近{{window}}上限({{percent}}%){{resets}}";
|
|
959
|
-
readonly en: "Approaching the {{window}} usage limit ({{percent}}%){{resets}}";
|
|
960
|
-
};
|
|
961
|
-
readonly 'claude-rate-limit-rejected': {
|
|
962
|
-
readonly zh: "已达到{{window}}用量上限{{resets}}";
|
|
963
|
-
readonly en: "The {{window}} usage limit is reached{{resets}}";
|
|
964
|
-
};
|
|
965
|
-
readonly 'claude-rate-limit-resets': {
|
|
966
|
-
readonly zh: ",{{time}}重置";
|
|
967
|
-
readonly en: " — resets {{time}}";
|
|
968
|
-
};
|
|
969
|
-
readonly 'claude-rate-limit-in': {
|
|
970
|
-
readonly zh: "{{duration}}后";
|
|
971
|
-
readonly en: "in {{duration}}";
|
|
972
|
-
};
|
|
973
|
-
readonly 'claude-auth-status-error': {
|
|
974
|
-
readonly zh: "Claude 认证出错:{{error}}";
|
|
975
|
-
readonly en: "Claude authentication error: {{error}}";
|
|
976
|
-
};
|
|
977
|
-
readonly 'claude-memory-recalled': {
|
|
978
|
-
readonly zh: "已回忆 {{count}} 条记忆";
|
|
979
|
-
readonly en: {
|
|
980
|
-
readonly one: "Recalled {{count}} memory";
|
|
981
|
-
readonly other: "Recalled {{count}} memories";
|
|
982
|
-
};
|
|
983
|
-
};
|
|
984
|
-
readonly 'claude-memory-synthesized': {
|
|
985
|
-
readonly zh: "已从记忆中归纳相关上下文";
|
|
986
|
-
readonly en: "Recalled a summary of relevant memories";
|
|
987
|
-
};
|
|
988
|
-
readonly 'claude-activity-thinking': {
|
|
989
|
-
readonly zh: "思考中";
|
|
990
|
-
readonly en: "Thinking";
|
|
991
|
-
};
|
|
992
|
-
readonly 'claude-activity-waiting': {
|
|
993
|
-
readonly zh: "等待确认";
|
|
994
|
-
readonly en: "Waiting for approval";
|
|
995
|
-
};
|
|
996
|
-
readonly 'claude-activity-done': {
|
|
997
|
-
readonly zh: "完成";
|
|
998
|
-
readonly en: "Done";
|
|
999
|
-
};
|
|
1000
|
-
readonly 'claude-activity-done-tools': {
|
|
1001
|
-
readonly zh: "完成 · {{count}} 个工具";
|
|
1002
|
-
readonly en: {
|
|
1003
|
-
readonly one: "Done · 1 tool";
|
|
1004
|
-
readonly other: "Done · {{count}} tools";
|
|
1005
|
-
};
|
|
1006
|
-
};
|
|
1007
|
-
readonly 'elicit-skip': {
|
|
1008
|
-
readonly zh: "跳过";
|
|
1009
|
-
readonly en: "Skip";
|
|
1010
|
-
};
|
|
1011
|
-
readonly 'elicit-skip-desc': {
|
|
1012
|
-
readonly zh: "这一项不填";
|
|
1013
|
-
readonly en: "Leave this field empty";
|
|
1014
|
-
};
|
|
1015
|
-
readonly 'elicit-optional': {
|
|
1016
|
-
readonly zh: "{{title}}(可选)";
|
|
1017
|
-
readonly en: "{{title}} (optional)";
|
|
1018
|
-
};
|
|
1019
|
-
readonly 'elicit-yes': {
|
|
1020
|
-
readonly zh: "是";
|
|
1021
|
-
readonly en: "Yes";
|
|
1022
|
-
};
|
|
1023
|
-
readonly 'elicit-no': {
|
|
1024
|
-
readonly zh: "否";
|
|
1025
|
-
readonly en: "No";
|
|
1026
|
-
};
|
|
1027
|
-
readonly 'elicit-send': {
|
|
1028
|
-
readonly zh: "发送";
|
|
1029
|
-
readonly en: "Send";
|
|
1030
|
-
};
|
|
1031
|
-
readonly 'elicit-send-desc': {
|
|
1032
|
-
readonly zh: "把这些回答交给 MCP 服务器";
|
|
1033
|
-
readonly en: "Give these answers to the MCP server";
|
|
1034
|
-
};
|
|
1035
|
-
readonly 'elicit-decline': {
|
|
1036
|
-
readonly zh: "拒绝";
|
|
1037
|
-
readonly en: "Decline";
|
|
1038
|
-
};
|
|
1039
|
-
readonly 'elicit-decline-desc': {
|
|
1040
|
-
readonly zh: "不提供,告诉服务器你拒绝了";
|
|
1041
|
-
readonly en: "Provide nothing; tell the server you declined";
|
|
1042
|
-
};
|
|
1043
|
-
readonly 'elicit-confirm': {
|
|
1044
|
-
readonly zh: "把回答发送给 MCP 服务器 {{server}}?";
|
|
1045
|
-
readonly en: "Send your answers to the MCP server {{server}}?";
|
|
1046
|
-
};
|
|
1047
|
-
readonly 'elicit-invalid': {
|
|
1048
|
-
readonly zh: "请重新填写:{{reason}}";
|
|
1049
|
-
readonly en: "Please answer again: {{reason}}";
|
|
1050
|
-
};
|
|
1051
|
-
readonly 'elicit-invalid-required': {
|
|
1052
|
-
readonly zh: "这一项必填";
|
|
1053
|
-
readonly en: "this field is required";
|
|
1054
|
-
};
|
|
1055
|
-
readonly 'elicit-invalid-choice': {
|
|
1056
|
-
readonly zh: "请选择一项";
|
|
1057
|
-
readonly en: "pick one of the options";
|
|
1058
|
-
};
|
|
1059
|
-
readonly 'elicit-invalid-number': {
|
|
1060
|
-
readonly zh: "需要一个数字";
|
|
1061
|
-
readonly en: "a number is expected";
|
|
1062
|
-
};
|
|
1063
|
-
readonly 'elicit-invalid-integer': {
|
|
1064
|
-
readonly zh: "需要一个整数";
|
|
1065
|
-
readonly en: "a whole number is expected";
|
|
1066
|
-
};
|
|
1067
|
-
readonly 'elicit-invalid-min': {
|
|
1068
|
-
readonly zh: "不能小于 {{min}}";
|
|
1069
|
-
readonly en: "must be at least {{min}}";
|
|
1070
|
-
};
|
|
1071
|
-
readonly 'elicit-invalid-max': {
|
|
1072
|
-
readonly zh: "不能大于 {{max}}";
|
|
1073
|
-
readonly en: "must be at most {{max}}";
|
|
1074
|
-
};
|
|
1075
|
-
readonly 'elicit-invalid-min-length': {
|
|
1076
|
-
readonly zh: "至少 {{n}} 个字符";
|
|
1077
|
-
readonly en: "at least {{n}} characters";
|
|
1078
|
-
};
|
|
1079
|
-
readonly 'elicit-invalid-max-length': {
|
|
1080
|
-
readonly zh: "至多 {{n}} 个字符";
|
|
1081
|
-
readonly en: "at most {{n}} characters";
|
|
1082
|
-
};
|
|
1083
|
-
readonly 'elicit-invalid-min-items': {
|
|
1084
|
-
readonly zh: "至少选 {{n}} 项";
|
|
1085
|
-
readonly en: "pick at least {{n}}";
|
|
1086
|
-
};
|
|
1087
|
-
readonly 'elicit-invalid-max-items': {
|
|
1088
|
-
readonly zh: "至多选 {{n}} 项";
|
|
1089
|
-
readonly en: "pick at most {{n}}";
|
|
1090
|
-
};
|
|
1091
|
-
readonly 'elicit-invalid-email': {
|
|
1092
|
-
readonly zh: "需要一个邮箱地址";
|
|
1093
|
-
readonly en: "an email address is expected";
|
|
1094
|
-
};
|
|
1095
|
-
readonly 'elicit-invalid-uri': {
|
|
1096
|
-
readonly zh: "需要一个完整的网址(URI)";
|
|
1097
|
-
readonly en: "a full URI is expected";
|
|
1098
|
-
};
|
|
1099
|
-
readonly 'elicit-invalid-date': {
|
|
1100
|
-
readonly zh: "需要日期(YYYY-MM-DD)";
|
|
1101
|
-
readonly en: "a date is expected (YYYY-MM-DD)";
|
|
1102
|
-
};
|
|
1103
|
-
readonly 'elicit-invalid-date-time': {
|
|
1104
|
-
readonly zh: "需要日期时间(ISO 8601)";
|
|
1105
|
-
readonly en: "a date and time is expected (ISO 8601)";
|
|
1106
|
-
};
|
|
1107
|
-
readonly 'elicit-invalid-pattern': {
|
|
1108
|
-
readonly zh: "格式不符合要求";
|
|
1109
|
-
readonly en: "the format does not match";
|
|
1110
|
-
};
|
|
1111
|
-
readonly 'elicit-invalid-json': {
|
|
1112
|
-
readonly zh: "需要 JSON 形式的值";
|
|
1113
|
-
readonly en: "a JSON value is expected";
|
|
1114
|
-
};
|
|
1115
|
-
readonly 'elicit-kind-number': {
|
|
1116
|
-
readonly zh: "数字";
|
|
1117
|
-
readonly en: "number";
|
|
1118
|
-
};
|
|
1119
|
-
readonly 'elicit-kind-integer': {
|
|
1120
|
-
readonly zh: "整数";
|
|
1121
|
-
readonly en: "whole number";
|
|
1122
|
-
};
|
|
1123
|
-
readonly 'elicit-hint-range': {
|
|
1124
|
-
readonly zh: "{{kind}},{{min}}–{{max}}";
|
|
1125
|
-
readonly en: "{{kind}}, {{min}}–{{max}}";
|
|
1126
|
-
};
|
|
1127
|
-
readonly 'elicit-hint-min': {
|
|
1128
|
-
readonly zh: "{{kind}},不小于 {{min}}";
|
|
1129
|
-
readonly en: "{{kind}}, at least {{min}}";
|
|
1130
|
-
};
|
|
1131
|
-
readonly 'elicit-hint-max': {
|
|
1132
|
-
readonly zh: "{{kind}},不大于 {{max}}";
|
|
1133
|
-
readonly en: "{{kind}}, at most {{max}}";
|
|
1134
|
-
};
|
|
1135
|
-
readonly 'elicit-hint-json': {
|
|
1136
|
-
readonly zh: "以 JSON 形式输入";
|
|
1137
|
-
readonly en: "enter it as JSON";
|
|
1138
|
-
};
|
|
1139
|
-
readonly 'elicit-hint-format': {
|
|
1140
|
-
readonly zh: "格式:{{format}}";
|
|
1141
|
-
readonly en: "format: {{format}}";
|
|
1142
|
-
};
|
|
1143
|
-
readonly 'elicit-url-notice': {
|
|
1144
|
-
readonly zh: "MCP 服务器 {{server}} 请你在浏览器中打开:{{url}}";
|
|
1145
|
-
readonly en: "The MCP server {{server}} asks you to open: {{url}}";
|
|
1146
|
-
};
|
|
1147
|
-
readonly 'elicit-url-question': {
|
|
1148
|
-
readonly zh: "MCP 服务器 {{server}} 需要你在浏览器中完成一步";
|
|
1149
|
-
readonly en: "The MCP server {{server}} needs you to finish a step in the browser";
|
|
1150
|
-
};
|
|
1151
|
-
readonly 'elicit-url-detail': {
|
|
1152
|
-
readonly zh: "打开下面的链接完成后选「继续」;完成时服务器也可能自动关闭这个面板";
|
|
1153
|
-
readonly en: "Open the link below, then choose Continue; the server may also close this panel when it is done";
|
|
1154
|
-
};
|
|
1155
|
-
readonly 'elicit-url-accept': {
|
|
1156
|
-
readonly zh: "继续(已打开链接)";
|
|
1157
|
-
readonly en: "Continue (link opened)";
|
|
1158
|
-
};
|
|
1159
|
-
readonly 'elicit-url-accept-desc': {
|
|
1160
|
-
readonly zh: "告诉服务器你同意并已打开链接";
|
|
1161
|
-
readonly en: "Tell the server you agreed and opened the link";
|
|
1162
|
-
};
|
|
1163
|
-
readonly 'elicit-url-complete': {
|
|
1164
|
-
readonly zh: "MCP 服务器 {{server}} 确认已完成";
|
|
1165
|
-
readonly en: "The MCP server {{server}} confirmed it is done";
|
|
1166
|
-
};
|
|
1167
|
-
readonly 'elicit-url-missing': {
|
|
1168
|
-
readonly zh: "MCP 服务器 {{server}} 请求打开链接却没有给出网址,已拒绝";
|
|
1169
|
-
readonly en: "The MCP server {{server}} asked to open a link but gave none; declined";
|
|
1170
|
-
};
|
|
1171
|
-
readonly 'elicit-unsupported': {
|
|
1172
|
-
readonly zh: "MCP 服务器 {{server}} 的请求({{mode}})无法在此显示,已拒绝";
|
|
1173
|
-
readonly en: "The request of the MCP server {{server}} ({{mode}}) cannot be shown here; declined";
|
|
1174
|
-
};
|
|
1175
|
-
readonly 'claude-refusal-header': {
|
|
1176
|
-
readonly zh: "模型拒绝";
|
|
1177
|
-
readonly en: "Model declined";
|
|
1178
|
-
};
|
|
1179
|
-
readonly 'claude-refusal-question': {
|
|
1180
|
-
readonly zh: "{{model}} 拒绝了这次请求,要换模型重试吗?";
|
|
1181
|
-
readonly en: "{{model}} declined this request. Retry on another model?";
|
|
1182
|
-
};
|
|
1183
|
-
readonly 'claude-refusal-this-model': {
|
|
1184
|
-
readonly zh: "当前模型";
|
|
1185
|
-
readonly en: "The current model";
|
|
1186
|
-
};
|
|
1187
|
-
readonly 'claude-refusal-retry': {
|
|
1188
|
-
readonly zh: "用 {{model}} 重试";
|
|
1189
|
-
readonly en: "Retry on {{model}}";
|
|
1190
|
-
};
|
|
1191
|
-
readonly 'claude-refusal-retry-desc': {
|
|
1192
|
-
readonly zh: "本次请求改由回退模型回答";
|
|
1193
|
-
readonly en: "The fallback model answers this request";
|
|
1194
|
-
};
|
|
1195
|
-
readonly 'claude-refusal-cancel': {
|
|
1196
|
-
readonly zh: "取消";
|
|
1197
|
-
readonly en: "Cancel";
|
|
1198
|
-
};
|
|
1199
|
-
readonly 'claude-refusal-cancel-desc': {
|
|
1200
|
-
readonly zh: "保留拒绝结果,结束本回合";
|
|
1201
|
-
readonly en: "Keep the refusal and end the turn";
|
|
1202
|
-
};
|
|
1203
|
-
readonly 'claude-refusal-category': {
|
|
1204
|
-
readonly zh: "拒绝类别:{{category}}";
|
|
1205
|
-
readonly en: "Refusal category: {{category}}";
|
|
1206
|
-
};
|
|
1207
|
-
readonly 'claude-doctor-cli': {
|
|
1208
|
-
readonly zh: "Claude CLI: {{path}}({{source}})· 版本 {{version}}";
|
|
1209
|
-
readonly en: "Claude CLI: {{path}} ({{source}}) · version {{version}}";
|
|
1210
|
-
};
|
|
1211
|
-
readonly 'claude-doctor-bundled': {
|
|
1212
|
-
readonly zh: "SDK 自带二进制";
|
|
1213
|
-
readonly en: "SDK bundled binary";
|
|
1214
|
-
};
|
|
1215
|
-
readonly 'claude-doctor-sdk': {
|
|
1216
|
-
readonly zh: "Claude Agent SDK {{version}}(已验证 {{validated}})";
|
|
1217
|
-
readonly en: "Claude Agent SDK {{version}} (validated {{validated}})";
|
|
1218
|
-
};
|
|
1219
|
-
readonly 'claude-doctor-mode': {
|
|
1220
|
-
readonly zh: "起始权限模式: {{mode}}(来源 {{source}})";
|
|
1221
|
-
readonly en: "Start permission mode: {{mode}} (from {{source}})";
|
|
1222
|
-
};
|
|
1223
|
-
readonly 'codex-approve-accept': {
|
|
1224
|
-
readonly zh: "是,执行";
|
|
1225
|
-
readonly en: "Yes, proceed";
|
|
1226
|
-
};
|
|
1227
|
-
readonly 'codex-approve-decline': {
|
|
1228
|
-
readonly zh: "否,跳过它继续";
|
|
1229
|
-
readonly en: "No, continue without running it";
|
|
1230
|
-
};
|
|
1231
|
-
readonly 'codex-approve-cancel': {
|
|
1232
|
-
readonly zh: "否,并告诉 Codex 怎么做";
|
|
1233
|
-
readonly en: "No, and tell Codex what to do differently";
|
|
1234
|
-
};
|
|
1235
|
-
readonly 'codex-approve-decline-files': {
|
|
1236
|
-
readonly zh: "否,不应用这些改动,继续";
|
|
1237
|
-
readonly en: "No, continue without these changes";
|
|
1238
|
-
};
|
|
1239
|
-
readonly 'codex-approve-grant-turn': {
|
|
1240
|
-
readonly zh: "是,本回合授予这些权限";
|
|
1241
|
-
readonly en: "Yes, grant these permissions for this turn";
|
|
1242
|
-
};
|
|
1243
|
-
readonly 'codex-approve-deny-permissions': {
|
|
1244
|
-
readonly zh: "否,不授予权限继续";
|
|
1245
|
-
readonly en: "No, continue without permissions";
|
|
1246
|
-
};
|
|
1247
|
-
readonly 'codex-approve-stdin-name': {
|
|
1248
|
-
readonly zh: "终端输入";
|
|
1249
|
-
readonly en: "Terminal input";
|
|
1250
|
-
};
|
|
1251
|
-
readonly 'codex-approve-stdin': {
|
|
1252
|
-
readonly zh: "向运行中的终端写入输入";
|
|
1253
|
-
readonly en: "writes input to a running terminal";
|
|
1254
|
-
};
|
|
1255
|
-
readonly 'codex-approve-network-context': {
|
|
1256
|
-
readonly zh: "访问网络主机 {{host}}({{protocol}})";
|
|
1257
|
-
readonly en: "network access to {{host}} ({{protocol}})";
|
|
1258
|
-
};
|
|
1259
|
-
readonly 'codex-approve-extra-permissions': {
|
|
1260
|
-
readonly zh: "额外权限:{{what}}";
|
|
1261
|
-
readonly en: "extra permissions: {{what}}";
|
|
1262
|
-
};
|
|
1263
|
-
readonly 'codex-approve-cwd': {
|
|
1264
|
-
readonly zh: "在 {{cwd}} 中运行";
|
|
1265
|
-
readonly en: "runs in {{cwd}}";
|
|
1266
|
-
};
|
|
1267
|
-
readonly 'codex-approve-prefix': {
|
|
1268
|
-
readonly zh: "是,以后以 `{{prefix}}` 开头的命令不再询问";
|
|
1269
|
-
readonly en: "Yes, and don't ask again for commands that start with `{{prefix}}`";
|
|
1270
|
-
};
|
|
1271
|
-
readonly 'codex-approve-session-command': {
|
|
1272
|
-
readonly zh: "是,本会话内此命令不再询问";
|
|
1273
|
-
readonly en: "Yes, and don't ask again for this command in this session";
|
|
1274
|
-
};
|
|
1275
|
-
readonly 'codex-approve-session-files': {
|
|
1276
|
-
readonly zh: "是,本会话内这些文件不再询问";
|
|
1277
|
-
readonly en: "Yes, and don't ask again for these files";
|
|
1278
|
-
};
|
|
1279
|
-
readonly 'codex-approve-session-permissions': {
|
|
1280
|
-
readonly zh: "是,本会话内都授予这些权限";
|
|
1281
|
-
readonly en: "Yes, grant these permissions for this session";
|
|
1282
|
-
};
|
|
1283
|
-
readonly 'codex-approve-network': {
|
|
1284
|
-
readonly zh: "是,以后允许访问 {{host}}";
|
|
1285
|
-
readonly en: "Yes, and allow {{host}} in the future";
|
|
1286
|
-
};
|
|
1287
|
-
readonly 'codex-permissions-name': {
|
|
1288
|
-
readonly zh: "额外权限";
|
|
1289
|
-
readonly en: "Extra permissions";
|
|
1290
|
-
};
|
|
1291
|
-
readonly 'codex-perm-network': {
|
|
1292
|
-
readonly zh: "联网";
|
|
1293
|
-
readonly en: "network";
|
|
1294
|
-
};
|
|
1295
|
-
readonly 'codex-perm-read': {
|
|
1296
|
-
readonly zh: "读取 {{paths}}";
|
|
1297
|
-
readonly en: "read {{paths}}";
|
|
1298
|
-
};
|
|
1299
|
-
readonly 'codex-perm-write': {
|
|
1300
|
-
readonly zh: "写入 {{paths}}";
|
|
1301
|
-
readonly en: "write {{paths}}";
|
|
1302
|
-
};
|
|
1303
|
-
readonly 'codex-declined': {
|
|
1304
|
-
readonly zh: "已拒绝";
|
|
1305
|
-
readonly en: "Declined";
|
|
1306
|
-
};
|
|
1307
|
-
readonly 'codex-interrupted': {
|
|
1308
|
-
readonly zh: "已中断";
|
|
1309
|
-
readonly en: "Interrupted";
|
|
1310
|
-
};
|
|
1311
|
-
readonly 'codex-tool-failed': {
|
|
1312
|
-
readonly zh: "执行失败";
|
|
1313
|
-
readonly en: "Failed";
|
|
1314
|
-
};
|
|
1315
|
-
readonly 'codex-tool-unfinished': {
|
|
1316
|
-
readonly zh: "回合结束时仍未完成";
|
|
1317
|
-
readonly en: "Unfinished when the turn ended";
|
|
1318
|
-
};
|
|
1319
|
-
readonly 'codex-turn-failed': {
|
|
1320
|
-
readonly zh: "回合失败";
|
|
1321
|
-
readonly en: "The turn failed";
|
|
1322
|
-
};
|
|
1323
|
-
readonly 'codex-turn-start-failed': {
|
|
1324
|
-
readonly zh: "Codex 没有接受这条消息:{{err}}";
|
|
1325
|
-
readonly en: "Codex did not take this message: {{err}}";
|
|
1326
|
-
};
|
|
1327
|
-
readonly 'codex-steer-fallback': {
|
|
1328
|
-
readonly zh: "当前回合无法插话,这条消息会在回合结束后发送";
|
|
1329
|
-
readonly en: "The running turn cannot take this message now; it will be sent when the turn ends";
|
|
1330
|
-
};
|
|
1331
|
-
readonly 'codex-cancel-forced': {
|
|
1332
|
-
readonly zh: "中断 15 秒未得到确认,已在本地结束本回合";
|
|
1333
|
-
readonly en: "The interrupt was not confirmed within 15s; the turn was closed here";
|
|
1334
|
-
};
|
|
1335
|
-
readonly 'codex-session-closed': {
|
|
1336
|
-
readonly zh: "Codex 会话已关闭";
|
|
1337
|
-
readonly en: "The Codex session is closed";
|
|
1338
|
-
};
|
|
1339
|
-
readonly 'codex-retrying': {
|
|
1340
|
-
readonly zh: "请求失败,Codex 正在重试:{{message}}";
|
|
1341
|
-
readonly en: "The request failed; Codex is retrying: {{message}}";
|
|
1342
|
-
};
|
|
1343
|
-
readonly 'codex-rerouted': {
|
|
1344
|
-
readonly zh: "模型已由 {{from}} 改为 {{to}}({{reason}})";
|
|
1345
|
-
readonly en: "The model was rerouted from {{from}} to {{to}} ({{reason}})";
|
|
1346
|
-
};
|
|
1347
|
-
readonly 'codex-system-error': {
|
|
1348
|
-
readonly zh: "Codex 报告该会话出现系统错误";
|
|
1349
|
-
readonly en: "Codex reported a system error on this thread";
|
|
1350
|
-
};
|
|
1351
|
-
readonly 'codex-review-start': {
|
|
1352
|
-
readonly zh: "开始代码审查:{{review}}";
|
|
1353
|
-
readonly en: "Code review started: {{review}}";
|
|
1354
|
-
};
|
|
1355
|
-
readonly 'codex-auto-review-started': {
|
|
1356
|
-
readonly zh: "自动审查中…";
|
|
1357
|
-
readonly en: "Auto-review in progress…";
|
|
1358
|
-
};
|
|
1359
|
-
readonly 'codex-auto-review-approved': {
|
|
1360
|
-
readonly zh: "自动审查:已批准";
|
|
1361
|
-
readonly en: "Auto-review: approved";
|
|
1362
|
-
};
|
|
1363
|
-
readonly 'codex-auto-review-denied': {
|
|
1364
|
-
readonly zh: "自动审查:已拒绝";
|
|
1365
|
-
readonly en: "Auto-review: denied";
|
|
1366
|
-
};
|
|
1367
|
-
readonly 'codex-auto-review-ended': {
|
|
1368
|
-
readonly zh: "自动审查已结束";
|
|
1369
|
-
readonly en: "Auto-review ended";
|
|
1370
|
-
};
|
|
1371
|
-
readonly 'codex-strict-review': {
|
|
1372
|
-
readonly zh: "本回合之后的命令需要先通过审查";
|
|
1373
|
-
readonly en: "Further commands in this turn need a review first";
|
|
1374
|
-
};
|
|
1375
|
-
readonly 'codex-hook-started': {
|
|
1376
|
-
readonly zh: "hook {{event}} 运行中…";
|
|
1377
|
-
readonly en: "Hook {{event}} running…";
|
|
1378
|
-
};
|
|
1379
|
-
readonly 'codex-hook-done': {
|
|
1380
|
-
readonly zh: "hook {{event}} 完成 {{duration}}";
|
|
1381
|
-
readonly en: "Hook {{event}} finished {{duration}}";
|
|
1382
|
-
};
|
|
1383
|
-
readonly 'codex-hook-failed': {
|
|
1384
|
-
readonly zh: "hook {{event}} 失败 {{duration}}";
|
|
1385
|
-
readonly en: "Hook {{event}} failed {{duration}}";
|
|
1386
|
-
};
|
|
1387
|
-
readonly 'codex-mcp-failed': {
|
|
1388
|
-
readonly zh: "MCP 服务器 {{name}} 启动失败:{{error}}";
|
|
1389
|
-
readonly en: "The MCP server {{name}} failed to start: {{error}}";
|
|
1390
|
-
};
|
|
1391
|
-
readonly 'codex-thread-closed': {
|
|
1392
|
-
readonly zh: "该会话已在别处关闭,仍可继续对话";
|
|
1393
|
-
readonly en: "This thread was closed elsewhere; you can keep talking";
|
|
1394
|
-
};
|
|
1395
|
-
readonly 'codex-thread-archived': {
|
|
1396
|
-
readonly zh: "该会话已在别处归档,仍可继续对话";
|
|
1397
|
-
readonly en: "This thread was archived elsewhere; you can keep talking";
|
|
1398
|
-
};
|
|
1399
|
-
readonly 'codex-thread-deleted': {
|
|
1400
|
-
readonly zh: "该会话已在别处删除";
|
|
1401
|
-
readonly en: "This thread was deleted elsewhere";
|
|
1402
|
-
};
|
|
1403
|
-
readonly 'codex-rate-limit-reached': {
|
|
1404
|
-
readonly zh: "已达到 Codex 用量上限({{kind}})";
|
|
1405
|
-
readonly en: "The Codex usage limit is reached ({{kind}})";
|
|
1406
|
-
};
|
|
1407
|
-
readonly 'codex-hint-unauthorized': {
|
|
1408
|
-
readonly zh: "Codex 凭据无效或已过期:在终端运行 codex login 重新登录";
|
|
1409
|
-
readonly en: "The Codex credential is invalid or expired: sign in again with `codex login` in a terminal";
|
|
1410
|
-
};
|
|
1411
|
-
readonly 'codex-hint-context': {
|
|
1412
|
-
readonly zh: "上下文已满:可以用 /compact 压缩后继续";
|
|
1413
|
-
readonly en: "The context is full: run /compact and continue";
|
|
1414
|
-
};
|
|
1415
|
-
readonly 'codex-hint-limit': {
|
|
1416
|
-
readonly zh: "已达到用量上限,稍后再试";
|
|
1417
|
-
readonly en: "A usage limit is reached; try again later";
|
|
1418
|
-
};
|
|
1419
|
-
readonly 'codex-hint-sandbox': {
|
|
1420
|
-
readonly zh: "沙箱出错:Linux 上请安装 bubblewrap(例如 apt install bubblewrap)";
|
|
1421
|
-
readonly en: "Sandbox error: on Linux install bubblewrap (e.g. apt install bubblewrap)";
|
|
1422
|
-
};
|
|
1423
|
-
readonly 'codex-connection-lost': {
|
|
1424
|
-
readonly zh: "Codex 进程退出,正在重连…";
|
|
1425
|
-
readonly en: "The Codex process exited; reconnecting…";
|
|
1426
|
-
};
|
|
1427
|
-
readonly 'codex-connection-failed': {
|
|
1428
|
-
readonly zh: "Codex 进程无法启动:{{err}}";
|
|
1429
|
-
readonly en: "The Codex process cannot start: {{err}}";
|
|
1430
|
-
};
|
|
1431
|
-
readonly 'codex-connection-dead': {
|
|
1432
|
-
readonly zh: "连接已断开且无法恢复,请重新打开会话";
|
|
1433
|
-
readonly en: "The connection is gone for good; please reopen the session";
|
|
1434
|
-
};
|
|
1435
|
-
readonly 'codex-reconnected': {
|
|
1436
|
-
readonly zh: "已重新连接 Codex";
|
|
1437
|
-
readonly en: "Reconnected to Codex";
|
|
1438
|
-
};
|
|
1439
|
-
readonly 'codex-not-installed': {
|
|
1440
|
-
readonly zh: "未找到 codex:npm i -g @openai/codex 或 brew install codex,或设置 CODEX_EXECUTABLE";
|
|
1441
|
-
readonly en: "codex was not found: npm i -g @openai/codex or brew install codex, or set CODEX_EXECUTABLE";
|
|
1442
|
-
};
|
|
1443
|
-
readonly 'codex-too-old': {
|
|
1444
|
-
readonly zh: "codex {{version}} 太旧(至少 {{min}}):请升级";
|
|
1445
|
-
readonly en: "codex {{version}} is too old (needs {{min}}): please upgrade";
|
|
1446
|
-
};
|
|
1447
|
-
readonly 'codex-auth-missing-hint': {
|
|
1448
|
-
readonly zh: "未检测到 Codex 凭据:启动后用 /login 登录,或设置 OPENAI_API_KEY";
|
|
1449
|
-
readonly en: "No Codex credential found: sign in with /login after start, or set OPENAI_API_KEY";
|
|
1450
|
-
};
|
|
1451
|
-
readonly 'codex-start-failed': {
|
|
1452
|
-
readonly zh: "Codex app-server 启动失败:{{err}}";
|
|
1453
|
-
readonly en: "The Codex app-server failed to start: {{err}}";
|
|
1454
|
-
};
|
|
1455
|
-
readonly 'codex-open-failed': {
|
|
1456
|
-
readonly zh: "无法打开 Codex 会话:{{err}}";
|
|
1457
|
-
readonly en: "Could not open the Codex thread: {{err}}";
|
|
1458
|
-
};
|
|
1459
|
-
readonly 'codex-thread-busy': {
|
|
1460
|
-
readonly zh: "Codex 会话 {{id}} 正被另一个 Codex 进程使用,先关闭那边再打开";
|
|
1461
|
-
readonly en: "The Codex thread {{id}} is in use by another Codex process; close it there first";
|
|
1462
|
-
};
|
|
1463
|
-
readonly 'codex-resume-not-found': {
|
|
1464
|
-
readonly zh: "找不到 Codex 会话 {{id}}({{err}})";
|
|
1465
|
-
readonly en: "The Codex thread {{id}} was not found ({{err}})";
|
|
1466
|
-
};
|
|
1467
|
-
readonly 'codex-version-drift': {
|
|
1468
|
-
readonly zh: "codex {{version}} 未经本版 dsh-tui 验证(已验证:{{validated}}),继续运行";
|
|
1469
|
-
readonly en: "codex {{version}} is not validated with this dsh-tui (validated: {{validated}}); continuing";
|
|
1470
|
-
};
|
|
1471
|
-
readonly 'codex-doctor-cli': {
|
|
1472
|
-
readonly zh: "Codex CLI: {{path}}({{source}})· 版本 {{version}}";
|
|
1473
|
-
readonly en: "Codex CLI: {{path}} ({{source}}) · version {{version}}";
|
|
1474
|
-
};
|
|
1475
|
-
readonly 'codex-doctor-home': {
|
|
1476
|
-
readonly zh: "Codex 主目录: {{home}}";
|
|
1477
|
-
readonly en: "Codex home: {{home}}";
|
|
1478
|
-
};
|
|
1479
|
-
readonly 'codex-doctor-thread': {
|
|
1480
|
-
readonly zh: "Codex 会话: {{id}} · provider {{provider}} · 模型 {{model}}";
|
|
1481
|
-
readonly en: "Codex thread: {{id}} · provider {{provider}} · model {{model}}";
|
|
1482
|
-
};
|
|
1483
|
-
readonly 'codex-doctor-mode': {
|
|
1484
|
-
readonly zh: "权限模式: {{mode}}";
|
|
1485
|
-
readonly en: "Permission mode: {{mode}}";
|
|
1486
|
-
};
|
|
1487
|
-
readonly 'codex-doctor-bubblewrap': {
|
|
1488
|
-
readonly zh: "未找到 bubblewrap:Codex 改用自带沙箱;建议用系统包管理器安装 bubblewrap";
|
|
1489
|
-
readonly en: "bubblewrap was not found: Codex uses its bundled sandbox; installing bubblewrap from the system package manager is recommended";
|
|
1490
|
-
};
|
|
1491
|
-
readonly 'codex-mode-read-only': {
|
|
1492
|
-
readonly zh: "只读";
|
|
1493
|
-
readonly en: "Read Only";
|
|
1494
|
-
};
|
|
1495
|
-
readonly 'codex-mode-read-only-desc': {
|
|
1496
|
-
readonly zh: "只读取文件;命令和修改需审批";
|
|
1497
|
-
readonly en: "Read files; commands and changes require approval";
|
|
1498
|
-
};
|
|
1499
|
-
readonly 'codex-mode-auto': {
|
|
1500
|
-
readonly zh: "默认";
|
|
1501
|
-
readonly en: "Default";
|
|
1502
|
-
};
|
|
1503
|
-
readonly 'codex-mode-auto-desc': {
|
|
1504
|
-
readonly zh: "可修改工作区;工作区外和网络操作需审批";
|
|
1505
|
-
readonly en: "Edit the workspace; ask before outside-workspace or network access";
|
|
1506
|
-
};
|
|
1507
|
-
readonly 'codex-mode-full-access': {
|
|
1508
|
-
readonly zh: "完全访问";
|
|
1509
|
-
readonly en: "Full Access";
|
|
1510
|
-
};
|
|
1511
|
-
readonly 'codex-mode-full-access-desc': {
|
|
1512
|
-
readonly zh: "关闭沙箱和审批,仅通过显式选择进入";
|
|
1513
|
-
readonly en: "Disable sandbox and approvals; explicit selection only";
|
|
1514
|
-
};
|
|
1515
|
-
readonly 'codex-mode-plan': {
|
|
1516
|
-
readonly zh: "计划";
|
|
1517
|
-
readonly en: "Plan";
|
|
1518
|
-
};
|
|
1519
|
-
readonly 'codex-mode-plan-desc': {
|
|
1520
|
-
readonly zh: "先调研和规划,保留当前权限档";
|
|
1521
|
-
readonly en: "Research and plan, preserving the current permissions";
|
|
1522
|
-
};
|
|
1523
|
-
readonly 'codex-mode-invalid': {
|
|
1524
|
-
readonly zh: "未知 Codex 模式:{{mode}}";
|
|
1525
|
-
readonly en: "Unknown Codex mode: {{mode}}";
|
|
1526
|
-
};
|
|
1527
|
-
readonly 'codex-settings-deferred': {
|
|
1528
|
-
readonly zh: "当前 Codex 版本不支持即时改设置,选择将在下一回合生效";
|
|
1529
|
-
readonly en: "This Codex version cannot update idle settings; your choices apply on the next turn";
|
|
1530
|
-
};
|
|
1531
|
-
readonly 'codex-capability-unavailable': {
|
|
1532
|
-
readonly zh: "当前 Codex 版本不支持 {{feature}},请升级";
|
|
1533
|
-
readonly en: "This Codex version does not support {{feature}}; please upgrade";
|
|
1534
|
-
};
|
|
1535
|
-
readonly 'codex-effort-none': {
|
|
1536
|
-
readonly zh: "无";
|
|
1537
|
-
readonly en: "None";
|
|
1538
|
-
};
|
|
1539
|
-
readonly 'codex-effort-minimal': {
|
|
1540
|
-
readonly zh: "极低";
|
|
1541
|
-
readonly en: "Minimal";
|
|
1542
|
-
};
|
|
1543
|
-
readonly 'codex-effort-low': {
|
|
1544
|
-
readonly zh: "低";
|
|
1545
|
-
readonly en: "Low";
|
|
1546
|
-
};
|
|
1547
|
-
readonly 'codex-effort-medium': {
|
|
1548
|
-
readonly zh: "中";
|
|
1549
|
-
readonly en: "Medium";
|
|
1550
|
-
};
|
|
1551
|
-
readonly 'codex-effort-high': {
|
|
1552
|
-
readonly zh: "高";
|
|
1553
|
-
readonly en: "High";
|
|
1554
|
-
};
|
|
1555
|
-
readonly 'codex-effort-xhigh': {
|
|
1556
|
-
readonly zh: "极高";
|
|
1557
|
-
readonly en: "Extra high";
|
|
1558
|
-
};
|
|
1559
|
-
readonly 'codex-effort-ultra': {
|
|
1560
|
-
readonly zh: "超高";
|
|
1561
|
-
readonly en: "Ultra";
|
|
1562
|
-
};
|
|
1563
|
-
readonly 'codex-command-idle': {
|
|
1564
|
-
readonly zh: "请先结束或中断当前回合";
|
|
1565
|
-
readonly en: "Finish or interrupt the current turn first";
|
|
1566
|
-
};
|
|
1567
|
-
readonly 'codex-command-review': {
|
|
1568
|
-
readonly zh: "审查未提交改动、分支、提交或自定义范围";
|
|
1569
|
-
readonly en: "Review working changes, a branch, a commit, or custom instructions";
|
|
1570
|
-
};
|
|
1571
|
-
readonly 'codex-command-diff': {
|
|
1572
|
-
readonly zh: "显示最近回合的文件差异";
|
|
1573
|
-
readonly en: "Show the latest turn's file diff";
|
|
1574
|
-
};
|
|
1575
|
-
readonly 'codex-command-plan': {
|
|
1576
|
-
readonly zh: "切换到 Plan 模式,可附带提示词";
|
|
1577
|
-
readonly en: "Enter Plan mode, optionally with a prompt";
|
|
1578
|
-
};
|
|
1579
|
-
readonly 'codex-command-usage': {
|
|
1580
|
-
readonly zh: "查看 Codex 额度和重置时间";
|
|
1581
|
-
readonly en: "Show Codex usage limits and reset times";
|
|
1582
|
-
};
|
|
1583
|
-
readonly 'codex-diff-empty': {
|
|
1584
|
-
readonly zh: "没有文件差异";
|
|
1585
|
-
readonly en: "No file differences";
|
|
1586
|
-
};
|
|
1587
|
-
readonly 'codex-usage-window': {
|
|
1588
|
-
readonly zh: "{{name}}:已用 {{used}}% · 重置 {{reset}}";
|
|
1589
|
-
readonly en: "{{name}}: {{used}}% used · resets {{reset}}";
|
|
1590
|
-
};
|
|
1591
|
-
readonly 'codex-usage-credits': {
|
|
1592
|
-
readonly zh: "额度余额 {{balance}} · 不限量:{{unlimited}}";
|
|
1593
|
-
readonly en: "Credits {{balance}} · unlimited: {{unlimited}}";
|
|
1594
|
-
};
|
|
1595
|
-
readonly 'codex-usage-unavailable': {
|
|
1596
|
-
readonly zh: "当前 provider 未提供额度信息";
|
|
1597
|
-
readonly en: "The current provider supplies no usage-limit information";
|
|
1598
|
-
};
|
|
1599
|
-
readonly 'codex-yes': {
|
|
1600
|
-
readonly zh: "是";
|
|
1601
|
-
readonly en: "yes";
|
|
1602
|
-
};
|
|
1603
|
-
readonly 'codex-no': {
|
|
1604
|
-
readonly zh: "否";
|
|
1605
|
-
readonly en: "no";
|
|
1606
|
-
};
|
|
1607
|
-
readonly 'codex-question-auto-answered': {
|
|
1608
|
-
readonly zh: "问卷等待超时,已按服务端设置选择默认答案";
|
|
1609
|
-
readonly en: "The question timed out; the server's default answer was selected";
|
|
1610
|
-
};
|
|
1611
|
-
readonly 'codex-plan-implement': {
|
|
1612
|
-
readonly zh: "要实施这个计划吗?";
|
|
1613
|
-
readonly en: "Implement this plan?";
|
|
1614
|
-
};
|
|
1615
|
-
readonly 'codex-plan-yes': {
|
|
1616
|
-
readonly zh: "是,实施这个计划";
|
|
1617
|
-
readonly en: "Yes, implement this plan";
|
|
1618
|
-
};
|
|
1619
|
-
readonly 'codex-plan-clear': {
|
|
1620
|
-
readonly zh: "是,清空上下文后实施";
|
|
1621
|
-
readonly en: "Yes, clear context and implement";
|
|
1622
|
-
};
|
|
1623
|
-
readonly 'codex-plan-stay': {
|
|
1624
|
-
readonly zh: "否,留在 Plan 模式";
|
|
1625
|
-
readonly en: "No, stay in Plan mode";
|
|
1626
|
-
};
|
|
1627
|
-
readonly 'codex-plan-action-failed': {
|
|
1628
|
-
readonly zh: "无法开始实施计划:{{error}}";
|
|
1629
|
-
readonly en: "Could not start implementing the plan: {{error}}";
|
|
1630
|
-
};
|
|
1631
|
-
readonly 'codex-bwrap-warning': {
|
|
1632
|
-
readonly zh: "未找到 bubblewrap,沙箱命令可能失败。请安装(如 apt install bubblewrap),或在 /permission 中明确选择完全访问";
|
|
1633
|
-
readonly en: "bubblewrap was not found; sandboxed commands may fail. Install it (e.g. apt install bubblewrap), or explicitly select Full Access in /permission";
|
|
1634
|
-
};
|
|
1635
|
-
readonly 'codex-model-waiting': {
|
|
1636
|
-
readonly zh: "等待模型响应…";
|
|
1637
|
-
readonly en: "Waiting for the model…";
|
|
1638
|
-
};
|
|
1639
|
-
readonly 'codex-model-stalled': {
|
|
1640
|
-
readonly zh: "模型长时间无响应,可按 Esc 中断";
|
|
1641
|
-
readonly en: "The model has not responded for a long time; press Esc to interrupt";
|
|
1642
|
-
};
|
|
1643
|
-
readonly 'codex-working-command': {
|
|
1644
|
-
readonly zh: "运行 {{command}}";
|
|
1645
|
-
readonly en: "Running {{command}}";
|
|
1646
|
-
};
|
|
1647
|
-
readonly 'codex-working-files': {
|
|
1648
|
-
readonly zh: "编辑 {{files}}";
|
|
1649
|
-
readonly en: "Editing {{files}}";
|
|
1650
|
-
};
|
|
1651
|
-
readonly 'codex-working-subagents': {
|
|
1652
|
-
readonly zh: "等待子代理";
|
|
1653
|
-
readonly en: "Waiting for subagents";
|
|
1654
|
-
};
|
|
1655
|
-
readonly 'codex-working-thinking': {
|
|
1656
|
-
readonly zh: "思考中…";
|
|
1657
|
-
readonly en: "Thinking…";
|
|
1658
|
-
};
|
|
1659
|
-
readonly 'codex-channel-url-required': {
|
|
1660
|
-
readonly zh: "渠道连接缺少 base URL,请用 /channel 配置";
|
|
1661
|
-
readonly en: "The channel connection has no base URL; configure it with /channel";
|
|
1662
|
-
};
|
|
1663
|
-
readonly 'codex-channel-token-missing': {
|
|
1664
|
-
readonly zh: "渠道 {{name}} 缺少可用令牌,请用 /channel 补充";
|
|
1665
|
-
readonly en: "Channel {{name}} has no usable token; add one with /channel";
|
|
1666
|
-
};
|
|
1667
|
-
readonly 'codex-channel-store-unavailable': {
|
|
1668
|
-
readonly zh: "宿主未提供渠道令牌库,无法保存令牌";
|
|
1669
|
-
readonly en: "The host did not provide a channel token store; the token cannot be saved";
|
|
1670
|
-
};
|
|
1671
|
-
readonly 'codex-channel-token-write-failed': {
|
|
1672
|
-
readonly zh: "渠道令牌保存失败,连接未更新";
|
|
1673
|
-
readonly en: "The channel token could not be saved; the connection was not updated";
|
|
1674
|
-
};
|
|
1675
|
-
readonly 'codex-auth-login-needed': {
|
|
1676
|
-
readonly zh: "Codex 需要凭据:用 /login 登录";
|
|
1677
|
-
readonly en: "Codex needs credentials: sign in with /login";
|
|
1678
|
-
};
|
|
1679
|
-
readonly 'codex-auth-refresh-failed': {
|
|
1680
|
-
readonly zh: "ChatGPT 订阅令牌刷新失败,已停止注入;用 /login 重新登录,或使用自己的 Codex 登录";
|
|
1681
|
-
readonly en: "The ChatGPT subscription token refresh failed; injection stopped. Use /login again or your own Codex login";
|
|
1682
|
-
};
|
|
1683
|
-
readonly 'codex-auth-login-failed': {
|
|
1684
|
-
readonly zh: "Codex 登录未完成,已停止托管令牌注入;请用 /login 重试";
|
|
1685
|
-
readonly en: "Codex login did not complete; managed token injection stopped. Retry with /login";
|
|
1686
|
-
};
|
|
1687
|
-
readonly 'codex-auth-claims-missing': {
|
|
1688
|
-
readonly zh: "内置 OAuth 令牌缺少 ChatGPT 账户信息,未注入;请用 /login 重新登录";
|
|
1689
|
-
readonly en: "The built-in OAuth token has no ChatGPT account identity and was not injected; sign in again with /login";
|
|
1690
|
-
};
|
|
1691
|
-
readonly 'codex-auth-source-channel': {
|
|
1692
|
-
readonly zh: "凭据来源:渠道 {{name}}";
|
|
1693
|
-
readonly en: "Credential source: channel {{name}}";
|
|
1694
|
-
};
|
|
1695
|
-
readonly 'codex-auth-source-oauth': {
|
|
1696
|
-
readonly zh: "凭据来源:dsh-auth ChatGPT 订阅";
|
|
1697
|
-
readonly en: "Credential source: dsh-auth ChatGPT subscription";
|
|
1698
|
-
};
|
|
1699
|
-
readonly 'codex-auth-source-native': {
|
|
1700
|
-
readonly zh: "凭据来源:Codex 自己的登录";
|
|
1701
|
-
readonly en: "Credential source: Codex native login";
|
|
1702
|
-
};
|
|
1703
|
-
readonly 'codex-auth-source-api-key': {
|
|
1704
|
-
readonly zh: "凭据来源:API key";
|
|
1705
|
-
readonly en: "Credential source: API key";
|
|
1706
|
-
};
|
|
1707
|
-
readonly 'codex-auth-source-missing': {
|
|
1708
|
-
readonly zh: "凭据来源:未登录";
|
|
1709
|
-
readonly en: "Credential source: not signed in";
|
|
1710
|
-
};
|
|
1711
|
-
readonly 'codex-auth-source-unknown': {
|
|
1712
|
-
readonly zh: "凭据来源:由 Codex 配置管理(无法确定)";
|
|
1713
|
-
readonly en: "Credential source: managed by Codex configuration (unknown)";
|
|
1714
|
-
};
|
|
1715
|
-
readonly 'codex-auth-plan': {
|
|
1716
|
-
readonly zh: "订阅:{{plan}}";
|
|
1717
|
-
readonly en: "Subscription: {{plan}}";
|
|
1718
|
-
};
|
|
1719
|
-
readonly 'codex-auth-host': {
|
|
1720
|
-
readonly zh: "Provider 主机:{{host}}";
|
|
1721
|
-
readonly en: "Provider host: {{host}}";
|
|
1722
|
-
};
|
|
1723
|
-
readonly 'codex-auth-route-blocked': {
|
|
1724
|
-
readonly zh: "当前路由不接受内置订阅令牌;请使用自己的 Codex 登录或 /channel 渠道";
|
|
1725
|
-
readonly en: "This route does not accept built-in subscription tokens; use your own Codex login or /channel";
|
|
1726
|
-
};
|
|
1727
|
-
readonly 'codex-auth-channel-active': {
|
|
1728
|
-
readonly zh: "当前使用渠道凭据;请在 /channel 管理连接,不改动 OpenAI 登录";
|
|
1729
|
-
readonly en: "Channel credentials are active; manage the connection in /channel without changing OpenAI login";
|
|
1730
|
-
};
|
|
1731
|
-
readonly 'codex-auth-api-key-required': {
|
|
1732
|
-
readonly zh: "请输入非空 API key";
|
|
1733
|
-
readonly en: "Enter a non-empty API key";
|
|
1734
|
-
};
|
|
1735
|
-
readonly 'codex-login-choose': {
|
|
1736
|
-
readonly zh: "选择 Codex 登录方式";
|
|
1737
|
-
readonly en: "Choose a Codex sign-in method";
|
|
1738
|
-
};
|
|
1739
|
-
readonly 'codex-login-oauth': {
|
|
1740
|
-
readonly zh: "内置 ChatGPT OAuth";
|
|
1741
|
-
readonly en: "Built-in ChatGPT OAuth";
|
|
1742
|
-
};
|
|
1743
|
-
readonly 'codex-login-oauth-desc': {
|
|
1744
|
-
readonly zh: "复用 dsh-auth 登录,只向第一方路由提供内存令牌";
|
|
1745
|
-
readonly en: "Use dsh-auth; supply in-memory tokens only to first-party routes";
|
|
1746
|
-
};
|
|
1747
|
-
readonly 'codex-login-device': {
|
|
1748
|
-
readonly zh: "Codex 设备码登录";
|
|
1749
|
-
readonly en: "Codex device-code login";
|
|
1750
|
-
};
|
|
1751
|
-
readonly 'codex-login-device-desc': {
|
|
1752
|
-
readonly zh: "在浏览器输入设备码,凭据由 Codex 保存";
|
|
1753
|
-
readonly en: "Enter a device code in a browser; Codex stores the credential";
|
|
1754
|
-
};
|
|
1755
|
-
readonly 'codex-login-api-key': {
|
|
1756
|
-
readonly zh: "API key";
|
|
1757
|
-
readonly en: "API key";
|
|
1758
|
-
};
|
|
1759
|
-
readonly 'codex-login-api-key-prompt': {
|
|
1760
|
-
readonly zh: "输入 OpenAI API key";
|
|
1761
|
-
readonly en: "Enter an OpenAI API key";
|
|
1762
|
-
};
|
|
1763
|
-
readonly 'codex-login-api-key-storage': {
|
|
1764
|
-
readonly zh: "此方式会把 API key 写入用户的 Codex 凭据存储";
|
|
1765
|
-
readonly en: "This method writes the API key into your Codex credential store";
|
|
1766
|
-
};
|
|
1767
|
-
readonly 'codex-login-device-code': {
|
|
1768
|
-
readonly zh: "在验证页面输入设备码:{{code}}";
|
|
1769
|
-
readonly en: "Enter this device code on the verification page: {{code}}";
|
|
1770
|
-
};
|
|
1771
|
-
readonly 'codex-login-device-wait': {
|
|
1772
|
-
readonly zh: "等待浏览器授权完成;可取消此次登录";
|
|
1773
|
-
readonly en: "Waiting for browser authorization; you can cancel this login";
|
|
1774
|
-
};
|
|
1775
|
-
readonly 'codex-login-cancel': {
|
|
1776
|
-
readonly zh: "取消此次登录";
|
|
1777
|
-
readonly en: "Cancel this login";
|
|
1778
|
-
};
|
|
1779
|
-
readonly 'codex-login-success': {
|
|
1780
|
-
readonly zh: "Codex 登录已完成";
|
|
1781
|
-
readonly en: "Codex sign-in completed";
|
|
1782
|
-
};
|
|
1783
|
-
readonly 'codex-goal-usage-limited': {
|
|
1784
|
-
readonly zh: "Codex 用量额度已达到上限";
|
|
1785
|
-
readonly en: "The Codex usage limit was reached";
|
|
1786
|
-
};
|
|
1787
|
-
readonly 'codex-goal-budget-limited': {
|
|
1788
|
-
readonly zh: "目标的 token 预算已用尽";
|
|
1789
|
-
readonly en: "The goal token budget was exhausted";
|
|
1790
|
-
};
|
|
1791
|
-
readonly 'codex-goal-blocked': {
|
|
1792
|
-
readonly zh: "Codex 目标暂时受阻";
|
|
1793
|
-
readonly en: "The Codex goal is blocked";
|
|
1794
|
-
};
|
|
1795
|
-
readonly 'codex-tasks-unsupported': {
|
|
1796
|
-
readonly zh: "此 Codex 不支持后台终端监控,任务能力已关闭";
|
|
1797
|
-
readonly en: "This Codex does not support background terminal monitoring; task controls are unavailable";
|
|
1798
|
-
};
|
|
1799
|
-
readonly 'codex-terminal-ended': {
|
|
1800
|
-
readonly zh: "终端已不在运行列表中;退出状态不可用";
|
|
1801
|
-
readonly en: "The terminal is no longer running; exit status is unavailable";
|
|
1802
|
-
};
|
|
1803
|
-
readonly 'codex-terminal-stopped': {
|
|
1804
|
-
readonly zh: "后台终端已停止";
|
|
1805
|
-
readonly en: "The background terminal was stopped";
|
|
1806
|
-
};
|
|
1807
|
-
readonly 'codex-terminal-no-output': {
|
|
1808
|
-
readonly zh: "此后台终端暂没有可读取的输出";
|
|
1809
|
-
readonly en: "No readable output is available for this background terminal";
|
|
1810
|
-
};
|
|
1811
|
-
readonly 'codex-side-open-failed': {
|
|
1812
|
-
readonly zh: "无法创建临时旁问会话";
|
|
1813
|
-
readonly en: "Could not create the ephemeral side-question thread";
|
|
1814
|
-
};
|
|
1815
|
-
readonly 'codex-images-too-many': {
|
|
1816
|
-
readonly zh: "Codex 一条消息最多接受 {{n}} 张图片";
|
|
1817
|
-
readonly en: "Codex accepts at most {{n}} images per message";
|
|
1818
|
-
};
|
|
1819
|
-
readonly 'codex-image-type-refused': {
|
|
1820
|
-
readonly zh: "图片 {{name}} 的格式 {{type}} 不受 Codex 支持";
|
|
1821
|
-
readonly en: "Image {{name}} uses {{type}}, which Codex does not accept";
|
|
1822
|
-
};
|
|
1823
|
-
readonly 'codex-image-unreadable': {
|
|
1824
|
-
readonly zh: "无法读取图片 {{name}}";
|
|
1825
|
-
readonly en: "Image {{name}} could not be read";
|
|
1826
|
-
};
|
|
1827
|
-
readonly 'codex-image-too-large': {
|
|
1828
|
-
readonly zh: "图片 {{name}} 超过 Codex 的 {{mb}} MiB 限制";
|
|
1829
|
-
readonly en: "Image {{name}} exceeds the Codex {{mb}} MiB limit";
|
|
1830
|
-
};
|
|
1831
|
-
readonly 'codex-images-too-large': {
|
|
1832
|
-
readonly zh: "本条消息的图片总大小超过 {{mb}} MiB";
|
|
1833
|
-
readonly en: "The message images exceed {{mb}} MiB in total";
|
|
1834
|
-
};
|
|
1835
|
-
readonly 'codex-image-dimensions-refused': {
|
|
1836
|
-
readonly zh: "图片 {{name}} 超过 {{px}} 像素限制,请缩小后重试";
|
|
1837
|
-
readonly en: "Image {{name}} exceeds the {{px}} pixel limit; resize it and retry";
|
|
1838
|
-
};
|
|
1839
|
-
readonly 'codex-history-fetch-failed': {
|
|
1840
|
-
readonly zh: "Codex 更早历史连续读取失败,暂时停止预取;可重新打开会话后重试";
|
|
1841
|
-
readonly en: "Earlier Codex history could not be read after three attempts; reopen the session to retry";
|
|
1842
|
-
};
|
|
1843
|
-
readonly 'codex-preview-image': {
|
|
1844
|
-
readonly zh: "[图片]";
|
|
1845
|
-
readonly en: "[Image]";
|
|
1846
|
-
};
|
|
1847
|
-
readonly 'codex-archive-busy': {
|
|
1848
|
-
readonly zh: "该 Codex 会话由活动中的内部任务使用,暂时无法归档";
|
|
1849
|
-
readonly en: "This Codex thread is owned by an active internal worker and cannot be archived yet";
|
|
1850
|
-
};
|
|
1851
|
-
readonly 'codex-orphan-request': {
|
|
1852
|
-
readonly zh: "无法确定 Codex 子代理请求所属会话,已取消该请求";
|
|
1853
|
-
readonly en: "Could not find the session owning a Codex subagent request; the request was cancelled";
|
|
1854
|
-
};
|
|
1855
|
-
readonly 'codex-channel-url-invalid': {
|
|
1856
|
-
readonly zh: "渠道 URL 只接受 HTTPS(HTTP 仅限 localhost/127.0.0.1),不能含账号密码、查询串、片段或疑似密钥路径";
|
|
1857
|
-
readonly en: "A channel URL must use HTTPS (HTTP only on localhost/127.0.0.1), without userinfo, query, fragment, or key-like path segments";
|
|
1858
|
-
};
|
|
1859
|
-
readonly 'codex-channel-id-invalid': {
|
|
1860
|
-
readonly zh: "渠道 ID 只能含字母、数字、下划线和连字符";
|
|
1861
|
-
readonly en: "A channel ID may only contain letters, digits, underscores and hyphens";
|
|
1862
|
-
};
|
|
1863
|
-
readonly 'codex-channel-wire-api-invalid': {
|
|
1864
|
-
readonly zh: "Codex 渠道仅支持 Responses API";
|
|
1865
|
-
readonly en: "Codex channels only support the Responses API";
|
|
1866
|
-
};
|
|
1867
|
-
readonly 'codex-channel-env-invalid': {
|
|
1868
|
-
readonly zh: "渠道 env 只能存非凭据变量;令牌请填入令牌输入框";
|
|
1869
|
-
readonly en: "Channel env may only hold non-credential variables; use the token input for credentials";
|
|
1870
|
-
};
|
|
1871
|
-
readonly 'codex-anchor-missing': {
|
|
1872
|
-
readonly zh: "找不到这条消息的原生回合,无法 fork 或回退";
|
|
1873
|
-
readonly en: "The native turn for this message is unavailable; it cannot be forked or rewound";
|
|
1874
|
-
};
|
|
1875
|
-
readonly 'codex-rewind-files-unsupported': {
|
|
1876
|
-
readonly zh: "Codex 仅支持对话回退,不恢复工作区文件";
|
|
1877
|
-
readonly en: "Codex supports conversation rewind only; workspace files are not restored";
|
|
1878
|
-
};
|
|
1879
|
-
readonly 'codex-rewind-load-older': {
|
|
1880
|
-
readonly zh: "请先加载更早的消息,再回退到这一回合";
|
|
1881
|
-
readonly en: "Load earlier messages before rewinding to this turn";
|
|
1882
|
-
};
|
|
1883
|
-
readonly 'codex-goals-unsupported': {
|
|
1884
|
-
readonly zh: "此 Codex 不支持目标管理,目标能力已关闭";
|
|
1885
|
-
readonly en: "This Codex does not support goal management; goal controls are unavailable";
|
|
1886
|
-
};
|
|
1887
|
-
readonly 'codex-subagent-unavailable': {
|
|
1888
|
-
readonly zh: "无法读取此 Codex 子代理的历史";
|
|
1889
|
-
readonly en: "This Codex subagent history is unavailable";
|
|
1890
|
-
};
|
|
1891
|
-
readonly 'codex-reconnect-incomplete': {
|
|
1892
|
-
readonly zh: "Codex 恢复缺口超过读取预算或游标失效,请重新打开会话";
|
|
1893
|
-
readonly en: "Codex recovery exceeded its history budget or could not reach a known turn; reopen the session";
|
|
1894
|
-
};
|
|
1895
561
|
readonly 'cmd-unavailable-backend': {
|
|
1896
562
|
readonly zh: "/{{cmd}} 在 {{backend}} 内核下不可用";
|
|
1897
563
|
readonly en: "/{{cmd}} is not available on the {{backend}} kernel";
|
|
@@ -1964,10 +630,6 @@ declare const dict: {
|
|
|
1964
630
|
readonly zh: "上下文窗口: {{window}} tokens";
|
|
1965
631
|
readonly en: "Context window: {{window}} tokens";
|
|
1966
632
|
};
|
|
1967
|
-
readonly 'doctor-unknown': {
|
|
1968
|
-
readonly zh: "未知";
|
|
1969
|
-
readonly en: "unknown";
|
|
1970
|
-
};
|
|
1971
633
|
readonly 'doctor-session': {
|
|
1972
634
|
readonly zh: "会话: {{id}}";
|
|
1973
635
|
readonly en: "Session: {{id}}";
|
|
@@ -2048,6 +710,10 @@ declare const dict: {
|
|
|
2048
710
|
readonly zh: "{{kind}} 任务";
|
|
2049
711
|
readonly en: "{{kind}} task";
|
|
2050
712
|
};
|
|
713
|
+
readonly 'task-complete-notification': {
|
|
714
|
+
readonly zh: "dsh-TUI · 任务已完成";
|
|
715
|
+
readonly en: "dsh-TUI · Task complete";
|
|
716
|
+
};
|
|
2051
717
|
readonly 'subagent-background': {
|
|
2052
718
|
readonly zh: "后台";
|
|
2053
719
|
readonly en: "background";
|
|
@@ -2090,11 +756,7 @@ declare const dict: {
|
|
|
2090
756
|
};
|
|
2091
757
|
readonly 'rewind-load-failed': {
|
|
2092
758
|
readonly zh: "无法读取该会话日志 · {{err}}";
|
|
2093
|
-
readonly en: "Could not read that session log · {{err}}";
|
|
2094
|
-
};
|
|
2095
|
-
readonly 'rewind-first-message': {
|
|
2096
|
-
readonly zh: "不能回退到第一条消息之前";
|
|
2097
|
-
readonly en: "Cannot rewind past the very first message";
|
|
759
|
+
readonly en: "Could not read that session log · {{err}}";
|
|
2098
760
|
};
|
|
2099
761
|
readonly 'rewind-noop': {
|
|
2100
762
|
readonly zh: "该点之后没有可回退的内容";
|
|
@@ -2136,10 +798,6 @@ declare const dict: {
|
|
|
2136
798
|
readonly zh: "仅恢复文件(会话不变)";
|
|
2137
799
|
readonly en: "Restore files only (conversation unchanged)";
|
|
2138
800
|
};
|
|
2139
|
-
readonly 'rename-failed': {
|
|
2140
|
-
readonly zh: "重命名失败 · {{err}}";
|
|
2141
|
-
readonly en: "Rename failed · {{err}}";
|
|
2142
|
-
};
|
|
2143
801
|
readonly 'session-archive-failed': {
|
|
2144
802
|
readonly zh: "归档会话失败 · {{err}}";
|
|
2145
803
|
readonly en: "Archiving the session failed · {{err}}";
|
|
@@ -2180,6 +838,10 @@ declare const dict: {
|
|
|
2180
838
|
readonly zh: "已分叉({{id}})——仍在原会话中\n新进程进入分叉:{{command}}";
|
|
2181
839
|
readonly en: "Forked ({{id}}) — still in the original session\nEnter the fork in a new process: {{command}}";
|
|
2182
840
|
};
|
|
841
|
+
readonly 'fork-done-unstored': {
|
|
842
|
+
readonly zh: "已分叉({{id}})——仍在原会话中\n源会话还没有内容,分叉副本没有日志可恢复";
|
|
843
|
+
readonly en: "Forked ({{id}}) — still in the original session\nThe source session has no content yet, so the fork has no log to resume";
|
|
844
|
+
};
|
|
2183
845
|
readonly 'tree-title': {
|
|
2184
846
|
readonly zh: "会话树";
|
|
2185
847
|
readonly en: "Session tree";
|
|
@@ -2408,6 +1070,34 @@ declare const dict: {
|
|
|
2408
1070
|
readonly zh: "新建会话失败 · {{err}}";
|
|
2409
1071
|
readonly en: "New session failed · {{err}}";
|
|
2410
1072
|
};
|
|
1073
|
+
readonly 'startup-not-ready': {
|
|
1074
|
+
readonly zh: "{{backend}} 还在启动——就绪后按 Enter 发送";
|
|
1075
|
+
readonly en: "{{backend}} is still starting — press Enter to send once it is ready";
|
|
1076
|
+
};
|
|
1077
|
+
readonly 'startup-open-failed': {
|
|
1078
|
+
readonly zh: "{{backend}} 会话没能打开:{{err}}";
|
|
1079
|
+
readonly en: "{{backend}} session failed to open: {{err}}";
|
|
1080
|
+
};
|
|
1081
|
+
readonly 'startup-open-failed-hint': {
|
|
1082
|
+
readonly zh: "/new 重试 · /kernel 切换内核 · /quit 退出";
|
|
1083
|
+
readonly en: "/new to retry · /kernel to switch kernel · /quit to exit";
|
|
1084
|
+
};
|
|
1085
|
+
readonly 'startup-compose-failed-hint': {
|
|
1086
|
+
readonly zh: "DSH 没能启动 · /kernel 切换内核 · /quit 退出";
|
|
1087
|
+
readonly en: "DSH did not start · /kernel to switch kernel · /quit to exit";
|
|
1088
|
+
};
|
|
1089
|
+
readonly 'startup-compose-failed-hint-log': {
|
|
1090
|
+
readonly zh: "启动日志:{{path}} · /kernel 切换内核 · /quit 退出";
|
|
1091
|
+
readonly en: "Startup log: {{path}} · /kernel to switch kernel · /quit to exit";
|
|
1092
|
+
};
|
|
1093
|
+
readonly 'status-starting': {
|
|
1094
|
+
readonly zh: "正在启动 {{backend}}…";
|
|
1095
|
+
readonly en: "Starting {{backend}}…";
|
|
1096
|
+
};
|
|
1097
|
+
readonly 'host-dsh-unavailable': {
|
|
1098
|
+
readonly zh: "没有用上已安装的 dsh:{{reason}}";
|
|
1099
|
+
readonly en: "Not using the installed dsh: {{reason}}";
|
|
1100
|
+
};
|
|
2411
1101
|
readonly 'resume-raced': {
|
|
2412
1102
|
readonly zh: "会话打开期间当前会话开始了新的回合,已取消恢复;该回合在当前会话中继续";
|
|
2413
1103
|
readonly en: "The current session started a turn while the other one was opening — the resume was cancelled; the turn continues here";
|
|
@@ -2424,22 +1114,14 @@ declare const dict: {
|
|
|
2424
1114
|
readonly zh: "回合运行中,无法切换模型";
|
|
2425
1115
|
readonly en: "Cannot switch models while a turn is running";
|
|
2426
1116
|
};
|
|
2427
|
-
readonly 'model-switch-unavailable': {
|
|
2428
|
-
readonly zh: "
|
|
2429
|
-
readonly en: "
|
|
2430
|
-
};
|
|
2431
|
-
readonly 'model-switch-fork-failed': {
|
|
2432
|
-
readonly zh: "无法切换模型 · {{err}}";
|
|
2433
|
-
readonly en: "Cannot switch models · {{err}}";
|
|
1117
|
+
readonly 'model-switch-legacy-unavailable': {
|
|
1118
|
+
readonly zh: "同会话切换模型需要 DSH >= 0.1.2-alpha.3,请先升级 DSH";
|
|
1119
|
+
readonly en: "Switching models within a session requires DSH >= 0.1.2-alpha.3; upgrade DSH first";
|
|
2434
1120
|
};
|
|
2435
1121
|
readonly 'model-switch-failed': {
|
|
2436
1122
|
readonly zh: "模型切换失败 · {{err}}";
|
|
2437
1123
|
readonly en: "Model switch failed · {{err}}";
|
|
2438
1124
|
};
|
|
2439
|
-
readonly 'model-switch-attach-failed': {
|
|
2440
|
-
readonly zh: "模型已切换,但工作区挂载失败 · {{err}}";
|
|
2441
|
-
readonly en: "Model switched, but workspace attachment failed · {{err}}";
|
|
2442
|
-
};
|
|
2443
1125
|
readonly 'model-usage': {
|
|
2444
1126
|
readonly zh: "用法:/model <provider/model>(如 deepseek/deepseek-flash)";
|
|
2445
1127
|
readonly en: "Usage: /model <provider/model> (e.g. deepseek/deepseek-flash)";
|
|
@@ -3510,6 +2192,58 @@ declare const dict: {
|
|
|
3510
2192
|
readonly zh: "不受限读写,无需审批";
|
|
3511
2193
|
readonly en: "Unrestricted access, no approvals";
|
|
3512
2194
|
};
|
|
2195
|
+
readonly 'permission-preset-auto': {
|
|
2196
|
+
readonly zh: "自动授权审查";
|
|
2197
|
+
readonly en: "Auto review";
|
|
2198
|
+
};
|
|
2199
|
+
readonly 'permission-preset-auto-desc': {
|
|
2200
|
+
readonly zh: "模型在每次工具调用前审查授权;无文件沙箱,仅当前会话";
|
|
2201
|
+
readonly en: "The model reviews every tool call before it runs; no file sandbox, this session only";
|
|
2202
|
+
};
|
|
2203
|
+
readonly 'permission-preset-exp-tag': {
|
|
2204
|
+
readonly zh: "EXP";
|
|
2205
|
+
readonly en: "EXP";
|
|
2206
|
+
};
|
|
2207
|
+
readonly 'permission-auto-confirm-title': {
|
|
2208
|
+
readonly zh: "启用自动授权审查(实验性)?";
|
|
2209
|
+
readonly en: "Enable Auto review (experimental)?";
|
|
2210
|
+
};
|
|
2211
|
+
readonly 'permission-auto-confirm-session': {
|
|
2212
|
+
readonly zh: "仅对当前会话生效,不会成为新会话的默认";
|
|
2213
|
+
readonly en: "Applies to this session only; never becomes the default for new sessions";
|
|
2214
|
+
};
|
|
2215
|
+
readonly 'permission-auto-confirm-sandbox': {
|
|
2216
|
+
readonly zh: "无文件沙箱:放行的调用拥有完全访问权限";
|
|
2217
|
+
readonly en: "No file sandbox: allowed calls run with full access";
|
|
2218
|
+
};
|
|
2219
|
+
readonly 'permission-auto-confirm-cost': {
|
|
2220
|
+
readonly zh: "每次工具调用都会额外发起一次模型审查请求";
|
|
2221
|
+
readonly en: "Every tool call costs one extra model review request";
|
|
2222
|
+
};
|
|
2223
|
+
readonly 'permission-auto-confirm-risk': {
|
|
2224
|
+
readonly zh: "审查放行的调用(含你已明确授权的中风险操作)直接执行;被拒的调用(含高风险)转为审批由你决定,子代理中直接拒绝;审查失败即不执行";
|
|
2225
|
+
readonly en: "Calls the review allows (including medium-risk ones you explicitly authorized) run without asking; denied calls, high-risk included, come to you as an approval, or are denied outright in subagents; a failed review never runs";
|
|
2226
|
+
};
|
|
2227
|
+
readonly 'permission-auto-confirm-actions': {
|
|
2228
|
+
readonly zh: "**Enter** 启用 · Esc 返回";
|
|
2229
|
+
readonly en: "**Enter** to enable · Esc to go back";
|
|
2230
|
+
};
|
|
2231
|
+
readonly 'permission-auto-confirm-enable': {
|
|
2232
|
+
readonly zh: "启用";
|
|
2233
|
+
readonly en: "Enable";
|
|
2234
|
+
};
|
|
2235
|
+
readonly 'permission-auto-confirm-back': {
|
|
2236
|
+
readonly zh: "返回";
|
|
2237
|
+
readonly en: "Go back";
|
|
2238
|
+
};
|
|
2239
|
+
readonly 'permission-auto-unavailable': {
|
|
2240
|
+
readonly zh: "自动授权审查已不可用";
|
|
2241
|
+
readonly en: "Auto review is no longer available";
|
|
2242
|
+
};
|
|
2243
|
+
readonly 'tool-error-auto-review-denied': {
|
|
2244
|
+
readonly zh: "自动授权审查拒绝,未执行";
|
|
2245
|
+
readonly en: "Auto review denied; not executed";
|
|
2246
|
+
};
|
|
3513
2247
|
readonly 'plan-picker-title': {
|
|
3514
2248
|
readonly zh: "计划模式";
|
|
3515
2249
|
readonly en: "Plan mode";
|
|
@@ -3679,8 +2413,8 @@ declare const dict: {
|
|
|
3679
2413
|
readonly en: "btw";
|
|
3680
2414
|
};
|
|
3681
2415
|
readonly 'btw-thread-empty': {
|
|
3682
|
-
readonly zh: "还没有侧问。输入 /btw
|
|
3683
|
-
readonly en: "No side questions yet. Type /btw <question>, or
|
|
2416
|
+
readonly zh: "还没有侧问。输入 /btw <问题>,或点击下方输入框开始提问。";
|
|
2417
|
+
readonly en: "No side questions yet. Type /btw <question>, or click the input below to ask.";
|
|
3684
2418
|
};
|
|
3685
2419
|
readonly 'btw-thread-new': {
|
|
3686
2420
|
readonly zh: "新话题";
|
|
@@ -3702,6 +2436,30 @@ declare const dict: {
|
|
|
3702
2436
|
readonly zh: "输入追问…(Enter 发送 · Esc 回到对话 · Tab 切列表)";
|
|
3703
2437
|
readonly en: "Type a follow-up… (Enter send · Esc back to chat · Tab list)";
|
|
3704
2438
|
};
|
|
2439
|
+
readonly 'btw-input-placeholder': {
|
|
2440
|
+
readonly zh: "Enter 提问";
|
|
2441
|
+
readonly en: "Enter to ask";
|
|
2442
|
+
};
|
|
2443
|
+
readonly 'btw-input-hint-edit': {
|
|
2444
|
+
readonly zh: "Enter 发送 · Esc";
|
|
2445
|
+
readonly en: "Enter send · Esc";
|
|
2446
|
+
};
|
|
2447
|
+
readonly 'btw-list-hint': {
|
|
2448
|
+
readonly zh: "↑/↓ 选择 · s 送聊天 · c 复制";
|
|
2449
|
+
readonly en: "↑/↓ select · s to chat · c copy";
|
|
2450
|
+
};
|
|
2451
|
+
readonly 'btw-list-hint-attached': {
|
|
2452
|
+
readonly zh: "↑/↓ 选择 · s 撤回 · c 复制";
|
|
2453
|
+
readonly en: "↑/↓ select · s unsend · c copy";
|
|
2454
|
+
};
|
|
2455
|
+
readonly 'btw-hint-edit-back': {
|
|
2456
|
+
readonly zh: "↑ 选择";
|
|
2457
|
+
readonly en: "↑ select";
|
|
2458
|
+
};
|
|
2459
|
+
readonly 'btw-empty-lines': {
|
|
2460
|
+
readonly zh: "旁路问答不打断主线:答案只留在这里,不进主聊天与会话记录。";
|
|
2461
|
+
readonly en: "Side questions never derail the main line: answers stay here, out of the main chat and session log.";
|
|
2462
|
+
};
|
|
3705
2463
|
readonly 'btw-thread-busy': {
|
|
3706
2464
|
readonly zh: "上一个侧问还在回答,等它结束再追问";
|
|
3707
2465
|
readonly en: "Still answering the last side question; ask again once it finishes";
|
|
@@ -3718,10 +2476,6 @@ declare const dict: {
|
|
|
3718
2476
|
readonly zh: "有新回答";
|
|
3719
2477
|
readonly en: "New answer";
|
|
3720
2478
|
};
|
|
3721
|
-
readonly 'btw-thread-send-to-chat': {
|
|
3722
|
-
readonly zh: "发送到聊天";
|
|
3723
|
-
readonly en: "Send to chat";
|
|
3724
|
-
};
|
|
3725
2479
|
readonly 'btw-thread-answer-attached': {
|
|
3726
2480
|
readonly zh: "答案已附加到下一次主聊天提交";
|
|
3727
2481
|
readonly en: "Answer attached to your next main chat submission";
|
|
@@ -3731,8 +2485,12 @@ declare const dict: {
|
|
|
3731
2485
|
readonly en: "Answer exceeded the attach limit and was truncated";
|
|
3732
2486
|
};
|
|
3733
2487
|
readonly 'btw-fullscreen-title': {
|
|
3734
|
-
readonly zh: "
|
|
3735
|
-
readonly en: "
|
|
2488
|
+
readonly zh: "侧问线程";
|
|
2489
|
+
readonly en: "Side thread";
|
|
2490
|
+
};
|
|
2491
|
+
readonly 'btw-scene-hints': {
|
|
2492
|
+
readonly zh: "Enter 追问 · ↑/↓ 选择 · n 新话题 · s 送聊天 · c 复制 · Esc 返回";
|
|
2493
|
+
readonly en: "Enter ask · ↑/↓ select · n new · s to chat · c copy · Esc back";
|
|
3736
2494
|
};
|
|
3737
2495
|
readonly 'btw-panel-unavailable': {
|
|
3738
2496
|
readonly zh: "btw 面板未启用(/settings → dsh-tui.sidePanel.panels)";
|
|
@@ -3962,10 +2720,6 @@ declare const dict: {
|
|
|
3962
2720
|
readonly zh: "推理强度 → {{name}}";
|
|
3963
2721
|
readonly en: "Reasoning effort → {{name}}";
|
|
3964
2722
|
};
|
|
3965
|
-
readonly 'effort-invalid': {
|
|
3966
|
-
readonly zh: "未知推理等级 {{id}}(当前模型可选:{{ids}})";
|
|
3967
|
-
readonly en: "Unknown reasoning effort {{id}} (this model offers: {{ids}})";
|
|
3968
|
-
};
|
|
3969
2723
|
readonly 'effort-current': {
|
|
3970
2724
|
readonly zh: "当前推理强度 {{name}}";
|
|
3971
2725
|
readonly en: "Current reasoning effort {{name}}";
|
|
@@ -4022,6 +2776,10 @@ declare const dict: {
|
|
|
4022
2776
|
readonly zh: "切换权限预设(沙箱模式 + 审批策略)";
|
|
4023
2777
|
readonly en: "Switch the permission preset (sandbox mode + approval policy)";
|
|
4024
2778
|
};
|
|
2779
|
+
readonly 'upstream-retry-enabled': {
|
|
2780
|
+
readonly zh: "已为当前渠道 {{routes}} 启用上游断链自动重试(最多重试 5 次;cordis.yml upstreamRetry: false 可关闭)";
|
|
2781
|
+
readonly en: "Upstream auto-retry enabled for {{routes}} (the route in use) — up to 5 retries per request (opt out with upstreamRetry: false in cordis.yml)";
|
|
2782
|
+
};
|
|
4025
2783
|
readonly 'logo-tagline': {
|
|
4026
2784
|
readonly zh: "探索未至之境!";
|
|
4027
2785
|
readonly en: "Explore the uncharted!";
|
|
@@ -4353,10 +3111,6 @@ declare const dict: {
|
|
|
4353
3111
|
readonly zh: "信号 {{name}}";
|
|
4354
3112
|
readonly en: "signal {{name}}";
|
|
4355
3113
|
};
|
|
4356
|
-
readonly 'tool-name-bash': {
|
|
4357
|
-
readonly zh: "Bash";
|
|
4358
|
-
readonly en: "Bash";
|
|
4359
|
-
};
|
|
4360
3114
|
readonly 'tool-name-powershell': {
|
|
4361
3115
|
readonly zh: "PowerShell";
|
|
4362
3116
|
readonly en: "PowerShell";
|
|
@@ -4377,10 +3131,6 @@ declare const dict: {
|
|
|
4377
3131
|
readonly zh: "写入";
|
|
4378
3132
|
readonly en: "Write";
|
|
4379
3133
|
};
|
|
4380
|
-
readonly 'tool-name-edit': {
|
|
4381
|
-
readonly zh: "编辑";
|
|
4382
|
-
readonly en: "Edit";
|
|
4383
|
-
};
|
|
4384
3134
|
readonly 'tool-name-todo_write': {
|
|
4385
3135
|
readonly zh: "待办清单";
|
|
4386
3136
|
readonly en: "TodoWrite";
|
|
@@ -4389,6 +3139,26 @@ declare const dict: {
|
|
|
4389
3139
|
readonly zh: "子代理";
|
|
4390
3140
|
readonly en: "Task";
|
|
4391
3141
|
};
|
|
3142
|
+
readonly 'tool-name-team-message': {
|
|
3143
|
+
readonly zh: "团队消息";
|
|
3144
|
+
readonly en: "Message";
|
|
3145
|
+
};
|
|
3146
|
+
readonly 'tool-name-team-roster': {
|
|
3147
|
+
readonly zh: "团队成员";
|
|
3148
|
+
readonly en: "Team";
|
|
3149
|
+
};
|
|
3150
|
+
readonly 'tool-name-team-wait': {
|
|
3151
|
+
readonly zh: "等待团队";
|
|
3152
|
+
readonly en: "Wait";
|
|
3153
|
+
};
|
|
3154
|
+
readonly 'tool-name-team-interrupt': {
|
|
3155
|
+
readonly zh: "中断成员";
|
|
3156
|
+
readonly en: "Interrupt";
|
|
3157
|
+
};
|
|
3158
|
+
readonly 'tool-name-team-task': {
|
|
3159
|
+
readonly zh: "任务板";
|
|
3160
|
+
readonly en: "Tasks";
|
|
3161
|
+
};
|
|
4392
3162
|
readonly 'tool-name-web_search': {
|
|
4393
3163
|
readonly zh: "联网搜索";
|
|
4394
3164
|
readonly en: "WebSearch";
|
|
@@ -4528,6 +3298,14 @@ declare const dict: {
|
|
|
4528
3298
|
readonly zh: "显示当前选择";
|
|
4529
3299
|
readonly en: "Show the current choice";
|
|
4530
3300
|
};
|
|
3301
|
+
readonly 'sugg-team-on-desc': {
|
|
3302
|
+
readonly zh: "开启 Agent Teams(启用团队 bundle)";
|
|
3303
|
+
readonly en: "Switch Agent Teams on (enable the team bundle)";
|
|
3304
|
+
};
|
|
3305
|
+
readonly 'sugg-team-off-desc': {
|
|
3306
|
+
readonly zh: "关闭 Agent Teams(停用团队 bundle)";
|
|
3307
|
+
readonly en: "Switch Agent Teams off (disable the team bundle)";
|
|
3308
|
+
};
|
|
4531
3309
|
readonly 'sugg-lang-zh-desc': {
|
|
4532
3310
|
readonly zh: "切换界面语言到中文";
|
|
4533
3311
|
readonly en: "Switch the UI language to Chinese";
|
|
@@ -4596,6 +3374,10 @@ declare const dict: {
|
|
|
4596
3374
|
readonly zh: "全屏设置已保存,重启 dsh-tui 后生效";
|
|
4597
3375
|
readonly en: "Fullscreen preference saved — restart dsh-tui to apply";
|
|
4598
3376
|
};
|
|
3377
|
+
readonly 'settings-launchpad-restart': {
|
|
3378
|
+
readonly zh: "启动页设置已保存,重启 dsh-tui 后生效";
|
|
3379
|
+
readonly en: "Launchpad preference saved — restart dsh-tui to apply";
|
|
3380
|
+
};
|
|
4599
3381
|
readonly 'settings-terminal-images-restart': {
|
|
4600
3382
|
readonly zh: "图片预览设置已保存,使用 /restart 重启 TUI 后生效";
|
|
4601
3383
|
readonly en: "Image preview preference saved — use /restart to apply";
|
|
@@ -4840,6 +3622,14 @@ declare const dict: {
|
|
|
4840
3622
|
readonly zh: "重启生效";
|
|
4841
3623
|
readonly en: "applies on restart";
|
|
4842
3624
|
};
|
|
3625
|
+
readonly 'settings-badge-unreadable': {
|
|
3626
|
+
readonly zh: "设置文件无法读取——已回退默认;保存前会先备份原文件";
|
|
3627
|
+
readonly en: "settings file unreadable — defaults shown; saving backs up the original first";
|
|
3628
|
+
};
|
|
3629
|
+
readonly 'settings-badge-recovered': {
|
|
3630
|
+
readonly zh: "损坏的设置文件已备份到 {{backup}}";
|
|
3631
|
+
readonly en: "the broken settings file was backed up to {{backup}}";
|
|
3632
|
+
};
|
|
4843
3633
|
readonly 'settings-badge-dirty': {
|
|
4844
3634
|
readonly zh: "未保存";
|
|
4845
3635
|
readonly en: "unsaved";
|
|
@@ -4888,6 +3678,10 @@ declare const dict: {
|
|
|
4888
3678
|
readonly zh: "凭据 {{ref}} 由宿主保留,写入被拒绝:第三方设置区块不能覆盖宿主共享凭据";
|
|
4889
3679
|
readonly en: "Credential {{ref}} is reserved by the host; write rejected: third-party settings sections cannot overwrite host-shared credentials";
|
|
4890
3680
|
};
|
|
3681
|
+
readonly 'settings-web-key-changed': {
|
|
3682
|
+
readonly zh: "网页搜索设置已变化,请重新打开设置后输入密钥";
|
|
3683
|
+
readonly en: "Web search settings changed. Reopen settings and enter the key again.";
|
|
3684
|
+
};
|
|
4891
3685
|
readonly 'settings-panels-unclaimed': {
|
|
4892
3686
|
readonly zh: "暂无面板使用此 id:先保留,等插件注册后生效";
|
|
4893
3687
|
readonly en: "No panel uses this id yet; kept until a plugin registers it";
|
|
@@ -5100,17 +3894,49 @@ declare const dict: {
|
|
|
5100
3894
|
readonly zh: "最近使用";
|
|
5101
3895
|
readonly en: "Recently used";
|
|
5102
3896
|
};
|
|
5103
|
-
readonly '
|
|
5104
|
-
readonly zh: "
|
|
5105
|
-
readonly en: "
|
|
3897
|
+
readonly 'hint-model-provider': {
|
|
3898
|
+
readonly zh: "**Tab** / **Shift+Tab** 提供商";
|
|
3899
|
+
readonly en: "**Tab** / **Shift+Tab** providers";
|
|
3900
|
+
};
|
|
3901
|
+
readonly 'hint-model-navigation': {
|
|
3902
|
+
readonly zh: "**↑/↓** 模型";
|
|
3903
|
+
readonly en: "**↑/↓** model";
|
|
3904
|
+
};
|
|
3905
|
+
readonly 'hint-model-effort': {
|
|
3906
|
+
readonly zh: "**←/→** 调整";
|
|
3907
|
+
readonly en: "**←/→** adjust";
|
|
3908
|
+
};
|
|
3909
|
+
readonly 'hint-model-select': {
|
|
3910
|
+
readonly zh: "**Enter** 选择";
|
|
3911
|
+
readonly en: "**Enter** select";
|
|
5106
3912
|
};
|
|
5107
|
-
readonly 'hint-model-
|
|
5108
|
-
readonly zh: "**
|
|
5109
|
-
readonly en: "**
|
|
3913
|
+
readonly 'hint-model-cancel': {
|
|
3914
|
+
readonly zh: "**Esc** 取消";
|
|
3915
|
+
readonly en: "**Esc** cancel";
|
|
5110
3916
|
};
|
|
5111
|
-
readonly '
|
|
5112
|
-
readonly zh: "
|
|
5113
|
-
readonly en: "
|
|
3917
|
+
readonly 'picker-recents-empty': {
|
|
3918
|
+
readonly zh: "暂无最近使用的模型,按 Tab 查看提供商";
|
|
3919
|
+
readonly en: "No recent models; press Tab to browse providers";
|
|
3920
|
+
};
|
|
3921
|
+
readonly 'picker-models-empty': {
|
|
3922
|
+
readonly zh: "暂无可用模型";
|
|
3923
|
+
readonly en: "No models available";
|
|
3924
|
+
};
|
|
3925
|
+
readonly 'picker-effort-loading': {
|
|
3926
|
+
readonly zh: "正在加载…";
|
|
3927
|
+
readonly en: "Loading…";
|
|
3928
|
+
};
|
|
3929
|
+
readonly 'picker-effort-error': {
|
|
3930
|
+
readonly zh: "读取失败";
|
|
3931
|
+
readonly en: "Failed to load";
|
|
3932
|
+
};
|
|
3933
|
+
readonly 'picker-effort-unavailable': {
|
|
3934
|
+
readonly zh: "不支持";
|
|
3935
|
+
readonly en: "Unavailable";
|
|
3936
|
+
};
|
|
3937
|
+
readonly 'picker-effort-default': {
|
|
3938
|
+
readonly zh: "默认";
|
|
3939
|
+
readonly en: "Default";
|
|
5114
3940
|
};
|
|
5115
3941
|
readonly 'picker-title-skills': {
|
|
5116
3942
|
readonly zh: "技能";
|
|
@@ -5184,9 +4010,9 @@ declare const dict: {
|
|
|
5184
4010
|
readonly zh: "正在加载模型";
|
|
5185
4011
|
readonly en: "Loading models";
|
|
5186
4012
|
};
|
|
5187
|
-
readonly 'model-
|
|
5188
|
-
readonly zh: "
|
|
5189
|
-
readonly en: "
|
|
4013
|
+
readonly 'model-load-failed': {
|
|
4014
|
+
readonly zh: "模型列表加载失败";
|
|
4015
|
+
readonly en: "Failed to load the model list";
|
|
5190
4016
|
};
|
|
5191
4017
|
readonly 'model-switching': {
|
|
5192
4018
|
readonly zh: "正在切换模型到 {{name}}…";
|
|
@@ -5252,10 +4078,6 @@ declare const dict: {
|
|
|
5252
4078
|
readonly zh: "等待插件期间会话已切换,该条输入已丢弃";
|
|
5253
4079
|
readonly en: "Session switched while a plugin decided — the input was dropped";
|
|
5254
4080
|
};
|
|
5255
|
-
readonly 'ext-compact-stale': {
|
|
5256
|
-
readonly zh: "等待插件期间会话已切换,压缩已取消";
|
|
5257
|
-
readonly en: "Session switched while a plugin decided — compaction abandoned";
|
|
5258
|
-
};
|
|
5259
4081
|
readonly 'ext-shortcut-failed': {
|
|
5260
4082
|
readonly zh: "插件快捷键 {{combo}} 执行失败";
|
|
5261
4083
|
readonly en: "Plugin shortcut {{combo}} failed";
|
|
@@ -5308,12 +4130,12 @@ declare const dict: {
|
|
|
5308
4130
|
readonly en: "Effect ledger ({{file}}), last 5 records:";
|
|
5309
4131
|
};
|
|
5310
4132
|
readonly 'plugins-unknown-subcommand': {
|
|
5311
|
-
readonly zh: "未知子命令:{{sub}}(支持:check
|
|
5312
|
-
readonly en: "Unknown subcommand: {{sub}} (supported: check <path>)";
|
|
4133
|
+
readonly zh: "未知子命令:{{sub}}(支持:list / install <spec> / remove <bundle> / disable <名称|id> / enable <名称|id> / check <路径> / info <spec> / registries)";
|
|
4134
|
+
readonly en: "Unknown subcommand: {{sub}} (supported: list / install <spec> / remove <bundle> / disable <name|id> / enable <name|id> / check <path> / info <spec> / registries)";
|
|
5313
4135
|
};
|
|
5314
4136
|
readonly 'plugins-check-usage': {
|
|
5315
|
-
readonly zh: "用法:/
|
|
5316
|
-
readonly en: "Usage: /
|
|
4137
|
+
readonly zh: "用法:/plugin check <dsh-plugin.json 路径>";
|
|
4138
|
+
readonly en: "Usage: /plugin check <path-to-dsh-plugin.json>";
|
|
5317
4139
|
};
|
|
5318
4140
|
readonly 'plugins-check-not-found': {
|
|
5319
4141
|
readonly zh: "文件不存在:{{path}}";
|
|
@@ -5355,6 +4177,454 @@ declare const dict: {
|
|
|
5355
4177
|
readonly zh: "当前没有 live Host Descriptor;只做静态 manifest 校验,不进行协议支持声明/协商。";
|
|
5356
4178
|
readonly en: "No live Host Descriptor is available; only static manifest validation was performed, no protocol support declaration/negotiation.";
|
|
5357
4179
|
};
|
|
4180
|
+
readonly 'plugins-service-unavailable': {
|
|
4181
|
+
readonly zh: "当前内核没有 profile 插件服务(ctx.pluginManager):bundle / 行列表与生命周期动作都不可用。";
|
|
4182
|
+
readonly en: "This kernel provides no profile plugin service (ctx.pluginManager): the bundle/row list and the lifecycle actions are unavailable.";
|
|
4183
|
+
};
|
|
4184
|
+
readonly 'plugins-service-unavailable-route': {
|
|
4185
|
+
readonly zh: "装 / 卸走命令行:`dsh plugin --profile dsh-tui add|remove …`;启用 / 关闭没有命令行动词,请以 `dsh --profile dsh-tui` 启动本应用后在 /plugin 里操作。";
|
|
4186
|
+
readonly en: "Install and remove go through the CLI: `dsh plugin --profile dsh-tui add|remove …`. Enable and disable have no CLI verb — start this app with `dsh --profile dsh-tui` and use /plugin.";
|
|
4187
|
+
};
|
|
4188
|
+
readonly 'plugins-service-error': {
|
|
4189
|
+
readonly zh: "插件服务调用失败:{{err}}(上面的诊断部分照常显示。重试一次;仍失败请用 `dsh plugin --profile dsh-tui` 查看 CLI 侧的报错。)";
|
|
4190
|
+
readonly en: "The plugin service call failed: {{err}} (the diagnostics above are unaffected. Retry once; if it keeps failing, read the CLI-side error with `dsh plugin --profile dsh-tui`.)";
|
|
4191
|
+
};
|
|
4192
|
+
readonly 'plugins-list-header': {
|
|
4193
|
+
readonly zh: "你装的额外插件({{count}}):";
|
|
4194
|
+
readonly en: "Plugins you added ({{count}}):";
|
|
4195
|
+
};
|
|
4196
|
+
readonly 'plugins-list-empty': {
|
|
4197
|
+
readonly zh: "本 profile 没有额外插件:只有安装自带与 dsh-tui 自身。装好后用 /plugin list 复查。";
|
|
4198
|
+
readonly en: "No extra plugins in this profile: only the installation-supplied bundles and dsh-tui itself. Run /plugin list again after installing one.";
|
|
4199
|
+
};
|
|
4200
|
+
readonly 'plugins-list-hint': {
|
|
4201
|
+
readonly zh: "详情:/plugin info <名字>;卸载:/plugin remove <名字>;启用 / 关闭:/plugin enable|disable <名字|行 id>;安装源:/plugin registries;完整诊断:无参 /plugin。";
|
|
4202
|
+
readonly en: "Details: /plugin info <name>; remove: /plugin remove <name>; enable or disable: /plugin enable|disable <name|row id>; registries: /plugin registries; full diagnostics: bare /plugin.";
|
|
4203
|
+
};
|
|
4204
|
+
readonly 'plugins-bundles-header': {
|
|
4205
|
+
readonly zh: "已装 bundle(数据来自 profile 插件服务):";
|
|
4206
|
+
readonly en: "Installed bundles (from the profile plugin service):";
|
|
4207
|
+
};
|
|
4208
|
+
readonly 'plugins-bundles-official': {
|
|
4209
|
+
readonly zh: "安装自带";
|
|
4210
|
+
readonly en: "Official (installation-supplied)";
|
|
4211
|
+
};
|
|
4212
|
+
readonly 'plugins-bundles-installed': {
|
|
4213
|
+
readonly zh: "profile 依赖";
|
|
4214
|
+
readonly en: "Profile dependencies";
|
|
4215
|
+
};
|
|
4216
|
+
readonly 'plugins-bundles-empty': {
|
|
4217
|
+
readonly zh: "(这个 profile 里还没有 bundle)";
|
|
4218
|
+
readonly en: "(no bundles in this profile yet)";
|
|
4219
|
+
};
|
|
4220
|
+
readonly 'plugins-bundle-on': {
|
|
4221
|
+
readonly zh: "已启用";
|
|
4222
|
+
readonly en: "on";
|
|
4223
|
+
};
|
|
4224
|
+
readonly 'plugins-bundle-off': {
|
|
4225
|
+
readonly zh: "未启用";
|
|
4226
|
+
readonly en: "off";
|
|
4227
|
+
};
|
|
4228
|
+
readonly 'plugins-bundle-kept': {
|
|
4229
|
+
readonly zh: "不可卸载";
|
|
4230
|
+
readonly en: "not removable";
|
|
4231
|
+
};
|
|
4232
|
+
readonly 'plugins-bundle-locked': {
|
|
4233
|
+
readonly zh: "不可管理({{reason}})";
|
|
4234
|
+
readonly en: "locked ({{reason}})";
|
|
4235
|
+
};
|
|
4236
|
+
readonly 'plugins-bundle-problem': {
|
|
4237
|
+
readonly zh: "问题:{{code}}";
|
|
4238
|
+
readonly en: "problem: {{code}}";
|
|
4239
|
+
};
|
|
4240
|
+
readonly 'plugins-bundle-rows': {
|
|
4241
|
+
readonly zh: "行 {{rows}} / 覆盖 {{overrides}}";
|
|
4242
|
+
readonly en: "rows {{rows}} / overrides {{overrides}}";
|
|
4243
|
+
};
|
|
4244
|
+
readonly 'plugins-rows-header': {
|
|
4245
|
+
readonly zh: "没有 patch 行可管理的 loader 条目:";
|
|
4246
|
+
readonly en: "Loader entries no patch row can address:";
|
|
4247
|
+
};
|
|
4248
|
+
readonly 'plugins-tag-undeclared': {
|
|
4249
|
+
readonly zh: "未声明 TUI 贡献";
|
|
4250
|
+
readonly en: "no TUI contribution declared";
|
|
4251
|
+
};
|
|
4252
|
+
readonly 'plugins-tag-undeclared-hint': {
|
|
4253
|
+
readonly zh: "「未声明 TUI 贡献」= 该包没有包根 dsh-plugin.json(@dsh-std/manifest 0.15 形状):它不会作为后端或贡献出现,运行时既不拒绝也不报错。声明写法见 tui-profile/docs/plugin-admission-and-development.md。";
|
|
4254
|
+
readonly en: "“no TUI contribution declared” = the package ships no package-root dsh-plugin.json (@dsh-std/manifest 0.15): it will not appear as a backend or contribution, and the runtime neither refuses it nor reports an error. See tui-profile/docs/plugin-admission-and-development.md for how to declare one.";
|
|
4255
|
+
};
|
|
4256
|
+
readonly 'plugins-tag-invalid': {
|
|
4257
|
+
readonly zh: "声明无法判定:{{err}}";
|
|
4258
|
+
readonly en: "declaration undecidable: {{err}}";
|
|
4259
|
+
};
|
|
4260
|
+
readonly 'plugins-tag-declared': {
|
|
4261
|
+
readonly zh: "TUI 贡献:{{state}}";
|
|
4262
|
+
readonly en: "TUI contribution: {{state}}";
|
|
4263
|
+
};
|
|
4264
|
+
readonly 'plugins-info-usage': {
|
|
4265
|
+
readonly zh: "用法:/plugin info <已装 bundle 名或待装 spec>";
|
|
4266
|
+
readonly en: "Usage: /plugin info <installed bundle name or install spec>";
|
|
4267
|
+
};
|
|
4268
|
+
readonly 'plugins-info-bundle': {
|
|
4269
|
+
readonly zh: "已装 bundle:{{name}}";
|
|
4270
|
+
readonly en: "Installed bundle: {{name}}";
|
|
4271
|
+
};
|
|
4272
|
+
readonly 'plugins-info-rows-label': {
|
|
4273
|
+
readonly zh: " 行:";
|
|
4274
|
+
readonly en: " rows:";
|
|
4275
|
+
};
|
|
4276
|
+
readonly 'plugins-info-overrides-label': {
|
|
4277
|
+
readonly zh: " 覆盖的行:{{list}}";
|
|
4278
|
+
readonly en: " overridden rows: {{list}}";
|
|
4279
|
+
};
|
|
4280
|
+
readonly 'plugins-info-problem': {
|
|
4281
|
+
readonly zh: " 问题:{{code}}{{diagnostic}}";
|
|
4282
|
+
readonly en: " problem: {{code}}{{diagnostic}}";
|
|
4283
|
+
};
|
|
4284
|
+
readonly 'plugins-info-inspect-refused': {
|
|
4285
|
+
readonly zh: "不可安装:{{problem}} — {{reason}}";
|
|
4286
|
+
readonly en: "Not installable: {{problem}} — {{reason}}";
|
|
4287
|
+
};
|
|
4288
|
+
readonly 'plugins-info-inspect-accepted': {
|
|
4289
|
+
readonly zh: "可安装:{{name}} {{version}} · {{kind}} · bundle={{bundle}} · 来源 {{registry}}";
|
|
4290
|
+
readonly en: "Installable: {{name}} {{version}} · {{kind}} · bundle={{bundle}} · from {{registry}}";
|
|
4291
|
+
};
|
|
4292
|
+
readonly 'plugins-info-inspect-description': {
|
|
4293
|
+
readonly zh: " {{description}}";
|
|
4294
|
+
readonly en: " {{description}}";
|
|
4295
|
+
};
|
|
4296
|
+
readonly 'plugins-info-inspect-host': {
|
|
4297
|
+
readonly zh: " 来源主机:{{host}}";
|
|
4298
|
+
readonly en: " source host: {{host}}";
|
|
4299
|
+
};
|
|
4300
|
+
readonly 'plugins-info-registries-header': {
|
|
4301
|
+
readonly zh: "安装源(首用优先,逐级回退):";
|
|
4302
|
+
readonly en: "Registries (asked first, then in order):";
|
|
4303
|
+
};
|
|
4304
|
+
readonly 'plugins-info-registries-first': {
|
|
4305
|
+
readonly zh: " 首选:{{registry}}";
|
|
4306
|
+
readonly en: " first: {{registry}}";
|
|
4307
|
+
};
|
|
4308
|
+
readonly 'plugins-info-registries-fallbacks': {
|
|
4309
|
+
readonly zh: " 回退:{{list}}";
|
|
4310
|
+
readonly en: " fallbacks: {{list}}";
|
|
4311
|
+
};
|
|
4312
|
+
readonly 'plugins-info-registries-resolved': {
|
|
4313
|
+
readonly zh: " pnpm 配置解析:{{registry}}";
|
|
4314
|
+
readonly en: " resolved from pnpm: {{registry}}";
|
|
4315
|
+
};
|
|
4316
|
+
readonly 'plugins-info-registries-none': {
|
|
4317
|
+
readonly zh: "(无)";
|
|
4318
|
+
readonly en: "(none)";
|
|
4319
|
+
};
|
|
4320
|
+
readonly 'plugins-install-busy': {
|
|
4321
|
+
readonly zh: "回合正在运行,先结束它(或 /new)再装插件:安装会改动 profile 并触发应用/热重载";
|
|
4322
|
+
readonly en: "A turn is running; finish it (or /new) before installing: an install changes the profile and applies or hot-reloads plugins";
|
|
4323
|
+
};
|
|
4324
|
+
readonly 'plugins-install-inspect': {
|
|
4325
|
+
readonly zh: "将要安装:{{spec}}({{kind}} · {{bundle}})";
|
|
4326
|
+
readonly en: "About to install: {{spec}} ({{kind}} · {{bundle}})";
|
|
4327
|
+
};
|
|
4328
|
+
readonly 'plugins-install-trusted': {
|
|
4329
|
+
readonly zh: "嫡系(feed 命中):{{name}}@{{version}} —— 跳过装包信任确认;仍记 effect ledger,仍在 /plugin 列表可见";
|
|
4330
|
+
readonly en: "First-party (feed hit): {{name}}@{{version}} — skipping the package trust confirmation; the effect ledger and the /plugin list are unaffected";
|
|
4331
|
+
};
|
|
4332
|
+
readonly 'plugins-install-attempt': {
|
|
4333
|
+
readonly zh: "正在询问第 {{index}}/{{total}} 个安装源:{{registry}}";
|
|
4334
|
+
readonly en: "Asking registry {{index}}/{{total}}: {{registry}}";
|
|
4335
|
+
};
|
|
4336
|
+
readonly 'plugins-install-installing': {
|
|
4337
|
+
readonly zh: "正在安装…";
|
|
4338
|
+
readonly en: "Installing…";
|
|
4339
|
+
};
|
|
4340
|
+
readonly 'plugins-install-cancelling': {
|
|
4341
|
+
readonly zh: "正在取消…";
|
|
4342
|
+
readonly en: "Cancelling…";
|
|
4343
|
+
};
|
|
4344
|
+
readonly 'plugins-install-applying': {
|
|
4345
|
+
readonly zh: "正在应用…";
|
|
4346
|
+
readonly en: "Applying…";
|
|
4347
|
+
};
|
|
4348
|
+
readonly 'plugins-install-log-line-omitted': {
|
|
4349
|
+
readonly zh: "已省略超长日志行(每行上限 {{bytes}} 字节)。";
|
|
4350
|
+
readonly en: "An oversized log line was omitted (limit: {{bytes}} bytes per line).";
|
|
4351
|
+
};
|
|
4352
|
+
readonly 'plugins-install-build-blocked': {
|
|
4353
|
+
readonly zh: "安装被构建脚本拦住:有 {{count}} 个脚本待批准(批准后才会重试安装)";
|
|
4354
|
+
readonly en: "Blocked by build scripts: {{count}} awaiting approval (the install retries only after approval)";
|
|
4355
|
+
};
|
|
4356
|
+
readonly 'plugins-install-build-approved': {
|
|
4357
|
+
readonly zh: "已批准 {{count}} 个构建脚本(写入 profile 的 allowBuilds),正在重试安装";
|
|
4358
|
+
readonly en: "Approved {{count}} build scripts (written to the profile allowBuilds); retrying the install";
|
|
4359
|
+
};
|
|
4360
|
+
readonly 'plugins-install-incompatible': {
|
|
4361
|
+
readonly zh: "版本不兼容:{{packages}}(当前 DSH {{runtime}})";
|
|
4362
|
+
readonly en: "Incompatible version: {{packages}} (running DSH {{runtime}})";
|
|
4363
|
+
};
|
|
4364
|
+
readonly 'plugins-install-exempted': {
|
|
4365
|
+
readonly zh: "已为 {{count}} 个包登记精确版本豁免(accept-risk)";
|
|
4366
|
+
readonly en: "Recorded an exact-version exemption for {{count}} package(s) (accept-risk)";
|
|
4367
|
+
};
|
|
4368
|
+
readonly 'plugins-install-exemptions-unreadable': {
|
|
4369
|
+
readonly zh: "读不到当前的版本豁免清单:{{reason}}(面板按\"没有豁免\"继续)";
|
|
4370
|
+
readonly en: "Could not read the current version exemptions: {{reason}} (the pane continues as if there were none)";
|
|
4371
|
+
};
|
|
4372
|
+
readonly 'plugins-install-done': {
|
|
4373
|
+
readonly zh: "已安装 {{bundle}}:{{state}}";
|
|
4374
|
+
readonly en: "Installed {{bundle}}: {{state}}";
|
|
4375
|
+
};
|
|
4376
|
+
readonly 'plugins-install-state-applied': {
|
|
4377
|
+
readonly zh: "已应用";
|
|
4378
|
+
readonly en: "applied";
|
|
4379
|
+
};
|
|
4380
|
+
readonly 'plugins-install-state-restart': {
|
|
4381
|
+
readonly zh: "需要重启";
|
|
4382
|
+
readonly en: "restart required";
|
|
4383
|
+
};
|
|
4384
|
+
readonly 'plugins-install-state-overridden': {
|
|
4385
|
+
readonly zh: "被覆盖(HMR 生效中)";
|
|
4386
|
+
readonly en: "overridden (HMR is live)";
|
|
4387
|
+
};
|
|
4388
|
+
readonly 'plugins-install-restart-hint': {
|
|
4389
|
+
readonly zh: "重启本应用后它才会作为后端 / 贡献生效。";
|
|
4390
|
+
readonly en: "Restart this app for it to take effect as a backend / contribution.";
|
|
4391
|
+
};
|
|
4392
|
+
readonly 'plugins-install-failed': {
|
|
4393
|
+
readonly zh: "安装失败:{{reason}}";
|
|
4394
|
+
readonly en: "Install failed: {{reason}}";
|
|
4395
|
+
};
|
|
4396
|
+
readonly 'plugins-install-manual': {
|
|
4397
|
+
readonly zh: "手工命令:dsh plugin --profile {{profile}} add {{spec}}";
|
|
4398
|
+
readonly en: "Manual command: dsh plugin --profile {{profile}} add {{spec}}";
|
|
4399
|
+
};
|
|
4400
|
+
readonly 'plugins-install-rescue': {
|
|
4401
|
+
readonly zh: "反复失败时用救援 profile:dsh-tui safe --rescue";
|
|
4402
|
+
readonly en: "If it keeps failing, use the rescue profile: dsh-tui safe --rescue";
|
|
4403
|
+
};
|
|
4404
|
+
readonly 'plugins-install-cancelled': {
|
|
4405
|
+
readonly zh: "已取消安装(profile 已回滚)";
|
|
4406
|
+
readonly en: "Install cancelled (the profile was rolled back)";
|
|
4407
|
+
};
|
|
4408
|
+
readonly 'plugins-install-cancel-too-late': {
|
|
4409
|
+
readonly zh: "已进入应用阶段,无法取消";
|
|
4410
|
+
readonly en: "Already applying; it cannot be cancelled";
|
|
4411
|
+
};
|
|
4412
|
+
readonly 'plugins-install-cancel-not-running': {
|
|
4413
|
+
readonly zh: "没有在跑的安装(可能已经结束)";
|
|
4414
|
+
readonly en: "No installation is running (it may have finished)";
|
|
4415
|
+
};
|
|
4416
|
+
readonly 'plugins-install-cancel-failed': {
|
|
4417
|
+
readonly zh: "取消失败:{{reason}}";
|
|
4418
|
+
readonly en: "Cancel failed: {{reason}}";
|
|
4419
|
+
};
|
|
4420
|
+
readonly 'plugins-install-drift': {
|
|
4421
|
+
readonly zh: "注意:profile 里的 {{name}} 现在是 {{found}},本进程运行的是 {{running}};对齐它:dsh plugin --profile {{profile}} add {{name}}@{{running}}";
|
|
4422
|
+
readonly en: "Heads up: {{name}} in the profile is now {{found}} while this process runs {{running}}; realign it: dsh plugin --profile {{profile}} add {{name}}@{{running}}";
|
|
4423
|
+
};
|
|
4424
|
+
readonly 'plugins-install-usage': {
|
|
4425
|
+
readonly zh: "用法:/plugin install <包名[@版本] | 路径 | git URL>";
|
|
4426
|
+
readonly en: "Usage: /plugin install <package[@version] | path | git url>";
|
|
4427
|
+
};
|
|
4428
|
+
readonly 'plugins-install-pane-title': {
|
|
4429
|
+
readonly zh: "安装插件";
|
|
4430
|
+
readonly en: "Install plugin";
|
|
4431
|
+
};
|
|
4432
|
+
readonly 'plugins-install-configure': {
|
|
4433
|
+
readonly zh: "要安装:{{spec}} · {{kind}} · bundle={{bundle}}";
|
|
4434
|
+
readonly en: "To install: {{spec}} · {{kind}} · bundle={{bundle}}";
|
|
4435
|
+
};
|
|
4436
|
+
readonly 'plugins-install-unidentified': {
|
|
4437
|
+
readonly zh: "(服务未给出包名)";
|
|
4438
|
+
readonly en: "(the service named no package)";
|
|
4439
|
+
};
|
|
4440
|
+
readonly 'plugins-install-trust-third-party': {
|
|
4441
|
+
readonly zh: "信任确认:插件与本应用同进程运行 —— 进程内全信任、无沙箱;装上后不会自动更新;它的行为受声明的 grants 约束(授权是行为约束,不是安全隔离)。";
|
|
4442
|
+
readonly en: "Trust: the plugin runs in-process with this app — full trust, no sandbox; it will not auto-update; its behaviour is bounded by the grants it declares (grants are behavioural constraints, not a security boundary).";
|
|
4443
|
+
};
|
|
4444
|
+
readonly 'plugins-install-notice-declared': {
|
|
4445
|
+
readonly zh: "声明可判定:该包的 dsh-plugin.json 已通过本 profile 的准入判定。";
|
|
4446
|
+
readonly en: "Declaration readable: the package-root dsh-plugin.json passes this profile’s admission.";
|
|
4447
|
+
};
|
|
4448
|
+
readonly 'plugins-install-notice-undeclared': {
|
|
4449
|
+
readonly zh: "提醒:该包没有声明 TUI 贡献(包根缺少 dsh-plugin.json);装上后不会作为后端/贡献出现,并会在 /plugin 列表里带常驻标签。";
|
|
4450
|
+
readonly en: "Heads up: this package declares no TUI contribution (no package-root dsh-plugin.json); it will not appear as a backend/contribution, and /plugin will tag it.";
|
|
4451
|
+
};
|
|
4452
|
+
readonly 'plugins-install-notice-invalid': {
|
|
4453
|
+
readonly zh: "提醒:该包的声明本 profile 无法通过({{err}});装上后不会作为后端/贡献出现。";
|
|
4454
|
+
readonly en: "Heads up: this profile cannot accept the package’s declaration ({{err}}); it will not appear as a backend/contribution.";
|
|
4455
|
+
};
|
|
4456
|
+
readonly 'plugins-install-notice-unjudged': {
|
|
4457
|
+
readonly zh: "提醒:注册表里的包在装上之前无法判定是否声明了 TUI 贡献;若未声明,它不会作为后端/贡献出现,并会在 /plugin 列表里带常驻标签。";
|
|
4458
|
+
readonly en: "Heads up: a registry package’s declaration cannot be read before it lands; if it declares none, it will not appear as a backend/contribution and /plugin will tag it.";
|
|
4459
|
+
};
|
|
4460
|
+
readonly 'plugins-install-builds-title': {
|
|
4461
|
+
readonly zh: "以下构建脚本需要批准(写进 profile 的 allowBuilds):";
|
|
4462
|
+
readonly en: "These build scripts need approval (written to the profile allowBuilds):";
|
|
4463
|
+
};
|
|
4464
|
+
readonly 'plugins-install-incompatible-title': {
|
|
4465
|
+
readonly zh: "版本不兼容的包:";
|
|
4466
|
+
readonly en: "Incompatible packages:";
|
|
4467
|
+
};
|
|
4468
|
+
readonly 'plugins-install-exemptions-title': {
|
|
4469
|
+
readonly zh: "已登记的精确版本豁免:";
|
|
4470
|
+
readonly en: "Exact-version exemptions recorded:";
|
|
4471
|
+
};
|
|
4472
|
+
readonly 'plugins-install-key-confirm': {
|
|
4473
|
+
readonly zh: "⏎ 安装 · esc 取消";
|
|
4474
|
+
readonly en: "⏎ install · esc cancel";
|
|
4475
|
+
};
|
|
4476
|
+
readonly 'plugins-install-key-builds': {
|
|
4477
|
+
readonly zh: "⏎ 允许这些脚本并重试 · esc 取消";
|
|
4478
|
+
readonly en: "⏎ allow these scripts and retry · esc cancel";
|
|
4479
|
+
};
|
|
4480
|
+
readonly 'plugins-install-key-incompatible': {
|
|
4481
|
+
readonly zh: "⏎ 接受风险并重试 · esc 取消";
|
|
4482
|
+
readonly en: "⏎ accept the risk and retry · esc cancel";
|
|
4483
|
+
};
|
|
4484
|
+
readonly 'plugins-install-key-cancel': {
|
|
4485
|
+
readonly zh: "esc 取消安装";
|
|
4486
|
+
readonly en: "esc cancel the install";
|
|
4487
|
+
};
|
|
4488
|
+
readonly 'plugins-manage-busy': {
|
|
4489
|
+
readonly zh: "有回合正在运行:先结束它或 /new,再执行这个动作(不改动 profile)。";
|
|
4490
|
+
readonly en: "A turn is running: finish it or /new before this action (the profile is left alone).";
|
|
4491
|
+
};
|
|
4492
|
+
readonly 'plugins-manage-unknown': {
|
|
4493
|
+
readonly zh: "找不到目标:{{target}}(可寻址的:{{names}})";
|
|
4494
|
+
readonly en: "No such target: {{target}} (addressable: {{names}})";
|
|
4495
|
+
};
|
|
4496
|
+
readonly 'plugins-manage-ambiguous': {
|
|
4497
|
+
readonly zh: "{{target}} 匹配多行,请改用具体行 id:{{ids}}(profile 没有改动)。";
|
|
4498
|
+
readonly en: "{{target}} matches multiple rows. Use a specific row id: {{ids}} (the profile was not changed).";
|
|
4499
|
+
};
|
|
4500
|
+
readonly 'plugins-manage-refused-service-locked': {
|
|
4501
|
+
readonly zh: "拒绝:插件服务锁定了 {{target}}({{reason}})——两个方向都不是本应用能改的。";
|
|
4502
|
+
readonly en: "Refused: the plugin service has {{target}} locked ({{reason}}); neither direction is this app's to take.";
|
|
4503
|
+
};
|
|
4504
|
+
readonly 'plugins-manage-refused-app-bundle': {
|
|
4505
|
+
readonly zh: "拒绝:{{target}} 就是本应用自己(门禁 2)——关了它,界面当场消失。";
|
|
4506
|
+
readonly en: "Refused: {{target}} is this application itself (gate 2); switching it off takes the interface down with it.";
|
|
4507
|
+
};
|
|
4508
|
+
readonly 'plugins-manage-refused-host-bundle': {
|
|
4509
|
+
readonly zh: "拒绝:{{target}} 是本应用赖以运行的宿主层(门禁 2)——它提供本应用离不开的服务。";
|
|
4510
|
+
readonly en: "Refused: {{target}} is the host layer this application runs on (gate 2); it provides services the interface needs.";
|
|
4511
|
+
};
|
|
4512
|
+
readonly 'plugins-manage-refused-not-removable': {
|
|
4513
|
+
readonly zh: "拒绝:{{target}} 不是本 profile 装的(安装自带),不可卸载。";
|
|
4514
|
+
readonly en: "Refused: {{target}} was not installed by this profile (the dsh installation supplies it), so it cannot be removed.";
|
|
4515
|
+
};
|
|
4516
|
+
readonly 'plugins-manage-refused-row-not-removable': {
|
|
4517
|
+
readonly zh: "拒绝:{{target}} 是一行 patch,不能单独卸载——它随所属 bundle 走。";
|
|
4518
|
+
readonly en: "Refused: {{target}} is a patch row and cannot be removed on its own; it goes with its bundle.";
|
|
4519
|
+
};
|
|
4520
|
+
readonly 'plugins-manage-refused-app-row': {
|
|
4521
|
+
readonly zh: "拒绝:{{target}} 提供本应用的界面(门禁 2)——关掉它,界面当场消失。";
|
|
4522
|
+
readonly en: "Refused: {{target}} provides this application's interface (gate 2); switching it off takes the interface down with it.";
|
|
4523
|
+
};
|
|
4524
|
+
readonly 'plugins-manage-unchanged': {
|
|
4525
|
+
readonly zh: "{{target}} 已经是这个状态,profile 没有改动。";
|
|
4526
|
+
readonly en: "{{target}} is already in that state; the profile was not changed.";
|
|
4527
|
+
};
|
|
4528
|
+
readonly 'plugins-manage-removed': {
|
|
4529
|
+
readonly zh: "已卸载 {{target}}:{{state}}";
|
|
4530
|
+
readonly en: "Removed {{target}}: {{state}}";
|
|
4531
|
+
};
|
|
4532
|
+
readonly 'plugins-manage-enabled': {
|
|
4533
|
+
readonly zh: "已启用 {{target}}:{{state}}";
|
|
4534
|
+
readonly en: "Enabled {{target}}: {{state}}";
|
|
4535
|
+
};
|
|
4536
|
+
readonly 'plugins-manage-disabled': {
|
|
4537
|
+
readonly zh: "已关闭 {{target}}:{{state}}";
|
|
4538
|
+
readonly en: "Disabled {{target}}: {{state}}";
|
|
4539
|
+
};
|
|
4540
|
+
readonly 'plugins-manage-failed': {
|
|
4541
|
+
readonly zh: "操作失败:{{reason}}";
|
|
4542
|
+
readonly en: "The action failed: {{reason}}";
|
|
4543
|
+
};
|
|
4544
|
+
readonly 'plugins-manage-incompatible': {
|
|
4545
|
+
readonly zh: "版本不兼容:{{packages}}——要强行启用,先接受风险:dsh plugin --profile {{profile}} allow-version <包@版本> <当前版本> --accept-risk";
|
|
4546
|
+
readonly en: "Incompatible version: {{packages}} — to force it, accept the risk first: dsh plugin --profile {{profile}} allow-version <package@version> <running version> --accept-risk";
|
|
4547
|
+
};
|
|
4548
|
+
readonly 'plugins-manage-manual-remove': {
|
|
4549
|
+
readonly zh: "手工命令:dsh plugin --profile {{profile}} remove {{target}}";
|
|
4550
|
+
readonly en: "Manual command: dsh plugin --profile {{profile}} remove {{target}}";
|
|
4551
|
+
};
|
|
4552
|
+
readonly 'plugins-manage-manual-profile': {
|
|
4553
|
+
readonly zh: "启用 / 关闭没有命令行动词(profile 的依赖与 cordis.patch.yml 是服务写自己的文件):请用 `dsh --profile {{profile}}` 启动本应用,在 /plugin 里操作;命令行只有 add / remove。";
|
|
4554
|
+
readonly en: "Enable and disable have no CLI verb (the profile's dependencies and cordis.patch.yml are files the service writes for itself): start this app with `dsh --profile {{profile}}` and use /plugin; the CLI has add and remove only.";
|
|
4555
|
+
};
|
|
4556
|
+
readonly 'plugins-manage-residue': {
|
|
4557
|
+
readonly zh: "用户数据仍在:{{paths}} —— 不再需要时可手动删除。";
|
|
4558
|
+
readonly en: "Your own data is still there: {{paths}} — delete it by hand when you no longer need it.";
|
|
4559
|
+
};
|
|
4560
|
+
readonly 'plugins-manage-residue-footprint': {
|
|
4561
|
+
readonly zh: "{{id}} 仍在授权文件 / 效果台账 / 存储目录里留有足迹";
|
|
4562
|
+
readonly en: "{{id}} still has a footprint in the grants file, the effect ledger or the storage directory";
|
|
4563
|
+
};
|
|
4564
|
+
readonly 'plugins-manage-residue-unjudged': {
|
|
4565
|
+
readonly zh: "读不到 {{target}} 的包内声明,无法判断它是否留下了用户数据(不猜)。";
|
|
4566
|
+
readonly en: "The declaration inside {{target}} could not be read, so what data it left behind cannot be judged (nothing is guessed).";
|
|
4567
|
+
};
|
|
4568
|
+
readonly 'plugins-manage-usage': {
|
|
4569
|
+
readonly zh: "用法:/plugin {{sub}} <bundle 名 | 行 id>";
|
|
4570
|
+
readonly en: "Usage: /plugin {{sub}} <bundle name | row id>";
|
|
4571
|
+
};
|
|
4572
|
+
readonly 'plugins-manage-pane-title': {
|
|
4573
|
+
readonly zh: "插件生命周期";
|
|
4574
|
+
readonly en: "Plugin lifecycle";
|
|
4575
|
+
};
|
|
4576
|
+
readonly 'plugins-manage-action-remove': {
|
|
4577
|
+
readonly zh: "卸载";
|
|
4578
|
+
readonly en: "remove";
|
|
4579
|
+
};
|
|
4580
|
+
readonly 'plugins-manage-action-enable': {
|
|
4581
|
+
readonly zh: "启用";
|
|
4582
|
+
readonly en: "enable";
|
|
4583
|
+
};
|
|
4584
|
+
readonly 'plugins-manage-action-disable': {
|
|
4585
|
+
readonly zh: "关闭";
|
|
4586
|
+
readonly en: "disable";
|
|
4587
|
+
};
|
|
4588
|
+
readonly 'plugins-manage-configure': {
|
|
4589
|
+
readonly zh: "要{{action}}:{{target}}";
|
|
4590
|
+
readonly en: "About to {{action}}: {{target}}";
|
|
4591
|
+
};
|
|
4592
|
+
readonly 'plugins-manage-working': {
|
|
4593
|
+
readonly zh: "正在写入 profile…";
|
|
4594
|
+
readonly en: "Writing the profile…";
|
|
4595
|
+
};
|
|
4596
|
+
readonly 'plugins-manage-remove-facts': {
|
|
4597
|
+
readonly zh: "这是破坏性操作:它会改 profile 的 package.json 与 lockfile(服务失败时回滚),并移除它的 {{rows}} 行 / {{overrides}} 项覆盖;它留下的你自己的数据不会被删(有残留会另行提示)。";
|
|
4598
|
+
readonly en: "This is destructive: it changes the profile's package.json and lockfile (rolled back if the service fails) and drops its {{rows}} rows / {{overrides}} overrides. Your own data is not deleted (any residue is reported separately).";
|
|
4599
|
+
};
|
|
4600
|
+
readonly 'plugins-manage-trust-facts': {
|
|
4601
|
+
readonly zh: "无法验证已装代码的安装来源:启用后它就在本进程内运行、不自动更新、没有沙箱。它声明的权限见 /plugin 的授权矩阵。";
|
|
4602
|
+
readonly en: "The installed code's source cannot be verified: once enabled it runs inside this process, with no auto-update and no sandbox. Its declared permissions are in the /plugin grant matrix.";
|
|
4603
|
+
};
|
|
4604
|
+
readonly 'plugins-manage-host-row-facts': {
|
|
4605
|
+
readonly zh: "这一行属于宿主层(dsh-base):关掉它会卸载本应用注入的服务,本应用可能重启或退出。";
|
|
4606
|
+
readonly en: "This row belongs to the host layer (dsh-base): switching it off unloads services this application injects, and the app may restart or exit.";
|
|
4607
|
+
};
|
|
4608
|
+
readonly 'plugins-manage-team-active-facts': {
|
|
4609
|
+
readonly zh: "本会话有 {{members}} 个 teammate 正在运行或准备中。";
|
|
4610
|
+
readonly en: "{{members}} teammate(s) in this session are running or being created.";
|
|
4611
|
+
};
|
|
4612
|
+
readonly 'plugins-manage-team-unseen-facts': {
|
|
4613
|
+
readonly zh: "团队里有 {{members}} 个 teammate 可能正在运行:从 teammate 会话里看不到它们的运行状态。";
|
|
4614
|
+
readonly en: "{{members}} teammate(s) of this team may be running: their runs are not visible from a teammate session.";
|
|
4615
|
+
};
|
|
4616
|
+
readonly 'plugins-manage-team-active-stop': {
|
|
4617
|
+
readonly zh: "关闭团队会停止它们:团队服务卸载时释放仍在运行的 teammate。团队消息与任务板停止,团队记录留在会话里。";
|
|
4618
|
+
readonly en: "Switching the team off stops them: the team service releases the teammates still running as it unloads. Team messages and the task board stop; the team record stays in the session.";
|
|
4619
|
+
};
|
|
4620
|
+
readonly 'plugins-manage-key-confirm': {
|
|
4621
|
+
readonly zh: "⏎ 执行 · esc 关闭";
|
|
4622
|
+
readonly en: "⏎ do it · esc close";
|
|
4623
|
+
};
|
|
4624
|
+
readonly 'plugins-manage-key-busy': {
|
|
4625
|
+
readonly zh: "写入中 · esc 只关面板,操作会继续(这三个动作没有取消面)";
|
|
4626
|
+
readonly en: "writing · esc only closes the pane, the action goes on (these three have no cancellation)";
|
|
4627
|
+
};
|
|
5358
4628
|
readonly 'doctor-plugin-generation': {
|
|
5359
4629
|
readonly zh: "插件运行时 generation:{{id}}";
|
|
5360
4630
|
readonly en: "Plugin runtime generation: {{id}}";
|
|
@@ -5443,10 +4713,6 @@ declare const dict: {
|
|
|
5443
4713
|
readonly zh: "无匹配";
|
|
5444
4714
|
readonly en: "no matches";
|
|
5445
4715
|
};
|
|
5446
|
-
readonly 'rename-usage': {
|
|
5447
|
-
readonly zh: "用法 /rename <新名称>";
|
|
5448
|
-
readonly en: "Usage /rename <new title>";
|
|
5449
|
-
};
|
|
5450
4716
|
readonly 'rename-current': {
|
|
5451
4717
|
readonly zh: "当前名称 {{title}}";
|
|
5452
4718
|
readonly en: "Current title {{title}}";
|
|
@@ -5472,8 +4738,8 @@ declare const dict: {
|
|
|
5472
4738
|
readonly en: "↓ back to bottom (Enter/End)";
|
|
5473
4739
|
};
|
|
5474
4740
|
readonly 'theme-builtin-base': {
|
|
5475
|
-
readonly zh: "内置 · {{
|
|
5476
|
-
readonly en: "Built-in · {{
|
|
4741
|
+
readonly zh: "内置 · {{base}} 基底";
|
|
4742
|
+
readonly en: "Built-in · {{base}} base";
|
|
5477
4743
|
};
|
|
5478
4744
|
readonly 'theme-auto-base': {
|
|
5479
4745
|
readonly zh: "内置 · 跟随系统/终端背景自动选择 light/dark";
|
|
@@ -5867,6 +5133,146 @@ declare const dict: {
|
|
|
5867
5133
|
readonly zh: "让主代理发起 Task 后,子代理会出现在这里";
|
|
5868
5134
|
readonly en: "Subagents appear here once the main agent starts Task delegations";
|
|
5869
5135
|
};
|
|
5136
|
+
readonly 'team-dashboard-title': {
|
|
5137
|
+
readonly zh: " 代理团队 ";
|
|
5138
|
+
readonly en: " Agent Team ";
|
|
5139
|
+
};
|
|
5140
|
+
readonly 'team-status-provisioning': {
|
|
5141
|
+
readonly zh: "准备中";
|
|
5142
|
+
readonly en: "provisioning";
|
|
5143
|
+
};
|
|
5144
|
+
readonly 'team-status-running': {
|
|
5145
|
+
readonly zh: "运行中";
|
|
5146
|
+
readonly en: "running";
|
|
5147
|
+
};
|
|
5148
|
+
readonly 'team-status-idle': {
|
|
5149
|
+
readonly zh: "空闲";
|
|
5150
|
+
readonly en: "idle";
|
|
5151
|
+
};
|
|
5152
|
+
readonly 'team-status-active': {
|
|
5153
|
+
readonly zh: "活跃";
|
|
5154
|
+
readonly en: "active";
|
|
5155
|
+
};
|
|
5156
|
+
readonly 'team-status-failed': {
|
|
5157
|
+
readonly zh: "失败";
|
|
5158
|
+
readonly en: "failed";
|
|
5159
|
+
};
|
|
5160
|
+
readonly 'team-members-title': {
|
|
5161
|
+
readonly zh: "成员";
|
|
5162
|
+
readonly en: "Members";
|
|
5163
|
+
};
|
|
5164
|
+
readonly 'team-lead-row': {
|
|
5165
|
+
readonly zh: "lead · 当前会话";
|
|
5166
|
+
readonly en: "lead · this session";
|
|
5167
|
+
};
|
|
5168
|
+
readonly 'team-lead-row-peer': {
|
|
5169
|
+
readonly zh: "lead";
|
|
5170
|
+
readonly en: "lead";
|
|
5171
|
+
};
|
|
5172
|
+
readonly 'team-self-mark': {
|
|
5173
|
+
readonly zh: "当前会话";
|
|
5174
|
+
readonly en: "this session";
|
|
5175
|
+
};
|
|
5176
|
+
readonly 'team-others-title': {
|
|
5177
|
+
readonly zh: "其他子代理";
|
|
5178
|
+
readonly en: "Other subagents";
|
|
5179
|
+
};
|
|
5180
|
+
readonly 'team-tasks-title': {
|
|
5181
|
+
readonly zh: "任务板 · {{completed}}/{{total}}";
|
|
5182
|
+
readonly en: "Tasks · {{completed}}/{{total}}";
|
|
5183
|
+
};
|
|
5184
|
+
readonly 'team-tasks-empty': {
|
|
5185
|
+
readonly zh: "暂无任务";
|
|
5186
|
+
readonly en: "No tasks";
|
|
5187
|
+
};
|
|
5188
|
+
readonly 'team-tasks-count': {
|
|
5189
|
+
readonly zh: "任务 {{completed}}/{{total}}";
|
|
5190
|
+
readonly en: "tasks {{completed}}/{{total}}";
|
|
5191
|
+
};
|
|
5192
|
+
readonly 'team-last-run-failed': {
|
|
5193
|
+
readonly zh: "上一轮失败 {{error}}";
|
|
5194
|
+
readonly en: "last run failed {{error}}";
|
|
5195
|
+
};
|
|
5196
|
+
readonly 'team-task-blocked': {
|
|
5197
|
+
readonly zh: "阻塞";
|
|
5198
|
+
readonly en: "blocked";
|
|
5199
|
+
};
|
|
5200
|
+
readonly 'team-failure': {
|
|
5201
|
+
readonly zh: "团队记录被拒:{{failure}}";
|
|
5202
|
+
readonly en: "Team record rejected: {{failure}}";
|
|
5203
|
+
};
|
|
5204
|
+
readonly 'team-cmd-unavailable': {
|
|
5205
|
+
readonly zh: "当前内核没有 Agent Teams。";
|
|
5206
|
+
readonly en: "The current kernel has no Agent Teams.";
|
|
5207
|
+
};
|
|
5208
|
+
readonly 'team-cmd-usage': {
|
|
5209
|
+
readonly zh: "未知子命令「{{sub}}」。用法:/team [status] | on | off";
|
|
5210
|
+
readonly en: "Unknown subcommand \"{{sub}}\". Usage: /team [status] | on | off";
|
|
5211
|
+
};
|
|
5212
|
+
readonly 'team-cmd-no-manager': {
|
|
5213
|
+
readonly zh: "本次启动没有 profile 插件服务,无法在会话内切换。改用:dsh plugin --profile {{profile}} add {{bundle}}(关闭用 remove),然后重启。";
|
|
5214
|
+
readonly en: "This launch has no profile plugin service, so the team cannot be switched here. Use dsh plugin --profile {{profile}} add {{bundle}} (remove to switch off), then restart.";
|
|
5215
|
+
};
|
|
5216
|
+
readonly 'team-cmd-bundle': {
|
|
5217
|
+
readonly zh: "团队 bundle:{{state}}";
|
|
5218
|
+
readonly en: "Team bundle: {{state}}";
|
|
5219
|
+
};
|
|
5220
|
+
readonly 'team-cmd-on': {
|
|
5221
|
+
readonly zh: "已开启";
|
|
5222
|
+
readonly en: "on";
|
|
5223
|
+
};
|
|
5224
|
+
readonly 'team-cmd-off': {
|
|
5225
|
+
readonly zh: "已关闭";
|
|
5226
|
+
readonly en: "off";
|
|
5227
|
+
};
|
|
5228
|
+
readonly 'team-cmd-already-on': {
|
|
5229
|
+
readonly zh: "团队 bundle 已开启,无需改动。";
|
|
5230
|
+
readonly en: "The team bundle is already on; nothing to change.";
|
|
5231
|
+
};
|
|
5232
|
+
readonly 'team-cmd-not-installed': {
|
|
5233
|
+
readonly zh: "团队 bundle 未安装。在这里安装:/plugin install {{bundle}}(装完即开启);或在终端:dsh plugin --profile {{profile}} add {{bundle}}";
|
|
5234
|
+
readonly en: "The team bundle is not installed. Install it here with /plugin install {{bundle}} (it is switched on once installed), or in a terminal with dsh plugin --profile {{profile}} add {{bundle}}";
|
|
5235
|
+
};
|
|
5236
|
+
readonly 'team-cmd-kernel-unsupported': {
|
|
5237
|
+
readonly zh: "运行中的 DSH {{version}} 没有本应用能读取的团队 bundle:先把 DSH 换成 {{lines}} 之一,再安装同版本的团队 bundle。";
|
|
5238
|
+
readonly en: "The running DSH {{version}} has no team bundle this app can read: switch DSH to one of {{lines}} first, then install the team bundle of that same version.";
|
|
5239
|
+
};
|
|
5240
|
+
readonly 'team-cmd-off-not-installed': {
|
|
5241
|
+
readonly zh: "团队 bundle 未安装,团队本就是关闭的,无需改动。";
|
|
5242
|
+
readonly en: "The team bundle is not installed, so the team is already off; nothing to change.";
|
|
5243
|
+
};
|
|
5244
|
+
readonly 'team-cmd-service': {
|
|
5245
|
+
readonly zh: "团队服务:{{state}}";
|
|
5246
|
+
readonly en: "Team service: {{state}}";
|
|
5247
|
+
};
|
|
5248
|
+
readonly 'team-cmd-running': {
|
|
5249
|
+
readonly zh: "运行中";
|
|
5250
|
+
readonly en: "running";
|
|
5251
|
+
};
|
|
5252
|
+
readonly 'team-cmd-stopped': {
|
|
5253
|
+
readonly zh: "未运行";
|
|
5254
|
+
readonly en: "not running";
|
|
5255
|
+
};
|
|
5256
|
+
readonly 'team-cmd-pending-on': {
|
|
5257
|
+
readonly zh: "profile 已开启团队,但服务没有运行:重启后生效,或服务激活失败(见日志)。";
|
|
5258
|
+
readonly en: "The profile has the team on but the service is not running: it applies after a restart, or the service failed to activate (see the log).";
|
|
5259
|
+
};
|
|
5260
|
+
readonly 'team-cmd-pending-off': {
|
|
5261
|
+
readonly zh: "profile 已关闭团队,但服务仍在运行:重启后生效。";
|
|
5262
|
+
readonly en: "The profile has the team off but the service is still running: it applies after a restart.";
|
|
5263
|
+
};
|
|
5264
|
+
readonly 'team-cmd-no-members': {
|
|
5265
|
+
readonly zh: "本会话没有 teammate。";
|
|
5266
|
+
readonly en: "No teammates in this session.";
|
|
5267
|
+
};
|
|
5268
|
+
readonly 'team-cmd-members': {
|
|
5269
|
+
readonly zh: "本会话 teammate:{{total}} 个,其中 {{active}} 个运行中或准备中。";
|
|
5270
|
+
readonly en: "Teammates in this session: {{total}}, {{active}} running or provisioning.";
|
|
5271
|
+
};
|
|
5272
|
+
readonly 'team-cmd-members-unseen': {
|
|
5273
|
+
readonly zh: "本会话 teammate:{{total}} 个,其中 {{active}} 个运行中或准备中,{{unseen}} 个可能在运行(从 teammate 会话里看不到)。";
|
|
5274
|
+
readonly en: "Teammates in this session: {{total}}, {{active}} running or provisioning, {{unseen}} may be running (not visible from a teammate).";
|
|
5275
|
+
};
|
|
5870
5276
|
readonly 'agent-view-title': {
|
|
5871
5277
|
readonly zh: "子代理转录";
|
|
5872
5278
|
readonly en: "Agent transcript";
|
|
@@ -7193,6 +6599,9 @@ declare const dict: {
|
|
|
7193
6599
|
readonly 'cmd-desc-agents': {
|
|
7194
6600
|
readonly zh: "查看本会话的子代理";
|
|
7195
6601
|
};
|
|
6602
|
+
readonly 'cmd-desc-team': {
|
|
6603
|
+
readonly zh: "团队模式:查看状态,或 on / off 开关(启停 Agent Teams bundle)";
|
|
6604
|
+
};
|
|
7196
6605
|
readonly 'cmd-desc-jobs': {
|
|
7197
6606
|
readonly zh: "查看本会话的后台任务";
|
|
7198
6607
|
};
|
|
@@ -7204,6 +6613,15 @@ declare const dict: {
|
|
|
7204
6613
|
readonly zh: "选择内核(切换后重启进入)";
|
|
7205
6614
|
readonly en: "Choose the kernel (restarts into it)";
|
|
7206
6615
|
};
|
|
6616
|
+
readonly 'cmd-desc-dsh': {
|
|
6617
|
+
readonly zh: "切换到 DSH 内核(重启进入新会话)";
|
|
6618
|
+
};
|
|
6619
|
+
readonly 'cmd-desc-codex': {
|
|
6620
|
+
readonly zh: "切换到 Codex 内核(重启进入新会话)";
|
|
6621
|
+
};
|
|
6622
|
+
readonly 'cmd-desc-claude': {
|
|
6623
|
+
readonly zh: "切换到 Claude 内核(重启进入新会话)";
|
|
6624
|
+
};
|
|
7207
6625
|
readonly 'cmd-desc-channel': {
|
|
7208
6626
|
readonly zh: "渠道档案:切换 / 导入 / 查看映射(Claude)";
|
|
7209
6627
|
readonly en: "Channel profiles: switch / import / view mappings (Claude)";
|
|
@@ -7532,13 +6950,25 @@ declare const dict: {
|
|
|
7532
6950
|
readonly zh: "已附加到输入框:{{title}}(Esc 可撤)";
|
|
7533
6951
|
readonly en: "Attached to the composer: {{title}} (Esc to remove)";
|
|
7534
6952
|
};
|
|
6953
|
+
readonly 'panel-context-detached': {
|
|
6954
|
+
readonly zh: "已从输入框撤回,不再附加到主聊天";
|
|
6955
|
+
readonly en: "Removed from the composer";
|
|
6956
|
+
};
|
|
7535
6957
|
readonly 'companion-send-title': {
|
|
7536
6958
|
readonly zh: "伙伴状态";
|
|
7537
6959
|
readonly en: "Companion status";
|
|
7538
6960
|
};
|
|
7539
6961
|
readonly 'panel-hint-focused': {
|
|
7540
|
-
readonly zh: "Esc 聊天 · ←/→ 切换
|
|
7541
|
-
readonly en: "Esc chat · ←/→ panels
|
|
6962
|
+
readonly zh: "Esc 聊天 · ←/→ 切换";
|
|
6963
|
+
readonly en: "Esc chat · ←/→ panels";
|
|
6964
|
+
};
|
|
6965
|
+
readonly 'panel-hint-send-to-chat': {
|
|
6966
|
+
readonly zh: "s 送聊天";
|
|
6967
|
+
readonly en: "s to chat";
|
|
6968
|
+
};
|
|
6969
|
+
readonly 'panel-hint-zoom-width': {
|
|
6970
|
+
readonly zh: "z 缩放 · +/- 调宽";
|
|
6971
|
+
readonly en: "z zoom · +/- width";
|
|
7542
6972
|
};
|
|
7543
6973
|
readonly 'panel-hint-unfocused': {
|
|
7544
6974
|
readonly zh: "Ctrl+B 聚焦侧栏";
|
|
@@ -7592,6 +7022,50 @@ declare const dict: {
|
|
|
7592
7022
|
readonly zh: "打开该面板";
|
|
7593
7023
|
readonly en: "Open this panel";
|
|
7594
7024
|
};
|
|
7025
|
+
readonly 'sugg-plugin-list-desc': {
|
|
7026
|
+
readonly zh: "列出你装的额外插件";
|
|
7027
|
+
readonly en: "List the plugins this profile added";
|
|
7028
|
+
};
|
|
7029
|
+
readonly 'sugg-plugin-info-desc': {
|
|
7030
|
+
readonly zh: "查单个条目或待装 spec";
|
|
7031
|
+
readonly en: "Describe an installed plugin or an install spec";
|
|
7032
|
+
};
|
|
7033
|
+
readonly 'sugg-plugin-registries-desc': {
|
|
7034
|
+
readonly zh: "查看安装源";
|
|
7035
|
+
readonly en: "Show where installations ask";
|
|
7036
|
+
};
|
|
7037
|
+
readonly 'sugg-plugin-check-desc': {
|
|
7038
|
+
readonly zh: "校验清单,不安装";
|
|
7039
|
+
readonly en: "Validate a manifest without installing it";
|
|
7040
|
+
};
|
|
7041
|
+
readonly 'sugg-plugin-install-desc': {
|
|
7042
|
+
readonly zh: "把这个插件装进当前 profile";
|
|
7043
|
+
readonly en: "Install a plugin bundle into this profile";
|
|
7044
|
+
};
|
|
7045
|
+
readonly 'sugg-plugin-remove-desc': {
|
|
7046
|
+
readonly zh: "把这个插件从 profile 卸载";
|
|
7047
|
+
readonly en: "Uninstall a plugin bundle from this profile";
|
|
7048
|
+
};
|
|
7049
|
+
readonly 'sugg-plugin-enable-desc': {
|
|
7050
|
+
readonly zh: "重新启用一个 bundle 或行";
|
|
7051
|
+
readonly en: "Switch a plugin bundle or row back on";
|
|
7052
|
+
};
|
|
7053
|
+
readonly 'sugg-plugin-disable-desc': {
|
|
7054
|
+
readonly zh: "关闭一个 bundle 或行";
|
|
7055
|
+
readonly en: "Switch a plugin bundle or row off";
|
|
7056
|
+
};
|
|
7057
|
+
readonly 'sugg-plugin-spec-path-desc': {
|
|
7058
|
+
readonly zh: "示例:本地目录或仓库路径";
|
|
7059
|
+
readonly en: "Example: a local directory";
|
|
7060
|
+
};
|
|
7061
|
+
readonly 'sugg-plugin-spec-git-desc': {
|
|
7062
|
+
readonly zh: "示例:git 仓库 URL";
|
|
7063
|
+
readonly en: "Example: a git URL";
|
|
7064
|
+
};
|
|
7065
|
+
readonly 'sugg-plugin-spec-package-desc': {
|
|
7066
|
+
readonly zh: "示例:registry 包名(@版本 可钉死)";
|
|
7067
|
+
readonly en: "Example: a registry package, @version pins it";
|
|
7068
|
+
};
|
|
7595
7069
|
readonly 'panel-unavailable-hint': {
|
|
7596
7070
|
readonly zh: "侧栏需要全屏且内容区 ≥93 列;该面板没有整屏形态";
|
|
7597
7071
|
readonly en: "Sidebar needs fullscreen and ≥93 content columns; this panel has no fullscreen form";
|
|
@@ -7641,8 +7115,8 @@ declare const dict: {
|
|
|
7641
7115
|
readonly 'cmd-desc-skills': {
|
|
7642
7116
|
readonly zh: "列出所有可用技能";
|
|
7643
7117
|
};
|
|
7644
|
-
readonly 'cmd-desc-
|
|
7645
|
-
readonly zh: "
|
|
7118
|
+
readonly 'cmd-desc-plugin': {
|
|
7119
|
+
readonly zh: "插件诊断;`list` 列你装的额外插件,`info` 查单个条目或待装 spec";
|
|
7646
7120
|
};
|
|
7647
7121
|
readonly 'cmd-desc-update': {
|
|
7648
7122
|
readonly zh: "更新 dsh-tui 并重启";
|
|
@@ -7886,17 +7360,13 @@ declare const dict: {
|
|
|
7886
7360
|
readonly en: "Codex";
|
|
7887
7361
|
};
|
|
7888
7362
|
readonly 'kernel-login-in-session': {
|
|
7889
|
-
readonly zh: "未登录
|
|
7890
|
-
readonly en: "Not signed in
|
|
7363
|
+
readonly zh: "未登录";
|
|
7364
|
+
readonly en: "Not signed in";
|
|
7891
7365
|
};
|
|
7892
7366
|
readonly 'kernel-unavailable-not-installed': {
|
|
7893
7367
|
readonly zh: "未安装";
|
|
7894
7368
|
readonly en: "Not installed";
|
|
7895
7369
|
};
|
|
7896
|
-
readonly 'kernel-unavailable-auth-missing': {
|
|
7897
|
-
readonly zh: "未登录";
|
|
7898
|
-
readonly en: "Not signed in";
|
|
7899
|
-
};
|
|
7900
7370
|
readonly 'kernel-unavailable-too-old': {
|
|
7901
7371
|
readonly zh: "版本过旧 · 需升级";
|
|
7902
7372
|
readonly en: "Too old · upgrade needed";
|
|
@@ -7961,6 +7431,22 @@ declare const dict: {
|
|
|
7961
7431
|
readonly zh: "上次选择的 {{name}} 内核启动失败,已先以 DSH 内核启动:{{reason}}";
|
|
7962
7432
|
readonly en: "The remembered {{name}} kernel failed to start; booted on DSH instead: {{reason}}";
|
|
7963
7433
|
};
|
|
7434
|
+
readonly 'resume-target-revoked': {
|
|
7435
|
+
readonly zh: "无法恢复上次会话:它由「{{from}}」后端记录,而本次启动使用的是「{{kernel}}」后端。启动恢复只针对所选后端——要恢复「{{from}}」记下的那条:dsh-tui --backend {{from}} --resume;要恢复本次所选后端自己的上次会话:dsh-tui --backend {{kernelId}} --resume;也可以去掉 --resume 重新启动。";
|
|
7436
|
+
readonly en: "Cannot resume the last session: it was recorded by the \"{{from}}\" backend while this launch runs on \"{{kernel}}\". Startup recovery only ever targets the selected backend — to reopen the session \"{{from}}\" recorded: `dsh-tui --backend {{from}} --resume`; to reopen the last session of this launch's backend: `dsh-tui --backend {{kernelId}} --resume`; or drop --resume to start fresh.";
|
|
7437
|
+
};
|
|
7438
|
+
readonly 'resume-target-revoked-uninstalled': {
|
|
7439
|
+
readonly zh: "无法恢复上次会话:它由「{{from}}」后端记录,而该后端本次启动未安装(或已不在此 profile 的注册表里),本次启动使用的是「{{kernel}}」后端。恢复它要先装上该后端,再运行 dsh-tui --backend {{from}} --resume;或去掉 --resume 重新启动。";
|
|
7440
|
+
readonly en: "Cannot resume the last session: it was recorded by the \"{{from}}\" backend, which is not installed for this launch (or is no longer in this profile's registry), while this launch runs on \"{{kernel}}\". Resuming it needs that backend installed first, then `dsh-tui --backend {{from}} --resume`; or drop --resume to start fresh.";
|
|
7441
|
+
};
|
|
7442
|
+
readonly 'resume-target-revoked-retry': {
|
|
7443
|
+
readonly zh: "安全模式重试:忽略由「{{from}}」后端记录的上次会话(本次启动用的是「{{kernel}}」),按冷启动继续。";
|
|
7444
|
+
readonly en: "Safe-mode retry: ignoring the last session recorded by the \"{{from}}\" backend (this launch runs on \"{{kernel}}\") and continuing with a cold start.";
|
|
7445
|
+
};
|
|
7446
|
+
readonly 'resume-backend-unavailable': {
|
|
7447
|
+
readonly zh: "无法恢复会话:本次启动指定的后端「{{backend}}」不可用(未安装或 id 不合法;已注册:{{installed}}),而要恢复的会话「{{session}}」属于它。回落 DSH 只会把别的后端的会话 id 交给 dsh,因此本次启动失败——装上该后端后重试,或去掉 --resume 重新启动。";
|
|
7448
|
+
readonly en: "Cannot resume: the backend named for this launch, \"{{backend}}\", is unavailable (not installed, or not a valid id; registered: {{installed}}), and the session \"{{session}}\" belongs to it. Falling back to DSH would only hand another backend's session id to dsh, so this launch fails — install the backend and retry, or drop --resume to start fresh.";
|
|
7449
|
+
};
|
|
7964
7450
|
readonly 'kernel-pinned-hint': {
|
|
7965
7451
|
readonly zh: "启动参数已指定内核:本次会按你的选择重启,下次直接启动仍按参数进入。";
|
|
7966
7452
|
readonly en: "A startup flag pins the kernel: this restart follows your choice, a later direct launch follows the flag.";
|
|
@@ -7970,20 +7456,20 @@ declare const dict: {
|
|
|
7970
7456
|
readonly en: "Not installed · Enter to install";
|
|
7971
7457
|
};
|
|
7972
7458
|
readonly 'sdk-install-title': {
|
|
7973
|
-
readonly zh: "
|
|
7974
|
-
readonly en: "Install
|
|
7459
|
+
readonly zh: "安装内核依赖";
|
|
7460
|
+
readonly en: "Install kernel dependencies";
|
|
7975
7461
|
};
|
|
7976
7462
|
readonly 'sdk-install-confirm-what': {
|
|
7977
|
-
readonly zh: "将安装
|
|
7978
|
-
readonly en: "This installs
|
|
7463
|
+
readonly zh: "将安装 {{specifier}}(验证版本:{{version}})";
|
|
7464
|
+
readonly en: "This installs {{specifier}} (validated version: {{version}})";
|
|
7979
7465
|
};
|
|
7980
7466
|
readonly 'sdk-install-confirm-where': {
|
|
7981
7467
|
readonly zh: "安装位置:{{dir}}";
|
|
7982
7468
|
readonly en: "Install location: {{dir}}";
|
|
7983
7469
|
};
|
|
7984
7470
|
readonly 'sdk-install-confirm-note': {
|
|
7985
|
-
readonly zh: "
|
|
7986
|
-
readonly en: "Installs only into the
|
|
7471
|
+
readonly zh: "只安装到当前 profile 目录。需要网络与 pnpm。";
|
|
7472
|
+
readonly en: "Installs only into the current profile directory. Needs network and pnpm.";
|
|
7987
7473
|
};
|
|
7988
7474
|
readonly 'sdk-install-confirm-hint': {
|
|
7989
7475
|
readonly zh: "**Enter** 安装 · Esc 返回";
|
|
@@ -8002,8 +7488,12 @@ declare const dict: {
|
|
|
8002
7488
|
readonly en: "Esc to cancel";
|
|
8003
7489
|
};
|
|
8004
7490
|
readonly 'sdk-install-done': {
|
|
8005
|
-
readonly zh: "
|
|
8006
|
-
readonly en: "
|
|
7491
|
+
readonly zh: "依赖安装完成,返回内核选择查看可用状态。";
|
|
7492
|
+
readonly en: "Dependencies installed. Return to the kernel picker to check availability.";
|
|
7493
|
+
};
|
|
7494
|
+
readonly 'sdk-install-rebuilt': {
|
|
7495
|
+
readonly zh: "检测到 pnpm store 漂移,已自动重建依赖后装好。";
|
|
7496
|
+
readonly en: "pnpm store drift detected — dependencies were rebuilt automatically.";
|
|
8007
7497
|
};
|
|
8008
7498
|
readonly 'sdk-install-done-hint': {
|
|
8009
7499
|
readonly zh: "**Enter** 返回内核选择 · Esc 关闭";
|
|
@@ -8073,14 +7563,6 @@ declare const dict: {
|
|
|
8073
7563
|
readonly zh: "回合运行中,无法切换或改动渠道";
|
|
8074
7564
|
readonly en: "Cannot switch or change channels while a turn is running";
|
|
8075
7565
|
};
|
|
8076
|
-
readonly 'channel-conn-settings-mismatch': {
|
|
8077
|
-
readonly zh: "settings.json 的 ANTHROPIC_BASE_URL 与当前渠道 {{name}} 不一致;本会话按渠道配置连接(settings.json 不改,直接运行 claude 时仍按它)";
|
|
8078
|
-
readonly en: "The ANTHROPIC_BASE_URL in settings.json differs from the active channel {{name}}; this session connects as the channel says (settings.json is left as is for running claude directly)";
|
|
8079
|
-
};
|
|
8080
|
-
readonly 'channel-conn-creds-superseded': {
|
|
8081
|
-
readonly zh: "本会话使用渠道凭据,settings.json 里的 {{keys}} 本次不生效(settings.json 不改,直接运行 claude 时仍会用到)";
|
|
8082
|
-
readonly en: "This session uses the channel credential; {{keys}} from settings.json do not apply (settings.json is left as is for running claude directly)";
|
|
8083
|
-
};
|
|
8084
7566
|
readonly 'channel-switched': {
|
|
8085
7567
|
readonly zh: "已切换到 {{name}},模型显示已刷新";
|
|
8086
7568
|
readonly en: "Switched to {{name}}; the model display refreshed";
|
|
@@ -8632,6 +8114,46 @@ declare const dict: {
|
|
|
8632
8114
|
readonly 'cmd-desc-setup': {
|
|
8633
8115
|
readonly zh: "重跑首次引导(API Key / 语言主题 / 模型工作区 / 快捷键)";
|
|
8634
8116
|
};
|
|
8117
|
+
readonly 'capability-failed': Readonly<{
|
|
8118
|
+
zh: "{{name}} 失败 · {{err}}";
|
|
8119
|
+
en: "{{name}} failed · {{err}}";
|
|
8120
|
+
}>;
|
|
8121
|
+
readonly 'status-rate-limit-five-hour': Readonly<{
|
|
8122
|
+
zh: "5小时";
|
|
8123
|
+
en: "5h";
|
|
8124
|
+
}>;
|
|
8125
|
+
readonly 'status-rate-limit-seven-day': Readonly<{
|
|
8126
|
+
zh: "7天";
|
|
8127
|
+
en: "7d";
|
|
8128
|
+
}>;
|
|
8129
|
+
readonly 'doctor-unknown': Readonly<{
|
|
8130
|
+
zh: "未知";
|
|
8131
|
+
en: "unknown";
|
|
8132
|
+
}>;
|
|
8133
|
+
readonly 'effort-invalid': Readonly<{
|
|
8134
|
+
zh: "未知推理等级 {{id}}(当前模型可选:{{ids}})";
|
|
8135
|
+
en: "Unknown reasoning effort {{id}} (this model offers: {{ids}})";
|
|
8136
|
+
}>;
|
|
8137
|
+
readonly 'tool-name-bash': Readonly<{
|
|
8138
|
+
zh: "Bash";
|
|
8139
|
+
en: "Bash";
|
|
8140
|
+
}>;
|
|
8141
|
+
readonly 'tool-name-edit': Readonly<{
|
|
8142
|
+
zh: "编辑";
|
|
8143
|
+
en: "Edit";
|
|
8144
|
+
}>;
|
|
8145
|
+
readonly 'rewind-first-message': Readonly<{
|
|
8146
|
+
zh: "不能回退到第一条消息之前";
|
|
8147
|
+
en: "Cannot rewind past the very first message";
|
|
8148
|
+
}>;
|
|
8149
|
+
readonly 'rename-failed': Readonly<{
|
|
8150
|
+
zh: "重命名失败 · {{err}}";
|
|
8151
|
+
en: "Rename failed · {{err}}";
|
|
8152
|
+
}>;
|
|
8153
|
+
readonly 'rename-usage': Readonly<{
|
|
8154
|
+
zh: "用法 /rename <新名称>";
|
|
8155
|
+
en: "Usage /rename <new title>";
|
|
8156
|
+
}>;
|
|
8635
8157
|
};
|
|
8636
8158
|
export type I18nKey = keyof typeof dict;
|
|
8637
8159
|
export type I18nParams = Record<string, string | number>;
|