@deepseek-harness-tui/dsh-tui 0.13.0 → 0.14.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 (1023) hide show
  1. package/README.md +85 -5
  2. package/assets/claude-girl/claude-girl-happy.png +0 -0
  3. package/assets/claude-girl/claude-girl.png +0 -0
  4. package/assets/codex-girl/codex-girl-happy.png +0 -0
  5. package/assets/codex-girl/codex-girl.png +0 -0
  6. package/bin/dsh-tui.js +104 -18
  7. package/cordis.patch.yml +2 -0
  8. package/cordis.yml +2 -0
  9. package/guide/dsh-tui-guide/SKILL.md +4 -2
  10. package/guide/dsh-tui-guide/claude-backend.en.md +203 -0
  11. package/guide/dsh-tui-guide/claude-backend.md +161 -0
  12. package/guide/dsh-tui-guide/codex-backend.en.md +297 -0
  13. package/guide/dsh-tui-guide/codex-backend.md +257 -0
  14. package/guide/dsh-tui-guide/configuration.en.md +9 -2
  15. package/guide/dsh-tui-guide/configuration.md +9 -2
  16. package/guide/dsh-tui-guide/interaction.en.md +169 -27
  17. package/guide/dsh-tui-guide/interaction.md +115 -17
  18. package/guide/dsh-tui-guide/themes.en.md +24 -2
  19. package/guide/dsh-tui-guide/themes.md +21 -2
  20. package/guide/dsh-tui-guide/user-guide.en.md +38 -23
  21. package/guide/dsh-tui-guide/user-guide.md +22 -11
  22. package/guide/dsh-tui-guide/vscode.en.md +1 -0
  23. package/guide/dsh-tui-guide/vscode.md +1 -0
  24. package/lib/settings.json +139 -6
  25. package/lib/types/adapter/channel/state.d.ts.map +1 -1
  26. package/lib/types/adapter/channel/state.js +1 -0
  27. package/lib/types/adapter/channel/ui-policy.d.ts +17 -2
  28. package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
  29. package/lib/types/adapter/channel/ui-policy.js +29 -0
  30. package/lib/types/adapter/channel/ui.d.ts.map +1 -1
  31. package/lib/types/adapter/channel/ui.js +45 -5
  32. package/lib/types/adapter/ports/channel-catalog.d.ts +7 -0
  33. package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
  34. package/lib/types/adapter/ports/channel-display.d.ts +7 -1
  35. package/lib/types/adapter/ports/channel-display.d.ts.map +1 -1
  36. package/lib/types/adapter/ports/channel-session.d.ts +5 -0
  37. package/lib/types/adapter/ports/channel-session.d.ts.map +1 -1
  38. package/lib/types/adapter/ports/channel-settings.d.ts +20 -0
  39. package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
  40. package/lib/types/adapter/ports/channel-ui.d.ts +183 -6
  41. package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
  42. package/lib/types/adapter/ports/channel-view.d.ts +477 -13
  43. package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
  44. package/lib/types/agent/backend.d.ts +168 -0
  45. package/lib/types/agent/backend.d.ts.map +1 -0
  46. package/lib/types/agent/backend.js +1 -0
  47. package/lib/types/agent/capabilities.d.ts +461 -0
  48. package/lib/types/agent/capabilities.d.ts.map +1 -0
  49. package/lib/types/agent/capabilities.js +1 -0
  50. package/lib/types/agent/events.d.ts +733 -0
  51. package/lib/types/agent/events.d.ts.map +1 -0
  52. package/lib/types/agent/events.js +2 -0
  53. package/lib/types/agent/index.d.ts +8 -0
  54. package/lib/types/agent/index.d.ts.map +1 -0
  55. package/lib/types/agent/index.js +7 -0
  56. package/lib/types/agent/messages.d.ts +52 -0
  57. package/lib/types/agent/messages.d.ts.map +1 -0
  58. package/lib/types/agent/messages.js +91 -0
  59. package/lib/types/agent/presentation.d.ts +29 -0
  60. package/lib/types/agent/presentation.d.ts.map +1 -0
  61. package/lib/types/agent/presentation.js +4 -0
  62. package/lib/types/agent/refs.d.ts +30 -0
  63. package/lib/types/agent/refs.d.ts.map +1 -0
  64. package/lib/types/agent/refs.js +39 -0
  65. package/lib/types/agent/session.d.ts +78 -0
  66. package/lib/types/agent/session.d.ts.map +1 -0
  67. package/lib/types/agent/session.js +1 -0
  68. package/lib/types/backends/claude/activity.d.ts +53 -0
  69. package/lib/types/backends/claude/activity.d.ts.map +1 -0
  70. package/lib/types/backends/claude/activity.js +103 -0
  71. package/lib/types/backends/claude/auth.d.ts +245 -0
  72. package/lib/types/backends/claude/auth.d.ts.map +1 -0
  73. package/lib/types/backends/claude/auth.js +503 -0
  74. package/lib/types/backends/claude/backend.d.ts +32 -0
  75. package/lib/types/backends/claude/backend.d.ts.map +1 -0
  76. package/lib/types/backends/claude/backend.js +296 -0
  77. package/lib/types/backends/claude/catalog.d.ts +17 -0
  78. package/lib/types/backends/claude/catalog.d.ts.map +1 -0
  79. package/lib/types/backends/claude/catalog.js +94 -0
  80. package/lib/types/backends/claude/channels.d.ts +63 -0
  81. package/lib/types/backends/claude/channels.d.ts.map +1 -0
  82. package/lib/types/backends/claude/channels.js +275 -0
  83. package/lib/types/backends/claude/contract.d.ts +37 -0
  84. package/lib/types/backends/claude/contract.d.ts.map +1 -0
  85. package/lib/types/backends/claude/contract.js +46 -0
  86. package/lib/types/backends/claude/controls.d.ts +134 -0
  87. package/lib/types/backends/claude/controls.d.ts.map +1 -0
  88. package/lib/types/backends/claude/controls.js +425 -0
  89. package/lib/types/backends/claude/dialogs.d.ts +62 -0
  90. package/lib/types/backends/claude/dialogs.d.ts.map +1 -0
  91. package/lib/types/backends/claude/dialogs.js +253 -0
  92. package/lib/types/backends/claude/flag-settings.d.ts +12 -0
  93. package/lib/types/backends/claude/flag-settings.d.ts.map +1 -0
  94. package/lib/types/backends/claude/flag-settings.js +49 -0
  95. package/lib/types/backends/claude/images.d.ts +49 -0
  96. package/lib/types/backends/claude/images.d.ts.map +1 -0
  97. package/lib/types/backends/claude/images.js +94 -0
  98. package/lib/types/backends/claude/index.d.ts +5 -0
  99. package/lib/types/backends/claude/index.d.ts.map +1 -0
  100. package/lib/types/backends/claude/index.js +4 -0
  101. package/lib/types/backends/claude/install.d.ts +15 -0
  102. package/lib/types/backends/claude/install.d.ts.map +1 -0
  103. package/lib/types/backends/claude/install.js +91 -0
  104. package/lib/types/backends/claude/modelEnv.d.ts +64 -0
  105. package/lib/types/backends/claude/modelEnv.d.ts.map +1 -0
  106. package/lib/types/backends/claude/modelEnv.js +199 -0
  107. package/lib/types/backends/claude/narrow.d.ts +10 -0
  108. package/lib/types/backends/claude/narrow.d.ts.map +1 -0
  109. package/lib/types/backends/claude/narrow.js +8 -0
  110. package/lib/types/backends/claude/older-history.d.ts +16 -0
  111. package/lib/types/backends/claude/older-history.d.ts.map +1 -0
  112. package/lib/types/backends/claude/older-history.js +101 -0
  113. package/lib/types/backends/claude/options.d.ts +181 -0
  114. package/lib/types/backends/claude/options.d.ts.map +1 -0
  115. package/lib/types/backends/claude/options.js +208 -0
  116. package/lib/types/backends/claude/permissions.d.ts +83 -0
  117. package/lib/types/backends/claude/permissions.d.ts.map +1 -0
  118. package/lib/types/backends/claude/permissions.js +331 -0
  119. package/lib/types/backends/claude/prefs.d.ts +55 -0
  120. package/lib/types/backends/claude/prefs.d.ts.map +1 -0
  121. package/lib/types/backends/claude/prefs.js +150 -0
  122. package/lib/types/backends/claude/process.d.ts +19 -0
  123. package/lib/types/backends/claude/process.d.ts.map +1 -0
  124. package/lib/types/backends/claude/process.js +156 -0
  125. package/lib/types/backends/claude/replay.d.ts +129 -0
  126. package/lib/types/backends/claude/replay.d.ts.map +1 -0
  127. package/lib/types/backends/claude/replay.js +505 -0
  128. package/lib/types/backends/claude/sdk-warnings.d.ts +23 -0
  129. package/lib/types/backends/claude/sdk-warnings.d.ts.map +1 -0
  130. package/lib/types/backends/claude/sdk-warnings.js +55 -0
  131. package/lib/types/backends/claude/sdk.d.ts +12 -0
  132. package/lib/types/backends/claude/sdk.d.ts.map +1 -0
  133. package/lib/types/backends/claude/sdk.js +34 -0
  134. package/lib/types/backends/claude/send-message.d.ts +54 -0
  135. package/lib/types/backends/claude/send-message.d.ts.map +1 -0
  136. package/lib/types/backends/claude/send-message.js +65 -0
  137. package/lib/types/backends/claude/session/auth.d.ts +47 -0
  138. package/lib/types/backends/claude/session/auth.d.ts.map +1 -0
  139. package/lib/types/backends/claude/session/auth.js +226 -0
  140. package/lib/types/backends/claude/session/channels.d.ts +82 -0
  141. package/lib/types/backends/claude/session/channels.d.ts.map +1 -0
  142. package/lib/types/backends/claude/session/channels.js +45 -0
  143. package/lib/types/backends/claude/session/input.d.ts +16 -0
  144. package/lib/types/backends/claude/session/input.d.ts.map +1 -0
  145. package/lib/types/backends/claude/session/input.js +64 -0
  146. package/lib/types/backends/claude/session/lifecycle.d.ts +6 -0
  147. package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -0
  148. package/lib/types/backends/claude/session/lifecycle.js +852 -0
  149. package/lib/types/backends/claude/session/store.d.ts +17 -0
  150. package/lib/types/backends/claude/session/store.d.ts.map +1 -0
  151. package/lib/types/backends/claude/session/store.js +122 -0
  152. package/lib/types/backends/claude/session/subagents.d.ts +13 -0
  153. package/lib/types/backends/claude/session/subagents.d.ts.map +1 -0
  154. package/lib/types/backends/claude/session/subagents.js +77 -0
  155. package/lib/types/backends/claude/session/types.d.ts +89 -0
  156. package/lib/types/backends/claude/session/types.d.ts.map +1 -0
  157. package/lib/types/backends/claude/session/types.js +1 -0
  158. package/lib/types/backends/claude/session.d.ts +4 -0
  159. package/lib/types/backends/claude/session.d.ts.map +1 -0
  160. package/lib/types/backends/claude/session.js +2 -0
  161. package/lib/types/backends/claude/side-query.d.ts +34 -0
  162. package/lib/types/backends/claude/side-query.d.ts.map +1 -0
  163. package/lib/types/backends/claude/side-query.js +116 -0
  164. package/lib/types/backends/claude/task-output.d.ts +13 -0
  165. package/lib/types/backends/claude/task-output.d.ts.map +1 -0
  166. package/lib/types/backends/claude/task-output.js +101 -0
  167. package/lib/types/backends/claude/tools.d.ts +45 -0
  168. package/lib/types/backends/claude/tools.d.ts.map +1 -0
  169. package/lib/types/backends/claude/tools.js +231 -0
  170. package/lib/types/backends/claude/transcript-file.d.ts +41 -0
  171. package/lib/types/backends/claude/transcript-file.d.ts.map +1 -0
  172. package/lib/types/backends/claude/transcript-file.js +195 -0
  173. package/lib/types/backends/claude/translate/attempts.d.ts +33 -0
  174. package/lib/types/backends/claude/translate/attempts.d.ts.map +1 -0
  175. package/lib/types/backends/claude/translate/attempts.js +243 -0
  176. package/lib/types/backends/claude/translate/content.d.ts +33 -0
  177. package/lib/types/backends/claude/translate/content.d.ts.map +1 -0
  178. package/lib/types/backends/claude/translate/content.js +91 -0
  179. package/lib/types/backends/claude/translate/core.d.ts +76 -0
  180. package/lib/types/backends/claude/translate/core.d.ts.map +1 -0
  181. package/lib/types/backends/claude/translate/core.js +447 -0
  182. package/lib/types/backends/claude/translate/events.d.ts +9 -0
  183. package/lib/types/backends/claude/translate/events.d.ts.map +1 -0
  184. package/lib/types/backends/claude/translate/events.js +77 -0
  185. package/lib/types/backends/claude/translate/lanes.d.ts +31 -0
  186. package/lib/types/backends/claude/translate/lanes.d.ts.map +1 -0
  187. package/lib/types/backends/claude/translate/lanes.js +177 -0
  188. package/lib/types/backends/claude/translate/messages.d.ts +36 -0
  189. package/lib/types/backends/claude/translate/messages.d.ts.map +1 -0
  190. package/lib/types/backends/claude/translate/messages.js +202 -0
  191. package/lib/types/backends/claude/translate/system.d.ts +40 -0
  192. package/lib/types/backends/claude/translate/system.d.ts.map +1 -0
  193. package/lib/types/backends/claude/translate/system.js +399 -0
  194. package/lib/types/backends/claude/translate/tasks.d.ts +19 -0
  195. package/lib/types/backends/claude/translate/tasks.d.ts.map +1 -0
  196. package/lib/types/backends/claude/translate/tasks.js +159 -0
  197. package/lib/types/backends/claude/translate/types.d.ts +114 -0
  198. package/lib/types/backends/claude/translate/types.d.ts.map +1 -0
  199. package/lib/types/backends/claude/translate/types.js +1 -0
  200. package/lib/types/backends/claude/translate.d.ts +9 -0
  201. package/lib/types/backends/claude/translate.d.ts.map +1 -0
  202. package/lib/types/backends/claude/translate.js +6 -0
  203. package/lib/types/backends/codex/auth/external-tokens.d.ts +66 -0
  204. package/lib/types/backends/codex/auth/external-tokens.d.ts.map +1 -0
  205. package/lib/types/backends/codex/auth/external-tokens.js +325 -0
  206. package/lib/types/backends/codex/auth/route.d.ts +14 -0
  207. package/lib/types/backends/codex/auth/route.d.ts.map +1 -0
  208. package/lib/types/backends/codex/auth/route.js +52 -0
  209. package/lib/types/backends/codex/auth/status.d.ts +16 -0
  210. package/lib/types/backends/codex/auth/status.d.ts.map +1 -0
  211. package/lib/types/backends/codex/auth/status.js +115 -0
  212. package/lib/types/backends/codex/backend.d.ts +58 -0
  213. package/lib/types/backends/codex/backend.d.ts.map +1 -0
  214. package/lib/types/backends/codex/backend.js +201 -0
  215. package/lib/types/backends/codex/catalog.d.ts +17 -0
  216. package/lib/types/backends/codex/catalog.d.ts.map +1 -0
  217. package/lib/types/backends/codex/catalog.js +128 -0
  218. package/lib/types/backends/codex/channels.d.ts +59 -0
  219. package/lib/types/backends/codex/channels.d.ts.map +1 -0
  220. package/lib/types/backends/codex/channels.js +274 -0
  221. package/lib/types/backends/codex/contract.d.ts +46 -0
  222. package/lib/types/backends/codex/contract.d.ts.map +1 -0
  223. package/lib/types/backends/codex/contract.js +80 -0
  224. package/lib/types/backends/codex/detect.d.ts +14 -0
  225. package/lib/types/backends/codex/detect.d.ts.map +1 -0
  226. package/lib/types/backends/codex/detect.js +90 -0
  227. package/lib/types/backends/codex/index.d.ts +6 -0
  228. package/lib/types/backends/codex/index.d.ts.map +1 -0
  229. package/lib/types/backends/codex/index.js +5 -0
  230. package/lib/types/backends/codex/modes.d.ts +16 -0
  231. package/lib/types/backends/codex/modes.d.ts.map +1 -0
  232. package/lib/types/backends/codex/modes.js +49 -0
  233. package/lib/types/backends/codex/narrow.d.ts +20 -0
  234. package/lib/types/backends/codex/narrow.d.ts.map +1 -0
  235. package/lib/types/backends/codex/narrow.js +18 -0
  236. package/lib/types/backends/codex/prefs.d.ts +42 -0
  237. package/lib/types/backends/codex/prefs.d.ts.map +1 -0
  238. package/lib/types/backends/codex/prefs.js +124 -0
  239. package/lib/types/backends/codex/protocol/index.d.ts +149 -0
  240. package/lib/types/backends/codex/protocol/index.d.ts.map +1 -0
  241. package/lib/types/backends/codex/protocol/index.js +130 -0
  242. package/lib/types/backends/codex/rpc/binary.d.ts +35 -0
  243. package/lib/types/backends/codex/rpc/binary.d.ts.map +1 -0
  244. package/lib/types/backends/codex/rpc/binary.js +174 -0
  245. package/lib/types/backends/codex/rpc/client.d.ts +72 -0
  246. package/lib/types/backends/codex/rpc/client.d.ts.map +1 -0
  247. package/lib/types/backends/codex/rpc/client.js +214 -0
  248. package/lib/types/backends/codex/rpc/hub.d.ts +105 -0
  249. package/lib/types/backends/codex/rpc/hub.d.ts.map +1 -0
  250. package/lib/types/backends/codex/rpc/hub.js +532 -0
  251. package/lib/types/backends/codex/rpc/transport.d.ts +39 -0
  252. package/lib/types/backends/codex/rpc/transport.d.ts.map +1 -0
  253. package/lib/types/backends/codex/rpc/transport.js +212 -0
  254. package/lib/types/backends/codex/session/activity.d.ts +18 -0
  255. package/lib/types/backends/codex/session/activity.d.ts.map +1 -0
  256. package/lib/types/backends/codex/session/activity.js +108 -0
  257. package/lib/types/backends/codex/session/approvals.d.ts +39 -0
  258. package/lib/types/backends/codex/session/approvals.d.ts.map +1 -0
  259. package/lib/types/backends/codex/session/approvals.js +477 -0
  260. package/lib/types/backends/codex/session/commands.d.ts +37 -0
  261. package/lib/types/backends/codex/session/commands.d.ts.map +1 -0
  262. package/lib/types/backends/codex/session/commands.js +141 -0
  263. package/lib/types/backends/codex/session/controls.d.ts +37 -0
  264. package/lib/types/backends/codex/session/controls.d.ts.map +1 -0
  265. package/lib/types/backends/codex/session/controls.js +303 -0
  266. package/lib/types/backends/codex/session/goals.d.ts +25 -0
  267. package/lib/types/backends/codex/session/goals.d.ts.map +1 -0
  268. package/lib/types/backends/codex/session/goals.js +97 -0
  269. package/lib/types/backends/codex/session/history.d.ts +52 -0
  270. package/lib/types/backends/codex/session/history.d.ts.map +1 -0
  271. package/lib/types/backends/codex/session/history.js +196 -0
  272. package/lib/types/backends/codex/session/images.d.ts +17 -0
  273. package/lib/types/backends/codex/session/images.d.ts.map +1 -0
  274. package/lib/types/backends/codex/session/images.js +138 -0
  275. package/lib/types/backends/codex/session/input.d.ts +75 -0
  276. package/lib/types/backends/codex/session/input.d.ts.map +1 -0
  277. package/lib/types/backends/codex/session/input.js +294 -0
  278. package/lib/types/backends/codex/session/plan-review.d.ts +19 -0
  279. package/lib/types/backends/codex/session/plan-review.d.ts.map +1 -0
  280. package/lib/types/backends/codex/session/plan-review.js +48 -0
  281. package/lib/types/backends/codex/session/prompts.d.ts +7 -0
  282. package/lib/types/backends/codex/session/prompts.d.ts.map +1 -0
  283. package/lib/types/backends/codex/session/prompts.js +47 -0
  284. package/lib/types/backends/codex/session/session.d.ts +12 -0
  285. package/lib/types/backends/codex/session/session.d.ts.map +1 -0
  286. package/lib/types/backends/codex/session/session.js +871 -0
  287. package/lib/types/backends/codex/session/side-query.d.ts +25 -0
  288. package/lib/types/backends/codex/session/side-query.d.ts.map +1 -0
  289. package/lib/types/backends/codex/session/side-query.js +121 -0
  290. package/lib/types/backends/codex/session/state.d.ts +57 -0
  291. package/lib/types/backends/codex/session/state.d.ts.map +1 -0
  292. package/lib/types/backends/codex/session/state.js +1 -0
  293. package/lib/types/backends/codex/session/subagents.d.ts +28 -0
  294. package/lib/types/backends/codex/session/subagents.d.ts.map +1 -0
  295. package/lib/types/backends/codex/session/subagents.js +286 -0
  296. package/lib/types/backends/codex/session/tasks.d.ts +25 -0
  297. package/lib/types/backends/codex/session/tasks.d.ts.map +1 -0
  298. package/lib/types/backends/codex/session/tasks.js +207 -0
  299. package/lib/types/backends/codex/session/tool-output.d.ts +9 -0
  300. package/lib/types/backends/codex/session/tool-output.d.ts.map +1 -0
  301. package/lib/types/backends/codex/session/tool-output.js +29 -0
  302. package/lib/types/backends/codex/translate/commands.d.ts +30 -0
  303. package/lib/types/backends/codex/translate/commands.d.ts.map +1 -0
  304. package/lib/types/backends/codex/translate/commands.js +103 -0
  305. package/lib/types/backends/codex/translate/events.d.ts +9 -0
  306. package/lib/types/backends/codex/translate/events.d.ts.map +1 -0
  307. package/lib/types/backends/codex/translate/events.js +71 -0
  308. package/lib/types/backends/codex/translate/items.d.ts +112 -0
  309. package/lib/types/backends/codex/translate/items.d.ts.map +1 -0
  310. package/lib/types/backends/codex/translate/items.js +375 -0
  311. package/lib/types/backends/codex/translate/live.d.ts +39 -0
  312. package/lib/types/backends/codex/translate/live.d.ts.map +1 -0
  313. package/lib/types/backends/codex/translate/live.js +315 -0
  314. package/lib/types/backends/codex/translate/notices.d.ts +27 -0
  315. package/lib/types/backends/codex/translate/notices.d.ts.map +1 -0
  316. package/lib/types/backends/codex/translate/notices.js +99 -0
  317. package/lib/types/backends/codex/translate/presentation.d.ts +49 -0
  318. package/lib/types/backends/codex/translate/presentation.d.ts.map +1 -0
  319. package/lib/types/backends/codex/translate/presentation.js +237 -0
  320. package/lib/types/backends/codex/translate/replay.d.ts +18 -0
  321. package/lib/types/backends/codex/translate/replay.d.ts.map +1 -0
  322. package/lib/types/backends/codex/translate/replay.js +33 -0
  323. package/lib/types/backends/codex/translate/usage.d.ts +29 -0
  324. package/lib/types/backends/codex/translate/usage.d.ts.map +1 -0
  325. package/lib/types/backends/codex/translate/usage.js +65 -0
  326. package/lib/types/backends/shared/atomic-file.d.ts +4 -0
  327. package/lib/types/backends/shared/atomic-file.d.ts.map +1 -0
  328. package/lib/types/backends/shared/atomic-file.js +52 -0
  329. package/lib/types/backends/shared/channel-tokens.d.ts +29 -0
  330. package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -0
  331. package/lib/types/backends/shared/channel-tokens.js +161 -0
  332. package/lib/types/backends/shared/display-path.d.ts +3 -0
  333. package/lib/types/backends/shared/display-path.d.ts.map +1 -0
  334. package/lib/types/backends/shared/display-path.js +12 -0
  335. package/lib/types/branding.d.ts +92 -0
  336. package/lib/types/branding.d.ts.map +1 -0
  337. package/lib/types/branding.js +117 -0
  338. package/lib/types/channel/activity.d.ts +53 -0
  339. package/lib/types/channel/activity.d.ts.map +1 -0
  340. package/lib/types/channel/activity.js +955 -0
  341. package/lib/types/channel/capabilities.d.ts +24 -0
  342. package/lib/types/channel/capabilities.d.ts.map +1 -0
  343. package/lib/types/channel/capabilities.js +57 -0
  344. package/lib/types/channel/channel-slug.d.ts +9 -0
  345. package/lib/types/channel/channel-slug.d.ts.map +1 -0
  346. package/lib/types/channel/channel-slug.js +15 -0
  347. package/lib/types/channel/channel-wizard.d.ts +30 -0
  348. package/lib/types/channel/channel-wizard.d.ts.map +1 -0
  349. package/lib/types/channel/channel-wizard.js +226 -0
  350. package/lib/types/channel/elicitation.d.ts +135 -0
  351. package/lib/types/channel/elicitation.d.ts.map +1 -0
  352. package/lib/types/channel/elicitation.js +360 -0
  353. package/lib/types/channel/goal-command.d.ts +49 -0
  354. package/lib/types/channel/goal-command.d.ts.map +1 -0
  355. package/lib/types/channel/goal-command.js +72 -0
  356. package/lib/types/channel/history-restore.d.ts +16 -0
  357. package/lib/types/channel/history-restore.d.ts.map +1 -0
  358. package/lib/types/channel/history-restore.js +214 -0
  359. package/lib/types/channel/interaction.d.ts +38 -0
  360. package/lib/types/channel/interaction.d.ts.map +1 -0
  361. package/lib/types/channel/interaction.js +110 -0
  362. package/lib/types/channel/job-format.d.ts +6 -0
  363. package/lib/types/channel/job-format.d.ts.map +1 -0
  364. package/lib/types/channel/job-format.js +12 -0
  365. package/lib/types/channel/live-output.d.ts +35 -0
  366. package/lib/types/channel/live-output.d.ts.map +1 -0
  367. package/lib/types/channel/live-output.js +74 -0
  368. package/lib/types/channel/model-capabilities.d.ts +10 -0
  369. package/lib/types/channel/model-capabilities.d.ts.map +1 -0
  370. package/lib/types/channel/model-capabilities.js +51 -0
  371. package/lib/types/channel/permissions.d.ts +155 -0
  372. package/lib/types/channel/permissions.d.ts.map +1 -0
  373. package/lib/types/channel/permissions.js +188 -0
  374. package/lib/types/channel/projection.d.ts +110 -0
  375. package/lib/types/channel/projection.d.ts.map +1 -0
  376. package/lib/types/channel/projection.js +1521 -0
  377. package/lib/types/channel/question-record.d.ts +76 -0
  378. package/lib/types/channel/question-record.d.ts.map +1 -0
  379. package/lib/types/channel/question-record.js +109 -0
  380. package/lib/types/channel/questions.d.ts +204 -0
  381. package/lib/types/channel/questions.d.ts.map +1 -0
  382. package/lib/types/channel/questions.js +286 -0
  383. package/lib/types/channel/sanitize.d.ts +49 -0
  384. package/lib/types/channel/sanitize.d.ts.map +1 -0
  385. package/lib/types/channel/sanitize.js +88 -0
  386. package/lib/types/channel/selection-record.d.ts +18 -0
  387. package/lib/types/channel/selection-record.d.ts.map +1 -0
  388. package/lib/types/channel/selection-record.js +45 -0
  389. package/lib/types/channel/side-prompts.d.ts +59 -0
  390. package/lib/types/channel/side-prompts.d.ts.map +1 -0
  391. package/lib/types/channel/side-prompts.js +127 -0
  392. package/lib/types/channel/transcript.d.ts +17 -0
  393. package/lib/types/channel/transcript.d.ts.map +1 -0
  394. package/lib/types/channel/transcript.js +19 -0
  395. package/lib/types/channel/usage.d.ts +48 -0
  396. package/lib/types/channel/usage.d.ts.map +1 -0
  397. package/lib/types/channel/usage.js +143 -0
  398. package/lib/types/commands.d.ts +147 -0
  399. package/lib/types/commands.d.ts.map +1 -1
  400. package/lib/types/commands.js +196 -2
  401. package/lib/types/components/AgentMessageComposer.d.ts +50 -0
  402. package/lib/types/components/AgentMessageComposer.d.ts.map +1 -0
  403. package/lib/types/components/AgentMessageComposer.js +159 -0
  404. package/lib/types/components/BtwPanel.d.ts +13 -12
  405. package/lib/types/components/BtwPanel.d.ts.map +1 -1
  406. package/lib/types/components/BtwPanel.js +35 -24
  407. package/lib/types/components/ChannelPicker.d.ts +40 -0
  408. package/lib/types/components/ChannelPicker.d.ts.map +1 -0
  409. package/lib/types/components/ChannelPicker.js +26 -0
  410. package/lib/types/components/Chat/JobCard.d.ts +29 -31
  411. package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
  412. package/lib/types/components/Chat/JobCard.js +31 -112
  413. package/lib/types/components/Chat/SubagentMessage.d.ts +4 -1
  414. package/lib/types/components/Chat/SubagentMessage.d.ts.map +1 -1
  415. package/lib/types/components/Chat/SubagentMessage.js +10 -3
  416. package/lib/types/components/ClaudeGirl.d.ts +27 -0
  417. package/lib/types/components/ClaudeGirl.d.ts.map +1 -0
  418. package/lib/types/components/ClaudeGirl.js +30 -0
  419. package/lib/types/components/CodeBlockFrame.d.ts +19 -0
  420. package/lib/types/components/CodeBlockFrame.d.ts.map +1 -0
  421. package/lib/types/components/CodeBlockFrame.js +138 -0
  422. package/lib/types/components/CommandSuggestions.d.ts +10 -1
  423. package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
  424. package/lib/types/components/CommandSuggestions.js +20 -3
  425. package/lib/types/components/ContextBarView.d.ts +2 -2
  426. package/lib/types/components/ContextBarView.d.ts.map +1 -1
  427. package/lib/types/components/ContextBarView.js +18 -8
  428. package/lib/types/components/EffortChargeGlyph.d.ts +1 -1
  429. package/lib/types/components/EffortChargeGlyph.d.ts.map +1 -1
  430. package/lib/types/components/EffortChargeGlyph.js +3 -4
  431. package/lib/types/components/EffortInputBorder.d.ts +1 -2
  432. package/lib/types/components/EffortInputBorder.d.ts.map +1 -1
  433. package/lib/types/components/EffortInputBorder.js +7 -4
  434. package/lib/types/components/EffortSlider.d.ts +5 -1
  435. package/lib/types/components/EffortSlider.d.ts.map +1 -1
  436. package/lib/types/components/EffortSlider.js +2 -2
  437. package/lib/types/components/EffortTierBadge.d.ts +1 -2
  438. package/lib/types/components/EffortTierBadge.d.ts.map +1 -1
  439. package/lib/types/components/EffortTierBadge.js +8 -5
  440. package/lib/types/components/GoalTodoPanel.d.ts +2 -1
  441. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
  442. package/lib/types/components/GoalTodoPanel.js +11 -5
  443. package/lib/types/components/InlineMathParagraph.js +1 -1
  444. package/lib/types/components/JobsPanel.d.ts +8 -9
  445. package/lib/types/components/JobsPanel.d.ts.map +1 -1
  446. package/lib/types/components/JobsPanel.js +72 -13
  447. package/lib/types/components/KernelPicker.d.ts +28 -0
  448. package/lib/types/components/KernelPicker.d.ts.map +1 -0
  449. package/lib/types/components/KernelPicker.js +37 -0
  450. package/lib/types/components/LogoV2.d.ts +7 -1
  451. package/lib/types/components/LogoV2.d.ts.map +1 -1
  452. package/lib/types/components/LogoV2.js +120 -24
  453. package/lib/types/components/Markdown.d.ts +2 -1
  454. package/lib/types/components/Markdown.d.ts.map +1 -1
  455. package/lib/types/components/Markdown.js +37 -8
  456. package/lib/types/components/MathBlock.d.ts.map +1 -1
  457. package/lib/types/components/MathBlock.js +3 -1
  458. package/lib/types/components/MermaidDiagram.d.ts.map +1 -1
  459. package/lib/types/components/MermaidDiagram.js +7 -5
  460. package/lib/types/components/MessageList.d.ts +21 -3
  461. package/lib/types/components/MessageList.d.ts.map +1 -1
  462. package/lib/types/components/MessageList.js +62 -42
  463. package/lib/types/components/ModePicker.d.ts +20 -0
  464. package/lib/types/components/ModePicker.d.ts.map +1 -0
  465. package/lib/types/components/ModePicker.js +17 -0
  466. package/lib/types/components/PromptInput.d.ts +2 -2
  467. package/lib/types/components/PromptInput.d.ts.map +1 -1
  468. package/lib/types/components/PromptInput.js +308 -55
  469. package/lib/types/components/SdkInstallWizard.d.ts +44 -0
  470. package/lib/types/components/SdkInstallWizard.d.ts.map +1 -0
  471. package/lib/types/components/SdkInstallWizard.js +18 -0
  472. package/lib/types/components/SearchBox.d.ts +7 -8
  473. package/lib/types/components/SearchBox.d.ts.map +1 -1
  474. package/lib/types/components/SearchBox.js +18 -9
  475. package/lib/types/components/SplitDiffView.d.ts.map +1 -1
  476. package/lib/types/components/SplitDiffView.js +113 -6
  477. package/lib/types/components/StarPrompt.d.ts.map +1 -1
  478. package/lib/types/components/StarPrompt.js +5 -3
  479. package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
  480. package/lib/types/components/StreamingMarkdown.js +6 -4
  481. package/lib/types/components/SubagentCard.d.ts +2 -1
  482. package/lib/types/components/SubagentCard.d.ts.map +1 -1
  483. package/lib/types/components/SubagentCard.js +25 -18
  484. package/lib/types/components/SubagentDashboard.d.ts +10 -6
  485. package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
  486. package/lib/types/components/SubagentDashboard.js +32 -21
  487. package/lib/types/components/SubagentDetailScene.d.ts +16 -1
  488. package/lib/types/components/SubagentDetailScene.d.ts.map +1 -1
  489. package/lib/types/components/SubagentDetailScene.js +196 -45
  490. package/lib/types/components/SyntaxText.d.ts.map +1 -1
  491. package/lib/types/components/SyntaxText.js +4 -1
  492. package/lib/types/components/TurnInterruptedRow.d.ts +3 -1
  493. package/lib/types/components/TurnInterruptedRow.d.ts.map +1 -1
  494. package/lib/types/components/TurnInterruptedRow.js +6 -3
  495. package/lib/types/components/TurnUsageRow.d.ts +24 -0
  496. package/lib/types/components/TurnUsageRow.d.ts.map +1 -0
  497. package/lib/types/components/TurnUsageRow.js +46 -0
  498. package/lib/types/components/WorkingSpinner.d.ts +2 -1
  499. package/lib/types/components/WorkingSpinner.d.ts.map +1 -1
  500. package/lib/types/components/WorkingSpinner.js +21 -4
  501. package/lib/types/components/approvals/ApprovalPanel.d.ts +36 -13
  502. package/lib/types/components/approvals/ApprovalPanel.d.ts.map +1 -1
  503. package/lib/types/components/approvals/ApprovalPanel.js +173 -25
  504. package/lib/types/components/claudeGirlSprite.d.ts +18 -0
  505. package/lib/types/components/claudeGirlSprite.d.ts.map +1 -0
  506. package/lib/types/components/claudeGirlSprite.js +48 -0
  507. package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
  508. package/lib/types/components/design-system/ThemeProvider.js +46 -13
  509. package/lib/types/components/design-system/ThemedText.d.ts +3 -1
  510. package/lib/types/components/design-system/ThemedText.d.ts.map +1 -1
  511. package/lib/types/components/design-system/ThemedText.js +2 -2
  512. package/lib/types/components/diffPatch.d.ts +55 -0
  513. package/lib/types/components/diffPatch.d.ts.map +1 -0
  514. package/lib/types/components/diffPatch.js +142 -0
  515. package/lib/types/components/kernelCatalog.d.ts +48 -0
  516. package/lib/types/components/kernelCatalog.d.ts.map +1 -0
  517. package/lib/types/components/kernelCatalog.js +53 -0
  518. package/lib/types/components/launchpadActions.d.ts +13 -6
  519. package/lib/types/components/launchpadActions.d.ts.map +1 -1
  520. package/lib/types/components/launchpadActions.js +26 -4
  521. package/lib/types/components/launchpadParams.d.ts +101 -0
  522. package/lib/types/components/launchpadParams.d.ts.map +1 -0
  523. package/lib/types/components/launchpadParams.js +171 -0
  524. package/lib/types/components/maidPortrait.d.ts +37 -5
  525. package/lib/types/components/maidPortrait.d.ts.map +1 -1
  526. package/lib/types/components/maidPortrait.js +73 -54
  527. package/lib/types/components/messages/AgentMessageFlow.d.ts +20 -0
  528. package/lib/types/components/messages/AgentMessageFlow.d.ts.map +1 -0
  529. package/lib/types/components/messages/AgentMessageFlow.js +37 -0
  530. package/lib/types/components/messages/AssistantThinkingMessage.d.ts +6 -1
  531. package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
  532. package/lib/types/components/messages/AssistantThinkingMessage.js +29 -5
  533. package/lib/types/components/messages/AssistantToolUseMessage.d.ts +11 -2
  534. package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
  535. package/lib/types/components/messages/AssistantToolUseMessage.js +289 -36
  536. package/lib/types/components/messages/TranscriptLeaves.d.ts +85 -0
  537. package/lib/types/components/messages/TranscriptLeaves.d.ts.map +1 -0
  538. package/lib/types/components/messages/TranscriptLeaves.js +74 -0
  539. package/lib/types/components/messages/agentTeam.d.ts +69 -0
  540. package/lib/types/components/messages/agentTeam.d.ts.map +1 -0
  541. package/lib/types/components/messages/agentTeam.js +53 -0
  542. package/lib/types/components/messages/liveOutputLines.d.ts +33 -0
  543. package/lib/types/components/messages/liveOutputLines.d.ts.map +1 -0
  544. package/lib/types/components/messages/liveOutputLines.js +100 -0
  545. package/lib/types/components/messages/subagentTranscript.d.ts +146 -0
  546. package/lib/types/components/messages/subagentTranscript.d.ts.map +1 -0
  547. package/lib/types/components/messages/subagentTranscript.js +304 -0
  548. package/lib/types/components/questions/AskUserQuestionPanel.d.ts +16 -1
  549. package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
  550. package/lib/types/components/questions/AskUserQuestionPanel.js +76 -6
  551. package/lib/types/components/questions/PlanReviewPanel.d.ts +8 -3
  552. package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
  553. package/lib/types/components/questions/PlanReviewPanel.js +11 -6
  554. package/lib/types/components/questions/ProviderModelEditor.d.ts +12 -0
  555. package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -0
  556. package/lib/types/components/questions/ProviderModelEditor.js +266 -0
  557. package/lib/types/components/shimmer.d.ts +26 -0
  558. package/lib/types/components/shimmer.d.ts.map +1 -1
  559. package/lib/types/components/shimmer.js +26 -0
  560. package/lib/types/components/sidePanel/InfoPanel.d.ts.map +1 -1
  561. package/lib/types/components/sidePanel/InfoPanel.js +13 -8
  562. package/lib/types/components/sidePanel/PanelBar.d.ts +0 -24
  563. package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -1
  564. package/lib/types/components/sidePanel/PanelBar.js +55 -77
  565. package/lib/types/components/sidePanel/PanelStore.d.ts +3 -1
  566. package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -1
  567. package/lib/types/components/sidePanel/PanelStore.js +8 -4
  568. package/lib/types/components/sidePanel/SidePanelColumn.d.ts +3 -10
  569. package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
  570. package/lib/types/components/sidePanel/SidePanelColumn.js +9 -12
  571. package/lib/types/components/sidePanel/TrajectoryPanel.d.ts.map +1 -1
  572. package/lib/types/components/sidePanel/TrajectoryPanel.js +78 -14
  573. package/lib/types/components/sidePanel/agentViewStore.d.ts +20 -0
  574. package/lib/types/components/sidePanel/agentViewStore.d.ts.map +1 -0
  575. package/lib/types/components/sidePanel/agentViewStore.js +26 -0
  576. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +50 -0
  577. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -0
  578. package/lib/types/components/sidePanel/btw/BtwComposer.js +45 -0
  579. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts +13 -0
  580. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -0
  581. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +147 -0
  582. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts +14 -0
  583. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -0
  584. package/lib/types/components/sidePanel/btw/BtwThreadScene.js +131 -0
  585. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +30 -0
  586. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -0
  587. package/lib/types/components/sidePanel/btw/BtwThreadView.js +87 -0
  588. package/lib/types/components/sidePanel/btw/threads.d.ts +111 -0
  589. package/lib/types/components/sidePanel/btw/threads.d.ts.map +1 -0
  590. package/lib/types/components/sidePanel/btw/threads.js +302 -0
  591. package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -1
  592. package/lib/types/components/sidePanel/builtinPanels.js +70 -30
  593. package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts +4 -46
  594. package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts.map +1 -1
  595. package/lib/types/components/sidePanel/companion/CompanionPanel.js +19 -55
  596. package/lib/types/components/sidePanel/companion/mood.d.ts +32 -0
  597. package/lib/types/components/sidePanel/companion/mood.d.ts.map +1 -1
  598. package/lib/types/components/sidePanel/companion/mood.js +44 -0
  599. package/lib/types/components/sidePanel/companion/skins.d.ts +34 -0
  600. package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -1
  601. package/lib/types/components/sidePanel/companion/skins.js +203 -29
  602. package/lib/types/components/splashFonts.d.ts +17 -9
  603. package/lib/types/components/splashFonts.d.ts.map +1 -1
  604. package/lib/types/components/splashFonts.js +119 -15
  605. package/lib/types/components/splashLayout.d.ts.map +1 -1
  606. package/lib/types/components/splashLayout.js +3 -1
  607. package/lib/types/components/subagentDetailMemory.d.ts +17 -0
  608. package/lib/types/components/subagentDetailMemory.d.ts.map +1 -0
  609. package/lib/types/components/subagentDetailMemory.js +28 -0
  610. package/lib/types/components/trajectory/Inspector.d.ts.map +1 -1
  611. package/lib/types/components/trajectory/Inspector.js +9 -0
  612. package/lib/types/components/trajectory/Ledger.d.ts.map +1 -1
  613. package/lib/types/components/trajectory/Ledger.js +7 -1
  614. package/lib/types/components/trajectory/scope.d.ts +64 -0
  615. package/lib/types/components/trajectory/scope.d.ts.map +1 -0
  616. package/lib/types/components/trajectory/scope.js +88 -0
  617. package/lib/types/components/trajectory/useTrajectoryScope.d.ts +42 -0
  618. package/lib/types/components/trajectory/useTrajectoryScope.d.ts.map +1 -0
  619. package/lib/types/components/trajectory/useTrajectoryScope.js +86 -0
  620. package/lib/types/customTheme.d.ts +4 -6
  621. package/lib/types/customTheme.d.ts.map +1 -1
  622. package/lib/types/customTheme.js +6 -8
  623. package/lib/types/dsh-adapter/approvals.d.ts +18 -5
  624. package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
  625. package/lib/types/dsh-adapter/approvals.js +17 -4
  626. package/lib/types/dsh-adapter/backend/session.d.ts +64 -0
  627. package/lib/types/dsh-adapter/backend/session.d.ts.map +1 -0
  628. package/lib/types/dsh-adapter/backend/session.js +291 -0
  629. package/lib/types/dsh-adapter/backend/translate.d.ts +58 -0
  630. package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -0
  631. package/lib/types/dsh-adapter/backend/translate.js +467 -0
  632. package/lib/types/dsh-adapter/backends.d.ts +49 -0
  633. package/lib/types/dsh-adapter/backends.d.ts.map +1 -0
  634. package/lib/types/dsh-adapter/backends.js +124 -0
  635. package/lib/types/dsh-adapter/channel/action-readiness.d.ts +16 -0
  636. package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
  637. package/lib/types/dsh-adapter/channel/action-readiness.js +109 -0
  638. package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts +2 -2
  639. package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts.map +1 -1
  640. package/lib/types/dsh-adapter/channel/background-action.d.ts +2 -2
  641. package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
  642. package/lib/types/dsh-adapter/channel/background-action.js +7 -5
  643. package/lib/types/dsh-adapter/channel/binding-events.d.ts +19 -9
  644. package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
  645. package/lib/types/dsh-adapter/channel/binding-events.js +58 -135
  646. package/lib/types/dsh-adapter/channel/binding.d.ts +61 -14
  647. package/lib/types/dsh-adapter/channel/binding.d.ts.map +1 -1
  648. package/lib/types/dsh-adapter/channel/binding.js +102 -35
  649. package/lib/types/dsh-adapter/channel/command-completions.d.ts +3 -0
  650. package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
  651. package/lib/types/dsh-adapter/channel/command-completions.js +33 -4
  652. package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
  653. package/lib/types/dsh-adapter/channel/compaction.js +3 -2
  654. package/lib/types/dsh-adapter/channel/composer-images.d.ts +5 -0
  655. package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
  656. package/lib/types/dsh-adapter/channel/composer-images.js +4 -3
  657. package/lib/types/dsh-adapter/channel/core/actions.d.ts +39 -0
  658. package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -0
  659. package/lib/types/dsh-adapter/channel/core/actions.js +152 -0
  660. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +145 -0
  661. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -0
  662. package/lib/types/dsh-adapter/channel/core/binding-feed.js +289 -0
  663. package/lib/types/dsh-adapter/channel/core/compose.d.ts +217 -0
  664. package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -0
  665. package/lib/types/dsh-adapter/channel/core/compose.js +938 -0
  666. package/lib/types/dsh-adapter/channel/core/files.d.ts +57 -0
  667. package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -0
  668. package/lib/types/dsh-adapter/channel/core/files.js +45 -0
  669. package/lib/types/dsh-adapter/channel/core/host.d.ts +55 -0
  670. package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -0
  671. package/lib/types/dsh-adapter/channel/core/host.js +116 -0
  672. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +46 -0
  673. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -0
  674. package/lib/types/dsh-adapter/channel/core/local-actions.js +117 -0
  675. package/lib/types/dsh-adapter/channel/core/local-images.d.ts +20 -0
  676. package/lib/types/dsh-adapter/channel/core/local-images.d.ts.map +1 -0
  677. package/lib/types/dsh-adapter/channel/core/local-images.js +147 -0
  678. package/lib/types/dsh-adapter/channel/core/reports.d.ts +12 -0
  679. package/lib/types/dsh-adapter/channel/core/reports.d.ts.map +1 -0
  680. package/lib/types/dsh-adapter/channel/core/reports.js +77 -0
  681. package/lib/types/dsh-adapter/channel/core/session-controls.d.ts +39 -0
  682. package/lib/types/dsh-adapter/channel/core/session-controls.d.ts.map +1 -0
  683. package/lib/types/dsh-adapter/channel/core/session-controls.js +219 -0
  684. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +174 -0
  685. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -0
  686. package/lib/types/dsh-adapter/channel/core/session-switch.js +390 -0
  687. package/lib/types/dsh-adapter/channel/core/sessions.d.ts +40 -0
  688. package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -0
  689. package/lib/types/dsh-adapter/channel/core/sessions.js +268 -0
  690. package/lib/types/dsh-adapter/channel/decisions.d.ts +4 -3
  691. package/lib/types/dsh-adapter/channel/decisions.d.ts.map +1 -1
  692. package/lib/types/dsh-adapter/channel/decisions.js +4 -4
  693. package/lib/types/dsh-adapter/channel/emitter.d.ts +15 -2
  694. package/lib/types/dsh-adapter/channel/emitter.d.ts.map +1 -1
  695. package/lib/types/dsh-adapter/channel/emitter.js +5 -3
  696. package/lib/types/dsh-adapter/channel/extensions.d.ts +36 -0
  697. package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -0
  698. package/lib/types/dsh-adapter/channel/extensions.js +714 -0
  699. package/lib/types/dsh-adapter/channel/ide-selection.d.ts +1 -10
  700. package/lib/types/dsh-adapter/channel/ide-selection.d.ts.map +1 -1
  701. package/lib/types/dsh-adapter/channel/ide-selection.js +4 -46
  702. package/lib/types/dsh-adapter/channel/input-actions.d.ts +27 -4
  703. package/lib/types/dsh-adapter/channel/input-actions.d.ts.map +1 -1
  704. package/lib/types/dsh-adapter/channel/input-actions.js +240 -21
  705. package/lib/types/dsh-adapter/channel/input-delivery.d.ts +21 -5
  706. package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
  707. package/lib/types/dsh-adapter/channel/input-delivery.js +65 -27
  708. package/lib/types/dsh-adapter/channel/local-actions.d.ts +10 -32
  709. package/lib/types/dsh-adapter/channel/local-actions.d.ts.map +1 -1
  710. package/lib/types/dsh-adapter/channel/local-actions.js +10 -78
  711. package/lib/types/dsh-adapter/channel/local-fs.d.ts +3 -0
  712. package/lib/types/dsh-adapter/channel/local-fs.d.ts.map +1 -0
  713. package/lib/types/dsh-adapter/channel/local-fs.js +46 -0
  714. package/lib/types/dsh-adapter/channel/mode-actions.d.ts +3 -3
  715. package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
  716. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +2 -2
  717. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
  718. package/lib/types/dsh-adapter/channel/model-actions.d.ts +3 -3
  719. package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
  720. package/lib/types/dsh-adapter/channel/model-actions.js +38 -5
  721. package/lib/types/dsh-adapter/channel/model-switch.d.ts +2 -2
  722. package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
  723. package/lib/types/dsh-adapter/channel/model-switch.js +9 -6
  724. package/lib/types/dsh-adapter/channel/preferences.d.ts +1 -1
  725. package/lib/types/dsh-adapter/channel/preferences.d.ts.map +1 -1
  726. package/lib/types/dsh-adapter/channel/preferences.js +16 -0
  727. package/lib/types/dsh-adapter/channel/projection.d.ts +16 -13
  728. package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -1
  729. package/lib/types/dsh-adapter/channel/projection.js +38 -1143
  730. package/lib/types/dsh-adapter/channel/question-record.d.ts +3 -75
  731. package/lib/types/dsh-adapter/channel/question-record.d.ts.map +1 -1
  732. package/lib/types/dsh-adapter/channel/question-record.js +3 -107
  733. package/lib/types/dsh-adapter/channel/session-activity.d.ts +9 -0
  734. package/lib/types/dsh-adapter/channel/session-activity.d.ts.map +1 -0
  735. package/lib/types/dsh-adapter/channel/session-activity.js +42 -0
  736. package/lib/types/dsh-adapter/channel/session-adoption.d.ts +4 -4
  737. package/lib/types/dsh-adapter/channel/session-adoption.d.ts.map +1 -1
  738. package/lib/types/dsh-adapter/channel/session-adoption.js +3 -1
  739. package/lib/types/dsh-adapter/channel/session-fork.d.ts +1 -1
  740. package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
  741. package/lib/types/dsh-adapter/channel/session-fork.js +2 -1
  742. package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts +7 -3
  743. package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts.map +1 -1
  744. package/lib/types/dsh-adapter/channel/session-live-adoption.js +1 -1
  745. package/lib/types/dsh-adapter/channel/session-metadata.d.ts +2 -9
  746. package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
  747. package/lib/types/dsh-adapter/channel/session-reset.d.ts +1 -1
  748. package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -1
  749. package/lib/types/dsh-adapter/channel/session-reset.js +4 -0
  750. package/lib/types/dsh-adapter/channel/session-resume.d.ts +5 -10
  751. package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
  752. package/lib/types/dsh-adapter/channel/session-resume.js +74 -113
  753. package/lib/types/dsh-adapter/channel/session-rewind.d.ts +4 -4
  754. package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
  755. package/lib/types/dsh-adapter/channel/session-rewind.js +7 -6
  756. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts +4 -4
  757. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
  758. package/lib/types/dsh-adapter/channel/session-tree-actions.js +8 -7
  759. package/lib/types/dsh-adapter/channel/settings-host.d.ts +1 -1
  760. package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
  761. package/lib/types/dsh-adapter/channel/settings-host.js +8 -0
  762. package/lib/types/dsh-adapter/channel/skill-catalog.d.ts +5 -1
  763. package/lib/types/dsh-adapter/channel/skill-catalog.d.ts.map +1 -1
  764. package/lib/types/dsh-adapter/channel/skill-catalog.js +2 -2
  765. package/lib/types/dsh-adapter/channel/state.d.ts +72 -1
  766. package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
  767. package/lib/types/dsh-adapter/channel/state.js +7 -3
  768. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts +58 -3
  769. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
  770. package/lib/types/dsh-adapter/channel/subagent-projection.js +153 -9
  771. package/lib/types/dsh-adapter/channel/subagent-transcript.d.ts +114 -0
  772. package/lib/types/dsh-adapter/channel/subagent-transcript.d.ts.map +1 -0
  773. package/lib/types/dsh-adapter/channel/subagent-transcript.js +279 -0
  774. package/lib/types/dsh-adapter/channel/transcript.d.ts +7 -15
  775. package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -1
  776. package/lib/types/dsh-adapter/channel/transcript.js +17 -21
  777. package/lib/types/dsh-adapter/channel/types.d.ts +16 -7
  778. package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -1
  779. package/lib/types/dsh-adapter/channel/usage.d.ts +3 -23
  780. package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -1
  781. package/lib/types/dsh-adapter/channel/usage.js +5 -111
  782. package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
  783. package/lib/types/dsh-adapter/channel/workspace-actions.js +2 -1
  784. package/lib/types/dsh-adapter/channel.d.ts +17 -8
  785. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  786. package/lib/types/dsh-adapter/channel.js +24 -1059
  787. package/lib/types/dsh-adapter/context-occupancy.d.ts +6 -1
  788. package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -1
  789. package/lib/types/dsh-adapter/context-occupancy.js +6 -1
  790. package/lib/types/dsh-adapter/decision-guard.d.ts +24 -0
  791. package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -1
  792. package/lib/types/dsh-adapter/decision-guard.js +44 -0
  793. package/lib/types/dsh-adapter/extension-events.d.ts +4 -1
  794. package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -1
  795. package/lib/types/dsh-adapter/extension-events.js +22 -10
  796. package/lib/types/dsh-adapter/index.d.ts +41 -3
  797. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  798. package/lib/types/dsh-adapter/index.js +28 -1
  799. package/lib/types/dsh-adapter/jobs.d.ts +5 -3
  800. package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
  801. package/lib/types/dsh-adapter/jobs.js +53 -14
  802. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -16
  803. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
  804. package/lib/types/dsh-adapter/migrate/parse/jsonl.js +3 -29
  805. package/lib/types/dsh-adapter/oauth-credential-source.d.ts +34 -0
  806. package/lib/types/dsh-adapter/oauth-credential-source.d.ts.map +1 -0
  807. package/lib/types/dsh-adapter/oauth-credential-source.js +66 -0
  808. package/lib/types/dsh-adapter/plugin.d.ts +38 -2
  809. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  810. package/lib/types/dsh-adapter/plugin.js +546 -110
  811. package/lib/types/dsh-adapter/provider-model-capabilities.d.ts +10 -0
  812. package/lib/types/dsh-adapter/provider-model-capabilities.d.ts.map +1 -0
  813. package/lib/types/dsh-adapter/provider-model-capabilities.js +80 -0
  814. package/lib/types/dsh-adapter/providerWizard.d.ts +8 -2
  815. package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
  816. package/lib/types/dsh-adapter/providerWizard.js +118 -52
  817. package/lib/types/dsh-adapter/questions.d.ts +29 -124
  818. package/lib/types/dsh-adapter/questions.d.ts.map +1 -1
  819. package/lib/types/dsh-adapter/questions.js +33 -267
  820. package/lib/types/dsh-adapter/recap.d.ts +3 -15
  821. package/lib/types/dsh-adapter/recap.d.ts.map +1 -1
  822. package/lib/types/dsh-adapter/recap.js +3 -46
  823. package/lib/types/dsh-adapter/sanitize.d.ts +4 -44
  824. package/lib/types/dsh-adapter/sanitize.d.ts.map +1 -1
  825. package/lib/types/dsh-adapter/sanitize.js +4 -84
  826. package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts +3 -1
  827. package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts.map +1 -1
  828. package/lib/types/dsh-adapter/session-mount-heartbeat.js +4 -2
  829. package/lib/types/dsh-adapter/sessions/digest.d.ts +18 -3
  830. package/lib/types/dsh-adapter/sessions/digest.d.ts.map +1 -1
  831. package/lib/types/dsh-adapter/sessions/digest.js +60 -27
  832. package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
  833. package/lib/types/dsh-adapter/sessions/list.js +6 -4
  834. package/lib/types/dsh-adapter/sessions/recovery.d.ts +2 -2
  835. package/lib/types/dsh-adapter/sessions/recovery.d.ts.map +1 -1
  836. package/lib/types/dsh-adapter/sessions/recovery.js +23 -14
  837. package/lib/types/dsh-adapter/sessions/store.d.ts +2 -0
  838. package/lib/types/dsh-adapter/sessions/store.d.ts.map +1 -1
  839. package/lib/types/dsh-adapter/sessions/store.js +1 -0
  840. package/lib/types/dsh-adapter/sessions/types.d.ts +2 -0
  841. package/lib/types/dsh-adapter/sessions/types.d.ts.map +1 -1
  842. package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
  843. package/lib/types/dsh-adapter/sideQuestion.js +3 -13
  844. package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
  845. package/lib/types/dsh-adapter/subagents.js +7 -0
  846. package/lib/types/dsh-adapter/themes.d.ts +1 -1
  847. package/lib/types/dsh-adapter/themes.d.ts.map +1 -1
  848. package/lib/types/dsh-adapter/trajectory/agent-source.d.ts +84 -0
  849. package/lib/types/dsh-adapter/trajectory/agent-source.d.ts.map +1 -0
  850. package/lib/types/dsh-adapter/trajectory/agent-source.js +601 -0
  851. package/lib/types/dsh-adapter/trajectory/guards.d.ts +31 -1
  852. package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -1
  853. package/lib/types/dsh-adapter/trajectory/guards.js +28 -0
  854. package/lib/types/dsh-adapter/trajectory/index.d.ts +3 -1
  855. package/lib/types/dsh-adapter/trajectory/index.d.ts.map +1 -1
  856. package/lib/types/dsh-adapter/trajectory/index.js +1 -0
  857. package/lib/types/dsh-adapter/trajectory/inspect.d.ts +7 -0
  858. package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -1
  859. package/lib/types/dsh-adapter/trajectory/inspect.js +70 -2
  860. package/lib/types/dsh-adapter/trajectory/projection.d.ts +4 -0
  861. package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -1
  862. package/lib/types/dsh-adapter/trajectory/projection.js +36 -0
  863. package/lib/types/dsh-adapter/trajectory/types.d.ts +13 -0
  864. package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -1
  865. package/lib/types/effortPrefs.d.ts +7 -0
  866. package/lib/types/effortPrefs.d.ts.map +1 -1
  867. package/lib/types/effortPrefs.js +11 -2
  868. package/lib/types/handoffAck.d.ts +57 -0
  869. package/lib/types/handoffAck.d.ts.map +1 -0
  870. package/lib/types/handoffAck.js +154 -0
  871. package/lib/types/handoffEvents.d.ts +52 -0
  872. package/lib/types/handoffEvents.d.ts.map +1 -0
  873. package/lib/types/handoffEvents.js +128 -0
  874. package/lib/types/i18n.d.ts +3189 -68
  875. package/lib/types/i18n.d.ts.map +1 -1
  876. package/lib/types/i18n.js +855 -9
  877. package/lib/types/ink/colorize.d.ts.map +1 -1
  878. package/lib/types/ink/colorize.js +8 -2
  879. package/lib/types/ink/components/AlternateScreen.d.ts +12 -1
  880. package/lib/types/ink/components/AlternateScreen.d.ts.map +1 -1
  881. package/lib/types/ink/components/AlternateScreen.js +25 -4
  882. package/lib/types/ink/components/App.d.ts +5 -1
  883. package/lib/types/ink/components/App.d.ts.map +1 -1
  884. package/lib/types/ink/components/App.js +52 -5
  885. package/lib/types/ink/components/Image.d.ts +8 -1
  886. package/lib/types/ink/components/Image.d.ts.map +1 -1
  887. package/lib/types/ink/components/Image.js +2 -2
  888. package/lib/types/ink/components/Text.d.ts +8 -1
  889. package/lib/types/ink/components/Text.d.ts.map +1 -1
  890. package/lib/types/ink/components/Text.js +11 -1
  891. package/lib/types/ink/dom.d.ts.map +1 -1
  892. package/lib/types/ink/dom.js +75 -3
  893. package/lib/types/ink/hooks/use-input.d.ts.map +1 -1
  894. package/lib/types/ink/hooks/use-input.js +9 -4
  895. package/lib/types/ink/ink.d.ts.map +1 -1
  896. package/lib/types/ink/ink.js +8 -2
  897. package/lib/types/ink/kitty-graphics.d.ts +7 -2
  898. package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
  899. package/lib/types/ink/kitty-graphics.js +15 -7
  900. package/lib/types/ink/node-cache.d.ts +15 -1
  901. package/lib/types/ink/node-cache.d.ts.map +1 -1
  902. package/lib/types/ink/node-cache.js +4 -1
  903. package/lib/types/ink/output.d.ts.map +1 -1
  904. package/lib/types/ink/output.js +2 -0
  905. package/lib/types/ink/parse-keypress.d.ts +13 -0
  906. package/lib/types/ink/parse-keypress.d.ts.map +1 -1
  907. package/lib/types/ink/parse-keypress.js +438 -19
  908. package/lib/types/ink/reconciler.d.ts.map +1 -1
  909. package/lib/types/ink/reconciler.js +9 -0
  910. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  911. package/lib/types/ink/render-node-to-output.js +200 -4
  912. package/lib/types/ink/render-stats.d.ts +35 -0
  913. package/lib/types/ink/render-stats.d.ts.map +1 -0
  914. package/lib/types/ink/render-stats.js +53 -0
  915. package/lib/types/ink/sixel-codec.d.ts +11 -1
  916. package/lib/types/ink/sixel-codec.d.ts.map +1 -1
  917. package/lib/types/ink/sixel-codec.js +10 -3
  918. package/lib/types/ink/sixel-graphics.js +2 -2
  919. package/lib/types/ink/styles.d.ts +46 -0
  920. package/lib/types/ink/styles.d.ts.map +1 -1
  921. package/lib/types/ink/terminal-image.d.ts +7 -0
  922. package/lib/types/ink/terminal-image.d.ts.map +1 -1
  923. package/lib/types/ink/terminal-querier.d.ts +1 -1
  924. package/lib/types/ink/terminal-querier.js +4 -4
  925. package/lib/types/ink/text-decoration.d.ts +49 -0
  926. package/lib/types/ink/text-decoration.d.ts.map +1 -0
  927. package/lib/types/ink/text-decoration.js +235 -0
  928. package/lib/types/ink/update-overflow-guard.d.ts +9 -0
  929. package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
  930. package/lib/types/ink/update-overflow-guard.js +41 -0
  931. package/lib/types/ink/wrap-text.d.ts.map +1 -1
  932. package/lib/types/ink/wrap-text.js +5 -1
  933. package/lib/types/kernelPrefs.d.ts +51 -0
  934. package/lib/types/kernelPrefs.d.ts.map +1 -0
  935. package/lib/types/kernelPrefs.js +126 -0
  936. package/lib/types/modelRecents.d.ts +10 -2
  937. package/lib/types/modelRecents.d.ts.map +1 -1
  938. package/lib/types/modelRecents.js +20 -7
  939. package/lib/types/screens/AgentTranscriptScene.d.ts +42 -0
  940. package/lib/types/screens/AgentTranscriptScene.d.ts.map +1 -0
  941. package/lib/types/screens/AgentTranscriptScene.js +269 -0
  942. package/lib/types/screens/Chat.d.ts +45 -7
  943. package/lib/types/screens/Chat.d.ts.map +1 -1
  944. package/lib/types/screens/Chat.js +625 -113
  945. package/lib/types/screens/Launchpad.d.ts +24 -7
  946. package/lib/types/screens/Launchpad.d.ts.map +1 -1
  947. package/lib/types/screens/Launchpad.js +147 -28
  948. package/lib/types/screens/SessionSupervisor.d.ts +3 -3
  949. package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
  950. package/lib/types/screens/SessionSupervisor.js +69 -5
  951. package/lib/types/screens/Settings.d.ts.map +1 -1
  952. package/lib/types/screens/Settings.js +211 -7
  953. package/lib/types/screens/StatusLine.d.ts +40 -1
  954. package/lib/types/screens/StatusLine.d.ts.map +1 -1
  955. package/lib/types/screens/StatusLine.js +131 -19
  956. package/lib/types/screens/StatusMetrics.d.ts +53 -17
  957. package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
  958. package/lib/types/screens/StatusMetrics.js +141 -30
  959. package/lib/types/screens/TrajectoryScene.d.ts.map +1 -1
  960. package/lib/types/screens/TrajectoryScene.js +74 -12
  961. package/lib/types/screens/chat/backendCommands.d.ts +37 -0
  962. package/lib/types/screens/chat/backendCommands.d.ts.map +1 -0
  963. package/lib/types/screens/chat/backendCommands.js +51 -0
  964. package/lib/types/screens/chat/useBackendChannels.d.ts +20 -0
  965. package/lib/types/screens/chat/useBackendChannels.d.ts.map +1 -0
  966. package/lib/types/screens/chat/useBackendChannels.js +117 -0
  967. package/lib/types/screens/chat/useKernelPicker.d.ts +23 -0
  968. package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -0
  969. package/lib/types/screens/chat/useKernelPicker.js +72 -0
  970. package/lib/types/screens/chatOverlay.d.ts +32 -2
  971. package/lib/types/screens/chatOverlay.d.ts.map +1 -1
  972. package/lib/types/screens/chatOverlay.js +9 -0
  973. package/lib/types/screens/sessionSupervisor/useForeignSessions.d.ts.map +1 -1
  974. package/lib/types/screens/sessionSupervisor/useForeignSessions.js +5 -1
  975. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +14 -0
  976. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
  977. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +97 -22
  978. package/lib/types/sessionHistory.d.ts +18 -1
  979. package/lib/types/sessionHistory.d.ts.map +1 -1
  980. package/lib/types/sessionHistory.js +46 -4
  981. package/lib/types/sessionPins.d.ts +7 -0
  982. package/lib/types/sessionPins.d.ts.map +1 -1
  983. package/lib/types/sessionPins.js +9 -0
  984. package/lib/types/sessions/resumeFailure.d.ts.map +1 -1
  985. package/lib/types/sessions/resumeFailure.js +2 -1
  986. package/lib/types/settings/definitions.d.ts +74 -0
  987. package/lib/types/settings/definitions.d.ts.map +1 -1
  988. package/lib/types/settings/definitions.js +50 -4
  989. package/lib/types/terminal-utils/hyperlink.d.ts +2 -2
  990. package/lib/types/terminal-utils/hyperlink.d.ts.map +1 -1
  991. package/lib/types/terminal-utils/hyperlink.js +21 -4
  992. package/lib/types/terminal-utils/markdown.d.ts +34 -6
  993. package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
  994. package/lib/types/terminal-utils/markdown.js +257 -66
  995. package/lib/types/theme.d.ts +49 -8
  996. package/lib/types/theme.d.ts.map +1 -1
  997. package/lib/types/theme.js +514 -18
  998. package/lib/types/tips.js +2 -2
  999. package/lib/types/trajectory/effortIgnition.d.ts +25 -7
  1000. package/lib/types/trajectory/effortIgnition.d.ts.map +1 -1
  1001. package/lib/types/trajectory/effortIgnition.js +106 -34
  1002. package/lib/types/trajectory/window.d.ts +26 -0
  1003. package/lib/types/trajectory/window.d.ts.map +1 -0
  1004. package/lib/types/trajectory/window.js +27 -0
  1005. package/lib/types/tuiDisplayPrefs.d.ts +38 -1
  1006. package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
  1007. package/lib/types/tuiDisplayPrefs.js +45 -1
  1008. package/lib/types/update.d.ts +88 -3
  1009. package/lib/types/update.d.ts.map +1 -1
  1010. package/lib/types/update.js +285 -18
  1011. package/lib/types/utils/crashDetail.d.ts +56 -0
  1012. package/lib/types/utils/crashDetail.d.ts.map +1 -0
  1013. package/lib/types/utils/crashDetail.js +175 -0
  1014. package/lib/types/utils/imageResize.d.ts +9 -23
  1015. package/lib/types/utils/imageResize.d.ts.map +1 -1
  1016. package/lib/types/utils/imageResize.js +24 -20
  1017. package/lib/types/utils/inputPaste.d.ts +9 -8
  1018. package/lib/types/utils/inputPaste.d.ts.map +1 -1
  1019. package/lib/types/utils/inputPaste.js +53 -16
  1020. package/lib/types/utils/jsonl.d.ts +24 -0
  1021. package/lib/types/utils/jsonl.d.ts.map +1 -0
  1022. package/lib/types/utils/jsonl.js +36 -0
  1023. package/package.json +18 -2
package/README.md CHANGED
@@ -31,8 +31,9 @@
31
31
  - **Mermaid diagrams** — ````mermaid ```` fences drawn as Unicode diagrams.
32
32
  - **LaTeX math** — `$…$` and `$$…$$` formulas as Unicode text, fractions and limits stacked in display blocks; `mathRendering: image` typesets block and one-row inline formulas as terminal images on graphics terminals.
33
33
  - **Timeline rail** — every turn clickable; timeline / scrollbar / hidden gutter.
34
- - **Side panel** — `Ctrl+B` splits the chat with a panel column (todo / jobs) once the terminal is wide enough; narrow terminals and inline mode keep today's full-screen panels.
34
+ - **Side panel** — `Ctrl+B` splits the chat with a panel column once the terminal is wide enough; all eight built-in panels are enabled by default. Narrow terminals and inline mode keep full-screen panels.
35
35
  - **Live state** — activity animation, context bar, TPS, cache hit rate, effort, tokens, session cost estimate (main + subagents), Git and session metadata.
36
+ Context-bar fill follows backend occupancy; colors estimate content composition. Compaction clears obsolete estimates, and missing composition displays a single used block.
36
37
  - **One session manager** — `/resume` `/home` `/agentview` `/bg` `⌸`.
37
38
  - **Session workflow** — `/new` `/compact` `/export` `/btw`, model hot-switch, fork, rewind, vim, fullscreen draft editor.
38
39
  - **IDE selection channel** — a VS Code selection lands in the prompt.
@@ -171,11 +172,86 @@ Full guide: [Session migration](docs/migrate.en.md).
171
172
 
172
173
  **VS Code**: use the integrated terminal or the `dsh-tui-vscode` extension. See [VS Code guide](docs/vscode.en.md). **Herdr**: run `dsh-tui` in a [Herdr](https://herdr.dev) pane; `idle` / `working` / `blocked` are reported through its local integration API.
173
174
 
175
+ ### Experimental: Claude backend
176
+
177
+ dsh-TUI can also run its session on Claude: the same interface, driving the
178
+ Claude Code CLI through the Claude Agent SDK. Your project's `CLAUDE.md`,
179
+ settings, hooks, MCP servers and plugins load as the CLI loads them.
180
+
181
+ ```sh
182
+ # once, in the dsh-tui profile directory (the SDK is an optional dependency)
183
+ cd ~/.dsh/profiles/dsh-tui && pnpm add @anthropic-ai/claude-agent-sdk@0.3.287
184
+ dsh-tui --backend claude # or pick Claude in /kernel; that choice is remembered
185
+ ```
186
+
187
+ The easiest install: open the kernel picker (the launchpad "Kernel" entry or
188
+ `/kernel`) and press Enter on the dim Claude row — the wizard locates the
189
+ profile directory and installs the pinned SDK for you; the command above is
190
+ its manual equivalent.
191
+
192
+ - **Sign-in**: a `/channel` relay profile, your dsh-auth `anthropic` sign-in
193
+ (`/login`), `ANTHROPIC_API_KEY` or cloud-provider variables, or an existing
194
+ `claude login`, in that order. A `claude` on `PATH` is used when present,
195
+ otherwise the SDK's bundled binary.
196
+ - **Works**: streaming, tool cards, approvals and questions, `/model`,
197
+ `/effort`, Claude's permission modes (`/permission`, `Shift+Tab`),
198
+ `/compact`, `/context`, `/mcp`, `/resume`, `/fork`, double-`Esc` rewind,
199
+ subagents, background jobs, images, `/btw`, and the USD cost Claude reports.
200
+ - **Not available**: DSH-only commands such as `/tree`, `/preset`,
201
+ `/provider`, `/workspace`, `/agentview` and `/bg`. One process runs one
202
+ backend; `/kernel` switches by restarting into a new session.
203
+
204
+ Details and known limitations: [Claude backend](docs/claude-backend.en.md).
205
+
206
+ ### Experimental: native Codex backend
207
+
208
+ Run your own Codex through `codex app-server`, sharing its configuration,
209
+ login, instructions, skills, hooks, MCP and native threads:
210
+
211
+ ```sh
212
+ npm install -g @openai/codex@0.160.1
213
+ dsh-tui --backend codex
214
+ dsh-tui --backend codex --resume <thread-id>
215
+ ```
216
+
217
+ Protocol baseline **0.160.1**, minimum **0.144.0**; other versions may show
218
+ drift. `CODEX_EXECUTABLE` selects a binary; `/kernel` remembers the backend.
219
+ `codex resume <id>` can open the same thread after the other writer exits.
220
+ This is not `migrate codex`, which imports history into DSH.
221
+ With native credentials, a writer conflict for an idle thread retained by the
222
+ official background server triggers a reconnection to that server. Managed
223
+ subscription credentials and `/channel` connections use private app-server processes.
224
+
225
+ Streaming/tool cards, approvals, questions, steer/queue/interrupt, model and
226
+ effort controls, Plan, `/review`, `/diff`, `/usage`, `/init`, skills and MCP
227
+ share the existing UI. **Shift+Tab only toggles Plan**, keeping its underlying
228
+ permission preset; Full Access requires an explicit choice. Existing Codex
229
+ settings are respected, not overwritten with defaults. `/login` offers
230
+ ChatGPT OAuth, a device code or an API key (the last writes to Codex’s own
231
+ credential store). Relay `/channel` connections take precedence; managed
232
+ subscription tokens are only injected on first-party routes. dsh-TUI does
233
+ not write `~/.codex/config.toml` or log out your native Codex account.
234
+
235
+ TPS includes hidden reasoning time and excludes tool execution time. Live
236
+ text estimates are corrected when Codex reports output token usage.
237
+
238
+ Native browsing/archive, fork/conversation rewind, paged history, images,
239
+ subagents, polled background terminals, goals and `/btw`/`/recap` use the
240
+ existing surfaces. `/logout` removes only the matching dsh-auth credential;
241
+ already-loaded managed tokens require a normal restart, not native logout.
242
+ The real 0.160.1 app-server passed nine credential-free offline checks and eight
243
+ daemon-resume checks, with no model turn or charge; real subscription login, credentialed model calls
244
+ and real-TTY interaction were not run. Only Codex identification/title
245
+ changes automatically, not palette or companion.
246
+ Using ChatGPT subscription tokens in third-party clients is subject to
247
+ OpenAI’s terms. Full instructions and current boundaries:
248
+ [Codex backend](docs/codex-backend.en.md).
249
+
174
250
  ## Keybindings & Mouse
175
251
 
176
- `Enter` send · `Tab` complete · `Ctrl+Enter` interrupt and send · `Alt+Up` recall the last message · `Esc` dismiss, double-`Esc` rewinds · `Ctrl+B` side panel · `Ctrl+O` details · `Ctrl+R` history (`↑`/`↓` and `Ctrl+R` are scoped to the current project) · `Ctrl+V` paste · `Ctrl+Shift+E` fullscreen draft editor · `?` shortcuts · `←` background the session.
252
+ `Enter` send · `Tab` complete · `Ctrl+Enter` interrupt and send · `Alt+Up` recall the last message · `Esc` dismiss, double-`Esc` rewinds · `Ctrl+B` side panel · `Ctrl+O` details · `Ctrl+R` history (`↑`/`↓` and `Ctrl+R` are scoped to the current project) · `Ctrl+V` paste · `Ctrl+Shift+E` fullscreen draft editor · `?` shortcuts · `←` open the session manager (DSH backgrounds the current session first).
177
253
 
178
- While the model is working: `Enter` steers, `Tab` queues a follow-up, `Ctrl+Enter` interrupts and sends.
254
+ While the model is working: `Enter` steers, `Tab` queues a follow-up, `Ctrl+Enter` interrupts and sends. Input that names a command is still a command — with or without arguments — so `/model` or `/new` reach their own gate (and the `/` overlay sinks the commands that affect the running conversation) instead of silently becoming an interruption; only text that is not a command — and a direct skill gesture such as `/skill-name …` — steers.
179
255
 
180
256
  On native Windows, fragmented Win32 input records are reassembled across short input delays instead of appearing as numeric protocol text. The platform check only reports that this machine might run the private mode (win32-input-mode); a bare `ESC[` fragment is held only after one record has actually been decoded, while a fragment whose own shape is already record-specific holds on its own (which is how even the first record can survive a split). Windows terminals that never enter the mode (mintty, GitBash) therefore keep the classic VT path: a lone `Esc` keeps its normal response time, and a letter typed after a timed-out `ESC[` is not swallowed.
181
257
 
@@ -197,7 +273,7 @@ Mouse (fullscreen): drag to select and copy, double/triple click to select a wor
197
273
 
198
274
  File paths in prose can open the file-action menu; automatic detection does not extract a path from inside a slash-delimited token such as `working/idle/needs-input` or a date such as `2024/01/15`.
199
275
 
200
- **Pasting**: native and bracketed paste keeps ordinary text and newlines, and never submits itself on arrival. On Windows terminals that deliver a paste as win32-input-mode key records, the residue is stripped at the entry point (a multi-line paste no longer leaves stray `_`) and pasted CRLF collapses to a single newline; genuine underscores and bracketed-paste text are untouched.
276
+ **Pasting**: native and bracketed paste keeps ordinary text and newlines, and never submits itself on arrival. On Windows terminals that deliver a paste as win32-input-mode key records, a record stream leaked into the payload is decoded back into the characters its `Uc` field encodes — newlines included — so the composer's line count matches what was pasted; only records with no character meaning are stripped (a multi-line paste no longer leaves stray `_`), and a complete record is always consumed before an ESC-less tail, so no payload character is deleted along with an orphan escape. Pasted CRLF collapses to a single newline; genuine underscores and bracketed-paste text are untouched.
201
277
 
202
278
  **Dropped files**: a native Windows desktop drop (Windows Terminal / OpenConsole) arrives as an OSC 8 hyperlink; the parser restores its `file://` URI to a decoded local path before paste hygiene runs, so the `]8;id=…;` parameter bytes never reach the draft. Image paths enter the existing image staging pipeline; other files are inserted as a referenceable path (a path containing whitespace arrives in the composer's quoted `"…"` single-token form). Only `file://` URIs are restored, and it is fail-closed: a remote authority/UNC, a payload carrying several distinct URIs, or a URI that carries several tokens is refused and stays literal text rather than guessed.
203
279
 
@@ -207,11 +283,15 @@ Full reference: [Interaction and commands](docs/interaction.en.md).
207
283
 
208
284
  `/resume` · `/home` · `/agentview` · `/bg` · `⌸` open the same session manager: workspace rail, live state, filter, ★ pins. Also `/model` `/new` `/compact` `/export` `/btw` `/tree` `/fork` `/rewind` `/settings` `/setup` `/status` `/cost` `/jobs` `/skills` `/mcp` `/provider` `/auth` `/login` `/update`.
209
285
 
286
+ In `/provider`'s model list, focus a model and press `Tab` to edit its context window, max output tokens, reasoning efforts, and image input capability.
287
+
210
288
  The session manager paints the last successful list immediately while it checks the persistence store for changes. Titles that require a deeper log scan appear first with a fallback name and update in place when recovery finishes.
211
289
  Removing a workspace registration keeps its sessions accessible under a "History only" directory in the rail.
212
290
  History-only directories offer edit and new-session actions; rename and remove are available for registered workspaces.
213
291
 
214
- **Background sessions**: `/bg` or `←` on an empty prompt; `Esc` returns. They run in this process and stop when the TUI exits. Logs survive.
292
+ **Background jobs**: card headers open the focused task panel. Click the card body or use `Ctrl+O` to toggle the command between its first statement and full script. Commands and output use separate colored edges with `❯` (`>` on Windows) and `≡` on their first rows; output always stays at the latest two visible rows. `/jobs` and the side panel keep the full output scrollable, while `e` toggles the focused command. Consecutive blank script lines collapse to one.
293
+
294
+ **Background sessions**: On the DSH backend, `/bg` or `←` on an empty prompt backgrounds the current session and opens the session manager; `Esc` returns to it. Background sessions run in this process and stop when the TUI exits. Logs survive. On Claude/Codex, those entries open the session manager without backgrounding the session.
215
295
 
216
296
  Full commands: [Interaction and commands](docs/interaction.en.md).
217
297
 
Binary file
package/bin/dsh-tui.js CHANGED
@@ -62,6 +62,8 @@ const ownPackage = readJson(join(ownDir, 'package.json'))
62
62
  const ownVersion = ownPackage?.name === '@deepseek-harness-tui/dsh-tui' ? ownPackage.version : undefined
63
63
  const PACKAGE = '@deepseek-harness-tui/dsh-tui'
64
64
  const PROFILE = 'dsh-tui'
65
+ // Kept local so the launcher also works without compiled modules.
66
+ const KERNEL_IDS = ['dsh', 'claude', 'codex']
65
67
 
66
68
  // 随包用户手册(guide/,见 scripts/build-guide.mjs):交给 dsh 当内核
67
69
  // dsh-skill-filesystem 的随包技能根(rank 600 的 bundledSkillDir 默认取这个
@@ -464,6 +466,7 @@ const MSG = {
464
466
  `Options:\n` +
465
467
  ` --resume [id] Resume the last (or the given) session\n` +
466
468
  ` -c, --continue Same as --resume\n` +
469
+ ` --backend <id> Agent backend: dsh | claude | codex (claude, codex: experimental)\n` +
467
470
  ` -- <prompt...> Treat the remaining arguments as literal prompt text\n` +
468
471
  ` <path|url> Open with the given workspace target\n\n` +
469
472
  `Leading DSH options (e.g. --dump-config, --patch <path>) are forwarded unchanged.\n` +
@@ -481,6 +484,7 @@ const MSG = {
481
484
  `选项:\n` +
482
485
  ` --resume [id] 恢复上次(或指定 id 的)会话\n` +
483
486
  ` -c, --continue 同 --resume\n` +
487
+ ` --backend <id> Agent 后端:dsh | claude | codex(claude、codex 为实验性)\n` +
484
488
  ` -- <提示词...> 将剩余参数作为字面提示词\n` +
485
489
  ` <路径|URL> 以指定工作区目标启动\n\n` +
486
490
  `前置 DSH 选项(如 --dump-config、--patch <路径>)原样转发。\n` +
@@ -646,8 +650,7 @@ const runDoctorChecks = () => {
646
650
  return { hardFailure, lines }
647
651
  }
648
652
  // ─── safe 会话支撑(清单解析与报告渲染,交互/非交互共用)──────────────────────
649
- // 保护包:组合层模板与 TUI 本体,不进入卸载候选。两维度分类是 PR② 卸载
650
- // 功能将复用的唯一分类规则,不得合并简化(spec §6.1)。
653
+ // Packages that profile repair and rescue must never remove.
651
654
  const PROTECTED_PLUGINS = new Set(['@deepseek-ai/dsh-base', PACKAGE])
652
655
  // dir 参数供救援 profile 复用同一套解析规则(两处 manifest 契约不许分叉)。
653
656
  const readProfileInventory = (dir = profileDir) => {
@@ -738,7 +741,7 @@ const forwardExit = child => {
738
741
  // 统一表示子进程结局;不在此处做任何退出决定——退出权在调用者(首启结算
739
742
  // 或 safe 菜单)。Windows 经 cmd()/shell:true 启动(见 cmd 注释),壳层
740
743
  // 观察到的 signal 不保证等同内部 dsh 的中断语义:判定一律只看数值 code,
741
- // 不从数值反推信号(spec §5.1)。
744
+ // Do not infer a signal from the numeric exit code.
742
745
  const startDshSession = (dshArgs, profile = PROFILE, env = process.env) =>
743
746
  new Promise(resolve => {
744
747
  const child = spawn(...cmd('dsh', ['--profile', profile, ...dshArgs]), {
@@ -766,19 +769,76 @@ const rescueEnv = () => {
766
769
  return env
767
770
  }
768
771
 
772
+ // ─── 最后运行记录 ────────────────────────────────────────────────────────────
773
+ // TUI 把 {backendId,sessionId,cwd,attemptId} 写进 ~/.dsh-tui/last-run.json
774
+ // (boot 写一次,退出时刷新,见 src/update.ts 的 writeLastRunRecord)。
775
+ // 内核切换后本进程的 env 仍是原内核,安全模式重试若按 env 去读 resume.txt
776
+ // 或其他后端偏好,会回到原内核,甚至拿 DSH 的会话 id 跨后端恢复;所以
777
+ // 本次启动之后写下的记录优先。
778
+ const readLastRunRecord = () => {
779
+ try {
780
+ const parsed = JSON.parse(readFileSync(join(homedir(), '.dsh-tui', 'last-run.json'), 'utf8'))
781
+ if (parsed === null || typeof parsed !== 'object') return undefined
782
+ if (!KERNEL_IDS.includes(parsed.backendId)) return undefined
783
+ if (typeof parsed.sessionId !== 'string' || typeof parsed.cwd !== 'string' || typeof parsed.attemptId !== 'string') return undefined
784
+ if (typeof parsed.updatedAt !== 'number' || !Number.isFinite(parsed.updatedAt)) return undefined
785
+ return parsed
786
+ } catch {
787
+ return undefined
788
+ }
789
+ }
790
+ // 记录 → 重试 env:DSH_TUI_BACKEND 与一次性的 DSH_TUI_BACKEND_HANDOFF(后者
791
+ // 压过 Config 行)都设成记录里的内核;记录有可恢复的会话 id 才设
792
+ // DSH_TUI_RESUME_SESSION,否则删掉继承来的值,在该内核上冷启动。
793
+ const envFromLastRun = record => {
794
+ const env = { ...process.env }
795
+ env.DSH_TUI_BACKEND = record.backendId
796
+ env.DSH_TUI_BACKEND_HANDOFF = record.backendId
797
+ if (typeof record.sessionId === 'string' && record.sessionId.trim() !== '') {
798
+ env.DSH_TUI_RESUME_SESSION = record.sessionId
799
+ } else {
800
+ delete env.DSH_TUI_RESUME_SESSION
801
+ }
802
+ return env
803
+ }
804
+ // 首次 spawn 前记下的时刻:updatedAt 不早于它的记录是本次启动的 TUI 写的,
805
+ // 更早的是上一次启动留下的。
806
+ let launchChain = null
807
+ const noteLaunchChain = () => {
808
+ launchChain = { startedAt: Date.now() }
809
+ }
810
+
811
+ // 非 DSH 内核的上次会话来自各自 backends/<id>/prefs.json 的 lastSession。
812
+ const readBackendLastSession = backendId => {
813
+ try {
814
+ const prefs = JSON.parse(readFileSync(join(homedir(), '.dsh-tui', 'backends', backendId, 'prefs.json'), 'utf8'))
815
+ return typeof prefs?.lastSession === 'string' ? prefs.lastSession.trim() : ''
816
+ } catch {
817
+ return ''
818
+ }
819
+ }
769
820
  // 安全模式「重试正常启动」的环境(菜单选项 1,首启 fallback 与 `safe` 共用):
770
- // 崩溃往往发生在 TUI 的退出漏斗之前,此时 `~/.dsh-tui/resume.txt` 是"用户上
771
- // 一刻在哪个会话"的唯一线索(TUI 侧崩溃分支也会写它,见
772
- // src/dsh-adapter/plugin.ts 的退出漏斗)。不带这个变量重试等于开一个新的空会话
773
- // ——正是「会话丢了」的观感。已经显式设了该变量(用户自己 `--resume`)则不覆盖;
774
- // 指针缺失/不可读时保持冷启动语义。
821
+ // 1. 本次启动之后写下的最后运行记录:崩溃时实际在跑的内核与会话,压过
822
+ // env 里的 --resume(内核切换是用户更新的选择)。
823
+ // 2. 没有这样的记录(崩得太早,或旧版本不写):env 里已有
824
+ // DSH_TUI_RESUME_SESSION 就照用;否则按 env 的后端读它的上次会话
825
+ // (resume.txt 或对应后端偏好文件),读不到就冷启动。
775
826
  const resumeEnvForRetry = () => {
827
+ const chain = launchChain
828
+ const record = readLastRunRecord()
829
+ if (record !== undefined && chain !== null && record.updatedAt >= chain.startedAt) {
830
+ return envFromLastRun(record)
831
+ }
776
832
  if (process.env.DSH_TUI_RESUME_SESSION !== undefined) return process.env
777
833
  let target = ''
778
- try {
779
- target = readFileSync(join(homedir(), '.dsh-tui', 'resume.txt'), 'utf8').trim()
780
- } catch {
781
- // 没有历史会话可恢复——静默冷启动。
834
+ if (KERNEL_IDS.includes(process.env.DSH_TUI_BACKEND) && process.env.DSH_TUI_BACKEND !== 'dsh') {
835
+ target = readBackendLastSession(process.env.DSH_TUI_BACKEND)
836
+ } else {
837
+ try {
838
+ target = readFileSync(join(homedir(), '.dsh-tui', 'resume.txt'), 'utf8').trim()
839
+ } catch {
840
+ // 没有历史会话可恢复——静默冷启动。
841
+ }
782
842
  }
783
843
  return target === '' ? process.env : { ...process.env, DSH_TUI_RESUME_SESSION: target }
784
844
  }
@@ -789,7 +849,7 @@ const isInteractive = () => Boolean(process.stdin.isTTY && process.stdout.isTTY)
789
849
 
790
850
  // 子进程异常退出后终端可能停在脏状态(alt-screen/鼠标/隐藏光标——清理
791
851
  // 责任在 TUI 的 ink 退出路径,不保证完成)。进入询问/菜单前做最小恢复,
792
- // 仅为让后续界面可读,不承诺完整复原(spec §6.2)。
852
+ // Reset the screen and mouse modes before prompting after a child exit.
793
853
  const restoreTerminalMinimal = () => {
794
854
  process.stdout.write('\x1b[?1049l\x1b[?1000l\x1b[?1006l\x1b[?25h')
795
855
  }
@@ -803,7 +863,7 @@ const askSafeEntry = async pendingExitCode => {
803
863
  // 与 runSafeSession.askChoice 同款 close 竞速:接口 close(上方 SIGINT
804
864
  // 处理器主动 close,或 TTY 的 Ctrl+D/EOF)时 question 可能永不结算——
805
865
  // 裸 await 会让 fallback 询问挂死(PTY 实测 Ctrl+C 下顶层 await 以退出
806
- // 码 13 异常中止)。close 一律按取消,对齐 spec §6.2:Ctrl+C/Ctrl+D/EOF
866
+ // 码 13 异常中止)。close 一律按取消:Ctrl+C/Ctrl+D/EOF
807
867
  // 等价拒绝(按原退出码收束)。
808
868
  let answer
809
869
  try {
@@ -907,7 +967,7 @@ const runSafeSession = async ({ pendingExitCode = 0, retryDsh, extraLines, rescu
907
967
  // cold start = 手动入口无已规范化 args,按空参数冷启动。
908
968
  const replay = typeof retryDsh === 'function'
909
969
  console.log(L.retry + (replay ? L.replaySource : L.coldStartSource))
910
- // 两来源共用 profileReady 前置(spec §4:重试不得隐式自举)。
970
+ // Both retry paths require a ready profile; neither bootstraps it.
911
971
  if (!profileReady()) { console.error(msg('safeListUnreadable')(msg('safeGuideLabels').notReadyReason)); continue }
912
972
  state.handingOff = true // 主动交接:此刻起的中断不算用户取消
913
973
  const settled = settleRetry(replay ? await retryDsh() : await startDshSession([]))
@@ -1223,7 +1283,7 @@ const checkProfileAlignment = installedVersion => {
1223
1283
  // ─── 子命令:safe(安全模式入口,两种角色同一段代码)──────────────────────────
1224
1284
  // 零 lib 依赖、不委托、不自举(对齐 doctor 的依赖边界,而非 update 的
1225
1285
  // profile-lib 路径):profile 损坏时它必须仍可达。控制面只读;重试与
1226
- // 修复动作语义见 safe 会话实现(spec §4/§5)。
1286
+ // Recovery and retry behavior lives in runSafeSession.
1227
1287
  // `safe --rescue` 是同一个救援动作的显式入口(不是新动作):交互终端里
1228
1288
  // 等价于菜单选项 5(门禁 → 创建/复用 → 干净启动),非交互终端里只做
1229
1289
  // 门禁 + 创建/复用并报告结论(没有终端可交接时不启动 TUI),以便脚本与
@@ -1376,6 +1436,11 @@ if (!runningInsideProfile && ownVersion !== undefined && process.env.DSH_TUI_NO_
1376
1436
  const hostArgs = []
1377
1437
  const args = []
1378
1438
  const argv = process.argv.slice(2)
1439
+ // Resume flags in command-line order: an explicit id, or `null` for a bare
1440
+ // flag. Replayed after the whole line is read, with the original
1441
+ // "each flag sets it, the last one wins" semantics — only a bare flag's
1442
+ // source depends on the backend, which may be named after it.
1443
+ const resumeFlags = []
1379
1444
  for (let i = 0; i < argv.length; i++) {
1380
1445
  const a = argv[i]
1381
1446
  if (a === '--') {
@@ -1396,6 +1461,18 @@ if (!runningInsideProfile && ownVersion !== undefined && process.env.DSH_TUI_NO_
1396
1461
  continue
1397
1462
  }
1398
1463
  }
1464
+ // `--backend <id>`: which agent backend the app opens its session with
1465
+ // (the row reads DSH_TUI_BACKEND; absent falls back to kernel.json, then dsh).
1466
+ if (a === '--backend' || a.startsWith('--backend=')) {
1467
+ const backend = a.startsWith('--backend=') ? a.slice('--backend='.length).trim() : (argv[i + 1] ?? '').trim()
1468
+ if (a === '--backend' && argv[i + 1] !== undefined) i += 1
1469
+ if (!KERNEL_IDS.includes(backend)) {
1470
+ console.error(lang === 'zh' ? `未知的 --backend:${backend}(可选 ${KERNEL_IDS.join(' / ')})` : `Unknown --backend: ${backend} (expected ${KERNEL_IDS.join(' or ')})`)
1471
+ process.exit(2)
1472
+ }
1473
+ process.env.DSH_TUI_BACKEND = backend
1474
+ continue
1475
+ }
1399
1476
  if (a === '--resume' || a === '-c' || a === '--continue' || a.startsWith('--resume=')) {
1400
1477
  let sessionId = ''
1401
1478
  if (a.startsWith('--resume=')) {
@@ -1403,8 +1480,8 @@ if (!runningInsideProfile && ownVersion !== undefined && process.env.DSH_TUI_NO_
1403
1480
  } else if (a === '--resume' && argv[i + 1] !== undefined && !argv[i + 1].startsWith('-')) {
1404
1481
  sessionId = argv[++i].trim()
1405
1482
  }
1406
- if (!sessionId) sessionId = readLastResumeTarget()
1407
- if (sessionId) setResumeEnv(sessionId)
1483
+ // 裸 --resume:等整条命令行读完再决定(`--backend` 可能在它后面)。
1484
+ resumeFlags.push(sessionId || null)
1408
1485
  } else if (
1409
1486
  process.env.DSH_TUI_WORKSPACE_TARGET === undefined
1410
1487
  && !a.startsWith('-')
@@ -1416,6 +1493,13 @@ if (!runningInsideProfile && ownVersion !== undefined && process.env.DSH_TUI_NO_
1416
1493
  }
1417
1494
  }
1418
1495
 
1496
+ // 按出现顺序重放 --resume:裸 --resume 时 DSH 读 resume.txt(契约不变),
1497
+ // 其他内核读各自的上次会话。
1498
+ for (const flag of resumeFlags) {
1499
+ const sessionId = flag ?? (KERNEL_IDS.includes(process.env.DSH_TUI_BACKEND) && process.env.DSH_TUI_BACKEND !== 'dsh' ? readBackendLastSession(process.env.DSH_TUI_BACKEND) : readLastResumeTarget())
1500
+ if (sessionId) setResumeEnv(sessionId)
1501
+ }
1502
+
1419
1503
  // 启动:被委托场景下本副本自己的版本即对齐诊断所见的启动器代际。
1420
1504
  if (process.env.DSH_TUI_LAUNCHER_VERSION === undefined && ownVersion !== undefined) {
1421
1505
  process.env.DSH_TUI_LAUNCHER_VERSION = ownVersion
@@ -1424,5 +1508,7 @@ if (!runningInsideProfile && ownVersion !== undefined && process.env.DSH_TUI_NO_
1424
1508
  // DSH consumes its own --; only the app tail belongs behind it. Preserve
1425
1509
  // the app-level separator too, and replay this same argv on a safe retry.
1426
1510
  const firstArgs = [...hostArgs, ...(args.length > 0 ? ['--', ...args] : [])]
1511
+ // 必须在首次 spawn 之前:本次启动的 TUI 写的记录都晚于这个时刻。
1512
+ noteLaunchChain()
1427
1513
  settleFirstResult(await startDshSession(firstArgs), firstArgs)
1428
1514
  }
package/cordis.patch.yml CHANGED
@@ -509,6 +509,8 @@
509
509
  preset: !!js process.env.DSH_TUI_PRESET ?? undefined
510
510
  workspace: !!js process.env.DSH_TUI_WORKSPACE_TARGET ?? undefined
511
511
  sessionId: !!js process.env.DSH_TUI_RESUME_SESSION ?? undefined
512
+ # Agent backend (`dsh-tui --backend claude` → DSH_TUI_BACKEND); unset → /kernel's remembered pick, else dsh.
513
+ backend: !!js process.env.DSH_TUI_BACKEND || undefined
512
514
 
513
515
  # Live working-line data source (thinking copy / running tool / turn
514
516
  # summary). Mounted through @deepseek-harness-tui/dsh-tui's own
package/cordis.yml CHANGED
@@ -91,6 +91,8 @@
91
91
  # feeds the chosen session id through this env var (see
92
92
  # src/sessionHistory.ts for the launcher contract).
93
93
  sessionId: !!js process.env.DSH_TUI_RESUME_SESSION ?? undefined
94
+ # Agent backend (`dsh-tui --backend claude` → DSH_TUI_BACKEND); unset → /kernel's remembered pick, else dsh.
95
+ backend: !!js process.env.DSH_TUI_BACKEND || undefined
94
96
  workspace: !!js process.env.DSH_TUI_WORKSPACE_TARGET ?? undefined
95
97
 
96
98
  # The DeepSeek adapter. Shipped default: full thinking at max effort.
@@ -5,14 +5,14 @@ description: Use when the user asks about dsh-tui itself (usage, shortcuts, conf
5
5
 
6
6
  # dsh-tui 用户手册(索引)
7
7
 
8
- 用户手册全文就在**本文件所在目录**——`skill` 工具返回的 `resourceBase`。共 8 篇,
8
+ 用户手册全文就在**本文件所在目录**——`skill` 工具返回的 `resourceBase`。共 10 篇,
9
9
  每篇中英各一份:中文文件名无后缀,英文加 `.en.md`。拿不到绝对路径时,用
10
10
  `glob` 在 dsh-tui 包里搜 `guide/dsh-tui-guide`。
11
11
 
12
12
  ## 怎么用
13
13
 
14
14
  1. **跟用户同语言**:中文提问读无后缀文件,英文提问读加后缀的那份;回答也用同一种语言。
15
- 2. **先定位再读**:16 个文件合计约 290 KB,整篇读既慢又挤上下文。先 `grep` 关键词拿到命中行,
15
+ 2. **先定位再读**:20 个文件按主题分篇,整篇读既慢又挤上下文。先 `grep` 关键词拿到命中行,
16
16
  再用 `read` 带 `offset`/`limit` 只展开需要的那几段。
17
17
  3. **一次一到两篇**:按下面的路由表挑最贴近的;跨主题时再补第二篇。
18
18
  4. **给出处**:回答末尾写清来源(文件名 + 小节标题),用户能直接翻回去核对。
@@ -26,6 +26,8 @@ description: Use when the user asks about dsh-tui itself (usage, shortcuts, conf
26
26
  | 日常使用、键位、斜杠命令、会话与工作流、设置 | `user-guide.md` |
27
27
  | 输入框、鼠标、选中复制、粘贴、图片、问卷与审批 | `interaction.md` |
28
28
  | 配置覆盖层、TUI 开关、agent preset、模型路由、MCP | `configuration.md` |
29
+ | Claude 后端:启用、登录、与 DSH 的差异、已知限制 | `claude-backend.md` |
30
+ | Codex 后端:安装、登录、渠道、Plan、会话与原生能力 | `codex-backend.md` |
29
31
  | 主题、配色、自动检测、自定义主题 | `themes.md` |
30
32
  | 从 Claude Code / Codex / OMP / zcode / Grok 迁移会话 | `migrate.md` |
31
33
  | VS Code 集成、扩展、IDE 选区 | `vscode.md` |
@@ -0,0 +1,203 @@
1
+ # Claude backend (experimental)
2
+
3
+ [Documentation index](README.md) · [中文](claude-backend.md)
4
+
5
+ dsh-TUI can run its session on the Claude Agent backend instead of the DeepSeek
6
+ Harness agent: the same interface, driving the Claude Code CLI through the Claude
7
+ Agent SDK. Your project's `CLAUDE.md`, settings, hooks, MCP servers and plugins
8
+ load the way the CLI loads them. The backend is still experimental; the
9
+ implementation is described in [Agent backends](agent-backend-design.md)
10
+ (Chinese).
11
+
12
+ ## Enabling it
13
+
14
+ You need:
15
+
16
+ - The Claude Agent SDK. It is an optional dependency and is not installed by
17
+ default. The easiest install: open the kernel picker (the launchpad "Kernel"
18
+ entry or `/kernel`) and press Enter on the dim Claude row — the wizard
19
+ locates the profile directory and installs the pinned SDK via pnpm; the row
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
22
+ directory (`~/.dsh/profiles/dsh-tui`, or `$DSH_HOME/profiles/dsh-tui` when
23
+ `DSH_HOME` is set):
24
+
25
+ ```sh
26
+ cd ~/.dsh/profiles/dsh-tui && pnpm add @anthropic-ai/claude-agent-sdk@0.3.287
27
+ ```
28
+
29
+ - 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.
33
+
34
+ To pick the backend, use any of:
35
+
36
+ - The launchpad's Kernel entry, the kernel block in its bottom-right corner, or
37
+ `/kernel` inside a session, which open the kernel picker. Picking the other
38
+ kernel remembers the choice (`~/.dsh-tui/kernel.json`) and restarts dsh-TUI
39
+ 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*.
42
+ - `dsh-tui --backend claude` (this launch only).
43
+ - `backend: claude` in the dsh-tui config row.
44
+
45
+ An explicit `--backend` or config value wins over the picker's remembered choice.
46
+
47
+ ## Signing in
48
+
49
+ Credentials are used in this order; `/login` shows which one the session runs on:
50
+
51
+ 1. The active channel in `/channel` (see
52
+ [Channel profiles](interaction.en.md#channel-profiles-channel-claude-only)).
53
+ 2. Your dsh-auth `anthropic` sign-in, the same OAuth `/provider` offers. `/login`
54
+ in a Claude session opens it directly and reconnects the session afterwards
55
+ (after the running turn, if there is one). While it is used,
56
+ `ANTHROPIC_API_KEY` / `ANTHROPIC_AUTH_TOKEN` from your environment are kept
57
+ away from the CLI so an old key cannot override the sign-in you just made.
58
+ 3. `ANTHROPIC_API_KEY` / `ANTHROPIC_AUTH_TOKEN` or cloud-provider routing
59
+ variables in your environment.
60
+ 4. Your existing `claude login`.
61
+
62
+ The subscription sign-in is used only for Anthropic's own API. When
63
+ `ANTHROPIC_BASE_URL` (in your environment or a Claude settings `env`) points
64
+ anywhere other than `https://api.anthropic.com`, or a Unix socket, a cloud
65
+ provider or gateway route, or an `apiKeyHelper` is configured, dsh-TUI does not
66
+ use the subscription token, passes your environment through untouched, and
67
+ `/login` names the route instead. A token about to expire is refreshed before
68
+ the CLI starts; if the CLI rejects it mid-session, dsh-TUI refreshes it and
69
+ reconnects the same session once, then asks you to `/login`. Token material is
70
+ never logged.
71
+
72
+ ## Compared with the DSH backend
73
+
74
+ Works the same as on DSH: streaming replies, thinking (a token count only when the
75
+ model sends no thinking text), tool cards, `Ctrl+C` cancel, queued messages and
76
+ holding the queue on `Esc`, `/new`, `/status`, `/export`, `!cmd` / `!!cmd`, the IDE selection,
77
+ the git branch in the status line, `/clear` (clears the view only; Claude keeps
78
+ its context).
79
+
80
+ Works, served by Claude:
81
+
82
+ | Feature | Notes |
83
+ | --- | --- |
84
+ | `/model` | Claude's own model list, no provider prefix (`/model sonnet`); the choice is remembered for later sessions |
85
+ | `/effort` | The levels the current model declares; none for a model without effort support |
86
+ | `/permission`, `Shift+Tab` | Claude's permission modes, see below |
87
+ | `/compact`, `/context` | Claude's compaction and context report |
88
+ | `/mcp` | Server status; `/mcp reconnect <server>` and `/mcp toggle <server> on\|off`, server names complete |
89
+ | `/cost`, status-line cost | The USD cost Claude reports; hover the cost field for subscription usage (5h / 7d) |
90
+ | `/doctor` | CLI path and version, SDK version, start permission mode, credential and account |
91
+ | `/rename`, `/color` | The title goes into Claude's session list; the accent is stored per session by dsh-TUI |
92
+ | `/btw`, `/recap` | One question over a throwaway copy of the conversation (no tools, one turn, nothing written to the transcript), one model call each; no automatic recap when a session opens |
93
+ | Claude's own slash commands | Listed in completion and sent to Claude as typed; where a name matches a dsh-TUI built-in, the built-in wins |
94
+ | `/channel` | Claude only: model names and connection of a relay channel, see [Channel profiles](interaction.en.md#channel-profiles-channel-claude-only) |
95
+
96
+ `/init` delegates to Claude's native initialization command. `/logout` only removes the Anthropic login stored by dsh-auth; it does not invoke native Claude logout. A running child may retain the managed token until a normal restart.
97
+
98
+ Not available (hidden from completion; typing one shows a notice and nothing is
99
+ sent to the model): `/tree`, `/agentview`, `/bg`, `/home`, `/workspace`,
100
+ `/preset`, `/provider`, `/balance`, `/config`, `/reload`,
101
+ `/setup`, `/migrate`, `/skills`, `/plugins`, `/hooks`, `/add-dir`,
102
+ `/goal` (Claude has no goal capability). Other commands the DSH composition
103
+ registers (such as `/plan`) do not appear either.
104
+
105
+ Startup still lands on the launchpad; the first-run guide and the workspace home
106
+ are DSH-only. A launch with a resume target goes straight into the session.
107
+
108
+ ## Approvals and questions
109
+
110
+ - Tool approvals use the same panel as DSH: allow once, allow always, reject.
111
+ *Allow always* appears only when the CLI suggests a rule, and its label says
112
+ what the CLI will remember (for example auto-accepting edits for this session,
113
+ or a permission rule for this project); the CLI stores it, dsh-TUI writes no
114
+ settings file. With the focus on the reject row (`↓` / `Tab`) you can type a
115
+ reason to send with the rejection; *allow always* then has no digit shortcut,
116
+ so move to it and press `Enter`.
117
+ - Questions from the model (`AskUserQuestion`) use the questionnaire. A plan from
118
+ plan mode opens the plan review: approve with auto-accepted edits, approve with
119
+ per-edit approval, or keep planning with feedback.
120
+ - An MCP server asking for input uses the questionnaire too: one question per
121
+ form field, checked against the field (an invalid answer is asked again with the
122
+ reason), then *Send* or *Decline*. A server that needs a browser step shows its
123
+ link.
124
+ - When the model declines a request and a fallback model is configured, a
125
+ question offers retrying on it.
126
+ - `Esc` cancels any of these.
127
+
128
+ ## Permission modes
129
+
130
+ `/permission` lists Claude's modes: `default` (ask each time), `acceptEdits`
131
+ (auto-accept edits), `plan` (read-only planning), `bypassPermissions` (skip every
132
+ check), plus `auto` where the model supports it. `Shift+Tab` cycles default →
133
+ acceptEdits → plan (→ auto) and never reaches `bypassPermissions`; that one can
134
+ only be picked explicitly in `/permission`.
135
+
136
+ The `/permission` pick is remembered (`~/.dsh-tui/backends/claude/prefs.json`) and
137
+ the next session starts in it, except `bypassPermissions`: it lasts for the current
138
+ session only, a new session says once that it was not carried over, and you turn it
139
+ on again with `/permission` when you want it. Start-mode precedence: the
140
+ `DSH_TUI_CLAUDE_PERMISSION_MODE` environment variable (the only way to start in
141
+ bypass) > the remembered pick > Claude settings > `default`. A
142
+ `defaultMode: bypassPermissions` in Claude settings is downgraded to `default` with
143
+ a notice, so a cloned repository cannot silently switch off every check.
144
+
145
+ ## Sessions
146
+
147
+ - `/resume` opens the session browser on your Claude sessions, the current project
148
+ by default, all projects on request. Sessions dsh-TUI created are listed too
149
+ (Claude Code's own `/resume` picker hides them; open them there with
150
+ `claude --resume <id>`). `Enter` resumes (history is replayed, then the
151
+ conversation continues), `Ctrl+R` renames, `Ctrl+D` deletes; the open session and
152
+ one another dsh-TUI terminal is using cannot be deleted. Pins are kept per
153
+ backend.
154
+ - From a shell: `dsh-tui --backend claude --resume <id>`; without an id it resumes
155
+ the last Claude session this install used. dsh-TUI prints that command on exit.
156
+ A session another dsh-TUI terminal has open is refused, and a `--resume` that
157
+ cannot open fails instead of starting a fresh session. The short session id in
158
+ the status line is the id `--resume` takes.
159
+ - `/fork` writes a copy you can resume later; the open session is untouched.
160
+ - Double-`Esc` rewinds to an earlier prompt: the conversation (continuing in a
161
+ copy cut just before it, with the prompt back in the input), the files Claude
162
+ edited since (restored from Claude's file checkpoints, previewed before you
163
+ confirm), or both.
164
+ - When Claude itself resets the conversation (leaving plan mode with *clear
165
+ context*), the view, subagents and background jobs are cleared with a notice and
166
+ the session continues under the new id Claude gives it.
167
+ - A session resumed after a compaction shows *load earlier* at the top; each use
168
+ brings back one compacted stretch, read-only from Claude's own transcript file.
169
+ Long sessions fold old rows to bound memory, and the same entry restores them.
170
+
171
+ ## Subagents and background jobs
172
+
173
+ - Each `Agent` delegation is a subagent card in the transcript; its text, tool
174
+ calls and token count go into the card, never into the main conversation.
175
+ `/agents` lists them, `Ctrl+A` opens the subagent dashboard and its detail view,
176
+ where a running one can be stopped.
177
+ - A command Claude runs in the background (`Bash` with `run_in_background`, or a
178
+ running command moved to the background) is a job card with the status-line job
179
+ marker; `/jobs` lists them, and `k` twice stops one. While on screen, the card and
180
+ the panel show the tail of the job's output file (read-only, the last 64 KiB, at
181
+ most once a second).
182
+ - Interrupting a turn never stops a job. A job or subagent Claude stops reporting
183
+ shows as *status unknown*.
184
+
185
+ ## Images
186
+
187
+ Paste an image or `@`-mention an image file (PNG, JPEG, GIF, WebP) and it is sent
188
+ with the message. Limits: 5 MiB, 2000 px per side and 4 megapixels per image; 20
189
+ images and 20 MiB per message. Oversized images are scaled down when sharp is
190
+ available. Staged images are held in memory only. Resumed sessions show the images
191
+ their prompts carried.
192
+
193
+ ## Known limitations
194
+
195
+ - One dsh-TUI process runs one backend; switching restarts through `/kernel`.
196
+ - In a Claude session the side panel's workspace panel reports it is unsupported
197
+ and the trajectory panel stays empty.
198
+ - No `/add-dir`; the refusal dialog offers only *Retry* and *Cancel*; an MCP
199
+ request that needs a browser step does not open the browser for you.
200
+ - dsh-TUI cannot tell when the same session is also open in a plain
201
+ `claude --resume`.
202
+ - Using a claude.ai subscription sign-in in a third-party client is subject to
203
+ Anthropic's terms; use an API key if that is a concern.