@deepseek-harness-tui/dsh-tui 0.11.1 → 0.11.2
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 +50 -20
- package/assets/whale-girl/whale-girl-dark.png +0 -0
- package/assets/whale-girl/whale-girl-happy.png +0 -0
- package/assets/whale-girl/whale-girl.png +0 -0
- package/bin/dsh-tui.js +63 -3
- package/cordis.patch.yml +39 -17
- package/cordis.yml +3 -2
- package/lib/settings.json +1272 -0
- package/lib/types/adapter/channel/ui-policy.d.ts +9 -2
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
- package/lib/types/adapter/channel/ui-policy.js +13 -0
- package/lib/types/adapter/kernel/replay.d.ts.map +1 -1
- package/lib/types/adapter/kernel/replay.js +2 -0
- package/lib/types/adapter/ports/channel-display.d.ts +12 -0
- package/lib/types/adapter/ports/channel-display.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-session.d.ts +38 -0
- package/lib/types/adapter/ports/channel-session.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-settings.d.ts +12 -0
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-ui.d.ts +46 -4
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
- package/lib/types/adapter/ports/channel-view.d.ts +43 -0
- package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +2 -0
- package/lib/types/components/BalanceReportRow.d.ts +10 -2
- package/lib/types/components/BalanceReportRow.d.ts.map +1 -1
- package/lib/types/components/BalanceReportRow.js +18 -4
- package/lib/types/components/CompactionStatusRow.d.ts +24 -0
- package/lib/types/components/CompactionStatusRow.d.ts.map +1 -0
- package/lib/types/components/CompactionStatusRow.js +72 -0
- package/lib/types/components/GoalTodoPanel.js +2 -2
- package/lib/types/components/HelpMenu.d.ts +2 -2
- package/lib/types/components/HelpMenu.d.ts.map +1 -1
- package/lib/types/components/HelpMenu.js +5 -4
- package/lib/types/components/InlineMathParagraph.d.ts +22 -0
- package/lib/types/components/InlineMathParagraph.d.ts.map +1 -0
- package/lib/types/components/InlineMathParagraph.js +178 -0
- package/lib/types/components/LogoV2.d.ts +41 -3
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +148 -24
- package/lib/types/components/Markdown.d.ts +10 -3
- package/lib/types/components/Markdown.d.ts.map +1 -1
- package/lib/types/components/Markdown.js +47 -14
- package/lib/types/components/MathBlock.d.ts +13 -0
- package/lib/types/components/MathBlock.d.ts.map +1 -0
- package/lib/types/components/MathBlock.js +136 -0
- package/lib/types/components/MessageList.d.ts +10 -1
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +13 -4
- package/lib/types/components/MigratePicker.d.ts +30 -0
- package/lib/types/components/MigratePicker.d.ts.map +1 -0
- package/lib/types/components/MigratePicker.js +38 -0
- package/lib/types/components/PromptInput.d.ts +17 -0
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +48 -7
- package/lib/types/components/SplitDiffView.d.ts.map +1 -1
- package/lib/types/components/SplitDiffView.js +2 -1
- package/lib/types/components/StarPrompt.d.ts +53 -0
- package/lib/types/components/StarPrompt.d.ts.map +1 -0
- package/lib/types/components/StarPrompt.js +281 -0
- package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
- package/lib/types/components/StreamingMarkdown.js +20 -3
- package/lib/types/components/TimelineRail.d.ts.map +1 -1
- package/lib/types/components/TimelineRail.js +9 -1
- package/lib/types/components/Whale.d.ts +17 -8
- package/lib/types/components/Whale.d.ts.map +1 -1
- package/lib/types/components/Whale.js +25 -15
- package/lib/types/components/WhaleGirl.d.ts +29 -0
- package/lib/types/components/WhaleGirl.d.ts.map +1 -0
- package/lib/types/components/WhaleGirl.js +32 -0
- package/lib/types/components/WorkingSpinner.d.ts +4 -1
- package/lib/types/components/WorkingSpinner.d.ts.map +1 -1
- package/lib/types/components/WorkingSpinner.js +2 -2
- package/lib/types/components/bigfont.d.ts +47 -18
- package/lib/types/components/bigfont.d.ts.map +1 -1
- package/lib/types/components/bigfont.js +55 -40
- package/lib/types/components/design-system/ThemeProvider.d.ts +6 -0
- package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemeProvider.js +40 -1
- package/lib/types/components/maidPortrait.d.ts +44 -0
- package/lib/types/components/maidPortrait.d.ts.map +1 -0
- package/lib/types/components/maidPortrait.js +178 -0
- package/lib/types/components/mathPreview.d.ts +25 -0
- package/lib/types/components/mathPreview.d.ts.map +1 -0
- package/lib/types/components/mathPreview.js +48 -0
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantThinkingMessage.js +2 -1
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +3 -2
- package/lib/types/components/messages/TranscriptImages.d.ts.map +1 -1
- package/lib/types/components/messages/TranscriptImages.js +11 -1
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts +14 -2
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.js +80 -38
- package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
- package/lib/types/components/questions/PlanReviewPanel.js +3 -3
- package/lib/types/components/sessions/ForeignSessionRow.d.ts +34 -0
- package/lib/types/components/sessions/ForeignSessionRow.d.ts.map +1 -0
- package/lib/types/components/sessions/ForeignSessionRow.js +43 -0
- package/lib/types/components/sessions/SourceTabs.d.ts +52 -0
- package/lib/types/components/sessions/SourceTabs.d.ts.map +1 -0
- package/lib/types/components/sessions/SourceTabs.js +70 -0
- package/lib/types/components/splashEggs.d.ts +56 -0
- package/lib/types/components/splashEggs.d.ts.map +1 -0
- package/lib/types/components/splashEggs.js +67 -0
- package/lib/types/components/splashFonts.d.ts +119 -0
- package/lib/types/components/splashFonts.d.ts.map +1 -0
- package/lib/types/components/splashFonts.js +267 -0
- package/lib/types/components/splashLayout.d.ts +41 -0
- package/lib/types/components/splashLayout.d.ts.map +1 -0
- package/lib/types/components/splashLayout.js +40 -0
- package/lib/types/components/whaleGirlSprite.d.ts +17 -0
- package/lib/types/components/whaleGirlSprite.d.ts.map +1 -0
- package/lib/types/components/whaleGirlSprite.js +47 -0
- package/lib/types/deepseekPricing.d.ts +74 -0
- package/lib/types/deepseekPricing.d.ts.map +1 -1
- package/lib/types/deepseekPricing.js +110 -11
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/action-readiness.js +6 -1
- package/lib/types/dsh-adapter/channel/background-action.d.ts +1 -0
- package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/background-action.js +1 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +8 -9
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/binding-events.js +69 -21
- package/lib/types/dsh-adapter/channel/compaction.d.ts +2 -1
- package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/compaction.js +35 -2
- package/lib/types/dsh-adapter/channel/local-actions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/local-actions.js +6 -1
- package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/model-switch.js +5 -1
- package/lib/types/dsh-adapter/channel/paths.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/paths.js +7 -1
- package/lib/types/dsh-adapter/channel/preferences.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/preferences.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/preferences.js +16 -0
- package/lib/types/dsh-adapter/channel/projection.d.ts +1 -2
- package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/projection.js +127 -17
- package/lib/types/dsh-adapter/channel/question-record.d.ts +76 -0
- package/lib/types/dsh-adapter/channel/question-record.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/question-record.js +107 -0
- package/lib/types/dsh-adapter/channel/session-lineage.d.ts +42 -0
- package/lib/types/dsh-adapter/channel/session-lineage.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-lineage.js +51 -0
- package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts +2 -0
- package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-live-adoption.js +9 -3
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts +2 -1
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-metadata.js +39 -7
- package/lib/types/dsh-adapter/channel/session-reset.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-reset.js +7 -0
- package/lib/types/dsh-adapter/channel/session-resume.d.ts +1 -0
- package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/session-resume.js +4 -2
- package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/settings-host.js +8 -0
- package/lib/types/dsh-adapter/channel/state.d.ts +14 -1
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/state.js +6 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts +30 -35
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel/subagent-projection.js +138 -4
- package/lib/types/dsh-adapter/channel/types.d.ts +1 -1
- package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +19 -4
- package/lib/types/dsh-adapter/compat/messages.d.ts +6 -0
- package/lib/types/dsh-adapter/compat/messages.d.ts.map +1 -1
- package/lib/types/dsh-adapter/compat/messages.js +9 -0
- package/lib/types/dsh-adapter/contract.d.ts +5 -5
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +8 -6
- package/lib/types/dsh-adapter/index.d.ts +36 -1
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +22 -6
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.js +131 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.parse.d.ts +17 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.parse.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.parse.js +329 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.js +102 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.parse.d.ts +16 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.parse.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.parse.js +289 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.js +117 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.parse.d.ts +13 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.parse.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.parse.js +178 -0
- package/lib/types/dsh-adapter/migrate/adapters/omp.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/omp.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/omp.js +133 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan-fs.d.ts +60 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan-fs.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan-fs.js +178 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan.d.ts +8 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan.js +40 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.js +93 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.parse.d.ts +9 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.parse.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.parse.js +89 -0
- package/lib/types/dsh-adapter/migrate/bin-path.d.ts +6 -0
- package/lib/types/dsh-adapter/migrate/bin-path.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/bin-path.js +30 -0
- package/lib/types/dsh-adapter/migrate/browse.d.ts +42 -0
- package/lib/types/dsh-adapter/migrate/browse.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/browse.js +90 -0
- package/lib/types/dsh-adapter/migrate/cli.d.ts +9 -0
- package/lib/types/dsh-adapter/migrate/cli.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/cli.js +106 -0
- package/lib/types/dsh-adapter/migrate/import-one.d.ts +89 -0
- package/lib/types/dsh-adapter/migrate/import-one.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/import-one.js +133 -0
- package/lib/types/dsh-adapter/migrate/index.d.ts +35 -0
- package/lib/types/dsh-adapter/migrate/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/index.js +107 -0
- package/lib/types/dsh-adapter/migrate/parse/injection.d.ts +40 -0
- package/lib/types/dsh-adapter/migrate/parse/injection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/parse/injection.js +127 -0
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +28 -0
- package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/parse/jsonl.js +40 -0
- package/lib/types/dsh-adapter/migrate/parse/role-turns.d.ts +28 -0
- package/lib/types/dsh-adapter/migrate/parse/role-turns.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/parse/role-turns.js +50 -0
- package/lib/types/dsh-adapter/migrate/parse/title.d.ts +18 -0
- package/lib/types/dsh-adapter/migrate/parse/title.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/parse/title.js +29 -0
- package/lib/types/dsh-adapter/migrate/parse/tools.d.ts +62 -0
- package/lib/types/dsh-adapter/migrate/parse/tools.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/parse/tools.js +110 -0
- package/lib/types/dsh-adapter/migrate/picker.d.ts +64 -0
- package/lib/types/dsh-adapter/migrate/picker.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/picker.js +86 -0
- package/lib/types/dsh-adapter/migrate/recent-agents.d.ts +40 -0
- package/lib/types/dsh-adapter/migrate/recent-agents.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/recent-agents.js +100 -0
- package/lib/types/dsh-adapter/migrate/sessionize.d.ts +39 -0
- package/lib/types/dsh-adapter/migrate/sessionize.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/sessionize.js +271 -0
- package/lib/types/dsh-adapter/migrate/types.d.ts +176 -0
- package/lib/types/dsh-adapter/migrate/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/types.js +11 -0
- package/lib/types/dsh-adapter/migrate/uuid.d.ts +7 -0
- package/lib/types/dsh-adapter/migrate/uuid.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/uuid.js +25 -0
- package/lib/types/dsh-adapter/plugin.d.ts +4 -2
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +143 -364
- package/lib/types/dsh-adapter/providerWizard.d.ts +17 -0
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/providerWizard.js +254 -66
- package/lib/types/dsh-adapter/questions.d.ts +22 -15
- package/lib/types/dsh-adapter/questions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/questions.js +47 -45
- package/lib/types/dsh-adapter/sessions/digest.d.ts +11 -6
- package/lib/types/dsh-adapter/sessions/digest.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/digest.js +20 -13
- package/lib/types/dsh-adapter/sessions/frames.d.ts +3 -1
- package/lib/types/dsh-adapter/sessions/frames.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/frames.js +5 -4
- package/lib/types/dsh-adapter/sessions/list.d.ts +6 -1
- package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/list.js +188 -164
- package/lib/types/dsh-adapter/sessions/recovery.d.ts +16 -0
- package/lib/types/dsh-adapter/sessions/recovery.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/recovery.js +108 -0
- package/lib/types/dsh-adapter/sessions/snapshot.d.ts +7 -0
- package/lib/types/dsh-adapter/sessions/snapshot.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/snapshot.js +90 -0
- package/lib/types/dsh-adapter/sessions/store.d.ts +10 -4
- package/lib/types/dsh-adapter/sessions/store.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/store.js +62 -25
- package/lib/types/dsh-adapter/sideQuestion.d.ts +41 -2
- package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sideQuestion.js +98 -2
- package/lib/types/dsh-adapter/subagents.d.ts +28 -3
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
- package/lib/types/dsh-adapter/subagents.js +77 -2
- package/lib/types/herdr.d.ts +2 -0
- package/lib/types/herdr.d.ts.map +1 -1
- package/lib/types/herdr.js +9 -3
- package/lib/types/i18n.d.ts +424 -42
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +145 -20
- package/lib/types/ink/components/App.d.ts +2 -2
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +5 -1
- package/lib/types/ink/components/Image.d.ts +14 -1
- package/lib/types/ink/components/Image.d.ts.map +1 -1
- package/lib/types/ink/components/Image.js +2 -2
- package/lib/types/ink/events/input-event.js +3 -3
- package/lib/types/ink/hooks/use-terminal-images.d.ts +12 -0
- package/lib/types/ink/hooks/use-terminal-images.d.ts.map +1 -1
- package/lib/types/ink/hooks/use-terminal-images.js +13 -0
- package/lib/types/ink/ink.d.ts +6 -0
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +16 -1
- package/lib/types/ink/kitty-graphics.d.ts +44 -3
- package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
- package/lib/types/ink/kitty-graphics.js +184 -23
- package/lib/types/ink/output.d.ts +24 -2
- package/lib/types/ink/output.d.ts.map +1 -1
- package/lib/types/ink/output.js +83 -5
- package/lib/types/ink/parse-keypress.d.ts +26 -1
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +156 -13
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +8 -1
- package/lib/types/ink/screen.d.ts +24 -0
- package/lib/types/ink/screen.d.ts.map +1 -1
- package/lib/types/ink/screen.js +89 -0
- package/lib/types/ink/selection.d.ts +40 -18
- package/lib/types/ink/selection.d.ts.map +1 -1
- package/lib/types/ink/selection.js +142 -30
- package/lib/types/ink/sixel-codec.d.ts +12 -1
- package/lib/types/ink/sixel-codec.d.ts.map +1 -1
- package/lib/types/ink/sixel-codec.js +29 -5
- package/lib/types/ink/sixel-graphics.d.ts.map +1 -1
- package/lib/types/ink/sixel-graphics.js +5 -3
- package/lib/types/ink/styles.d.ts +9 -0
- package/lib/types/ink/styles.d.ts.map +1 -1
- package/lib/types/ink/terminal-image.d.ts +8 -0
- package/lib/types/ink/terminal-image.d.ts.map +1 -1
- package/lib/types/ink/terminal-querier.d.ts +7 -1
- package/lib/types/ink/terminal-querier.d.ts.map +1 -1
- package/lib/types/ink/terminal-querier.js +12 -2
- package/lib/types/ink/timeline-rail.d.ts +5 -0
- package/lib/types/ink/timeline-rail.d.ts.map +1 -1
- package/lib/types/math/inline-layout.d.ts +29 -0
- package/lib/types/math/inline-layout.d.ts.map +1 -0
- package/lib/types/math/inline-layout.js +106 -0
- package/lib/types/math/layout.d.ts +58 -0
- package/lib/types/math/layout.d.ts.map +1 -0
- package/lib/types/math/layout.js +59 -0
- package/lib/types/math/renderer.d.ts +64 -0
- package/lib/types/math/renderer.d.ts.map +1 -0
- package/lib/types/math/renderer.js +256 -0
- package/lib/types/screens/Chat.d.ts +14 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +606 -53
- package/lib/types/screens/SessionSupervisor.d.ts +2 -1
- package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/SessionSupervisor.js +156 -19
- package/lib/types/screens/Settings.d.ts.map +1 -1
- package/lib/types/screens/Settings.js +49 -11
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +45 -15
- package/lib/types/screens/chatOverlay.d.ts +5 -0
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +1 -0
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts +47 -0
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts.map +1 -0
- package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.js +65 -0
- package/lib/types/screens/sessionSupervisor/model.d.ts +12 -0
- package/lib/types/screens/sessionSupervisor/model.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/model.js +26 -0
- package/lib/types/screens/sessionSupervisor/useForeignSessions.d.ts +107 -0
- package/lib/types/screens/sessionSupervisor/useForeignSessions.d.ts.map +1 -0
- package/lib/types/screens/sessionSupervisor/useForeignSessions.js +312 -0
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +4 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +97 -14
- package/lib/types/sessionHistory.d.ts +2 -2
- package/lib/types/sessionHistory.d.ts.map +1 -1
- package/lib/types/sessionHistory.js +31 -5
- package/lib/types/settings/definitions.d.ts +681 -0
- package/lib/types/settings/definitions.d.ts.map +1 -0
- package/lib/types/settings/definitions.js +511 -0
- package/lib/types/starAction.d.ts +44 -0
- package/lib/types/starAction.d.ts.map +1 -0
- package/lib/types/starAction.js +52 -0
- package/lib/types/terminal-utils/latex.d.ts +10 -0
- package/lib/types/terminal-utils/latex.d.ts.map +1 -0
- package/lib/types/terminal-utils/latex.js +1417 -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 +26 -1
- package/lib/types/terminal-utils/math.d.ts +66 -0
- package/lib/types/terminal-utils/math.d.ts.map +1 -0
- package/lib/types/terminal-utils/math.js +337 -0
- package/lib/types/tips.d.ts.map +1 -1
- package/lib/types/tips.js +6 -0
- package/lib/types/tuiDisplayPrefs.d.ts +67 -0
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
- package/lib/types/tuiDisplayPrefs.js +59 -0
- package/lib/types/ui.d.ts +1 -1
- package/lib/types/ui.d.ts.map +1 -1
- package/lib/types/ui.js +1 -1
- package/lib/types/usageStats.d.ts +98 -0
- package/lib/types/usageStats.d.ts.map +1 -0
- package/lib/types/usageStats.js +169 -0
- package/lib/types/utils/bmp.d.ts +17 -0
- package/lib/types/utils/bmp.d.ts.map +1 -0
- package/lib/types/utils/bmp.js +154 -0
- package/lib/types/utils/clipboard.d.ts +14 -2
- package/lib/types/utils/clipboard.d.ts.map +1 -1
- package/lib/types/utils/clipboard.js +143 -8
- package/lib/types/utils/fold-long-lines.d.ts.map +1 -1
- package/lib/types/utils/fold-long-lines.js +2 -1
- package/lib/types/utils/keymap.d.ts +4 -1
- package/lib/types/utils/keymap.d.ts.map +1 -1
- package/lib/types/utils/keymap.js +8 -0
- package/lib/types/utils/modifiers.d.ts +4 -3
- package/lib/types/utils/modifiers.d.ts.map +1 -1
- package/lib/types/utils/modifiers.js +4 -3
- package/node_modules/@dsh-tui-vendor/mathjax-tex-svg/LICENSE +202 -0
- package/node_modules/@dsh-tui-vendor/mathjax-tex-svg/NOTICE +20 -0
- package/node_modules/@dsh-tui-vendor/mathjax-tex-svg/index.d.ts +16 -0
- package/node_modules/@dsh-tui-vendor/mathjax-tex-svg/lib/bundled-packages.json +4 -0
- package/node_modules/@dsh-tui-vendor/mathjax-tex-svg/lib/index.mjs +20 -0
- package/node_modules/@dsh-tui-vendor/mathjax-tex-svg/lib/index.mjs.LEGAL.txt +35 -0
- package/node_modules/@dsh-tui-vendor/mathjax-tex-svg/package.json +29 -0
- package/package.json +111 -97
|
@@ -1,26 +1,8 @@
|
|
|
1
1
|
import type { Agent, AssistantStreamFrame } from '@deepseek-ai/dsh-agent';
|
|
2
2
|
import { SubagentActivityStore } from '../subagents.js';
|
|
3
|
-
import type { ChannelState
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* only accepts scoped events and never captures a replaceable agent itself.
|
|
7
|
-
*
|
|
8
|
-
* Discovery comes from three seams so the dashboard can mirror EVERY child
|
|
9
|
-
* the session dispatched (issue #966):
|
|
10
|
-
* 1. `subagent/start`/`subagent/end` bus edges — per-run lifecycle of
|
|
11
|
-
* one-shot runs and continuable epochs, paired by `runId`;
|
|
12
|
-
* 2. parent-session durable events — `subagent/catalog` (child creation
|
|
13
|
-
* fact, written for every child) and `tool-workflow/agent-start|end`
|
|
14
|
-
* (workflow/ralph members, which never emit subagent edges) — received
|
|
15
|
-
* live AND folded from the log at bind/resume so a restart no longer
|
|
16
|
-
* blanks the panel;
|
|
17
|
-
* 3. lazy registry back-fill — a child session event or stream frame whose
|
|
18
|
-
* session link was never established is resolved through the agents
|
|
19
|
-
* registry on arrival, healing one-shot `lookupChild` misses.
|
|
20
|
-
* Transcript cards are gated to children discovered while LIVE: a resumed
|
|
21
|
-
* session's historical children appear in the dashboard without flooding the
|
|
22
|
-
* replayed transcript with cards that the durable log never contained. */
|
|
23
|
-
export declare function createSubagentProjection(getState: () => Pick<ChannelState, 'rows' | 'subagents' | 'emit' | 'emitStream'>, deps: {
|
|
3
|
+
import type { ChannelState } from './types.js';
|
|
4
|
+
type ProjectionState = Pick<ChannelState, 'rows' | 'subagents' | 'subagentCost' | 'emit' | 'emitStream'>;
|
|
5
|
+
interface ProjectionDependencies {
|
|
24
6
|
rowIds: {
|
|
25
7
|
value: number;
|
|
26
8
|
};
|
|
@@ -37,31 +19,44 @@ export declare function createSubagentProjection(getState: () => Pick<ChannelSta
|
|
|
37
19
|
model?: string;
|
|
38
20
|
};
|
|
39
21
|
} | undefined;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Keep each parked parent's reducer alive, including session links and the
|
|
25
|
+
* stream attempt/settlement cursor. A display snapshot cannot resume either
|
|
26
|
+
* a run epoch or an in-flight assistant attempt faithfully.
|
|
27
|
+
*/
|
|
28
|
+
export declare function createSubagentProjection(getState: () => ProjectionState, deps: ProjectionDependencies): {
|
|
29
|
+
readonly store: SubagentActivityStore;
|
|
30
|
+
readonly pendingTaskDescriptions: string[];
|
|
31
|
+
control: {
|
|
32
|
+
interrupt: (id: string) => boolean;
|
|
33
|
+
};
|
|
34
|
+
onSessionEvent(session: unknown, event: {
|
|
45
35
|
type?: string;
|
|
46
|
-
})
|
|
47
|
-
onStreamFrame
|
|
48
|
-
|
|
49
|
-
bootstrapFromLog: (events: readonly unknown[]) => void;
|
|
50
|
-
onStart: (info: {
|
|
36
|
+
}): boolean;
|
|
37
|
+
onStreamFrame(agent: unknown, frame: AssistantStreamFrame): boolean;
|
|
38
|
+
onStart(info: Parameters<(info: {
|
|
51
39
|
id: string;
|
|
52
40
|
runId?: string;
|
|
53
41
|
provider: string;
|
|
54
42
|
local?: boolean;
|
|
55
|
-
}) => void;
|
|
56
|
-
onEnd: (info: {
|
|
43
|
+
}) => void>[0], parent?: object | null): void;
|
|
44
|
+
onEnd(info: Parameters<(info: {
|
|
57
45
|
id: string;
|
|
58
46
|
runId?: string;
|
|
59
47
|
stopReason: string;
|
|
60
48
|
lastAssistantMessage?: unknown[];
|
|
61
|
-
}) => void;
|
|
49
|
+
}) => void>[0], parent?: object | null): void;
|
|
50
|
+
onParentEvent: (event: unknown) => void;
|
|
51
|
+
bootstrapFromLog(events: readonly unknown[]): void;
|
|
62
52
|
syncNow: () => void;
|
|
63
53
|
flush: () => boolean;
|
|
64
54
|
dropRows: () => void;
|
|
65
|
-
|
|
55
|
+
park: (agent: Agent) => void;
|
|
56
|
+
restore: (agent: Agent) => void;
|
|
57
|
+
forget(agent: Agent): void;
|
|
58
|
+
dispose(): void;
|
|
59
|
+
reset(): void;
|
|
66
60
|
};
|
|
61
|
+
export {};
|
|
67
62
|
//# sourceMappingURL=subagent-projection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-projection.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/subagent-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,qBAAqB,EAAsB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"subagent-projection.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/subagent-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,qBAAqB,EAAsB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,YAAY,CAAA;AAGrF,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,YAAY,CAAC,CAAA;AACxG,UAAU,sBAAsB;IAC9B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,KAAK,IAAI,KAAK,CAAA;IACd,SAAS,IAAI;QAAE,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAA;IAC9E,2EAA2E;IAC3E,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,SAAS,CAAA;CAC7H;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,eAAe,EAAE,IAAI,EAAE,sBAAsB;;;;wBAuDvE,MAAM;;4BACT,OAAO,SAAS;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;yBAe9C,OAAO,SAAS,oBAAoB,GAAG,OAAO;kBAIrD,UAAU,QAqOH;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,IAAI,CArO9C,CAAC,CAAC,CAAC,WAAW,MAAM,GAAG,IAAI;gBAC9D,UAAU,QA0PH;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,KAAG,IAAI,CA1PnE,CAAC,CAAC,CAAC,WAAW,MAAM,GAAG,IAAI;2BAC/C,OAAO;6BACL,SAAS,OAAO,EAAE;;;;kBA5CxB,KAAK,KAAG,IAAI;qBAIT,KAAK,KAAG,IAAI;kBAkDpB,KAAK;;;EAItB"}
|
|
@@ -1,5 +1,121 @@
|
|
|
1
1
|
import { markChannelReadDirty } from '../../adapter/channel/read-view.js';
|
|
2
2
|
import { SubagentActivityStore } from '../subagents.js';
|
|
3
|
+
import { isSubagentToolName } from './projection-helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* Keep each parked parent's reducer alive, including session links and the
|
|
6
|
+
* stream attempt/settlement cursor. A display snapshot cannot resume either
|
|
7
|
+
* a run epoch or an in-flight assistant attempt faithfully.
|
|
8
|
+
*/
|
|
9
|
+
export function createSubagentProjection(getState, deps) {
|
|
10
|
+
const parked = new Map();
|
|
11
|
+
const hidden = { rows: [], subagents: [], subagentCost: [], emit() { }, emitStream() { } };
|
|
12
|
+
const make = () => {
|
|
13
|
+
const projection = createSessionSubagentProjection(() => active === projection ? getState() : hidden, { ...deps, visible: () => active === projection });
|
|
14
|
+
return projection;
|
|
15
|
+
};
|
|
16
|
+
let active = make();
|
|
17
|
+
let activeParent = deps.agent();
|
|
18
|
+
let restored = false;
|
|
19
|
+
const childProjection = (id, parent) => {
|
|
20
|
+
// A lifecycle carrier names the DIRECT delegating parent. Its visibility
|
|
21
|
+
// filter also admits ancestors, which is not evidence of ownership.
|
|
22
|
+
if (parent != null)
|
|
23
|
+
return parent === activeParent ? active : parked.get(parent);
|
|
24
|
+
for (const projection of parked.values())
|
|
25
|
+
if (projection.store.has(id))
|
|
26
|
+
return projection;
|
|
27
|
+
if (active.store.has(id))
|
|
28
|
+
return active;
|
|
29
|
+
// Legacy unkeyed delivery can still resolve a child through established
|
|
30
|
+
// catalog membership or the registry's durable parent-session lineage.
|
|
31
|
+
let session;
|
|
32
|
+
try {
|
|
33
|
+
session = deps.lookupChild(id)?.session;
|
|
34
|
+
}
|
|
35
|
+
catch { /* discovery may arrive later */ }
|
|
36
|
+
const parentId = session?.header?.parentSession;
|
|
37
|
+
if (typeof parentId === 'string') {
|
|
38
|
+
for (const [parentAgent, projection] of parked)
|
|
39
|
+
if (String(parentAgent.session.id) === parentId)
|
|
40
|
+
return projection;
|
|
41
|
+
return String(activeParent.session.id) === parentId ? active : undefined;
|
|
42
|
+
}
|
|
43
|
+
// Omitted parent is only for direct callers that already scope events.
|
|
44
|
+
// Transport passes null for an unkeyed event; never guess its ownership.
|
|
45
|
+
return parent === undefined ? active : undefined;
|
|
46
|
+
};
|
|
47
|
+
const park = (agent) => {
|
|
48
|
+
active.dropRows();
|
|
49
|
+
parked.set(agent, active);
|
|
50
|
+
};
|
|
51
|
+
const restore = (agent) => {
|
|
52
|
+
const previous = parked.get(agent);
|
|
53
|
+
if (previous === undefined)
|
|
54
|
+
return;
|
|
55
|
+
parked.delete(agent);
|
|
56
|
+
active = previous;
|
|
57
|
+
activeParent = agent;
|
|
58
|
+
restored = true;
|
|
59
|
+
for (const saved of active.store.snapshot()) {
|
|
60
|
+
if (saved.status !== 'running' && saved.status !== 'starting')
|
|
61
|
+
continue;
|
|
62
|
+
let child;
|
|
63
|
+
try {
|
|
64
|
+
child = deps.lookupChild(saved.agentId);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (child !== undefined && child.status !== 'running')
|
|
70
|
+
active.store.patch(saved.agentId, { status: 'unknown' });
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
return {
|
|
74
|
+
get store() { return active.store; },
|
|
75
|
+
get pendingTaskDescriptions() { return active.pendingTaskDescriptions; },
|
|
76
|
+
control: { interrupt: (id) => active.control.interrupt(id) },
|
|
77
|
+
onSessionEvent(session, event) {
|
|
78
|
+
let handled = false;
|
|
79
|
+
if (session === activeParent.session) {
|
|
80
|
+
active.onParentEvent(event);
|
|
81
|
+
handled = true;
|
|
82
|
+
}
|
|
83
|
+
for (const [parent, projection] of parked) {
|
|
84
|
+
if (session === parent.session) {
|
|
85
|
+
projection.onParentEvent(event);
|
|
86
|
+
handled = true;
|
|
87
|
+
}
|
|
88
|
+
if (projection.onSessionEvent(session, event))
|
|
89
|
+
handled = true;
|
|
90
|
+
}
|
|
91
|
+
return active.onSessionEvent(session, event) || handled;
|
|
92
|
+
},
|
|
93
|
+
onStreamFrame(agent, frame) {
|
|
94
|
+
for (const projection of parked.values())
|
|
95
|
+
if (projection.onStreamFrame(agent, frame))
|
|
96
|
+
return true;
|
|
97
|
+
return active.onStreamFrame(agent, frame);
|
|
98
|
+
},
|
|
99
|
+
onStart(info, parent) { childProjection(info.id, parent)?.onStart(info); },
|
|
100
|
+
onEnd(info, parent) { childProjection(info.id, parent)?.onEnd(info); },
|
|
101
|
+
onParentEvent: (event) => active.onParentEvent(event),
|
|
102
|
+
bootstrapFromLog(events) {
|
|
103
|
+
// Live parked reducers already consumed this log. Re-folding historical
|
|
104
|
+
// workflow edges would overwrite the current epoch and its settlement.
|
|
105
|
+
if (!restored)
|
|
106
|
+
active.bootstrapFromLog(events);
|
|
107
|
+
else
|
|
108
|
+
active.syncNow();
|
|
109
|
+
},
|
|
110
|
+
syncNow: () => active.syncNow(),
|
|
111
|
+
flush: () => active.flush(),
|
|
112
|
+
dropRows: () => active.dropRows(),
|
|
113
|
+
park, restore,
|
|
114
|
+
forget(agent) { parked.delete(agent); },
|
|
115
|
+
dispose() { parked.clear(); active.store.reset(); active.dropRows(); active.pendingTaskDescriptions.length = 0; },
|
|
116
|
+
reset() { active = make(); activeParent = deps.agent(); restored = false; getState().subagents = []; getState().subagentCost = []; },
|
|
117
|
+
};
|
|
118
|
+
}
|
|
3
119
|
/** Current-session subagent store, row projection and frame-batched stream
|
|
4
120
|
* bridge. The owning channel installs transport subscriptions; this module
|
|
5
121
|
* only accepts scoped events and never captures a replaceable agent itself.
|
|
@@ -19,7 +135,7 @@ import { SubagentActivityStore } from '../subagents.js';
|
|
|
19
135
|
* Transcript cards are gated to children discovered while LIVE: a resumed
|
|
20
136
|
* session's historical children appear in the dashboard without flooding the
|
|
21
137
|
* replayed transcript with cards that the durable log never contained. */
|
|
22
|
-
|
|
138
|
+
function createSessionSubagentProjection(getState, deps) {
|
|
23
139
|
const store = new SubagentActivityStore();
|
|
24
140
|
const rowsByAgentId = new Map();
|
|
25
141
|
const pendingTaskDescriptions = [];
|
|
@@ -56,8 +172,15 @@ export function createSubagentProjection(getState, deps) {
|
|
|
56
172
|
};
|
|
57
173
|
const syncNow = () => {
|
|
58
174
|
streamDirty = false;
|
|
175
|
+
if (!deps.visible())
|
|
176
|
+
return;
|
|
59
177
|
const snapshot = store.snapshot();
|
|
60
|
-
getState()
|
|
178
|
+
const state = getState();
|
|
179
|
+
state.subagents = snapshot;
|
|
180
|
+
// 费用快照随 dashboard 一起镜像:StatusLine/BalanceReportRow 从这里读
|
|
181
|
+
// 子代理按 (provider, model) 的 durable 用量桶。与 subagents 同在 visible
|
|
182
|
+
// 守卫之后——停靠父级的费用留在自己的 store 里,restore 时重新镜像。
|
|
183
|
+
state.subagentCost = store.costSnapshot().entries;
|
|
61
184
|
syncRows(snapshot);
|
|
62
185
|
};
|
|
63
186
|
const flush = () => {
|
|
@@ -174,7 +297,18 @@ export function createSubagentProjection(getState, deps) {
|
|
|
174
297
|
const ev = event;
|
|
175
298
|
const data = ev.data ?? {};
|
|
176
299
|
const childId = typeof data.childId === 'string' ? data.childId : undefined;
|
|
177
|
-
if (ev.type === '
|
|
300
|
+
if (ev.type === 'tool/call') {
|
|
301
|
+
if (!historical && typeof data.name === 'string' && isSubagentToolName(data.name) && typeof data.arguments === 'string') {
|
|
302
|
+
try {
|
|
303
|
+
const args = JSON.parse(data.arguments);
|
|
304
|
+
if (typeof args.description === 'string' && args.description)
|
|
305
|
+
pendingTaskDescriptions.push(args.description);
|
|
306
|
+
}
|
|
307
|
+
catch { /* malformed arguments do not describe a child */ }
|
|
308
|
+
}
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
else if (ev.type === 'subagent/catalog') {
|
|
178
312
|
if (childId === undefined)
|
|
179
313
|
return;
|
|
180
314
|
discover(childId, {
|
|
@@ -302,6 +436,6 @@ export function createSubagentProjection(getState, deps) {
|
|
|
302
436
|
},
|
|
303
437
|
};
|
|
304
438
|
const dropRows = () => { streamDirty = false; rowsByAgentId.clear(); };
|
|
305
|
-
const reset = () => { dropRows(); cardedIds.clear(); workflowMembers.clear(); pendingTaskDescriptions.length = 0; store.reset(); getState().subagents = []; };
|
|
439
|
+
const reset = () => { dropRows(); cardedIds.clear(); workflowMembers.clear(); pendingTaskDescriptions.length = 0; store.reset(); getState().subagents = []; getState().subagentCost = []; };
|
|
306
440
|
return { store, control, pendingTaskDescriptions, onSessionEvent, onStreamFrame, onParentEvent, bootstrapFromLog, onStart, onEnd, syncNow, flush, dropRows, reset };
|
|
307
441
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ChannelUi } from '../../adapter/ports/channel-ui.js';
|
|
2
2
|
import type { ChatRow, ToolCallView, ToolResultView, NotificationItem, TodoPanelItem, PendingMessage } from '../../adapter/ports/channel-view.js';
|
|
3
|
-
export type { ChatRow, ToolRow, ToolCallView, ToolFileDiff, ToolResultView, SubagentRow, JobRow, TokenUsage, TokenBucket, NotificationItem, ChannelGoal, TodoPanelItem, LoadedContext, LoadedContextEntry, LoadedContextFile, LoadedContextSkill, LoadedContextTool, PendingMessage, SubagentControl, JobControl, StagedImageInput, StagedImageAdjustment, StagedImageHandle, ComposerImageRef, ComposerSubmission, ExternalCommandOutcome, TranscriptImage, ResumeResult, EffortOption, PermissionPresetSnapshot, PermissionPresetAvailability, PermissionPresetOption, PermissionPresetCurrent, PresetOption, SkillInfo, CredentialStatus, AgentViewRow, AgentViewStatus, AgentViewDispatchResult, BackgroundResult } from '../../adapter/ports/channel-view.js';
|
|
3
|
+
export type { ChatRow, ToolRow, ToolCallView, ToolFileDiff, ToolResultView, SubagentRow, JobRow, TokenUsage, TokenBucket, CostTokenBuckets, SessionCostByModel, SubagentCostEntry, NotificationItem, ChannelGoal, TodoPanelItem, LoadedContext, LoadedContextEntry, LoadedContextFile, LoadedContextSkill, LoadedContextTool, PendingMessage, SubagentControl, JobControl, StagedImageInput, StagedImageAdjustment, StagedImageHandle, ComposerImageRef, ComposerSubmission, ExternalCommandOutcome, TranscriptImage, ResumeResult, EffortOption, PermissionPresetSnapshot, PermissionPresetAvailability, PermissionPresetOption, PermissionPresetCurrent, PresetOption, SkillInfo, CredentialStatus, AgentViewRow, AgentViewStatus, AgentViewDispatchResult, BackgroundResult } from '../../adapter/ports/channel-view.js';
|
|
4
4
|
import { type ContentBlock, type StreamChunk } from '@deepseek-ai/dsh-llm';
|
|
5
5
|
import { type SessionEvent } from '@deepseek-ai/dsh-session';
|
|
6
6
|
import { type BackgroundJobState } from '../jobs.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,KAAK,EAAE,OAAO,EAAW,YAAY,EAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/channel.ts"],"names":[],"mappings":"AASA,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/channel.ts"],"names":[],"mappings":"AASA,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AA6BxF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,KAAK,KAAK,EAAqE,MAAM,wBAAwB,CAAA;AAyCtH,OAAO,KAAK,EAAyD,YAAY,EAA8T,MAAM,oBAAoB,CAAA;AAgCza,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAkBnD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,oBAAoB,GAC5B,YAAY,CAUd;AA07BD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAE,uBAAuB,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACrxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -23,6 +23,7 @@ import { createModelSwitchAction } from './channel/model-switch.js';
|
|
|
23
23
|
import { createFileActions } from './channel/file-actions.js';
|
|
24
24
|
import { createReportActions } from './channel/reports.js';
|
|
25
25
|
import { createSessionMetadataActions } from './channel/session-metadata.js';
|
|
26
|
+
import { createForeignBrowser } from './migrate/browse.js';
|
|
26
27
|
import { createAgentViewProjection } from './channel/agent-view-projection.js';
|
|
27
28
|
import { createJobProjection } from './channel/job-projection.js';
|
|
28
29
|
import { createExternalCommandInvoker } from './channel/external-commands.js';
|
|
@@ -150,9 +151,8 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
150
151
|
return agents?.get(id);
|
|
151
152
|
},
|
|
152
153
|
});
|
|
153
|
-
|
|
154
|
+
owner.own(() => subagentProjection.dispose());
|
|
154
155
|
const subagentControl = subagentProjection.control;
|
|
155
|
-
const pendingTaskDescriptions = subagentProjection.pendingTaskDescriptions;
|
|
156
156
|
// Job projection owns registry callbacks and transcript rows. The optional
|
|
157
157
|
// service attachment has no authority after its injected lifetime ends.
|
|
158
158
|
const jobProjection = createJobProjection(() => state, {
|
|
@@ -364,6 +364,7 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
364
364
|
// installed after ChannelState initialization below.
|
|
365
365
|
let settleManualCompaction;
|
|
366
366
|
let compactManualSession;
|
|
367
|
+
let cancelManualCompaction;
|
|
367
368
|
let forkSessionAction;
|
|
368
369
|
let rewindToAction;
|
|
369
370
|
let rewindToNodeAction;
|
|
@@ -396,11 +397,14 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
396
397
|
emitStream: emitter.emitStream,
|
|
397
398
|
...createSettingsHosts(ctx, owner.assertActive),
|
|
398
399
|
...createPreferences(() => state),
|
|
400
|
+
/** Mount-owned settings namespace: the section registers under it, so this
|
|
401
|
+
* is the only ns whose section carries the TUI's user layer. */
|
|
402
|
+
settingsNamespace: options.settingsNs ?? 'dsh-tui',
|
|
399
403
|
get autoRecapOnOpen() {
|
|
400
404
|
const settings = ctx.get('settings');
|
|
401
405
|
if (settings === undefined)
|
|
402
406
|
return false;
|
|
403
|
-
const ns = settings.describe({ redactSecrets: true }).find(entry => entry.ns ===
|
|
407
|
+
const ns = settings.describe({ redactSecrets: true }).find(entry => entry.ns === state.settingsNamespace);
|
|
404
408
|
return ns?.value?.recapOnOpen !== false;
|
|
405
409
|
},
|
|
406
410
|
...createInitialChannelView(options, {
|
|
@@ -556,6 +560,7 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
556
560
|
runtime: adapterRuntime,
|
|
557
561
|
grantStore: currentGrantStore,
|
|
558
562
|
});
|
|
563
|
+
const foreignBrowser = createForeignBrowser(() => ctx.get('sessionPersistence'), owner.signal);
|
|
559
564
|
sessionMetadataActions = createSessionMetadataActions(ctx, {
|
|
560
565
|
owner,
|
|
561
566
|
binding,
|
|
@@ -602,7 +607,7 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
602
607
|
};
|
|
603
608
|
const bash = ctx.get('shell');
|
|
604
609
|
const projector = createChannelProjection(state, {
|
|
605
|
-
agent: () => binding.agent, rowIds, resetContextWarning,
|
|
610
|
+
agent: () => binding.agent, rowIds, resetContextWarning, jobs: jobStore, inputConvergence,
|
|
606
611
|
checkContextWarning, notify: (...args) => notify(...args),
|
|
607
612
|
tools: ctx.get('tools'), renderer: rendererRuntime,
|
|
608
613
|
attachments: () => ctx.get('attachments'),
|
|
@@ -733,6 +738,8 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
733
738
|
rowIds,
|
|
734
739
|
resetProjector: () => projector.reset(),
|
|
735
740
|
resetSubagents: subagentProjection.reset,
|
|
741
|
+
restoreSubagents: subagentProjection.restore,
|
|
742
|
+
parkSubagents: subagentProjection.park,
|
|
736
743
|
resetJobs: resetJobProjection,
|
|
737
744
|
replay: replaySessionSeed,
|
|
738
745
|
settleReplay: projector.settleStreaming,
|
|
@@ -760,6 +767,7 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
760
767
|
// a target already running in this process is re-attached rather than
|
|
761
768
|
// resumed twice from its log (which would mount one log in two places).
|
|
762
769
|
adoptLive: target => adoptLiveAgent(target),
|
|
770
|
+
parkSubagents: subagentProjection.park,
|
|
763
771
|
backgroundHandles,
|
|
764
772
|
rowIds,
|
|
765
773
|
resetProjector: () => projector.reset(),
|
|
@@ -815,6 +823,7 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
815
823
|
});
|
|
816
824
|
settleManualCompaction = manualCompaction.settle;
|
|
817
825
|
compactManualSession = manualCompaction.compact;
|
|
826
|
+
cancelManualCompaction = manualCompaction.cancel;
|
|
818
827
|
backgroundCurrentAction = createBackgroundCurrentAction(ctx, state, {
|
|
819
828
|
configuredPreset: options.configuredPreset,
|
|
820
829
|
configuredProvider: options.configuredProvider,
|
|
@@ -828,6 +837,7 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
828
837
|
rowIds,
|
|
829
838
|
resetProjector: () => projector.reset(),
|
|
830
839
|
resetSubagents: subagentProjection.reset,
|
|
840
|
+
parkSubagents: subagentProjection.park,
|
|
831
841
|
resetJobs: resetJobProjection,
|
|
832
842
|
refreshEffortLevels: () => modelActions.refreshEffortLevels(),
|
|
833
843
|
bindAgent,
|
|
@@ -880,8 +890,12 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
880
890
|
sideQuestion: sessionMetadataActions.sideQuestion,
|
|
881
891
|
listFileCandidates: fileActions.listFileCandidates,
|
|
882
892
|
listFiles: fileActions.listFiles,
|
|
893
|
+
cachedSessions: sessionMetadataActions.cachedSessions,
|
|
883
894
|
listSessions: sessionMetadataActions.listSessions,
|
|
884
895
|
previewSession: sessionMetadataActions.previewSession,
|
|
896
|
+
listForeignSources: foreignBrowser.listSources,
|
|
897
|
+
listForeignSessions: foreignBrowser.listSessions,
|
|
898
|
+
importForeignSession: foreignBrowser.importSession,
|
|
885
899
|
bindApprovalStore: agentView.bindApprovalStore,
|
|
886
900
|
agentViewRows: agentView.rows,
|
|
887
901
|
subscribeAgentView: agentView.subscribe,
|
|
@@ -898,6 +912,7 @@ function createChannelWithOwner(ctx, initialAgent, options, owner) {
|
|
|
898
912
|
deleteSession: sessionMetadataActions.deleteSession,
|
|
899
913
|
renameSessionTo: sessionMetadataActions.renameSessionTo,
|
|
900
914
|
compact: compactManualSession,
|
|
915
|
+
cancelCompact: cancelManualCompaction,
|
|
901
916
|
runExternalCommand: externalCommands.invokeText,
|
|
902
917
|
runExternalCommandOutcome: externalCommands.invoke,
|
|
903
918
|
pushLocal: localActions.pushLocal,
|
|
@@ -7,6 +7,12 @@ export declare function toolResultPayload(message: {
|
|
|
7
7
|
content: readonly ContentBlock[];
|
|
8
8
|
isError: boolean;
|
|
9
9
|
};
|
|
10
|
+
/** Tool-call ids one message answers: 0.1.7 tool-role messages, or older result blocks. */
|
|
11
|
+
export declare function answeredToolCallIds(message: {
|
|
12
|
+
readonly role: string;
|
|
13
|
+
readonly toolCallId?: string;
|
|
14
|
+
readonly content: readonly ContentBlock[];
|
|
15
|
+
}): string[];
|
|
10
16
|
/** Preserve old checkpoints while recognizing the V4 producer-owned source. */
|
|
11
17
|
export declare function isCompactionCheckpointSource(source: {
|
|
12
18
|
kind: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/compat/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B,GAAG,SAAS,GAAG;IAAE,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAarE;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAE/F"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/compat/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B,GAAG,SAAS,GAAG;IAAE,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAarE;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;CAC1C,GAAG,MAAM,EAAE,CAMX;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAE/F"}
|
|
@@ -9,6 +9,15 @@ export function toolResultPayload(message) {
|
|
|
9
9
|
}
|
|
10
10
|
return { content: message?.content ?? [], isError: message?.isError === true };
|
|
11
11
|
}
|
|
12
|
+
/** Tool-call ids one message answers: 0.1.7 tool-role messages, or older result blocks. */
|
|
13
|
+
export function answeredToolCallIds(message) {
|
|
14
|
+
const ids = message.role === 'tool' && typeof message.toolCallId === 'string' ? [message.toolCallId] : [];
|
|
15
|
+
for (const block of message.content) {
|
|
16
|
+
if (block.type === 'tool-result' && typeof block.toolCallId === 'string')
|
|
17
|
+
ids.push(block.toolCallId);
|
|
18
|
+
}
|
|
19
|
+
return ids;
|
|
20
|
+
}
|
|
12
21
|
/** Preserve old checkpoints while recognizing the V4 producer-owned source. */
|
|
13
22
|
export function isCompactionCheckpointSource(source) {
|
|
14
23
|
return source.kind === 'compact-checkpoint' || (source.kind === 'plugin' && source.plugin === 'compact');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** Primary validated upstream line (newest). */
|
|
2
|
-
export declare const UPSTREAM_VALIDATED_VERSION = "0.
|
|
2
|
+
export declare const UPSTREAM_VALIDATED_VERSION = "0.2.0-rc.1";
|
|
3
3
|
/**
|
|
4
4
|
* Explicitly supported upstream prerelease lines, oldest first.
|
|
5
5
|
*
|
|
6
|
-
* 0.
|
|
7
|
-
*
|
|
6
|
+
* 0.2.0-rc.1 = primary continuous-CI line; 0.1.7-rc.2/rc.1 = previous
|
|
7
|
+
* family (mapped compatibility); 0.1.5-rc.1/alpha.2/alpha.1 = mapped
|
|
8
8
|
* compatibility lines (source-checked when the primary line moves);
|
|
9
9
|
* 0.1.3-alpha.2 = compatibility line (the only 0.1.3 build on npm);
|
|
10
10
|
* 0.1.2-rc.1 = previous family (full CI coverage); 0.1.2-alpha.3–alpha.5 =
|
|
@@ -16,14 +16,14 @@ export declare const UPSTREAM_VALIDATED_VERSION = "0.1.7-rc.2";
|
|
|
16
16
|
* The peer range in package.json is deliberately wider than this list: an
|
|
17
17
|
* install on an older or newer line is allowed but reports drift at boot.
|
|
18
18
|
*/
|
|
19
|
-
export declare const UPSTREAM_VALIDATED_VERSIONS: readonly ["0.1.0-rc.6", "0.1.0-rc.7", "0.1.0-rc.8", "0.1.1-rc.1", "0.1.1-rc.2", "0.1.2-alpha.3", "0.1.2-alpha.4", "0.1.2-alpha.5", "0.1.2-rc.1", "0.1.3-alpha.2", "0.1.5-alpha.1", "0.1.5-alpha.2", "0.1.5-rc.1", "0.1.7-rc.1", "0.1.7-rc.2"];
|
|
19
|
+
export declare const UPSTREAM_VALIDATED_VERSIONS: readonly ["0.1.0-rc.6", "0.1.0-rc.7", "0.1.0-rc.8", "0.1.1-rc.1", "0.1.1-rc.2", "0.1.2-alpha.3", "0.1.2-alpha.4", "0.1.2-alpha.5", "0.1.2-rc.1", "0.1.3-alpha.2", "0.1.5-alpha.1", "0.1.5-alpha.2", "0.1.5-rc.1", "0.1.7-rc.1", "0.1.7-rc.2", "0.2.0-rc.1"];
|
|
20
20
|
/**
|
|
21
21
|
* Framework packages version on their own lines; the contract validates
|
|
22
22
|
* their MAJOR (breaking surface), not the harness prerelease number.
|
|
23
23
|
*/
|
|
24
24
|
export declare const UPSTREAM_FRAMEWORK_MAJORS: Record<string, number>;
|
|
25
25
|
/** Official packages the adapter consumes at runtime or as types. */
|
|
26
|
-
export declare const UPSTREAM_BLESSED_PACKAGES: readonly ["@deepseek-ai/cordis", "@deepseek-ai/schemastery", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-preset-registry", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-ptc-runtime-node", "@deepseek-ai/dsh-commands", "@deepseek-ai/dsh-cordis-host-runner", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-pi-ai", "@deepseek-ai/dsh-persona", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-storage", "@deepseek-ai/dsh-storage-domain", "@deepseek-ai/dsh-storage-json", "@deepseek-ai/dsh-workspace", "@deepseek-ai/dsh-web-app", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-terminal", "@deepseek-ai/dsh-terminal-bash", "@deepseek-ai/dsh-tool-ask-user", "@deepseek-ai/dsh-tool-bash-persistent", "@deepseek-ai/dsh-tool-cordis", "@deepseek-ai/dsh-tool-subagent", "@deepseek-ai/dsh-user-approval", "@deepseek-ai/dsh-user-questions"];
|
|
26
|
+
export declare const UPSTREAM_BLESSED_PACKAGES: readonly ["@deepseek-ai/cordis", "@deepseek-ai/schemastery", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-preset-registry", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-ptc-runtime-node", "@deepseek-ai/dsh-commands", "@deepseek-ai/dsh-cordis-host-runner", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-pi-ai", "@deepseek-ai/dsh-persona", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-storage", "@deepseek-ai/dsh-storage-domain", "@deepseek-ai/dsh-storage-json", "@deepseek-ai/dsh-workspace", "@deepseek-ai/dsh-web-app", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-terminal", "@deepseek-ai/dsh-terminal-bash", "@deepseek-ai/dsh-tool-ask-user", "@deepseek-ai/dsh-tool-bash-persistent", "@deepseek-ai/dsh-tool-cordis", "@deepseek-ai/dsh-tool-subagent", "@deepseek-ai/dsh-user-approval", "@deepseek-ai/dsh-user-questions"];
|
|
27
27
|
export interface UpstreamDriftEntry {
|
|
28
28
|
package: string;
|
|
29
29
|
installed: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/contract.ts"],"names":[],"mappings":"AAkBA,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,eAAe,CAAA;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/contract.ts"],"names":[],"mappings":"AAkBA,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,eAAe,CAAA;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,6PAiB9B,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG5D,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,89BAgC5B,CAAA;AAEV,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAUD,4EAA4E;AAC5E,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;AAE/D,4FAA4F;AAC5F,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAA;AAEvG,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAKlG;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAQxF;AAkBD,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,QAA6D,CAAA;AAYlG,wBAAgB,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAqB9E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKnF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAA+B,GAC5F,MAAM,EAAE,CAQV;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,iBAAiB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAA+B,GAC5F,kBAAkB,EAAE,CAuBtB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEtE,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,sFAAsF;IACtF,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAA+B,GAC5F,oBAAoB,GAAG,SAAS,CA0BlC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Upstream compatibility contract.
|
|
3
3
|
*
|
|
4
4
|
* The TUI is validated against a set of upstream prerelease lines — the
|
|
5
|
-
* current primary (0.
|
|
6
|
-
* compatibility across the 0.1.5, 0.1.3, 0.1.2, 0.1.1 and 0.1.0
|
|
7
|
-
* families.
|
|
5
|
+
* current primary (0.2.0-rc.1) plus older lines kept in backward
|
|
6
|
+
* compatibility across the 0.1.7, 0.1.5, 0.1.3, 0.1.2, 0.1.1 and 0.1.0
|
|
7
|
+
* release families.
|
|
8
8
|
* Every official package this adapter touches is blessed here; anything
|
|
9
9
|
* else must go through upstream channels or the adapter, never the UI.
|
|
10
10
|
*
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
import { readFileSync } from 'node:fs';
|
|
17
17
|
import { fileURLToPath } from 'node:url';
|
|
18
18
|
/** Primary validated upstream line (newest). */
|
|
19
|
-
export const UPSTREAM_VALIDATED_VERSION = '0.
|
|
19
|
+
export const UPSTREAM_VALIDATED_VERSION = '0.2.0-rc.1';
|
|
20
20
|
/**
|
|
21
21
|
* Explicitly supported upstream prerelease lines, oldest first.
|
|
22
22
|
*
|
|
23
|
-
* 0.
|
|
24
|
-
*
|
|
23
|
+
* 0.2.0-rc.1 = primary continuous-CI line; 0.1.7-rc.2/rc.1 = previous
|
|
24
|
+
* family (mapped compatibility); 0.1.5-rc.1/alpha.2/alpha.1 = mapped
|
|
25
25
|
* compatibility lines (source-checked when the primary line moves);
|
|
26
26
|
* 0.1.3-alpha.2 = compatibility line (the only 0.1.3 build on npm);
|
|
27
27
|
* 0.1.2-rc.1 = previous family (full CI coverage); 0.1.2-alpha.3–alpha.5 =
|
|
@@ -49,6 +49,7 @@ export const UPSTREAM_VALIDATED_VERSIONS = [
|
|
|
49
49
|
'0.1.5-rc.1',
|
|
50
50
|
'0.1.7-rc.1',
|
|
51
51
|
'0.1.7-rc.2',
|
|
52
|
+
'0.2.0-rc.1',
|
|
52
53
|
];
|
|
53
54
|
/**
|
|
54
55
|
* Framework packages version on their own lines; the contract validates
|
|
@@ -73,6 +74,7 @@ export const UPSTREAM_BLESSED_PACKAGES = [
|
|
|
73
74
|
'@deepseek-ai/dsh-llm',
|
|
74
75
|
'@deepseek-ai/dsh-llm-pi-ai',
|
|
75
76
|
'@deepseek-ai/dsh-persona',
|
|
77
|
+
'@deepseek-ai/dsh-scope',
|
|
76
78
|
'@deepseek-ai/dsh-session',
|
|
77
79
|
'@deepseek-ai/dsh-settings',
|
|
78
80
|
'@deepseek-ai/dsh-skill',
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
import type { Context } from '@deepseek-ai/cordis';
|
|
10
10
|
import Schema from '@deepseek-ai/schemastery';
|
|
11
11
|
import type { SessionModeSpec } from '../sessionModes.js';
|
|
12
|
-
import { type PageMarginSetting, type ScrollGutterMode, type StatusBarConfig, type ToolBackground } from '../tuiDisplayPrefs.js';
|
|
12
|
+
import { type ImageBacking, type MathImageBacking, type MathImageScale, type MathRendering, type PageMarginSetting, type ScrollGutterMode, type StatusBarConfig, type ToolBackground } from '../tuiDisplayPrefs.js';
|
|
13
13
|
import { type ShortcutActionId } from '../utils/keymap.js';
|
|
14
|
+
import { type SplashFontSetting } from '../components/splashFonts.js';
|
|
14
15
|
import { type RuntimeConfig } from './compat/settings.js';
|
|
15
16
|
export declare const name = "dsh-tui";
|
|
16
17
|
export declare const inject: string[];
|
|
@@ -49,6 +50,13 @@ export interface Config {
|
|
|
49
50
|
/** Show the header whale and its idle animation. */
|
|
50
51
|
whale?: boolean;
|
|
51
52
|
whaleIdle?: boolean;
|
|
53
|
+
/** Big-text face on the header splash (settings `dsh-tui.splashFont`):
|
|
54
|
+
* `daily` (the default) rotates by local date, any other value is a font
|
|
55
|
+
* id from `components/splashFonts.ts` (`bold`/`square`/…) pinning that one
|
|
56
|
+
* face. An unknown value falls back to `daily`. */
|
|
57
|
+
splashFont?: SplashFontSetting;
|
|
58
|
+
/** Swap the header's pixel whale for the static maid portrait. */
|
|
59
|
+
whaleGirl?: boolean;
|
|
52
60
|
/** Reduce decorative header content and colors. */
|
|
53
61
|
minimal?: boolean;
|
|
54
62
|
/** Show the live working line derived in-process from base session events. */
|
|
@@ -125,6 +133,33 @@ export interface Config {
|
|
|
125
133
|
* than the viewport or of an unsupported type keeps the fenced source.
|
|
126
134
|
* On by default; off always shows the source. */
|
|
127
135
|
mermaidDiagrams?: boolean;
|
|
136
|
+
/** LaTeX math (settings `dsh-tui.mathRendering`): `$…$` / `\(…\)` inline
|
|
137
|
+
* and `$$…$$` / `\[…\]` blocks in replies. `auto` (default) uses the best
|
|
138
|
+
* available renderer — today Unicode text: Greek and operator symbols,
|
|
139
|
+
* scripts, fractions and operator limits stacked in display blocks,
|
|
140
|
+
* matrices, cases; `unicode` pins it; `source` always shows the TeX.
|
|
141
|
+
* Unsupported, still-streaming, or too-wide formulas keep their source. */
|
|
142
|
+
mathRendering?: MathRendering;
|
|
143
|
+
/** Display-formula image size (settings `dsh-tui.mathImageScale`), used
|
|
144
|
+
* with `mathRendering: image`: `auto` matches the body text, `large` and
|
|
145
|
+
* `xlarge` set display math bigger — which also hands the terminal more
|
|
146
|
+
* device pixels per stroke, the only sharpness lever a terminal image has.
|
|
147
|
+
* Inline formulas keep the base scale. */
|
|
148
|
+
mathImageScale?: MathImageScale;
|
|
149
|
+
/** Formula-image backing (settings `dsh-tui.mathImageBacking`): `transparent`
|
|
150
|
+
* paints only the formula and lets the terminal background show through;
|
|
151
|
+
* `terminal` composites it onto the terminal's background colour. */
|
|
152
|
+
mathImageBacking?: MathImageBacking;
|
|
153
|
+
/** Transcript-image backing (settings `dsh-tui.imageBacking`): `transparent`
|
|
154
|
+
* floats photos and illustrations on whatever the terminal shows;
|
|
155
|
+
* `terminal` composites them onto the terminal's background colour. */
|
|
156
|
+
imageBacking?: ImageBacking;
|
|
157
|
+
/** @deprecated Use `mathRendering`; `false` still means `source`. */
|
|
158
|
+
latexMath?: boolean;
|
|
159
|
+
/** Auto recap on open (settings `dsh-tui.recapOnOpen`): opening or resuming a
|
|
160
|
+
* session summarizes its recent activity into a dim line at the bottom of
|
|
161
|
+
* the transcript. On by default; off leaves `/recap` as the manual path. */
|
|
162
|
+
recapOnOpen?: boolean;
|
|
128
163
|
/** Status-footer field visibility and compact presentation preferences. */
|
|
129
164
|
statusBar?: Partial<StatusBarConfig>;
|
|
130
165
|
/** Built-in action-shortcut overrides (`paste: 'alt+v'`), keyed by action
|
|
@@ -1 +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;AACzD,OAAO,EAA2C,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/index.ts"],"names":[],"mappings":"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"}
|