@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-events.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/binding-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"binding-events.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/binding-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAIpE,OAAO,EAAwE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAChI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;IACtD,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,iBAAiB,CAAA;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB;;;;iDAI6C;IAC7C,YAAY,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACrC;;;;iCAI6B;IAC7B,oBAAoB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACjC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;IACvD,YAAY,EAAE;QAAE,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAA;IACvD,WAAW,EAAE;QACX,WAAW,IAAI,IAAI,CAAA;QACnB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;QACtD;4EACoE;QACpE,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAC3C,CAAA;IACD,SAAS,EAAE,iBAAiB,CAAA;IAC5B,SAAS,EAAE;QACT,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;QACzD,aAAa,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAA;QACpE,OAAO,CAAC,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;QAC7G,KAAK,CAAC,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAA;SAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;QAC9H,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;KAC5B,CAAA;IACD;6EACyE;IACzE,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAA;IAC/C,SAAS,EAAE;QAAE,QAAQ,IAAI,IAAI,CAAA;KAAE,CAAA;IAC/B,eAAe,CAAC,EAAE;QAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAA;IACrE;;;uCAGmC;IACnC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;IACtD;;;sCAGkC;IAClC,gBAAgB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3C;;;;wBAsEmB,IAAI;+CAImB,YAAY,GAAG,IAAI;;EAwD7D;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA"}
|
|
@@ -17,7 +17,7 @@ export function createBindingEvents(ctx, deps) {
|
|
|
17
17
|
/**
|
|
18
18
|
* Preset of the last binding we announced a capability gap for. The gap is a
|
|
19
19
|
* property of the agent's PRESET, so it is reported once per entry into a
|
|
20
|
-
* preset that lacks it (a rebind to the SAME preset — /
|
|
20
|
+
* preset that lacks it (a rebind to the SAME preset — /rewind —
|
|
21
21
|
* stays quiet; switching away and back reports again). Facts come from
|
|
22
22
|
* `channel/capabilities.ts`, never from a preset-id list: a user preset that
|
|
23
23
|
* adds compaction/pruning back gets no warning at all.
|
|
@@ -82,9 +82,9 @@ export function createBindingEvents(ctx, deps) {
|
|
|
82
82
|
/**
|
|
83
83
|
* The DSH half of every bind (core/binding-feed.ts runs it): the owner-level
|
|
84
84
|
* child listeners once, then per binding the activity seed, the model
|
|
85
|
-
* selection
|
|
86
|
-
*
|
|
87
|
-
* before the core's session subscription, so each raw event reaches the
|
|
85
|
+
* selection activation, the preferred effort and mode refresh, and the raw
|
|
86
|
+
* durable-event subscribers. Routing listeners survive foreground rebinds.
|
|
87
|
+
* Registered before the core's session subscription, so each raw event reaches the
|
|
88
88
|
* DSH specialists before the projector folds it.
|
|
89
89
|
*/
|
|
90
90
|
const hooks = {
|
|
@@ -99,13 +99,23 @@ export function createBindingEvents(ctx, deps) {
|
|
|
99
99
|
onBind({ capture, current, register }) {
|
|
100
100
|
deps.seedActivity?.(deps.binding.agent.session);
|
|
101
101
|
deps.seedContextOccupancy?.(deps.binding.agent.session);
|
|
102
|
-
deps.
|
|
103
|
-
deps.
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
deps.seedTeam?.(deps.binding.agent.session);
|
|
103
|
+
deps.modelSelection.bind(deps.binding.agent, { provider: deps.state.provider, model: deps.state.model });
|
|
104
|
+
const selected = deps.modelSelection.selection.current;
|
|
105
|
+
// A parked turn may not have logged its first selected request yet.
|
|
106
|
+
if (selected !== undefined) {
|
|
107
|
+
deps.state.provider = selected.provider;
|
|
108
|
+
deps.state.model = selected.model;
|
|
106
109
|
}
|
|
107
110
|
void deps.modelActions.applyPreferredEffort();
|
|
108
111
|
deps.modeActions.refreshMode();
|
|
112
|
+
// Same pattern as the preferred effort above: the remembered
|
|
113
|
+
// permission preference seeds sessions that never chose their own.
|
|
114
|
+
void deps.modeActions.applyRememberedPermission();
|
|
115
|
+
// The upstream auto-retry policy follows the route in use: the
|
|
116
|
+
// agent's own options name it after a resume, and a fresh session
|
|
117
|
+
// falls back to the launch route (/model seeds its own selection).
|
|
118
|
+
deps.seedUpstreamRetry?.(selected?.provider ?? deps.binding.agent.options?.provider ?? deps.state.provider);
|
|
109
119
|
// Entering/resuming a session whose preset serves neither automatic
|
|
110
120
|
// compaction nor tool-result pruning changes what the user can expect
|
|
111
121
|
// from a long session; say it once, here, before the turn starts.
|
|
@@ -113,44 +123,6 @@ export function createBindingEvents(ctx, deps) {
|
|
|
113
123
|
const native = capture.session.capabilities.native.dsh;
|
|
114
124
|
if (native === undefined)
|
|
115
125
|
return;
|
|
116
|
-
// Keep the upstream assembly/request pairing, but own each listener as
|
|
117
|
-
// soon as it is installed. The upstream combined disposer is too late
|
|
118
|
-
// if request registration throws, and its post-await assembly write is
|
|
119
|
-
// unsafe after a rebind (including A→B→A ABA).
|
|
120
|
-
const disposeAssembly = native.agent.ctx.on('system-prompt/assemble', async (_assembly, _context, next) => {
|
|
121
|
-
const selected = deps.selection.current;
|
|
122
|
-
const assembled = await next();
|
|
123
|
-
if (!current())
|
|
124
|
-
return assembled;
|
|
125
|
-
deps.selection.assembled = selected;
|
|
126
|
-
if (selected === undefined)
|
|
127
|
-
return assembled;
|
|
128
|
-
return {
|
|
129
|
-
...assembled,
|
|
130
|
-
variables: {
|
|
131
|
-
...assembled.variables,
|
|
132
|
-
provider: selected.provider,
|
|
133
|
-
model: selected.model,
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
});
|
|
137
|
-
register(disposeAssembly);
|
|
138
|
-
const disposeRequest = native.agent.ctx.on('agent/request', async (_payload, next) => {
|
|
139
|
-
const resolved = await next();
|
|
140
|
-
if (!current())
|
|
141
|
-
return resolved;
|
|
142
|
-
const selected = deps.selection.assembled;
|
|
143
|
-
if (selected === undefined)
|
|
144
|
-
return resolved;
|
|
145
|
-
const { reasoningEffort: _inheritedEffort, ...withoutInheritedEffort } = resolved;
|
|
146
|
-
return {
|
|
147
|
-
...withoutInheritedEffort,
|
|
148
|
-
provider: selected.provider,
|
|
149
|
-
model: selected.model,
|
|
150
|
-
...(selected.reasoningEffort === undefined ? {} : { reasoningEffort: selected.reasoningEffort }),
|
|
151
|
-
};
|
|
152
|
-
});
|
|
153
|
-
register(disposeRequest);
|
|
154
126
|
// Raw durable events for the DSH specialists. Registered before the
|
|
155
127
|
// session subscription, so each event reaches them before the
|
|
156
128
|
// projector folds it.
|
|
@@ -159,6 +131,7 @@ export function createBindingEvents(ctx, deps) {
|
|
|
159
131
|
return;
|
|
160
132
|
deps.messageObserver?.publish(native.agent.session, event);
|
|
161
133
|
deps.modeActions.onSessionEvent(native.agent.session, event);
|
|
134
|
+
deps.jobs?.onSessionEvent(event);
|
|
162
135
|
}));
|
|
163
136
|
},
|
|
164
137
|
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a channel composition needs from its host, without naming Cordis:
|
|
3
|
+
* service lookups, a logger, the lifetime hook, the DecisionEvents dispatch
|
|
4
|
+
* and gate, and the DSH-only `agent/pre-step` waterfall. Implemented by
|
|
5
|
+
* `cordis-host.ts`. Lookups for services the host does not mount return
|
|
6
|
+
* undefined, and every consumer degrades on that.
|
|
7
|
+
*/
|
|
8
|
+
import type { PreStepDecision } from '@deepseek-ai/dsh-agent';
|
|
9
|
+
import type { AdapterRuntimeOptions } from '../../adapter/kernel/runtime.js';
|
|
10
|
+
import type { GrantStore } from '../../adapter/standard/grants.js';
|
|
11
|
+
import type { TuiSettingsSectionsHost } from '../settings-sections.js';
|
|
12
|
+
/** Named host service lookup (`fs`, `attachments`, `shell`, `settings`,
|
|
13
|
+
* `credentials`, `llm`, `dshAuth` and the `tui*` rows); a Cordis context
|
|
14
|
+
* satisfies it as is. */
|
|
15
|
+
export interface ServiceLookup {
|
|
16
|
+
get(name: string): unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface ChannelHostLogger {
|
|
19
|
+
warn(message: string, ...args: unknown[]): void;
|
|
20
|
+
}
|
|
21
|
+
/** The `agent/pre-step` waterfall listener (DSH sessions only). */
|
|
22
|
+
export type AgentPreStepListener = (payload: unknown, next: () => Promise<PreStepDecision>) => Promise<PreStepDecision>;
|
|
23
|
+
export interface ChannelHost extends ServiceLookup {
|
|
24
|
+
readonly logger: ChannelHostLogger;
|
|
25
|
+
/** The adapter-mode snapshot of this composition root. */
|
|
26
|
+
readonly runtime: AdapterRuntimeOptions;
|
|
27
|
+
/** Tie a teardown to the host's lifetime; absent = the channel owner's
|
|
28
|
+
* release is the only teardown. */
|
|
29
|
+
effect?(setup: () => () => void, label?: string): void;
|
|
30
|
+
/** Subscribe to the agent's pre-step waterfall; absent off DSH. */
|
|
31
|
+
onAgentPreStep?(listener: AgentPreStepListener): () => void;
|
|
32
|
+
/** Run a `tui/*` decision event through its registered handlers. */
|
|
33
|
+
dispatchDecision<T>(name: string, payload: Record<string, unknown>, normalize: (result: unknown, warn: (what: string) => void) => T | undefined): Promise<T | undefined>;
|
|
34
|
+
/** Fire a `tui/*` notification event (no result). */
|
|
35
|
+
dispatchNotification(name: string, payload: Record<string, unknown>): Promise<void>;
|
|
36
|
+
/** Install the default-deny decision-subscription gate (idempotent per root). */
|
|
37
|
+
installDecisionGuard(grants: GrantStore): void;
|
|
38
|
+
/** Record that this composition dispatches DecisionEvents; returns the undo. */
|
|
39
|
+
markDecisionDispatchTopology(): () => void;
|
|
40
|
+
/** The in-package settings-sections host, used when no row provides one. */
|
|
41
|
+
localSettingsSections(): TuiSettingsSectionsHost;
|
|
42
|
+
/** Hear about named services coming or going after construction; absent = never. */
|
|
43
|
+
watchServices?(listener: (name: string) => void): () => void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=channel-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-host.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/channel-host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAEtE;;0BAE0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAChD;AAED,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,KACjC,OAAO,CAAC,eAAe,CAAC,CAAA;AAE7B,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;IACvC;wCACoC;IACpC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtD,mEAAmE;IACnE,cAAc,CAAC,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAAA;IAC3D,oEAAoE;IACpE,gBAAgB,CAAC,CAAC,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,GAAG,SAAS,GAC1E,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACzB,qDAAqD;IACrD,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnF,iFAAiF;IACjF,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAC9C,gFAAgF;IAChF,4BAA4B,IAAI,MAAM,IAAI,CAAA;IAC1C,4EAA4E;IAC5E,qBAAqB,IAAI,uBAAuB,CAAA;IAChD,oFAAoF;IACpF,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAC7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -16,6 +16,11 @@ export declare function createCommandCompletions(deps: {
|
|
|
16
16
|
/** The bound backend's MCP server names when it controls them
|
|
17
17
|
* (`/mcp reconnect|toggle`); undefined = `/mcp` takes no arguments. */
|
|
18
18
|
mcpServers?(): readonly string[] | undefined;
|
|
19
|
+
/** `/plugin info <name>`: the profile's added bundles, warm-and-read. */
|
|
20
|
+
plugin?: {
|
|
21
|
+
warmPluginNames(): void;
|
|
22
|
+
pluginNames(): readonly CommandCompletionNode[];
|
|
23
|
+
};
|
|
19
24
|
model: {
|
|
20
25
|
warmModelNodes(): void;
|
|
21
26
|
modelNodes(): readonly CommandCompletionNode[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-completions.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/command-completions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"command-completions.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/command-completions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAM1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAmC9C,wFAAwF;AACxF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,MAAM,YAAY,CAAA;IACzB,SAAS,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,qBAAqB,EAAE,CAAA;KAAE,CAAA;IACtF,iBAAiB,IAAI,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACnG;4EACwE;IACxE,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC5C,yEAAyE;IACzE,MAAM,CAAC,EAAE;QACP,eAAe,IAAI,IAAI,CAAA;QACvB,WAAW,IAAI,SAAS,qBAAqB,EAAE,CAAA;KAChD,CAAA;IACD,KAAK,EAAE;QACL,cAAc,IAAI,IAAI,CAAA;QACtB,UAAU,IAAI,SAAS,qBAAqB,EAAE,CAAA;QAC9C,iBAAiB,IAAI,IAAI,CAAA;QACzB,aAAa,IAAI,SAAS;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,EAAE,CAAA;QACpG,gBAAgB,IAAI,IAAI,CAAA;KACzB,CAAA;CACF,IAES,OAAO,MAAM,qDAiJtB"}
|
|
@@ -1,10 +1,38 @@
|
|
|
1
1
|
import { completeCommands, isCommandCompletionToken } from '../../commands.js';
|
|
2
2
|
import { getSidePanelPanels, parseSidePanelIds } from '../../tuiDisplayPrefs.js';
|
|
3
3
|
import { SESSION_COLOR_NAMES } from '../../terminal-utils/sessionColors.js';
|
|
4
|
-
import { getLang, LANGS } from '../../i18n.js';
|
|
4
|
+
import { getLang, LANGS, t } from '../../i18n.js';
|
|
5
|
+
import { PERMISSION_PRESET_AUTO, permissionPresetKeys } from '../../permissionPresetLabels.js';
|
|
5
6
|
import { AUTO_THEME_NAME } from '../../theme.js';
|
|
6
7
|
import { listThemeCatalog } from '../../themeCatalog.js';
|
|
7
8
|
import { PRESET_NAMES } from '../../components/activityFrames.js';
|
|
9
|
+
/**
|
|
10
|
+
* What a `/plugin install | info` spec may name — the same three shapes the
|
|
11
|
+
* README lists, in the same order. A path and a git URL cannot be enumerated,
|
|
12
|
+
* and `info` also takes a spec for a bundle that is not installed yet, so these
|
|
13
|
+
* are shown as example rows rather than discovered candidates.
|
|
14
|
+
*/
|
|
15
|
+
const PLUGIN_SPEC_EXAMPLES = [
|
|
16
|
+
{ spec: '/path/to/repo', description: 'Example: a local directory', descriptionKey: 'sugg-plugin-spec-path-desc' },
|
|
17
|
+
{ spec: 'https://github.com/exam/ple.git', description: 'Example: a git URL', descriptionKey: 'sugg-plugin-spec-git-desc' },
|
|
18
|
+
{ spec: '@scope/package@1.2.3', description: 'Example: a registry package, @version pins it', descriptionKey: 'sugg-plugin-spec-package-desc' },
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* The spec shapes as completion rows for one `/plugin` form. They carry
|
|
22
|
+
* `example` (`CommandCompletionNode`): Tab hands the draft back untouched and
|
|
23
|
+
* Enter submits the draft as typed — the bare subcommand at the empty argument
|
|
24
|
+
* position (its usage line), and the typed spec once there is one. A placeholder
|
|
25
|
+
* spec can therefore neither be written into the draft nor installed by picking
|
|
26
|
+
* its row, and a real spec that only starts like one is not swallowed.
|
|
27
|
+
*/
|
|
28
|
+
function pluginSpecExamples() {
|
|
29
|
+
return PLUGIN_SPEC_EXAMPLES.map(shape => ({
|
|
30
|
+
name: shape.spec,
|
|
31
|
+
description: shape.description,
|
|
32
|
+
descriptionKey: shape.descriptionKey,
|
|
33
|
+
example: true,
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
8
36
|
/** Owns slash completion composition and cache warming; it has no lifecycle effects. */
|
|
9
37
|
export function createCommandCompletions(deps) {
|
|
10
38
|
const { themeHost, commandTrees, workspaceCommands, model } = deps;
|
|
@@ -18,6 +46,8 @@ export function createCommandCompletions(deps) {
|
|
|
18
46
|
model.warmPresetOptions();
|
|
19
47
|
if ('effort'.startsWith(head))
|
|
20
48
|
model.warmEffortLevels();
|
|
49
|
+
if ('plugin'.startsWith(head))
|
|
50
|
+
deps.plugin?.warmPluginNames();
|
|
21
51
|
}
|
|
22
52
|
return completeCommands(input, state.commandList, path => {
|
|
23
53
|
if (path.length === 1 && path[0] === 'model') {
|
|
@@ -56,6 +86,12 @@ export function createCommandCompletions(deps) {
|
|
|
56
86
|
model.warmPresetOptions();
|
|
57
87
|
return [{ name: 'status', description: 'Show the current agent preset', descriptionKey: 'sugg-status-desc' }, ...model.presetOptions().map(preset => ({ name: preset.id, description: preset.description ?? preset.name ?? preset.id, ...(preset.id === state.agentPreset ? { tag: 'current' } : preset.isDefault ? { tag: 'default' } : {}) }))];
|
|
58
88
|
}
|
|
89
|
+
if (path.length === 1 && path[0] === 'team')
|
|
90
|
+
return [
|
|
91
|
+
{ name: 'status', description: 'Show the team mode state', descriptionKey: 'sugg-status-desc' },
|
|
92
|
+
{ name: 'on', description: 'Switch Agent Teams on', descriptionKey: 'sugg-team-on-desc' },
|
|
93
|
+
{ name: 'off', description: 'Switch Agent Teams off', descriptionKey: 'sugg-team-off-desc' },
|
|
94
|
+
];
|
|
59
95
|
if (path.length === 1 && path[0] === 'activity')
|
|
60
96
|
return [
|
|
61
97
|
{ name: 'status', description: 'Show the current activity preset', descriptionKey: 'sugg-status-desc' },
|
|
@@ -79,11 +115,16 @@ export function createCommandCompletions(deps) {
|
|
|
79
115
|
if (path.length === 1 && path[0] === 'permission') {
|
|
80
116
|
const snapshot = state.permissionPresets();
|
|
81
117
|
if (snapshot.options.length > 0) {
|
|
82
|
-
return snapshot.options.filter(option => isCommandCompletionToken(option.value)).map(option =>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
118
|
+
return snapshot.options.filter(option => isCommandCompletionToken(option.value)).map((option) => {
|
|
119
|
+
const keys = permissionPresetKeys(option);
|
|
120
|
+
return {
|
|
121
|
+
name: option.value, description: option.description ?? option.name,
|
|
122
|
+
...(keys === undefined ? {} : { descriptionKey: keys.description }),
|
|
123
|
+
...(snapshot.current?.kind === 'preset' && snapshot.current.value === option.value
|
|
124
|
+
? { tag: 'current' }
|
|
125
|
+
: option.value === PERMISSION_PRESET_AUTO ? { tag: t('permission-preset-exp-tag') } : {}),
|
|
126
|
+
};
|
|
127
|
+
});
|
|
87
128
|
}
|
|
88
129
|
// No preset roster (a non-DSH backend): the typed `modes` capability
|
|
89
130
|
// is the roster. DSH sessions declare no such capability, so this
|
|
@@ -125,6 +166,38 @@ export function createCommandCompletions(deps) {
|
|
|
125
166
|
{ name: 'on', description: 'Enter plan mode: read-only, plan before acting', descriptionKey: 'plan-mode-on-desc' },
|
|
126
167
|
{ name: 'off', description: 'Exit plan mode, back to normal execution', descriptionKey: 'plan-mode-off-desc' },
|
|
127
168
|
];
|
|
169
|
+
// `/plugin`'s own forms. The subcommand list is static — it is what the
|
|
170
|
+
// command accepts — while `info`'s argument is whatever the profile
|
|
171
|
+
// actually holds (an absent service answers an empty list, never a throw).
|
|
172
|
+
if (path.length === 1 && path[0] === 'plugin')
|
|
173
|
+
return [
|
|
174
|
+
{ name: 'list', description: 'List the plugins this profile added', descriptionKey: 'sugg-plugin-list-desc' },
|
|
175
|
+
{ name: 'info', description: 'Describe an installed plugin or an install spec', descriptionKey: 'sugg-plugin-info-desc' },
|
|
176
|
+
{ name: 'install', description: 'Install a plugin bundle into this profile', descriptionKey: 'sugg-plugin-install-desc' },
|
|
177
|
+
{ name: 'remove', description: 'Uninstall a plugin bundle from this profile', descriptionKey: 'sugg-plugin-remove-desc' },
|
|
178
|
+
{ name: 'disable', description: 'Switch a plugin bundle or row off', descriptionKey: 'sugg-plugin-disable-desc' },
|
|
179
|
+
{ name: 'enable', description: 'Switch a plugin bundle or row back on', descriptionKey: 'sugg-plugin-enable-desc' },
|
|
180
|
+
{ name: 'registries', description: 'Show where installations ask', descriptionKey: 'sugg-plugin-registries-desc' },
|
|
181
|
+
{ name: 'check', description: 'Validate a plugin manifest without installing it', descriptionKey: 'sugg-plugin-check-desc' },
|
|
182
|
+
];
|
|
183
|
+
// `/plugin install <spec>` takes a spec nothing local can enumerate, so
|
|
184
|
+
// its argument position shows the shapes it accepts (`pluginSpecExamples`).
|
|
185
|
+
if (path.length === 2 && path[0] === 'plugin' && path[1] === 'install')
|
|
186
|
+
return pluginSpecExamples();
|
|
187
|
+
// The three lifecycle forms take the same installed list as `info`: what
|
|
188
|
+
// they act on is what the profile holds, and an absent service answers an
|
|
189
|
+
// empty list rather than a throw.
|
|
190
|
+
if (path.length === 2 && path[0] === 'plugin'
|
|
191
|
+
&& (path[1] === 'remove' || path[1] === 'enable' || path[1] === 'disable')) {
|
|
192
|
+
deps.plugin?.warmPluginNames();
|
|
193
|
+
return deps.plugin?.pluginNames() ?? [];
|
|
194
|
+
}
|
|
195
|
+
// `info` reads an installed bundle OR a spec about to be installed, so it
|
|
196
|
+
// offers both: what the profile holds first, then the spec shapes.
|
|
197
|
+
if (path.length === 2 && path[0] === 'plugin' && path[1] === 'info') {
|
|
198
|
+
deps.plugin?.warmPluginNames();
|
|
199
|
+
return [...(deps.plugin?.pluginNames() ?? []), ...pluginSpecExamples()];
|
|
200
|
+
}
|
|
128
201
|
return commandTrees?.children(path) ?? [];
|
|
129
202
|
});
|
|
130
203
|
};
|
|
@@ -2,9 +2,12 @@ import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
|
2
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
3
3
|
import type { ChannelOwner } from './owner.js';
|
|
4
4
|
import type { ChannelState } from './types.js';
|
|
5
|
-
type CompactionState = Pick<ChannelState, 'agentId' | 'cwd' | 'working' | 'compaction' | 'emit'>;
|
|
5
|
+
type CompactionState = Pick<ChannelState, 'agentId' | 'cwd' | 'working' | 'compaction' | 'emit' | 'emitStream'>;
|
|
6
6
|
type Notify = ChannelState['notify'];
|
|
7
|
-
/**
|
|
7
|
+
/** One manual compaction transaction per live agent, including agents parked
|
|
8
|
+
* by `/bg`. `settle` aborts the transaction of the FOREGROUND binding — the
|
|
9
|
+
* session a switch is leaving — so returning to a compacting background session
|
|
10
|
+
* keeps it running while navigating to a different one still settles it. */
|
|
8
11
|
export declare function createManualCompaction(ctx: Context, state: CompactionState, deps: {
|
|
9
12
|
owner: Pick<ChannelOwner, 'current' | 'signal' | 'own'>;
|
|
10
13
|
agent(): Agent;
|
|
@@ -14,6 +17,8 @@ export declare function createManualCompaction(ctx: Context, state: CompactionSt
|
|
|
14
17
|
compact: () => void;
|
|
15
18
|
settle: () => Promise<void>;
|
|
16
19
|
cancel: () => void;
|
|
20
|
+
restore: () => void;
|
|
21
|
+
ownsProgress: () => boolean;
|
|
17
22
|
};
|
|
18
23
|
export {};
|
|
19
24
|
//# sourceMappingURL=compaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAS9C,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,CAAC,CAAA;AAC/G,KAAK,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAEpC;;;4EAG4E;AAC5E,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE;IACJ,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAA;IACvD,KAAK,IAAI,KAAK,CAAA;IACd,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACrE,MAAM,EAAE,MAAM,CAAA;CACf;mBAkCmB,IAAI;kBAnBC,OAAO,CAAC,IAAI,CAAC;kBAuKnB,IAAI;mBAQH,IAAI;;EAQzB"}
|
|
@@ -2,18 +2,31 @@ import { t } from '../../i18n.js';
|
|
|
2
2
|
import { WORKING_GATE_NOTICES } from '../../commands.js';
|
|
3
3
|
import { dispatchTuiDecision, normalizeCancelDecision } from '../extension-events.js';
|
|
4
4
|
import { serviceForAgent } from '../presets.js';
|
|
5
|
-
|
|
5
|
+
import { isTokenDelta, tokenDeltaChars } from './usage.js';
|
|
6
|
+
/** One manual compaction transaction per live agent, including agents parked
|
|
7
|
+
* by `/bg`. `settle` aborts the transaction of the FOREGROUND binding — the
|
|
8
|
+
* session a switch is leaving — so returning to a compacting background session
|
|
9
|
+
* keeps it running while navigating to a different one still settles it. */
|
|
6
10
|
export function createManualCompaction(ctx, state, deps) {
|
|
7
|
-
|
|
11
|
+
const active = new Map();
|
|
8
12
|
const cancelled = new WeakSet();
|
|
9
13
|
/** Aborts the user asked for (Esc / Ctrl+C) rather than an ownership change:
|
|
10
14
|
* only those are reported as a cancellation instead of a failure. */
|
|
11
15
|
const userCancelled = new WeakSet();
|
|
16
|
+
deps.owner.own(ctx.on('agent/disposed', ({ agent }) => {
|
|
17
|
+
const transaction = active.get(agent);
|
|
18
|
+
if (transaction === undefined)
|
|
19
|
+
return;
|
|
20
|
+
active.delete(agent);
|
|
21
|
+
cancelled.add(transaction.controller);
|
|
22
|
+
transaction.controller.abort(new Error('agent disposed'));
|
|
23
|
+
}));
|
|
12
24
|
const settle = async () => {
|
|
13
|
-
const
|
|
25
|
+
const agent = deps.agent();
|
|
26
|
+
const transaction = active.get(agent);
|
|
14
27
|
if (transaction === undefined)
|
|
15
28
|
return;
|
|
16
|
-
active
|
|
29
|
+
active.delete(agent);
|
|
17
30
|
cancelled.add(transaction.controller);
|
|
18
31
|
transaction.controller.abort(new Error('session switch'));
|
|
19
32
|
deps.notify(t('compact-cancelled-switch'), { color: 'warning', timeoutMs: 4000 });
|
|
@@ -30,9 +43,11 @@ export function createManualCompaction(ctx, state, deps) {
|
|
|
30
43
|
}
|
|
31
44
|
};
|
|
32
45
|
const compact = () => {
|
|
33
|
-
if (!deps.owner.current() || deps.owner.signal.aborted
|
|
46
|
+
if (!deps.owner.current() || deps.owner.signal.aborted)
|
|
34
47
|
return;
|
|
35
48
|
const originAgent = deps.agent();
|
|
49
|
+
if (active.has(originAgent))
|
|
50
|
+
return;
|
|
36
51
|
const compactService = serviceForAgent(ctx, originAgent, 'compaction');
|
|
37
52
|
if (!compactService) {
|
|
38
53
|
deps.notify(t('compact-unavailable'), { color: 'warning' });
|
|
@@ -43,13 +58,22 @@ export function createManualCompaction(ctx, state, deps) {
|
|
|
43
58
|
return;
|
|
44
59
|
}
|
|
45
60
|
const controller = new AbortController();
|
|
46
|
-
const
|
|
61
|
+
const transaction = { controller, settled: Promise.resolve(), row: undefined };
|
|
62
|
+
const isLive = () => deps.owner.current()
|
|
47
63
|
&& !deps.owner.signal.aborted
|
|
48
|
-
&& !cancelled.has(controller)
|
|
49
|
-
|
|
64
|
+
&& !cancelled.has(controller);
|
|
65
|
+
const isCurrent = () => isLive() && deps.agent() === originAgent;
|
|
66
|
+
let disposeStream;
|
|
67
|
+
let disposeEnd;
|
|
50
68
|
const releaseOwner = deps.owner.own(() => {
|
|
51
69
|
cancelled.add(controller);
|
|
52
70
|
controller.abort(new Error('channel lifetime ended'));
|
|
71
|
+
try {
|
|
72
|
+
disposeStream?.();
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
disposeEnd?.();
|
|
76
|
+
}
|
|
53
77
|
});
|
|
54
78
|
const originAgentId = state.agentId;
|
|
55
79
|
let finished = false;
|
|
@@ -59,20 +83,23 @@ export function createManualCompaction(ctx, state, deps) {
|
|
|
59
83
|
sessionId: originAgentId,
|
|
60
84
|
cwd: state.cwd,
|
|
61
85
|
}, normalizeCancelDecision));
|
|
62
|
-
// A
|
|
63
|
-
//
|
|
64
|
-
if (!
|
|
86
|
+
// A view switch may park this agent while the decision is pending.
|
|
87
|
+
// Disposal and snapshot actions revoke it; parking does not.
|
|
88
|
+
if (!isLive())
|
|
65
89
|
return;
|
|
66
|
-
if (
|
|
67
|
-
|
|
90
|
+
if (userCancelled.has(controller)) {
|
|
91
|
+
if (isCurrent())
|
|
92
|
+
deps.notify(t('compact-cancelled'));
|
|
68
93
|
return;
|
|
69
94
|
}
|
|
70
95
|
if (decision !== undefined) {
|
|
71
|
-
|
|
96
|
+
if (isCurrent())
|
|
97
|
+
deps.notify(decision.reason ?? t('ext-action-cancelled'), { color: 'warning', timeoutMs: 4000 });
|
|
72
98
|
return;
|
|
73
99
|
}
|
|
74
|
-
if (state.working) {
|
|
75
|
-
|
|
100
|
+
if (originAgent.status === 'running' || (isCurrent() && state.working)) {
|
|
101
|
+
if (isCurrent())
|
|
102
|
+
deps.notify(t(WORKING_GATE_NOTICES.compact), { color: 'warning' });
|
|
76
103
|
return;
|
|
77
104
|
}
|
|
78
105
|
// The status row replaces the old 4s toast: a real compaction runs for
|
|
@@ -84,8 +111,47 @@ export function createManualCompaction(ctx, state, deps) {
|
|
|
84
111
|
outputChars: 0,
|
|
85
112
|
cancellable: true,
|
|
86
113
|
};
|
|
87
|
-
|
|
88
|
-
|
|
114
|
+
transaction.row = row;
|
|
115
|
+
if (isCurrent()) {
|
|
116
|
+
state.compaction = row;
|
|
117
|
+
state.emit();
|
|
118
|
+
}
|
|
119
|
+
// Unlike the foreground stream subscription, this observer stays with
|
|
120
|
+
// the transaction across rebinds. The feed delegates manual progress
|
|
121
|
+
// here so a chunk is counted once, including after returning from /bg.
|
|
122
|
+
disposeStream = ctx.on('llm/stream', (options, next) => {
|
|
123
|
+
const stream = next();
|
|
124
|
+
if (!isLive() || options.purpose !== 'compaction' || options.sessionId === undefined
|
|
125
|
+
|| String(options.sessionId) !== String(originAgent.session.id))
|
|
126
|
+
return stream;
|
|
127
|
+
return (async function* () {
|
|
128
|
+
for await (const chunk of stream) {
|
|
129
|
+
if (isLive() && transaction.row !== undefined && isTokenDelta(chunk)) {
|
|
130
|
+
transaction.row = { ...transaction.row, phase: 'summary', outputChars: transaction.row.outputChars + tokenDeltaChars(chunk) };
|
|
131
|
+
if (isCurrent()) {
|
|
132
|
+
state.compaction = transaction.row;
|
|
133
|
+
state.emitStream();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
yield chunk;
|
|
137
|
+
}
|
|
138
|
+
})();
|
|
139
|
+
});
|
|
140
|
+
disposeEnd = ctx.on('session/event', (session, event) => {
|
|
141
|
+
// Older hosts carry the bracket as legacy events outside the
|
|
142
|
+
// current SessionEvent union, just like the DSH translator accepts.
|
|
143
|
+
if (session !== originAgent.session || event.type !== 'compaction/end')
|
|
144
|
+
return;
|
|
145
|
+
// Retire the row HERE as well. Clearing only the transaction row
|
|
146
|
+
// would defeat the identity check in the `finally` below and leave a
|
|
147
|
+
// stale cancellable row whenever the projector does not also fold
|
|
148
|
+
// this event (a host whose translator drops the legacy bracket).
|
|
149
|
+
if (isCurrent() && state.compaction === transaction.row) {
|
|
150
|
+
state.compaction = undefined;
|
|
151
|
+
state.emit();
|
|
152
|
+
}
|
|
153
|
+
transaction.row = undefined;
|
|
154
|
+
});
|
|
89
155
|
try {
|
|
90
156
|
// Compact the entry agent, never a later binding read after await.
|
|
91
157
|
const result = await compactService.compactNow(originAgent, controller.signal);
|
|
@@ -117,32 +183,40 @@ export function createManualCompaction(ctx, state, deps) {
|
|
|
117
183
|
}
|
|
118
184
|
finally {
|
|
119
185
|
finished = true;
|
|
120
|
-
releaseOwner();
|
|
121
186
|
// The durable `compaction/end` event already cleared the row on every
|
|
122
187
|
// path that reached the host; this covers the ones that never did
|
|
123
188
|
// (vetoed decision, unavailable service, a throw before the bracket).
|
|
124
|
-
if (state.compaction
|
|
189
|
+
if (deps.agent() === originAgent && state.compaction !== undefined && state.compaction === transaction.row) {
|
|
125
190
|
state.compaction = undefined;
|
|
126
191
|
state.emit();
|
|
127
192
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
193
|
+
if (active.get(originAgent) === transaction)
|
|
194
|
+
active.delete(originAgent);
|
|
195
|
+
releaseOwner();
|
|
131
196
|
}
|
|
132
197
|
})();
|
|
133
198
|
// Install before the decision await so a switch/fork settles a pending
|
|
134
199
|
// decision too, rather than letting it start compaction after its seed.
|
|
135
200
|
// A synchronous embedder failure is already handled by the IIFE above.
|
|
201
|
+
transaction.settled = settled;
|
|
136
202
|
if (!finished)
|
|
137
|
-
active
|
|
203
|
+
active.set(originAgent, transaction);
|
|
138
204
|
};
|
|
139
205
|
/** Abort the in-flight manual compaction the user asked to stop. */
|
|
140
206
|
const cancel = () => {
|
|
141
|
-
const transaction = active;
|
|
207
|
+
const transaction = active.get(deps.agent());
|
|
142
208
|
if (transaction === undefined)
|
|
143
209
|
return;
|
|
144
210
|
userCancelled.add(transaction.controller);
|
|
145
211
|
transaction.controller.abort(new Error('user cancelled compaction'));
|
|
146
212
|
};
|
|
147
|
-
|
|
213
|
+
/** Restore only this live agent's row; settled/replayed brackets stay closed. */
|
|
214
|
+
const restore = () => {
|
|
215
|
+
const transaction = active.get(deps.agent());
|
|
216
|
+
if (transaction === undefined)
|
|
217
|
+
return;
|
|
218
|
+
state.compaction = transaction.row;
|
|
219
|
+
state.emit();
|
|
220
|
+
};
|
|
221
|
+
return { compact, settle, cancel, restore, ownsProgress: () => active.get(deps.agent())?.row !== undefined };
|
|
148
222
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ServiceLookup } from './channel-host.js';
|
|
2
2
|
import type { LocalImageStore } from './core/local-images.js';
|
|
3
3
|
import type { ChannelOwner } from './owner.js';
|
|
4
4
|
import type { ChannelImageBlock, ComposerImageRef, StagedImageHandle, StagedImageInput, TranscriptImage } from './types.js';
|
|
@@ -57,8 +57,10 @@ export interface ComposerImages {
|
|
|
57
57
|
* capability map, its preview facades and the `[Image #N]` compatibility
|
|
58
58
|
* bindings minted by the public scene `stageImage()` API.
|
|
59
59
|
*/
|
|
60
|
-
export declare function createComposerImages(ctx:
|
|
60
|
+
export declare function createComposerImages(ctx: ServiceLookup, owner: ChannelOwner, deps: {
|
|
61
61
|
generation(): number;
|
|
62
|
+
/** An empty startup id adopts its first real session without losing the draft. */
|
|
63
|
+
sessionId?(): string;
|
|
62
64
|
/** The in-memory store of a session that takes images itself (a
|
|
63
65
|
* backend with the `images` capability); undefined = the DSH
|
|
64
66
|
* attachments service. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer-images.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/composer-images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"composer-images.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/composer-images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAOtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAEhB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,QAAqB,CAAA;AAEtD;6EAC6E;AAC7E,eAAO,MAAM,0BAA0B,QAAsB,CAAA;AAE7D,eAAO,MAAM,sBAAsB,GAAI,WAAW,MAAM,KAAG,MACe,CAAA;AAE1E;;;2EAG2E;AAC3E,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,gBAAgB,EAAE,EACjC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAC7B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAehB;AAED;;4EAE4E;AAC5E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,MAAM,GAAG,SAAS,CAKpB;AAOD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC;iEAC6D;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,6BAA6B;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B;sEACkE;IAClE,qBAAqB,IAAI,MAAM,CAAA;IAC/B;yEACqE;IACrE,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD;iFAC6E;IAC7E,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC3F,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IACxC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAA;IACzD,iBAAiB,IAAI,mBAAmB,GAAG,SAAS,CAAA;IACpD;0EACsE;IACtE,iBAAiB,IAAI,IAAI,CAAA;IACzB,6EAA6E;IAC7E,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;IAChE;4DACwD;IACxD,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,gBAAgB,EAAE,CAAA;IACtG,wEAAwE;IACxE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,gBAAgB,EAAE,CAAA;CACnG;AA0BD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;IACJ,UAAU,IAAI,MAAM,CAAA;IACpB,kFAAkF;IAClF,SAAS,CAAC,IAAI,MAAM,CAAA;IACpB;;+BAE2B;IAC3B,WAAW,CAAC,IAAI,eAAe,GAAG,SAAS,CAAA;CAC5C,GACA,cAAc,CAuRhB"}
|