@deepseek-harness-tui/dsh-tui 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -14
- package/bin/dsh-tui.js +200 -34
- package/cordis.patch.yml +16 -52
- package/cordis.yml +6 -2
- package/guide/dsh-tui-guide/claude-backend.en.md +44 -7
- package/guide/dsh-tui-guide/claude-backend.md +28 -6
- package/guide/dsh-tui-guide/codex-backend.en.md +34 -7
- package/guide/dsh-tui-guide/codex-backend.md +17 -2
- package/guide/dsh-tui-guide/configuration.en.md +129 -16
- package/guide/dsh-tui-guide/configuration.md +110 -14
- package/guide/dsh-tui-guide/interaction.en.md +57 -24
- package/guide/dsh-tui-guide/interaction.md +42 -19
- package/guide/dsh-tui-guide/plugins.en.md +36 -3
- package/guide/dsh-tui-guide/plugins.md +21 -2
- package/guide/dsh-tui-guide/themes.en.md +23 -14
- package/guide/dsh-tui-guide/themes.md +19 -12
- package/guide/dsh-tui-guide/user-guide.en.md +51 -20
- package/guide/dsh-tui-guide/user-guide.md +41 -21
- package/lib/settings.json +103 -9
- package/lib/types/adapter/channel/ui-policy.d.ts +1 -1
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +3 -0
- package/lib/types/adapter/channel/ui.d.ts +2 -0
- package/lib/types/adapter/channel/ui.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui.js +6 -2
- package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
- package/lib/types/adapter/kernel/runtime.js +2 -0
- package/lib/types/adapter/ports/channel-settings.d.ts +9 -0
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +50 -12
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +21 -0
- package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
- package/lib/types/adapter/spec/backend-capabilities.d.ts +22 -0
- package/lib/types/adapter/spec/backend-capabilities.d.ts.map +1 -0
- package/lib/types/adapter/spec/backend-capabilities.js +49 -0
- package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
- package/lib/types/adapter/spec/protocol-constants.js +10 -3
- package/lib/types/adapter/spec/tui-contributions.d.ts +3 -0
- package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
- package/lib/types/adapter/spec/tui-contributions.js +7 -0
- package/lib/types/adapter/standard/registry.d.ts +6 -0
- package/lib/types/adapter/standard/registry.d.ts.map +1 -1
- package/lib/types/adapter/standard/registry.js +65 -15
- package/lib/types/adapter/standard/tui-extension.d.ts.map +1 -1
- package/lib/types/adapter/standard/tui-extension.js +7 -1
- package/lib/types/adapter/standard/types.d.ts +10 -1
- package/lib/types/adapter/standard/types.d.ts.map +1 -1
- package/lib/types/adapter/upstream/host-descriptor-driver.d.ts.map +1 -1
- package/lib/types/adapter/upstream/host-descriptor-driver.js +52 -0
- package/lib/types/agent/backend-manifest.d.ts +152 -0
- package/lib/types/agent/backend-manifest.d.ts.map +1 -0
- package/lib/types/agent/backend-manifest.js +14 -0
- package/lib/types/agent/backend.d.ts +71 -5
- package/lib/types/agent/backend.d.ts.map +1 -1
- package/lib/types/agent/capabilities.d.ts +6 -0
- package/lib/types/agent/capabilities.d.ts.map +1 -1
- package/lib/types/agent/index.d.ts +2 -0
- package/lib/types/agent/index.d.ts.map +1 -1
- package/lib/types/agent/refs.d.ts +11 -1
- package/lib/types/agent/refs.d.ts.map +1 -1
- package/lib/types/agent/starting-session.d.ts +4 -0
- package/lib/types/agent/starting-session.d.ts.map +1 -0
- package/lib/types/agent/starting-session.js +19 -0
- package/lib/types/backends/claude/activity.d.ts +1 -1
- package/lib/types/backends/claude/activity.d.ts.map +1 -1
- package/lib/types/backends/claude/activity.js +5 -5
- package/lib/types/backends/claude/auth.d.ts.map +1 -1
- package/lib/types/backends/claude/auth.js +10 -3
- package/lib/types/backends/claude/backend.d.ts.map +1 -1
- package/lib/types/backends/claude/backend.js +103 -29
- package/lib/types/backends/claude/catalog.d.ts +2 -1
- package/lib/types/backends/claude/catalog.d.ts.map +1 -1
- package/lib/types/backends/claude/catalog.js +15 -5
- package/lib/types/backends/claude/channels.d.ts +5 -3
- package/lib/types/backends/claude/channels.d.ts.map +1 -1
- package/lib/types/backends/claude/channels.js +5 -4
- package/lib/types/backends/claude/contract.d.ts +4 -0
- package/lib/types/backends/claude/contract.d.ts.map +1 -1
- package/lib/types/backends/claude/contract.js +4 -0
- package/lib/types/backends/claude/controls.d.ts +4 -0
- package/lib/types/backends/claude/controls.d.ts.map +1 -1
- package/lib/types/backends/claude/controls.js +34 -42
- package/lib/types/backends/claude/dialogs.d.ts +8 -2
- package/lib/types/backends/claude/dialogs.d.ts.map +1 -1
- package/lib/types/backends/claude/dialogs.js +24 -16
- package/lib/types/backends/claude/images.d.ts +1 -1
- package/lib/types/backends/claude/images.d.ts.map +1 -1
- package/lib/types/backends/claude/images.js +7 -7
- package/lib/types/backends/claude/manifest.d.ts +21 -0
- package/lib/types/backends/claude/manifest.d.ts.map +1 -0
- package/lib/types/backends/claude/manifest.js +29 -0
- package/lib/types/backends/claude/older-history.js +2 -2
- package/lib/types/backends/claude/permissions.js +11 -11
- package/lib/types/backends/claude/prefs.d.ts +4 -2
- package/lib/types/backends/claude/prefs.d.ts.map +1 -1
- package/lib/types/backends/claude/prefs.js +4 -3
- package/lib/types/backends/claude/process.d.ts +16 -4
- package/lib/types/backends/claude/process.d.ts.map +1 -1
- package/lib/types/backends/claude/process.js +100 -37
- package/lib/types/backends/claude/send-message.d.ts +1 -1
- package/lib/types/backends/claude/send-message.d.ts.map +1 -1
- package/lib/types/backends/claude/session/auth.js +22 -22
- package/lib/types/backends/claude/session/channels.d.ts +4 -0
- package/lib/types/backends/claude/session/channels.d.ts.map +1 -1
- package/lib/types/backends/claude/session/channels.js +5 -3
- package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -1
- package/lib/types/backends/claude/session/lifecycle.js +31 -23
- package/lib/types/backends/claude/session/store.js +8 -8
- package/lib/types/backends/claude/session/subagents.js +2 -2
- package/lib/types/backends/claude/session/types.d.ts +7 -0
- package/lib/types/backends/claude/session/types.d.ts.map +1 -1
- package/lib/types/backends/claude/side-query.js +3 -3
- package/lib/types/backends/claude/task-output.js +5 -5
- package/lib/types/backends/claude/text.d.ts +778 -0
- package/lib/types/backends/claude/text.d.ts.map +1 -0
- package/lib/types/backends/claude/text.js +298 -0
- package/lib/types/backends/claude/transcript-file.d.ts +1 -1
- package/lib/types/backends/claude/transcript-file.d.ts.map +1 -1
- package/lib/types/backends/claude/transcript-file.js +4 -4
- package/lib/types/backends/claude/translate/attempts.js +2 -2
- package/lib/types/backends/claude/translate/core.js +3 -3
- package/lib/types/backends/claude/translate/messages.js +4 -4
- package/lib/types/backends/claude/translate/system.js +14 -14
- package/lib/types/backends/claude/translate/tasks.js +2 -2
- package/lib/types/backends/claude/translate/types.d.ts +1 -1
- package/lib/types/backends/claude/translate/types.d.ts.map +1 -1
- package/lib/types/backends/codex/auth/external-tokens.js +16 -16
- package/lib/types/backends/codex/auth/status.js +14 -14
- package/lib/types/backends/codex/backend.d.ts +4 -19
- package/lib/types/backends/codex/backend.d.ts.map +1 -1
- package/lib/types/backends/codex/backend.js +118 -25
- package/lib/types/backends/codex/catalog.d.ts +2 -1
- package/lib/types/backends/codex/catalog.d.ts.map +1 -1
- package/lib/types/backends/codex/catalog.js +63 -18
- package/lib/types/backends/codex/channels.d.ts +6 -3
- package/lib/types/backends/codex/channels.d.ts.map +1 -1
- package/lib/types/backends/codex/channels.js +15 -13
- package/lib/types/backends/codex/detect.d.ts.map +1 -1
- package/lib/types/backends/codex/detect.js +9 -6
- package/lib/types/backends/codex/manifest.d.ts +30 -0
- package/lib/types/backends/codex/manifest.d.ts.map +1 -0
- package/lib/types/backends/codex/manifest.js +23 -0
- package/lib/types/backends/codex/prefs.d.ts +4 -2
- package/lib/types/backends/codex/prefs.d.ts.map +1 -1
- package/lib/types/backends/codex/prefs.js +4 -3
- package/lib/types/backends/codex/rpc/hub.js +2 -2
- package/lib/types/backends/codex/session/activity.d.ts +1 -1
- package/lib/types/backends/codex/session/activity.d.ts.map +1 -1
- package/lib/types/backends/codex/session/activity.js +13 -13
- package/lib/types/backends/codex/session/approvals.js +30 -30
- package/lib/types/backends/codex/session/commands.d.ts +8 -2
- package/lib/types/backends/codex/session/commands.d.ts.map +1 -1
- package/lib/types/backends/codex/session/commands.js +71 -23
- package/lib/types/backends/codex/session/controls.d.ts +1 -1
- package/lib/types/backends/codex/session/controls.d.ts.map +1 -1
- package/lib/types/backends/codex/session/controls.js +21 -16
- package/lib/types/backends/codex/session/goals.d.ts.map +1 -1
- package/lib/types/backends/codex/session/goals.js +3 -3
- package/lib/types/backends/codex/session/history.js +2 -2
- package/lib/types/backends/codex/session/images.js +8 -8
- package/lib/types/backends/codex/session/input.d.ts +6 -2
- package/lib/types/backends/codex/session/input.d.ts.map +1 -1
- package/lib/types/backends/codex/session/input.js +55 -13
- package/lib/types/backends/codex/session/plan-review.js +6 -6
- package/lib/types/backends/codex/session/session.d.ts.map +1 -1
- package/lib/types/backends/codex/session/session.js +66 -34
- package/lib/types/backends/codex/session/side-query.d.ts.map +1 -1
- package/lib/types/backends/codex/session/side-query.js +27 -9
- package/lib/types/backends/codex/session/state.d.ts +6 -1
- package/lib/types/backends/codex/session/state.d.ts.map +1 -1
- package/lib/types/backends/codex/session/subagents.js +5 -5
- package/lib/types/backends/codex/session/tasks.js +4 -4
- package/lib/types/backends/codex/text.d.ts +933 -0
- package/lib/types/backends/codex/text.d.ts.map +1 -0
- package/lib/types/backends/codex/text.js +313 -0
- package/lib/types/backends/codex/translate/items.js +4 -4
- package/lib/types/backends/codex/translate/live.d.ts.map +1 -1
- package/lib/types/backends/codex/translate/live.js +11 -8
- package/lib/types/backends/codex/translate/notices.js +10 -10
- package/lib/types/backends/shared/channel-slug.d.ts +4 -0
- package/lib/types/backends/shared/channel-slug.d.ts.map +1 -0
- package/lib/types/backends/shared/channel-slug.js +25 -0
- package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -1
- package/lib/types/backends/shared/channel-tokens.js +30 -23
- package/lib/types/{channel → backends/shared}/elicitation.d.ts +78 -21
- package/lib/types/backends/shared/elicitation.d.ts.map +1 -0
- package/lib/types/{channel → backends/shared}/elicitation.js +64 -66
- package/lib/types/backends/shared/image-size.d.ts +33 -0
- package/lib/types/backends/shared/image-size.d.ts.map +1 -0
- package/lib/types/backends/shared/image-size.js +134 -0
- package/lib/types/{utils → backends/shared}/jsonl.d.ts +5 -1
- package/lib/types/backends/shared/jsonl.d.ts.map +1 -0
- package/lib/types/{utils → backends/shared}/jsonl.js +5 -1
- package/lib/types/backends/shared/localized-text.d.ts +30 -0
- package/lib/types/backends/shared/localized-text.d.ts.map +1 -0
- package/lib/types/backends/shared/localized-text.js +24 -0
- package/lib/types/backends/shared/platform-text.d.ts +88 -0
- package/lib/types/backends/shared/platform-text.d.ts.map +1 -0
- package/lib/types/backends/shared/platform-text.js +33 -0
- package/lib/types/branding.d.ts +13 -0
- package/lib/types/branding.d.ts.map +1 -1
- package/lib/types/branding.js +18 -0
- package/lib/types/channel/channel-slug.d.ts +3 -1
- package/lib/types/channel/channel-slug.d.ts.map +1 -1
- package/lib/types/channel/channel-slug.js +3 -1
- package/lib/types/channel/sanitize.d.ts +7 -0
- package/lib/types/channel/sanitize.d.ts.map +1 -1
- package/lib/types/channel/sanitize.js +9 -0
- package/lib/types/channel/usage.d.ts.map +1 -1
- package/lib/types/channel/usage.js +5 -0
- package/lib/types/commands.d.ts +5 -0
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +47 -8
- package/lib/types/components/AgentMessageComposer.d.ts.map +1 -1
- package/lib/types/components/AgentMessageComposer.js +3 -2
- package/lib/types/components/BtwPanel.d.ts.map +1 -1
- package/lib/types/components/BtwPanel.js +4 -2
- package/lib/types/components/Chat/JobCard.js +3 -3
- package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
- package/lib/types/components/CommandSuggestions.js +20 -6
- package/lib/types/components/ContextBarView.d.ts +5 -1
- package/lib/types/components/ContextBarView.d.ts.map +1 -1
- package/lib/types/components/ContextBarView.js +6 -3
- package/lib/types/components/ExtensionDialog.d.ts.map +1 -1
- package/lib/types/components/ExtensionDialog.js +2 -3
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/GoalTodoPanel.js +14 -3
- package/lib/types/components/InlineMathParagraph.js +1 -1
- package/lib/types/components/KernelPicker.d.ts.map +1 -1
- package/lib/types/components/KernelPicker.js +1 -1
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +9 -6
- package/lib/types/components/MarkdownTable.d.ts.map +1 -1
- package/lib/types/components/MarkdownTable.js +4 -3
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +18 -5
- package/lib/types/components/ModelPicker.d.ts +24 -31
- package/lib/types/components/ModelPicker.d.ts.map +1 -1
- package/lib/types/components/ModelPicker.js +115 -40
- package/lib/types/components/PromptEditor.d.ts +3 -3
- package/lib/types/components/PromptInput.d.ts +21 -3
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +58 -118
- package/lib/types/components/SdkInstallWizard.d.ts +3 -1
- package/lib/types/components/SdkInstallWizard.d.ts.map +1 -1
- package/lib/types/components/SdkInstallWizard.js +8 -1
- package/lib/types/components/SearchBox.d.ts +13 -15
- package/lib/types/components/SearchBox.d.ts.map +1 -1
- package/lib/types/components/SearchBox.js +58 -27
- package/lib/types/components/ThemePicker.d.ts +1 -1
- package/lib/types/components/ThemePicker.d.ts.map +1 -1
- package/lib/types/components/ThemePicker.js +14 -11
- package/lib/types/components/Tooltip.js +1 -1
- package/lib/types/components/WorkingSpinner.js +1 -1
- package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -1
- package/lib/types/components/WorkspaceFlowPicker.js +4 -3
- package/lib/types/components/composerImageTokens.d.ts +24 -0
- package/lib/types/components/composerImageTokens.d.ts.map +1 -0
- package/lib/types/components/composerImageTokens.js +37 -0
- package/lib/types/components/design-system/InputCaret.d.ts +7 -0
- package/lib/types/components/design-system/InputCaret.d.ts.map +1 -0
- package/lib/types/components/design-system/InputCaret.js +9 -0
- package/lib/types/components/design-system/ListItem.d.ts +13 -2
- package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
- package/lib/types/components/design-system/ListItem.js +11 -5
- package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemeProvider.js +6 -8
- package/lib/types/components/kernelCatalog.d.ts +55 -11
- package/lib/types/components/kernelCatalog.d.ts.map +1 -1
- package/lib/types/components/kernelCatalog.js +42 -23
- package/lib/types/components/launchpadActions.d.ts +4 -0
- package/lib/types/components/launchpadActions.d.ts.map +1 -1
- package/lib/types/components/launchpadActions.js +5 -4
- package/lib/types/components/launchpadLayout.d.ts.map +1 -1
- package/lib/types/components/launchpadLayout.js +2 -2
- package/lib/types/components/messages/UserPromptMessage.d.ts +4 -3
- package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -1
- package/lib/types/components/messages/UserPromptMessage.js +4 -3
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.js +8 -3
- package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
- package/lib/types/components/questions/PlanReviewPanel.js +4 -3
- package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -1
- package/lib/types/components/questions/ProviderModelEditor.js +3 -13
- package/lib/types/components/sessions/ForeignSessionRow.d.ts +3 -1
- package/lib/types/components/sessions/ForeignSessionRow.d.ts.map +1 -1
- package/lib/types/components/sessions/ForeignSessionRow.js +5 -2
- package/lib/types/components/sessions/SessionListRow.d.ts +3 -1
- package/lib/types/components/sessions/SessionListRow.d.ts.map +1 -1
- package/lib/types/components/sessions/SessionListRow.js +5 -2
- package/lib/types/components/sidePanel/PanelBar.d.ts +1 -0
- package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -1
- package/lib/types/components/sidePanel/PanelBar.js +21 -17
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts +1 -1
- package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
- package/lib/types/components/sidePanel/SidePanelColumn.js +2 -1
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts +6 -4
- package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -1
- package/lib/types/components/sidePanel/SidePanelLayout.js +33 -7
- package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +4 -2
- package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwComposer.js +12 -4
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +59 -15
- package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadScene.js +4 -2
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -1
- package/lib/types/components/sidePanel/btw/BtwThreadView.js +12 -6
- package/lib/types/components/sidePanel/companion/CompanionPanel.js +2 -2
- package/lib/types/components/sidePanel/types.d.ts +1 -1
- package/lib/types/components/sidePanel/types.d.ts.map +1 -1
- package/lib/types/components/sidePanel/useSidePanel.d.ts +2 -0
- package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -1
- package/lib/types/components/sidePanel/useSidePanel.js +11 -1
- package/lib/types/components/splashFonts.d.ts +24 -1
- package/lib/types/components/splashFonts.d.ts.map +1 -1
- package/lib/types/components/splashFonts.js +40 -5
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
- package/lib/types/components/workspaces/HomeWorkspaceRow.js +5 -2
- package/lib/types/dsh-adapter/admission-loader.d.ts +20 -0
- package/lib/types/dsh-adapter/admission-loader.d.ts.map +1 -0
- package/lib/types/dsh-adapter/admission-loader.js +256 -0
- package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -1
- package/lib/types/dsh-adapter/backend/translate.js +3 -0
- package/lib/types/dsh-adapter/backend-admission.d.ts +64 -0
- package/lib/types/dsh-adapter/backend-admission.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-admission.js +34 -0
- package/lib/types/dsh-adapter/backend-contribution.d.ts +26 -0
- package/lib/types/dsh-adapter/backend-contribution.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-contribution.js +37 -0
- package/lib/types/dsh-adapter/backend-registry.d.ts +136 -0
- package/lib/types/dsh-adapter/backend-registry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backend-registry.js +285 -0
- package/lib/types/dsh-adapter/backends.d.ts +67 -24
- package/lib/types/dsh-adapter/backends.d.ts.map +1 -1
- package/lib/types/dsh-adapter/backends.generated.d.ts +12 -0
- package/lib/types/dsh-adapter/backends.generated.d.ts.map +1 -0
- package/lib/types/dsh-adapter/backends.generated.js +6 -0
- package/lib/types/dsh-adapter/backends.js +92 -46
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts +2 -0
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/action-readiness.js +9 -3
- package/lib/types/dsh-adapter/channel/agent-view-projection.js +2 -2
- package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/background-action.js +8 -3
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +16 -3
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +18 -46
- package/lib/types/dsh-adapter/channel/channel-host.d.ts +45 -0
- package/lib/types/dsh-adapter/channel/channel-host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/channel-host.js +1 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts +5 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/command-completions.js +16 -0
- package/lib/types/dsh-adapter/channel/composer-images.d.ts +4 -2
- package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/composer-images.js +36 -5
- package/lib/types/dsh-adapter/channel/cordis-host.d.ts +14 -0
- package/lib/types/dsh-adapter/channel/cordis-host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/cordis-host.js +35 -0
- package/lib/types/dsh-adapter/channel/core/actions.d.ts +3 -3
- package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/actions.js +15 -6
- package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +7 -3
- package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/binding-feed.js +3 -0
- package/lib/types/dsh-adapter/channel/core/compose.d.ts +12 -28
- package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/compose.js +318 -117
- package/lib/types/dsh-adapter/channel/core/files.d.ts +7 -2
- package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/files.js +1 -0
- package/lib/types/dsh-adapter/channel/core/host.d.ts +12 -6
- package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/host.js +69 -35
- package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +5 -3
- package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/local-actions.js +5 -2
- package/lib/types/dsh-adapter/channel/core/session-controls.js +2 -2
- package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +7 -4
- package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/session-switch.js +8 -4
- package/lib/types/dsh-adapter/channel/core/sessions.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/core/sessions.js +75 -16
- package/lib/types/dsh-adapter/channel/extensions.d.ts +4 -3
- package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/extensions.js +41 -22
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts +2 -2
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/input-delivery.js +14 -5
- package/lib/types/dsh-adapter/channel/job-projection.d.ts +4 -0
- package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/job-projection.js +205 -24
- package/lib/types/dsh-adapter/channel/mentions.d.ts +3 -3
- package/lib/types/dsh-adapter/channel/mentions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +1 -0
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/mode-permission-actions.js +138 -8
- package/lib/types/dsh-adapter/channel/model-actions.d.ts +5 -1
- package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/model-actions.js +40 -28
- package/lib/types/dsh-adapter/channel/model-selection.d.ts +17 -0
- package/lib/types/dsh-adapter/channel/model-selection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/model-selection.js +109 -0
- package/lib/types/dsh-adapter/channel/model-switch.d.ts +12 -21
- package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/model-switch.js +39 -102
- package/lib/types/dsh-adapter/channel/projection.js +1 -1
- package/lib/types/dsh-adapter/channel/reports.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/reports.js +11 -3
- package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-fork.js +33 -20
- package/lib/types/dsh-adapter/channel/session-listing.d.ts +20 -0
- package/lib/types/dsh-adapter/channel/session-listing.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-listing.js +51 -0
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts +3 -1
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-metadata.js +56 -27
- package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-resume.js +15 -8
- package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-rewind.js +38 -24
- package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-tree-actions.js +38 -24
- package/lib/types/dsh-adapter/channel/settings-host.d.ts +2 -2
- package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/settings-host.js +1 -0
- package/lib/types/dsh-adapter/channel/state.d.ts +37 -1
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +14 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.js +66 -6
- package/lib/types/dsh-adapter/channel/task-completion.d.ts +6 -0
- package/lib/types/dsh-adapter/channel/task-completion.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/task-completion.js +114 -0
- package/lib/types/dsh-adapter/channel/transcript.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/transcript.js +1 -1
- package/lib/types/dsh-adapter/channel/upstream-retry.d.ts +81 -0
- package/lib/types/dsh-adapter/channel/upstream-retry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/upstream-retry.js +138 -0
- package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/workspace-actions.js +9 -8
- package/lib/types/dsh-adapter/channel-ui.d.ts +3 -1
- package/lib/types/dsh-adapter/channel-ui.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel-ui.js +4 -2
- package/lib/types/dsh-adapter/channel.d.ts +2 -2
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +19 -5
- package/lib/types/dsh-adapter/context-occupancy.d.ts +81 -4
- package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -1
- package/lib/types/dsh-adapter/context-occupancy.js +108 -17
- package/lib/types/dsh-adapter/contract.d.ts +1 -1
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +15 -0
- package/lib/types/dsh-adapter/entry-slot.d.ts +36 -0
- package/lib/types/dsh-adapter/entry-slot.d.ts.map +1 -0
- package/lib/types/dsh-adapter/entry-slot.js +28 -0
- package/lib/types/dsh-adapter/fresh-agent.d.ts +22 -0
- package/lib/types/dsh-adapter/fresh-agent.d.ts.map +1 -0
- package/lib/types/dsh-adapter/fresh-agent.js +221 -0
- package/lib/types/dsh-adapter/host-access.d.ts +16 -1
- package/lib/types/dsh-adapter/host-access.d.ts.map +1 -1
- package/lib/types/dsh-adapter/host-access.js +53 -2
- package/lib/types/dsh-adapter/host-contract.d.ts +103 -0
- package/lib/types/dsh-adapter/host-contract.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-contract.js +76 -0
- package/lib/types/dsh-adapter/host-dsh.d.ts +106 -0
- package/lib/types/dsh-adapter/host-dsh.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-dsh.js +466 -0
- package/lib/types/dsh-adapter/host-entry.d.ts +9 -0
- package/lib/types/dsh-adapter/host-entry.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-entry.js +228 -0
- package/lib/types/dsh-adapter/index.d.ts +55 -18
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +59 -7
- package/lib/types/dsh-adapter/install/executors.d.ts +44 -0
- package/lib/types/dsh-adapter/install/executors.d.ts.map +1 -0
- package/lib/types/dsh-adapter/install/executors.js +15 -0
- package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts +3 -0
- package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts.map +1 -0
- package/lib/types/dsh-adapter/install/pnpm-profile-add.js +150 -0
- package/lib/types/dsh-adapter/jobs.d.ts +7 -0
- package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
- package/lib/types/dsh-adapter/jobs.js +13 -0
- package/lib/types/dsh-adapter/lite-profile.d.ts +50 -0
- package/lib/types/dsh-adapter/lite-profile.d.ts.map +1 -0
- package/lib/types/dsh-adapter/lite-profile.js +49 -0
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -1
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
- package/lib/types/dsh-adapter/migrate/parse/jsonl.js +4 -3
- package/lib/types/dsh-adapter/oauth/profiles.d.ts.map +1 -1
- package/lib/types/dsh-adapter/oauth/profiles.js +5 -1
- package/lib/types/dsh-adapter/panels.d.ts +7 -0
- package/lib/types/dsh-adapter/panels.d.ts.map +1 -1
- package/lib/types/dsh-adapter/panels.js +35 -2
- package/lib/types/dsh-adapter/plugin-completions.d.ts +32 -0
- package/lib/types/dsh-adapter/plugin-completions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-completions.js +80 -0
- package/lib/types/dsh-adapter/plugin-declaration.d.ts +21 -0
- package/lib/types/dsh-adapter/plugin-declaration.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-declaration.js +53 -0
- package/lib/types/dsh-adapter/plugin-host.d.ts +13 -2
- package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin-host.js +34 -8
- package/lib/types/dsh-adapter/plugin-manager.d.ts +68 -0
- package/lib/types/dsh-adapter/plugin-manager.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-manager.js +51 -0
- package/lib/types/dsh-adapter/plugin.d.ts +50 -1
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +870 -233
- package/lib/types/dsh-adapter/plugins-info.d.ts +44 -8
- package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugins-info.js +354 -34
- package/lib/types/dsh-adapter/process-exit.d.ts +43 -0
- package/lib/types/dsh-adapter/process-exit.d.ts.map +1 -0
- package/lib/types/dsh-adapter/process-exit.js +60 -0
- package/lib/types/dsh-adapter/root-dispose.d.ts +18 -0
- package/lib/types/dsh-adapter/root-dispose.d.ts.map +1 -0
- package/lib/types/dsh-adapter/root-dispose.js +28 -0
- package/lib/types/dsh-adapter/session-list-metadata.d.ts +20 -0
- package/lib/types/dsh-adapter/session-list-metadata.d.ts.map +1 -0
- package/lib/types/dsh-adapter/session-list-metadata.js +56 -0
- package/lib/types/dsh-adapter/session-seed.d.ts +11 -0
- package/lib/types/dsh-adapter/session-seed.d.ts.map +1 -0
- package/lib/types/dsh-adapter/session-seed.js +47 -0
- package/lib/types/dsh-adapter/sessions/list.d.ts +3 -1
- package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/list.js +11 -5
- package/lib/types/dsh-adapter/sessions/snapshot.d.ts +0 -2
- package/lib/types/dsh-adapter/sessions/snapshot.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/snapshot.js +7 -70
- package/lib/types/dsh-adapter/startup-args.d.ts +2 -0
- package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -1
- package/lib/types/dsh-adapter/startup-args.js +5 -0
- package/lib/types/dsh-adapter/subagents.d.ts +33 -1
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
- package/lib/types/dsh-adapter/subagents.js +110 -8
- package/lib/types/dsh-adapter/tui-settings.d.ts +57 -0
- package/lib/types/dsh-adapter/tui-settings.d.ts.map +1 -0
- package/lib/types/dsh-adapter/tui-settings.js +199 -0
- package/lib/types/effortPrefs.d.ts +6 -3
- package/lib/types/effortPrefs.d.ts.map +1 -1
- package/lib/types/effortPrefs.js +7 -4
- package/lib/types/hostEntryRoute.d.ts +18 -0
- package/lib/types/hostEntryRoute.d.ts.map +1 -0
- package/lib/types/hostEntryRoute.js +57 -0
- package/lib/types/i18n.d.ts +363 -1432
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +155 -385
- package/lib/types/ink/components/AlternateScreen.js +2 -2
- package/lib/types/ink/components/App.d.ts +1 -0
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +16 -4
- package/lib/types/ink/components/CursorDeclarationContext.d.ts +9 -0
- package/lib/types/ink/components/CursorDeclarationContext.d.ts.map +1 -1
- package/lib/types/ink/components/CursorDeclarationContext.js +2 -0
- package/lib/types/ink/hooks/use-copy-on-select.d.ts +2 -2
- package/lib/types/ink/hooks/use-copy-on-select.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-copy-on-select.js +13 -7
- package/lib/types/ink/hooks/use-declared-cursor.d.ts +11 -3
- package/lib/types/ink/hooks/use-declared-cursor.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-declared-cursor.js +30 -10
- package/lib/types/ink/ink.d.ts +22 -17
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +151 -40
- package/lib/types/ink/kitty-graphics.d.ts +2 -0
- package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
- package/lib/types/ink/kitty-graphics.js +6 -1
- package/lib/types/ink/node-cache.d.ts +2 -1
- package/lib/types/ink/node-cache.d.ts.map +1 -1
- package/lib/types/ink/output.d.ts +10 -4
- package/lib/types/ink/output.d.ts.map +1 -1
- package/lib/types/ink/output.js +14 -10
- package/lib/types/ink/render-node-to-output.d.ts +5 -2
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +27 -9
- package/lib/types/ink/renderer.d.ts +1 -0
- package/lib/types/ink/renderer.d.ts.map +1 -1
- package/lib/types/ink/renderer.js +4 -3
- package/lib/types/ink/root.d.ts +4 -1
- package/lib/types/ink/root.d.ts.map +1 -1
- package/lib/types/ink/screen.d.ts +4 -2
- package/lib/types/ink/screen.d.ts.map +1 -1
- package/lib/types/ink/selection.d.ts +10 -1
- package/lib/types/ink/selection.d.ts.map +1 -1
- package/lib/types/ink/selection.js +94 -25
- package/lib/types/ink/stdin-handoff.d.ts +11 -0
- package/lib/types/ink/stdin-handoff.d.ts.map +1 -0
- package/lib/types/ink/stdin-handoff.js +20 -0
- package/lib/types/ink/styles.d.ts +2 -1
- package/lib/types/ink/styles.d.ts.map +1 -1
- package/lib/types/ink/terminal-image.d.ts +6 -4
- package/lib/types/ink/terminal-image.d.ts.map +1 -1
- package/lib/types/ink/terminal-image.js +16 -39
- package/lib/types/ink/terminal-notification.d.ts +8 -0
- package/lib/types/ink/terminal-notification.d.ts.map +1 -0
- package/lib/types/ink/terminal-notification.js +83 -0
- package/lib/types/ink/terminal.d.ts +9 -0
- package/lib/types/ink/terminal.d.ts.map +1 -1
- package/lib/types/ink/terminal.js +34 -1
- package/lib/types/ink/termio/csi.d.ts +11 -0
- package/lib/types/ink/termio/csi.d.ts.map +1 -1
- package/lib/types/ink/termio/csi.js +13 -0
- package/lib/types/ink/update-overflow-guard.d.ts +6 -0
- package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
- package/lib/types/ink/update-overflow-guard.js +17 -0
- package/lib/types/ink/wrap-text.d.ts +6 -0
- package/lib/types/ink/wrap-text.d.ts.map +1 -1
- package/lib/types/ink/wrap-text.js +17 -0
- package/lib/types/kernelPrefs.d.ts +129 -16
- package/lib/types/kernelPrefs.d.ts.map +1 -1
- package/lib/types/kernelPrefs.js +98 -35
- package/lib/types/math/inline-layout.d.ts +2 -0
- package/lib/types/math/inline-layout.d.ts.map +1 -1
- package/lib/types/math/inline-layout.js +5 -27
- package/lib/types/modelGroups.d.ts +15 -27
- package/lib/types/modelGroups.d.ts.map +1 -1
- package/lib/types/modelGroups.js +17 -31
- package/lib/types/modelPrefs.d.ts +5 -4
- package/lib/types/modelPrefs.d.ts.map +1 -1
- package/lib/types/modelPrefs.js +5 -4
- package/lib/types/modelRoute.d.ts +23 -9
- package/lib/types/modelRoute.d.ts.map +1 -1
- package/lib/types/modelRoute.js +25 -11
- package/lib/types/permissionPrefs.d.ts +34 -0
- package/lib/types/permissionPrefs.d.ts.map +1 -0
- package/lib/types/permissionPrefs.js +61 -0
- package/lib/types/plugin-host.d.ts +1 -0
- package/lib/types/plugin-host.d.ts.map +1 -1
- package/lib/types/presetPrefs.d.ts +17 -3
- package/lib/types/presetPrefs.d.ts.map +1 -1
- package/lib/types/presetPrefs.js +20 -3
- package/lib/types/reload.d.ts +6 -10
- package/lib/types/reload.d.ts.map +1 -1
- package/lib/types/reload.js +14 -14
- package/lib/types/screens/Chat.d.ts +22 -15
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +442 -272
- package/lib/types/screens/Launchpad.d.ts +27 -17
- package/lib/types/screens/Launchpad.d.ts.map +1 -1
- package/lib/types/screens/Launchpad.js +241 -78
- package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/SessionSupervisor.js +53 -12
- package/lib/types/screens/Settings.d.ts.map +1 -1
- package/lib/types/screens/Settings.js +6 -0
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +24 -7
- package/lib/types/screens/StatusMetrics.d.ts +46 -1
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
- package/lib/types/screens/StatusMetrics.js +72 -0
- package/lib/types/screens/chat/useKernelPicker.d.ts +8 -4
- package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -1
- package/lib/types/screens/chat/useKernelPicker.js +61 -21
- package/lib/types/screens/chat/useModelPicker.d.ts +42 -0
- package/lib/types/screens/chat/useModelPicker.d.ts.map +1 -0
- package/lib/types/screens/chat/useModelPicker.js +182 -0
- package/lib/types/screens/chatOverlay.d.ts +11 -4
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +0 -1
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts +4 -1
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.js +26 -5
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +51 -29
- package/lib/types/sessionHistory.d.ts +5 -0
- package/lib/types/sessionHistory.d.ts.map +1 -1
- package/lib/types/sessionHistory.js +5 -0
- package/lib/types/sessions/listSnapshot.d.ts +6 -0
- package/lib/types/sessions/listSnapshot.d.ts.map +1 -0
- package/lib/types/sessions/listSnapshot.js +67 -0
- package/lib/types/settings/definitions.d.ts +50 -0
- package/lib/types/settings/definitions.d.ts.map +1 -1
- package/lib/types/settings/definitions.js +42 -8
- package/lib/types/terminal-utils/cjk-emphasis.d.ts +28 -0
- package/lib/types/terminal-utils/cjk-emphasis.d.ts.map +1 -0
- package/lib/types/terminal-utils/cjk-emphasis.js +31 -0
- package/lib/types/terminal-utils/markdown.d.ts +3 -1
- package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
- package/lib/types/terminal-utils/markdown.js +7 -2
- package/lib/types/theme.d.ts +29 -12
- package/lib/types/theme.d.ts.map +1 -1
- package/lib/types/theme.js +310 -23
- package/lib/types/themeCatalog.d.ts.map +1 -1
- package/lib/types/themeCatalog.js +21 -2
- package/lib/types/tips.js +4 -4
- package/lib/types/tuiSettingsFile.d.ts +56 -0
- package/lib/types/tuiSettingsFile.d.ts.map +1 -0
- package/lib/types/tuiSettingsFile.js +206 -0
- package/lib/types/ui.d.ts +2 -0
- package/lib/types/ui.d.ts.map +1 -1
- package/lib/types/ui.js +2 -0
- package/lib/types/update.d.ts +72 -26
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +131 -43
- package/lib/types/utils/bmp.d.ts +7 -0
- package/lib/types/utils/bmp.d.ts.map +1 -1
- package/lib/types/utils/bmp.js +27 -0
- package/lib/types/utils/bootTrace.d.ts +2 -0
- package/lib/types/utils/bootTrace.d.ts.map +1 -0
- package/lib/types/utils/bootTrace.js +20 -0
- package/lib/types/utils/clipboard.d.ts.map +1 -1
- package/lib/types/utils/clipboard.js +11 -3
- package/lib/types/utils/credentials.d.ts +14 -2
- package/lib/types/utils/credentials.d.ts.map +1 -1
- package/lib/types/utils/credentials.js +34 -11
- package/lib/types/utils/imageResize.d.ts +10 -20
- package/lib/types/utils/imageResize.d.ts.map +1 -1
- package/lib/types/utils/imageResize.js +61 -134
- package/lib/types/utils/inputPaste.d.ts +2 -2
- package/lib/types/utils/inputPaste.js +2 -2
- package/lib/types/utils/pastedImagePath.d.ts +5 -0
- package/lib/types/utils/pastedImagePath.d.ts.map +1 -1
- package/lib/types/utils/pastedImagePath.js +33 -0
- package/package.json +36 -6
- package/presets/winbash.mjs +716 -0
- package/tui-profile/protocols/profile-definitions.d.ts +1 -0
- package/tui-profile/protocols/profile-definitions.js +14 -0
- package/tui-profile/protocols/tui-contributions.d.ts +55 -0
- package/tui-profile/protocols/tui-contributions.js +141 -0
- package/tui-profile/registry/contracts/backend-v1alpha1.json +13 -0
- package/tui-profile/registry/registry-0.15.json +12 -0
- package/lib/types/backends/claude/install.d.ts +0 -15
- package/lib/types/backends/claude/install.d.ts.map +0 -1
- package/lib/types/backends/claude/install.js +0 -91
- package/lib/types/channel/elicitation.d.ts.map +0 -1
- package/lib/types/dsh-adapter/channel/session-lineage.d.ts +0 -42
- package/lib/types/dsh-adapter/channel/session-lineage.d.ts.map +0 -1
- package/lib/types/dsh-adapter/channel/session-lineage.js +0 -51
- package/lib/types/utils/jsonl.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAA8B,MAAM,wBAAwB,CAAA;AAGxF,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAmC,MAAM,4BAA4B,CAAA;AACrG,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAA4B,MAAM,qBAAqB,CAAA;AACpH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACpD,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAA;IACnI,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAC7D,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAC7D,QAAQ,CAAC,uBAAuB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAA;IAC5E,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;IAC7D;iFAC6E;IAC7E,iBAAiB,IAAI,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CACvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,QAAQ,CA6C5F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,yBAAyB,GAAG,cAAc,CAAC,EAChE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC,EAC5C,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,MAAM,CAAC,EACjD,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,GAC5C,IAAI,CAwCN;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;IACjE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC,CAAA;IACvD;iEAC6D;IAC7D,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,GAAG,MAAM,IAAI,CA8Bb"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { adapterRuntimeFor } from '../../../adapter/kernel/runtime-context.js';
|
|
2
1
|
import { readGrantStore } from '../../../adapter/standard/grants.js';
|
|
3
2
|
import { getHostCommandTrees } from '../../command-trees.js';
|
|
4
3
|
import { runForegroundShell } from '../../compat/shell.js';
|
|
5
|
-
import { installDecisionGuard, markDecisionDispatchTopology } from '../../decision-guard.js';
|
|
6
4
|
import { getHostGrantStore } from '../../host-grants.js';
|
|
7
5
|
import { getHostRenderers } from '../../renderers.js';
|
|
8
6
|
import { getHostSceneRuntime } from '../../scenes.js';
|
|
9
|
-
import { getHostSettingsSections
|
|
7
|
+
import { getHostSettingsSections } from '../../settings-sections.js';
|
|
10
8
|
import { getHostThemes } from '../../themes.js';
|
|
11
9
|
import { createLocalWorkspaceRuntime, getHostWorkspaceRuntime } from '../../workspaces.js';
|
|
12
10
|
/**
|
|
@@ -15,8 +13,7 @@ import { createLocalWorkspaceRuntime, getHostWorkspaceRuntime } from '../../work
|
|
|
15
13
|
* failure rolls it back.
|
|
16
14
|
*/
|
|
17
15
|
export function resolveCoreHost(ctx, owner) {
|
|
18
|
-
const adapterRuntime =
|
|
19
|
-
const themeHost = getHostThemes(ctx.get('tuiThemes'));
|
|
16
|
+
const adapterRuntime = ctx.runtime;
|
|
20
17
|
// Backstop: the extensions row installs the decision-subscription gate,
|
|
21
18
|
// but the channel is the dispatch path. A stale patch without that row (or
|
|
22
19
|
// a bare embed mounting neither) would otherwise leave tui/input and
|
|
@@ -28,52 +25,89 @@ export function resolveCoreHost(ctx, owner) {
|
|
|
28
25
|
// shadowed by an early snapshot.
|
|
29
26
|
const fallbackGrantStore = readGrantStore(undefined, undefined, adapterRuntime);
|
|
30
27
|
const currentGrantStore = () => getHostGrantStore(ctx.get('tuiPluginHost')) ?? fallbackGrantStore;
|
|
31
|
-
installDecisionGuard(
|
|
28
|
+
ctx.installDecisionGuard(currentGrantStore());
|
|
32
29
|
// The channel is the real DecisionEvents dispatch path. Record that
|
|
33
30
|
// topology so the live driver can distinguish "guard installed" (not a
|
|
34
31
|
// live feature) from "events can actually be dispatched here".
|
|
35
|
-
owner.own(markDecisionDispatchTopology(
|
|
32
|
+
owner.own(ctx.markDecisionDispatchTopology());
|
|
33
|
+
// Workspace registry runtime (optional service, issue #183): mounted by
|
|
34
|
+
// the bundle patch's dsh-tui-workspaces row; absent the row (stale patch
|
|
35
|
+
// or a bare embedder), degrade to the local-only runtime (one per channel).
|
|
36
|
+
let localWorkspaces;
|
|
36
37
|
return {
|
|
37
38
|
adapterRuntime,
|
|
38
|
-
themeHost,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
commandTrees
|
|
39
|
+
get themeHost() { return getHostThemes(ctx.get('tuiThemes')); },
|
|
40
|
+
get workspaceService() {
|
|
41
|
+
return getHostWorkspaceRuntime(ctx.get('tuiWorkspaces'))
|
|
42
|
+
?? (localWorkspaces ??= createLocalWorkspaceRuntime());
|
|
43
|
+
},
|
|
44
|
+
get commandTrees() { return getHostCommandTrees(ctx.get('tuiCommandTrees')); },
|
|
44
45
|
// Plugin scene runtime (optional, dsh-tui-scenes row): absent the row,
|
|
45
46
|
// `pluginScene` simply stays undefined.
|
|
46
|
-
sceneRuntime
|
|
47
|
+
get sceneRuntime() { return getHostSceneRuntime(ctx.get('tuiScenes')); },
|
|
47
48
|
// Falls back to the in-package local host when the composition's
|
|
48
49
|
// service row is unavailable (issue #557).
|
|
49
|
-
settingsSectionsRuntime
|
|
50
|
+
get settingsSectionsRuntime() {
|
|
51
|
+
return getHostSettingsSections(ctx.get('tuiSettingsSections'))
|
|
52
|
+
?? ctx.localSettingsSections();
|
|
53
|
+
},
|
|
50
54
|
// Custom-entry text renderers (optional, dsh-tui-extensions row): absent
|
|
51
55
|
// the row, unknown plugin event types stay invisible in the transcript.
|
|
52
|
-
rendererRuntime
|
|
56
|
+
get rendererRuntime() { return getHostRenderers(ctx.get('tuiRenderers')); },
|
|
53
57
|
currentGrantStore,
|
|
54
58
|
};
|
|
55
59
|
}
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
let
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Re-render on settings-section and plugin-scene changes (owner-scoped),
|
|
62
|
+
* re-binding when the host reports a service change.
|
|
63
|
+
*/
|
|
64
|
+
export function startHostSubscriptions(host, owner, state, services) {
|
|
65
|
+
let sections;
|
|
66
|
+
let scenes;
|
|
67
|
+
const bind = () => {
|
|
68
|
+
let changed = false;
|
|
69
|
+
const sectionsRuntime = host.settingsSectionsRuntime;
|
|
70
|
+
if (sections === undefined || sections.runtime !== sectionsRuntime) {
|
|
71
|
+
sections?.off?.();
|
|
72
|
+
sections = { runtime: sectionsRuntime, off: sectionsRuntime?.subscribe(() => { if (owner.current())
|
|
73
|
+
state.emit(); }) };
|
|
74
|
+
changed = true;
|
|
75
|
+
}
|
|
76
|
+
const sceneRuntime = host.sceneRuntime;
|
|
77
|
+
if (scenes === undefined || scenes.runtime !== sceneRuntime) {
|
|
78
|
+
scenes?.off?.();
|
|
79
|
+
scenes = {
|
|
80
|
+
runtime: sceneRuntime,
|
|
81
|
+
off: sceneRuntime?.subscribe(() => {
|
|
82
|
+
if (state.pluginScene === sceneRuntime.active)
|
|
83
|
+
return;
|
|
84
|
+
state.pluginScene = sceneRuntime.active;
|
|
85
|
+
state.emit();
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
88
|
+
if (state.pluginScene !== sceneRuntime?.active)
|
|
89
|
+
state.pluginScene = sceneRuntime?.active;
|
|
90
|
+
changed = true;
|
|
91
|
+
}
|
|
92
|
+
return changed;
|
|
93
|
+
};
|
|
94
|
+
bind();
|
|
95
|
+
owner.own(() => {
|
|
96
|
+
sections?.off?.();
|
|
97
|
+
scenes?.off?.();
|
|
98
|
+
sections = undefined;
|
|
99
|
+
scenes = undefined;
|
|
100
|
+
});
|
|
101
|
+
const unwatch = services?.watchServices?.(name => {
|
|
102
|
+
if (name !== 'tuiSettingsSections' && name !== 'tuiScenes')
|
|
64
103
|
return;
|
|
65
|
-
|
|
66
|
-
|
|
104
|
+
if (!owner.current())
|
|
105
|
+
return;
|
|
106
|
+
if (bind())
|
|
107
|
+
state.emit();
|
|
67
108
|
});
|
|
68
|
-
if (
|
|
69
|
-
|
|
70
|
-
owner.own(() => {
|
|
71
|
-
if (unsubscribeScenes !== disposeScenes)
|
|
72
|
-
return;
|
|
73
|
-
unsubscribeScenes = undefined;
|
|
74
|
-
disposeScenes();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
109
|
+
if (unwatch !== undefined)
|
|
110
|
+
owner.own(unwatch);
|
|
77
111
|
}
|
|
78
112
|
/**
|
|
79
113
|
* Statusline breadcrumb: the current git branch of the session cwd
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* restore only works when the backend can slice its own durable history;
|
|
6
6
|
* otherwise nothing is ever folded and the action restores 0 rows.
|
|
7
7
|
*/
|
|
8
|
-
import type {
|
|
8
|
+
import type { ServiceLookup } from '../channel-host.js';
|
|
9
9
|
import type { ChannelBinding } from '../binding.js';
|
|
10
10
|
import type { ChannelOwner } from '../owner.js';
|
|
11
11
|
import type { ChannelState } from '../types.js';
|
|
12
12
|
import type { CoreHost } from './host.js';
|
|
13
13
|
/** `/activity frames <name>`: validate, persist, re-render. */
|
|
14
14
|
export declare function setActivityFrames(state: Pick<ChannelState, 'activityFrames' | 'emit'>, notify: ChannelState['notify'], name: string): boolean;
|
|
15
|
-
export declare function createCoreLocalActions(ctx:
|
|
15
|
+
export declare function createCoreLocalActions(ctx: ServiceLookup, deps: {
|
|
16
16
|
owner: Pick<ChannelOwner, 'current'>;
|
|
17
17
|
binding: Pick<ChannelBinding, 'capture' | 'isCurrent'>;
|
|
18
18
|
state: ChannelState;
|
|
@@ -33,7 +33,9 @@ export declare function createCoreLocalActions(ctx: Context, deps: {
|
|
|
33
33
|
}): {
|
|
34
34
|
loadOlder(): number;
|
|
35
35
|
clear(): void;
|
|
36
|
-
pushLocal(title: string, lines: readonly string[]
|
|
36
|
+
pushLocal(title: string, lines: readonly string[], options?: {
|
|
37
|
+
readonly lineLimit?: number;
|
|
38
|
+
}): void;
|
|
37
39
|
setActivityFrames: (name: string) => boolean;
|
|
38
40
|
/**
|
|
39
41
|
* `!cmd` / `!!cmd`: the workspace's own command shell when it has one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-actions.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/local-actions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"local-actions.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/local-actions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,GAAG,MAAM,CAAC,EACpD,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAYT;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;IACtD,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACvC,eAAe,IAAI,IAAI,CAAA;IACvB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,2EAA2E;IAC3E,QAAQ,IAAI,IAAI,CAAA;IAChB;2DACuD;IACvD,SAAS,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAA;IACvC,kEAAkE;IAClE,UAAU,CAAC,IAAI,MAAM,IAAI,CAAA;CAC1B;iBAIgB,MAAM;aAQV,IAAI;qBAYI,MAAM,SAAS,SAAS,MAAM,EAAE,YAAY;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;8BASzE,MAAM,KAAG,OAAO;IAE1C;;;;OAIG;6BAC4B,MAAM,oBAAoB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;EA8CnF;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
|
|
@@ -51,10 +51,13 @@ export function createCoreLocalActions(ctx, deps) {
|
|
|
51
51
|
state.rows.push({ id: rowIds.value++, kind: 'notice', text: t('session-cleared') });
|
|
52
52
|
state.emit();
|
|
53
53
|
},
|
|
54
|
-
pushLocal(title, lines) {
|
|
54
|
+
pushLocal(title, lines, options) {
|
|
55
|
+
// A report whose line IS the payload (the /goal objective) raises the
|
|
56
|
+
// budget; every other report keeps the shared 240-cell preview.
|
|
57
|
+
const limit = options?.lineLimit ?? LOCAL_OUTPUT_LIMIT;
|
|
55
58
|
state.rows.push({ id: rowIds.value++, kind: 'local', text: title });
|
|
56
59
|
for (const line of lines)
|
|
57
|
-
state.rows.push({ id: rowIds.value++, kind: 'local-output', text: preview(line,
|
|
60
|
+
state.rows.push({ id: rowIds.value++, kind: 'local-output', text: preview(line, limit) });
|
|
58
61
|
state.emit();
|
|
59
62
|
},
|
|
60
63
|
setActivityFrames: (name) => setActivityFrames(state, notify, name),
|
|
@@ -35,12 +35,12 @@ export function createSessionControls(deps) {
|
|
|
35
35
|
// Local names win, served here or not: a typed `/init` is the local
|
|
36
36
|
// command (or its explicit unavailability), never the backend's. A
|
|
37
37
|
// served `/goal` (the typed capability) wins over a same-named backend
|
|
38
|
-
// command the same way.
|
|
38
|
+
// command the same way. Compare names case-insensitively, as completion does.
|
|
39
39
|
const served = localCommandsFor(state.backendCapabilities.commands);
|
|
40
40
|
const local = new Set([...LOCAL_COMMANDS.map(command => command.name), ...(served.includes(BACKEND_GOAL_COMMAND) ? [BACKEND_GOAL_COMMAND.name] : [])]);
|
|
41
41
|
state.commandList = backendCommands.length === 0
|
|
42
42
|
? served
|
|
43
|
-
: [...served, ...backendCommands.filter(command => !local.has(command.name))];
|
|
43
|
+
: [...served, ...backendCommands.filter(command => !local.has(command.name.toLowerCase()))];
|
|
44
44
|
};
|
|
45
45
|
const loadBackendCommands = (session, current) => {
|
|
46
46
|
const commands = session.capabilities.commands;
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
* (`claude:<id>`) for the whole attempt, like a DSH disk resume: a session
|
|
21
21
|
* another TUI process drives is refused.
|
|
22
22
|
*/
|
|
23
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
24
23
|
import type { AgentEvent } from '../../../agent/events.js';
|
|
25
24
|
import type { AgentSession } from '../../../agent/session.js';
|
|
26
25
|
import { reserveMount } from '../../../sessionMounts.js';
|
|
26
|
+
import type { ChannelHost } from '../channel-host.js';
|
|
27
27
|
import type { ChannelCapabilities } from '../../../adapter/ports/channel-view.js';
|
|
28
28
|
import type { ChannelBinding } from '../binding.js';
|
|
29
29
|
import type { ChannelOwner } from '../owner.js';
|
|
@@ -95,7 +95,7 @@ export interface ResumeSessionOpener {
|
|
|
95
95
|
readonly sessionId: string;
|
|
96
96
|
}): ResumeSessionPlan;
|
|
97
97
|
}
|
|
98
|
-
export declare function createSessionSwitch(ctx:
|
|
98
|
+
export declare function createSessionSwitch(ctx: Pick<ChannelHost, 'logger' | 'dispatchDecision' | 'dispatchNotification'>, deps: {
|
|
99
99
|
owner: Pick<ChannelOwner, 'current'>;
|
|
100
100
|
binding: Pick<ChannelBinding, 'session' | 'capture' | 'isCurrent' | 'prepare' | 'abandon' | 'adopt'>;
|
|
101
101
|
state: () => Pick<ChannelState, 'agentId' | 'cwd' | 'displayCwd' | 'working' | 'pending'>;
|
|
@@ -156,12 +156,15 @@ export declare function createBackendOpener(deps: {
|
|
|
156
156
|
value: number;
|
|
157
157
|
};
|
|
158
158
|
resetProjection(): void;
|
|
159
|
-
/** Forget the replaced session's subagents and background jobs
|
|
160
|
-
|
|
159
|
+
/** Forget the replaced session's subagents and background jobs, and
|
|
160
|
+
* rebuild the subagent control for the candidate (its capabilities). */
|
|
161
|
+
resetActivity?(candidate: AgentSession): void;
|
|
161
162
|
snapshotOf(session: AgentSession): ChannelCapabilities;
|
|
162
163
|
/** Forget the replaced session's backend commands and reports. */
|
|
163
164
|
resetControls(): void;
|
|
164
165
|
bind(seed: readonly AgentEvent[]): void;
|
|
166
|
+
/** Runs before the bind (core/compose.ts `attachOnAdopt`). */
|
|
167
|
+
attach?(candidate: AgentSession): void;
|
|
165
168
|
/** The bound session (its backend-qualified reference is the ledger key). */
|
|
166
169
|
bound(): AgentSession;
|
|
167
170
|
mounts: SessionMountLedger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-switch.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/session-switch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"session-switch.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/session-switch.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { t } from '../../../i18n.js';
|
|
|
3
3
|
import { WORKING_GATE_NOTICES } from '../../../commands.js';
|
|
4
4
|
import { mountFailureText } from '../../../sessions/resumeFailure.js';
|
|
5
5
|
import { releaseMount, reserveMount, reserveNewSession } from '../../../sessionMounts.js';
|
|
6
|
-
import {
|
|
6
|
+
import { normalizeCancelDecision } from '../../extension-events.js';
|
|
7
7
|
import { resetSessionProjection } from '../session-reset.js';
|
|
8
8
|
export function createSessionSwitch(ctx, deps) {
|
|
9
9
|
const { binding, notify } = deps;
|
|
@@ -19,7 +19,7 @@ export function createSessionSwitch(ctx, deps) {
|
|
|
19
19
|
// switch roll over a newer session the user switched to mid-await.
|
|
20
20
|
const origin = deps.conversationKey(binding.session);
|
|
21
21
|
const state = deps.state();
|
|
22
|
-
const decision = await deps.withDecisionPending('tui/session-switch',
|
|
22
|
+
const decision = await deps.withDecisionPending('tui/session-switch', ctx.dispatchDecision('tui/session-switch', {
|
|
23
23
|
kind,
|
|
24
24
|
...(targetSessionId === undefined ? {} : { targetSessionId }),
|
|
25
25
|
sessionId: state.agentId,
|
|
@@ -42,7 +42,7 @@ export function createSessionSwitch(ctx, deps) {
|
|
|
42
42
|
* the switch itself already succeeded. */
|
|
43
43
|
const notifySessionSwitched = (kind, sessionId, previousSessionId) => {
|
|
44
44
|
try {
|
|
45
|
-
void
|
|
45
|
+
void ctx.dispatchNotification('tui/session-switched', { kind, sessionId, previousSessionId, cwd: deps.state().cwd }).catch((error) => {
|
|
46
46
|
ctx.logger.warn('dsh-tui: tui/session-switched listener failed: %o', error);
|
|
47
47
|
});
|
|
48
48
|
}
|
|
@@ -315,11 +315,15 @@ export function createBackendOpener(deps) {
|
|
|
315
315
|
}
|
|
316
316
|
};
|
|
317
317
|
const adoptWith = (candidate, history) => {
|
|
318
|
-
resetSessionProjection(state, deps.rowIds, deps.resetProjection, () => { deps.resetActivity?.(); }, () => undefined);
|
|
318
|
+
resetSessionProjection(state, deps.rowIds, deps.resetProjection, () => { deps.resetActivity?.(candidate); }, () => undefined);
|
|
319
319
|
state.agentId = candidate.ref.sessionId;
|
|
320
320
|
state.sessionId = candidate.ref.sessionId;
|
|
321
321
|
state.backendCapabilities = deps.snapshotOf(candidate);
|
|
322
|
+
// A placeholder whose startup open failed is retried by `/new`.
|
|
323
|
+
state.ready = true;
|
|
324
|
+
state.startupFailure = undefined;
|
|
322
325
|
deps.resetControls();
|
|
326
|
+
deps.attach?.(candidate);
|
|
323
327
|
deps.bind(history);
|
|
324
328
|
deps.touch?.(candidate.ref.sessionId);
|
|
325
329
|
state.emit();
|
|
@@ -19,7 +19,7 @@ import type { ChannelLaunchOptions } from '../state.js';
|
|
|
19
19
|
import type { TuiRewindMode } from '../../../adapter/ports/channel-session.js';
|
|
20
20
|
import type { ChannelState, ChatRow, ResumeResult } from '../types.js';
|
|
21
21
|
export declare function createCoreSessionActions(deps: {
|
|
22
|
-
owner: Pick<ChannelOwner, 'current'>;
|
|
22
|
+
owner: Pick<ChannelOwner, 'current' | 'own'>;
|
|
23
23
|
session(): AgentSession;
|
|
24
24
|
state: () => ChannelState;
|
|
25
25
|
notify: ChannelState['notify'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAK7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,2CAA2C,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAWtE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,KAAK,CAAC,CAAA;IAC5C,OAAO,IAAI,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,YAAY,CAAA;IACzB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,OAAO,EAAE,cAAc,GAAG,SAAS,CAAA;IACnC,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAA;IAC3C,aAAa,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAA;IACpD,0DAA0D;IAC1D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC3E,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAA;CACjB;;wBAmPkC,OAAO,KAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;KAAE,GAAG,QAAQ,GAAG,IAAI,CAAC;EA2B1G"}
|
|
@@ -2,6 +2,8 @@ import { formatSessionRef } from '../../../agent/refs.js';
|
|
|
2
2
|
import { t } from '../../../i18n.js';
|
|
3
3
|
import { WORKING_GATE_NOTICES } from '../../../commands.js';
|
|
4
4
|
import { occupancyOf, readSessionOwners } from '../../../sessionMounts.js';
|
|
5
|
+
import { beginListingSnapshot, readListingSnapshot } from '../../../sessions/listSnapshot.js';
|
|
6
|
+
import { createSessionListing } from '../session-listing.js';
|
|
5
7
|
/** Preview text of a dry-run file restore (`3 files · +10 −2`). */
|
|
6
8
|
function filesSummary(preview) {
|
|
7
9
|
const parts = [t('rewind-files-count', { n: preview.filesChanged.length })];
|
|
@@ -15,40 +17,97 @@ export function createCoreSessionActions(deps) {
|
|
|
15
17
|
const caps = () => deps.session().capabilities;
|
|
16
18
|
/** The last successful listing (the browser's first paint; may be stale). */
|
|
17
19
|
let cached;
|
|
18
|
-
|
|
20
|
+
let cachedSource;
|
|
21
|
+
const cachedSessions = () => {
|
|
22
|
+
const catalog = deps.catalog;
|
|
23
|
+
if (catalog === undefined)
|
|
24
|
+
return undefined;
|
|
25
|
+
const key = catalog.snapshotKey?.();
|
|
26
|
+
if (cachedSource === (key ?? catalog))
|
|
27
|
+
return cached;
|
|
28
|
+
return key === undefined ? undefined : readListingSnapshot(key);
|
|
29
|
+
};
|
|
30
|
+
const remember = (rows) => {
|
|
31
|
+
cached = rows;
|
|
32
|
+
cachedSource = deps.catalog?.snapshotKey?.() ?? deps.catalog;
|
|
33
|
+
};
|
|
34
|
+
const saveMutation = (rows) => {
|
|
35
|
+
listing.invalidate();
|
|
36
|
+
if (rows === undefined)
|
|
37
|
+
return;
|
|
38
|
+
remember(rows);
|
|
39
|
+
const key = deps.catalog?.snapshotKey?.();
|
|
40
|
+
if (key !== undefined)
|
|
41
|
+
beginListingSnapshot(key)(rows);
|
|
42
|
+
};
|
|
43
|
+
const rowOf = (sessionId) => cachedSessions()?.find(row => row.id === sessionId);
|
|
19
44
|
const isBound = (sessionId) => deps.session().ref.sessionId === sessionId;
|
|
20
45
|
const failed = (key, error) => {
|
|
21
46
|
if (deps.owner.current())
|
|
22
47
|
notify(t(key, { err: errorText(error) }), { color: 'error', timeoutMs: 8000 });
|
|
23
48
|
};
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
49
|
+
const listing = createSessionListing({
|
|
50
|
+
owner: deps.owner,
|
|
51
|
+
capture: () => {
|
|
52
|
+
const session = deps.session();
|
|
53
|
+
const state = deps.state();
|
|
54
|
+
const cwd = state.cwd;
|
|
55
|
+
const starting = state.ready === false && session.ref.sessionId === '';
|
|
56
|
+
const bindingGeneration = state.agentBindingGeneration;
|
|
57
|
+
const key = deps.catalog?.snapshotKey?.();
|
|
58
|
+
return () => {
|
|
59
|
+
const state = deps.state();
|
|
60
|
+
const bound = deps.session();
|
|
61
|
+
// A same-workspace startup adoption keeps the pending catalog valid;
|
|
62
|
+
// subsequent switches still revoke it, even when their cwd is equal.
|
|
63
|
+
const adopted = starting && state.ready && state.agentBindingGeneration === bindingGeneration + 1
|
|
64
|
+
&& bound.ref.backendId === session.ref.backendId;
|
|
65
|
+
return deps.owner.current() && (bound === session || adopted) && state.cwd === cwd && deps.catalog?.snapshotKey?.() === key;
|
|
66
|
+
};
|
|
67
|
+
},
|
|
68
|
+
// Read this workspace before the global catalog. Only the complete
|
|
69
|
+
// global result may replace the durable snapshot.
|
|
70
|
+
async read(current, _onEnriched, onPartial) {
|
|
33
71
|
const catalog = deps.catalog;
|
|
34
72
|
if (catalog === undefined) {
|
|
35
73
|
unavailable('resume');
|
|
36
74
|
return [];
|
|
37
75
|
}
|
|
38
|
-
const
|
|
39
|
-
|
|
76
|
+
const key = catalog.snapshotKey?.();
|
|
77
|
+
const save = key === undefined ? undefined : beginListingSnapshot(key);
|
|
78
|
+
const publish = (rows) => { if (current())
|
|
79
|
+
onPartial?.(rows); };
|
|
80
|
+
const local = await catalog.list({ cwd: deps.state().cwd }, publish);
|
|
81
|
+
if (!current())
|
|
82
|
+
return [];
|
|
83
|
+
publish(local);
|
|
40
84
|
let all;
|
|
85
|
+
let complete = true;
|
|
41
86
|
try {
|
|
42
|
-
all = await catalog.list({ allProjects: true }
|
|
87
|
+
all = await catalog.list({ allProjects: true }, rows => {
|
|
88
|
+
const ids = new Set(rows.map(row => row.id));
|
|
89
|
+
publish([...rows, ...local.filter(row => !ids.has(row.id))].sort((a, b) => b.updatedAt - a.updatedAt));
|
|
90
|
+
});
|
|
43
91
|
}
|
|
44
92
|
catch {
|
|
45
93
|
all = local;
|
|
94
|
+
complete = false;
|
|
46
95
|
}
|
|
96
|
+
if (!current())
|
|
97
|
+
return [];
|
|
47
98
|
const ids = new Set(all.map(row => row.id));
|
|
48
99
|
const merged = [...all, ...local.filter(row => !ids.has(row.id))].sort((a, b) => b.updatedAt - a.updatedAt);
|
|
49
|
-
|
|
100
|
+
// Failed global reads and partial pages never replace a durable snapshot.
|
|
101
|
+
if (complete) {
|
|
102
|
+
remember(merged);
|
|
103
|
+
save?.(merged);
|
|
104
|
+
}
|
|
50
105
|
return merged;
|
|
51
106
|
},
|
|
107
|
+
});
|
|
108
|
+
const delegates = {
|
|
109
|
+
cachedSessions,
|
|
110
|
+
listSessions: listing.listSessions,
|
|
52
111
|
async previewSession(sessionId) {
|
|
53
112
|
const preview = deps.catalog?.preview;
|
|
54
113
|
if (preview === undefined) {
|
|
@@ -79,7 +138,7 @@ export function createCoreSessionActions(deps) {
|
|
|
79
138
|
failed('rename-failed', error);
|
|
80
139
|
return false;
|
|
81
140
|
}
|
|
82
|
-
|
|
141
|
+
saveMutation(cachedSessions()?.map(row => row.id === sessionId ? { ...row, title: { text: next, source: 'renamed' } } : row));
|
|
83
142
|
if (isBound(sessionId) && deps.owner.current()) {
|
|
84
143
|
const state = deps.state();
|
|
85
144
|
state.sessionTitle = next;
|
|
@@ -114,7 +173,7 @@ export function createCoreSessionActions(deps) {
|
|
|
114
173
|
return false;
|
|
115
174
|
}
|
|
116
175
|
deps.prefs?.forget(sessionId);
|
|
117
|
-
|
|
176
|
+
saveMutation(cachedSessions()?.filter(row => row.id !== sessionId));
|
|
118
177
|
return true;
|
|
119
178
|
},
|
|
120
179
|
setResumeTarget(sessionId) {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - controls: permission modes and presets, model / preset / effort, manual
|
|
16
16
|
* compaction, the model-selection waterfalls and the child-route fill;
|
|
17
17
|
* - reports: `/doctor`, `/export` (from the log), `/mcp`, `/init`, `/balance`,
|
|
18
|
-
* `/
|
|
18
|
+
* `/plugin`, `/login` credential descriptions.
|
|
19
19
|
*
|
|
20
20
|
* Construction order matters where it is observable: the job feed and
|
|
21
21
|
* pricing are installed before the seed replay, the replay runs before the
|
|
@@ -29,8 +29,9 @@ import type { CoreChannel } from './core/compose.js';
|
|
|
29
29
|
import { type ChannelLaunchOptions } from './state.js';
|
|
30
30
|
/**
|
|
31
31
|
* Attach the DSH specialists to a core whose bound session is a DSH session.
|
|
32
|
-
* Called inside `createChannel`'s construction transaction
|
|
33
|
-
*
|
|
32
|
+
* Called inside `createChannel`'s construction transaction, or inside the
|
|
33
|
+
* adoption that binds a placeholder's DSH session (`core.extendOnAdopt`); a
|
|
34
|
+
* throw fails either. The binding already holds the DSH session.
|
|
34
35
|
*/
|
|
35
36
|
export declare function attachDshExtensions(core: CoreChannel, ctx: Context, initialNative: DshNative, options: ChannelLaunchOptions): void;
|
|
36
37
|
//# sourceMappingURL=extensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAsB5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AA0BpD,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAqBzE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,SAAS,EACxB,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAsrBN"}
|