@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
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** Nonblocking Codex assistant questions → the shared questionnaire, ordinary input back.
|
|
2
|
+
* Historical replay never opens panels. Live turn completion withdraws unanswered asks,
|
|
3
|
+
* matching Codex's TUI; dismissal alone does not interrupt the running turn. */
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
5
|
+
import { arr, errorText, rec, str } from '../narrow.js';
|
|
6
|
+
import { NOTIFY } from '../protocol/index.js';
|
|
7
|
+
import { codexText } from '../text.js';
|
|
8
|
+
import { parseQuestionReply, questionReplyText } from '../translate/question-reply.js';
|
|
9
|
+
export function createAsyncQuestions(deps) {
|
|
10
|
+
const pending = new Map();
|
|
11
|
+
let revision = 0;
|
|
12
|
+
const offer = (entry) => {
|
|
13
|
+
const requestId = `codex-async:${entry.questionId}:${++revision}`;
|
|
14
|
+
pending.set(requestId, entry);
|
|
15
|
+
deps.emit([{ type: 'question.request', request: { requestId, callId: entry.itemId, questions: [entry.view] } }]);
|
|
16
|
+
};
|
|
17
|
+
const settle = (requestId) => {
|
|
18
|
+
if (!pending.delete(requestId))
|
|
19
|
+
return;
|
|
20
|
+
deps.emit([{ type: 'question.settled', requestId }]);
|
|
21
|
+
};
|
|
22
|
+
const withdraw = () => {
|
|
23
|
+
for (const id of [...pending.keys()])
|
|
24
|
+
settle(id);
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
notification(method, params) {
|
|
28
|
+
const item = rec(params.item);
|
|
29
|
+
if (method === NOTIFY.itemStarted && item?.type === 'userMessage') {
|
|
30
|
+
const text = arr(item.content).map(rec).find(input => input?.type === 'text')?.text;
|
|
31
|
+
const replies = typeof text === 'string' ? parseQuestionReply(text) : undefined;
|
|
32
|
+
if (replies !== undefined) {
|
|
33
|
+
for (const [id, entry] of [...pending]) {
|
|
34
|
+
if (replies.some(reply => reply.questionItemId === entry.questionId || reply.questionItemId === entry.itemId))
|
|
35
|
+
settle(id);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
withdraw();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (method !== NOTIFY.itemCompleted || item?.type !== 'agentMessage' || item.delivery !== 'async')
|
|
43
|
+
return;
|
|
44
|
+
const itemId = str(item.id);
|
|
45
|
+
if (itemId === undefined)
|
|
46
|
+
return;
|
|
47
|
+
arr(item.questions).forEach((raw, index) => {
|
|
48
|
+
const question = rec(raw);
|
|
49
|
+
const title = str(question?.title);
|
|
50
|
+
if (title === undefined || title.trim() === '')
|
|
51
|
+
return;
|
|
52
|
+
const options = arr(question?.options).filter((label) => typeof label === 'string' && label.trim() !== '').map(label => ({ label }));
|
|
53
|
+
offer({
|
|
54
|
+
itemId,
|
|
55
|
+
questionId: JSON.stringify(['request_user_input_async', itemId, index]),
|
|
56
|
+
view: { question: title, options, ...(options[0] === undefined ? {} : { defaultSelected: [options[0].label] }) },
|
|
57
|
+
sending: false,
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
owns(requestId) { return pending.has(requestId); },
|
|
62
|
+
respond(requestId, answers) {
|
|
63
|
+
const entry = pending.get(requestId);
|
|
64
|
+
if (entry === undefined || entry.sending)
|
|
65
|
+
return;
|
|
66
|
+
const answer = answers.answers[0];
|
|
67
|
+
const text = [...(answer?.selected ?? []), ...(answer?.custom?.trim() ? [answer.custom.trim()] : [])].join('\n');
|
|
68
|
+
if (text === '') {
|
|
69
|
+
settle(requestId);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
entry.sending = true;
|
|
73
|
+
void deps.input.submit({ text: questionReplyText(entry.questionId, entry.view.question, text), clientMessageId: randomUUID() }, 'steer').then(result => {
|
|
74
|
+
if (!result.accepted)
|
|
75
|
+
throw new Error(result.reason ?? codexText('codex-turn-start-failed', { err: '' }));
|
|
76
|
+
settle(requestId);
|
|
77
|
+
}).catch((error) => {
|
|
78
|
+
if (pending.get(requestId) !== entry)
|
|
79
|
+
return;
|
|
80
|
+
settle(requestId);
|
|
81
|
+
deps.emit([{ type: 'notice', level: 'error', text: errorText(error) }]);
|
|
82
|
+
entry.sending = false;
|
|
83
|
+
offer(entry);
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
cancel: settle,
|
|
87
|
+
withdraw,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
/** Codex-only slash commands.
|
|
1
|
+
/** Codex-only slash commands. The host's merge drops a name that collides with
|
|
2
|
+
* a local command ("local names win"), so this module never has to know the
|
|
3
|
+
* host's command table. */
|
|
2
4
|
import type { AgentEvent, CommandInfo } from '../../../agent/events.js';
|
|
3
5
|
import type { AgentInput, SubmitPlacement } from '../../../agent/session.js';
|
|
4
6
|
import { type Rec } from '../narrow.js';
|
|
@@ -16,11 +18,15 @@ interface CommandDeps {
|
|
|
16
18
|
lastDiff(): string | undefined;
|
|
17
19
|
planSupported(): boolean;
|
|
18
20
|
setPlan(): Promise<void>;
|
|
21
|
+
/** Leave Plan for the permission preset that was active before it (the
|
|
22
|
+
* catalog's `off` token). */
|
|
23
|
+
exitPlan(): Promise<void>;
|
|
19
24
|
submit(input: AgentInput, placement: SubmitPlacement, wireInput?: readonly UserInput[]): Promise<{
|
|
20
25
|
readonly accepted: boolean;
|
|
21
26
|
readonly reason?: string;
|
|
22
27
|
}>;
|
|
23
|
-
|
|
28
|
+
beginReview(): () => void;
|
|
29
|
+
noteReviewStarted(id: string): void;
|
|
24
30
|
}
|
|
25
31
|
export declare function createCodexCommands(deps: CommandDeps): {
|
|
26
32
|
capability: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/commands.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/commands.ts"],"names":[],"mappings":"AAAA;;4BAE4B;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAG5E,OAAO,EAAiC,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAO9C;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,IAAI,MAAM,CAAA;IAClB,IAAI,IAAI,OAAO,CAAA;IACf,IAAI,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAA;IACzC,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAA;IAC9B,aAAa,IAAI,OAAO,CAAA;IACxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB;kCAC8B;IAC9B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1J,WAAW,IAAI,MAAM,IAAI,CAAA;IACzB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAWD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW;;oBAuC5B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;;mBAQlC,IAAI;kBAUF,UAAU,aAAa,eAAe,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;iBAyF7H,MAAM,GAAG,IAAI;EAE7B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { manifest } from '../manifest.js';
|
|
2
|
+
import { codexText } from '../text.js';
|
|
3
3
|
import { arr, errorText, num, rec, str } from '../narrow.js';
|
|
4
4
|
import { CLIENT, NOTIFY } from '../protocol/index.js';
|
|
5
5
|
import { rpcCode, RPC_ERROR } from '../rpc/client.js';
|
|
@@ -15,11 +15,27 @@ export function reviewTarget(args) {
|
|
|
15
15
|
return { type: 'commit', sha: match[2].trim(), title: null };
|
|
16
16
|
return { type: 'custom', instructions: value };
|
|
17
17
|
}
|
|
18
|
+
/** The name the host serves for one of this backend's declared capabilities
|
|
19
|
+
* (`src/commands.ts`'s three capability-conditional rows, which are not part
|
|
20
|
+
* of the public surface a backend may read). */
|
|
21
|
+
const CAPABILITY_COMMANDS = [
|
|
22
|
+
['goals', 'goal'],
|
|
23
|
+
['channels', 'channel'],
|
|
24
|
+
['permissions', 'permission'],
|
|
25
|
+
];
|
|
18
26
|
export function createCodexCommands(deps) {
|
|
19
27
|
let skills;
|
|
20
28
|
let revision = 0;
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
/** The names this backend answers itself, which a skill of the same name must
|
|
30
|
+
* not shadow: its own four plus whatever its own manifest declares (B-5).
|
|
31
|
+
* A skill that collides with a *local* command is no longer filtered here —
|
|
32
|
+
* the host drops those when it merges the lists
|
|
33
|
+
* (`dsh-adapter/channel/core/session-controls.ts`, "local names win"), which
|
|
34
|
+
* is all claude relies on. */
|
|
35
|
+
const reserved = new Set([
|
|
36
|
+
'review', 'diff', 'plan', 'usage',
|
|
37
|
+
...CAPABILITY_COMMANDS.filter(([capability]) => manifest.capabilities?.includes(capability) === true).map(([, command]) => command),
|
|
38
|
+
]);
|
|
23
39
|
const loadSkills = () => {
|
|
24
40
|
if (skills !== undefined)
|
|
25
41
|
return skills;
|
|
@@ -44,11 +60,16 @@ export function createCodexCommands(deps) {
|
|
|
44
60
|
const seq = deps.ctx.nextSeq();
|
|
45
61
|
deps.emit([{ type: 'user.message', id: `codex-local-${seq}`, anchor: `codex-local-${seq}`, seq, time: deps.ctx.now(), source: 'command-output', text, blocks: [{ type: 'text', text }] }]);
|
|
46
62
|
};
|
|
63
|
+
/** Backend commands that do not enter the Codex input queue still need to
|
|
64
|
+
* retire the channel's optimistic pending row. */
|
|
65
|
+
const claim = (input) => {
|
|
66
|
+
deps.emit([{ type: 'pending.changed', items: [], claimed: [input.clientMessageId] }]);
|
|
67
|
+
};
|
|
47
68
|
const list = async () => [
|
|
48
|
-
{ name: 'review', description:
|
|
49
|
-
{ name: 'diff', description:
|
|
50
|
-
...(deps.planSupported() ? [{ name: 'plan', description:
|
|
51
|
-
{ name: 'usage', description:
|
|
69
|
+
{ name: 'review', description: codexText('codex-command-review') },
|
|
70
|
+
{ name: 'diff', description: codexText('codex-command-diff') },
|
|
71
|
+
...(deps.planSupported() ? [{ name: 'plan', description: codexText('codex-command-plan') }] : []),
|
|
72
|
+
{ name: 'usage', description: codexText('codex-command-usage') },
|
|
52
73
|
...(await loadSkills()).map(skill => ({ name: str(skill.name), description: str(skill.shortDescription) ?? str(skill.description) })),
|
|
53
74
|
];
|
|
54
75
|
const changed = () => {
|
|
@@ -57,7 +78,7 @@ export function createCodexCommands(deps) {
|
|
|
57
78
|
void list().then(commands => { if (current === revision)
|
|
58
79
|
deps.emit([{ type: 'commands.changed', commands }]); }, error => {
|
|
59
80
|
if (current === revision)
|
|
60
|
-
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-skills', text:
|
|
81
|
+
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-skills', text: codexText('capability-failed', { name: 'skills', err: errorText(error) }) }]);
|
|
61
82
|
});
|
|
62
83
|
};
|
|
63
84
|
return {
|
|
@@ -72,16 +93,43 @@ export function createCodexCommands(deps) {
|
|
|
72
93
|
switch (name) {
|
|
73
94
|
case 'review': {
|
|
74
95
|
if (deps.busy())
|
|
75
|
-
return { accepted: false, reason:
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
96
|
+
return { accepted: false, reason: codexText('codex-command-idle') };
|
|
97
|
+
const failStart = deps.beginReview();
|
|
98
|
+
try {
|
|
99
|
+
const result = rec(await deps.hub.call(CLIENT.reviewStart, { threadId: deps.threadId(), target: reviewTarget(args), delivery: 'inline' }));
|
|
100
|
+
const id = str(rec(result?.turn)?.id);
|
|
101
|
+
if (id !== undefined)
|
|
102
|
+
deps.noteReviewStarted(id);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
failStart();
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
claim(input);
|
|
80
109
|
return { accepted: true };
|
|
81
110
|
}
|
|
82
|
-
case 'plan':
|
|
111
|
+
case 'plan': {
|
|
112
|
+
// The TUI catalog names the two states `on`/`off` (the `/plan`
|
|
113
|
+
// completion children — the on/off picker is registry-only and
|
|
114
|
+
// dispatches the bare command and ` off` itself), while this grammar
|
|
115
|
+
// is `/plan [prompt]`: every non-empty argument becomes the turn's
|
|
116
|
+
// prompt. Map both catalog tokens back to their switches so neither
|
|
117
|
+
// word leaks into the conversation as a prompt; every other argument
|
|
118
|
+
// stays the prompt.
|
|
119
|
+
const arg = args.trim();
|
|
120
|
+
if (arg === 'off') {
|
|
121
|
+
await deps.exitPlan();
|
|
122
|
+
claim(input);
|
|
123
|
+
return { accepted: true };
|
|
124
|
+
}
|
|
83
125
|
await deps.setPlan();
|
|
84
|
-
|
|
126
|
+
const prompt = arg === 'on' ? '' : args;
|
|
127
|
+
if (prompt.trim() === '') {
|
|
128
|
+
claim(input);
|
|
129
|
+
return { accepted: true };
|
|
130
|
+
}
|
|
131
|
+
return deps.submit({ ...input, text: prompt, blocks: [{ type: 'text', text: prompt }, ...(input.blocks?.slice(1) ?? [])] }, placement);
|
|
132
|
+
}
|
|
85
133
|
case 'diff': {
|
|
86
134
|
let diff = deps.lastDiff();
|
|
87
135
|
if (diff === undefined || diff === '') {
|
|
@@ -94,7 +142,8 @@ export function createCodexCommands(deps) {
|
|
|
94
142
|
throw error;
|
|
95
143
|
}
|
|
96
144
|
}
|
|
97
|
-
output(diff === undefined || diff === '' ?
|
|
145
|
+
output(diff === undefined || diff === '' ? codexText('codex-diff-empty') : diff);
|
|
146
|
+
claim(input);
|
|
98
147
|
return { accepted: true };
|
|
99
148
|
}
|
|
100
149
|
case 'usage': {
|
|
@@ -109,22 +158,21 @@ export function createCodexCommands(deps) {
|
|
|
109
158
|
const lines = buckets.flatMap(({ id, snapshot }) => {
|
|
110
159
|
const windows = rateLimitOf({ rateLimits: snapshot }).view?.windows ?? [];
|
|
111
160
|
const rows = windows.map(window => {
|
|
112
|
-
const name = window.name === 'five_hour' ?
|
|
113
|
-
return
|
|
161
|
+
const name = window.name === 'five_hour' ? codexText('status-rate-limit-five-hour') : window.name === 'seven_day' ? codexText('status-rate-limit-seven-day') : window.name;
|
|
162
|
+
return codexText('codex-usage-window', { name, used: Math.round(window.utilization * 100), reset: window.resetsAt === undefined ? codexText('doctor-unknown') : new Date(window.resetsAt).toLocaleString() });
|
|
114
163
|
});
|
|
115
164
|
const credits = rec(snapshot.credits);
|
|
116
165
|
if (credits !== undefined)
|
|
117
|
-
rows.push(
|
|
166
|
+
rows.push(codexText('codex-usage-credits', { balance: str(credits.balance) ?? num(credits.balance) ?? codexText('doctor-unknown'), unlimited: credits.unlimited === true ? codexText('codex-yes') : codexText('codex-no') }));
|
|
118
167
|
return rows.length > 0 && id !== '' ? [str(snapshot.limitName) ?? id, ...rows] : rows;
|
|
119
168
|
});
|
|
120
|
-
output(lines.length === 0 ?
|
|
169
|
+
output(lines.length === 0 ? codexText('codex-usage-unavailable') : lines.join('\n'));
|
|
121
170
|
if (view !== undefined)
|
|
122
171
|
deps.emit([{ type: 'rate-limit', info: view }]);
|
|
172
|
+
claim(input);
|
|
123
173
|
return { accepted: true };
|
|
124
174
|
}
|
|
125
175
|
default: {
|
|
126
|
-
if (local.has(name))
|
|
127
|
-
return undefined;
|
|
128
176
|
const skill = (await loadSkills()).find(row => str(row.name)?.toLowerCase() === name);
|
|
129
177
|
const path = str(skill?.path);
|
|
130
178
|
if (skill === undefined || path === undefined)
|
|
@@ -24,7 +24,7 @@ interface ControlsDeps {
|
|
|
24
24
|
/** Policy objects used by turn/start and thread/settings/update. */
|
|
25
25
|
export declare function sandboxPolicy(mode: string, cwd: string): Rec;
|
|
26
26
|
export declare function createCodexControls(deps: ControlsDeps): {
|
|
27
|
-
capabilities: Pick<SessionCapabilities, "context" | "effort" | "
|
|
27
|
+
capabilities: Pick<SessionCapabilities, "context" | "effort" | "models" | "modes" | "compact" | "init" | "mcp" | "rename" | "account">;
|
|
28
28
|
initialize(): Promise<void>;
|
|
29
29
|
/** Knobs not yet applied by a turn (or an idle settings update). */
|
|
30
30
|
turnOverrides(): Rec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/controls.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,EAAE,WAAW,EAA+B,WAAW,EAAc,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAC5I,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG1D,OAAO,EAAiC,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,UAAU,YAAY;IACpB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,IAAI,MAAM,CAAA;IAClB,IAAI,IAAI,OAAO,CAAA;IACf,IAAI,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAA;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IAChC,YAAY,CAAC,IAAI,SAAS,WAAW,EAAE,CAAA;IACvC,WAAW,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAID,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAM5D;AAWD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY;;
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/controls.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,EAAE,WAAW,EAA+B,WAAW,EAAc,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAC5I,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG1D,OAAO,EAAiC,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,UAAU,YAAY;IACpB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,IAAI,MAAM,CAAA;IAClB,IAAI,IAAI,OAAO,CAAA;IACf,IAAI,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAA;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IAChC,YAAY,CAAC,IAAI,SAAS,WAAW,EAAE,CAAA;IACvC,WAAW,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAID,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAM5D;AAWD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY;;kBAyM9B,OAAO,CAAC,IAAI,CAAC;IASjC,oEAAoE;qBACnD,GAAG;IACpB,6EAA6E;sBAC3D,OAAO,aAAa,GAAG,GAAG,IAAI;iBAYnC,MAAM,UAAU,GAAG,GAAG,OAAO;;EAoB7C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { codexText } from '../text.js';
|
|
2
2
|
import { CODEX_MODE_PARAMS, isCodexModeId } from '../modes.js';
|
|
3
3
|
import { arr, errorText, num, rec, str } from '../narrow.js';
|
|
4
4
|
import { CLIENT, NOTIFY } from '../protocol/index.js';
|
|
@@ -15,12 +15,12 @@ export function sandboxPolicy(mode, cwd) {
|
|
|
15
15
|
}
|
|
16
16
|
function permissionOptions() {
|
|
17
17
|
return [
|
|
18
|
-
{ id: 'read-only', label:
|
|
19
|
-
{ id: 'auto', label:
|
|
20
|
-
{ id: 'full-access', label:
|
|
18
|
+
{ id: 'read-only', label: codexText('codex-mode-read-only'), description: codexText('codex-mode-read-only-desc') },
|
|
19
|
+
{ id: 'auto', label: codexText('codex-mode-auto'), description: codexText('codex-mode-auto-desc') },
|
|
20
|
+
{ id: 'full-access', label: codexText('codex-mode-full-access'), description: codexText('codex-mode-full-access-desc') },
|
|
21
21
|
];
|
|
22
22
|
}
|
|
23
|
-
const planOption = () => ({ id: 'plan', label:
|
|
23
|
+
const planOption = () => ({ id: 'plan', label: codexText('codex-mode-plan'), description: codexText('codex-mode-plan-desc') });
|
|
24
24
|
export function createCodexControls(deps) {
|
|
25
25
|
const { hub, settings, ctx, prefs } = deps;
|
|
26
26
|
let rows = [];
|
|
@@ -99,19 +99,19 @@ export function createCodexControls(deps) {
|
|
|
99
99
|
if (code === RPC_ERROR.invalidParams && change.collaborationMode !== undefined) {
|
|
100
100
|
planSupported = false;
|
|
101
101
|
delete pending.collaborationMode;
|
|
102
|
-
throw new Error(
|
|
102
|
+
throw new Error(codexText('codex-capability-unavailable', { feature: codexText('codex-mode-plan') }));
|
|
103
103
|
}
|
|
104
104
|
throw error;
|
|
105
105
|
}
|
|
106
106
|
settingsSupported = false;
|
|
107
|
-
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-settings-deferred', text:
|
|
107
|
+
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-settings-deferred', text: codexText('codex-settings-deferred') }]);
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
|
-
const effortLevels = () => arr(
|
|
110
|
+
const effortLevels = (row) => arr(row?.supportedReasoningEfforts).flatMap(raw => {
|
|
111
111
|
const id = str(rec(raw)?.reasoningEffort);
|
|
112
112
|
if (id === undefined)
|
|
113
113
|
return [];
|
|
114
|
-
const labels = { none:
|
|
114
|
+
const labels = { none: codexText('codex-effort-none'), minimal: codexText('codex-effort-minimal'), low: codexText('codex-effort-low'), medium: codexText('codex-effort-medium'), high: codexText('codex-effort-high'), xhigh: codexText('codex-effort-xhigh'), ultra: codexText('codex-effort-ultra') };
|
|
115
115
|
return [{ id, label: labels[id] ?? id }];
|
|
116
116
|
});
|
|
117
117
|
const capabilities = {
|
|
@@ -136,13 +136,18 @@ export function createCodexControls(deps) {
|
|
|
136
136
|
},
|
|
137
137
|
},
|
|
138
138
|
effort: {
|
|
139
|
-
levels: effortLevels,
|
|
139
|
+
levels: () => effortLevels(currentRow()),
|
|
140
|
+
forModel: ref => {
|
|
141
|
+
const model = deps.actualModel?.(ref.model) ?? ref.model;
|
|
142
|
+
const row = rows.find(row => row.model === model || row.id === model);
|
|
143
|
+
return { levels: effortLevels(row), defaultEffort: str(row?.defaultReasoningEffort) };
|
|
144
|
+
},
|
|
140
145
|
current: () => settings.effort ?? undefined,
|
|
141
146
|
async set(id) {
|
|
142
147
|
if (rows.length === 0)
|
|
143
148
|
await models();
|
|
144
|
-
if (id !== null && !effortLevels().some(option => option.id === id))
|
|
145
|
-
throw new Error(
|
|
149
|
+
if (id !== null && !effortLevels(currentRow()).some(option => option.id === id))
|
|
150
|
+
throw new Error(codexText('effort-invalid', { id, ids: effortLevels(currentRow()).map(option => option.id).join(', ') }));
|
|
146
151
|
const applied = id ?? str(currentRow()?.defaultReasoningEffort) ?? null;
|
|
147
152
|
await update({ effort: applied });
|
|
148
153
|
settings.effort = applied;
|
|
@@ -159,9 +164,9 @@ export function createCodexControls(deps) {
|
|
|
159
164
|
current: () => settings.modeId,
|
|
160
165
|
async set(id) {
|
|
161
166
|
if (id !== 'plan' && !isCodexModeId(id) && id !== settings.permissionMode)
|
|
162
|
-
throw new Error(
|
|
167
|
+
throw new Error(codexText('codex-mode-invalid', { mode: id }));
|
|
163
168
|
if (id === 'plan' && !planSupported)
|
|
164
|
-
throw new Error(
|
|
169
|
+
throw new Error(codexText('codex-capability-unavailable', { feature: codexText('codex-mode-plan') }));
|
|
165
170
|
const plan = id === 'plan';
|
|
166
171
|
const switching = plan !== (settings.modeId === 'plan');
|
|
167
172
|
const change = planSupported && switching ? { collaborationMode: collaboration(plan ? 'plan' : 'default') } : {};
|
|
@@ -186,7 +191,7 @@ export function createCodexControls(deps) {
|
|
|
186
191
|
compact: {
|
|
187
192
|
async run() {
|
|
188
193
|
if (deps.busy())
|
|
189
|
-
throw new Error(
|
|
194
|
+
throw new Error(codexText('codex-command-idle'));
|
|
190
195
|
ctx.compactRequested = true;
|
|
191
196
|
try {
|
|
192
197
|
await hub.call(CLIENT.threadCompactStart, { threadId: deps.threadId() });
|
|
@@ -270,7 +275,7 @@ export function createCodexControls(deps) {
|
|
|
270
275
|
}
|
|
271
276
|
prefs.write({ plan: modeId === 'plan' });
|
|
272
277
|
if (warn)
|
|
273
|
-
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-plan-unavailable', text:
|
|
278
|
+
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-plan-unavailable', text: codexText('codex-capability-unavailable', { feature: codexText('codex-mode-plan') }) }]);
|
|
274
279
|
},
|
|
275
280
|
note(method, params) {
|
|
276
281
|
if (method === NOTIFY.modelVerification || method === NOTIFY.accountUpdated) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goals.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/goals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAExE,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7C,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,SAAW,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,SAAS,CAmB1G;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACpC,QAAQ,IAAI,MAAM,CAAA;IAClB,IAAI,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAA;IACzC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;;;
|
|
1
|
+
{"version":3,"file":"goals.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/goals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAExE,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7C,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,SAAW,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,SAAS,CAmB1G;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACpC,QAAQ,IAAI,MAAM,CAAA;IAClB,IAAI,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAA;IACzC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;;;gCAwDs0W,CAAC;;;;;;kBAxBhzW,OAAO,CAAC,IAAI,CAAC;yBAeZ,MAAM,UAAU,GAAG,GAAG,OAAO;aAKzC,IAAI;aACJ,IAAI;EAEhB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { codexText } from '../text.js';
|
|
2
2
|
import { num, rec, str } from '../narrow.js';
|
|
3
3
|
import { CLIENT, NOTIFY } from '../protocol/index.js';
|
|
4
4
|
import { rpcCode, RPC_ERROR } from '../rpc/client.js';
|
|
@@ -21,7 +21,7 @@ export function codexGoalEvent(raw, operation = 'update') {
|
|
|
21
21
|
id: 'codex-goal:' + threadId + ':' + String(goal.createdAt),
|
|
22
22
|
revision: num(goal.updatedAt) ?? 0,
|
|
23
23
|
objective, phase, maxGoalRounds: 0,
|
|
24
|
-
...(phase !== 'blocked' ? {} : { blockedReason: { code: status, message:
|
|
24
|
+
...(phase !== 'blocked' ? {} : { blockedReason: { code: status, message: codexText(status === 'usageLimited' ? 'codex-goal-usage-limited' : status === 'budgetLimited' ? 'codex-goal-budget-limited' : 'codex-goal-blocked') } }),
|
|
25
25
|
budget: { tokensUsed: num(goal.tokensUsed) ?? 0, tokenBudget: num(goal.tokenBudget) ?? null, timeUsedSeconds: num(goal.timeUsedSeconds) ?? 0 },
|
|
26
26
|
},
|
|
27
27
|
};
|
|
@@ -77,7 +77,7 @@ export function createCodexGoals(deps) {
|
|
|
77
77
|
return;
|
|
78
78
|
if (rpcCode(error) === RPC_ERROR.methodNotFound || rpcCode(error) === RPC_ERROR.invalidParams) {
|
|
79
79
|
if (enabled)
|
|
80
|
-
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-goals-unsupported', text:
|
|
80
|
+
deps.emit([{ type: 'notice', level: 'warning', key: 'codex-goals-unsupported', text: codexText('codex-goals-unsupported') }]);
|
|
81
81
|
enabled = false;
|
|
82
82
|
}
|
|
83
83
|
else
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { codexText } from '../text.js';
|
|
2
2
|
import { arr, rec, str } from '../narrow.js';
|
|
3
3
|
import { CLIENT, NOTIFY } from '../protocol/index.js';
|
|
4
4
|
import { createItemContext } from '../translate/items.js';
|
|
@@ -95,7 +95,7 @@ export function createCodexTranscriptHistory(deps) {
|
|
|
95
95
|
failures += 1;
|
|
96
96
|
deps.ctx.debug('codex: older history prefetch failed; cursor retained');
|
|
97
97
|
if (failures >= 3)
|
|
98
|
-
deps.notice?.({ type: 'notice', level: 'warning', key: 'codex-older-history', text:
|
|
98
|
+
deps.notice?.({ type: 'notice', level: 'warning', key: 'codex-older-history', text: codexText('codex-history-fetch-failed') });
|
|
99
99
|
}).finally(() => { if (pending === task) {
|
|
100
100
|
pending = undefined;
|
|
101
101
|
abort = undefined;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { closeSync, openSync, readSync, statSync } from 'node:fs';
|
|
4
4
|
import { readFile } from 'node:fs/promises';
|
|
5
5
|
import { basename, extname, resolve } from 'node:path';
|
|
6
|
-
import {
|
|
7
|
-
import { probeImageSize } from '
|
|
6
|
+
import { codexText } from '../text.js';
|
|
7
|
+
import { probeImageSize } from '../../shared/image-size.js';
|
|
8
8
|
import { arr, rec, str } from '../narrow.js';
|
|
9
9
|
export const CODEX_IMAGE_LIMITS = Object.freeze({
|
|
10
10
|
mediaTypes: Object.freeze(['image/png', 'image/jpeg', 'image/gif', 'image/webp']),
|
|
@@ -20,31 +20,31 @@ const extensionType = { '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'ima
|
|
|
20
20
|
/** Read and recheck staged facades before any turn/steer request is sent. */
|
|
21
21
|
export async function codexImageInputs(images, limits = CODEX_IMAGE_LIMITS) {
|
|
22
22
|
if (images.length > limits.maxImagesPerMessage)
|
|
23
|
-
throw new Error(
|
|
23
|
+
throw new Error(codexText('codex-images-too-many', { n: limits.maxImagesPerMessage }));
|
|
24
24
|
const inputs = [];
|
|
25
25
|
let total = 0;
|
|
26
26
|
for (const image of images) {
|
|
27
27
|
const name = image.name ?? image.id;
|
|
28
28
|
const type = image.mediaType;
|
|
29
29
|
if (type === undefined || !CODEX_IMAGE_LIMITS.mediaTypes.includes(type) || !limits.mediaTypes.includes(type))
|
|
30
|
-
throw new Error(
|
|
30
|
+
throw new Error(codexText('codex-image-type-refused', { name, type: type ?? '?' }));
|
|
31
31
|
let data;
|
|
32
32
|
try {
|
|
33
33
|
data = await image.read();
|
|
34
34
|
}
|
|
35
35
|
catch {
|
|
36
|
-
throw new Error(
|
|
36
|
+
throw new Error(codexText('codex-image-unreadable', { name }));
|
|
37
37
|
}
|
|
38
38
|
if (data.byteLength > limits.maxImageBytes)
|
|
39
|
-
throw new Error(
|
|
39
|
+
throw new Error(codexText('codex-image-too-large', { name, mb: Math.round(limits.maxImageBytes / (1024 * 1024)) }));
|
|
40
40
|
total += data.byteLength;
|
|
41
41
|
if (total > limits.maxMessageImageBytes)
|
|
42
|
-
throw new Error(
|
|
42
|
+
throw new Error(codexText('codex-images-too-large', { mb: Math.round(limits.maxMessageImageBytes / (1024 * 1024)) }));
|
|
43
43
|
const size = probeImageSize(data);
|
|
44
44
|
const width = size?.width ?? image.width;
|
|
45
45
|
const height = size?.height ?? image.height;
|
|
46
46
|
if (width > limits.maxImageDimension || height > limits.maxImageDimension || width * height > limits.maxImagePixels)
|
|
47
|
-
throw new Error(
|
|
47
|
+
throw new Error(codexText('codex-image-dimensions-refused', { name, px: limits.maxImageDimension }));
|
|
48
48
|
inputs.push({ type: 'image', url: 'data:' + type + ';base64,' + Buffer.from(data.buffer, data.byteOffset, data.byteLength).toString('base64') });
|
|
49
49
|
}
|
|
50
50
|
return inputs;
|
|
@@ -35,7 +35,7 @@ export interface InputQueueDeps {
|
|
|
35
35
|
startFailed?(error: unknown, overrides: Rec): void;
|
|
36
36
|
closed(): boolean;
|
|
37
37
|
/** The open turn could not be settled by the server: close it here. */
|
|
38
|
-
forceClose(): void;
|
|
38
|
+
forceClose(turnId: string, reviewTurnId?: string): void;
|
|
39
39
|
readonly clock: RpcClock;
|
|
40
40
|
readonly forceSettleMs: number;
|
|
41
41
|
}
|
|
@@ -56,6 +56,10 @@ export declare function createInputQueue(deps: InputQueueDeps): {
|
|
|
56
56
|
/** A user message carried this client id back: the input ran. */
|
|
57
57
|
claim(clientId: string): AgentEvent | undefined;
|
|
58
58
|
onTurnStarted(turnId: string): void;
|
|
59
|
+
/** Reserve the turn before review/start reaches the server. The returned
|
|
60
|
+
* cleanup releases only this request's wait if its RPC fails. */
|
|
61
|
+
beginReview(): () => void;
|
|
62
|
+
onReviewStarted(turnId: string): void;
|
|
59
63
|
onTurnCompleted: (turnId: string | undefined, interrupted: boolean) => void;
|
|
60
64
|
/** Re-queue a rejection's reason as the next turn (D10). */
|
|
61
65
|
enqueueFollowup(id: string, text: string): void;
|
|
@@ -69,7 +73,7 @@ export declare function createInputQueue(deps: InputQueueDeps): {
|
|
|
69
73
|
/** Dispose: forget everything, stop the timer. */
|
|
70
74
|
close(): void;
|
|
71
75
|
/** Interrupt the running turn (best-effort, dispose path). */
|
|
72
|
-
interrupt: () => Promise<boolean>;
|
|
76
|
+
interrupt: (waitForReviewStart?: boolean) => Promise<boolean>;
|
|
73
77
|
};
|
|
74
78
|
export type InputQueue = ReturnType<typeof createInputQueue>;
|
|
75
79
|
//# sourceMappingURL=input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,0BAA0B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAExG,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AAG5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAahD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAA;IACzC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iEAAiE;IACjE,SAAS,IAAI,GAAG,CAAA;IAChB,4EAA4E;IAC5E,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAAA;IAClD,MAAM,IAAI,OAAO,CAAA;IACjB,uEAAuE;IACvE,UAAU,
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../../src/backends/codex/session/input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,0BAA0B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAExG,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,cAAc,CAAA;AAG5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAahD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAA;IACzC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iEAAiE;IACjE,SAAS,IAAI,GAAG,CAAA;IAChB,4EAA4E;IAC5E,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAAA;IAClD,MAAM,IAAI,OAAO,CAAA;IACjB,uEAAuE;IACvE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;qEACqE;AACrE,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,CAQ1D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc;;IA6KjD,+CAA+C;YACvC,OAAO;kBAEK,UAAU,aAAa,eAAe,cAAc,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;kBAyB5I,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBxD,kDAAkD;eACvC,MAAM,GAAG,OAAO;IAO3B,iEAAiE;oBACjD,MAAM,GAAG,UAAU,GAAG,SAAS;0BAKzB,MAAM,GAAG,IAAI;IAInC;sEACkE;mBACnD,MAAM,IAAI;4BAWD,MAAM,GAAG,IAAI;8BAtHN,MAAM,GAAG,SAAS,eAAe,OAAO,KAAG,IAAI;IA8H9E,4DAA4D;wBACxC,MAAM,QAAQ,MAAM,GAAG,IAAI;IAK/C,yEAAyE;sBACvD,SAAS,UAAU,EAAE;0BAWjB,IAAI;IAK1B;;kEAE8D;qBAC7C,SAAS,UAAU,EAAE;IAQtC,kDAAkD;aACzC,IAAI;IAQb,8DAA8D;iDAjMX,OAAO,CAAC,OAAO,CAAC;EAoMtE;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
|