@deepseek-harness-tui/dsh-tui 0.14.0 → 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
@@ -8,6 +8,7 @@ export const DECISION_EVENTS: Readonly<ApiReference & {
8
8
  }>
9
9
 
10
10
  export const decisionEventsDefinition: ProtocolDefinition
11
+ export const backendDefinition: ProtocolDefinition
11
12
  export const profileDefinitions: readonly ProtocolDefinition[]
12
13
 
13
14
  export function registerProfileProtocols(catalog: ProtocolCatalog): () => void
@@ -3,6 +3,7 @@
3
3
  export { registerTuiContributionExtensions } from './tui-contributions.js'
4
4
  export * from './tui-channel.js'
5
5
  import { tuiChannelDefinition } from './tui-channel.js'
6
+ import { BACKEND } from './tui-contributions.js'
6
7
 
7
8
  export const DECISION_EVENTS = Object.freeze({
8
9
  apiVersion: 'tui.dsh/v1alpha1',
@@ -48,9 +49,22 @@ function providerDefinition(reference, label) {
48
49
 
49
50
  export const decisionEventsDefinition = providerDefinition(DECISION_EVENTS, 'DecisionEvents')
50
51
 
52
+ /**
53
+ * The `Backend` contribution coordinate as a **host-published contract** (C
54
+ * stage / W-2). The family's own declaration shape and validator live in
55
+ * `tui-contributions.js` (the manifest extension catalog); this definition is the
56
+ * other half — the coordinate a bundle names in `requires.contracts`, which the
57
+ * host descriptor advertises once its admission machine answers a real probe.
58
+ * Like DecisionEvents it carries no support spec: a backend's support is not
59
+ * feature-granular, and what a declaration may say is decided by the extension
60
+ * definition, not by this contract.
61
+ */
62
+ export const backendDefinition = providerDefinition(BACKEND, 'Backend')
63
+
51
64
  export const profileDefinitions = Object.freeze([
52
65
  decisionEventsDefinition,
53
66
  tuiChannelDefinition,
67
+ backendDefinition,
54
68
  ])
55
69
 
56
70
  export function registerProfileProtocols(catalog) {
@@ -4,6 +4,9 @@ import type { ManifestDefinitionCatalog, ManifestObjectDefinition } from '@dsh-s
4
4
  export const API_VERSION: 'tui.dsh/v1alpha1'
5
5
  export const SETTINGS_SECTION: Readonly<ApiReference & { kind: 'SettingsSection' }>
6
6
  export const SCENE: Readonly<ApiReference & { kind: 'Scene' }>
7
+ export const BACKEND: Readonly<ApiReference & { kind: 'Backend' }>
8
+ export const BACKEND_RESERVED_IDS: readonly string[]
9
+ export const BACKEND_CONFIRMATION_POLICIES: readonly ('confirm' | 'trusted-source')[]
7
10
 
8
11
  export type LocalizedText = Readonly<Record<string, string>>
9
12
  export type SettingsFieldKind = 'text' | 'number' | 'boolean' | 'select'
@@ -32,11 +35,63 @@ export interface SceneHandler<Props = unknown, Result = unknown> {
32
35
  readonly component: (props: Props) => Result
33
36
  }
34
37
 
38
+ /**
39
+ * The install recipe the host's wizard would run: `executor` names one of the
40
+ * host's executors, `specifier`/`version` are what it would add. An executor this
41
+ * host does not implement means "no install surface", never a refused
42
+ * declaration. Absent = nothing to install (the user's own binary is the
43
+ * dependency).
44
+ */
45
+ export interface BackendInstallRecipe {
46
+ readonly executor: string
47
+ readonly specifier: string
48
+ readonly version: string
49
+ }
50
+
51
+ /**
52
+ * One backend's public declaration.
53
+ *
54
+ * Plain `string`, literal label text and plain arrays only, on purpose (roadmap
55
+ * §6 item 10): this value arrives from JSON/YAML, across versions, where a
56
+ * compile-time brand protects nothing. Discriminated unions and brands stay
57
+ * inside the host package.
58
+ */
59
+ export interface BackendSpec {
60
+ readonly id: string
61
+ /** Literal only — a host i18n key is refused (D2). */
62
+ readonly label: { readonly text: string }
63
+ readonly shortLabel: string
64
+ readonly product?: string
65
+ readonly capabilities: readonly string[]
66
+ readonly grants: readonly string[]
67
+ readonly install?: BackendInstallRecipe
68
+ /** Module export closing this backend's process-wide resource pool. See the
69
+ * definition body: session-scoped resources belong to `session.dispose()`. */
70
+ readonly unloadExport?: string
71
+ /** The confirmation this contribution requests; absent means the default
72
+ * `confirm`. `trusted-source` asks for the host's own source judgment and is
73
+ * honored only when that judgment holds — it never exempts by itself. */
74
+ readonly confirmation?: { readonly policy: 'confirm' | 'trusted-source' }
75
+ }
76
+
77
+ /** The handler a contribution binds at registration (the runtime `AgentBackend`). */
78
+ export interface BackendHandler {
79
+ readonly id: string
80
+ readonly descriptor?: object
81
+ detect(...args: unknown[]): Promise<unknown>
82
+ open(...args: unknown[]): Promise<unknown>
83
+ readonly catalog?: object
84
+ readonly launch?: object
85
+ }
86
+
35
87
  export const settingsSectionExtensionDefinition: ManifestObjectDefinition
36
88
  export const sceneExtensionDefinition: ManifestObjectDefinition
89
+ export const backendExtensionDefinition: ManifestObjectDefinition
37
90
  export const contributionExtensionDefinitions: readonly ManifestObjectDefinition[]
38
91
  export function validateSettingsSectionSpec(value: unknown): Readonly<SettingsSectionSpec>
39
92
  export function validateSceneSpec(value: unknown): Readonly<SceneSpec>
93
+ export function validateBackendSpec(value: unknown): Readonly<BackendSpec>
40
94
  export function registerTuiContributionExtensions(catalog: ManifestDefinitionCatalog): () => void
41
95
  export function assertSettingsSectionHandler(value: unknown): asserts value is SettingsSectionHandler
42
96
  export function assertSceneHandler(value: unknown): asserts value is SceneHandler
97
+ export function assertBackendHandler(value: unknown): asserts value is BackendHandler
@@ -12,6 +12,44 @@ export const SCENE = Object.freeze({
12
12
  kind: 'Scene',
13
13
  })
14
14
 
15
+ export const BACKEND = Object.freeze({
16
+ apiVersion: API_VERSION,
17
+ kind: 'Backend',
18
+ })
19
+
20
+ /**
21
+ * Ids the host owns. A **contribution** may not wear one: `dsh` serializes
22
+ * session refs without a prefix, and the bundled backends' rows are the host's own
23
+ * vocabulary — a plugin claiming either would render as first-party. The host's
24
+ * own seed legitimately carries them, so this is deliberately **not** a shape rule
25
+ * (one declaration shape is valid for the seed and invalid for a bundle): the host
26
+ * refuses a contribution whose `id` is in this set at admission, with
27
+ * `BACKEND_ID_RESERVED`. Mirrored by the host registry (`BUILTIN_BACKEND_IDS`); the
28
+ * two lists are compared bidirectionally by
29
+ * `scripts/verify-backend-contribution.ts`.
30
+ */
31
+ export const BACKEND_RESERVED_IDS = Object.freeze(['dsh', 'claude', 'codex'])
32
+
33
+ /**
34
+ * The confirmation policies this host implements (roadmap §6 item 5 ②).
35
+ *
36
+ * A contribution **requests** a policy; the host decides. `confirm` (the default
37
+ * when the field is absent) always asks the user. `trusted-source` asks for the
38
+ * host's trusted-source path: the host applies *its own* judgment of where the
39
+ * package came from — a curated, offline-readable list of first-party packages,
40
+ * cross-checked against provenance when the registry offers it — and **falls back
41
+ * to `confirm` whenever that judgment does not hold**. A declaration therefore
42
+ * never exempts itself: wearing this value is a request, not a grant, and any
43
+ * mismatch (not on the list, publisher disagrees, provenance disagrees) is
44
+ * fail-closed. Exempting an entry from the interactive confirmation never exempts
45
+ * it from the effect ledger or from being listed.
46
+ *
47
+ * An unknown value is refused: a contribution may never exempt itself from a
48
+ * confirmation this host does not implement. The vocabulary only grows — a later
49
+ * decision adds a value rather than widening the field (additive, not breaking).
50
+ */
51
+ export const BACKEND_CONFIRMATION_POLICIES = Object.freeze(['confirm', 'trusted-source'])
52
+
15
53
  export const settingsSectionExtensionDefinition = Object.freeze({
16
54
  ...SETTINGS_SECTION,
17
55
  validateMetadata(metadata) {
@@ -52,9 +90,85 @@ export function validateSceneSpec(value) {
52
90
  })
53
91
  }
54
92
 
93
+ /**
94
+ * One backend's public declaration (`tui.dsh/v1alpha1#Backend`).
95
+ *
96
+ * The body is **shape + honesty**, never authority: an in-process backend runs
97
+ * with this host's own privileges (`securityBoundary: false` in the contract
98
+ * profile), so nothing here is enforced against a hostile plugin — what it buys
99
+ * is that the host can state what a backend claims *before* it runs, and that a
100
+ * claim the host cannot honor (a reserved id, a host label key, a native channel,
101
+ * a self-granted confirmation exemption) is refused at admission rather than
102
+ * discovered later.
103
+ *
104
+ * Deliberately absent: `inTree` (a host fact, not a contribution one),
105
+ * `alwaysAvailable`, `nativeKey` (refused outright — a native channel is derived
106
+ * from an in-tree manifest, never declared) and `backendExport` (the build-time
107
+ * index resolves an export name from a module namespace; a contribution hands
108
+ * over its handler object at registration instead).
109
+ */
110
+ export const backendExtensionDefinition = Object.freeze({
111
+ ...BACKEND,
112
+ validateMetadata(metadata) {
113
+ contributionName(metadata?.name, 'Backend metadata.name')
114
+ },
115
+ validateSpec: validateBackendSpec,
116
+ })
117
+
118
+ export function validateBackendSpec(value) {
119
+ const spec = exactRecord(value, [
120
+ 'id', 'label', 'shortLabel', 'product', 'capabilities', 'grants', 'install', 'unloadExport', 'confirmation',
121
+ ], 'Backend content')
122
+ if (typeof spec.id !== 'string' || !/^[a-z0-9][a-z0-9-]{0,31}$/u.test(spec.id)) {
123
+ throw new TypeError('Backend content.id is invalid (lowercase letters, digits and dashes, at most 32 characters)')
124
+ }
125
+ // Literal text only: a host i18n key here would let a contribution paint
126
+ // itself with the host's own vocabulary (D2). The host expands its in-tree
127
+ // `{ kind: 'key' }` labels into literals before projecting them here.
128
+ const label = exactRecord(spec.label, ['text'], 'Backend content.label')
129
+ nonEmpty(label.text, 'Backend content.label.text')
130
+ nonEmpty(spec.shortLabel, 'Backend content.shortLabel')
131
+ if (spec.product !== undefined) nonEmpty(spec.product, 'Backend content.product')
132
+ stringArray(spec.capabilities, 'Backend content.capabilities')
133
+ stringArray(spec.grants, 'Backend content.grants')
134
+ if (spec.install !== undefined) {
135
+ const install = exactRecord(spec.install, ['executor', 'specifier', 'version'], 'Backend content.install')
136
+ for (const field of ['executor', 'specifier', 'version']) {
137
+ nonEmpty(install[field], `Backend content.install.${field}`)
138
+ }
139
+ }
140
+ if (spec.unloadExport !== undefined) nonEmpty(spec.unloadExport, 'Backend content.unloadExport')
141
+ let confirmation
142
+ if (spec.confirmation !== undefined) {
143
+ const declared = exactRecord(spec.confirmation, ['policy'], 'Backend content.confirmation')
144
+ if (!BACKEND_CONFIRMATION_POLICIES.includes(declared.policy)) {
145
+ throw new TypeError('Backend content.confirmation.policy is not a policy this host implements')
146
+ }
147
+ confirmation = Object.freeze({ policy: declared.policy })
148
+ }
149
+ return Object.freeze({
150
+ id: spec.id,
151
+ label: Object.freeze({ text: label.text }),
152
+ shortLabel: spec.shortLabel,
153
+ ...(spec.product === undefined ? {} : { product: spec.product }),
154
+ capabilities: Object.freeze([...spec.capabilities]),
155
+ grants: Object.freeze([...spec.grants]),
156
+ ...(spec.install === undefined ? {} : {
157
+ install: Object.freeze({
158
+ executor: spec.install.executor,
159
+ specifier: spec.install.specifier,
160
+ version: spec.install.version,
161
+ }),
162
+ }),
163
+ ...(spec.unloadExport === undefined ? {} : { unloadExport: spec.unloadExport }),
164
+ ...(confirmation === undefined ? {} : { confirmation }),
165
+ })
166
+ }
167
+
55
168
  export const contributionExtensionDefinitions = Object.freeze([
56
169
  settingsSectionExtensionDefinition,
57
170
  sceneExtensionDefinition,
171
+ backendExtensionDefinition,
58
172
  ])
59
173
 
60
174
  export function registerTuiContributionExtensions(catalog) {
@@ -71,6 +185,24 @@ export function assertSceneHandler(value) {
71
185
  if (typeof handler.component !== 'function') throw new TypeError('Scene handler.component must be a function')
72
186
  }
73
187
 
188
+ /**
189
+ * The handler a contribution binds at registration — the runtime form of
190
+ * `AgentBackend`, asserted at the same boundary `assertSceneHandler` guards: the
191
+ * declaration above is validated as data, this is the object the host is about to
192
+ * call. `catalog`, `launch` and `descriptor` are objects when present, never
193
+ * silently ignored.
194
+ */
195
+ export function assertBackendHandler(value) {
196
+ const handler = runtimeObject(value, 'Backend handler')
197
+ nonEmpty(handler.id, 'Backend handler.id')
198
+ for (const method of ['detect', 'open']) {
199
+ if (typeof handler[method] !== 'function') throw new TypeError(`Backend handler.${method} must be a function`)
200
+ }
201
+ for (const member of ['descriptor', 'catalog', 'launch']) {
202
+ if (handler[member] !== undefined) runtimeObject(handler[member], `Backend handler.${member}`)
203
+ }
204
+ }
205
+
74
206
  function validateSettingsField(value, index) {
75
207
  const label = `SettingsSection spec.fields[${index}]`
76
208
  const field = exactRecord(value, [
@@ -129,6 +261,15 @@ function nonEmpty(value, label) {
129
261
  if (typeof value !== 'string' || value.trim() === '') throw new TypeError(`${label} must be a non-empty string`)
130
262
  }
131
263
 
264
+ /** Names a backend declares. The *vocabulary* is the host's (admission maps an
265
+ * unknown name to a pending item, never to a rejection); the shape is not. */
266
+ function stringArray(value, label) {
267
+ if (!Array.isArray(value)) throw new TypeError(`${label} must be an array`)
268
+ for (const entry of value) {
269
+ if (typeof entry !== 'string' || entry.trim() === '') throw new TypeError(`${label} must contain non-empty strings`)
270
+ }
271
+ }
272
+
132
273
  function localized(value, label) {
133
274
  if (value === undefined) return
134
275
  const record = exactRecord(value, Object.keys(value), label)
@@ -0,0 +1,13 @@
1
+ {
2
+ "name":"tui.backend","version":"v1alpha1","kind":"extension",
3
+ "coordinates":{"apiVersion":"tui.dsh/v1alpha1","kind":"Backend"},
4
+ "caller":"trusted in-process dsh-TUI backend registry",
5
+ "permissions":[],
6
+ "operations":["declare","detect","open","catalog","resume"],
7
+ "errors":["BACKEND_ID_RESERVED","PERMISSION_NOT_GRANTED"],
8
+ "concurrency":"one backend owns one process-wide resource pool; session-scoped resources belong to session.dispose()",
9
+ "timeout":"detection and install preflight are local; session operations retain their own deadlines",
10
+ "cleanup":"the registry closes only the entries it actually loaded (unloadExport); a session's resources are closed by its own dispose()",
11
+ "privacyClass":"sensitive",
12
+ "securityBoundary":false
13
+ }
@@ -141,6 +141,18 @@
141
141
  "profile": "registry/contracts/scene-v1alpha1.json",
142
142
  "profileHash": "sha256:69ce3ae26d60dea2ed170376db8a1fb5860c94bd192c62681423c1d848ec2b26",
143
143
  "permissions": []
144
+ },
145
+ {
146
+ "name": "tui.backend",
147
+ "authority": "dsh-tui",
148
+ "coordinates": {
149
+ "apiVersion": "tui.dsh/v1alpha1",
150
+ "kind": "Backend"
151
+ },
152
+ "kind": "extension",
153
+ "profile": "registry/contracts/backend-v1alpha1.json",
154
+ "profileHash": "sha256:14d0923ccead5420219da39767050cdb46aa8e29f2b168d8d1e9b6cb1b3d4547",
155
+ "permissions": []
144
156
  }
145
157
  ],
146
158
  "facetApiVersions": [
@@ -1,15 +0,0 @@
1
- import type { SdkInstallTarget, SdkInstaller } from '../../agent/backend.js';
2
- /** What `pnpm add` installs, at the validated pin (see contract.ts). */
3
- export declare const CLAUDE_SDK_SPECIFIER = "@anthropic-ai/claude-agent-sdk@0.3.287";
4
- export type { SdkInstallTarget, SdkInstallResult, SdkInstaller } from '../../agent/backend.js';
5
- /** Resolve the install target for the CURRENT launch (never throws). The
6
- * non-profile kinds carry the reason for the wizard's manual-instructions
7
- * panel: standalone builds swap a whole binary (update.ts owns that path),
8
- * and source checkouts / `--config` launches have no profile to add into. */
9
- export declare function resolveSdkInstallTarget(argv?: readonly string[]): SdkInstallTarget;
10
- /** Whether `pnpm` runs at all (the wizard's preflight). */
11
- export declare function checkPnpmAvailable(): Promise<boolean>;
12
- /** Install the pinned SDK into the profile root. Resolve target failures are
13
- * the caller's business (the wizard shows manual instructions for them). */
14
- export declare function startClaudeSdkInstall(dir: string): SdkInstaller;
15
- //# sourceMappingURL=install.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/install.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAK9F,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,2CAA4D,CAAA;AAE7F,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE9F;;;8EAG8E;AAC9E,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,gBAAgB,CAIhG;AA2CD,2DAA2D;AAC3D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAI3D;AAED;6EAC6E;AAC7E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAU/D"}
@@ -1,91 +0,0 @@
1
- /**
2
- * One-shot installer for the optional `@anthropic-ai/claude-agent-sdk` peer.
3
- *
4
- * Runs `pnpm add <sdk>@<pin>` in the DSH profile root — the install dir whose
5
- * `node_modules` the backend's dynamic import resolves through. Everything the
6
- * child prints is piped and captured, never inherited: an inherit-stdio child
7
- * may only run after the Ink frame is unmounted (the update.ts contract); a
8
- * captured one may run under the live TUI, which is what the kernel-picker
9
- * install wizard needs. Only the tail of the captured output is surfaced, on
10
- * failure.
11
- *
12
- * The pinned SDK version is old enough that pnpm's minimumReleaseAge gate
13
- * never blocks it; if the pin ever moves to a version published within the
14
- * gate's window, the install needs a `minimumReleaseAgeExclude` entry
15
- * (generalize `ensureProfileReleaseAgeExclude` in update.ts then).
16
- */
17
- import { spawn } from 'node:child_process';
18
- import { homedir } from 'node:os';
19
- import { dirname } from 'node:path';
20
- import stripAnsi from 'strip-ansi';
21
- import { isStandaloneRuntime, profileWorkspaceYamlPath, resolveDshProfileName } from '../../update.js';
22
- import { shellQuote } from '../../utils/shellQuote.js';
23
- import { VALIDATED_SDK_VERSION } from './contract.js';
24
- /** What `pnpm add` installs, at the validated pin (see contract.ts). */
25
- export const CLAUDE_SDK_SPECIFIER = `@anthropic-ai/claude-agent-sdk@${VALIDATED_SDK_VERSION}`;
26
- /** Resolve the install target for the CURRENT launch (never throws). The
27
- * non-profile kinds carry the reason for the wizard's manual-instructions
28
- * panel: standalone builds swap a whole binary (update.ts owns that path),
29
- * and source checkouts / `--config` launches have no profile to add into. */
30
- export function resolveSdkInstallTarget(argv = process.argv) {
31
- if (isStandaloneRuntime())
32
- return { kind: 'standalone' };
33
- const profile = resolveDshProfileName(argv);
34
- return profile === undefined ? { kind: 'no-profile' } : { kind: 'profile', dir: dirname(profileWorkspaceYamlPath(profile)) };
35
- }
36
- /** Run pnpm with captured output. On Windows the arguments fold into the
37
- * command string and go through the shell — pnpm is a `.cmd` shim there and
38
- * Node ≥22 refuses to spawn `.cmd` directly (DEP0190) — the same escape
39
- * update.ts's runProcess uses. */
40
- function runPnpm(args, cwd) {
41
- const windows = process.platform === 'win32';
42
- const [command, spawnArgs] = windows
43
- ? [`pnpm ${shellQuote(args).join(' ')}`, []]
44
- : ['pnpm', [...args]];
45
- const child = spawn(command, spawnArgs, {
46
- cwd,
47
- shell: windows,
48
- stdio: ['ignore', 'pipe', 'pipe'],
49
- windowsHide: true,
50
- });
51
- const chunks = [];
52
- for (const stream of [child.stdout, child.stderr]) {
53
- if (stream === null)
54
- continue;
55
- stream.setEncoding('utf8');
56
- stream.on('data', (chunk) => { chunks.push(chunk); });
57
- }
58
- const promise = new Promise(resolve => {
59
- const finish = (code, spawnError) => {
60
- // pnpm progress frames redraw with \r — split on all line breaks, strip
61
- // the ANSI layer, drop the empty frames the redraws leave behind.
62
- const lines = chunks.join('').split(/\r\n|\r|\n/u).map(line => stripAnsi(line).trim()).filter(line => line !== '');
63
- resolve({ code, spawnError, lines });
64
- };
65
- child.once('error', error => finish(undefined, error.code));
66
- child.once('close', code => finish(code ?? undefined));
67
- });
68
- return { promise, cancel: () => { child.kill(); } };
69
- }
70
- /** Whether `pnpm` runs at all (the wizard's preflight). */
71
- export async function checkPnpmAvailable() {
72
- const { promise } = runPnpm(['--version'], homedir());
73
- const run = await promise;
74
- return run.code === 0 && run.spawnError === undefined;
75
- }
76
- /** Install the pinned SDK into the profile root. Resolve target failures are
77
- * the caller's business (the wizard shows manual instructions for them). */
78
- export function startClaudeSdkInstall(dir) {
79
- let cancelled = false;
80
- const { promise, cancel } = runPnpm(['add', CLAUDE_SDK_SPECIFIER], dir);
81
- const result = promise.then(run => {
82
- if (cancelled)
83
- return { kind: 'cancelled' };
84
- if (run.code === 0)
85
- return { kind: 'ok' };
86
- if (run.spawnError === 'ENOENT')
87
- return { kind: 'pnpm-missing' };
88
- return { kind: 'failed', exitCode: run.code ?? 1, tail: run.lines.slice(-10) };
89
- });
90
- return { result, cancel: () => { cancelled = true; cancel(); } };
91
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"elicitation.d.ts","sourceRoot":"","sources":["../../../src/channel/elicitation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,oDAAoD;AACpD,KAAK,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAO5C,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAA;AAEnE,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACtF,kEAAkE;IAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAChF,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;CACrB;AAgCD,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,CAyBvD;AAmBD,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0EhI;AA2BD,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU,QAAO,UAAoF,CAAA;AAElH,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,UAAyB,GAAG,gBAAgB,CA6BxK;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,MAAM,GAAE,UAAyB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA4BnO;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,kCAAkC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,iDAAiD;AACjD,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;CAAE,GACzF;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE;AAC9B,+EAA+E;GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAA;AAE/E,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC/C,mDAAmD;IACnD,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,CAAA;CACtD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAwCtF;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC/C,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAA;CAC5C;AAED,sEAAsE;AACtE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,GAAG,SAAS,CAgBtG;AAED,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB;IAC7B,yDAAyD;sBACvC,MAAM,OAAO,MAAM,KAAG,MAAM;IAC9C,mDAAmD;0BAC7B,MAAM,KAAG,MAAM;IACrC,wCAAwC;yBACnB,MAAM,KAAG,MAAM;IACpC,kDAAkD;0BAC5B,MAAM,QAAQ,MAAM,KAAG,MAAM;CACpD,CAAA"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Lineage decision consulted by `/model` only.
3
- *
4
- * `/rewind` and the `/tree` branch also re-create the live session as a child,
5
- * but they always record `parentSession` and do not call this helper. A blank
6
- * log cannot reach them (`boundary < 0`). This module is not their gate.
7
- *
8
- * The decision is load-bearing beyond grouping. Upstream's automatic session
9
- * title only ever runs on a session WITHOUT a parent: `dsh-session-title`
10
- * schedules its provider on the first human message under
11
- * `session.header.parentSession === undefined`, and a session that already has
12
- * one is never offered a generated title again — a fork keeps the title it
13
- * inherited, and only an explicit `ctx.sessionTitle.refresh()` retries, which
14
- * no TUI surface calls. A route switch on a session nobody has typed into
15
- * would therefore cost that user the title of their first real prompt, leaving
16
- * the deterministic fallback instead (a mid-word truncation of the prompt at
17
- * `fallbackMaxBytes`).
18
- *
19
- * A session with no human message has no conversation for the lineage to
20
- * describe, so its replacement stands as its own root — the same independent-
21
- * conversation choice `/fork` already makes (`session-fork.ts`), for the same
22
- * reason. The seeded prefix is unaffected either way: the child still inherits
23
- * the source's session scaffolding verbatim.
24
- *
25
- * @module
26
- */
27
- import type { SessionEvent } from '@deepseek-ai/dsh-session';
28
- /**
29
- * Whether a re-created child must record the session it replaces as its parent.
30
- *
31
- * A `user/message` whose `source` is the person at the keyboard is a human turn
32
- * whether or not it carries text (an image-only prompt is still a prompt), so
33
- * its session is a conversation the lineage must describe. A user-role message
34
- * from any other producer — a plugin injection, an instruction snapshot, a
35
- * skill catalogue — is not: the child stays in the same family rather than
36
- * being promoted to a root on a technicality.
37
- *
38
- * @param seed - the exact events the child inherits.
39
- * @returns whether the child records `parentSession`.
40
- */
41
- export declare function childRecordsLineage(seed: readonly SessionEvent[]): boolean;
42
- //# sourceMappingURL=session-lineage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-lineage.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/session-lineage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAE1E"}
@@ -1,51 +0,0 @@
1
- /**
2
- * Lineage decision consulted by `/model` only.
3
- *
4
- * `/rewind` and the `/tree` branch also re-create the live session as a child,
5
- * but they always record `parentSession` and do not call this helper. A blank
6
- * log cannot reach them (`boundary < 0`). This module is not their gate.
7
- *
8
- * The decision is load-bearing beyond grouping. Upstream's automatic session
9
- * title only ever runs on a session WITHOUT a parent: `dsh-session-title`
10
- * schedules its provider on the first human message under
11
- * `session.header.parentSession === undefined`, and a session that already has
12
- * one is never offered a generated title again — a fork keeps the title it
13
- * inherited, and only an explicit `ctx.sessionTitle.refresh()` retries, which
14
- * no TUI surface calls. A route switch on a session nobody has typed into
15
- * would therefore cost that user the title of their first real prompt, leaving
16
- * the deterministic fallback instead (a mid-word truncation of the prompt at
17
- * `fallbackMaxBytes`).
18
- *
19
- * A session with no human message has no conversation for the lineage to
20
- * describe, so its replacement stands as its own root — the same independent-
21
- * conversation choice `/fork` already makes (`session-fork.ts`), for the same
22
- * reason. The seeded prefix is unaffected either way: the child still inherits
23
- * the source's session scaffolding verbatim.
24
- *
25
- * @module
26
- */
27
- /**
28
- * Whether a re-created child must record the session it replaces as its parent.
29
- *
30
- * A `user/message` whose `source` is the person at the keyboard is a human turn
31
- * whether or not it carries text (an image-only prompt is still a prompt), so
32
- * its session is a conversation the lineage must describe. A user-role message
33
- * from any other producer — a plugin injection, an instruction snapshot, a
34
- * skill catalogue — is not: the child stays in the same family rather than
35
- * being promoted to a root on a technicality.
36
- *
37
- * @param seed - the exact events the child inherits.
38
- * @returns whether the child records `parentSession`.
39
- */
40
- export function childRecordsLineage(seed) {
41
- return seed.some(isHumanMessage);
42
- }
43
- /** One message the person at the keyboard sent, by `source.kind` alone. */
44
- function isHumanMessage(event) {
45
- if (event.type !== 'user/message')
46
- return false;
47
- // Durable data: the source is a merge-extensible sum type whose members are
48
- // declared by their producers, so narrow instead of trusting the union.
49
- const source = event.data.source;
50
- return source?.kind === 'user';
51
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/utils/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEhD,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE5D;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IACvC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAgBjD"}