@deepseek-harness-tui/dsh-tui 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (735) hide show
  1. package/README.md +73 -14
  2. package/bin/dsh-tui.js +200 -34
  3. package/cordis.patch.yml +16 -52
  4. package/cordis.yml +6 -2
  5. package/guide/dsh-tui-guide/claude-backend.en.md +44 -7
  6. package/guide/dsh-tui-guide/claude-backend.md +28 -6
  7. package/guide/dsh-tui-guide/codex-backend.en.md +34 -7
  8. package/guide/dsh-tui-guide/codex-backend.md +17 -2
  9. package/guide/dsh-tui-guide/configuration.en.md +129 -16
  10. package/guide/dsh-tui-guide/configuration.md +110 -14
  11. package/guide/dsh-tui-guide/interaction.en.md +57 -24
  12. package/guide/dsh-tui-guide/interaction.md +42 -19
  13. package/guide/dsh-tui-guide/plugins.en.md +36 -3
  14. package/guide/dsh-tui-guide/plugins.md +21 -2
  15. package/guide/dsh-tui-guide/themes.en.md +23 -14
  16. package/guide/dsh-tui-guide/themes.md +19 -12
  17. package/guide/dsh-tui-guide/user-guide.en.md +51 -20
  18. package/guide/dsh-tui-guide/user-guide.md +41 -21
  19. package/lib/settings.json +103 -9
  20. package/lib/types/adapter/channel/ui-policy.d.ts +1 -1
  21. package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
  22. package/lib/types/adapter/channel/ui-policy.js +3 -0
  23. package/lib/types/adapter/channel/ui.d.ts +2 -0
  24. package/lib/types/adapter/channel/ui.d.ts.map +1 -1
  25. package/lib/types/adapter/channel/ui.js +6 -2
  26. package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
  27. package/lib/types/adapter/kernel/runtime.js +2 -0
  28. package/lib/types/adapter/ports/channel-settings.d.ts +9 -0
  29. package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
  30. package/lib/types/adapter/ports/channel-ui.d.ts +50 -12
  31. package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
  32. package/lib/types/adapter/ports/channel-view.d.ts +21 -0
  33. package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
  34. package/lib/types/adapter/spec/backend-capabilities.d.ts +22 -0
  35. package/lib/types/adapter/spec/backend-capabilities.d.ts.map +1 -0
  36. package/lib/types/adapter/spec/backend-capabilities.js +49 -0
  37. package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
  38. package/lib/types/adapter/spec/protocol-constants.js +10 -3
  39. package/lib/types/adapter/spec/tui-contributions.d.ts +3 -0
  40. package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
  41. package/lib/types/adapter/spec/tui-contributions.js +7 -0
  42. package/lib/types/adapter/standard/registry.d.ts +6 -0
  43. package/lib/types/adapter/standard/registry.d.ts.map +1 -1
  44. package/lib/types/adapter/standard/registry.js +65 -15
  45. package/lib/types/adapter/standard/tui-extension.d.ts.map +1 -1
  46. package/lib/types/adapter/standard/tui-extension.js +7 -1
  47. package/lib/types/adapter/standard/types.d.ts +10 -1
  48. package/lib/types/adapter/standard/types.d.ts.map +1 -1
  49. package/lib/types/adapter/upstream/host-descriptor-driver.d.ts.map +1 -1
  50. package/lib/types/adapter/upstream/host-descriptor-driver.js +52 -0
  51. package/lib/types/agent/backend-manifest.d.ts +152 -0
  52. package/lib/types/agent/backend-manifest.d.ts.map +1 -0
  53. package/lib/types/agent/backend-manifest.js +14 -0
  54. package/lib/types/agent/backend.d.ts +71 -5
  55. package/lib/types/agent/backend.d.ts.map +1 -1
  56. package/lib/types/agent/capabilities.d.ts +6 -0
  57. package/lib/types/agent/capabilities.d.ts.map +1 -1
  58. package/lib/types/agent/index.d.ts +2 -0
  59. package/lib/types/agent/index.d.ts.map +1 -1
  60. package/lib/types/agent/refs.d.ts +11 -1
  61. package/lib/types/agent/refs.d.ts.map +1 -1
  62. package/lib/types/agent/starting-session.d.ts +4 -0
  63. package/lib/types/agent/starting-session.d.ts.map +1 -0
  64. package/lib/types/agent/starting-session.js +19 -0
  65. package/lib/types/backends/claude/activity.d.ts +1 -1
  66. package/lib/types/backends/claude/activity.d.ts.map +1 -1
  67. package/lib/types/backends/claude/activity.js +5 -5
  68. package/lib/types/backends/claude/auth.d.ts.map +1 -1
  69. package/lib/types/backends/claude/auth.js +10 -3
  70. package/lib/types/backends/claude/backend.d.ts.map +1 -1
  71. package/lib/types/backends/claude/backend.js +103 -29
  72. package/lib/types/backends/claude/catalog.d.ts +2 -1
  73. package/lib/types/backends/claude/catalog.d.ts.map +1 -1
  74. package/lib/types/backends/claude/catalog.js +15 -5
  75. package/lib/types/backends/claude/channels.d.ts +5 -3
  76. package/lib/types/backends/claude/channels.d.ts.map +1 -1
  77. package/lib/types/backends/claude/channels.js +5 -4
  78. package/lib/types/backends/claude/contract.d.ts +4 -0
  79. package/lib/types/backends/claude/contract.d.ts.map +1 -1
  80. package/lib/types/backends/claude/contract.js +4 -0
  81. package/lib/types/backends/claude/controls.d.ts +4 -0
  82. package/lib/types/backends/claude/controls.d.ts.map +1 -1
  83. package/lib/types/backends/claude/controls.js +34 -42
  84. package/lib/types/backends/claude/dialogs.d.ts +8 -2
  85. package/lib/types/backends/claude/dialogs.d.ts.map +1 -1
  86. package/lib/types/backends/claude/dialogs.js +24 -16
  87. package/lib/types/backends/claude/images.d.ts +1 -1
  88. package/lib/types/backends/claude/images.d.ts.map +1 -1
  89. package/lib/types/backends/claude/images.js +7 -7
  90. package/lib/types/backends/claude/manifest.d.ts +21 -0
  91. package/lib/types/backends/claude/manifest.d.ts.map +1 -0
  92. package/lib/types/backends/claude/manifest.js +29 -0
  93. package/lib/types/backends/claude/older-history.js +2 -2
  94. package/lib/types/backends/claude/permissions.js +11 -11
  95. package/lib/types/backends/claude/prefs.d.ts +4 -2
  96. package/lib/types/backends/claude/prefs.d.ts.map +1 -1
  97. package/lib/types/backends/claude/prefs.js +4 -3
  98. package/lib/types/backends/claude/process.d.ts +16 -4
  99. package/lib/types/backends/claude/process.d.ts.map +1 -1
  100. package/lib/types/backends/claude/process.js +100 -37
  101. package/lib/types/backends/claude/send-message.d.ts +1 -1
  102. package/lib/types/backends/claude/send-message.d.ts.map +1 -1
  103. package/lib/types/backends/claude/session/auth.js +22 -22
  104. package/lib/types/backends/claude/session/channels.d.ts +4 -0
  105. package/lib/types/backends/claude/session/channels.d.ts.map +1 -1
  106. package/lib/types/backends/claude/session/channels.js +5 -3
  107. package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -1
  108. package/lib/types/backends/claude/session/lifecycle.js +31 -23
  109. package/lib/types/backends/claude/session/store.js +8 -8
  110. package/lib/types/backends/claude/session/subagents.js +2 -2
  111. package/lib/types/backends/claude/session/types.d.ts +7 -0
  112. package/lib/types/backends/claude/session/types.d.ts.map +1 -1
  113. package/lib/types/backends/claude/side-query.js +3 -3
  114. package/lib/types/backends/claude/task-output.js +5 -5
  115. package/lib/types/backends/claude/text.d.ts +778 -0
  116. package/lib/types/backends/claude/text.d.ts.map +1 -0
  117. package/lib/types/backends/claude/text.js +298 -0
  118. package/lib/types/backends/claude/transcript-file.d.ts +1 -1
  119. package/lib/types/backends/claude/transcript-file.d.ts.map +1 -1
  120. package/lib/types/backends/claude/transcript-file.js +4 -4
  121. package/lib/types/backends/claude/translate/attempts.js +2 -2
  122. package/lib/types/backends/claude/translate/core.js +3 -3
  123. package/lib/types/backends/claude/translate/messages.js +4 -4
  124. package/lib/types/backends/claude/translate/system.js +14 -14
  125. package/lib/types/backends/claude/translate/tasks.js +2 -2
  126. package/lib/types/backends/claude/translate/types.d.ts +1 -1
  127. package/lib/types/backends/claude/translate/types.d.ts.map +1 -1
  128. package/lib/types/backends/codex/auth/external-tokens.js +16 -16
  129. package/lib/types/backends/codex/auth/status.js +14 -14
  130. package/lib/types/backends/codex/backend.d.ts +4 -19
  131. package/lib/types/backends/codex/backend.d.ts.map +1 -1
  132. package/lib/types/backends/codex/backend.js +118 -25
  133. package/lib/types/backends/codex/catalog.d.ts +2 -1
  134. package/lib/types/backends/codex/catalog.d.ts.map +1 -1
  135. package/lib/types/backends/codex/catalog.js +63 -18
  136. package/lib/types/backends/codex/channels.d.ts +6 -3
  137. package/lib/types/backends/codex/channels.d.ts.map +1 -1
  138. package/lib/types/backends/codex/channels.js +15 -13
  139. package/lib/types/backends/codex/detect.d.ts.map +1 -1
  140. package/lib/types/backends/codex/detect.js +9 -6
  141. package/lib/types/backends/codex/manifest.d.ts +30 -0
  142. package/lib/types/backends/codex/manifest.d.ts.map +1 -0
  143. package/lib/types/backends/codex/manifest.js +23 -0
  144. package/lib/types/backends/codex/prefs.d.ts +4 -2
  145. package/lib/types/backends/codex/prefs.d.ts.map +1 -1
  146. package/lib/types/backends/codex/prefs.js +4 -3
  147. package/lib/types/backends/codex/rpc/hub.js +2 -2
  148. package/lib/types/backends/codex/session/activity.d.ts +1 -1
  149. package/lib/types/backends/codex/session/activity.d.ts.map +1 -1
  150. package/lib/types/backends/codex/session/activity.js +13 -13
  151. package/lib/types/backends/codex/session/approvals.js +30 -30
  152. package/lib/types/backends/codex/session/commands.d.ts +8 -2
  153. package/lib/types/backends/codex/session/commands.d.ts.map +1 -1
  154. package/lib/types/backends/codex/session/commands.js +71 -23
  155. package/lib/types/backends/codex/session/controls.d.ts +1 -1
  156. package/lib/types/backends/codex/session/controls.d.ts.map +1 -1
  157. package/lib/types/backends/codex/session/controls.js +21 -16
  158. package/lib/types/backends/codex/session/goals.d.ts.map +1 -1
  159. package/lib/types/backends/codex/session/goals.js +3 -3
  160. package/lib/types/backends/codex/session/history.js +2 -2
  161. package/lib/types/backends/codex/session/images.js +8 -8
  162. package/lib/types/backends/codex/session/input.d.ts +6 -2
  163. package/lib/types/backends/codex/session/input.d.ts.map +1 -1
  164. package/lib/types/backends/codex/session/input.js +55 -13
  165. package/lib/types/backends/codex/session/plan-review.js +6 -6
  166. package/lib/types/backends/codex/session/session.d.ts.map +1 -1
  167. package/lib/types/backends/codex/session/session.js +66 -34
  168. package/lib/types/backends/codex/session/side-query.d.ts.map +1 -1
  169. package/lib/types/backends/codex/session/side-query.js +27 -9
  170. package/lib/types/backends/codex/session/state.d.ts +6 -1
  171. package/lib/types/backends/codex/session/state.d.ts.map +1 -1
  172. package/lib/types/backends/codex/session/subagents.js +5 -5
  173. package/lib/types/backends/codex/session/tasks.js +4 -4
  174. package/lib/types/backends/codex/text.d.ts +933 -0
  175. package/lib/types/backends/codex/text.d.ts.map +1 -0
  176. package/lib/types/backends/codex/text.js +313 -0
  177. package/lib/types/backends/codex/translate/items.js +4 -4
  178. package/lib/types/backends/codex/translate/live.d.ts.map +1 -1
  179. package/lib/types/backends/codex/translate/live.js +11 -8
  180. package/lib/types/backends/codex/translate/notices.js +10 -10
  181. package/lib/types/backends/shared/channel-slug.d.ts +4 -0
  182. package/lib/types/backends/shared/channel-slug.d.ts.map +1 -0
  183. package/lib/types/backends/shared/channel-slug.js +25 -0
  184. package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -1
  185. package/lib/types/backends/shared/channel-tokens.js +30 -23
  186. package/lib/types/{channel → backends/shared}/elicitation.d.ts +78 -21
  187. package/lib/types/backends/shared/elicitation.d.ts.map +1 -0
  188. package/lib/types/{channel → backends/shared}/elicitation.js +64 -66
  189. package/lib/types/backends/shared/image-size.d.ts +33 -0
  190. package/lib/types/backends/shared/image-size.d.ts.map +1 -0
  191. package/lib/types/backends/shared/image-size.js +134 -0
  192. package/lib/types/{utils → backends/shared}/jsonl.d.ts +5 -1
  193. package/lib/types/backends/shared/jsonl.d.ts.map +1 -0
  194. package/lib/types/{utils → backends/shared}/jsonl.js +5 -1
  195. package/lib/types/backends/shared/localized-text.d.ts +30 -0
  196. package/lib/types/backends/shared/localized-text.d.ts.map +1 -0
  197. package/lib/types/backends/shared/localized-text.js +24 -0
  198. package/lib/types/backends/shared/platform-text.d.ts +88 -0
  199. package/lib/types/backends/shared/platform-text.d.ts.map +1 -0
  200. package/lib/types/backends/shared/platform-text.js +33 -0
  201. package/lib/types/branding.d.ts +13 -0
  202. package/lib/types/branding.d.ts.map +1 -1
  203. package/lib/types/branding.js +18 -0
  204. package/lib/types/channel/channel-slug.d.ts +3 -1
  205. package/lib/types/channel/channel-slug.d.ts.map +1 -1
  206. package/lib/types/channel/channel-slug.js +3 -1
  207. package/lib/types/channel/sanitize.d.ts +7 -0
  208. package/lib/types/channel/sanitize.d.ts.map +1 -1
  209. package/lib/types/channel/sanitize.js +9 -0
  210. package/lib/types/channel/usage.d.ts.map +1 -1
  211. package/lib/types/channel/usage.js +5 -0
  212. package/lib/types/commands.d.ts +5 -0
  213. package/lib/types/commands.d.ts.map +1 -1
  214. package/lib/types/commands.js +47 -8
  215. package/lib/types/components/AgentMessageComposer.d.ts.map +1 -1
  216. package/lib/types/components/AgentMessageComposer.js +3 -2
  217. package/lib/types/components/BtwPanel.d.ts.map +1 -1
  218. package/lib/types/components/BtwPanel.js +4 -2
  219. package/lib/types/components/Chat/JobCard.js +3 -3
  220. package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
  221. package/lib/types/components/CommandSuggestions.js +20 -6
  222. package/lib/types/components/ContextBarView.d.ts +5 -1
  223. package/lib/types/components/ContextBarView.d.ts.map +1 -1
  224. package/lib/types/components/ContextBarView.js +6 -3
  225. package/lib/types/components/ExtensionDialog.d.ts.map +1 -1
  226. package/lib/types/components/ExtensionDialog.js +2 -3
  227. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
  228. package/lib/types/components/GoalTodoPanel.js +14 -3
  229. package/lib/types/components/InlineMathParagraph.js +1 -1
  230. package/lib/types/components/KernelPicker.d.ts.map +1 -1
  231. package/lib/types/components/KernelPicker.js +1 -1
  232. package/lib/types/components/LogoV2.d.ts.map +1 -1
  233. package/lib/types/components/LogoV2.js +9 -6
  234. package/lib/types/components/MarkdownTable.d.ts.map +1 -1
  235. package/lib/types/components/MarkdownTable.js +4 -3
  236. package/lib/types/components/MessageList.d.ts.map +1 -1
  237. package/lib/types/components/MessageList.js +18 -5
  238. package/lib/types/components/ModelPicker.d.ts +24 -31
  239. package/lib/types/components/ModelPicker.d.ts.map +1 -1
  240. package/lib/types/components/ModelPicker.js +115 -40
  241. package/lib/types/components/PromptEditor.d.ts +3 -3
  242. package/lib/types/components/PromptInput.d.ts +21 -3
  243. package/lib/types/components/PromptInput.d.ts.map +1 -1
  244. package/lib/types/components/PromptInput.js +58 -118
  245. package/lib/types/components/SdkInstallWizard.d.ts +3 -1
  246. package/lib/types/components/SdkInstallWizard.d.ts.map +1 -1
  247. package/lib/types/components/SdkInstallWizard.js +8 -1
  248. package/lib/types/components/SearchBox.d.ts +13 -15
  249. package/lib/types/components/SearchBox.d.ts.map +1 -1
  250. package/lib/types/components/SearchBox.js +58 -27
  251. package/lib/types/components/ThemePicker.d.ts +1 -1
  252. package/lib/types/components/ThemePicker.d.ts.map +1 -1
  253. package/lib/types/components/ThemePicker.js +14 -11
  254. package/lib/types/components/Tooltip.js +1 -1
  255. package/lib/types/components/WorkingSpinner.js +1 -1
  256. package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -1
  257. package/lib/types/components/WorkspaceFlowPicker.js +4 -3
  258. package/lib/types/components/composerImageTokens.d.ts +24 -0
  259. package/lib/types/components/composerImageTokens.d.ts.map +1 -0
  260. package/lib/types/components/composerImageTokens.js +37 -0
  261. package/lib/types/components/design-system/InputCaret.d.ts +7 -0
  262. package/lib/types/components/design-system/InputCaret.d.ts.map +1 -0
  263. package/lib/types/components/design-system/InputCaret.js +9 -0
  264. package/lib/types/components/design-system/ListItem.d.ts +13 -2
  265. package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
  266. package/lib/types/components/design-system/ListItem.js +11 -5
  267. package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
  268. package/lib/types/components/design-system/ThemeProvider.js +6 -8
  269. package/lib/types/components/kernelCatalog.d.ts +55 -11
  270. package/lib/types/components/kernelCatalog.d.ts.map +1 -1
  271. package/lib/types/components/kernelCatalog.js +42 -23
  272. package/lib/types/components/launchpadActions.d.ts +4 -0
  273. package/lib/types/components/launchpadActions.d.ts.map +1 -1
  274. package/lib/types/components/launchpadActions.js +5 -4
  275. package/lib/types/components/launchpadLayout.d.ts.map +1 -1
  276. package/lib/types/components/launchpadLayout.js +2 -2
  277. package/lib/types/components/messages/UserPromptMessage.d.ts +4 -3
  278. package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -1
  279. package/lib/types/components/messages/UserPromptMessage.js +4 -3
  280. package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
  281. package/lib/types/components/questions/AskUserQuestionPanel.js +8 -3
  282. package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
  283. package/lib/types/components/questions/PlanReviewPanel.js +4 -3
  284. package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -1
  285. package/lib/types/components/questions/ProviderModelEditor.js +3 -13
  286. package/lib/types/components/sessions/ForeignSessionRow.d.ts +3 -1
  287. package/lib/types/components/sessions/ForeignSessionRow.d.ts.map +1 -1
  288. package/lib/types/components/sessions/ForeignSessionRow.js +5 -2
  289. package/lib/types/components/sessions/SessionListRow.d.ts +3 -1
  290. package/lib/types/components/sessions/SessionListRow.d.ts.map +1 -1
  291. package/lib/types/components/sessions/SessionListRow.js +5 -2
  292. package/lib/types/components/sidePanel/PanelBar.d.ts +1 -0
  293. package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -1
  294. package/lib/types/components/sidePanel/PanelBar.js +21 -17
  295. package/lib/types/components/sidePanel/SidePanelColumn.d.ts +1 -1
  296. package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
  297. package/lib/types/components/sidePanel/SidePanelColumn.js +2 -1
  298. package/lib/types/components/sidePanel/SidePanelLayout.d.ts +6 -4
  299. package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -1
  300. package/lib/types/components/sidePanel/SidePanelLayout.js +33 -7
  301. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +4 -2
  302. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -1
  303. package/lib/types/components/sidePanel/btw/BtwComposer.js +12 -4
  304. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -1
  305. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +59 -15
  306. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -1
  307. package/lib/types/components/sidePanel/btw/BtwThreadScene.js +4 -2
  308. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +1 -1
  309. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -1
  310. package/lib/types/components/sidePanel/btw/BtwThreadView.js +12 -6
  311. package/lib/types/components/sidePanel/companion/CompanionPanel.js +2 -2
  312. package/lib/types/components/sidePanel/types.d.ts +1 -1
  313. package/lib/types/components/sidePanel/types.d.ts.map +1 -1
  314. package/lib/types/components/sidePanel/useSidePanel.d.ts +2 -0
  315. package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -1
  316. package/lib/types/components/sidePanel/useSidePanel.js +11 -1
  317. package/lib/types/components/splashFonts.d.ts +24 -1
  318. package/lib/types/components/splashFonts.d.ts.map +1 -1
  319. package/lib/types/components/splashFonts.js +40 -5
  320. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
  321. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
  322. package/lib/types/components/workspaces/HomeWorkspaceRow.js +5 -2
  323. package/lib/types/dsh-adapter/admission-loader.d.ts +20 -0
  324. package/lib/types/dsh-adapter/admission-loader.d.ts.map +1 -0
  325. package/lib/types/dsh-adapter/admission-loader.js +256 -0
  326. package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -1
  327. package/lib/types/dsh-adapter/backend/translate.js +3 -0
  328. package/lib/types/dsh-adapter/backend-admission.d.ts +64 -0
  329. package/lib/types/dsh-adapter/backend-admission.d.ts.map +1 -0
  330. package/lib/types/dsh-adapter/backend-admission.js +34 -0
  331. package/lib/types/dsh-adapter/backend-contribution.d.ts +26 -0
  332. package/lib/types/dsh-adapter/backend-contribution.d.ts.map +1 -0
  333. package/lib/types/dsh-adapter/backend-contribution.js +37 -0
  334. package/lib/types/dsh-adapter/backend-registry.d.ts +136 -0
  335. package/lib/types/dsh-adapter/backend-registry.d.ts.map +1 -0
  336. package/lib/types/dsh-adapter/backend-registry.js +285 -0
  337. package/lib/types/dsh-adapter/backends.d.ts +67 -24
  338. package/lib/types/dsh-adapter/backends.d.ts.map +1 -1
  339. package/lib/types/dsh-adapter/backends.generated.d.ts +12 -0
  340. package/lib/types/dsh-adapter/backends.generated.d.ts.map +1 -0
  341. package/lib/types/dsh-adapter/backends.generated.js +6 -0
  342. package/lib/types/dsh-adapter/backends.js +92 -46
  343. package/lib/types/dsh-adapter/channel/action-readiness.d.ts +2 -0
  344. package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
  345. package/lib/types/dsh-adapter/channel/action-readiness.js +9 -3
  346. package/lib/types/dsh-adapter/channel/agent-view-projection.js +2 -2
  347. package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
  348. package/lib/types/dsh-adapter/channel/background-action.js +8 -3
  349. package/lib/types/dsh-adapter/channel/binding-events.d.ts +16 -3
  350. package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
  351. package/lib/types/dsh-adapter/channel/binding-events.js +18 -46
  352. package/lib/types/dsh-adapter/channel/channel-host.d.ts +45 -0
  353. package/lib/types/dsh-adapter/channel/channel-host.d.ts.map +1 -0
  354. package/lib/types/dsh-adapter/channel/channel-host.js +1 -0
  355. package/lib/types/dsh-adapter/channel/command-completions.d.ts +5 -0
  356. package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
  357. package/lib/types/dsh-adapter/channel/command-completions.js +16 -0
  358. package/lib/types/dsh-adapter/channel/composer-images.d.ts +4 -2
  359. package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
  360. package/lib/types/dsh-adapter/channel/composer-images.js +36 -5
  361. package/lib/types/dsh-adapter/channel/cordis-host.d.ts +14 -0
  362. package/lib/types/dsh-adapter/channel/cordis-host.d.ts.map +1 -0
  363. package/lib/types/dsh-adapter/channel/cordis-host.js +35 -0
  364. package/lib/types/dsh-adapter/channel/core/actions.d.ts +3 -3
  365. package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -1
  366. package/lib/types/dsh-adapter/channel/core/actions.js +15 -6
  367. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +7 -3
  368. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -1
  369. package/lib/types/dsh-adapter/channel/core/binding-feed.js +3 -0
  370. package/lib/types/dsh-adapter/channel/core/compose.d.ts +12 -28
  371. package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -1
  372. package/lib/types/dsh-adapter/channel/core/compose.js +318 -117
  373. package/lib/types/dsh-adapter/channel/core/files.d.ts +7 -2
  374. package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -1
  375. package/lib/types/dsh-adapter/channel/core/files.js +1 -0
  376. package/lib/types/dsh-adapter/channel/core/host.d.ts +12 -6
  377. package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -1
  378. package/lib/types/dsh-adapter/channel/core/host.js +69 -35
  379. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +5 -3
  380. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -1
  381. package/lib/types/dsh-adapter/channel/core/local-actions.js +5 -2
  382. package/lib/types/dsh-adapter/channel/core/session-controls.js +2 -2
  383. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +7 -4
  384. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -1
  385. package/lib/types/dsh-adapter/channel/core/session-switch.js +8 -4
  386. package/lib/types/dsh-adapter/channel/core/sessions.d.ts +1 -1
  387. package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -1
  388. package/lib/types/dsh-adapter/channel/core/sessions.js +75 -16
  389. package/lib/types/dsh-adapter/channel/extensions.d.ts +4 -3
  390. package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -1
  391. package/lib/types/dsh-adapter/channel/extensions.js +41 -22
  392. package/lib/types/dsh-adapter/channel/input-delivery.d.ts +2 -2
  393. package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
  394. package/lib/types/dsh-adapter/channel/input-delivery.js +14 -5
  395. package/lib/types/dsh-adapter/channel/job-projection.d.ts +4 -0
  396. package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -1
  397. package/lib/types/dsh-adapter/channel/job-projection.js +205 -24
  398. package/lib/types/dsh-adapter/channel/mentions.d.ts +3 -3
  399. package/lib/types/dsh-adapter/channel/mentions.d.ts.map +1 -1
  400. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +1 -0
  401. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
  402. package/lib/types/dsh-adapter/channel/mode-permission-actions.js +138 -8
  403. package/lib/types/dsh-adapter/channel/model-actions.d.ts +5 -1
  404. package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
  405. package/lib/types/dsh-adapter/channel/model-actions.js +40 -28
  406. package/lib/types/dsh-adapter/channel/model-selection.d.ts +17 -0
  407. package/lib/types/dsh-adapter/channel/model-selection.d.ts.map +1 -0
  408. package/lib/types/dsh-adapter/channel/model-selection.js +109 -0
  409. package/lib/types/dsh-adapter/channel/model-switch.d.ts +12 -21
  410. package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
  411. package/lib/types/dsh-adapter/channel/model-switch.js +39 -102
  412. package/lib/types/dsh-adapter/channel/projection.js +1 -1
  413. package/lib/types/dsh-adapter/channel/reports.d.ts +1 -1
  414. package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
  415. package/lib/types/dsh-adapter/channel/reports.js +11 -3
  416. package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
  417. package/lib/types/dsh-adapter/channel/session-fork.js +33 -20
  418. package/lib/types/dsh-adapter/channel/session-listing.d.ts +20 -0
  419. package/lib/types/dsh-adapter/channel/session-listing.d.ts.map +1 -0
  420. package/lib/types/dsh-adapter/channel/session-listing.js +51 -0
  421. package/lib/types/dsh-adapter/channel/session-metadata.d.ts +3 -1
  422. package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
  423. package/lib/types/dsh-adapter/channel/session-metadata.js +56 -27
  424. package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
  425. package/lib/types/dsh-adapter/channel/session-resume.js +15 -8
  426. package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
  427. package/lib/types/dsh-adapter/channel/session-rewind.js +38 -24
  428. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
  429. package/lib/types/dsh-adapter/channel/session-tree-actions.js +38 -24
  430. package/lib/types/dsh-adapter/channel/settings-host.d.ts +2 -2
  431. package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
  432. package/lib/types/dsh-adapter/channel/settings-host.js +1 -0
  433. package/lib/types/dsh-adapter/channel/state.d.ts +37 -1
  434. package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
  435. package/lib/types/dsh-adapter/channel/state.js +14 -1
  436. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
  437. package/lib/types/dsh-adapter/channel/subagent-projection.js +66 -6
  438. package/lib/types/dsh-adapter/channel/task-completion.d.ts +6 -0
  439. package/lib/types/dsh-adapter/channel/task-completion.d.ts.map +1 -0
  440. package/lib/types/dsh-adapter/channel/task-completion.js +114 -0
  441. package/lib/types/dsh-adapter/channel/transcript.d.ts +1 -1
  442. package/lib/types/dsh-adapter/channel/transcript.js +1 -1
  443. package/lib/types/dsh-adapter/channel/upstream-retry.d.ts +81 -0
  444. package/lib/types/dsh-adapter/channel/upstream-retry.d.ts.map +1 -0
  445. package/lib/types/dsh-adapter/channel/upstream-retry.js +138 -0
  446. package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
  447. package/lib/types/dsh-adapter/channel/workspace-actions.js +9 -8
  448. package/lib/types/dsh-adapter/channel-ui.d.ts +3 -1
  449. package/lib/types/dsh-adapter/channel-ui.d.ts.map +1 -1
  450. package/lib/types/dsh-adapter/channel-ui.js +4 -2
  451. package/lib/types/dsh-adapter/channel.d.ts +2 -2
  452. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  453. package/lib/types/dsh-adapter/channel.js +19 -5
  454. package/lib/types/dsh-adapter/context-occupancy.d.ts +81 -4
  455. package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -1
  456. package/lib/types/dsh-adapter/context-occupancy.js +108 -17
  457. package/lib/types/dsh-adapter/contract.d.ts +1 -1
  458. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  459. package/lib/types/dsh-adapter/contract.js +15 -0
  460. package/lib/types/dsh-adapter/entry-slot.d.ts +36 -0
  461. package/lib/types/dsh-adapter/entry-slot.d.ts.map +1 -0
  462. package/lib/types/dsh-adapter/entry-slot.js +28 -0
  463. package/lib/types/dsh-adapter/fresh-agent.d.ts +22 -0
  464. package/lib/types/dsh-adapter/fresh-agent.d.ts.map +1 -0
  465. package/lib/types/dsh-adapter/fresh-agent.js +221 -0
  466. package/lib/types/dsh-adapter/host-access.d.ts +16 -1
  467. package/lib/types/dsh-adapter/host-access.d.ts.map +1 -1
  468. package/lib/types/dsh-adapter/host-access.js +53 -2
  469. package/lib/types/dsh-adapter/host-contract.d.ts +103 -0
  470. package/lib/types/dsh-adapter/host-contract.d.ts.map +1 -0
  471. package/lib/types/dsh-adapter/host-contract.js +76 -0
  472. package/lib/types/dsh-adapter/host-dsh.d.ts +106 -0
  473. package/lib/types/dsh-adapter/host-dsh.d.ts.map +1 -0
  474. package/lib/types/dsh-adapter/host-dsh.js +466 -0
  475. package/lib/types/dsh-adapter/host-entry.d.ts +9 -0
  476. package/lib/types/dsh-adapter/host-entry.d.ts.map +1 -0
  477. package/lib/types/dsh-adapter/host-entry.js +228 -0
  478. package/lib/types/dsh-adapter/index.d.ts +55 -18
  479. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  480. package/lib/types/dsh-adapter/index.js +59 -7
  481. package/lib/types/dsh-adapter/install/executors.d.ts +44 -0
  482. package/lib/types/dsh-adapter/install/executors.d.ts.map +1 -0
  483. package/lib/types/dsh-adapter/install/executors.js +15 -0
  484. package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts +3 -0
  485. package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts.map +1 -0
  486. package/lib/types/dsh-adapter/install/pnpm-profile-add.js +150 -0
  487. package/lib/types/dsh-adapter/jobs.d.ts +7 -0
  488. package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
  489. package/lib/types/dsh-adapter/jobs.js +13 -0
  490. package/lib/types/dsh-adapter/lite-profile.d.ts +50 -0
  491. package/lib/types/dsh-adapter/lite-profile.d.ts.map +1 -0
  492. package/lib/types/dsh-adapter/lite-profile.js +49 -0
  493. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -1
  494. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
  495. package/lib/types/dsh-adapter/migrate/parse/jsonl.js +4 -3
  496. package/lib/types/dsh-adapter/oauth/profiles.d.ts.map +1 -1
  497. package/lib/types/dsh-adapter/oauth/profiles.js +5 -1
  498. package/lib/types/dsh-adapter/panels.d.ts +7 -0
  499. package/lib/types/dsh-adapter/panels.d.ts.map +1 -1
  500. package/lib/types/dsh-adapter/panels.js +35 -2
  501. package/lib/types/dsh-adapter/plugin-completions.d.ts +32 -0
  502. package/lib/types/dsh-adapter/plugin-completions.d.ts.map +1 -0
  503. package/lib/types/dsh-adapter/plugin-completions.js +80 -0
  504. package/lib/types/dsh-adapter/plugin-declaration.d.ts +21 -0
  505. package/lib/types/dsh-adapter/plugin-declaration.d.ts.map +1 -0
  506. package/lib/types/dsh-adapter/plugin-declaration.js +53 -0
  507. package/lib/types/dsh-adapter/plugin-host.d.ts +13 -2
  508. package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -1
  509. package/lib/types/dsh-adapter/plugin-host.js +34 -8
  510. package/lib/types/dsh-adapter/plugin-manager.d.ts +68 -0
  511. package/lib/types/dsh-adapter/plugin-manager.d.ts.map +1 -0
  512. package/lib/types/dsh-adapter/plugin-manager.js +51 -0
  513. package/lib/types/dsh-adapter/plugin.d.ts +50 -1
  514. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  515. package/lib/types/dsh-adapter/plugin.js +870 -233
  516. package/lib/types/dsh-adapter/plugins-info.d.ts +44 -8
  517. package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
  518. package/lib/types/dsh-adapter/plugins-info.js +354 -34
  519. package/lib/types/dsh-adapter/process-exit.d.ts +43 -0
  520. package/lib/types/dsh-adapter/process-exit.d.ts.map +1 -0
  521. package/lib/types/dsh-adapter/process-exit.js +60 -0
  522. package/lib/types/dsh-adapter/root-dispose.d.ts +18 -0
  523. package/lib/types/dsh-adapter/root-dispose.d.ts.map +1 -0
  524. package/lib/types/dsh-adapter/root-dispose.js +28 -0
  525. package/lib/types/dsh-adapter/session-list-metadata.d.ts +20 -0
  526. package/lib/types/dsh-adapter/session-list-metadata.d.ts.map +1 -0
  527. package/lib/types/dsh-adapter/session-list-metadata.js +56 -0
  528. package/lib/types/dsh-adapter/session-seed.d.ts +11 -0
  529. package/lib/types/dsh-adapter/session-seed.d.ts.map +1 -0
  530. package/lib/types/dsh-adapter/session-seed.js +47 -0
  531. package/lib/types/dsh-adapter/sessions/list.d.ts +3 -1
  532. package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
  533. package/lib/types/dsh-adapter/sessions/list.js +11 -5
  534. package/lib/types/dsh-adapter/sessions/snapshot.d.ts +0 -2
  535. package/lib/types/dsh-adapter/sessions/snapshot.d.ts.map +1 -1
  536. package/lib/types/dsh-adapter/sessions/snapshot.js +7 -70
  537. package/lib/types/dsh-adapter/startup-args.d.ts +2 -0
  538. package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -1
  539. package/lib/types/dsh-adapter/startup-args.js +5 -0
  540. package/lib/types/dsh-adapter/subagents.d.ts +33 -1
  541. package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
  542. package/lib/types/dsh-adapter/subagents.js +110 -8
  543. package/lib/types/dsh-adapter/tui-settings.d.ts +57 -0
  544. package/lib/types/dsh-adapter/tui-settings.d.ts.map +1 -0
  545. package/lib/types/dsh-adapter/tui-settings.js +199 -0
  546. package/lib/types/effortPrefs.d.ts +6 -3
  547. package/lib/types/effortPrefs.d.ts.map +1 -1
  548. package/lib/types/effortPrefs.js +7 -4
  549. package/lib/types/hostEntryRoute.d.ts +18 -0
  550. package/lib/types/hostEntryRoute.d.ts.map +1 -0
  551. package/lib/types/hostEntryRoute.js +57 -0
  552. package/lib/types/i18n.d.ts +363 -1432
  553. package/lib/types/i18n.d.ts.map +1 -1
  554. package/lib/types/i18n.js +155 -385
  555. package/lib/types/ink/components/AlternateScreen.js +2 -2
  556. package/lib/types/ink/components/App.d.ts +1 -0
  557. package/lib/types/ink/components/App.d.ts.map +1 -1
  558. package/lib/types/ink/components/App.js +16 -4
  559. package/lib/types/ink/components/CursorDeclarationContext.d.ts +9 -0
  560. package/lib/types/ink/components/CursorDeclarationContext.d.ts.map +1 -1
  561. package/lib/types/ink/components/CursorDeclarationContext.js +2 -0
  562. package/lib/types/ink/hooks/use-copy-on-select.d.ts +2 -2
  563. package/lib/types/ink/hooks/use-copy-on-select.d.ts.map +1 -1
  564. package/lib/types/ink/hooks/use-copy-on-select.js +13 -7
  565. package/lib/types/ink/hooks/use-declared-cursor.d.ts +11 -3
  566. package/lib/types/ink/hooks/use-declared-cursor.d.ts.map +1 -1
  567. package/lib/types/ink/hooks/use-declared-cursor.js +30 -10
  568. package/lib/types/ink/ink.d.ts +22 -17
  569. package/lib/types/ink/ink.d.ts.map +1 -1
  570. package/lib/types/ink/ink.js +151 -40
  571. package/lib/types/ink/kitty-graphics.d.ts +2 -0
  572. package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
  573. package/lib/types/ink/kitty-graphics.js +6 -1
  574. package/lib/types/ink/node-cache.d.ts +2 -1
  575. package/lib/types/ink/node-cache.d.ts.map +1 -1
  576. package/lib/types/ink/output.d.ts +10 -4
  577. package/lib/types/ink/output.d.ts.map +1 -1
  578. package/lib/types/ink/output.js +14 -10
  579. package/lib/types/ink/render-node-to-output.d.ts +5 -2
  580. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  581. package/lib/types/ink/render-node-to-output.js +27 -9
  582. package/lib/types/ink/renderer.d.ts +1 -0
  583. package/lib/types/ink/renderer.d.ts.map +1 -1
  584. package/lib/types/ink/renderer.js +4 -3
  585. package/lib/types/ink/root.d.ts +4 -1
  586. package/lib/types/ink/root.d.ts.map +1 -1
  587. package/lib/types/ink/screen.d.ts +4 -2
  588. package/lib/types/ink/screen.d.ts.map +1 -1
  589. package/lib/types/ink/selection.d.ts +10 -1
  590. package/lib/types/ink/selection.d.ts.map +1 -1
  591. package/lib/types/ink/selection.js +94 -25
  592. package/lib/types/ink/stdin-handoff.d.ts +11 -0
  593. package/lib/types/ink/stdin-handoff.d.ts.map +1 -0
  594. package/lib/types/ink/stdin-handoff.js +20 -0
  595. package/lib/types/ink/styles.d.ts +2 -1
  596. package/lib/types/ink/styles.d.ts.map +1 -1
  597. package/lib/types/ink/terminal-image.d.ts +6 -4
  598. package/lib/types/ink/terminal-image.d.ts.map +1 -1
  599. package/lib/types/ink/terminal-image.js +16 -39
  600. package/lib/types/ink/terminal-notification.d.ts +8 -0
  601. package/lib/types/ink/terminal-notification.d.ts.map +1 -0
  602. package/lib/types/ink/terminal-notification.js +83 -0
  603. package/lib/types/ink/terminal.d.ts +9 -0
  604. package/lib/types/ink/terminal.d.ts.map +1 -1
  605. package/lib/types/ink/terminal.js +34 -1
  606. package/lib/types/ink/termio/csi.d.ts +11 -0
  607. package/lib/types/ink/termio/csi.d.ts.map +1 -1
  608. package/lib/types/ink/termio/csi.js +13 -0
  609. package/lib/types/ink/update-overflow-guard.d.ts +6 -0
  610. package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
  611. package/lib/types/ink/update-overflow-guard.js +17 -0
  612. package/lib/types/ink/wrap-text.d.ts +6 -0
  613. package/lib/types/ink/wrap-text.d.ts.map +1 -1
  614. package/lib/types/ink/wrap-text.js +17 -0
  615. package/lib/types/kernelPrefs.d.ts +129 -16
  616. package/lib/types/kernelPrefs.d.ts.map +1 -1
  617. package/lib/types/kernelPrefs.js +98 -35
  618. package/lib/types/math/inline-layout.d.ts +2 -0
  619. package/lib/types/math/inline-layout.d.ts.map +1 -1
  620. package/lib/types/math/inline-layout.js +5 -27
  621. package/lib/types/modelGroups.d.ts +15 -27
  622. package/lib/types/modelGroups.d.ts.map +1 -1
  623. package/lib/types/modelGroups.js +17 -31
  624. package/lib/types/modelPrefs.d.ts +5 -4
  625. package/lib/types/modelPrefs.d.ts.map +1 -1
  626. package/lib/types/modelPrefs.js +5 -4
  627. package/lib/types/modelRoute.d.ts +23 -9
  628. package/lib/types/modelRoute.d.ts.map +1 -1
  629. package/lib/types/modelRoute.js +25 -11
  630. package/lib/types/permissionPrefs.d.ts +34 -0
  631. package/lib/types/permissionPrefs.d.ts.map +1 -0
  632. package/lib/types/permissionPrefs.js +61 -0
  633. package/lib/types/plugin-host.d.ts +1 -0
  634. package/lib/types/plugin-host.d.ts.map +1 -1
  635. package/lib/types/presetPrefs.d.ts +17 -3
  636. package/lib/types/presetPrefs.d.ts.map +1 -1
  637. package/lib/types/presetPrefs.js +20 -3
  638. package/lib/types/reload.d.ts +6 -10
  639. package/lib/types/reload.d.ts.map +1 -1
  640. package/lib/types/reload.js +14 -14
  641. package/lib/types/screens/Chat.d.ts +22 -15
  642. package/lib/types/screens/Chat.d.ts.map +1 -1
  643. package/lib/types/screens/Chat.js +442 -272
  644. package/lib/types/screens/Launchpad.d.ts +27 -17
  645. package/lib/types/screens/Launchpad.d.ts.map +1 -1
  646. package/lib/types/screens/Launchpad.js +241 -78
  647. package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
  648. package/lib/types/screens/SessionSupervisor.js +53 -12
  649. package/lib/types/screens/Settings.d.ts.map +1 -1
  650. package/lib/types/screens/Settings.js +6 -0
  651. package/lib/types/screens/StatusLine.d.ts.map +1 -1
  652. package/lib/types/screens/StatusLine.js +24 -7
  653. package/lib/types/screens/StatusMetrics.d.ts +46 -1
  654. package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
  655. package/lib/types/screens/StatusMetrics.js +72 -0
  656. package/lib/types/screens/chat/useKernelPicker.d.ts +8 -4
  657. package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -1
  658. package/lib/types/screens/chat/useKernelPicker.js +61 -21
  659. package/lib/types/screens/chat/useModelPicker.d.ts +42 -0
  660. package/lib/types/screens/chat/useModelPicker.d.ts.map +1 -0
  661. package/lib/types/screens/chat/useModelPicker.js +182 -0
  662. package/lib/types/screens/chatOverlay.d.ts +11 -4
  663. package/lib/types/screens/chatOverlay.d.ts.map +1 -1
  664. package/lib/types/screens/chatOverlay.js +0 -1
  665. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts +4 -1
  666. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts.map +1 -1
  667. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.js +26 -5
  668. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +1 -1
  669. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
  670. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +51 -29
  671. package/lib/types/sessionHistory.d.ts +5 -0
  672. package/lib/types/sessionHistory.d.ts.map +1 -1
  673. package/lib/types/sessionHistory.js +5 -0
  674. package/lib/types/sessions/listSnapshot.d.ts +6 -0
  675. package/lib/types/sessions/listSnapshot.d.ts.map +1 -0
  676. package/lib/types/sessions/listSnapshot.js +67 -0
  677. package/lib/types/settings/definitions.d.ts +50 -0
  678. package/lib/types/settings/definitions.d.ts.map +1 -1
  679. package/lib/types/settings/definitions.js +42 -8
  680. package/lib/types/terminal-utils/cjk-emphasis.d.ts +28 -0
  681. package/lib/types/terminal-utils/cjk-emphasis.d.ts.map +1 -0
  682. package/lib/types/terminal-utils/cjk-emphasis.js +31 -0
  683. package/lib/types/terminal-utils/markdown.d.ts +3 -1
  684. package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
  685. package/lib/types/terminal-utils/markdown.js +7 -2
  686. package/lib/types/theme.d.ts +29 -12
  687. package/lib/types/theme.d.ts.map +1 -1
  688. package/lib/types/theme.js +310 -23
  689. package/lib/types/themeCatalog.d.ts.map +1 -1
  690. package/lib/types/themeCatalog.js +21 -2
  691. package/lib/types/tips.js +4 -4
  692. package/lib/types/tuiSettingsFile.d.ts +56 -0
  693. package/lib/types/tuiSettingsFile.d.ts.map +1 -0
  694. package/lib/types/tuiSettingsFile.js +206 -0
  695. package/lib/types/ui.d.ts +2 -0
  696. package/lib/types/ui.d.ts.map +1 -1
  697. package/lib/types/ui.js +2 -0
  698. package/lib/types/update.d.ts +72 -26
  699. package/lib/types/update.d.ts.map +1 -1
  700. package/lib/types/update.js +131 -43
  701. package/lib/types/utils/bmp.d.ts +7 -0
  702. package/lib/types/utils/bmp.d.ts.map +1 -1
  703. package/lib/types/utils/bmp.js +27 -0
  704. package/lib/types/utils/bootTrace.d.ts +2 -0
  705. package/lib/types/utils/bootTrace.d.ts.map +1 -0
  706. package/lib/types/utils/bootTrace.js +20 -0
  707. package/lib/types/utils/clipboard.d.ts.map +1 -1
  708. package/lib/types/utils/clipboard.js +11 -3
  709. package/lib/types/utils/credentials.d.ts +14 -2
  710. package/lib/types/utils/credentials.d.ts.map +1 -1
  711. package/lib/types/utils/credentials.js +34 -11
  712. package/lib/types/utils/imageResize.d.ts +10 -20
  713. package/lib/types/utils/imageResize.d.ts.map +1 -1
  714. package/lib/types/utils/imageResize.js +61 -134
  715. package/lib/types/utils/inputPaste.d.ts +2 -2
  716. package/lib/types/utils/inputPaste.js +2 -2
  717. package/lib/types/utils/pastedImagePath.d.ts +5 -0
  718. package/lib/types/utils/pastedImagePath.d.ts.map +1 -1
  719. package/lib/types/utils/pastedImagePath.js +33 -0
  720. package/package.json +36 -6
  721. package/presets/winbash.mjs +716 -0
  722. package/tui-profile/protocols/profile-definitions.d.ts +1 -0
  723. package/tui-profile/protocols/profile-definitions.js +14 -0
  724. package/tui-profile/protocols/tui-contributions.d.ts +55 -0
  725. package/tui-profile/protocols/tui-contributions.js +141 -0
  726. package/tui-profile/registry/contracts/backend-v1alpha1.json +13 -0
  727. package/tui-profile/registry/registry-0.15.json +12 -0
  728. package/lib/types/backends/claude/install.d.ts +0 -15
  729. package/lib/types/backends/claude/install.d.ts.map +0 -1
  730. package/lib/types/backends/claude/install.js +0 -91
  731. package/lib/types/channel/elicitation.d.ts.map +0 -1
  732. package/lib/types/dsh-adapter/channel/session-lineage.d.ts +0 -42
  733. package/lib/types/dsh-adapter/channel/session-lineage.d.ts.map +0 -1
  734. package/lib/types/dsh-adapter/channel/session-lineage.js +0 -51
  735. package/lib/types/utils/jsonl.d.ts.map +0 -1
package/cordis.patch.yml CHANGED
@@ -7,7 +7,7 @@
7
7
  # restates every key it owns (see the dsh-base patch for the shared
8
8
  # defaults). The dsh-base core rows that need no dsh-tui value — tools,
9
9
  # sandbox/approval policy, skills, goal, plan mode, workspace context,
10
- # telemetry — are inherited unless this surface explicitly restates them.
10
+ # telemetry — are inherited unchanged.
11
11
 
12
12
  # ── surface-specific values over the dsh-base layer ─────────────────────────
13
13
 
@@ -54,53 +54,6 @@
54
54
  config:
55
55
  agents: []
56
56
 
57
- # Preserve the TUI's opt-in privacy stance across the 0.1.2 base default
58
- # change to FEEDBACK_ONLY. An explicit DSH_TELEMETRY_MODE still wins. This
59
- # restates the whole 0.1.2 config because include patches replace config
60
- # objects rather than merging them. The 0.2.0 base moved the collector to
61
- # dsh-otel-collector and added maxRequestBytes; older cohorts keep the
62
- # endpoint (and the key set) their base shipped, so both follow the
63
- # installed package version.
64
- - id: session-telemetry-otel
65
- config: !!js >-
66
- (() => {
67
- let url = 'https://dsh-otel-collector.deepseeksvc.com/v1/logs'
68
- let modern = false
69
- try {
70
- const require = process.getBuiltinModule('node:module').createRequire(ctx.baseUrl)
71
- const fs = process.getBuiltinModule('node:fs')
72
- const manifest = require.resolve('@deepseek-ai/dsh-session-telemetry-otel/package.json')
73
- const version = String(JSON.parse(fs.readFileSync(manifest, 'utf8')).version ?? '')
74
- const match = /^(\d+)\.(\d+)\./u.exec(version)
75
- modern = match === null || Number(match[1]) > 0 || Number(match[2]) >= 2
76
- if (!modern) url = 'https://harness-telemetry.deepseeksvc.com/v1/logs'
77
- } catch {}
78
- return {
79
- mode: process.env.DSH_TELEMETRY_MODE || 'DISABLED',
80
- shutdownTimeoutMillis: 3000,
81
- // 0.2.0's base config caps one request at 4 MB; the older plugin's
82
- // schema has no such key, so only a probed 0.2+ host gets it.
83
- ...(modern ? { maxRequestBytes: 4000000 } : {}),
84
- exporter: {
85
- url: process.env.DSH_TELEMETRY_OTLP_URL ?? url,
86
- compression: 'gzip',
87
- timeoutMillis: 1000,
88
- },
89
- processor: {
90
- scheduledDelayMillis: 10000,
91
- maxQueueSize: 2048,
92
- maxExportBatchSize: 2048,
93
- exportTimeoutMillis: 1500,
94
- },
95
- }
96
- })()
97
-
98
- # The 0.1.2 base sends the active Loader package inventory on official
99
- # DeepSeek requests by default. TUI keeps that diagnostic metadata opt-in.
100
- - id: plugin-package-inventory-deepseek
101
- config:
102
- enabled: false
103
-
104
57
  # ── agent presets (issue #8) ────────────────────────────────────────────────
105
58
  #
106
59
  # The model-facing plugin set moves INTO the preset registry: every
@@ -218,7 +171,9 @@
218
171
 
219
172
  # Windows has no sandbox confinement backend yet (sandbox-local's win32
220
173
  # chain is empty); use danger-full-access on Windows so bash commands can
221
- # run. Other platforms keep the base workspace-write default.
174
+ # run. Other platforms keep the base workspace-write default. DSH_PERMISSION_MODE
175
+ # is the INITIAL state of a launch — the remembered /permission pick
176
+ # (~/.dsh-tui/permission.json) outranks it whenever it is not set.
222
177
  - id: sandbox-policy
223
178
  config:
224
179
  mode: !!js "process.platform === 'win32' ? 'danger-full-access' : (process.env.DSH_PERMISSION_MODE ?? 'workspace-write')"
@@ -467,6 +422,9 @@
467
422
  # open. (The comment sits below the inject line:
468
423
  # verify-workspace-attachment.mjs asserts the name→inject distance.)
469
424
  config:
425
+ # `provider` + `model` are the deployment DEFAULT route (used until a
426
+ # `/model` pick is persisted in ~/.dsh-tui/model.json, which then wins
427
+ # whole); a half-pinned pair is ignored outright (issue #67).
470
428
  provider: deepseek-official
471
429
  # Alt-screen fullscreen 布局:应用内鼠标选区(选择即复制, OSC 52 +
472
430
  # wl-copy/xclip/xsel 兜底)、滚轮滚动、双击选词/三击选行。出厂默认开启,
@@ -479,10 +437,15 @@
479
437
  terminalImages: true
480
438
  # diffLayout: auto
481
439
  # mermaidDiagrams: true
440
+ # 任务完成通知:off / unfocused(默认)/ always;方式:auto(默认)/ osc9 / bel。
441
+ # taskNotifications: unfocused
442
+ # notificationMethod: auto
482
443
  # 回复中 LaTeX 公式的显示方式:auto(默认,目前为 Unicode)/ image(支持图形的终端里块级公式显示为图片)/ unicode / source(保留源码)。/settings 可实时改。
483
444
  # mathRendering: auto
484
445
  # 每个请求实际生效的推理强度,按当前路由的 adapter 档位校验
485
446
  #(deepseek: off/low/high/max);非法值回落 adapter 默认。
447
+ # 这是部署默认值:上一次 /effort 的持久化选择(~/.dsh-tui/effort.json)
448
+ # 优先于它,它只决定"还没有选择过"的会话。
486
449
  effort: max
487
450
  # Shift+Tab session-mode cycle (array order IS the cycle order;
488
451
  # absent → the built-in default/plan/full trio below). Each entry
@@ -503,9 +466,10 @@
503
466
  # plan: false
504
467
  # sandbox: danger-full-access
505
468
  # approval: never
506
- # Static preset choice (DSH_TUI_PRESET overrides): wins over the
507
- # persisted `/preset` preference (~/.dsh-tui/agent-preset.json), which
508
- # wins over the roster default (standard).
469
+ # Deployment default for the Agent preset: the persisted `/preset`
470
+ # preference (~/.dsh-tui/agent-preset.json) outranks it, and
471
+ # DSH_TUI_PRESET (this run's explicit instruction) outranks both; the
472
+ # roster default (standard) closes the chain.
509
473
  preset: !!js process.env.DSH_TUI_PRESET ?? undefined
510
474
  workspace: !!js process.env.DSH_TUI_WORKSPACE_TARGET ?? undefined
511
475
  sessionId: !!js process.env.DSH_TUI_RESUME_SESSION ?? undefined
package/cordis.yml CHANGED
@@ -64,12 +64,16 @@
64
64
  # 以下为 /settings 可改的显示设置;每项说明与默认值见应用内 /settings 屏。
65
65
  terminalImages: true
66
66
  # mermaidDiagrams: true
67
+ # 任务完成通知:off / unfocused(默认)/ always;方式:auto(默认)/ osc9 / bel。
68
+ # taskNotifications: unfocused
69
+ # notificationMethod: auto
67
70
  # 回复中 LaTeX 公式的显示方式:auto(默认,目前为 Unicode)/ image(支持图形的终端里块级公式显示为图片)/ unicode / source(保留源码)。/settings 可实时改。
68
71
  # mathRendering: auto
69
72
  # Reasoning effort applied to every request, validated against the live
70
73
  # route's adapter levels. An unlisted level falls back to the adapter
71
- # default; this wins over the persisted /effort choice and seeds the
72
- # startup header/statusline.
74
+ # default. This is the deployment DEFAULT for sessions that carry no
75
+ # choice of their own: the persisted /effort pick (last session's level)
76
+ # outranks it, and it seeds the startup header/statusline.
73
77
  effort: max
74
78
  # Shift+Tab 会话模式循环(数组顺序即循环顺序;缺省为下面三档)。
75
79
  # 每档可声明 plan(计划模式开/关)、sandbox(read-only/
@@ -18,7 +18,13 @@ You need:
18
18
  entry or `/kernel`) and press Enter on the dim Claude row — the wizard
19
19
  locates the profile directory and installs the pinned SDK via pnpm; the row
20
20
  lights up when it finishes (standalone builds and profile-less launches get
21
- manual instructions). The manual equivalent, run once in the dsh-tui profile
21
+ manual instructions). Before installing, the wizard pins the profile's pnpm
22
+ store to a stable path (storeDir: ../../.pnpm-store, written into
23
+ pnpm-workspace.yaml), so store drift caused by environment overrides (a
24
+ sandbox or relay that redirected XDG_DATA_HOME, and the like) cannot recur;
25
+ if the drift predates the install, the installer rebuilds the dependencies
26
+ automatically and retries — no manual cleanup needed. The manual equivalent,
27
+ run once in the dsh-tui profile
22
28
  directory (`~/.dsh/profiles/dsh-tui`, or `$DSH_HOME/profiles/dsh-tui` when
23
29
  `DSH_HOME` is set):
24
30
 
@@ -27,9 +33,16 @@ You need:
27
33
  ```
28
34
 
29
35
  - A Claude credential; see "Signing in" below.
30
- - The `claude` command is optional: a working `claude` on `PATH` is used (same
31
- version and session store as the CLI you already use), otherwise the SDK's
32
- bundled binary.
36
+ - The `claude` command is optional: dsh-TUI probes an **explicitly specified
37
+ executable path** (an environment variable, used as set, with no version check;
38
+ the variable name is in [Agent backends](agent-backend-design.md) (Chinese)) → a
39
+ `claude` on `PATH` → the native installer's directory under your home
40
+ (`%USERPROFILE%\.local\bin\claude.exe` on Windows, `~/.local/bin/claude` on
41
+ POSIX), and a `PATH` hit still wins; every candidate has to launch and report a
42
+ version before it is adopted (same version and session store as the CLI you
43
+ already use), and only when none does is the SDK's bundled binary used. When the
44
+ SDK is missing but a local Claude Code exists, the install wizard's confirmation
45
+ pane reports the CLI it found.
33
46
 
34
47
  To pick the backend, use any of:
35
48
 
@@ -37,8 +50,13 @@ To pick the backend, use any of:
37
50
  `/kernel` inside a session, which open the kernel picker. Picking the other
38
51
  kernel remembers the choice (`~/.dsh-tui/kernel.json`) and restarts dsh-TUI
39
52
  into a new session on it; the old session stays in `/resume`. A running turn
40
- blocks the switch. Without the SDK or a credential the picker marks Claude as
41
- *Not installed* or *Not signed in*.
53
+ blocks the switch. Without the SDK the picker marks Claude as *Not installed*;
54
+ an undetected credential does **not** block the pick — a key may perfectly well
55
+ live where detection cannot see it (the Claude settings' `env`, an
56
+ `apiKeyHelper`, a relay channel). The row stays selectable (the bottom-right
57
+ plate never shows sign-in state; the picker's subtitle says *Not signed in*).
58
+ The CLI applies its own configuration after start; `/login` covers a
59
+ subscription sign-in in-session, `/channel` the relay route.
42
60
  - `dsh-tui --backend claude` (this launch only).
43
61
  - `backend: claude` in the dsh-tui config row.
44
62
 
@@ -98,7 +116,7 @@ Works, served by Claude:
98
116
  Not available (hidden from completion; typing one shows a notice and nothing is
99
117
  sent to the model): `/tree`, `/agentview`, `/bg`, `/home`, `/workspace`,
100
118
  `/preset`, `/provider`, `/balance`, `/config`, `/reload`,
101
- `/setup`, `/migrate`, `/skills`, `/plugins`, `/hooks`, `/add-dir`,
119
+ `/setup`, `/migrate`, `/skills`, `/plugin`, `/hooks`, `/add-dir`,
102
120
  `/goal` (Claude has no goal capability). Other commands the DSH composition
103
121
  registers (such as `/plan`) do not appear either.
104
122
 
@@ -151,6 +169,12 @@ a notice, so a cloned repository cannot silently switch off every check.
151
169
  conversation continues), `Ctrl+R` renames, `Ctrl+D` deletes; the open session and
152
170
  one another dsh-TUI terminal is using cannot be deleted. Pins are kept per
153
171
  backend.
172
+ Reopening or restarting first paints the last complete list while the SDK refreshes it.
173
+ First-paint snapshots are isolated by Claude configuration directory. Without a snapshot,
174
+ up to 32 recent sessions from the SDK's default project scope appear first, including
175
+ the current directory and Git worktrees in the same repository, then the complete
176
+ project and other projects. A failed all-projects read retains the project's worktree
177
+ sessions. Failed reads preserve the last complete snapshot.
154
178
  - From a shell: `dsh-tui --backend claude --resume <id>`; without an id it resumes
155
179
  the last Claude session this install used. dsh-TUI prints that command on exit.
156
180
  A session another dsh-TUI terminal has open is refused, and a `--resume` that
@@ -193,6 +217,19 @@ their prompts carried.
193
217
  ## Known limitations
194
218
 
195
219
  - One dsh-TUI process runs one backend; switching restarts through `/kernel`.
220
+ - On Claude, `dsh-tui` starts the TUI from the package's own entry and
221
+ composes only a light profile (this package plus the third-party plugins the
222
+ profile declares, without DSH's agent core): the screen appears first and sending waits until
223
+ the session has opened. Until then Enter keeps the draft and says the kernel
224
+ is still starting, and a command-line prompt is sent once the session opens;
225
+ a failed open says why (the landing page closes to show it) and `/new`
226
+ retries. Third-party
227
+ DSH/Cordis plugins (themes, panels, decision hooks) load and join once the
228
+ screen is up; a plugin that needs DSH's own services (agents, tools, the LLM
229
+ layer) does not activate on this kernel. `DSH_TUI_HOST_ENTRY=0` goes back to
230
+ starting through `dsh --profile dsh-tui`. (The DSH kernel starts from the
231
+ package's entry by default too, but composes the whole DSH profile into that
232
+ process.)
196
233
  - In a Claude session the side panel's workspace panel reports it is unsupported
197
234
  and the trajectory panel stays empty.
198
235
  - No `/add-dir`; the refusal dialog offers only *Retry* and *Cancel*; an MCP
@@ -14,7 +14,10 @@ dsh-TUI 可以把会话跑在 Claude Agent 后端上,而不是 DeepSeek Harnes
14
14
  - Claude Agent SDK。它是可选依赖,默认不装。最省事的装法:打开内核选择器(启动页
15
15
  「内核」或 `/kernel`),对未安装的 Claude 行按 Enter,按引导一键安装——dsh-TUI
16
16
  自己定位 profile 目录,用 pnpm 装锁定版本的 SDK,装完该行即变亮可选(独立构建
17
- 与无 profile 的启动给手动指引)。手动等价形式,在 dsh-tui 的 profile 目录(默认
17
+ 与无 profile 的启动给手动指引)。安装前会把 profile 的 pnpm store 钉到稳定路径
18
+ (storeDir: ../../.pnpm-store,写入 pnpm-workspace.yaml),环境变量漂移
19
+ (沙箱、中转改过的 XDG_DATA_HOME 等)导致的 store 错位不再复发;万一装的时候
20
+ 已经错位,安装器会自动重建依赖再重试,无需手动清理。手动等价形式,在 dsh-tui 的 profile 目录(默认
18
21
  `~/.dsh/profiles/dsh-tui`,设置了 `DSH_HOME` 时是 `$DSH_HOME/profiles/dsh-tui`)
19
22
  执行一次:
20
23
 
@@ -23,15 +26,22 @@ dsh-TUI 可以把会话跑在 Claude Agent 后端上,而不是 DeepSeek Harnes
23
26
  ```
24
27
 
25
28
  - 一份 Claude 凭据,见下面的「登录」。
26
- - `claude` 命令不是必需的:`PATH` 上有能运行的 `claude` 就用它(与你平时用的 CLI 同版本、
27
- 同一个会话库),否则用 SDK 自带的二进制。
29
+ - `claude` 命令不是必需的:按**显式指定的可执行路径**(环境变量,设置后原样采用,不做版本校验;
30
+ 变量名见[多后端架构](agent-backend-design.md))→ `PATH` 上的 `claude` → 用户主目录下的
31
+ `.local/bin`(Windows `%USERPROFILE%\.local\bin\claude.exe`、POSIX `~/.local/bin/claude`)
32
+ 的顺序探测,`PATH` 命中的那份仍然优先;每个候选都要能启动并报出版本才会被采用(与你平时用的
33
+ CLI 同版本、同一个会话库),全部落空才交给 SDK 自带的二进制。SDK 没装但本机已有 Claude Code
34
+ 时,安装向导的确认面板也会把发现的那个 CLI(版本与路径)报出来。
28
35
 
29
36
  选择后端,任选一种:
30
37
 
31
38
  - 启动页的「内核」入口、右下角的内核区,或在会话里输入 `/kernel`,打开内核选择器。
32
39
  选中另一个内核后 dsh-TUI 记住选择(`~/.dsh-tui/kernel.json`)并重启,在新内核里开
33
- 一个新会话;原来的会话仍可在 `/resume` 找到。回合进行中不能切换。SDK 没装或没有
34
- 凭据时,选择器会把 Claude 标为「未安装」或「未登录」。
40
+ 一个新会话;原来的会话仍可在 `/resume` 找到。回合进行中不能切换。SDK 没装时,选择器
41
+ 会把 Claude 标为「未安装」;凭据检测不出**不会**拦住选择——key 完全可以放在检测看不到
42
+ 的地方(Claude 设置的 `env`、`apiKeyHelper`、中转渠道),行仍可选(右下角铭牌不显示登录
43
+ 状态,未登录在选择器里以副标题标注)。进去后 CLI 会应用自己的配置;订阅登录在会话里
44
+ `/login`,中转渠道用 `/channel` 配。
35
45
  - `dsh-tui --backend claude`(只对这一次启动生效)。
36
46
  - 在 dsh-tui 的配置行写 `backend: claude`。
37
47
 
@@ -81,7 +91,7 @@ IDE 选区、状态栏的 git 分支、`/clear`(只清屏,Claude 保留上
81
91
 
82
92
  不可用(不出现在补全里,直接输入会提示不可用,不会发给模型):`/tree`、`/agentview`、
83
93
  `/bg`、`/home`、`/workspace`、`/preset`、`/provider`、`/balance`、`/config`、
84
- `/reload`、`/setup`、`/migrate`、`/skills`、`/plugins`、`/hooks`、
94
+ `/reload`、`/setup`、`/migrate`、`/skills`、`/plugin`、`/hooks`、
85
95
  `/add-dir`、`/goal`(Claude 没有目标能力)。DSH 组合注册的其他命令(如 `/plan`)也不会出现。
86
96
 
87
97
  启动时仍先到启动页;首启引导和工作区首页只在 DSH 下出现。带恢复目标的启动直接进入
@@ -120,6 +130,10 @@ Claude 设置 > `default`。Claude 设置里的 `defaultMode: bypassPermissions`
120
130
  dsh-TUI 创建的会话也在其中(Claude Code 自己的 `/resume` 选择器不显示它们,要用
121
131
  `claude --resume <id>` 打开)。`Enter` 恢复(先回放历史再继续),`Ctrl+R` 重命名,
122
132
  `Ctrl+D` 删除;当前会话和另一个 dsh-TUI 终端正在用的会话不能删。置顶按后端分开保存。
133
+ 再次打开或重启后先显示上次完整列表,同时仍从 SDK 刷新。首屏快照按 Claude 配置
134
+ 目录隔离;没有快照时按 SDK 默认项目范围(当前工作目录及同仓库的 Git worktree)
135
+ 先显示最近的最多 32 条,再补齐该项目及其他项目的完整列表;全部项目读取失败时
136
+ 也保留该项目的 worktree 会话。读取失败时保留上次完整快照。
123
137
  - 从 shell 恢复:`dsh-tui --backend claude --resume <id>`;不带 id 时恢复本机最近一次
124
138
  用过的 Claude 会话。退出时 dsh-TUI 会打印这条命令。另一个 dsh-TUI 终端已打开的会话会
125
139
  被拒绝;`--resume` 打不开时直接报错,不会改开新会话。状态栏的短会话 id 就是
@@ -153,6 +167,14 @@ Claude 设置 > `default`。Claude 设置里的 `defaultMode: bypassPermissions`
153
167
  ## 已知限制
154
168
 
155
169
  - 一个 dsh-TUI 进程只用一个后端,切换要经 `/kernel` 重启。
170
+ - Claude 内核下 `dsh-tui` 从本包自己的入口启动,只组合轻量 profile(本包与 profile
171
+ 声明的第三方插件,不含 DSH 的 agent 核心):界面先出现,
172
+ 会话打开后才能发送:在此之前按 Enter 草稿留在原处并提示还在启动,命令行带的首句在
173
+ 会话打开后发出;打开失败会说明原因(落地页自动收起),`/new` 重试。第三方
174
+ DSH/Cordis 插件(主题、面板、决策拦截)照常加载,在界面出现后加入;依赖 DSH 自身
175
+ 服务(agent、工具、LLM 层)的插件在这个内核下不会激活。`DSH_TUI_HOST_ENTRY=0` 回到经
176
+ `dsh --profile dsh-tui` 启动。(DSH 内核默认也从本包入口启动,但会在同一进程里组合
177
+ 完整的 DSH profile。)
156
178
  - 侧栏的工作区面板在 Claude 会话下提示不支持,轨迹面板为空。
157
179
  - 不支持 `/add-dir`;拒答对话框只有「重试」和「取消」;需要浏览器操作的 MCP 请求不会
158
180
  自动打开浏览器。
@@ -92,6 +92,21 @@ is handed to Codex unchanged. Non-first-party routes should use their own provid
92
92
  credentials or a channel key. Account status shows only credential source, subscription
93
93
  type and host, not an email address or key.
94
94
 
95
+ One bridging exception: when the active provider takes its credential from an `env_key`
96
+ (say `DEEPSEEK_API_KEY`) that the launching environment did not export but the DSH credential
97
+ store declares, the stored value is injected into the app-server child after `config/read`
98
+ (the hub is re-acquired; the key joins the hub fingerprint through `injectedEnvKeys`). Reads
99
+ take the active store first (`$DSH_HOME/.credentials.yaml`, or `~/.dsh/.credentials.yaml`
100
+ when `DSH_HOME` is unset) and then the default `~/.dsh` store, so a `DSH_HOME` override does
101
+ not orphan a key stored where both READMEs name it; writes only ever target the active home. A key
102
+ stored once in the credential store therefore works without exporting a shell variable. The
103
+ value only ever travels into the spawn pipeline, never into logs, notices or events.
104
+
105
+ When nothing can supply the key, startup is **not** blocked: Codex itself rejects every turn
106
+ of that provider, so the runtime reports the reason once as a start notice (naming the
107
+ provider and the variable, never a value) — export the key, store it, or move the provider to
108
+ a channel.
109
+
95
110
  ### The three `/login` methods
96
111
 
97
112
  | Method | Purpose and storage |
@@ -156,9 +171,11 @@ changes during a turn apply to the next one, not to reasoning already in progres
156
171
 
157
172
  - **`Shift+Tab` only toggles Plan**, returning to the previous permission preset when leaving
158
173
  it. It does not cycle into Full Access.
159
- - `/plan` enters Plan; `/plan <task>` enters it and submits the task. Choosing an explicit
160
- permission preset returns to Default collaboration. Plan does not mean all tools are
161
- forbidden: the actual security boundary remains Codex’s permission policy.
174
+ - `/plan` enters Plan; `/plan <task>` enters it and submits the task; `/plan off` returns to
175
+ the permission preset that was active before Plan. The `on`/`off` rows in the completion
176
+ menu are dsh-TUI’s own state words, not task text. Choosing an explicit permission preset
177
+ returns to Default collaboration. Plan does not mean all tools are forbidden: the actual
178
+ security boundary remains Codex’s permission policy.
162
179
  - Defaults resolve per field: an explicit dsh-TUI choice > your Codex configuration >
163
180
  `auto` when unset. An unreadable configuration is not overwritten with `auto`.
164
181
  - Completed plans offer implementation, implementation with cleared context, or staying
@@ -212,6 +229,12 @@ past tokens/cost. Fresh usage notifications update the readings.
212
229
  say the transcript is retained, not physically deleted. Current, occupied or active-worker
213
230
  threads cannot be archived. The catalog lists up to 500 recent ordinary threads, excluding
214
231
  ephemeral forks and child threads from the main list.
232
+ Reopening or restarting first paints the last complete list while the native catalog
233
+ refreshes; a cold scan shows pages as they arrive. Without a snapshot, the native state
234
+ database supplies up to 32 recent threads from the current workspace first, then the
235
+ rollout scan repairs titles and fills in that workspace followed by other workspaces;
236
+ an unavailable database falls back to scanning. First-paint snapshots are isolated by
237
+ Codex storage directory; failed or incomplete reads never replace a complete snapshot.
215
238
  - `/rename` changes the official thread title; `/color` stores a session accent, not a global theme.
216
239
  - `/fork` creates a resumable copy without switching. Double `Esc` or `/rewind` conversation
217
240
  rewind creates a copy before the selected question, returns the question to the composer
@@ -265,10 +288,14 @@ Real model vision and image generation were not tested in this round.
265
288
 
266
289
  usageLimited/budgetLimited goals show a blocked state and reason. Unsupported goal APIs
267
290
  do not expose the capability. `/btw`/`/recap` use a read-only sandbox with no approval
268
- escalation, request answer-only behavior and reject tool/approval requests. Cancellation
269
- interrupts the temporary turn and unsubscribes the fork. They consume model quota, not
270
- free local summaries. Ephemeral fork creation/non-persistence was checked offline; actual
271
- side-query model answers were not tested in this round.
291
+ escalation, request answer-only behavior and reject tool/approval requests. The fork never
292
+ carries `deferGoalContinuation` (app-servers from 0.162 reject it combined with `ephemeral`),
293
+ and when the thread has no rollout on disk yet (nothing persisted, e.g. a brand-new session)
294
+ the side call falls back to a fresh ephemeral `thread/start` — the conversation is empty in
295
+ exactly that state, so no context is lost. Cancellation interrupts the temporary turn and
296
+ unsubscribes the fork. They consume model quota, not free local summaries. Ephemeral fork
297
+ creation/non-persistence was checked offline; actual side-query model answers were not
298
+ tested in this round.
272
299
 
273
300
  ## Limitations and troubleshooting
274
301
 
@@ -75,6 +75,15 @@ thread 时,恢复保留原来的错误,不会启动后台服务或另开新
75
75
  路由应使用自己的 provider 凭据或渠道 key。读取账户状态只显示凭据来源、订阅类型
76
76
  与主机,不显示邮箱或 key。
77
77
 
78
+ 一个桥接例外:当前 provider 用 `env_key`(如 `DEEPSEEK_API_KEY`)取凭据、启动环境没导出、
79
+ 而 DSH 凭据库声明了该 ref 时,`config/read` 之后把库里的值注入 app-server 子进程(重取 hub,
80
+ key 记入 `injectedEnvKeys` 参与指纹)。读取先看活动 home 的库,再回退默认 `~/.dsh` 的库,
81
+ 所以 `DSH_HOME` 覆盖不会让写在文档位置的 key 失联;写入只进活动 home。key 只走 spawn 管道,
82
+ 不进日志、提示或事件。
83
+
84
+ 两边都拿不到时不拦启动:Codex 自己会拒绝该 provider 的每个回合,运行时只在启动时报一次
85
+ 原因(点名 provider 与变量名,不含值)——导出该变量、写入凭据库,或把 provider 换成渠道。
86
+
78
87
  ### `/login` 的三种方式
79
88
 
80
89
  | 方式 | 用途与存储 |
@@ -130,8 +139,10 @@ Chat Completions 端点当作 Responses 使用。通过 `/channel` 选择/新建
130
139
  | Plan(`plan`) | 规划协作模式;保留已有权限档,不以 Plan 替代沙箱 |
131
140
 
132
141
  - **`Shift+Tab` 只开/关 Plan**,退出回到进入前的权限档,不循环到 Full Access。
133
- - `/plan` 切到 Plan;`/plan <任务>` 切换后立刻提交任务。选择一个具体权限档会回到
134
- Default 协作模式。Plan 不等于“所有工具都被禁止”,安全边界仍由 Codex 权限决定。
142
+ - `/plan` 切到 Plan;`/plan <任务>` 切换后立刻提交任务;`/plan off` 退回进入 Plan 前的
143
+ 权限档。补全菜单里的 `on`/`off` 是 dsh-TUI 自己的状态词,不是任务文本。选择一个具体
144
+ 权限档会回到 Default 协作模式。Plan 不等于“所有工具都被禁止”,安全边界仍由 Codex
145
+ 权限决定。
135
146
  - 默认来源按字段为:dsh-TUI 中明确选过的值 > 用户 Codex 配置 > 未设置时的
136
147
  `auto`。读取配置失败时不拿 `auto` 覆盖未知配置。
137
148
  - 计划完成后会出现实施确认:实施、清上下文后实施、留在规划/反馈继续。清上下文
@@ -181,6 +192,10 @@ used = max(0, T - 12000)
181
192
  `Ctrl+R` 改名、`Ctrl+D` **归档**;确认和完成提示都说明记录保留,不物理删除。
182
193
  当前使用中、其他终端占用或内部 worker 活动的 thread 不能归档。目录最多列出
183
194
  最近 500 条普通 thread,临时 fork 与子 thread 不混进主列表。
195
+ 再次打开或重启后先显示上次完整列表,后台仍从官方目录刷新;首次读取时分页到达
196
+ 就显示。没有快照时先从官方状态数据库显示当前工作区最近的最多 32 条,再由历史
197
+ 扫描修正标题并补齐当前工作区及其他工作区;数据库不可用时照常扫描。首屏快照
198
+ 按 Codex 存储目录隔离,失败或未读完的分页不会覆盖完整快照。
184
199
  - `/rename` 改官方 thread 标题;`/color` 只保存会话强调色,不改全局主题。
185
200
  - `/fork` 创建可恢复副本,不自动切换;双击 `Esc` 或 `/rewind` 的对话回退在
186
201
  所选提问之前创建副本并继续,提问回到输入框、原 thread 保留。首条提问回退会