@deepseek-harness-tui/dsh-tui 0.6.1 → 0.7.1

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.
Files changed (380) hide show
  1. package/README.md +77 -23
  2. package/bin/dsh-tui.js +132 -25
  3. package/cordis.patch.yml +69 -17
  4. package/cordis.yml +50 -12
  5. package/lib/types/activityPrefs.d.ts +1 -1
  6. package/lib/types/activityPrefs.js +3 -3
  7. package/lib/types/cc/figures.d.ts +27 -20
  8. package/lib/types/cc/figures.d.ts.map +1 -1
  9. package/lib/types/cc/figures.js +43 -34
  10. package/lib/types/cc/format.d.ts +18 -9
  11. package/lib/types/cc/format.d.ts.map +1 -1
  12. package/lib/types/cc/format.js +26 -18
  13. package/lib/types/cc/markdown.d.ts +31 -16
  14. package/lib/types/cc/markdown.d.ts.map +1 -1
  15. package/lib/types/cc/markdown.js +283 -260
  16. package/lib/types/cc/terminal.d.ts +10 -7
  17. package/lib/types/cc/terminal.d.ts.map +1 -1
  18. package/lib/types/cc/terminal.js +62 -50
  19. package/lib/types/command-trees.d.ts +3 -0
  20. package/lib/types/command-trees.d.ts.map +1 -0
  21. package/lib/types/command-trees.js +4 -0
  22. package/lib/types/commands.d.ts +37 -1
  23. package/lib/types/commands.d.ts.map +1 -1
  24. package/lib/types/commands.js +68 -3
  25. package/lib/types/components/ActivityLine.d.ts +1 -1
  26. package/lib/types/components/ActivityLine.d.ts.map +1 -1
  27. package/lib/types/components/ActivityPicker.d.ts.map +1 -1
  28. package/lib/types/components/ActivityPicker.js +3 -4
  29. package/lib/types/components/BtwPanel.d.ts +16 -0
  30. package/lib/types/components/BtwPanel.d.ts.map +1 -0
  31. package/lib/types/components/BtwPanel.js +47 -0
  32. package/lib/types/components/CommandSuggestions.d.ts +4 -2
  33. package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
  34. package/lib/types/components/CommandSuggestions.js +2 -2
  35. package/lib/types/components/EffortSlider.d.ts +15 -0
  36. package/lib/types/components/EffortSlider.d.ts.map +1 -0
  37. package/lib/types/components/EffortSlider.js +17 -0
  38. package/lib/types/components/GoalTodoPanel.d.ts +1 -1
  39. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
  40. package/lib/types/components/HelpMenu.d.ts +5 -2
  41. package/lib/types/components/HelpMenu.d.ts.map +1 -1
  42. package/lib/types/components/HelpMenu.js +8 -3
  43. package/lib/types/components/HistorySearchDialog.d.ts +1 -1
  44. package/lib/types/components/HistorySearchDialog.d.ts.map +1 -1
  45. package/lib/types/components/HistorySearchDialog.js +21 -10
  46. package/lib/types/components/InterruptedByUser.d.ts +2 -2
  47. package/lib/types/components/InterruptedByUser.d.ts.map +1 -1
  48. package/lib/types/components/InterruptedByUser.js +4 -3
  49. package/lib/types/components/LoadedContextPanel.d.ts +1 -1
  50. package/lib/types/components/LoadedContextPanel.d.ts.map +1 -1
  51. package/lib/types/components/LogoV2.d.ts.map +1 -1
  52. package/lib/types/components/LogoV2.js +2 -1
  53. package/lib/types/components/Markdown.d.ts +11 -11
  54. package/lib/types/components/Markdown.d.ts.map +1 -1
  55. package/lib/types/components/Markdown.js +63 -57
  56. package/lib/types/components/MarkdownTable.d.ts +1 -1
  57. package/lib/types/components/MarkdownTable.js +2 -2
  58. package/lib/types/components/MessageList.d.ts +10 -2
  59. package/lib/types/components/MessageList.d.ts.map +1 -1
  60. package/lib/types/components/MessageList.js +17 -10
  61. package/lib/types/components/ModelPicker.d.ts +4 -1
  62. package/lib/types/components/ModelPicker.d.ts.map +1 -1
  63. package/lib/types/components/ModelPicker.js +16 -4
  64. package/lib/types/components/OverlayAbove.d.ts +20 -0
  65. package/lib/types/components/OverlayAbove.d.ts.map +1 -0
  66. package/lib/types/components/OverlayAbove.js +18 -0
  67. package/lib/types/components/PresetPicker.d.ts +1 -1
  68. package/lib/types/components/PresetPicker.d.ts.map +1 -1
  69. package/lib/types/components/PresetPicker.js +2 -3
  70. package/lib/types/components/PromptInput.d.ts +5 -4
  71. package/lib/types/components/PromptInput.d.ts.map +1 -1
  72. package/lib/types/components/PromptInput.js +186 -39
  73. package/lib/types/components/ResumePicker.d.ts +15 -4
  74. package/lib/types/components/ResumePicker.d.ts.map +1 -1
  75. package/lib/types/components/ResumePicker.js +25 -9
  76. package/lib/types/components/RewindPicker.d.ts +1 -1
  77. package/lib/types/components/RewindPicker.d.ts.map +1 -1
  78. package/lib/types/components/RewindPicker.js +14 -5
  79. package/lib/types/components/SearchBox.d.ts +1 -1
  80. package/lib/types/components/SearchBox.js +1 -1
  81. package/lib/types/components/Spinner/GlimmerMessage.d.ts +1 -2
  82. package/lib/types/components/Spinner/GlimmerMessage.d.ts.map +1 -1
  83. package/lib/types/components/Spinner/GlimmerMessage.js +1 -2
  84. package/lib/types/components/Spinner/SpinnerAnimationRow.d.ts +1 -1
  85. package/lib/types/components/Spinner/SpinnerAnimationRow.js +2 -2
  86. package/lib/types/components/Spinner/SpinnerGlyph.d.ts +1 -1
  87. package/lib/types/components/Spinner/SpinnerGlyph.js +1 -1
  88. package/lib/types/components/Spinner/spinnerUtils.d.ts +13 -18
  89. package/lib/types/components/Spinner/spinnerUtils.d.ts.map +1 -1
  90. package/lib/types/components/Spinner/spinnerUtils.js +67 -71
  91. package/lib/types/components/Spinner/useStalledAnimation.d.ts +1 -2
  92. package/lib/types/components/Spinner/useStalledAnimation.d.ts.map +1 -1
  93. package/lib/types/components/Spinner/useStalledAnimation.js +1 -2
  94. package/lib/types/components/StreamingMarkdown.d.ts +1 -1
  95. package/lib/types/components/StreamingMarkdown.js +1 -1
  96. package/lib/types/components/ThemePicker.d.ts +13 -9
  97. package/lib/types/components/ThemePicker.d.ts.map +1 -1
  98. package/lib/types/components/ThemePicker.js +21 -15
  99. package/lib/types/components/ThinkingToggle.d.ts +1 -1
  100. package/lib/types/components/ThinkingToggle.d.ts.map +1 -1
  101. package/lib/types/components/ThinkingToggle.js +8 -8
  102. package/lib/types/components/ToolUseLoader.d.ts +1 -1
  103. package/lib/types/components/ToolUseLoader.js +1 -1
  104. package/lib/types/components/WorkingSpinner.d.ts +2 -2
  105. package/lib/types/components/WorkingSpinner.js +2 -2
  106. package/lib/types/components/WorkspaceFlowPicker.d.ts +15 -0
  107. package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -0
  108. package/lib/types/components/WorkspaceFlowPicker.js +19 -0
  109. package/lib/types/components/WorkspacePicker.d.ts +9 -0
  110. package/lib/types/components/WorkspacePicker.d.ts.map +1 -0
  111. package/lib/types/components/WorkspacePicker.js +13 -0
  112. package/lib/types/components/approvals/ApprovalPanel.d.ts +1 -1
  113. package/lib/types/components/approvals/ApprovalPanel.d.ts.map +1 -1
  114. package/lib/types/components/approvals/ApprovalPanel.js +2 -1
  115. package/lib/types/components/design-system/Byline.d.ts +1 -1
  116. package/lib/types/components/design-system/Byline.js +1 -1
  117. package/lib/types/components/design-system/Divider.d.ts +1 -1
  118. package/lib/types/components/design-system/Divider.js +1 -1
  119. package/lib/types/components/design-system/HintLine.d.ts +12 -0
  120. package/lib/types/components/design-system/HintLine.d.ts.map +1 -0
  121. package/lib/types/components/design-system/HintLine.js +15 -0
  122. package/lib/types/components/design-system/KeyboardShortcutHint.d.ts +1 -1
  123. package/lib/types/components/design-system/KeyboardShortcutHint.js +1 -1
  124. package/lib/types/components/design-system/ListItem.d.ts +2 -2
  125. package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
  126. package/lib/types/components/design-system/ListItem.js +35 -3
  127. package/lib/types/components/design-system/LoadingState.d.ts +1 -2
  128. package/lib/types/components/design-system/LoadingState.d.ts.map +1 -1
  129. package/lib/types/components/design-system/LoadingState.js +1 -2
  130. package/lib/types/components/design-system/Pane.d.ts +2 -2
  131. package/lib/types/components/design-system/Pane.js +2 -2
  132. package/lib/types/components/design-system/ProgressBar.d.ts +1 -2
  133. package/lib/types/components/design-system/ProgressBar.d.ts.map +1 -1
  134. package/lib/types/components/design-system/ProgressBar.js +1 -2
  135. package/lib/types/components/design-system/StatusIcon.d.ts +2 -2
  136. package/lib/types/components/design-system/StatusIcon.js +2 -2
  137. package/lib/types/components/design-system/ThemeProvider.d.ts +1 -1
  138. package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
  139. package/lib/types/components/design-system/ThemeProvider.js +87 -26
  140. package/lib/types/components/design-system/ThemedBox.d.ts +1 -1
  141. package/lib/types/components/design-system/ThemedBox.js +1 -1
  142. package/lib/types/components/design-system/ThemedText.d.ts +2 -2
  143. package/lib/types/components/design-system/ThemedText.js +2 -2
  144. package/lib/types/components/listWindow.d.ts +26 -0
  145. package/lib/types/components/listWindow.d.ts.map +1 -0
  146. package/lib/types/components/listWindow.js +47 -0
  147. package/lib/types/components/messages/AssistantTextMessage.d.ts +1 -2
  148. package/lib/types/components/messages/AssistantTextMessage.d.ts.map +1 -1
  149. package/lib/types/components/messages/AssistantTextMessage.js +1 -2
  150. package/lib/types/components/messages/AssistantThinkingMessage.d.ts +2 -2
  151. package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
  152. package/lib/types/components/messages/AssistantThinkingMessage.js +6 -6
  153. package/lib/types/components/messages/AssistantToolUseMessage.d.ts +12 -4
  154. package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
  155. package/lib/types/components/messages/AssistantToolUseMessage.js +9 -5
  156. package/lib/types/components/messages/MessageMetadata.d.ts +1 -1
  157. package/lib/types/components/messages/MessageMetadata.js +1 -1
  158. package/lib/types/components/messages/UserPromptMessage.d.ts +1 -1
  159. package/lib/types/components/messages/UserPromptMessage.js +1 -1
  160. package/lib/types/components/questions/AskUserQuestionPanel.d.ts +5 -1
  161. package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
  162. package/lib/types/components/questions/AskUserQuestionPanel.js +11 -9
  163. package/lib/types/components/questions/PlanReviewPanel.d.ts +1 -1
  164. package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
  165. package/lib/types/components/questions/PlanReviewPanel.js +3 -2
  166. package/lib/types/components/trajectory/HotspotView.d.ts +14 -0
  167. package/lib/types/components/trajectory/HotspotView.d.ts.map +1 -0
  168. package/lib/types/components/trajectory/HotspotView.js +83 -0
  169. package/lib/types/components/trajectory/Inspector.d.ts +31 -0
  170. package/lib/types/components/trajectory/Inspector.d.ts.map +1 -0
  171. package/lib/types/components/trajectory/Inspector.js +67 -0
  172. package/lib/types/components/trajectory/Ledger.d.ts +20 -0
  173. package/lib/types/components/trajectory/Ledger.d.ts.map +1 -0
  174. package/lib/types/components/trajectory/Ledger.js +112 -0
  175. package/lib/types/components/trajectory/MiniWake.d.ts +24 -0
  176. package/lib/types/components/trajectory/MiniWake.d.ts.map +1 -0
  177. package/lib/types/components/trajectory/MiniWake.js +99 -0
  178. package/lib/types/components/trajectory/WaveBand.d.ts +33 -0
  179. package/lib/types/components/trajectory/WaveBand.d.ts.map +1 -0
  180. package/lib/types/components/trajectory/WaveBand.js +145 -0
  181. package/lib/types/customTheme.d.ts +6 -6
  182. package/lib/types/customTheme.d.ts.map +1 -1
  183. package/lib/types/customTheme.js +15 -12
  184. package/lib/types/dsh-adapter/approvals.d.ts.map +1 -0
  185. package/lib/types/{channel.d.ts → dsh-adapter/channel.d.ts} +198 -43
  186. package/lib/types/dsh-adapter/channel.d.ts.map +1 -0
  187. package/lib/types/{channel.js → dsh-adapter/channel.js} +1129 -201
  188. package/lib/types/dsh-adapter/childStderr.d.ts.map +1 -0
  189. package/lib/types/{childStderr.js → dsh-adapter/childStderr.js} +1 -1
  190. package/lib/types/dsh-adapter/command-trees.d.ts +27 -0
  191. package/lib/types/dsh-adapter/command-trees.d.ts.map +1 -0
  192. package/lib/types/dsh-adapter/command-trees.js +42 -0
  193. package/lib/types/dsh-adapter/compat/index.d.ts +22 -0
  194. package/lib/types/dsh-adapter/compat/index.d.ts.map +1 -0
  195. package/lib/types/{compat → dsh-adapter/compat}/index.js +7 -4
  196. package/lib/types/dsh-adapter/compat/sessionLog.d.ts +86 -0
  197. package/lib/types/dsh-adapter/compat/sessionLog.d.ts.map +1 -0
  198. package/lib/types/dsh-adapter/compat/sessionLog.js +347 -0
  199. package/lib/types/dsh-adapter/contract.d.ts +20 -0
  200. package/lib/types/dsh-adapter/contract.d.ts.map +1 -0
  201. package/lib/types/dsh-adapter/contract.js +109 -0
  202. package/lib/types/dsh-adapter/index.d.ts +80 -0
  203. package/lib/types/dsh-adapter/index.d.ts.map +1 -0
  204. package/lib/types/dsh-adapter/index.js +45 -0
  205. package/lib/types/dsh-adapter/invariant.d.ts.map +1 -0
  206. package/lib/types/dsh-adapter/packaged-skills.d.ts.map +1 -0
  207. package/lib/types/{plugin.d.ts → dsh-adapter/plugin.d.ts} +17 -0
  208. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -0
  209. package/lib/types/{plugin.js → dsh-adapter/plugin.js} +294 -80
  210. package/lib/types/dsh-adapter/presets.d.ts.map +1 -0
  211. package/lib/types/dsh-adapter/providerWizard.d.ts +91 -0
  212. package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -0
  213. package/lib/types/dsh-adapter/providerWizard.js +332 -0
  214. package/lib/types/{questions.d.ts → dsh-adapter/questions.d.ts} +7 -2
  215. package/lib/types/dsh-adapter/questions.d.ts.map +1 -0
  216. package/lib/types/{questions.js → dsh-adapter/questions.js} +15 -7
  217. package/lib/types/dsh-adapter/sideQuestion.d.ts +38 -0
  218. package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -0
  219. package/lib/types/dsh-adapter/sideQuestion.js +69 -0
  220. package/lib/types/dsh-adapter/trajectory/aggregate.d.ts +46 -0
  221. package/lib/types/dsh-adapter/trajectory/aggregate.d.ts.map +1 -0
  222. package/lib/types/dsh-adapter/trajectory/aggregate.js +207 -0
  223. package/lib/types/dsh-adapter/trajectory/guards.d.ts +177 -0
  224. package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -0
  225. package/lib/types/dsh-adapter/trajectory/guards.js +235 -0
  226. package/lib/types/dsh-adapter/trajectory/index.d.ts +16 -0
  227. package/lib/types/dsh-adapter/trajectory/index.d.ts.map +1 -0
  228. package/lib/types/dsh-adapter/trajectory/index.js +15 -0
  229. package/lib/types/dsh-adapter/trajectory/inspect.d.ts +40 -0
  230. package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -0
  231. package/lib/types/dsh-adapter/trajectory/inspect.js +160 -0
  232. package/lib/types/dsh-adapter/trajectory/projection.d.ts +128 -0
  233. package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -0
  234. package/lib/types/dsh-adapter/trajectory/projection.js +653 -0
  235. package/lib/types/dsh-adapter/trajectory/types.d.ts +232 -0
  236. package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -0
  237. package/lib/types/dsh-adapter/trajectory/types.js +70 -0
  238. package/lib/types/dsh-adapter/trajectory/wave.d.ts +45 -0
  239. package/lib/types/dsh-adapter/trajectory/wave.d.ts.map +1 -0
  240. package/lib/types/dsh-adapter/trajectory/wave.js +210 -0
  241. package/lib/types/dsh-adapter/types.d.ts +23 -0
  242. package/lib/types/dsh-adapter/types.d.ts.map +1 -0
  243. package/lib/types/dsh-adapter/types.js +1 -0
  244. package/lib/types/dsh-adapter/workspace.d.ts +22 -0
  245. package/lib/types/dsh-adapter/workspace.d.ts.map +1 -0
  246. package/lib/types/dsh-adapter/workspace.js +16 -0
  247. package/lib/types/dsh-adapter/workspaces.d.ts +118 -0
  248. package/lib/types/dsh-adapter/workspaces.d.ts.map +1 -0
  249. package/lib/types/dsh-adapter/workspaces.js +290 -0
  250. package/lib/types/effortPrefs.d.ts +1 -1
  251. package/lib/types/effortPrefs.js +3 -3
  252. package/lib/types/history.js +2 -2
  253. package/lib/types/hooks/useBlink.d.ts +1 -1
  254. package/lib/types/hooks/useBlink.js +1 -1
  255. package/lib/types/i18n.d.ts +981 -36
  256. package/lib/types/i18n.d.ts.map +1 -1
  257. package/lib/types/i18n.js +308 -30
  258. package/lib/types/index.d.ts +1 -69
  259. package/lib/types/index.d.ts.map +1 -1
  260. package/lib/types/index.js +3 -31
  261. package/lib/types/ink/components/App.d.ts.map +1 -1
  262. package/lib/types/ink/components/App.js +33 -19
  263. package/lib/types/ink/dom.d.ts +15 -0
  264. package/lib/types/ink/dom.d.ts.map +1 -1
  265. package/lib/types/ink/dom.js +32 -0
  266. package/lib/types/ink/hooks/use-input.d.ts.map +1 -1
  267. package/lib/types/ink/hooks/use-input.js +8 -0
  268. package/lib/types/ink/hooks/use-terminal-size.d.ts +1 -1
  269. package/lib/types/ink/hooks/use-terminal-size.js +1 -1
  270. package/lib/types/ink/ink.d.ts.map +1 -1
  271. package/lib/types/ink/ink.js +109 -28
  272. package/lib/types/ink/input-suppression.d.ts +20 -0
  273. package/lib/types/ink/input-suppression.d.ts.map +1 -0
  274. package/lib/types/ink/input-suppression.js +26 -0
  275. package/lib/types/ink/log-update.js +21 -6
  276. package/lib/types/ink/parse-keypress.d.ts +31 -0
  277. package/lib/types/ink/parse-keypress.d.ts.map +1 -1
  278. package/lib/types/ink/parse-keypress.js +442 -8
  279. package/lib/types/ink/terminal-querier.d.ts +5 -1
  280. package/lib/types/ink/terminal-querier.d.ts.map +1 -1
  281. package/lib/types/ink/terminal-querier.js +27 -3
  282. package/lib/types/ink/terminal.d.ts +18 -0
  283. package/lib/types/ink/terminal.d.ts.map +1 -1
  284. package/lib/types/ink/terminal.js +32 -4
  285. package/lib/types/ink/termio/csi.d.ts +10 -0
  286. package/lib/types/ink/termio/csi.d.ts.map +1 -1
  287. package/lib/types/ink/termio/csi.js +20 -0
  288. package/lib/types/ink/termio/tokenize.js +10 -0
  289. package/lib/types/modelPrefs.d.ts +1 -1
  290. package/lib/types/modelPrefs.js +3 -3
  291. package/lib/types/presetPrefs.d.ts +1 -1
  292. package/lib/types/presetPrefs.js +3 -3
  293. package/lib/types/screens/Chat.d.ts +20 -4
  294. package/lib/types/screens/Chat.d.ts.map +1 -1
  295. package/lib/types/screens/Chat.js +655 -55
  296. package/lib/types/screens/StatusLine.d.ts +17 -2
  297. package/lib/types/screens/StatusLine.d.ts.map +1 -1
  298. package/lib/types/screens/StatusLine.js +12 -4
  299. package/lib/types/screens/TrajectoryScene.d.ts +16 -0
  300. package/lib/types/screens/TrajectoryScene.d.ts.map +1 -0
  301. package/lib/types/screens/TrajectoryScene.js +305 -0
  302. package/lib/types/sessionHistory.d.ts +9 -1
  303. package/lib/types/sessionHistory.d.ts.map +1 -1
  304. package/lib/types/sessionHistory.js +56 -16
  305. package/lib/types/sessionModes.d.ts +29 -0
  306. package/lib/types/sessionModes.d.ts.map +1 -0
  307. package/lib/types/sessionModes.js +45 -0
  308. package/lib/types/theme.d.ts +27 -3
  309. package/lib/types/theme.d.ts.map +1 -1
  310. package/lib/types/theme.js +48 -4
  311. package/lib/types/themePrefs.d.ts +3 -3
  312. package/lib/types/themePrefs.js +5 -5
  313. package/lib/types/trajectory/format.d.ts +100 -0
  314. package/lib/types/trajectory/format.d.ts.map +1 -0
  315. package/lib/types/trajectory/format.js +213 -0
  316. package/lib/types/trajectory/motion.d.ts +99 -0
  317. package/lib/types/trajectory/motion.d.ts.map +1 -0
  318. package/lib/types/trajectory/motion.js +143 -0
  319. package/lib/types/trajectory/query.d.ts +83 -0
  320. package/lib/types/trajectory/query.d.ts.map +1 -0
  321. package/lib/types/trajectory/query.js +187 -0
  322. package/lib/types/trajectoryPrefs.d.ts +36 -0
  323. package/lib/types/trajectoryPrefs.d.ts.map +1 -0
  324. package/lib/types/trajectoryPrefs.js +65 -0
  325. package/lib/types/update.d.ts +3 -3
  326. package/lib/types/update.d.ts.map +1 -1
  327. package/lib/types/update.js +18 -7
  328. package/lib/types/utils/clipboard.d.ts +101 -29
  329. package/lib/types/utils/clipboard.d.ts.map +1 -1
  330. package/lib/types/utils/clipboard.js +533 -55
  331. package/lib/types/utils/debug.d.ts +1 -1
  332. package/lib/types/utils/debug.js +2 -2
  333. package/lib/types/utils/execFileNoThrow.d.ts.map +1 -1
  334. package/lib/types/utils/execFileNoThrow.js +16 -6
  335. package/lib/types/utils/externalEditor.d.ts +115 -0
  336. package/lib/types/utils/externalEditor.d.ts.map +1 -0
  337. package/lib/types/utils/externalEditor.js +270 -0
  338. package/lib/types/utils/fullscreen.d.ts +2 -2
  339. package/lib/types/utils/fullscreen.js +3 -3
  340. package/lib/types/utils/loaded-context.d.ts +1 -1
  341. package/lib/types/utils/loaded-context.d.ts.map +1 -1
  342. package/lib/types/utils/modifiers.d.ts +24 -0
  343. package/lib/types/utils/modifiers.d.ts.map +1 -1
  344. package/lib/types/utils/modifiers.js +27 -0
  345. package/lib/types/utils/paths.d.ts +45 -0
  346. package/lib/types/utils/paths.d.ts.map +1 -0
  347. package/lib/types/utils/paths.js +69 -0
  348. package/lib/types/utils/shellQuote.d.ts +14 -0
  349. package/lib/types/utils/shellQuote.d.ts.map +1 -0
  350. package/lib/types/utils/shellQuote.js +39 -0
  351. package/lib/types/utils/workspaceRoot.d.ts +21 -0
  352. package/lib/types/utils/workspaceRoot.d.ts.map +1 -0
  353. package/lib/types/utils/workspaceRoot.js +47 -0
  354. package/lib/types/workspaces.d.ts +3 -0
  355. package/lib/types/workspaces.d.ts.map +1 -0
  356. package/lib/types/workspaces.js +4 -0
  357. package/package.json +31 -10
  358. package/lib/invariant.js +0 -28
  359. package/lib/types/approvals.d.ts.map +0 -1
  360. package/lib/types/channel.d.ts.map +0 -1
  361. package/lib/types/childStderr.d.ts.map +0 -1
  362. package/lib/types/compat/index.d.ts +0 -20
  363. package/lib/types/compat/index.d.ts.map +0 -1
  364. package/lib/types/compat/sessionLog.d.ts +0 -40
  365. package/lib/types/compat/sessionLog.d.ts.map +0 -1
  366. package/lib/types/compat/sessionLog.js +0 -226
  367. package/lib/types/invariant.d.ts.map +0 -1
  368. package/lib/types/packaged-skills.d.ts.map +0 -1
  369. package/lib/types/plugin.d.ts.map +0 -1
  370. package/lib/types/presets.d.ts.map +0 -1
  371. package/lib/types/questions.d.ts.map +0 -1
  372. /package/lib/types/{approvals.d.ts → dsh-adapter/approvals.d.ts} +0 -0
  373. /package/lib/types/{approvals.js → dsh-adapter/approvals.js} +0 -0
  374. /package/lib/types/{childStderr.d.ts → dsh-adapter/childStderr.d.ts} +0 -0
  375. /package/lib/types/{invariant.d.ts → dsh-adapter/invariant.d.ts} +0 -0
  376. /package/lib/types/{invariant.js → dsh-adapter/invariant.js} +0 -0
  377. /package/lib/types/{packaged-skills.d.ts → dsh-adapter/packaged-skills.d.ts} +0 -0
  378. /package/lib/types/{packaged-skills.js → dsh-adapter/packaged-skills.js} +0 -0
  379. /package/lib/types/{presets.d.ts → dsh-adapter/presets.d.ts} +0 -0
  380. /package/lib/types/{presets.js → dsh-adapter/presets.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * User-defined color themes for dsh-tui.
3
3
  *
4
- * A theme is a JSON file in `~/.dsh-cc/themes/<name>.json`:
4
+ * A theme is a JSON file in `~/.dsh-tui/themes/<name>.json`:
5
5
  *
6
6
  * ```json
7
7
  * { "name": "sakura", "displayName": "Sakura Pink", "base": "dark",
@@ -20,13 +20,13 @@
20
20
  * `ansi256(n)` and the 16 `ansi:` names.
21
21
  */
22
22
  import { readdirSync, readFileSync } from 'node:fs';
23
- import { homedir } from 'node:os';
24
23
  import { join } from 'node:path';
25
- import { getTheme } from './theme.js';
24
+ import { getTheme, AUTO_THEME_NAME } from './theme.js';
25
+ import { DATA_DIR } from './utils/paths.js';
26
26
  /** The base palettes a user theme may overlay. */
27
27
  export const THEME_BASE_NAMES = ['light', 'dark', 'dark-ansi'];
28
- /** The directory user theme files live in (~/.dsh-cc/themes). */
29
- export const CUSTOM_THEME_DIR = join(homedir(), '.dsh-cc', 'themes');
28
+ /** The directory user theme files live in (~/.dsh-tui/themes). */
29
+ export const CUSTOM_THEME_DIR = join(DATA_DIR, 'themes');
30
30
  // #rgb / #rrggbb / #rrggbbaa
31
31
  const HEX_RE = /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
32
32
  // rgb(r,g,b) — the storage form of the built-in truecolor palettes
@@ -56,7 +56,7 @@ const ANSI_NAMES = new Set([
56
56
  const cache = new Map();
57
57
  /**
58
58
  * `spec.name` → load key (file name), so a theme whose `name` field differs
59
- * from its file name still resolves (CC_TUI_THEME, /theme, persistence all
59
+ * from its file name still resolves (DSH_TUI_THEME, /theme, persistence all
60
60
  * speak the display name). Filled lazily on the first name miss.
61
61
  */
62
62
  const nameIndex = new Map();
@@ -66,7 +66,7 @@ function isThemeBase(value) {
66
66
  }
67
67
  /**
68
68
  * Whether a name is safe to use as a file name (no path separators or dot
69
- * traversal). Theme names are user input from CC_TUI_THEME and /theme, so
69
+ * traversal). Theme names are user input from DSH_TUI_THEME and /theme, so
70
70
  * they must never escape the themes directory.
71
71
  */
72
72
  export function isSafeThemeName(name) {
@@ -136,8 +136,11 @@ export function parseCustomTheme(text, fileName) {
136
136
  warn(`theme "${fileName}": unsafe "name" ("${name}"); file skipped`);
137
137
  return undefined;
138
138
  }
139
+ // displayName 是用户数据入口:内部换行在此压平——它会进入 ThemePicker
140
+ // 的列表行(窗口化按固定行高切片,多行会破坏行高契约),也可能出现在
141
+ // 其他单行 UI(状态栏等)。ListItem 侧的递归压平是第二道防线。
139
142
  const displayName = typeof raw.displayName === 'string' && raw.displayName.trim() !== ''
140
- ? raw.displayName.trim()
143
+ ? raw.displayName.trim().replace(/[\r\n]+/g, ' ')
141
144
  : name;
142
145
  const colorsRaw = raw.colors;
143
146
  if (colorsRaw === undefined) {
@@ -249,14 +252,14 @@ function indexCustomThemeNames() {
249
252
  nameIndexed = true;
250
253
  }
251
254
  /**
252
- * Whether a name selects a usable theme: a built-in palette or a valid user
253
- * theme file. Used for CC_TUI_THEME / persisted-preference validation and
254
- * the runtime /theme switch.
255
+ * Whether a name selects a usable theme: a built-in palette, the `auto`
256
+ * pseudo-theme, or a valid user theme file. Used for DSH_TUI_THEME /
257
+ * persisted-preference validation and the runtime /theme switch.
255
258
  * @param name - Candidate theme name.
256
259
  * @returns True when the theme resolves.
257
260
  */
258
261
  export function isThemeAvailable(name) {
259
- if (isThemeBase(name))
262
+ if (name === AUTO_THEME_NAME || isThemeBase(name))
260
263
  return true;
261
264
  return resolveCustomTheme(name) !== undefined;
262
265
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/approvals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGtF,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AA0CD;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,GAAG,CAAI;IACf;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAgC;IAErD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO3C;;;OAGG;IACH,WAAW,IAAI,gBAAgB,GAAG,IAAI;IAItC,OAAO,CAAC,IAAI;IAIZ,gEAAgE;IAChE,OAAO,CAAC,eAAe;IAOvB;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA8BpD,8CAA8C;IAC9C,OAAO,CAAC,SAAS;IAOjB;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAUlD;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAQ1C"}
@@ -1,10 +1,24 @@
1
1
  import { type Agent, type AgentHandle, type AgentStatus } from '@deepseek-ai/dsh-agent';
2
2
  import type { LlmModelInfo } from '@deepseek-ai/dsh-llm';
3
+ import { type ContentBlock } from '@deepseek-ai/dsh-llm';
3
4
  import { type SessionEvent } from '@deepseek-ai/dsh-session';
4
5
  import type { Context } from '@deepseek-ai/cordis';
5
- import { type LocalCommand } from './commands.js';
6
- import { type SessionRecord } from './sessionHistory.js';
7
- import type { SpinnerMode } from './components/Spinner/spinnerMode.js';
6
+ import { type CommandCompletion, type LocalCommand } from '../commands.js';
7
+ import { type SessionRecord } from '../sessionHistory.js';
8
+ import type { ProviderSetupHost } from './providerWizard.js';
9
+ import { type SessionModeSpec } from '../sessionModes.js';
10
+ import type { SpinnerMode } from '../components/Spinner/spinnerMode.js';
11
+ import { type ActivityState } from 'dsh-working-activity/status';
12
+ import { type TuiWorkspaceCommand, type TuiWorkspaceCommandResult, type TuiWorkspaceTarget } from './workspaces.js';
13
+ type ChannelImageBlock = Extract<ContentBlock, {
14
+ type: 'image';
15
+ }>;
16
+ type ChannelImageMediaType = ChannelImageBlock['attachment']['mediaType'];
17
+ export interface StagedImageInput {
18
+ data: Uint8Array;
19
+ mediaType: ChannelImageMediaType;
20
+ name?: string;
21
+ }
8
22
  /** Tool-call card state, mirroring the Claude Code tool-use presentation. */
9
23
  export interface ToolRow {
10
24
  readonly callId: string;
@@ -116,6 +130,8 @@ export interface ChatRow {
116
130
  kind: 'user' | 'assistant' | 'tool' | 'notice' | 'reasoning' | 'interrupt' | 'local' | 'local-output' | 'compact';
117
131
  /** Extra label for non-human user rows (e.g. `steering`). */
118
132
  label?: string;
133
+ /** Actual execution location for `!command` rows. */
134
+ executionTarget?: string;
119
135
  text: string;
120
136
  /** True while an assistant step is still streaming chunks. */
121
137
  streaming?: boolean;
@@ -141,23 +157,8 @@ export interface TokenUsage {
141
157
  input: number;
142
158
  output: number;
143
159
  }
144
- /**
145
- * Latest `activity/status` snapshot (the log-only event appended by
146
- * `@deepseek-ai/dsh-working-activity` for any UI consumer): the model's
147
- * live working line — thinking copy, running tool, turn summary. dsh-tui
148
- * renders it on the status line; nothing here requires the plugin (absent
149
- * events simply leave the slot empty).
150
- */
151
- export interface ActivityStatus {
152
- readonly phase: 'idle' | 'waiting' | 'thinking' | 'tool' | 'done';
153
- /** Human-readable status line (plain text, no ANSI). */
154
- readonly line: string;
155
- readonly label?: string;
156
- readonly detail?: string;
157
- readonly phrase?: string;
158
- readonly toolCount: number;
159
- readonly turnElapsedMs: number;
160
- }
160
+ /** In-process working-line snapshot derived from the base session stream. */
161
+ export type ActivityStatus = ActivityState;
161
162
  /** A transient status message shown above the prompt input. */
162
163
  export interface NotificationItem {
163
164
  id: number;
@@ -256,6 +257,8 @@ export interface Channel {
256
257
  readonly tokens: TokenUsage;
257
258
  /** Working directory of the session. */
258
259
  readonly cwd: string;
260
+ /** Human-facing cwd (remote POSIX path/URI instead of a host alias). */
261
+ readonly displayCwd: string;
259
262
  /** Current git branch, when the cwd is inside a git worktree. */
260
263
  readonly gitBranch: string | undefined;
261
264
  /** True between turn/start and turn/end — drives the working spinner. */
@@ -291,12 +294,11 @@ export interface Channel {
291
294
  tps: number;
292
295
  at: number;
293
296
  }[];
294
- /** Latest working-activity snapshot (log-only `activity/status` event),
295
- * when the leaf mounts dsh-working-activity. */
297
+ /** Latest in-process working-activity snapshot. */
296
298
  readonly workingActivity: ActivityStatus | undefined;
297
299
  /** Working-activity indicator preset name (`claude`/`moon`/…/`random`). */
298
300
  readonly activityFrames: string | undefined;
299
- /** Whether working-activity events are consumed (config.activity). */
301
+ /** Whether the in-process working-activity line is shown (config.activity). */
300
302
  readonly activityEnabled: boolean;
301
303
  /** Whether the segmented context bar row shows in the status footer
302
304
  * (config.contextBar; the status/mode lines are unaffected). */
@@ -335,6 +337,8 @@ export interface Channel {
335
337
  * nothing here; locals win on name collisions.
336
338
  */
337
339
  readonly commandList: readonly LocalCommand[];
340
+ /** Context-aware slash completions, including plugin subcommands. */
341
+ commandCompletions(input: string): readonly CommandCompletion[];
338
342
  /**
339
343
  * Run a plugin-registered slash command against the live agent (DSH
340
344
  * `dsh-commands` registry): logs `command/run`/`command/done` and returns
@@ -343,6 +347,14 @@ export interface Channel {
343
347
  * back to sending the line to the model).
344
348
  */
345
349
  runExternalCommand(name: string, rawInput: string): Promise<string | undefined>;
350
+ /** 侧问(CC /btw):无工具单轮 LLM 调用,复用当前会话上下文;结果不落 session log。 */
351
+ sideQuestion(question: string, options?: {
352
+ signal?: AbortSignal;
353
+ onText?: (delta: string) => void;
354
+ }): Promise<{
355
+ answer: string | null;
356
+ error?: string;
357
+ }>;
346
358
  /** Estimated context segments by content type (pi-nano-context style bar). */
347
359
  readonly contextSegments: {
348
360
  system: number;
@@ -352,6 +364,8 @@ export interface Channel {
352
364
  tools: number;
353
365
  };
354
366
  subscribe: (listener: () => void) => () => void;
367
+ /** Validate and persist a pasted image, returning its prompt placeholder. */
368
+ stageImage(input: StagedImageInput): Promise<string>;
355
369
  submit(text: string): void;
356
370
  /**
357
371
  * Steer a message into the running turn (Codex/pi semantics): injected at
@@ -375,14 +389,38 @@ export interface Channel {
375
389
  /** Start a fresh conversation (`/new`): a brand-new agent + session, the
376
390
  * transcript cleared, the resume marker forgotten. */
377
391
  newSession(): Promise<boolean>;
392
+ /** Workspace targets contributed by the TUI and optional providers. */
393
+ listWorkspaces(): Promise<readonly TuiWorkspaceTarget[]>;
394
+ /** Resolve an absolute path, file URL, or provider URI. */
395
+ resolveWorkspace(reference: string): Promise<TuiWorkspaceTarget | undefined>;
396
+ /** Start a fresh session in the selected workspace. */
397
+ switchWorkspace(target: TuiWorkspaceTarget): Promise<boolean>;
398
+ /** Rename the current durable workspace. */
399
+ renameWorkspace(title: string): Promise<boolean>;
400
+ /** Provider-owned workspace subcommands. */
401
+ workspaceCommands(): readonly Pick<TuiWorkspaceCommand, 'name' | 'aliases' | 'description'>[];
402
+ runWorkspaceCommand(name: string, input: string): Promise<TuiWorkspaceCommandResult | undefined>;
378
403
  /** Switch the live model (`/model` picker): forks the conversation at its
379
404
  * current end and continues it with a new agent routed to `provider`/`model`.
380
405
  * The history replays unchanged; only the request route changes. */
381
406
  switchModel(provider: string, model: string): Promise<boolean>;
382
- /** Cycle the live route's reasoning effort (Shift+Tab) through the
383
- * adapter's own level list (dsh parity: deepseek Off→High→Max), taking
384
- * effect on the next request and persisting across restarts. */
385
- cycleEffort(): Promise<void>;
407
+ /** The live route's effort levels + adapter default for the `/effort`
408
+ * slider; empty `efforts` after notifying when unsupported/unavailable. */
409
+ listEfforts(): Promise<{
410
+ efforts: readonly EffortOption[];
411
+ defaultEffort: string | undefined;
412
+ }>;
413
+ /** Set one effort level by id (validated against the adapter list);
414
+ * false + a notify when the id is not offered. Persists like the old
415
+ * Shift+Tab cycle (~/.dsh-tui/effort.json). */
416
+ setEffort(id: string): Promise<boolean>;
417
+ /** The session mode currently in force (matched from the session log, or
418
+ * the last one Shift+Tab applied). */
419
+ readonly mode: SessionModeSpec;
420
+ /** Index of `mode` in the configured cycle; 0 is the unmarked base mode. */
421
+ readonly modeIndex: number;
422
+ /** Shift+Tab: advance to the next configured session mode. */
423
+ cycleMode(): Promise<void>;
386
424
  /** The preset the CURRENT session runs under (issue #8), resolved from its
387
425
  * log at create/resume time; undefined when no roster is mounted. */
388
426
  readonly agentPreset: string | undefined;
@@ -409,12 +447,16 @@ export interface Channel {
409
447
  timeoutMs?: number;
410
448
  }): void;
411
449
  /** Switch the working-activity indicator preset (`/activity`): validates
412
- * the name, persists it to `~/.dsh-cc/working-activity.json`, and
450
+ * the name, persists it to `~/.dsh-tui/working-activity.json`, and
413
451
  * re-renders the indicator immediately; false when the name is unknown
414
452
  * or the preference cannot be written. */
415
453
  setActivityFrames(name: string): boolean;
416
454
  /** Advertised models across every registered provider route (empty when the LLM service is absent). */
417
455
  listModels(): Promise<readonly LlmModelInfo[]>;
456
+ /** Runtime capabilities for the `/provider` wizard, over the settings /
457
+ * credentials / llm seams; undefined when the composition lacks them
458
+ * (bare cordis.yml start without the dsh-base services). */
459
+ providerSetup(): ProviderSetupHost | undefined;
418
460
  /** Top-level entries of the session cwd for `@` file completion. */
419
461
  listFiles(): Promise<readonly string[]>;
420
462
  /** Recent sessions recorded by the DSH persistence backend (for `/resume`). */
@@ -424,6 +466,14 @@ export interface Channel {
424
466
  /** Rename the current session (CC's /rename): appends a `session/title`
425
467
  * event, which the status line and the /resume picker both read. */
426
468
  renameSession(title: string): void;
469
+ /** Delete a persisted session (`/resume` picker ctrl+d): removes its log
470
+ * directory, its last-used entry, and the resume marker when it points
471
+ * here. False for the live session or a missing/unwritable log. */
472
+ deleteSession(sessionId: string): Promise<boolean>;
473
+ /** Rename any persisted session (`/resume` picker ctrl+r): appends a
474
+ * `session/title` event to its log (live sessions go through the normal
475
+ * rename path). False when the log is absent or undecodable. */
476
+ renameSessionTo(sessionId: string, title: string): Promise<boolean>;
427
477
  /** Manually compact the session history (CC's /compact); no-op notify when the leaf lacks a compaction service. */
428
478
  compact(): void;
429
479
  /** Render a multi-line local report in the transcript (`/status`,
@@ -442,6 +492,26 @@ export interface Channel {
442
492
  /** Subagent rows for `/agents` (DSH subagent service; empty message when
443
493
  * the service is absent). */
444
494
  listSubagents(): Promise<string[]>;
495
+ /**
496
+ * Dispose the host-registry entries this channel registered (skill slash
497
+ * commands).
498
+ *
499
+ * `commandService.register` binds the registration to ITS own context, not
500
+ * the caller's, so the entries outlive this channel unless released: after a
501
+ * launcher recompose the stale registrations would still answer, but the
502
+ * fresh channel would see the names taken and stop managing them, freezing
503
+ * the menu. The plugin calls this from its teardown effect, where the real
504
+ * cordis context lives.
505
+ */
506
+ releaseContributions(): void;
507
+ /**
508
+ * The live agent's session event log (immutable snapshot, replaced on
509
+ * every append — dsh-session caches the frozen array) — the `/trace`
510
+ * trajectory view's data source. Screens already re-render on `version`
511
+ * bumps, so a view reading this per render follows live events in real
512
+ * time; agent swaps (/resume /rewind /new) are reflected immediately.
513
+ */
514
+ traceEvents(): readonly SessionEvent[];
445
515
  }
446
516
  /** @internal */
447
517
  /** One roster entry in the `/preset` picker (see {@link Channel.listPresets}). */
@@ -468,6 +538,12 @@ export interface PendingMessage {
468
538
  * fields mirror the public {@link Channel} contract, and the `@internal`
469
539
  * emit hooks belong to the implementation.
470
540
  */
541
+ /** One adapter-owned reasoning-effort level for the `/effort` slider. */
542
+ export interface EffortOption {
543
+ id: string;
544
+ name: string;
545
+ description?: string;
546
+ }
471
547
  export interface ChannelState {
472
548
  version: number;
473
549
  rows: ChatRow[];
@@ -478,6 +554,7 @@ export interface ChannelState {
478
554
  provider: string;
479
555
  tokens: TokenUsage;
480
556
  cwd: string;
557
+ displayCwd: string;
481
558
  gitBranch: string | undefined;
482
559
  working: boolean;
483
560
  spinnerMode: SpinnerMode;
@@ -508,7 +585,7 @@ export interface ChannelState {
508
585
  workingActivity: ActivityStatus | undefined;
509
586
  /** Working-activity indicator preset (see the public Channel type). */
510
587
  activityFrames: string | undefined;
511
- /** Working-activity consumption switch (see the public Channel type). */
588
+ /** Working-activity display switch (see the public Channel type). */
512
589
  activityEnabled: boolean;
513
590
  /** Context bar row switch (see the public Channel type). */
514
591
  contextBarEnabled: boolean;
@@ -521,8 +598,18 @@ export interface ChannelState {
521
598
  /** Messages submitted while working, awaiting their turn/step boundary.
522
599
  * Driven by agent inbox events (inserted/claimed/discarded). */
523
600
  pending: PendingMessage[];
601
+ /** 侧问(见 public Channel.sideQuestion)。 */
602
+ sideQuestion(question: string, options?: {
603
+ signal?: AbortSignal;
604
+ onText?: (delta: string) => void;
605
+ }): Promise<{
606
+ answer: string | null;
607
+ error?: string;
608
+ }>;
524
609
  /** Effective slash commands (see the public Channel type). */
525
610
  commandList: readonly LocalCommand[];
611
+ /** Context-aware slash completions (see the public Channel type). */
612
+ commandCompletions(input: string): readonly CommandCompletion[];
526
613
  /** Run a plugin-registered command (see the public Channel type). */
527
614
  runExternalCommand(name: string, rawInput: string): Promise<string | undefined>;
528
615
  /** Estimated context segments by content type (pi-nano-context style bar). */
@@ -534,6 +621,7 @@ export interface ChannelState {
534
621
  tools: number;
535
622
  };
536
623
  subscribe: (listener: () => void) => () => void;
624
+ stageImage(input: StagedImageInput): Promise<string>;
537
625
  /** @internal event bump (the public `notify(text)` posts a notification). */
538
626
  emit(): void;
539
627
  /** @internal frame-aligned emit for high-frequency streaming deltas:
@@ -551,10 +639,27 @@ export interface ChannelState {
551
639
  resumeTo(sessionId: string): Promise<boolean>;
552
640
  /** Start a fresh conversation (`/new`). */
553
641
  newSession(): Promise<boolean>;
642
+ listWorkspaces(): Promise<readonly TuiWorkspaceTarget[]>;
643
+ resolveWorkspace(uri: string): Promise<TuiWorkspaceTarget | undefined>;
644
+ switchWorkspace(target: TuiWorkspaceTarget): Promise<boolean>;
645
+ renameWorkspace(title: string): Promise<boolean>;
646
+ workspaceCommands(): readonly Pick<TuiWorkspaceCommand, 'name' | 'aliases' | 'description'>[];
647
+ runWorkspaceCommand(name: string, input: string): Promise<TuiWorkspaceCommandResult | undefined>;
554
648
  /** Switch the live model (`/model` picker). */
555
649
  switchModel(provider: string, model: string): Promise<boolean>;
556
- /** Cycle reasoning effort (see the public Channel type). */
557
- cycleEffort(): Promise<void>;
650
+ /** The route's effort levels for `/effort` (see the public Channel type). */
651
+ listEfforts(): Promise<{
652
+ efforts: readonly EffortOption[];
653
+ defaultEffort: string | undefined;
654
+ }>;
655
+ /** Set one effort level by id (see the public Channel type). */
656
+ setEffort(id: string): Promise<boolean>;
657
+ /** The session mode currently in force (see the public Channel type). */
658
+ mode: SessionModeSpec;
659
+ /** Index of `mode` in the configured cycle (see the public Channel type). */
660
+ modeIndex: number;
661
+ /** Shift+Tab session-mode advance (see the public Channel type). */
662
+ cycleMode(): Promise<void>;
558
663
  /** The preset the current session runs under (see the public Channel type). */
559
664
  agentPreset: string | undefined;
560
665
  /** The roster's presets for the `/preset` picker (see the public Channel type). */
@@ -571,11 +676,17 @@ export interface ChannelState {
571
676
  /** Switch the working-activity indicator preset (see the public Channel). */
572
677
  setActivityFrames(name: string): boolean;
573
678
  listModels(): Promise<readonly LlmModelInfo[]>;
679
+ /** `/provider` wizard capabilities (see the public Channel type). */
680
+ providerSetup(): ProviderSetupHost | undefined;
574
681
  listFiles(): Promise<readonly string[]>;
575
682
  listSessions(): Promise<readonly SessionRecord[]>;
576
683
  setResumeTarget(sessionId: string): void;
577
684
  /** Rename the current session (see the public Channel type). */
578
685
  renameSession(title: string): void;
686
+ /** Delete a persisted session (see the public Channel type). */
687
+ deleteSession(sessionId: string): Promise<boolean>;
688
+ /** Rename any persisted session (see the public Channel type). */
689
+ renameSessionTo(sessionId: string, title: string): Promise<boolean>;
579
690
  /** Manually compact the session history (CC's /compact). */
580
691
  compact(): void;
581
692
  /** Multi-line local report (`/status`, `/doctor`, …). */
@@ -590,6 +701,10 @@ export interface ChannelState {
590
701
  doctorInfo(): string[];
591
702
  /** Subagent rows (CC's /agents). */
592
703
  listSubagents(): Promise<string[]>;
704
+ /** See {@link Channel.releaseContributions}. */
705
+ releaseContributions(): void;
706
+ /** Live session event log (see the public Channel type, `/trace`). */
707
+ traceEvents(): readonly SessionEvent[];
593
708
  }
594
709
  /**
595
710
  * Create the live channel state for one agent session: replay the durable
@@ -611,8 +726,7 @@ export declare function createChannel(ctx: Context, initialAgent: Agent, options
611
726
  * startup until the first request/header event reports the adapter's
612
727
  * live value. */
613
728
  effort?: string;
614
- /** Consume `activity/status` session events (dsh-working-activity) into
615
- * the status line; default on. */
729
+ /** Derive the working line from base session events; default on. */
616
730
  activity?: boolean;
617
731
  /** Indicator preset for the working-activity line (`claude`/`moon`/
618
732
  * `comet`/`dots`/… or `random`); default `claude`. */
@@ -631,9 +745,33 @@ export declare function createChannel(ctx: Context, initialAgent: Agent, options
631
745
  configuredModel?: string;
632
746
  /** The preset the initial agent's session runs under (from resolveAgent). */
633
747
  agentPreset?: string;
748
+ /** Shift+Tab session-mode cycle from cordis.yml `modes`; undefined →
749
+ * the built-in default/plan/full cycle (sessionModes.ts). */
750
+ modes?: readonly SessionModeSpec[];
634
751
  /** Handle of the initial agent; disposed when a rewind replaces it. */
635
752
  handle?: AgentHandle;
636
753
  }): ChannelState;
754
+ /**
755
+ * `/resume` project filter (issue #96): exact cwd match, PLUS sessions
756
+ * recorded in a subdirectory — pre-upgrade launches recorded the launch
757
+ * subdirectory as the header cwd, and with the cwd default now resolving to
758
+ * the git worktree root an exact match would hide those sessions forever.
759
+ * They belong to the same workspace, so they stay listed. Comparison follows
760
+ * the platform's filesystem semantics (case-insensitive on Windows — a
761
+ * pre-upgrade header may record `C:\Repo` where the current launch resolves
762
+ * `c:\repo`). `caseInsensitive` is a parameter (not a platform read) so the
763
+ * verifier can exercise both modes on any host. Exported for
764
+ * scripts/verify-session-cwd.mjs.
765
+ *
766
+ * Boundary rule (issue #153): container directories are nobody's workspace.
767
+ * $HOME and the Windows root forms — plain drive roots (`C:`), UNC share
768
+ * roots (`//server/share`), and extended-length roots (`//?/C:`,
769
+ * `//?/UNC/server/share`) — are ancestors of unrelated projects, so the
770
+ * descendant rules below would list every session on the machine from `~`
771
+ * (and every session on the drive/share from those roots). At these
772
+ * boundaries, in either direction, only an exact match passes.
773
+ */
774
+ export declare function sessionCwdMatches(stateCwd: string, headerCwd: string, caseInsensitive?: boolean): boolean;
637
775
  /** The fs-service surface `@`-mention expansion consumes (dsh-fs-local). */
638
776
  export interface MentionFs {
639
777
  resolve(path: string): Promise<{
@@ -647,6 +785,9 @@ export interface MentionFs {
647
785
  readText(target: {
648
786
  displayPath: string;
649
787
  }): Promise<string>;
788
+ readBytes?(target: {
789
+ displayPath: string;
790
+ }, signal: AbortSignal | undefined, maxBytes: number): Promise<Uint8Array>;
650
791
  listDir(target: {
651
792
  displayPath: string;
652
793
  }): Promise<Array<{
@@ -654,12 +795,25 @@ export interface MentionFs {
654
795
  type: 'file' | 'directory' | 'other';
655
796
  }>>;
656
797
  }
798
+ type MentionImageBlock = ChannelImageBlock;
799
+ type MentionImageMediaType = ChannelImageMediaType;
800
+ /** Attachment subset used to turn an image path into a durable user block. */
801
+ export interface MentionAttachments {
802
+ readonly imageLimits: {
803
+ readonly maxImageBytes: number;
804
+ readonly maxImagesPerMessage: number;
805
+ readonly maxMessageImageBytes: number;
806
+ readonly mediaTypes: readonly MentionImageMediaType[];
807
+ };
808
+ saveImage(input: {
809
+ data: Uint8Array;
810
+ mediaType: MentionImageMediaType;
811
+ name?: string;
812
+ }): Promise<MentionImageBlock['attachment']>;
813
+ }
657
814
  export interface MentionExpansion {
658
815
  /** Model-facing blocks: the typed text first, one block per attachment. */
659
- blocks: Array<{
660
- type: 'text';
661
- text: string;
662
- }>;
816
+ blocks: ContentBlock[];
663
817
  /** Paths that resolved and were attached (for the confirmation notice). */
664
818
  attached: string[];
665
819
  /** Mention tokens that failed to resolve (kept literal, warned about). */
@@ -667,11 +821,12 @@ export interface MentionExpansion {
667
821
  }
668
822
  /**
669
823
  * Expand a submitted text's `@` mentions (issue #15) into model-facing
670
- * attachment blocks: each referenced file contributes its (capped) content,
671
- * each directory a shallow listing. The typed text stays the first block
672
- * verbatim — mentions that resolve keep their `@path` spelling in it, and
673
- * unresolved ones stay literal everywhere. Best-effort: an unreadable or
674
- * binary file degrades to `missing`, never a failed send.
824
+ * attachment blocks: supported image files become durable image blocks,
825
+ * other files contribute capped text, and directories contribute a shallow
826
+ * listing. Reads always go through the active fs service, so provider-owned
827
+ * workspaces keep their routing semantics. The typed text stays first and
828
+ * verbatim. Best-effort failures degrade to `missing`, never a failed send.
675
829
  */
676
- export declare function expandMentions(fs: MentionFs | undefined, cwd: string, text: string): Promise<MentionExpansion>;
830
+ export declare function expandMentions(fs: MentionFs | undefined, cwd: string, text: string, attachments?: MentionAttachments, stagedImages?: ReadonlyMap<string, MentionImageBlock['attachment']>): Promise<MentionExpansion>;
831
+ export {};
677
832
  //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/channel.ts"],"names":[],"mappings":"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"}