@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
|
@@ -1,41 +1,78 @@
|
|
|
1
1
|
/** Non-DSH backend loading, detection and startup session ownership. */
|
|
2
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
3
|
-
import type { AgentBackend, BackendHost, OpenTarget,
|
|
3
|
+
import type { AgentBackend, BackendHost, OpenTarget, SdkInstallSurface } from '../agent/backend.js';
|
|
4
4
|
import type { AgentEvent } from '../agent/events.js';
|
|
5
5
|
import type { AgentSession } from '../agent/session.js';
|
|
6
6
|
import type { KernelStatus } from '../components/kernelCatalog.js';
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The install surface of one registered backend (Stage B / B-1): the manifest's
|
|
9
|
+
* recipe with the actions of the executor that recipe names. Undefined when the
|
|
10
|
+
* entry declares no recipe, is not registered, or names an executor this host
|
|
11
|
+
* does not implement — all three are "no install surface", which the picker
|
|
12
|
+
* renders as the dim row's dead-end reason.
|
|
13
|
+
*
|
|
14
|
+
* The manifest says **what** (specifier + pin) and **which executor**; nothing
|
|
15
|
+
* here imports a backend, and nothing is resolved before the user picks a row:
|
|
16
|
+
* the entry behind that row is the one whose recipe gets run (§6 item 12).
|
|
17
|
+
*
|
|
18
|
+
* The id is a plain `string` on purpose, exactly like `getBackend`: membership is
|
|
19
|
+
* half of what this answers, so asking about an id that was never registered is a
|
|
20
|
+
* question with an answer, not a type error.
|
|
21
|
+
*/
|
|
22
|
+
export declare function installSurfaceFor(id: string): SdkInstallSurface | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The host services of one backend. Built per backend (not once for all of
|
|
25
|
+
* them) because `dataDir` is backend-scoped: `<DATA_DIR>/backends/<id>` is the
|
|
26
|
+
* only place a backend has any business writing, and the id is what names it.
|
|
27
|
+
*
|
|
28
|
+
* `locale` is a live read, not a snapshot: `/lang` switches the whole UI at
|
|
29
|
+
* runtime, and a backend's own text follows it string by string (B-3). The
|
|
30
|
+
* language union is restated by `getLang()`'s own return type, so a new
|
|
31
|
+
* shipped language fails to compile here until the domain contract knows it.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createBackendHost(ctx: Context, backendId: string, cwd: string, stderr: (line: string) => void): Promise<BackendHost>;
|
|
34
|
+
/**
|
|
35
|
+
* What the channel needs about the startup backend before its session exists,
|
|
36
|
+
* plus `start()`, which opens it (mount claim, open, history); the screen
|
|
37
|
+
* mounts in between.
|
|
38
|
+
* A resume failure rejects `start()`; no fresh session is started instead.
|
|
39
|
+
*/
|
|
40
|
+
export declare function prepareBackendStartup(ctx: Context, backend: AgentBackend, input: {
|
|
28
41
|
readonly cwd: string;
|
|
29
42
|
readonly stderr: (line: string) => void;
|
|
30
43
|
readonly configuredSessionId?: string;
|
|
31
44
|
readonly argv: readonly string[];
|
|
32
45
|
}): Promise<{
|
|
33
|
-
|
|
46
|
+
resumedSessionId: string | undefined;
|
|
34
47
|
label: string;
|
|
35
48
|
backendId: string;
|
|
49
|
+
catalog: import("../agent/backend.js").SessionCatalog | undefined;
|
|
50
|
+
sessionPrefs: import("../agent/backend.js").BackendSessionPrefs;
|
|
51
|
+
start: () => Promise<{
|
|
52
|
+
session: AgentSession;
|
|
53
|
+
initialHistory: readonly AgentEvent[];
|
|
54
|
+
}>;
|
|
55
|
+
persisted: (_sessionId: string, rows: readonly {
|
|
56
|
+
readonly kind: string;
|
|
57
|
+
}[]) => boolean;
|
|
58
|
+
resumeCommand: (sessionId: string) => string;
|
|
59
|
+
open: (target: Extract<OpenTarget, {
|
|
60
|
+
readonly kind: "create" | "resume";
|
|
61
|
+
}>) => Promise<AgentSession>;
|
|
62
|
+
}>;
|
|
63
|
+
/** Resume failures abort boot; history is read before the channel's first paint. */
|
|
64
|
+
export declare function openBackendStartup(ctx: Context, backend: AgentBackend, input: Parameters<typeof prepareBackendStartup>[2]): Promise<{
|
|
65
|
+
session: AgentSession;
|
|
36
66
|
initialHistory: readonly AgentEvent[];
|
|
67
|
+
resumedSessionId: string | undefined;
|
|
68
|
+
label: string;
|
|
69
|
+
backendId: string;
|
|
37
70
|
catalog: import("../agent/backend.js").SessionCatalog | undefined;
|
|
38
71
|
sessionPrefs: import("../agent/backend.js").BackendSessionPrefs;
|
|
72
|
+
start: () => Promise<{
|
|
73
|
+
session: AgentSession;
|
|
74
|
+
initialHistory: readonly AgentEvent[];
|
|
75
|
+
}>;
|
|
39
76
|
persisted: (_sessionId: string, rows: readonly {
|
|
40
77
|
readonly kind: string;
|
|
41
78
|
}[]) => boolean;
|
|
@@ -44,6 +81,12 @@ export declare function openBackendStartup(ctx: Context, backend: AgentBackend,
|
|
|
44
81
|
readonly kind: "create" | "resume";
|
|
45
82
|
}>) => Promise<AgentSession>;
|
|
46
83
|
}>;
|
|
47
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Probe every optional backend once (`dsh` is always available and has no
|
|
86
|
+
* loader). Loading goes through the registry, so a probed backend's pool hook is
|
|
87
|
+
* booked just like an opened one's — a backend that builds its pool in `detect()`
|
|
88
|
+
* (the contract does not forbid it) is then still closed at exit. Failures leave
|
|
89
|
+
* their row unavailable instead of failing the probe.
|
|
90
|
+
*/
|
|
48
91
|
export declare function probeKernels(ctx: Context, cwd: string): Promise<Record<string, KernelStatus>>;
|
|
49
92
|
//# sourceMappingURL=backends.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/backends.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAyB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/backends.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAyB,UAAU,EAAE,iBAAiB,EAAkC,MAAM,qBAAqB,CAAA;AAC1J,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAWlE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAW3E;AAID;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAqB1I;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;IACtF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;;;;;;iBASyB,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,cAAc,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,CAAC;4BA2CvE,MAAM,QAAQ,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;+BAC/C,MAAM;mBAClB,OAAO,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,CAAC;GAG7E;AAED,oFAAoF;AACpF,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;aAnDnF,YAAY;oBAAkB,SAAS,UAAU,EAAE;;;;;;iBAAtE,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,cAAc,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,CAAC;4BA2CvE,MAAM,QAAQ,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;+BAC/C,MAAM;mBAClB,OAAO,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,CAAC;GAS7E;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAenG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED by scripts/gen-backend-index.mjs — do not edit.
|
|
3
|
+
* 2 backend manifest(s) in directory-name order (picker order):
|
|
4
|
+
* claude, codex.
|
|
5
|
+
*
|
|
6
|
+
* `pnpm compile` refreshes this file: commit the result. It is checked in
|
|
7
|
+
* because the CI test groups restore the build artifact instead of compiling, and
|
|
8
|
+
* the registry imports it from `src/` (see the generator for the whole story).
|
|
9
|
+
*/
|
|
10
|
+
import type { BackendEntry } from '../agent/backend-manifest.js';
|
|
11
|
+
export declare const GENERATED_BACKENDS: readonly BackendEntry[];
|
|
12
|
+
//# sourceMappingURL=backends.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backends.generated.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/backends.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAIhE,eAAO,MAAM,kBAAkB,EAAE,SAAS,YAAY,EAGrD,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { manifest as claudeManifest } from '../backends/claude/manifest.js';
|
|
2
|
+
import { manifest as codexManifest } from '../backends/codex/manifest.js';
|
|
3
|
+
export const GENERATED_BACKENDS = [
|
|
4
|
+
{ manifest: claudeManifest, load: () => import('../backends/claude/index.js') },
|
|
5
|
+
{ manifest: codexManifest, load: () => import('../backends/codex/index.js') },
|
|
6
|
+
];
|
|
@@ -1,40 +1,62 @@
|
|
|
1
1
|
import { formatSessionRef } from '../agent/refs.js';
|
|
2
|
+
import { getBackend, listOfferedBackends, loadBackend } from './backend-registry.js';
|
|
2
3
|
import { reserveMount, reserveNewSession } from '../sessionMounts.js';
|
|
3
4
|
import { resumeTargetFromArgv } from '../sessionHistory.js';
|
|
4
5
|
import { mountFailureText } from '../sessions/resumeFailure.js';
|
|
6
|
+
import { getLang } from '../i18n.js';
|
|
7
|
+
import { installedTuiVersion } from '../update.js';
|
|
5
8
|
import { logForDebugging } from '../utils/debug.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// boot pays nothing for having the wizard's surface at hand.
|
|
9
|
-
import { checkPnpmAvailable, CLAUDE_SDK_SPECIFIER, resolveSdkInstallTarget, startClaudeSdkInstall } from '../backends/claude/install.js';
|
|
10
|
-
import { VALIDATED_SDK_VERSION } from '../backends/claude/contract.js';
|
|
9
|
+
import { backendDataDir } from '../utils/paths.js';
|
|
10
|
+
import { installExecutor } from './install/executors.js';
|
|
11
11
|
import { fileChannelTokens } from '../backends/shared/channel-tokens.js';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
/**
|
|
13
|
+
* The install surface of one registered backend (Stage B / B-1): the manifest's
|
|
14
|
+
* recipe with the actions of the executor that recipe names. Undefined when the
|
|
15
|
+
* entry declares no recipe, is not registered, or names an executor this host
|
|
16
|
+
* does not implement — all three are "no install surface", which the picker
|
|
17
|
+
* renders as the dim row's dead-end reason.
|
|
18
|
+
*
|
|
19
|
+
* The manifest says **what** (specifier + pin) and **which executor**; nothing
|
|
20
|
+
* here imports a backend, and nothing is resolved before the user picks a row:
|
|
21
|
+
* the entry behind that row is the one whose recipe gets run (§6 item 12).
|
|
22
|
+
*
|
|
23
|
+
* The id is a plain `string` on purpose, exactly like `getBackend`: membership is
|
|
24
|
+
* half of what this answers, so asking about an id that was never registered is a
|
|
25
|
+
* question with an answer, not a type error.
|
|
26
|
+
*/
|
|
27
|
+
export function installSurfaceFor(id) {
|
|
28
|
+
const recipe = getBackend(id)?.manifest.install;
|
|
29
|
+
if (recipe === undefined)
|
|
30
|
+
return undefined;
|
|
31
|
+
const executor = installExecutor(recipe.executor);
|
|
32
|
+
if (executor === undefined)
|
|
33
|
+
return undefined;
|
|
34
|
+
return {
|
|
35
|
+
...recipe,
|
|
36
|
+
resolveTarget: () => executor.resolveTarget(),
|
|
37
|
+
start: (dir) => executor.start(recipe.specifier, dir),
|
|
38
|
+
preflight: () => executor.preflight(),
|
|
39
|
+
};
|
|
16
40
|
}
|
|
17
|
-
export const BACKEND_LOADERS = {
|
|
18
|
-
claude: () => import('../backends/claude/index.js').then(m => m.claudeBackend),
|
|
19
|
-
codex: () => import('../backends/codex/index.js').then(m => {
|
|
20
|
-
closeCodexHubs = m.closeAllCodexHubs;
|
|
21
|
-
return m.codexBackend;
|
|
22
|
-
}),
|
|
23
|
-
};
|
|
24
|
-
/** The kernel picker's one-click SDK install surface (Chat consumes it as
|
|
25
|
-
* props; the types are the neutral ones from agent/backend.js). */
|
|
26
|
-
export const sdkInstall = {
|
|
27
|
-
resolveTarget: () => resolveSdkInstallTarget(),
|
|
28
|
-
start: (dir) => startClaudeSdkInstall(dir),
|
|
29
|
-
checkPnpm: () => checkPnpmAvailable(),
|
|
30
|
-
pinned: { specifier: CLAUDE_SDK_SPECIFIER, version: VALIDATED_SDK_VERSION },
|
|
31
|
-
};
|
|
32
41
|
const credentialSources = new Map();
|
|
33
|
-
/**
|
|
34
|
-
|
|
42
|
+
/**
|
|
43
|
+
* The host services of one backend. Built per backend (not once for all of
|
|
44
|
+
* them) because `dataDir` is backend-scoped: `<DATA_DIR>/backends/<id>` is the
|
|
45
|
+
* only place a backend has any business writing, and the id is what names it.
|
|
46
|
+
*
|
|
47
|
+
* `locale` is a live read, not a snapshot: `/lang` switches the whole UI at
|
|
48
|
+
* runtime, and a backend's own text follows it string by string (B-3). The
|
|
49
|
+
* language union is restated by `getLang()`'s own return type, so a new
|
|
50
|
+
* shipped language fails to compile here until the domain contract knows it.
|
|
51
|
+
*/
|
|
52
|
+
export async function createBackendHost(ctx, backendId, cwd, stderr) {
|
|
35
53
|
const { createOAuthCredentialSource } = await import('./oauth-credential-source.js');
|
|
54
|
+
const appVersion = installedTuiVersion();
|
|
36
55
|
return {
|
|
37
56
|
cwd,
|
|
57
|
+
dataDir: backendDataDir(backendId),
|
|
58
|
+
locale: () => getLang(),
|
|
59
|
+
...(appVersion === undefined ? {} : { appVersion }),
|
|
38
60
|
debug: message => logForDebugging(message),
|
|
39
61
|
warn: message => ctx.logger.warn(message),
|
|
40
62
|
stderr,
|
|
@@ -49,26 +71,37 @@ export async function createBackendHost(ctx, cwd, stderr) {
|
|
|
49
71
|
},
|
|
50
72
|
};
|
|
51
73
|
}
|
|
52
|
-
/**
|
|
53
|
-
|
|
74
|
+
/**
|
|
75
|
+
* What the channel needs about the startup backend before its session exists,
|
|
76
|
+
* plus `start()`, which opens it (mount claim, open, history); the screen
|
|
77
|
+
* mounts in between.
|
|
78
|
+
* A resume failure rejects `start()`; no fresh session is started instead.
|
|
79
|
+
*/
|
|
80
|
+
export async function prepareBackendStartup(ctx, backend, input) {
|
|
54
81
|
const launch = backend.launch;
|
|
55
82
|
if (launch === undefined)
|
|
56
83
|
throw new Error(`dsh-tui: backend "${backend.id}" does not support startup`);
|
|
57
|
-
const host = await createBackendHost(ctx, input.cwd, input.stderr);
|
|
58
|
-
const prefs = launch.sessionPrefs(host
|
|
84
|
+
const host = await createBackendHost(ctx, backend.id, input.cwd, input.stderr);
|
|
85
|
+
const prefs = launch.sessionPrefs(host);
|
|
59
86
|
const requested = (input.configuredSessionId ?? resumeTargetFromArgv(input.argv, () => prefs.lastSession()))?.trim();
|
|
60
87
|
const resumeId = requested === undefined || requested === ''
|
|
61
88
|
? undefined
|
|
62
89
|
: requested.startsWith(`${backend.id}:`) ? requested.slice(backend.id.length + 1) : requested;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
90
|
+
const start = async () => {
|
|
91
|
+
if (resumeId === undefined) {
|
|
92
|
+
const session = await backend.open({ kind: 'create', cwd: input.cwd }, host);
|
|
93
|
+
const { reservation } = await reserveNewSession(formatSessionRef(session.ref));
|
|
94
|
+
reservation.settle();
|
|
95
|
+
return { session, initialHistory: [] };
|
|
96
|
+
}
|
|
66
97
|
const key = formatSessionRef({ backendId: backend.id, sessionId: resumeId });
|
|
67
98
|
const reserved = await reserveMount(key);
|
|
68
99
|
if (!reserved.ok) {
|
|
69
100
|
throw new Error(`dsh-tui: cannot resume ${backend.descriptor.label} session "${resumeId}": ${mountFailureText(reserved)} — ` +
|
|
70
101
|
'two processes driving one session would interleave its transcript. Close that terminal, or drop --resume to start a fresh session.');
|
|
71
102
|
}
|
|
103
|
+
let session;
|
|
104
|
+
let initialHistory;
|
|
72
105
|
try {
|
|
73
106
|
session = await backend.open({ kind: 'resume', sessionId: resumeId }, host);
|
|
74
107
|
try {
|
|
@@ -88,36 +121,48 @@ export async function openBackendStartup(ctx, backend, input) {
|
|
|
88
121
|
reserved.reservation.settle();
|
|
89
122
|
prefs.setLastSession(resumeId);
|
|
90
123
|
prefs.touch(resumeId);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
session = await backend.open({ kind: 'create', cwd: input.cwd }, host);
|
|
94
|
-
const { reservation } = await reserveNewSession(formatSessionRef(session.ref));
|
|
95
|
-
reservation.settle();
|
|
96
|
-
}
|
|
124
|
+
return { session, initialHistory };
|
|
125
|
+
};
|
|
97
126
|
return {
|
|
98
|
-
|
|
127
|
+
// Boot and landing-page state use the target this backend actually opened.
|
|
128
|
+
resumedSessionId: resumeId,
|
|
99
129
|
label: backend.descriptor.label,
|
|
100
130
|
backendId: backend.id,
|
|
101
|
-
initialHistory,
|
|
102
131
|
catalog: backend.catalog,
|
|
103
132
|
sessionPrefs: prefs,
|
|
133
|
+
start,
|
|
104
134
|
// A submitted user row means the backend has persisted a resumable transcript.
|
|
105
135
|
persisted: (_sessionId, rows) => rows.some(row => row.kind === 'user'),
|
|
106
136
|
resumeCommand: (sessionId) => launch.resumeCommand(sessionId),
|
|
107
137
|
open: (target) => backend.open(target, target.kind === 'create' ? { ...host, cwd: target.cwd } : host),
|
|
108
138
|
};
|
|
109
139
|
}
|
|
110
|
-
/**
|
|
140
|
+
/** Resume failures abort boot; history is read before the channel's first paint. */
|
|
141
|
+
export async function openBackendStartup(ctx, backend, input) {
|
|
142
|
+
const prepared = await prepareBackendStartup(ctx, backend, input);
|
|
143
|
+
return { ...prepared, ...await prepared.start() };
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Probe every optional backend once (`dsh` is always available and has no
|
|
147
|
+
* loader). Loading goes through the registry, so a probed backend's pool hook is
|
|
148
|
+
* booked just like an opened one's — a backend that builds its pool in `detect()`
|
|
149
|
+
* (the contract does not forbid it) is then still closed at exit. Failures leave
|
|
150
|
+
* their row unavailable instead of failing the probe.
|
|
151
|
+
*/
|
|
111
152
|
export async function probeKernels(ctx, cwd) {
|
|
112
|
-
const host = await createBackendHost(ctx, cwd, () => undefined);
|
|
113
153
|
const statuses = {};
|
|
114
|
-
for (const
|
|
154
|
+
for (const entry of listOfferedBackends()) {
|
|
155
|
+
if (entry.load === undefined)
|
|
156
|
+
continue;
|
|
157
|
+
// One host per entry: `dataDir` is backend-scoped, and a probe must not
|
|
158
|
+
// hand a backend a directory that is not its own.
|
|
159
|
+
const host = await createBackendHost(ctx, entry.id, cwd, () => undefined);
|
|
115
160
|
try {
|
|
116
|
-
statuses[id] = await (await
|
|
161
|
+
statuses[entry.id] = await (await loadBackend(entry.id)).detect(host);
|
|
117
162
|
}
|
|
118
163
|
catch (error) {
|
|
119
164
|
host.debug('dsh-tui: kernel probe failed (' + (error instanceof Error ? error.message : String(error)) + ')');
|
|
120
|
-
statuses[id] = { installed: false };
|
|
165
|
+
statuses[entry.id] = { installed: false };
|
|
121
166
|
}
|
|
122
167
|
}
|
|
123
168
|
return statuses;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundled-presets.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/bundled-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"bundled-presets.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/bundled-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAuFlD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoD3E"}
|
|
@@ -4,6 +4,9 @@ import { join } from 'node:path';
|
|
|
4
4
|
import { pathToFileURL } from 'node:url';
|
|
5
5
|
import { parse } from 'yaml';
|
|
6
6
|
import { packagedPresetRoot } from './packaged-presets.js';
|
|
7
|
+
import { PRESET_PATCH_MODULE } from '../preset-patch.js';
|
|
8
|
+
/** Upstream presets copied into the roster by id; liangshen ships in this package. */
|
|
9
|
+
const UPSTREAM_PRESET_IDS = ['standard', 'ptc', 'minimal', 'cordis'];
|
|
7
10
|
function declarativePresets(ctx) {
|
|
8
11
|
const service = ctx.get('agentPresets');
|
|
9
12
|
return service !== null && typeof service === 'object'
|
|
@@ -25,6 +28,49 @@ function readPresetPatch(path) {
|
|
|
25
28
|
}
|
|
26
29
|
throw new Error(`dsh-tui: invalid upstream preset declaration: ${path}`);
|
|
27
30
|
}
|
|
31
|
+
/** Preset id → row id → replacement config, from preset-patch rows (src/preset-patch.ts). */
|
|
32
|
+
function presetPatches(ctx, loader) {
|
|
33
|
+
const patches = new Map();
|
|
34
|
+
for (const entry of loader?.entries() ?? []) {
|
|
35
|
+
if (entry.disabled || entry.options.name !== PRESET_PATCH_MODULE)
|
|
36
|
+
continue;
|
|
37
|
+
const config = entry.options.config;
|
|
38
|
+
const rows = config?.config;
|
|
39
|
+
if (typeof config?.preset !== 'string' || rows === null || typeof rows !== 'object' || Array.isArray(rows)) {
|
|
40
|
+
ctx.logger.warn('dsh-tui: ignoring a preset-patch row without `preset` and a `config` map');
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const target = patches.get(config.preset) ?? new Map();
|
|
44
|
+
for (const [id, value] of Object.entries(rows))
|
|
45
|
+
target.set(id, value);
|
|
46
|
+
patches.set(config.preset, target);
|
|
47
|
+
}
|
|
48
|
+
return patches;
|
|
49
|
+
}
|
|
50
|
+
/** Copy an entry list with the named rows' `config` replaced, nested groups included. */
|
|
51
|
+
function withRowConfigs(rows, configs, matched) {
|
|
52
|
+
return rows.map((row) => {
|
|
53
|
+
const entry = row;
|
|
54
|
+
if (typeof entry.id === 'string' && configs.has(entry.id)) {
|
|
55
|
+
matched.add(entry.id);
|
|
56
|
+
return { ...row, config: configs.get(entry.id) };
|
|
57
|
+
}
|
|
58
|
+
if (entry.group === true && Array.isArray(entry.config))
|
|
59
|
+
return { ...row, config: withRowConfigs(entry.config, configs, matched) };
|
|
60
|
+
return row;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function patchDefinition(ctx, definition, configs) {
|
|
64
|
+
if (configs === undefined)
|
|
65
|
+
return definition;
|
|
66
|
+
const matched = new Set();
|
|
67
|
+
const plugins = withRowConfigs(definition.plugins, configs, matched);
|
|
68
|
+
for (const id of configs.keys()) {
|
|
69
|
+
if (!matched.has(id))
|
|
70
|
+
ctx.logger.warn(`dsh-tui: preset-patch row "${id}" not found in preset "${definition.id}"`);
|
|
71
|
+
}
|
|
72
|
+
return { ...definition, plugins };
|
|
73
|
+
}
|
|
28
74
|
/**
|
|
29
75
|
* 0.1.7 removed directory discovery. Consume the official bundle definitions
|
|
30
76
|
* through its registry, without copying or reimplementing their tool sets.
|
|
@@ -51,13 +97,14 @@ export async function registerBundledPresets(ctx) {
|
|
|
51
97
|
declared.add(config.id);
|
|
52
98
|
}
|
|
53
99
|
}
|
|
100
|
+
const patches = presetPatches(ctx, loader);
|
|
54
101
|
const require = createRequire(ctx.baseUrl ?? import.meta.url);
|
|
55
|
-
for (const id of
|
|
102
|
+
for (const id of UPSTREAM_PRESET_IDS) {
|
|
56
103
|
if (declared.has(id))
|
|
57
104
|
continue;
|
|
58
105
|
const path = require.resolve(`@deepseek-ai/dsh-web-app/presets/${id}.patch.yml`);
|
|
59
106
|
const owner = ctx.extend({ baseUrl: pathToFileURL(path).href });
|
|
60
|
-
const dispose = await declarativePresets(owner).register(readPresetPatch(path));
|
|
107
|
+
const dispose = await declarativePresets(owner).register(patchDefinition(ctx, readPresetPatch(path), patches.get(id)));
|
|
61
108
|
ctx.effect(() => dispose);
|
|
62
109
|
}
|
|
63
110
|
if (!declared.has('liangshen')) {
|
|
@@ -71,10 +118,20 @@ export async function registerBundledPresets(ctx) {
|
|
|
71
118
|
plugins: [{
|
|
72
119
|
id: 'liangshen-plugins',
|
|
73
120
|
name: '@deepseek-ai/cordis-plugin-include',
|
|
74
|
-
config: {
|
|
121
|
+
config: {
|
|
122
|
+
path: pathToFileURL(join(root, 'agent.cordis.yml')).href,
|
|
123
|
+
patches: [...patches.get('liangshen') ?? []].map(([id, config]) => ({ id, config })),
|
|
124
|
+
},
|
|
75
125
|
}],
|
|
76
126
|
});
|
|
77
127
|
ctx.effect(() => dispose);
|
|
78
128
|
}
|
|
129
|
+
// A typo in `preset` would otherwise be a silent no-op (row ids warn inside
|
|
130
|
+
// patchDefinition). Profile-declared presets are the profile's own seats.
|
|
131
|
+
for (const preset of patches.keys()) {
|
|
132
|
+
if (preset === 'liangshen' || UPSTREAM_PRESET_IDS.includes(preset) || declared.has(preset))
|
|
133
|
+
continue;
|
|
134
|
+
ctx.logger.warn(`dsh-tui: preset-patch row names a preset dsh-tui does not register: "${preset}"`);
|
|
135
|
+
}
|
|
79
136
|
return true;
|
|
80
137
|
}
|
|
@@ -14,6 +14,8 @@ export type ChannelActionMethods = Pick<ChannelState, ChannelActionMethodName>;
|
|
|
14
14
|
export declare function createChannelActionMethods(getReadyActions: () => ChannelActionDelegates): ChannelActionMethods;
|
|
15
15
|
export declare function createChannelActionReadiness(): {
|
|
16
16
|
install(next: ChannelActionDelegates): void;
|
|
17
|
+
/** Replace the installed table (the adoption-window extension, core/compose.ts). */
|
|
18
|
+
reinstall(next: ChannelActionDelegates): void;
|
|
17
19
|
getReadyActions(): ChannelActionDelegates;
|
|
18
20
|
};
|
|
19
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-readiness.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/action-readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,YAAY,EAClD,oBAAoB,GACpB,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,aAAa,GACb,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,qBAAqB,GACrB,OAAO,GACP,mBAAmB,GACnB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,2BAA2B,GAC3B,YAAY,GACZ,oBAAoB,GACpB,aAAa,GACb,cAAc,GACd,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,GACnB,eAAe,GACf,oBAAoB,GACpB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,GACf,kBAAkB,GAClB,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,SAAS,GACT,eAAe,GACf,oBAAoB,GACpB,2BAA2B,GAC3B,WAAW,GACX,WAAW,GACX,eAAe,GACf,eAAe,GACf,YAAY,GACZ,aAAa,GACb,eAAe,CAClB,GAAG;IACF,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E,CAAA;AAED,KAAK,uBAAuB,GAAG,OAAO,CAAC,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,CAAA;AACvF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAA;AAE9E;4EAC4E;AAC5E,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,sBAAsB,GAC5C,oBAAoB,CAyEtB;AAED,wBAAgB,4BAA4B;kBAG1B,sBAAsB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"action-readiness.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/action-readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,YAAY,EAClD,oBAAoB,GACpB,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,aAAa,GACb,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,qBAAqB,GACrB,OAAO,GACP,mBAAmB,GACnB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,2BAA2B,GAC3B,YAAY,GACZ,oBAAoB,GACpB,aAAa,GACb,cAAc,GACd,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,GACnB,eAAe,GACf,oBAAoB,GACpB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,GACf,kBAAkB,GAClB,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,SAAS,GACT,eAAe,GACf,oBAAoB,GACpB,2BAA2B,GAC3B,WAAW,GACX,WAAW,GACX,eAAe,GACf,eAAe,GACf,YAAY,GACZ,aAAa,GACb,eAAe,CAClB,GAAG;IACF,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E,CAAA;AAED,KAAK,uBAAuB,GAAG,OAAO,CAAC,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,CAAA;AACvF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAA;AAE9E;4EAC4E;AAC5E,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,sBAAsB,GAC5C,oBAAoB,CAyEtB;AAED,wBAAgB,4BAA4B;kBAG1B,sBAAsB,GAAG,IAAI;IAI3C,oFAAoF;oBACpE,sBAAsB,GAAG,IAAI;uBAI1B,sBAAsB;EAK5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,GAC3C,sBAAsB,CA2FxB"}
|
|
@@ -22,7 +22,7 @@ export function createChannelActionMethods(getReadyActions) {
|
|
|
22
22
|
workspaceCommands: () => getReadyActions().workspaceCommands(),
|
|
23
23
|
runWorkspaceCommand: (name, input) => getReadyActions().runWorkspaceCommand(name, input),
|
|
24
24
|
switchModel: (provider, model) => getReadyActions().switchModel(provider, model),
|
|
25
|
-
listEfforts:
|
|
25
|
+
listEfforts: route => getReadyActions().listEfforts(route),
|
|
26
26
|
setEffort: id => getReadyActions().setEffort(id),
|
|
27
27
|
setDefaultEffort: id => getReadyActions().setDefaultEffort(id),
|
|
28
28
|
cycleMode: () => getReadyActions().cycleMode(),
|
|
@@ -65,7 +65,7 @@ export function createChannelActionMethods(getReadyActions) {
|
|
|
65
65
|
cancelCompact: () => getReadyActions().cancelCompact(),
|
|
66
66
|
runExternalCommand: (name, rawInput) => getReadyActions().runExternalCommand(name, rawInput),
|
|
67
67
|
runExternalCommandOutcome: (name, rawInput, images) => getReadyActions().runExternalCommandOutcome(name, rawInput, images),
|
|
68
|
-
pushLocal: (title, lines) => getReadyActions().pushLocal(title, lines),
|
|
68
|
+
pushLocal: (title, lines, options) => getReadyActions().pushLocal(title, lines, options),
|
|
69
69
|
mcpStatus: () => getReadyActions().mcpStatus(),
|
|
70
70
|
exportSession: () => getReadyActions().exportSession(),
|
|
71
71
|
initWorkspace: () => getReadyActions().initWorkspace(),
|
|
@@ -82,6 +82,12 @@ export function createChannelActionReadiness() {
|
|
|
82
82
|
throw new Error('dsh-tui: Channel actions are already installed');
|
|
83
83
|
delegates = Object.freeze(next);
|
|
84
84
|
},
|
|
85
|
+
/** Replace the installed table (the adoption-window extension, core/compose.ts). */
|
|
86
|
+
reinstall(next) {
|
|
87
|
+
if (delegates === undefined)
|
|
88
|
+
throw new Error('dsh-tui: Channel actions are not installed');
|
|
89
|
+
delegates = Object.freeze(next);
|
|
90
|
+
},
|
|
85
91
|
getReadyActions() {
|
|
86
92
|
if (delegates === undefined)
|
|
87
93
|
throw new Error('dsh-tui: Channel actions are not installed');
|
|
@@ -192,7 +198,7 @@ export function createUnavailableActionDelegates(unavailable, unavailableLines)
|
|
|
192
198
|
exportSession: () => refuse('export', null),
|
|
193
199
|
initWorkspace: () => refuse('init', null),
|
|
194
200
|
doctorInfo: () => unavailableLines('doctor'),
|
|
195
|
-
pluginsInfo: () => unavailableLines('
|
|
201
|
+
pluginsInfo: () => Promise.resolve(unavailableLines('plugin')),
|
|
196
202
|
listSubagents: () => Promise.resolve(unavailableLines('agents')),
|
|
197
203
|
};
|
|
198
204
|
}
|
|
@@ -3,7 +3,7 @@ import { SessionId } from '@deepseek-ai/dsh-session';
|
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { resolveModelRoute, validateModelRoute } from '../../modelRoute.js';
|
|
5
5
|
import { readModelPref } from '../../modelPrefs.js';
|
|
6
|
-
import { readPresetPref } from '../../presetPrefs.js';
|
|
6
|
+
import { presetOverrideFromEnv, readPresetPref } from '../../presetPrefs.js';
|
|
7
7
|
import { forgetAgentViewSession, readAgentViewSessions, touchAgentViewSession, touchSession } from '../../sessionHistory.js';
|
|
8
8
|
import { t } from '../../i18n.js';
|
|
9
9
|
import { AGENT_VIEW_STATUS_ORDER, agentViewLivePreview, agentViewStatusOf, foldAgentViewEvents, oneLine, sessionTitleFallback, } from '../agent-view.js';
|
|
@@ -141,7 +141,7 @@ export function createAgentViewProjection(ctx, deps) {
|
|
|
141
141
|
let detached;
|
|
142
142
|
try {
|
|
143
143
|
deps.owner.assertActive();
|
|
144
|
-
const composed = await composePreset(ctx,
|
|
144
|
+
const composed = await composePreset(ctx, presetOverrideFromEnv() ?? readPresetPref() ?? deps.configuredPreset);
|
|
145
145
|
const resolved = resolveModelRoute({ provider: deps.configuredProvider, model: deps.configuredModel }, readModelPref(), { provider: deps.provider, model: deps.model });
|
|
146
146
|
const llm = ctx.get('llm');
|
|
147
147
|
const { route } = await validateModelRoute(llm, resolved, { provider: deps.provider, model: deps.model });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-action.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/background-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"background-action.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/background-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,wBAAwB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAclD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEhE,KAAK,OAAO,GAAG,iBAAiB,CAAA;AAEhC;iFACiF;AACjF,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,YAAY,EACtB,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,GAAG,eAAe,GAC9E,cAAc,GAAG,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,EACxG,OAAO,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC9H,IAAI,EAAE;IACJ,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,CAAA;IACjF,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC3C,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,cAAc,IAAI,IAAI,CAAA;IACtB,cAAc,IAAI,IAAI,CAAA;IACtB,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IAChD,SAAS,IAAI,IAAI,CAAA;IACjB,mBAAmB,IAAI,IAAI,CAAA;IAC3B,SAAS,IAAI,IAAI,CAAA;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,iBAAiB,IAAI,IAAI,CAAA;IACzB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7F,4EAA4E;IAC5E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAA;IAC5F,eAAe,IAAI,IAAI,CAAA;CACxB,GACA,MAAM,OAAO,CAAC,gBAAgB,CAAC,CA+FjC"}
|
|
@@ -2,12 +2,13 @@ import { SessionId } from '@deepseek-ai/dsh-session';
|
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { resolveModelRoute, validateModelRoute } from '../../modelRoute.js';
|
|
4
4
|
import { readModelPref } from '../../modelPrefs.js';
|
|
5
|
-
import { readPresetPref } from '../../presetPrefs.js';
|
|
5
|
+
import { presetOverrideFromEnv, readPresetPref } from '../../presetPrefs.js';
|
|
6
6
|
import { clearResumeTarget, touchAgentViewSession, touchSession } from '../../sessionHistory.js';
|
|
7
7
|
import { t } from '../../i18n.js';
|
|
8
8
|
import { reserveMount } from '../../sessionMounts.js';
|
|
9
9
|
import { mountFailureText } from '../../sessions/resumeFailure.js';
|
|
10
10
|
import { composePreset } from '../presets.js';
|
|
11
|
+
import { createFreshAgent } from '../fresh-agent.js';
|
|
11
12
|
import { createDshSession, dshHandleOf } from '../backend/session.js';
|
|
12
13
|
import { attachSessionToWorkspace } from '../workspace.js';
|
|
13
14
|
import { resetSessionProjection } from './session-reset.js';
|
|
@@ -30,9 +31,13 @@ export function createBackgroundCurrentAction(ctx, state, options, deps) {
|
|
|
30
31
|
deps.notify(mountFailureText(reserved), { color: 'warning', timeoutMs: 8000 });
|
|
31
32
|
const reservation = reserved.ok ? reserved.reservation : { settle: () => { }, abandon: () => { } };
|
|
32
33
|
try {
|
|
33
|
-
const composed = await composePreset(ctx,
|
|
34
|
+
const composed = await composePreset(ctx, presetOverrideFromEnv() ?? readPresetPref() ?? options.configuredPreset);
|
|
34
35
|
const route = await validateModelRoute(ctx.get('llm'), resolveModelRoute({ provider: options.configuredProvider, model: options.configuredModel }, readModelPref(), { provider: options.provider, model: options.model }), { provider: options.provider, model: options.model });
|
|
35
|
-
|
|
36
|
+
// `/bg` starts an unseeded session nobody has typed into yet, so it
|
|
37
|
+
// shares the fresh-session gate: creation-time checkpoints (the
|
|
38
|
+
// projection cache flushes on `session/created`) must not publish the
|
|
39
|
+
// permission-only shell before the first real event.
|
|
40
|
+
const candidate = await deps.binding.prepare(adoption, async () => createDshSession(ctx, await createFreshAgent(ctx, agents, {
|
|
36
41
|
sessionId,
|
|
37
42
|
meta: { cwd: state.cwd, ...(composed.agentPreset === undefined ? {} : { agentPreset: composed.agentPreset }) },
|
|
38
43
|
agentOptions: route.route,
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { Agent, AssistantStreamFrame
|
|
1
|
+
import type { Agent, AssistantStreamFrame } from '@deepseek-ai/dsh-agent';
|
|
2
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
3
3
|
import type { ChannelProjection } from '../../channel/projection.js';
|
|
4
4
|
import { type BindingScope } from './core/binding-feed.js';
|
|
5
5
|
import type { InputConvergence } from './input-actions.js';
|
|
6
6
|
import type { DshChannelBinding } from './binding.js';
|
|
7
7
|
import type { ChannelOwner } from './owner.js';
|
|
8
|
+
import type { createModelSelection } from './model-selection.js';
|
|
8
9
|
import type { ChannelState } from './types.js';
|
|
9
10
|
/**
|
|
10
11
|
* Foreground transcript listeners capture a binding generation: the bound
|
|
@@ -31,15 +32,18 @@ export declare function createBindingEvents(ctx: Context, deps: {
|
|
|
31
32
|
* session needs one baseline read to show its occupancy before the next
|
|
32
33
|
* request reports usage. */
|
|
33
34
|
seedContextOccupancy?(session: unknown): void;
|
|
35
|
+
seedTeam?(session: unknown): void;
|
|
34
36
|
inputConvergence: InputConvergence;
|
|
35
|
-
|
|
37
|
+
modelSelection: ReturnType<typeof createModelSelection>;
|
|
36
38
|
modelActions: {
|
|
37
39
|
applyPreferredEffort(): Promise<void>;
|
|
38
|
-
selection: ModelSelectionRef;
|
|
39
40
|
};
|
|
40
41
|
modeActions: {
|
|
41
42
|
refreshMode(): void;
|
|
42
43
|
onSessionEvent(session: unknown, event: unknown): void;
|
|
44
|
+
/** Seed an untouched session with the persisted permission preference
|
|
45
|
+
* (permissionPrefs.ts); fire-and-forget on bind, never rejects. */
|
|
46
|
+
applyRememberedPermission(): Promise<void>;
|
|
43
47
|
};
|
|
44
48
|
projector: ChannelProjection;
|
|
45
49
|
subagents: {
|
|
@@ -59,12 +63,22 @@ export declare function createBindingEvents(ctx: Context, deps: {
|
|
|
59
63
|
}, parent: object | null): void;
|
|
60
64
|
forget?(agent: Agent): void;
|
|
61
65
|
};
|
|
66
|
+
/** The job projection's own raw-event half: it times the card hold a tool
|
|
67
|
+
* call puts on the job it registers (see channel/job-projection.ts). */
|
|
68
|
+
jobs?: {
|
|
69
|
+
onSessionEvent(event: unknown): void;
|
|
70
|
+
};
|
|
62
71
|
agentView: {
|
|
63
72
|
schedule(): void;
|
|
64
73
|
};
|
|
65
74
|
messageObserver?: {
|
|
66
75
|
publish(session: unknown, event: unknown): void;
|
|
67
76
|
};
|
|
77
|
+
/** Seed the upstream auto-retry policy (upstream-retry.ts) for the
|
|
78
|
+
* provider route this session actually uses; fire-and-forget on bind,
|
|
79
|
+
* never rejects, never blocks. Optional for direct/embed constructors
|
|
80
|
+
* that bring no settings seam. */
|
|
81
|
+
seedUpstreamRetry?(provider: string | undefined): void;
|
|
68
82
|
/** Drop a pre-step attachment registered by this channel for one message id
|
|
69
83
|
* (input-delivery's `retireAttachment`); see the discard hook below.
|
|
70
84
|
* Optional for direct/embed constructors that never emit inbox discards;
|