@deepseek-harness-tui/dsh-tui 0.14.0 → 0.15.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 +73 -14
- 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 +34 -7
- package/guide/dsh-tui-guide/codex-backend.md +17 -2
- package/guide/dsh-tui-guide/configuration.en.md +129 -16
- package/guide/dsh-tui-guide/configuration.md +110 -14
- package/guide/dsh-tui-guide/interaction.en.md +57 -24
- package/guide/dsh-tui-guide/interaction.md +42 -19
- package/guide/dsh-tui-guide/plugins.en.md +36 -3
- package/guide/dsh-tui-guide/plugins.md +21 -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 +51 -20
- package/guide/dsh-tui-guide/user-guide.md +41 -21
- package/lib/settings.json +103 -9
- 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 +3 -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-settings.d.ts +9 -0
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +50 -12
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +21 -0
- package/lib/types/adapter/ports/channel-view.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/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/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/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 +66 -34
- 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.js +4 -4
- 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/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/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 +5 -0
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +47 -8
- 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 +20 -6
- 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.map +1 -1
- package/lib/types/components/LogoV2.js +9 -6
- 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 +18 -5
- 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/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 +58 -118
- 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/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.map +1 -1
- package/lib/types/components/launchpadLayout.js +2 -2
- 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/SidePanelColumn.d.ts +1 -1
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
- package/lib/types/components/sidePanel/SidePanelColumn.js +2 -1
- 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/btw/BtwComposer.d.ts +4 -2
- package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwComposer.js +12 -4
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +59 -15
- package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadScene.js +4 -2
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadView.js +12 -6
- package/lib/types/components/sidePanel/companion/CompanionPanel.js +2 -2
- package/lib/types/components/sidePanel/types.d.ts +1 -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/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/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 +20 -0
- package/lib/types/dsh-adapter/admission-loader.d.ts.map +1 -0
- package/lib/types/dsh-adapter/admission-loader.js +256 -0
- package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -1
- package/lib/types/dsh-adapter/backend/translate.js +3 -0
- 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-contribution.d.ts +26 -0
- package/lib/types/dsh-adapter/backend-contribution.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-contribution.js +37 -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 +285 -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 +92 -46
- 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 +16 -3
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +18 -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 +16 -0
- 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 +7 -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 +3 -0
- 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 +318 -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 +41 -22
- 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 +1 -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 +138 -8
- 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 +40 -28
- 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/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 +56 -27
- package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-resume.js +15 -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 +2 -2
- package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/settings-host.js +1 -0
- package/lib/types/dsh-adapter/channel/state.d.ts +37 -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 +66 -6
- 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 +1 -1
- package/lib/types/dsh-adapter/channel/transcript.js +1 -1
- 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/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 +1 -1
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +15 -0
- package/lib/types/dsh-adapter/entry-slot.d.ts +36 -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 +221 -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 +53 -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 +76 -0
- package/lib/types/dsh-adapter/host-dsh.d.ts +106 -0
- package/lib/types/dsh-adapter/host-dsh.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-dsh.js +466 -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 +228 -0
- package/lib/types/dsh-adapter/index.d.ts +55 -18
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +59 -7
- 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/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/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 +35 -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 +21 -0
- package/lib/types/dsh-adapter/plugin-declaration.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-declaration.js +53 -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-manager.d.ts +68 -0
- package/lib/types/dsh-adapter/plugin-manager.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-manager.js +51 -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 +870 -233
- package/lib/types/dsh-adapter/plugins-info.d.ts +44 -8
- package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugins-info.js +354 -34
- 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-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/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 +110 -8
- 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/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 +363 -1432
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +155 -385
- 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/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 +129 -16
- 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/permissionPrefs.d.ts +34 -0
- package/lib/types/permissionPrefs.d.ts.map +1 -0
- package/lib/types/permissionPrefs.js +61 -0
- package/lib/types/plugin-host.d.ts +1 -0
- package/lib/types/plugin-host.d.ts.map +1 -1
- 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 +22 -15
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +442 -272
- package/lib/types/screens/Launchpad.d.ts +27 -17
- package/lib/types/screens/Launchpad.d.ts.map +1 -1
- package/lib/types/screens/Launchpad.js +241 -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 +6 -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/chatOverlay.d.ts +11 -4
- 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/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/package.json +36 -6
- package/presets/winbash.mjs +716 -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/cordis.patch.yml
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# restates every key it owns (see the dsh-base patch for the shared
|
|
8
8
|
# defaults). The dsh-base core rows that need no dsh-tui value — tools,
|
|
9
9
|
# sandbox/approval policy, skills, goal, plan mode, workspace context,
|
|
10
|
-
# telemetry — are inherited
|
|
10
|
+
# telemetry — are inherited unchanged.
|
|
11
11
|
|
|
12
12
|
# ── surface-specific values over the dsh-base layer ─────────────────────────
|
|
13
13
|
|
|
@@ -54,53 +54,6 @@
|
|
|
54
54
|
config:
|
|
55
55
|
agents: []
|
|
56
56
|
|
|
57
|
-
# Preserve the TUI's opt-in privacy stance across the 0.1.2 base default
|
|
58
|
-
# change to FEEDBACK_ONLY. An explicit DSH_TELEMETRY_MODE still wins. This
|
|
59
|
-
# restates the whole 0.1.2 config because include patches replace config
|
|
60
|
-
# objects rather than merging them. The 0.2.0 base moved the collector to
|
|
61
|
-
# dsh-otel-collector and added maxRequestBytes; older cohorts keep the
|
|
62
|
-
# endpoint (and the key set) their base shipped, so both follow the
|
|
63
|
-
# installed package version.
|
|
64
|
-
- id: session-telemetry-otel
|
|
65
|
-
config: !!js >-
|
|
66
|
-
(() => {
|
|
67
|
-
let url = 'https://dsh-otel-collector.deepseeksvc.com/v1/logs'
|
|
68
|
-
let modern = false
|
|
69
|
-
try {
|
|
70
|
-
const require = process.getBuiltinModule('node:module').createRequire(ctx.baseUrl)
|
|
71
|
-
const fs = process.getBuiltinModule('node:fs')
|
|
72
|
-
const manifest = require.resolve('@deepseek-ai/dsh-session-telemetry-otel/package.json')
|
|
73
|
-
const version = String(JSON.parse(fs.readFileSync(manifest, 'utf8')).version ?? '')
|
|
74
|
-
const match = /^(\d+)\.(\d+)\./u.exec(version)
|
|
75
|
-
modern = match === null || Number(match[1]) > 0 || Number(match[2]) >= 2
|
|
76
|
-
if (!modern) url = 'https://harness-telemetry.deepseeksvc.com/v1/logs'
|
|
77
|
-
} catch {}
|
|
78
|
-
return {
|
|
79
|
-
mode: process.env.DSH_TELEMETRY_MODE || 'DISABLED',
|
|
80
|
-
shutdownTimeoutMillis: 3000,
|
|
81
|
-
// 0.2.0's base config caps one request at 4 MB; the older plugin's
|
|
82
|
-
// schema has no such key, so only a probed 0.2+ host gets it.
|
|
83
|
-
...(modern ? { maxRequestBytes: 4000000 } : {}),
|
|
84
|
-
exporter: {
|
|
85
|
-
url: process.env.DSH_TELEMETRY_OTLP_URL ?? url,
|
|
86
|
-
compression: 'gzip',
|
|
87
|
-
timeoutMillis: 1000,
|
|
88
|
-
},
|
|
89
|
-
processor: {
|
|
90
|
-
scheduledDelayMillis: 10000,
|
|
91
|
-
maxQueueSize: 2048,
|
|
92
|
-
maxExportBatchSize: 2048,
|
|
93
|
-
exportTimeoutMillis: 1500,
|
|
94
|
-
},
|
|
95
|
-
}
|
|
96
|
-
})()
|
|
97
|
-
|
|
98
|
-
# The 0.1.2 base sends the active Loader package inventory on official
|
|
99
|
-
# DeepSeek requests by default. TUI keeps that diagnostic metadata opt-in.
|
|
100
|
-
- id: plugin-package-inventory-deepseek
|
|
101
|
-
config:
|
|
102
|
-
enabled: false
|
|
103
|
-
|
|
104
57
|
# ── agent presets (issue #8) ────────────────────────────────────────────────
|
|
105
58
|
#
|
|
106
59
|
# The model-facing plugin set moves INTO the preset registry: every
|
|
@@ -218,7 +171,9 @@
|
|
|
218
171
|
|
|
219
172
|
# Windows has no sandbox confinement backend yet (sandbox-local's win32
|
|
220
173
|
# chain is empty); use danger-full-access on Windows so bash commands can
|
|
221
|
-
# run. Other platforms keep the base workspace-write default.
|
|
174
|
+
# run. Other platforms keep the base workspace-write default. DSH_PERMISSION_MODE
|
|
175
|
+
# is the INITIAL state of a launch — the remembered /permission pick
|
|
176
|
+
# (~/.dsh-tui/permission.json) outranks it whenever it is not set.
|
|
222
177
|
- id: sandbox-policy
|
|
223
178
|
config:
|
|
224
179
|
mode: !!js "process.platform === 'win32' ? 'danger-full-access' : (process.env.DSH_PERMISSION_MODE ?? 'workspace-write')"
|
|
@@ -467,6 +422,9 @@
|
|
|
467
422
|
# open. (The comment sits below the inject line:
|
|
468
423
|
# verify-workspace-attachment.mjs asserts the name→inject distance.)
|
|
469
424
|
config:
|
|
425
|
+
# `provider` + `model` are the deployment DEFAULT route (used until a
|
|
426
|
+
# `/model` pick is persisted in ~/.dsh-tui/model.json, which then wins
|
|
427
|
+
# whole); a half-pinned pair is ignored outright (issue #67).
|
|
470
428
|
provider: deepseek-official
|
|
471
429
|
# Alt-screen fullscreen 布局:应用内鼠标选区(选择即复制, OSC 52 +
|
|
472
430
|
# wl-copy/xclip/xsel 兜底)、滚轮滚动、双击选词/三击选行。出厂默认开启,
|
|
@@ -479,10 +437,15 @@
|
|
|
479
437
|
terminalImages: true
|
|
480
438
|
# diffLayout: auto
|
|
481
439
|
# mermaidDiagrams: true
|
|
440
|
+
# 任务完成通知:off / unfocused(默认)/ always;方式:auto(默认)/ osc9 / bel。
|
|
441
|
+
# taskNotifications: unfocused
|
|
442
|
+
# notificationMethod: auto
|
|
482
443
|
# 回复中 LaTeX 公式的显示方式:auto(默认,目前为 Unicode)/ image(支持图形的终端里块级公式显示为图片)/ unicode / source(保留源码)。/settings 可实时改。
|
|
483
444
|
# mathRendering: auto
|
|
484
445
|
# 每个请求实际生效的推理强度,按当前路由的 adapter 档位校验
|
|
485
446
|
#(deepseek: off/low/high/max);非法值回落 adapter 默认。
|
|
447
|
+
# 这是部署默认值:上一次 /effort 的持久化选择(~/.dsh-tui/effort.json)
|
|
448
|
+
# 优先于它,它只决定"还没有选择过"的会话。
|
|
486
449
|
effort: max
|
|
487
450
|
# Shift+Tab session-mode cycle (array order IS the cycle order;
|
|
488
451
|
# absent → the built-in default/plan/full trio below). Each entry
|
|
@@ -503,9 +466,10 @@
|
|
|
503
466
|
# plan: false
|
|
504
467
|
# sandbox: danger-full-access
|
|
505
468
|
# approval: never
|
|
506
|
-
#
|
|
507
|
-
#
|
|
508
|
-
#
|
|
469
|
+
# Deployment default for the Agent preset: the persisted `/preset`
|
|
470
|
+
# preference (~/.dsh-tui/agent-preset.json) outranks it, and
|
|
471
|
+
# DSH_TUI_PRESET (this run's explicit instruction) outranks both; the
|
|
472
|
+
# roster default (standard) closes the chain.
|
|
509
473
|
preset: !!js process.env.DSH_TUI_PRESET ?? undefined
|
|
510
474
|
workspace: !!js process.env.DSH_TUI_WORKSPACE_TARGET ?? undefined
|
|
511
475
|
sessionId: !!js process.env.DSH_TUI_RESUME_SESSION ?? undefined
|
package/cordis.yml
CHANGED
|
@@ -64,12 +64,16 @@
|
|
|
64
64
|
# 以下为 /settings 可改的显示设置;每项说明与默认值见应用内 /settings 屏。
|
|
65
65
|
terminalImages: true
|
|
66
66
|
# mermaidDiagrams: true
|
|
67
|
+
# 任务完成通知:off / unfocused(默认)/ always;方式:auto(默认)/ osc9 / bel。
|
|
68
|
+
# taskNotifications: unfocused
|
|
69
|
+
# notificationMethod: auto
|
|
67
70
|
# 回复中 LaTeX 公式的显示方式:auto(默认,目前为 Unicode)/ image(支持图形的终端里块级公式显示为图片)/ unicode / source(保留源码)。/settings 可实时改。
|
|
68
71
|
# mathRendering: auto
|
|
69
72
|
# Reasoning effort applied to every request, validated against the live
|
|
70
73
|
# route's adapter levels. An unlisted level falls back to the adapter
|
|
71
|
-
# default
|
|
72
|
-
#
|
|
74
|
+
# default. This is the deployment DEFAULT for sessions that carry no
|
|
75
|
+
# choice of their own: the persisted /effort pick (last session's level)
|
|
76
|
+
# outranks it, and it seeds the startup header/statusline.
|
|
73
77
|
effort: max
|
|
74
78
|
# Shift+Tab 会话模式循环(数组顺序即循环顺序;缺省为下面三档)。
|
|
75
79
|
# 每档可声明 plan(计划模式开/关)、sandbox(read-only/
|
|
@@ -18,7 +18,13 @@ You need:
|
|
|
18
18
|
entry or `/kernel`) and press Enter on the dim Claude row — the wizard
|
|
19
19
|
locates the profile directory and installs the pinned SDK via pnpm; the row
|
|
20
20
|
lights up when it finishes (standalone builds and profile-less launches get
|
|
21
|
-
manual instructions).
|
|
21
|
+
manual instructions). Before installing, the wizard pins the profile's pnpm
|
|
22
|
+
store to a stable path (storeDir: ../../.pnpm-store, written into
|
|
23
|
+
pnpm-workspace.yaml), so store drift caused by environment overrides (a
|
|
24
|
+
sandbox or relay that redirected XDG_DATA_HOME, and the like) cannot recur;
|
|
25
|
+
if the drift predates the install, the installer rebuilds the dependencies
|
|
26
|
+
automatically and retries — no manual cleanup needed. The manual equivalent,
|
|
27
|
+
run once in the dsh-tui profile
|
|
22
28
|
directory (`~/.dsh/profiles/dsh-tui`, or `$DSH_HOME/profiles/dsh-tui` when
|
|
23
29
|
`DSH_HOME` is set):
|
|
24
30
|
|
|
@@ -27,9 +33,16 @@ You need:
|
|
|
27
33
|
```
|
|
28
34
|
|
|
29
35
|
- A Claude credential; see "Signing in" below.
|
|
30
|
-
- The `claude` command is optional:
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
- The `claude` command is optional: dsh-TUI probes an **explicitly specified
|
|
37
|
+
executable path** (an environment variable, used as set, with no version check;
|
|
38
|
+
the variable name is in [Agent backends](agent-backend-design.md) (Chinese)) → a
|
|
39
|
+
`claude` on `PATH` → the native installer's directory under your home
|
|
40
|
+
(`%USERPROFILE%\.local\bin\claude.exe` on Windows, `~/.local/bin/claude` on
|
|
41
|
+
POSIX), and a `PATH` hit still wins; every candidate has to launch and report a
|
|
42
|
+
version before it is adopted (same version and session store as the CLI you
|
|
43
|
+
already use), and only when none does is the SDK's bundled binary used. When the
|
|
44
|
+
SDK is missing but a local Claude Code exists, the install wizard's confirmation
|
|
45
|
+
pane reports the CLI it found.
|
|
33
46
|
|
|
34
47
|
To pick the backend, use any of:
|
|
35
48
|
|
|
@@ -37,8 +50,13 @@ To pick the backend, use any of:
|
|
|
37
50
|
`/kernel` inside a session, which open the kernel picker. Picking the other
|
|
38
51
|
kernel remembers the choice (`~/.dsh-tui/kernel.json`) and restarts dsh-TUI
|
|
39
52
|
into a new session on it; the old session stays in `/resume`. A running turn
|
|
40
|
-
blocks the switch. Without the SDK
|
|
41
|
-
|
|
53
|
+
blocks the switch. Without the SDK the picker marks Claude as *Not installed*;
|
|
54
|
+
an undetected credential does **not** block the pick — a key may perfectly well
|
|
55
|
+
live where detection cannot see it (the Claude settings' `env`, an
|
|
56
|
+
`apiKeyHelper`, a relay channel). The row stays selectable (the bottom-right
|
|
57
|
+
plate never shows sign-in state; the picker's subtitle says *Not signed in*).
|
|
58
|
+
The CLI applies its own configuration after start; `/login` covers a
|
|
59
|
+
subscription sign-in in-session, `/channel` the relay route.
|
|
42
60
|
- `dsh-tui --backend claude` (this launch only).
|
|
43
61
|
- `backend: claude` in the dsh-tui config row.
|
|
44
62
|
|
|
@@ -98,7 +116,7 @@ Works, served by Claude:
|
|
|
98
116
|
Not available (hidden from completion; typing one shows a notice and nothing is
|
|
99
117
|
sent to the model): `/tree`, `/agentview`, `/bg`, `/home`, `/workspace`,
|
|
100
118
|
`/preset`, `/provider`, `/balance`, `/config`, `/reload`,
|
|
101
|
-
`/setup`, `/migrate`, `/skills`, `/
|
|
119
|
+
`/setup`, `/migrate`, `/skills`, `/plugin`, `/hooks`, `/add-dir`,
|
|
102
120
|
`/goal` (Claude has no goal capability). Other commands the DSH composition
|
|
103
121
|
registers (such as `/plan`) do not appear either.
|
|
104
122
|
|
|
@@ -151,6 +169,12 @@ a notice, so a cloned repository cannot silently switch off every check.
|
|
|
151
169
|
conversation continues), `Ctrl+R` renames, `Ctrl+D` deletes; the open session and
|
|
152
170
|
one another dsh-TUI terminal is using cannot be deleted. Pins are kept per
|
|
153
171
|
backend.
|
|
172
|
+
Reopening or restarting first paints the last complete list while the SDK refreshes it.
|
|
173
|
+
First-paint snapshots are isolated by Claude configuration directory. Without a snapshot,
|
|
174
|
+
up to 32 recent sessions from the SDK's default project scope appear first, including
|
|
175
|
+
the current directory and Git worktrees in the same repository, then the complete
|
|
176
|
+
project and other projects. A failed all-projects read retains the project's worktree
|
|
177
|
+
sessions. Failed reads preserve the last complete snapshot.
|
|
154
178
|
- From a shell: `dsh-tui --backend claude --resume <id>`; without an id it resumes
|
|
155
179
|
the last Claude session this install used. dsh-TUI prints that command on exit.
|
|
156
180
|
A session another dsh-TUI terminal has open is refused, and a `--resume` that
|
|
@@ -193,6 +217,19 @@ their prompts carried.
|
|
|
193
217
|
## Known limitations
|
|
194
218
|
|
|
195
219
|
- One dsh-TUI process runs one backend; switching restarts through `/kernel`.
|
|
220
|
+
- On Claude, `dsh-tui` starts the TUI from the package's own entry and
|
|
221
|
+
composes only a light profile (this package plus the third-party plugins the
|
|
222
|
+
profile declares, without DSH's agent core): the screen appears first and sending waits until
|
|
223
|
+
the session has opened. Until then Enter keeps the draft and says the kernel
|
|
224
|
+
is still starting, and a command-line prompt is sent once the session opens;
|
|
225
|
+
a failed open says why (the landing page closes to show it) and `/new`
|
|
226
|
+
retries. Third-party
|
|
227
|
+
DSH/Cordis plugins (themes, panels, decision hooks) load and join once the
|
|
228
|
+
screen is up; a plugin that needs DSH's own services (agents, tools, the LLM
|
|
229
|
+
layer) does not activate on this kernel. `DSH_TUI_HOST_ENTRY=0` goes back to
|
|
230
|
+
starting through `dsh --profile dsh-tui`. (The DSH kernel starts from the
|
|
231
|
+
package's entry by default too, but composes the whole DSH profile into that
|
|
232
|
+
process.)
|
|
196
233
|
- In a Claude session the side panel's workspace panel reports it is unsupported
|
|
197
234
|
and the trajectory panel stays empty.
|
|
198
235
|
- No `/add-dir`; the refusal dialog offers only *Retry* and *Cancel*; an MCP
|
|
@@ -14,7 +14,10 @@ dsh-TUI 可以把会话跑在 Claude Agent 后端上,而不是 DeepSeek Harnes
|
|
|
14
14
|
- Claude Agent SDK。它是可选依赖,默认不装。最省事的装法:打开内核选择器(启动页
|
|
15
15
|
「内核」或 `/kernel`),对未安装的 Claude 行按 Enter,按引导一键安装——dsh-TUI
|
|
16
16
|
自己定位 profile 目录,用 pnpm 装锁定版本的 SDK,装完该行即变亮可选(独立构建
|
|
17
|
-
与无 profile
|
|
17
|
+
与无 profile 的启动给手动指引)。安装前会把 profile 的 pnpm store 钉到稳定路径
|
|
18
|
+
(storeDir: ../../.pnpm-store,写入 pnpm-workspace.yaml),环境变量漂移
|
|
19
|
+
(沙箱、中转改过的 XDG_DATA_HOME 等)导致的 store 错位不再复发;万一装的时候
|
|
20
|
+
已经错位,安装器会自动重建依赖再重试,无需手动清理。手动等价形式,在 dsh-tui 的 profile 目录(默认
|
|
18
21
|
`~/.dsh/profiles/dsh-tui`,设置了 `DSH_HOME` 时是 `$DSH_HOME/profiles/dsh-tui`)
|
|
19
22
|
执行一次:
|
|
20
23
|
|
|
@@ -23,15 +26,22 @@ dsh-TUI 可以把会话跑在 Claude Agent 后端上,而不是 DeepSeek Harnes
|
|
|
23
26
|
```
|
|
24
27
|
|
|
25
28
|
- 一份 Claude 凭据,见下面的「登录」。
|
|
26
|
-
- `claude`
|
|
27
|
-
|
|
29
|
+
- `claude` 命令不是必需的:按**显式指定的可执行路径**(环境变量,设置后原样采用,不做版本校验;
|
|
30
|
+
变量名见[多后端架构](agent-backend-design.md))→ `PATH` 上的 `claude` → 用户主目录下的
|
|
31
|
+
`.local/bin`(Windows `%USERPROFILE%\.local\bin\claude.exe`、POSIX `~/.local/bin/claude`)
|
|
32
|
+
的顺序探测,`PATH` 命中的那份仍然优先;每个候选都要能启动并报出版本才会被采用(与你平时用的
|
|
33
|
+
CLI 同版本、同一个会话库),全部落空才交给 SDK 自带的二进制。SDK 没装但本机已有 Claude Code
|
|
34
|
+
时,安装向导的确认面板也会把发现的那个 CLI(版本与路径)报出来。
|
|
28
35
|
|
|
29
36
|
选择后端,任选一种:
|
|
30
37
|
|
|
31
38
|
- 启动页的「内核」入口、右下角的内核区,或在会话里输入 `/kernel`,打开内核选择器。
|
|
32
39
|
选中另一个内核后 dsh-TUI 记住选择(`~/.dsh-tui/kernel.json`)并重启,在新内核里开
|
|
33
|
-
一个新会话;原来的会话仍可在 `/resume` 找到。回合进行中不能切换。SDK
|
|
34
|
-
|
|
40
|
+
一个新会话;原来的会话仍可在 `/resume` 找到。回合进行中不能切换。SDK 没装时,选择器
|
|
41
|
+
会把 Claude 标为「未安装」;凭据检测不出**不会**拦住选择——key 完全可以放在检测看不到
|
|
42
|
+
的地方(Claude 设置的 `env`、`apiKeyHelper`、中转渠道),行仍可选(右下角铭牌不显示登录
|
|
43
|
+
状态,未登录在选择器里以副标题标注)。进去后 CLI 会应用自己的配置;订阅登录在会话里
|
|
44
|
+
`/login`,中转渠道用 `/channel` 配。
|
|
35
45
|
- `dsh-tui --backend claude`(只对这一次启动生效)。
|
|
36
46
|
- 在 dsh-tui 的配置行写 `backend: claude`。
|
|
37
47
|
|
|
@@ -81,7 +91,7 @@ IDE 选区、状态栏的 git 分支、`/clear`(只清屏,Claude 保留上
|
|
|
81
91
|
|
|
82
92
|
不可用(不出现在补全里,直接输入会提示不可用,不会发给模型):`/tree`、`/agentview`、
|
|
83
93
|
`/bg`、`/home`、`/workspace`、`/preset`、`/provider`、`/balance`、`/config`、
|
|
84
|
-
`/reload`、`/setup`、`/migrate`、`/skills`、`/
|
|
94
|
+
`/reload`、`/setup`、`/migrate`、`/skills`、`/plugin`、`/hooks`、
|
|
85
95
|
`/add-dir`、`/goal`(Claude 没有目标能力)。DSH 组合注册的其他命令(如 `/plan`)也不会出现。
|
|
86
96
|
|
|
87
97
|
启动时仍先到启动页;首启引导和工作区首页只在 DSH 下出现。带恢复目标的启动直接进入
|
|
@@ -120,6 +130,10 @@ Claude 设置 > `default`。Claude 设置里的 `defaultMode: bypassPermissions`
|
|
|
120
130
|
dsh-TUI 创建的会话也在其中(Claude Code 自己的 `/resume` 选择器不显示它们,要用
|
|
121
131
|
`claude --resume <id>` 打开)。`Enter` 恢复(先回放历史再继续),`Ctrl+R` 重命名,
|
|
122
132
|
`Ctrl+D` 删除;当前会话和另一个 dsh-TUI 终端正在用的会话不能删。置顶按后端分开保存。
|
|
133
|
+
再次打开或重启后先显示上次完整列表,同时仍从 SDK 刷新。首屏快照按 Claude 配置
|
|
134
|
+
目录隔离;没有快照时按 SDK 默认项目范围(当前工作目录及同仓库的 Git worktree)
|
|
135
|
+
先显示最近的最多 32 条,再补齐该项目及其他项目的完整列表;全部项目读取失败时
|
|
136
|
+
也保留该项目的 worktree 会话。读取失败时保留上次完整快照。
|
|
123
137
|
- 从 shell 恢复:`dsh-tui --backend claude --resume <id>`;不带 id 时恢复本机最近一次
|
|
124
138
|
用过的 Claude 会话。退出时 dsh-TUI 会打印这条命令。另一个 dsh-TUI 终端已打开的会话会
|
|
125
139
|
被拒绝;`--resume` 打不开时直接报错,不会改开新会话。状态栏的短会话 id 就是
|
|
@@ -153,6 +167,14 @@ Claude 设置 > `default`。Claude 设置里的 `defaultMode: bypassPermissions`
|
|
|
153
167
|
## 已知限制
|
|
154
168
|
|
|
155
169
|
- 一个 dsh-TUI 进程只用一个后端,切换要经 `/kernel` 重启。
|
|
170
|
+
- Claude 内核下 `dsh-tui` 从本包自己的入口启动,只组合轻量 profile(本包与 profile
|
|
171
|
+
声明的第三方插件,不含 DSH 的 agent 核心):界面先出现,
|
|
172
|
+
会话打开后才能发送:在此之前按 Enter 草稿留在原处并提示还在启动,命令行带的首句在
|
|
173
|
+
会话打开后发出;打开失败会说明原因(落地页自动收起),`/new` 重试。第三方
|
|
174
|
+
DSH/Cordis 插件(主题、面板、决策拦截)照常加载,在界面出现后加入;依赖 DSH 自身
|
|
175
|
+
服务(agent、工具、LLM 层)的插件在这个内核下不会激活。`DSH_TUI_HOST_ENTRY=0` 回到经
|
|
176
|
+
`dsh --profile dsh-tui` 启动。(DSH 内核默认也从本包入口启动,但会在同一进程里组合
|
|
177
|
+
完整的 DSH profile。)
|
|
156
178
|
- 侧栏的工作区面板在 Claude 会话下提示不支持,轨迹面板为空。
|
|
157
179
|
- 不支持 `/add-dir`;拒答对话框只有「重试」和「取消」;需要浏览器操作的 MCP 请求不会
|
|
158
180
|
自动打开浏览器。
|
|
@@ -92,6 +92,21 @@ is handed to Codex unchanged. Non-first-party routes should use their own provid
|
|
|
92
92
|
credentials or a channel key. Account status shows only credential source, subscription
|
|
93
93
|
type and host, not an email address or key.
|
|
94
94
|
|
|
95
|
+
One bridging exception: when the active provider takes its credential from an `env_key`
|
|
96
|
+
(say `DEEPSEEK_API_KEY`) that the launching environment did not export but the DSH credential
|
|
97
|
+
store declares, the stored value is injected into the app-server child after `config/read`
|
|
98
|
+
(the hub is re-acquired; the key joins the hub fingerprint through `injectedEnvKeys`). Reads
|
|
99
|
+
take the active store first (`$DSH_HOME/.credentials.yaml`, or `~/.dsh/.credentials.yaml`
|
|
100
|
+
when `DSH_HOME` is unset) and then the default `~/.dsh` store, so a `DSH_HOME` override does
|
|
101
|
+
not orphan a key stored where both READMEs name it; writes only ever target the active home. A key
|
|
102
|
+
stored once in the credential store therefore works without exporting a shell variable. The
|
|
103
|
+
value only ever travels into the spawn pipeline, never into logs, notices or events.
|
|
104
|
+
|
|
105
|
+
When nothing can supply the key, startup is **not** blocked: Codex itself rejects every turn
|
|
106
|
+
of that provider, so the runtime reports the reason once as a start notice (naming the
|
|
107
|
+
provider and the variable, never a value) — export the key, store it, or move the provider to
|
|
108
|
+
a channel.
|
|
109
|
+
|
|
95
110
|
### The three `/login` methods
|
|
96
111
|
|
|
97
112
|
| Method | Purpose and storage |
|
|
@@ -156,9 +171,11 @@ changes during a turn apply to the next one, not to reasoning already in progres
|
|
|
156
171
|
|
|
157
172
|
- **`Shift+Tab` only toggles Plan**, returning to the previous permission preset when leaving
|
|
158
173
|
it. It does not cycle into Full Access.
|
|
159
|
-
- `/plan` enters Plan; `/plan <task>` enters it and submits the task
|
|
160
|
-
permission preset
|
|
161
|
-
|
|
174
|
+
- `/plan` enters Plan; `/plan <task>` enters it and submits the task; `/plan off` returns to
|
|
175
|
+
the permission preset that was active before Plan. The `on`/`off` rows in the completion
|
|
176
|
+
menu are dsh-TUI’s own state words, not task text. Choosing an explicit permission preset
|
|
177
|
+
returns to Default collaboration. Plan does not mean all tools are forbidden: the actual
|
|
178
|
+
security boundary remains Codex’s permission policy.
|
|
162
179
|
- Defaults resolve per field: an explicit dsh-TUI choice > your Codex configuration >
|
|
163
180
|
`auto` when unset. An unreadable configuration is not overwritten with `auto`.
|
|
164
181
|
- Completed plans offer implementation, implementation with cleared context, or staying
|
|
@@ -212,6 +229,12 @@ past tokens/cost. Fresh usage notifications update the readings.
|
|
|
212
229
|
say the transcript is retained, not physically deleted. Current, occupied or active-worker
|
|
213
230
|
threads cannot be archived. The catalog lists up to 500 recent ordinary threads, excluding
|
|
214
231
|
ephemeral forks and child threads from the main list.
|
|
232
|
+
Reopening or restarting first paints the last complete list while the native catalog
|
|
233
|
+
refreshes; a cold scan shows pages as they arrive. Without a snapshot, the native state
|
|
234
|
+
database supplies up to 32 recent threads from the current workspace first, then the
|
|
235
|
+
rollout scan repairs titles and fills in that workspace followed by other workspaces;
|
|
236
|
+
an unavailable database falls back to scanning. First-paint snapshots are isolated by
|
|
237
|
+
Codex storage directory; failed or incomplete reads never replace a complete snapshot.
|
|
215
238
|
- `/rename` changes the official thread title; `/color` stores a session accent, not a global theme.
|
|
216
239
|
- `/fork` creates a resumable copy without switching. Double `Esc` or `/rewind` conversation
|
|
217
240
|
rewind creates a copy before the selected question, returns the question to the composer
|
|
@@ -265,10 +288,14 @@ Real model vision and image generation were not tested in this round.
|
|
|
265
288
|
|
|
266
289
|
usageLimited/budgetLimited goals show a blocked state and reason. Unsupported goal APIs
|
|
267
290
|
do not expose the capability. `/btw`/`/recap` use a read-only sandbox with no approval
|
|
268
|
-
escalation, request answer-only behavior and reject tool/approval requests.
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
side
|
|
291
|
+
escalation, request answer-only behavior and reject tool/approval requests. The fork never
|
|
292
|
+
carries `deferGoalContinuation` (app-servers from 0.162 reject it combined with `ephemeral`),
|
|
293
|
+
and when the thread has no rollout on disk yet (nothing persisted, e.g. a brand-new session)
|
|
294
|
+
the side call falls back to a fresh ephemeral `thread/start` — the conversation is empty in
|
|
295
|
+
exactly that state, so no context is lost. Cancellation interrupts the temporary turn and
|
|
296
|
+
unsubscribes the fork. They consume model quota, not free local summaries. Ephemeral fork
|
|
297
|
+
creation/non-persistence was checked offline; actual side-query model answers were not
|
|
298
|
+
tested in this round.
|
|
272
299
|
|
|
273
300
|
## Limitations and troubleshooting
|
|
274
301
|
|
|
@@ -75,6 +75,15 @@ thread 时,恢复保留原来的错误,不会启动后台服务或另开新
|
|
|
75
75
|
路由应使用自己的 provider 凭据或渠道 key。读取账户状态只显示凭据来源、订阅类型
|
|
76
76
|
与主机,不显示邮箱或 key。
|
|
77
77
|
|
|
78
|
+
一个桥接例外:当前 provider 用 `env_key`(如 `DEEPSEEK_API_KEY`)取凭据、启动环境没导出、
|
|
79
|
+
而 DSH 凭据库声明了该 ref 时,`config/read` 之后把库里的值注入 app-server 子进程(重取 hub,
|
|
80
|
+
key 记入 `injectedEnvKeys` 参与指纹)。读取先看活动 home 的库,再回退默认 `~/.dsh` 的库,
|
|
81
|
+
所以 `DSH_HOME` 覆盖不会让写在文档位置的 key 失联;写入只进活动 home。key 只走 spawn 管道,
|
|
82
|
+
不进日志、提示或事件。
|
|
83
|
+
|
|
84
|
+
两边都拿不到时不拦启动:Codex 自己会拒绝该 provider 的每个回合,运行时只在启动时报一次
|
|
85
|
+
原因(点名 provider 与变量名,不含值)——导出该变量、写入凭据库,或把 provider 换成渠道。
|
|
86
|
+
|
|
78
87
|
### `/login` 的三种方式
|
|
79
88
|
|
|
80
89
|
| 方式 | 用途与存储 |
|
|
@@ -130,8 +139,10 @@ Chat Completions 端点当作 Responses 使用。通过 `/channel` 选择/新建
|
|
|
130
139
|
| Plan(`plan`) | 规划协作模式;保留已有权限档,不以 Plan 替代沙箱 |
|
|
131
140
|
|
|
132
141
|
- **`Shift+Tab` 只开/关 Plan**,退出回到进入前的权限档,不循环到 Full Access。
|
|
133
|
-
- `/plan` 切到 Plan;`/plan <任务>`
|
|
134
|
-
|
|
142
|
+
- `/plan` 切到 Plan;`/plan <任务>` 切换后立刻提交任务;`/plan off` 退回进入 Plan 前的
|
|
143
|
+
权限档。补全菜单里的 `on`/`off` 是 dsh-TUI 自己的状态词,不是任务文本。选择一个具体
|
|
144
|
+
权限档会回到 Default 协作模式。Plan 不等于“所有工具都被禁止”,安全边界仍由 Codex
|
|
145
|
+
权限决定。
|
|
135
146
|
- 默认来源按字段为:dsh-TUI 中明确选过的值 > 用户 Codex 配置 > 未设置时的
|
|
136
147
|
`auto`。读取配置失败时不拿 `auto` 覆盖未知配置。
|
|
137
148
|
- 计划完成后会出现实施确认:实施、清上下文后实施、留在规划/反馈继续。清上下文
|
|
@@ -181,6 +192,10 @@ used = max(0, T - 12000)
|
|
|
181
192
|
`Ctrl+R` 改名、`Ctrl+D` **归档**;确认和完成提示都说明记录保留,不物理删除。
|
|
182
193
|
当前使用中、其他终端占用或内部 worker 活动的 thread 不能归档。目录最多列出
|
|
183
194
|
最近 500 条普通 thread,临时 fork 与子 thread 不混进主列表。
|
|
195
|
+
再次打开或重启后先显示上次完整列表,后台仍从官方目录刷新;首次读取时分页到达
|
|
196
|
+
就显示。没有快照时先从官方状态数据库显示当前工作区最近的最多 32 条,再由历史
|
|
197
|
+
扫描修正标题并补齐当前工作区及其他工作区;数据库不可用时照常扫描。首屏快照
|
|
198
|
+
按 Codex 存储目录隔离,失败或未读完的分页不会覆盖完整快照。
|
|
184
199
|
- `/rename` 改官方 thread 标题;`/color` 只保存会话强调色,不改全局主题。
|
|
185
200
|
- `/fork` 创建可恢复副本,不自动切换;双击 `Esc` 或 `/rewind` 的对话回退在
|
|
186
201
|
所选提问之前创建副本并继续,提问回到输入框、原 thread 保留。首条提问回退会
|