@deepseek-harness-tui/dsh-tui 0.6.1 → 0.7.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 +74 -21
- package/bin/dsh-tui.js +115 -25
- package/cordis.patch.yml +69 -17
- package/cordis.yml +50 -12
- package/lib/types/activityPrefs.d.ts +1 -1
- package/lib/types/activityPrefs.js +3 -3
- package/lib/types/cc/figures.d.ts +27 -20
- package/lib/types/cc/figures.d.ts.map +1 -1
- package/lib/types/cc/figures.js +43 -34
- package/lib/types/cc/format.d.ts +18 -9
- package/lib/types/cc/format.d.ts.map +1 -1
- package/lib/types/cc/format.js +26 -18
- package/lib/types/cc/markdown.d.ts +31 -16
- package/lib/types/cc/markdown.d.ts.map +1 -1
- package/lib/types/cc/markdown.js +283 -260
- package/lib/types/cc/terminal.d.ts +10 -7
- package/lib/types/cc/terminal.d.ts.map +1 -1
- package/lib/types/cc/terminal.js +62 -50
- package/lib/types/command-trees.d.ts +3 -0
- package/lib/types/command-trees.d.ts.map +1 -0
- package/lib/types/command-trees.js +4 -0
- package/lib/types/commands.d.ts +37 -1
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +68 -3
- package/lib/types/components/ActivityLine.d.ts +1 -1
- package/lib/types/components/ActivityLine.d.ts.map +1 -1
- package/lib/types/components/ActivityPicker.d.ts.map +1 -1
- package/lib/types/components/ActivityPicker.js +3 -4
- package/lib/types/components/BtwPanel.d.ts +16 -0
- package/lib/types/components/BtwPanel.d.ts.map +1 -0
- package/lib/types/components/BtwPanel.js +47 -0
- package/lib/types/components/CommandSuggestions.d.ts +4 -2
- package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
- package/lib/types/components/CommandSuggestions.js +2 -2
- package/lib/types/components/EffortSlider.d.ts +15 -0
- package/lib/types/components/EffortSlider.d.ts.map +1 -0
- package/lib/types/components/EffortSlider.js +17 -0
- package/lib/types/components/GoalTodoPanel.d.ts +1 -1
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/HelpMenu.d.ts +5 -2
- package/lib/types/components/HelpMenu.d.ts.map +1 -1
- package/lib/types/components/HelpMenu.js +8 -3
- package/lib/types/components/HistorySearchDialog.d.ts +1 -1
- package/lib/types/components/HistorySearchDialog.d.ts.map +1 -1
- package/lib/types/components/HistorySearchDialog.js +21 -10
- package/lib/types/components/InterruptedByUser.d.ts +2 -2
- package/lib/types/components/InterruptedByUser.d.ts.map +1 -1
- package/lib/types/components/InterruptedByUser.js +4 -3
- package/lib/types/components/LoadedContextPanel.d.ts +1 -1
- package/lib/types/components/LoadedContextPanel.d.ts.map +1 -1
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +2 -1
- package/lib/types/components/Markdown.d.ts +11 -11
- package/lib/types/components/Markdown.d.ts.map +1 -1
- package/lib/types/components/Markdown.js +63 -57
- package/lib/types/components/MarkdownTable.d.ts +1 -1
- package/lib/types/components/MarkdownTable.js +2 -2
- package/lib/types/components/MessageList.d.ts +10 -2
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +17 -10
- package/lib/types/components/ModelPicker.d.ts +4 -1
- package/lib/types/components/ModelPicker.d.ts.map +1 -1
- package/lib/types/components/ModelPicker.js +16 -4
- package/lib/types/components/OverlayAbove.d.ts +20 -0
- package/lib/types/components/OverlayAbove.d.ts.map +1 -0
- package/lib/types/components/OverlayAbove.js +18 -0
- package/lib/types/components/PresetPicker.d.ts +1 -1
- package/lib/types/components/PresetPicker.d.ts.map +1 -1
- package/lib/types/components/PresetPicker.js +2 -3
- package/lib/types/components/PromptInput.d.ts +5 -4
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +186 -39
- package/lib/types/components/ResumePicker.d.ts +15 -4
- package/lib/types/components/ResumePicker.d.ts.map +1 -1
- package/lib/types/components/ResumePicker.js +25 -9
- package/lib/types/components/RewindPicker.d.ts +1 -1
- package/lib/types/components/RewindPicker.d.ts.map +1 -1
- package/lib/types/components/RewindPicker.js +14 -5
- package/lib/types/components/SearchBox.d.ts +1 -1
- package/lib/types/components/SearchBox.js +1 -1
- package/lib/types/components/Spinner/GlimmerMessage.d.ts +1 -2
- package/lib/types/components/Spinner/GlimmerMessage.d.ts.map +1 -1
- package/lib/types/components/Spinner/GlimmerMessage.js +1 -2
- package/lib/types/components/Spinner/SpinnerAnimationRow.d.ts +1 -1
- package/lib/types/components/Spinner/SpinnerAnimationRow.js +2 -2
- package/lib/types/components/Spinner/SpinnerGlyph.d.ts +1 -1
- package/lib/types/components/Spinner/SpinnerGlyph.js +1 -1
- package/lib/types/components/Spinner/spinnerUtils.d.ts +13 -18
- package/lib/types/components/Spinner/spinnerUtils.d.ts.map +1 -1
- package/lib/types/components/Spinner/spinnerUtils.js +67 -71
- package/lib/types/components/Spinner/useStalledAnimation.d.ts +1 -2
- package/lib/types/components/Spinner/useStalledAnimation.d.ts.map +1 -1
- package/lib/types/components/Spinner/useStalledAnimation.js +1 -2
- package/lib/types/components/StreamingMarkdown.d.ts +1 -1
- package/lib/types/components/StreamingMarkdown.js +1 -1
- package/lib/types/components/ThemePicker.d.ts +13 -9
- package/lib/types/components/ThemePicker.d.ts.map +1 -1
- package/lib/types/components/ThemePicker.js +21 -15
- package/lib/types/components/ThinkingToggle.d.ts +1 -1
- package/lib/types/components/ThinkingToggle.d.ts.map +1 -1
- package/lib/types/components/ThinkingToggle.js +8 -8
- package/lib/types/components/ToolUseLoader.d.ts +1 -1
- package/lib/types/components/ToolUseLoader.js +1 -1
- package/lib/types/components/WorkingSpinner.d.ts +2 -2
- package/lib/types/components/WorkingSpinner.js +2 -2
- package/lib/types/components/WorkspaceFlowPicker.d.ts +15 -0
- package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -0
- package/lib/types/components/WorkspaceFlowPicker.js +19 -0
- package/lib/types/components/WorkspacePicker.d.ts +9 -0
- package/lib/types/components/WorkspacePicker.d.ts.map +1 -0
- package/lib/types/components/WorkspacePicker.js +13 -0
- package/lib/types/components/approvals/ApprovalPanel.d.ts +1 -1
- package/lib/types/components/approvals/ApprovalPanel.d.ts.map +1 -1
- package/lib/types/components/approvals/ApprovalPanel.js +2 -1
- package/lib/types/components/design-system/Byline.d.ts +1 -1
- package/lib/types/components/design-system/Byline.js +1 -1
- package/lib/types/components/design-system/Divider.d.ts +1 -1
- package/lib/types/components/design-system/Divider.js +1 -1
- package/lib/types/components/design-system/HintLine.d.ts +12 -0
- package/lib/types/components/design-system/HintLine.d.ts.map +1 -0
- package/lib/types/components/design-system/HintLine.js +15 -0
- package/lib/types/components/design-system/KeyboardShortcutHint.d.ts +1 -1
- package/lib/types/components/design-system/KeyboardShortcutHint.js +1 -1
- package/lib/types/components/design-system/ListItem.d.ts +2 -2
- package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
- package/lib/types/components/design-system/ListItem.js +35 -3
- package/lib/types/components/design-system/LoadingState.d.ts +1 -2
- package/lib/types/components/design-system/LoadingState.d.ts.map +1 -1
- package/lib/types/components/design-system/LoadingState.js +1 -2
- package/lib/types/components/design-system/Pane.d.ts +2 -2
- package/lib/types/components/design-system/Pane.js +2 -2
- package/lib/types/components/design-system/ProgressBar.d.ts +1 -2
- package/lib/types/components/design-system/ProgressBar.d.ts.map +1 -1
- package/lib/types/components/design-system/ProgressBar.js +1 -2
- package/lib/types/components/design-system/StatusIcon.d.ts +2 -2
- package/lib/types/components/design-system/StatusIcon.js +2 -2
- package/lib/types/components/design-system/ThemeProvider.d.ts +1 -1
- package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemeProvider.js +87 -26
- package/lib/types/components/design-system/ThemedBox.d.ts +1 -1
- package/lib/types/components/design-system/ThemedBox.js +1 -1
- package/lib/types/components/design-system/ThemedText.d.ts +2 -2
- package/lib/types/components/design-system/ThemedText.js +2 -2
- package/lib/types/components/listWindow.d.ts +26 -0
- package/lib/types/components/listWindow.d.ts.map +1 -0
- package/lib/types/components/listWindow.js +47 -0
- package/lib/types/components/messages/AssistantTextMessage.d.ts +1 -2
- package/lib/types/components/messages/AssistantTextMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantTextMessage.js +1 -2
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts +2 -2
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantThinkingMessage.js +6 -6
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +12 -4
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +9 -5
- package/lib/types/components/messages/MessageMetadata.d.ts +1 -1
- package/lib/types/components/messages/MessageMetadata.js +1 -1
- package/lib/types/components/messages/UserPromptMessage.d.ts +1 -1
- package/lib/types/components/messages/UserPromptMessage.js +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts +5 -1
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.js +11 -9
- package/lib/types/components/questions/PlanReviewPanel.d.ts +1 -1
- package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
- package/lib/types/components/questions/PlanReviewPanel.js +3 -2
- package/lib/types/components/trajectory/HotspotView.d.ts +14 -0
- package/lib/types/components/trajectory/HotspotView.d.ts.map +1 -0
- package/lib/types/components/trajectory/HotspotView.js +83 -0
- package/lib/types/components/trajectory/Inspector.d.ts +31 -0
- package/lib/types/components/trajectory/Inspector.d.ts.map +1 -0
- package/lib/types/components/trajectory/Inspector.js +67 -0
- package/lib/types/components/trajectory/Ledger.d.ts +20 -0
- package/lib/types/components/trajectory/Ledger.d.ts.map +1 -0
- package/lib/types/components/trajectory/Ledger.js +112 -0
- package/lib/types/components/trajectory/MiniWake.d.ts +24 -0
- package/lib/types/components/trajectory/MiniWake.d.ts.map +1 -0
- package/lib/types/components/trajectory/MiniWake.js +99 -0
- package/lib/types/components/trajectory/WaveBand.d.ts +33 -0
- package/lib/types/components/trajectory/WaveBand.d.ts.map +1 -0
- package/lib/types/components/trajectory/WaveBand.js +145 -0
- package/lib/types/customTheme.d.ts +6 -6
- package/lib/types/customTheme.d.ts.map +1 -1
- package/lib/types/customTheme.js +15 -12
- package/lib/types/dsh-adapter/approvals.d.ts.map +1 -0
- package/lib/types/{channel.d.ts → dsh-adapter/channel.d.ts} +184 -43
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -0
- package/lib/types/{channel.js → dsh-adapter/channel.js} +972 -201
- package/lib/types/dsh-adapter/childStderr.d.ts.map +1 -0
- package/lib/types/{childStderr.js → dsh-adapter/childStderr.js} +1 -1
- package/lib/types/dsh-adapter/command-trees.d.ts +27 -0
- package/lib/types/dsh-adapter/command-trees.d.ts.map +1 -0
- package/lib/types/dsh-adapter/command-trees.js +42 -0
- package/lib/types/dsh-adapter/compat/index.d.ts +22 -0
- package/lib/types/dsh-adapter/compat/index.d.ts.map +1 -0
- package/lib/types/{compat → dsh-adapter/compat}/index.js +7 -4
- package/lib/types/dsh-adapter/compat/sessionLog.d.ts +86 -0
- package/lib/types/dsh-adapter/compat/sessionLog.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/sessionLog.js +347 -0
- package/lib/types/dsh-adapter/contract.d.ts +20 -0
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -0
- package/lib/types/dsh-adapter/contract.js +109 -0
- package/lib/types/dsh-adapter/index.d.ts +80 -0
- package/lib/types/dsh-adapter/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/index.js +45 -0
- package/lib/types/dsh-adapter/invariant.d.ts.map +1 -0
- package/lib/types/dsh-adapter/packaged-skills.d.ts.map +1 -0
- package/lib/types/{plugin.d.ts → dsh-adapter/plugin.d.ts} +17 -0
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -0
- package/lib/types/{plugin.js → dsh-adapter/plugin.js} +280 -80
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -0
- package/lib/types/dsh-adapter/providerWizard.d.ts +91 -0
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -0
- package/lib/types/dsh-adapter/providerWizard.js +332 -0
- package/lib/types/{questions.d.ts → dsh-adapter/questions.d.ts} +7 -2
- package/lib/types/dsh-adapter/questions.d.ts.map +1 -0
- package/lib/types/{questions.js → dsh-adapter/questions.js} +15 -7
- package/lib/types/dsh-adapter/sideQuestion.d.ts +38 -0
- package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sideQuestion.js +69 -0
- package/lib/types/dsh-adapter/trajectory/aggregate.d.ts +46 -0
- package/lib/types/dsh-adapter/trajectory/aggregate.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/aggregate.js +207 -0
- package/lib/types/dsh-adapter/trajectory/guards.d.ts +177 -0
- package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/guards.js +235 -0
- package/lib/types/dsh-adapter/trajectory/index.d.ts +16 -0
- package/lib/types/dsh-adapter/trajectory/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/index.js +15 -0
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts +40 -0
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/inspect.js +160 -0
- package/lib/types/dsh-adapter/trajectory/projection.d.ts +128 -0
- package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/projection.js +653 -0
- package/lib/types/dsh-adapter/trajectory/types.d.ts +232 -0
- package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/types.js +70 -0
- package/lib/types/dsh-adapter/trajectory/wave.d.ts +45 -0
- package/lib/types/dsh-adapter/trajectory/wave.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/wave.js +210 -0
- package/lib/types/dsh-adapter/types.d.ts +23 -0
- package/lib/types/dsh-adapter/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/types.js +1 -0
- package/lib/types/dsh-adapter/workspace.d.ts +22 -0
- package/lib/types/dsh-adapter/workspace.d.ts.map +1 -0
- package/lib/types/dsh-adapter/workspace.js +16 -0
- package/lib/types/dsh-adapter/workspaces.d.ts +118 -0
- package/lib/types/dsh-adapter/workspaces.d.ts.map +1 -0
- package/lib/types/dsh-adapter/workspaces.js +290 -0
- package/lib/types/effortPrefs.d.ts +1 -1
- package/lib/types/effortPrefs.js +3 -3
- package/lib/types/history.js +2 -2
- package/lib/types/hooks/useBlink.d.ts +1 -1
- package/lib/types/hooks/useBlink.js +1 -1
- package/lib/types/i18n.d.ts +977 -36
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +307 -30
- package/lib/types/index.d.ts +1 -69
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +3 -31
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +33 -19
- package/lib/types/ink/dom.d.ts +15 -0
- package/lib/types/ink/dom.d.ts.map +1 -1
- package/lib/types/ink/dom.js +32 -0
- package/lib/types/ink/hooks/use-input.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-input.js +8 -0
- package/lib/types/ink/hooks/use-terminal-size.d.ts +1 -1
- package/lib/types/ink/hooks/use-terminal-size.js +1 -1
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +109 -28
- package/lib/types/ink/input-suppression.d.ts +20 -0
- package/lib/types/ink/input-suppression.d.ts.map +1 -0
- package/lib/types/ink/input-suppression.js +26 -0
- package/lib/types/ink/log-update.js +21 -6
- package/lib/types/ink/parse-keypress.d.ts +31 -0
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +442 -8
- package/lib/types/ink/terminal-querier.d.ts +5 -1
- package/lib/types/ink/terminal-querier.d.ts.map +1 -1
- package/lib/types/ink/terminal-querier.js +27 -3
- package/lib/types/ink/terminal.d.ts +18 -0
- package/lib/types/ink/terminal.d.ts.map +1 -1
- package/lib/types/ink/terminal.js +32 -4
- package/lib/types/ink/termio/csi.d.ts +10 -0
- package/lib/types/ink/termio/csi.d.ts.map +1 -1
- package/lib/types/ink/termio/csi.js +20 -0
- package/lib/types/ink/termio/tokenize.js +10 -0
- package/lib/types/modelPrefs.d.ts +1 -1
- package/lib/types/modelPrefs.js +3 -3
- package/lib/types/presetPrefs.d.ts +1 -1
- package/lib/types/presetPrefs.js +3 -3
- package/lib/types/screens/Chat.d.ts +20 -4
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +655 -55
- package/lib/types/screens/StatusLine.d.ts +17 -2
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +12 -4
- package/lib/types/screens/TrajectoryScene.d.ts +16 -0
- package/lib/types/screens/TrajectoryScene.d.ts.map +1 -0
- package/lib/types/screens/TrajectoryScene.js +305 -0
- package/lib/types/sessionHistory.d.ts +9 -1
- package/lib/types/sessionHistory.d.ts.map +1 -1
- package/lib/types/sessionHistory.js +56 -16
- package/lib/types/sessionModes.d.ts +29 -0
- package/lib/types/sessionModes.d.ts.map +1 -0
- package/lib/types/sessionModes.js +45 -0
- package/lib/types/theme.d.ts +27 -3
- package/lib/types/theme.d.ts.map +1 -1
- package/lib/types/theme.js +48 -4
- package/lib/types/themePrefs.d.ts +3 -3
- package/lib/types/themePrefs.js +5 -5
- package/lib/types/trajectory/format.d.ts +100 -0
- package/lib/types/trajectory/format.d.ts.map +1 -0
- package/lib/types/trajectory/format.js +213 -0
- package/lib/types/trajectory/motion.d.ts +99 -0
- package/lib/types/trajectory/motion.d.ts.map +1 -0
- package/lib/types/trajectory/motion.js +143 -0
- package/lib/types/trajectory/query.d.ts +83 -0
- package/lib/types/trajectory/query.d.ts.map +1 -0
- package/lib/types/trajectory/query.js +187 -0
- package/lib/types/trajectoryPrefs.d.ts +36 -0
- package/lib/types/trajectoryPrefs.d.ts.map +1 -0
- package/lib/types/trajectoryPrefs.js +65 -0
- package/lib/types/update.d.ts +3 -3
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +18 -7
- package/lib/types/utils/clipboard.d.ts +101 -29
- package/lib/types/utils/clipboard.d.ts.map +1 -1
- package/lib/types/utils/clipboard.js +533 -55
- package/lib/types/utils/debug.d.ts +1 -1
- package/lib/types/utils/debug.js +2 -2
- package/lib/types/utils/execFileNoThrow.d.ts.map +1 -1
- package/lib/types/utils/execFileNoThrow.js +16 -6
- package/lib/types/utils/externalEditor.d.ts +115 -0
- package/lib/types/utils/externalEditor.d.ts.map +1 -0
- package/lib/types/utils/externalEditor.js +270 -0
- package/lib/types/utils/fullscreen.d.ts +2 -2
- package/lib/types/utils/fullscreen.js +3 -3
- package/lib/types/utils/loaded-context.d.ts +1 -1
- package/lib/types/utils/loaded-context.d.ts.map +1 -1
- package/lib/types/utils/modifiers.d.ts +24 -0
- package/lib/types/utils/modifiers.d.ts.map +1 -1
- package/lib/types/utils/modifiers.js +27 -0
- package/lib/types/utils/paths.d.ts +45 -0
- package/lib/types/utils/paths.d.ts.map +1 -0
- package/lib/types/utils/paths.js +69 -0
- package/lib/types/utils/shellQuote.d.ts +14 -0
- package/lib/types/utils/shellQuote.d.ts.map +1 -0
- package/lib/types/utils/shellQuote.js +39 -0
- package/lib/types/utils/workspaceRoot.d.ts +21 -0
- package/lib/types/utils/workspaceRoot.d.ts.map +1 -0
- package/lib/types/utils/workspaceRoot.js +47 -0
- package/lib/types/workspaces.d.ts +3 -0
- package/lib/types/workspaces.d.ts.map +1 -0
- package/lib/types/workspaces.js +4 -0
- package/package.json +25 -7
- package/lib/types/approvals.d.ts.map +0 -1
- package/lib/types/channel.d.ts.map +0 -1
- package/lib/types/childStderr.d.ts.map +0 -1
- package/lib/types/compat/index.d.ts +0 -20
- package/lib/types/compat/index.d.ts.map +0 -1
- package/lib/types/compat/sessionLog.d.ts +0 -40
- package/lib/types/compat/sessionLog.d.ts.map +0 -1
- package/lib/types/compat/sessionLog.js +0 -226
- package/lib/types/invariant.d.ts.map +0 -1
- package/lib/types/packaged-skills.d.ts.map +0 -1
- package/lib/types/plugin.d.ts.map +0 -1
- package/lib/types/presets.d.ts.map +0 -1
- package/lib/types/questions.d.ts.map +0 -1
- /package/lib/types/{approvals.d.ts → dsh-adapter/approvals.d.ts} +0 -0
- /package/lib/types/{approvals.js → dsh-adapter/approvals.js} +0 -0
- /package/lib/types/{childStderr.d.ts → dsh-adapter/childStderr.d.ts} +0 -0
- /package/lib/types/{invariant.d.ts → dsh-adapter/invariant.d.ts} +0 -0
- /package/lib/types/{invariant.js → dsh-adapter/invariant.js} +0 -0
- /package/lib/types/{packaged-skills.d.ts → dsh-adapter/packaged-skills.d.ts} +0 -0
- /package/lib/types/{packaged-skills.js → dsh-adapter/packaged-skills.js} +0 -0
- /package/lib/types/{presets.d.ts → dsh-adapter/presets.d.ts} +0 -0
- /package/lib/types/{presets.js → dsh-adapter/presets.js} +0 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream compatibility contract.
|
|
3
|
+
*
|
|
4
|
+
* The TUI is validated against one upstream release line (0.1.0-rc.6).
|
|
5
|
+
* Every official package this adapter touches is blessed here; anything
|
|
6
|
+
* else must go through upstream channels or the adapter, never the UI.
|
|
7
|
+
*
|
|
8
|
+
* `upstreamDrift()` powers both the boot-time warning (dev visibility) and
|
|
9
|
+
* the CI gate (scripts/verify-upstream-contract.ts) so a mismatched
|
|
10
|
+
* install fails in CI before it fails on a user's machine.
|
|
11
|
+
*/
|
|
12
|
+
import { readFileSync } from 'node:fs';
|
|
13
|
+
import { fileURLToPath } from 'node:url';
|
|
14
|
+
export const UPSTREAM_VALIDATED_VERSION = '0.1.0-rc.6';
|
|
15
|
+
/**
|
|
16
|
+
* Framework packages version on their own lines; the contract validates
|
|
17
|
+
* their MAJOR (breaking surface), not the harness rc number.
|
|
18
|
+
*/
|
|
19
|
+
export const UPSTREAM_FRAMEWORK_MAJORS = {
|
|
20
|
+
'@deepseek-ai/cordis': 4,
|
|
21
|
+
'@deepseek-ai/schemastery': 3,
|
|
22
|
+
};
|
|
23
|
+
/** Official packages the adapter consumes at runtime or as types. */
|
|
24
|
+
export const UPSTREAM_BLESSED_PACKAGES = [
|
|
25
|
+
'@deepseek-ai/cordis',
|
|
26
|
+
'@deepseek-ai/schemastery',
|
|
27
|
+
'@deepseek-ai/dsh-invariants',
|
|
28
|
+
'@deepseek-ai/dsh-agent',
|
|
29
|
+
'@deepseek-ai/dsh-agent-instructions',
|
|
30
|
+
'@deepseek-ai/dsh-agent-presets',
|
|
31
|
+
'@deepseek-ai/dsh-commands',
|
|
32
|
+
'@deepseek-ai/dsh-cordis-host-runner',
|
|
33
|
+
'@deepseek-ai/dsh-llm',
|
|
34
|
+
'@deepseek-ai/dsh-persona',
|
|
35
|
+
'@deepseek-ai/dsh-session',
|
|
36
|
+
'@deepseek-ai/dsh-skill',
|
|
37
|
+
'@deepseek-ai/dsh-storage',
|
|
38
|
+
'@deepseek-ai/dsh-storage-domain',
|
|
39
|
+
'@deepseek-ai/dsh-storage-json',
|
|
40
|
+
'@deepseek-ai/dsh-workspace',
|
|
41
|
+
'@deepseek-ai/dsh-system-prompt',
|
|
42
|
+
'@deepseek-ai/dsh-terminal',
|
|
43
|
+
'@deepseek-ai/dsh-terminal-bash',
|
|
44
|
+
'@deepseek-ai/dsh-tool-ask-user',
|
|
45
|
+
'@deepseek-ai/dsh-tool-bash-persistent',
|
|
46
|
+
'@deepseek-ai/dsh-tool-cordis',
|
|
47
|
+
'@deepseek-ai/dsh-user-approval',
|
|
48
|
+
'@deepseek-ai/dsh-user-questions',
|
|
49
|
+
];
|
|
50
|
+
function resolvePackageJson(packageName) {
|
|
51
|
+
try {
|
|
52
|
+
const path = import.meta.resolve(`${packageName}/package.json`);
|
|
53
|
+
return path.startsWith('file:') ? fileURLToPath(path) : path;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function installedUpstreamVersions() {
|
|
60
|
+
const result = {};
|
|
61
|
+
for (const packageName of UPSTREAM_BLESSED_PACKAGES) {
|
|
62
|
+
let version;
|
|
63
|
+
const path = resolvePackageJson(packageName);
|
|
64
|
+
if (path !== undefined) {
|
|
65
|
+
try {
|
|
66
|
+
const manifest = JSON.parse(readFileSync(path, 'utf8'));
|
|
67
|
+
version = manifest.version;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
version = undefined;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
result[packageName] = version;
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
function rcNumber(version) {
|
|
78
|
+
const match = /0\.1\.0-rc\.(\d+)/u.exec(version ?? '');
|
|
79
|
+
return match === null ? undefined : Number(match[1]);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Report every blessed package whose installed version is NOT the validated
|
|
83
|
+
* release line. Empty array = the running install matches the contract.
|
|
84
|
+
*/
|
|
85
|
+
export function upstreamDrift() {
|
|
86
|
+
const drift = [];
|
|
87
|
+
for (const [packageName, installed] of Object.entries(installedUpstreamVersions())) {
|
|
88
|
+
const expected = UPSTREAM_BLESSED_PACKAGES.includes(packageName);
|
|
89
|
+
if (!expected)
|
|
90
|
+
continue;
|
|
91
|
+
let matches;
|
|
92
|
+
const frameworkMajor = UPSTREAM_FRAMEWORK_MAJORS[packageName];
|
|
93
|
+
if (frameworkMajor !== undefined) {
|
|
94
|
+
const installedMajor = Number((installed ?? '').split('.')[0]);
|
|
95
|
+
matches = installedMajor === frameworkMajor;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
matches = rcNumber(installed) === rcNumber(UPSTREAM_VALIDATED_VERSION);
|
|
99
|
+
}
|
|
100
|
+
if (!matches) {
|
|
101
|
+
drift.push({
|
|
102
|
+
package: packageName,
|
|
103
|
+
installed,
|
|
104
|
+
validated: frameworkMajor !== undefined ? `major ${frameworkMajor}` : UPSTREAM_VALIDATED_VERSION,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return drift;
|
|
109
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* dsh-tui plugin entry. The TUI implementation lives in `./plugin.tsx` (its
|
|
3
|
+
* render path is JSX); this module owns the plugin surface (`name`/`inject`/
|
|
4
|
+
* `Config`/`apply`) at the canonical `src/index.ts` location and delegates
|
|
5
|
+
* `apply` through a dynamic import so entry-scanning tooling and the Loader
|
|
6
|
+
* resolve a plain `.ts` module.
|
|
7
|
+
* @module @deepseek-harness-tui/dsh-tui
|
|
8
|
+
*/
|
|
9
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
10
|
+
import Schema from '@deepseek-ai/schemastery';
|
|
11
|
+
import type { SessionModeSpec } from '../sessionModes.js';
|
|
12
|
+
export declare const name = "dsh-tui";
|
|
13
|
+
export declare const inject: string[];
|
|
14
|
+
/**
|
|
15
|
+
* dsh-tui plugin configuration: session attachment, model route, working
|
|
16
|
+
* directory, and display preferences.
|
|
17
|
+
*/
|
|
18
|
+
export interface Config {
|
|
19
|
+
/** Existing session to attach; a fresh session is created when absent. */
|
|
20
|
+
sessionId?: string;
|
|
21
|
+
/** LLM provider route. The route resolves atomically (issue #67): when
|
|
22
|
+
* cordis.yml names BOTH `provider` and `model`, that pair wins; otherwise
|
|
23
|
+
* the `/model` choice persisted in `~/.dsh-tui/model.json` wins whole;
|
|
24
|
+
* otherwise `agentDefaultModel` supplies the provider-neutral Harness
|
|
25
|
+
* default. A bare embedder without that service falls back to DeepSeek.
|
|
26
|
+
* A provider-only pin never half-overrides the persisted choice. */
|
|
27
|
+
provider?: string;
|
|
28
|
+
/** Model override passed to the agent; resolved together with `provider`
|
|
29
|
+
* as one atomic route (see `provider`). */
|
|
30
|
+
model?: string;
|
|
31
|
+
/** Session working directory. When absent, the git worktree root
|
|
32
|
+
* containing the invoking directory wins (the invoking directory itself
|
|
33
|
+
* outside any worktree) — never a bare launch subdirectory (issue #96). */
|
|
34
|
+
cwd?: string;
|
|
35
|
+
/** Absolute local path, file URL, or provider URI resolved before the
|
|
36
|
+
* initial agent is created. */
|
|
37
|
+
workspace?: string;
|
|
38
|
+
/** Reasoning effort applied to every request, validated against the live
|
|
39
|
+
* route's adapter levels (an unlisted level is ignored and the adapter
|
|
40
|
+
* default applies). Wins over the persisted /effort choice; also seeds
|
|
41
|
+
* the startup status line until the first request header reports the
|
|
42
|
+
* live value. */
|
|
43
|
+
effort?: string;
|
|
44
|
+
/** Show the live working line derived in-process from base session events. */
|
|
45
|
+
activity?: boolean;
|
|
46
|
+
/** Working-activity indicator preset: `claude`/`moon`/`comet`/`dots`/…
|
|
47
|
+
* or `random` (see activityFrames.ts). When absent, the `/activity`
|
|
48
|
+
* choice persisted in `~/.dsh-tui/working-activity.json` wins, then the
|
|
49
|
+
* `claude` default. */
|
|
50
|
+
activityFrames?: string;
|
|
51
|
+
/** Show the segmented context bar (the band under the input with the
|
|
52
|
+
* `ctx used/window` readout) in the status footer; off hides that row
|
|
53
|
+
* while the status/mode lines stay (issue #29). */
|
|
54
|
+
contextBar?: boolean;
|
|
55
|
+
/** Run in the terminal's alternate screen (Claude Code fullscreen layout). */
|
|
56
|
+
fullscreen?: boolean;
|
|
57
|
+
/** UI language: `en` / `zh`. When absent, the `DSH_TUI_LANG` env var wins,
|
|
58
|
+
* then the `/lang` choice persisted in `~/.dsh-tui/lang.json`, then `zh`. */
|
|
59
|
+
lang?: string;
|
|
60
|
+
/** Agent preset id new sessions compose from (standard/code/minimal/
|
|
61
|
+
* cordis/… when the roster is mounted). When absent, the `/preset` choice
|
|
62
|
+
* persisted in `~/.dsh-tui/agent-preset.json` wins, then the roster
|
|
63
|
+
* default (`standard`). */
|
|
64
|
+
preset?: string;
|
|
65
|
+
/** Shift+Tab session-mode cycle (array order IS the cycle order; index 0
|
|
66
|
+
* is the unmarked base mode). Each entry bundles any subset of the
|
|
67
|
+
* `plan`/`sandbox`/`approval` atoms; absent → the built-in
|
|
68
|
+
* default/plan/full cycle (see sessionModes.ts). */
|
|
69
|
+
modes?: SessionModeSpec[];
|
|
70
|
+
}
|
|
71
|
+
export declare const Config: Schema<Config>;
|
|
72
|
+
/**
|
|
73
|
+
* Start the interactive TUI front door, delegating to the JSX implementation
|
|
74
|
+
* in `./plugin.tsx` (see its module doc for the full contract).
|
|
75
|
+
* @param ctx - the plugin context.
|
|
76
|
+
* @param config - the validated dsh-tui configuration.
|
|
77
|
+
* @returns a promise settling when the TUI teardown completes.
|
|
78
|
+
*/
|
|
79
|
+
export declare function apply(ctx: Context, config: Config): Promise<void>;
|
|
80
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,eAAO,MAAM,IAAI,YAAY,CAAA;AAC7B,eAAO,MAAM,MAAM,UAA8B,CAAA;AAEjD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;yEAKqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;gDAC4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;gFAE4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;oCACgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;sBAIkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;4BAGwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;wDAEoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;kFAC8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;gCAG4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;yDAGqD;IACrD,KAAK,CAAC,EAAE,eAAe,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CA0BhC,CAAA;AAEF;;;;;;GAMG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvE"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import Schema from '@deepseek-ai/schemastery';
|
|
2
|
+
export const name = 'dsh-tui';
|
|
3
|
+
export const inject = ['agents', 'tuiWorkspaces'];
|
|
4
|
+
export const Config = Schema.object({
|
|
5
|
+
sessionId: Schema.string().required(false),
|
|
6
|
+
// No schema defaults on the route: a `.default()` here would make an
|
|
7
|
+
// unset key indistinguishable from an explicit cordis.yml choice and the
|
|
8
|
+
// persisted `/model` preference could never win (issue #30). The defaults
|
|
9
|
+
// live at the end of the fallback chain in modelRoute.ts instead.
|
|
10
|
+
provider: Schema.string().required(false),
|
|
11
|
+
model: Schema.string().required(false),
|
|
12
|
+
cwd: Schema.string().required(false),
|
|
13
|
+
workspace: Schema.string().required(false),
|
|
14
|
+
effort: Schema.string().required(false),
|
|
15
|
+
activity: Schema.boolean().default(true),
|
|
16
|
+
activityFrames: Schema.string().required(false),
|
|
17
|
+
contextBar: Schema.boolean().default(true),
|
|
18
|
+
fullscreen: Schema.boolean().default(false),
|
|
19
|
+
lang: Schema.string().required(false),
|
|
20
|
+
preset: Schema.string().required(false),
|
|
21
|
+
modes: Schema.array(Schema.object({
|
|
22
|
+
id: Schema.string(),
|
|
23
|
+
label: Schema.string().required(false),
|
|
24
|
+
plan: Schema.boolean().required(false),
|
|
25
|
+
sandbox: Schema.union(['read-only', 'workspace-write', 'danger-full-access']).required(false),
|
|
26
|
+
approval: Schema.union(['ask', 'never']).required(false),
|
|
27
|
+
})).required(false),
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Start the interactive TUI front door, delegating to the JSX implementation
|
|
31
|
+
* in `./plugin.tsx` (see its module doc for the full contract).
|
|
32
|
+
* @param ctx - the plugin context.
|
|
33
|
+
* @param config - the validated dsh-tui configuration.
|
|
34
|
+
* @returns a promise settling when the TUI teardown completes.
|
|
35
|
+
*/
|
|
36
|
+
export async function apply(ctx, config) {
|
|
37
|
+
const { upstreamDrift, UPSTREAM_VALIDATED_VERSION } = await import('./contract.js');
|
|
38
|
+
for (const entry of upstreamDrift()) {
|
|
39
|
+
console.warn(`[dsh-tui] upstream drift: ${entry.package} installed=${entry.installed ?? 'missing'} ` +
|
|
40
|
+
`validated=${UPSTREAM_VALIDATED_VERSION} — the TUI was validated against ` +
|
|
41
|
+
`${UPSTREAM_VALIDATED_VERSION}; upgrade the profile when upstream is bumped.`);
|
|
42
|
+
}
|
|
43
|
+
const { apply: ccTuiApply } = await import('./plugin.js');
|
|
44
|
+
return ccTuiApply(ctx, config);
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/invariant.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,oCAAoC;AACpC,eAAO,MAAM,IAAI,sBAAsB,CAAA;AACvC,2EAA2E;AAC3E,eAAO,MAAM,MAAM,UAAiB,CAAA;AASpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,OAAO,KAAG,OAAO,CAAC,MAAM,IAAI,CACU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packaged-skills.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/packaged-skills.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA+BlD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAqBzD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
1
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
2
3
|
import { Config } from './index.js';
|
|
3
4
|
/**
|
|
@@ -30,4 +31,20 @@ export declare function createExitFunnel(deps: {
|
|
|
30
31
|
handleExit: (error?: unknown) => void;
|
|
31
32
|
markTeardown: () => void;
|
|
32
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Whether a user exit should leave the resume marker (and print the resume
|
|
36
|
+
* hint). Must be judged against the LIVE session behind the channel, not the
|
|
37
|
+
* boot-time agent apply() captured: /resume, /new and /model swap the active
|
|
38
|
+
* agent (channel.agentId follows, the old handle is disposed), so the
|
|
39
|
+
* captured reference can point at a stale session — wiping a marker the
|
|
40
|
+
* resume path just wrote (boot empty → /resume into history) or rewriting it
|
|
41
|
+
* to a fresh empty session (boot with history → /new). `liveAgent` is the
|
|
42
|
+
* registry lookup of channel.agentId; it falls back to the captured agent
|
|
43
|
+
* when the lookup misses. Exported for scripts/verify-exit-resume-marker.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isExitResumable(deps: {
|
|
46
|
+
pendingCount: number;
|
|
47
|
+
liveAgent: Agent | undefined;
|
|
48
|
+
startupAgent: Agent;
|
|
49
|
+
}): boolean;
|
|
33
50
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA2BnC;;;;;;;;GAQG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkYvE;AA6GD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAAG;IACjF,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB,CAcA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,KAAK,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,KAAK,CAAA;CACpB,GAAG,OAAO,CAQV"}
|