@deepseek-harness-tui/dsh-tui 0.12.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 (1542) hide show
  1. package/README.md +124 -8
  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/assets/deepy/README.md +60 -0
  7. package/assets/deepy/frames.json +1 -0
  8. package/assets/whale-girl/whale-girl-happy.png +0 -0
  9. package/assets/whaleGirl/README.md +7 -0
  10. package/assets/whaleGirl/frames.json +1 -0
  11. package/assets/whaleGirl/img/building/00.png +0 -0
  12. package/assets/whaleGirl/img/building/01.png +0 -0
  13. package/assets/whaleGirl/img/building/02.png +0 -0
  14. package/assets/whaleGirl/img/building/03.png +0 -0
  15. package/assets/whaleGirl/img/building/04.png +0 -0
  16. package/assets/whaleGirl/img/building/05.png +0 -0
  17. package/assets/whaleGirl/img/building/06.png +0 -0
  18. package/assets/whaleGirl/img/building/07.png +0 -0
  19. package/assets/whaleGirl/img/building/08.png +0 -0
  20. package/assets/whaleGirl/img/building/09.png +0 -0
  21. package/assets/whaleGirl/img/building/10.png +0 -0
  22. package/assets/whaleGirl/img/building/11.png +0 -0
  23. package/assets/whaleGirl/img/building/12.png +0 -0
  24. package/assets/whaleGirl/img/building/13.png +0 -0
  25. package/assets/whaleGirl/img/building/14.png +0 -0
  26. package/assets/whaleGirl/img/building/15.png +0 -0
  27. package/assets/whaleGirl/img/building/16.png +0 -0
  28. package/assets/whaleGirl/img/building/17.png +0 -0
  29. package/assets/whaleGirl/img/building/18.png +0 -0
  30. package/assets/whaleGirl/img/building/19.png +0 -0
  31. package/assets/whaleGirl/img/building/20.png +0 -0
  32. package/assets/whaleGirl/img/building/21.png +0 -0
  33. package/assets/whaleGirl/img/building/22.png +0 -0
  34. package/assets/whaleGirl/img/building/23.png +0 -0
  35. package/assets/whaleGirl/img/carrying/00.png +0 -0
  36. package/assets/whaleGirl/img/carrying/01.png +0 -0
  37. package/assets/whaleGirl/img/carrying/02.png +0 -0
  38. package/assets/whaleGirl/img/carrying/03.png +0 -0
  39. package/assets/whaleGirl/img/carrying/04.png +0 -0
  40. package/assets/whaleGirl/img/carrying/05.png +0 -0
  41. package/assets/whaleGirl/img/carrying/06.png +0 -0
  42. package/assets/whaleGirl/img/carrying/07.png +0 -0
  43. package/assets/whaleGirl/img/compacting/00.png +0 -0
  44. package/assets/whaleGirl/img/compacting/01.png +0 -0
  45. package/assets/whaleGirl/img/compacting/02.png +0 -0
  46. package/assets/whaleGirl/img/compacting/03.png +0 -0
  47. package/assets/whaleGirl/img/compacting/04.png +0 -0
  48. package/assets/whaleGirl/img/compacting/05.png +0 -0
  49. package/assets/whaleGirl/img/compacting/06.png +0 -0
  50. package/assets/whaleGirl/img/compacting/07.png +0 -0
  51. package/assets/whaleGirl/img/compacting/08.png +0 -0
  52. package/assets/whaleGirl/img/compacting/09.png +0 -0
  53. package/assets/whaleGirl/img/conducting/00.png +0 -0
  54. package/assets/whaleGirl/img/conducting/01.png +0 -0
  55. package/assets/whaleGirl/img/conducting/02.png +0 -0
  56. package/assets/whaleGirl/img/conducting/03.png +0 -0
  57. package/assets/whaleGirl/img/conducting/04.png +0 -0
  58. package/assets/whaleGirl/img/conducting/05.png +0 -0
  59. package/assets/whaleGirl/img/conducting/06.png +0 -0
  60. package/assets/whaleGirl/img/conducting/07.png +0 -0
  61. package/assets/whaleGirl/img/conducting/08.png +0 -0
  62. package/assets/whaleGirl/img/conducting/09.png +0 -0
  63. package/assets/whaleGirl/img/conducting/10.png +0 -0
  64. package/assets/whaleGirl/img/conducting/11.png +0 -0
  65. package/assets/whaleGirl/img/drag/00.png +0 -0
  66. package/assets/whaleGirl/img/drag/01.png +0 -0
  67. package/assets/whaleGirl/img/drag/02.png +0 -0
  68. package/assets/whaleGirl/img/drag/03.png +0 -0
  69. package/assets/whaleGirl/img/drag/04.png +0 -0
  70. package/assets/whaleGirl/img/drag/05.png +0 -0
  71. package/assets/whaleGirl/img/drag/06.png +0 -0
  72. package/assets/whaleGirl/img/drag/07.png +0 -0
  73. package/assets/whaleGirl/img/drag/08.png +0 -0
  74. package/assets/whaleGirl/img/drag/09.png +0 -0
  75. package/assets/whaleGirl/img/error/00.png +0 -0
  76. package/assets/whaleGirl/img/error/01.png +0 -0
  77. package/assets/whaleGirl/img/error/02.png +0 -0
  78. package/assets/whaleGirl/img/error/03.png +0 -0
  79. package/assets/whaleGirl/img/error/04.png +0 -0
  80. package/assets/whaleGirl/img/error/05.png +0 -0
  81. package/assets/whaleGirl/img/error/06.png +0 -0
  82. package/assets/whaleGirl/img/error/07.png +0 -0
  83. package/assets/whaleGirl/img/error/08.png +0 -0
  84. package/assets/whaleGirl/img/error/09.png +0 -0
  85. package/assets/whaleGirl/img/happy/00.png +0 -0
  86. package/assets/whaleGirl/img/happy/01.png +0 -0
  87. package/assets/whaleGirl/img/happy/02.png +0 -0
  88. package/assets/whaleGirl/img/happy/03.png +0 -0
  89. package/assets/whaleGirl/img/happy/04.png +0 -0
  90. package/assets/whaleGirl/img/happy/05.png +0 -0
  91. package/assets/whaleGirl/img/happy/06.png +0 -0
  92. package/assets/whaleGirl/img/happy/07.png +0 -0
  93. package/assets/whaleGirl/img/happy/08.png +0 -0
  94. package/assets/whaleGirl/img/happy/09.png +0 -0
  95. package/assets/whaleGirl/img/happy/10.png +0 -0
  96. package/assets/whaleGirl/img/idle/00.png +0 -0
  97. package/assets/whaleGirl/img/idle/01.png +0 -0
  98. package/assets/whaleGirl/img/idle/02.png +0 -0
  99. package/assets/whaleGirl/img/idle/03.png +0 -0
  100. package/assets/whaleGirl/img/idle/04.png +0 -0
  101. package/assets/whaleGirl/img/idle/05.png +0 -0
  102. package/assets/whaleGirl/img/idle/06.png +0 -0
  103. package/assets/whaleGirl/img/idle/07.png +0 -0
  104. package/assets/whaleGirl/img/idle/08.png +0 -0
  105. package/assets/whaleGirl/img/idle/09.png +0 -0
  106. package/assets/whaleGirl/img/idle/10.png +0 -0
  107. package/assets/whaleGirl/img/idle/11.png +0 -0
  108. package/assets/whaleGirl/img/idle/12.png +0 -0
  109. package/assets/whaleGirl/img/idle/13.png +0 -0
  110. package/assets/whaleGirl/img/idle/14.png +0 -0
  111. package/assets/whaleGirl/img/idle/15.png +0 -0
  112. package/assets/whaleGirl/img/idle/16.png +0 -0
  113. package/assets/whaleGirl/img/idle/17.png +0 -0
  114. package/assets/whaleGirl/img/idle/18.png +0 -0
  115. package/assets/whaleGirl/img/idle/19.png +0 -0
  116. package/assets/whaleGirl/img/idle/20.png +0 -0
  117. package/assets/whaleGirl/img/idle-look/00.png +0 -0
  118. package/assets/whaleGirl/img/idle-look/01.png +0 -0
  119. package/assets/whaleGirl/img/idle-look/02.png +0 -0
  120. package/assets/whaleGirl/img/idle-look/03.png +0 -0
  121. package/assets/whaleGirl/img/idle-look/04.png +0 -0
  122. package/assets/whaleGirl/img/idle-look/05.png +0 -0
  123. package/assets/whaleGirl/img/idle-look/06.png +0 -0
  124. package/assets/whaleGirl/img/idle-look/07.png +0 -0
  125. package/assets/whaleGirl/img/idle-look/08.png +0 -0
  126. package/assets/whaleGirl/img/idle-look/09.png +0 -0
  127. package/assets/whaleGirl/img/idle-look/10.png +0 -0
  128. package/assets/whaleGirl/img/idle-look/11.png +0 -0
  129. package/assets/whaleGirl/img/idle-look/12.png +0 -0
  130. package/assets/whaleGirl/img/idle-spout/00.png +0 -0
  131. package/assets/whaleGirl/img/idle-spout/01.png +0 -0
  132. package/assets/whaleGirl/img/idle-spout/02.png +0 -0
  133. package/assets/whaleGirl/img/idle-spout/03.png +0 -0
  134. package/assets/whaleGirl/img/idle-spout/04.png +0 -0
  135. package/assets/whaleGirl/img/idle-spout/05.png +0 -0
  136. package/assets/whaleGirl/img/idle-spout/06.png +0 -0
  137. package/assets/whaleGirl/img/idle-spout/07.png +0 -0
  138. package/assets/whaleGirl/img/idle-spout/08.png +0 -0
  139. package/assets/whaleGirl/img/idle-spout/09.png +0 -0
  140. package/assets/whaleGirl/img/idle-spout/10.png +0 -0
  141. package/assets/whaleGirl/img/music/00.png +0 -0
  142. package/assets/whaleGirl/img/music/01.png +0 -0
  143. package/assets/whaleGirl/img/music/02.png +0 -0
  144. package/assets/whaleGirl/img/music/03.png +0 -0
  145. package/assets/whaleGirl/img/music/04.png +0 -0
  146. package/assets/whaleGirl/img/music/05.png +0 -0
  147. package/assets/whaleGirl/img/music/06.png +0 -0
  148. package/assets/whaleGirl/img/music/07.png +0 -0
  149. package/assets/whaleGirl/img/notification/00.png +0 -0
  150. package/assets/whaleGirl/img/notification/01.png +0 -0
  151. package/assets/whaleGirl/img/notification/02.png +0 -0
  152. package/assets/whaleGirl/img/notification/03.png +0 -0
  153. package/assets/whaleGirl/img/notification/04.png +0 -0
  154. package/assets/whaleGirl/img/notification/05.png +0 -0
  155. package/assets/whaleGirl/img/notification/06.png +0 -0
  156. package/assets/whaleGirl/img/notification/07.png +0 -0
  157. package/assets/whaleGirl/img/poke-left/00.png +0 -0
  158. package/assets/whaleGirl/img/poke-left/01.png +0 -0
  159. package/assets/whaleGirl/img/poke-left/02.png +0 -0
  160. package/assets/whaleGirl/img/poke-left/03.png +0 -0
  161. package/assets/whaleGirl/img/poke-left/04.png +0 -0
  162. package/assets/whaleGirl/img/poke-left/05.png +0 -0
  163. package/assets/whaleGirl/img/poke-left/06.png +0 -0
  164. package/assets/whaleGirl/img/poke-left/07.png +0 -0
  165. package/assets/whaleGirl/img/poke-left/08.png +0 -0
  166. package/assets/whaleGirl/img/poke-left/09.png +0 -0
  167. package/assets/whaleGirl/img/poke-left/10.png +0 -0
  168. package/assets/whaleGirl/img/poke-right/00.png +0 -0
  169. package/assets/whaleGirl/img/poke-right/01.png +0 -0
  170. package/assets/whaleGirl/img/poke-right/02.png +0 -0
  171. package/assets/whaleGirl/img/poke-right/03.png +0 -0
  172. package/assets/whaleGirl/img/poke-right/04.png +0 -0
  173. package/assets/whaleGirl/img/poke-right/05.png +0 -0
  174. package/assets/whaleGirl/img/poke-right/06.png +0 -0
  175. package/assets/whaleGirl/img/poke-right/07.png +0 -0
  176. package/assets/whaleGirl/img/poke-right/08.png +0 -0
  177. package/assets/whaleGirl/img/poke-right/09.png +0 -0
  178. package/assets/whaleGirl/img/poke-right/10.png +0 -0
  179. package/assets/whaleGirl/img/sleeping/00.png +0 -0
  180. package/assets/whaleGirl/img/sleeping/01.png +0 -0
  181. package/assets/whaleGirl/img/sleeping/02.png +0 -0
  182. package/assets/whaleGirl/img/sleeping/03.png +0 -0
  183. package/assets/whaleGirl/img/sleeping/04.png +0 -0
  184. package/assets/whaleGirl/img/sleeping/05.png +0 -0
  185. package/assets/whaleGirl/img/smile-hearts/00.png +0 -0
  186. package/assets/whaleGirl/img/smile-hearts/01.png +0 -0
  187. package/assets/whaleGirl/img/smile-hearts/02.png +0 -0
  188. package/assets/whaleGirl/img/smile-hearts/03.png +0 -0
  189. package/assets/whaleGirl/img/smile-hearts/04.png +0 -0
  190. package/assets/whaleGirl/img/smile-hearts/05.png +0 -0
  191. package/assets/whaleGirl/img/smile-hearts/06.png +0 -0
  192. package/assets/whaleGirl/img/smile-hearts/07.png +0 -0
  193. package/assets/whaleGirl/img/smile-hearts/08.png +0 -0
  194. package/assets/whaleGirl/img/smile-hearts/09.png +0 -0
  195. package/assets/whaleGirl/img/smile-hearts/10.png +0 -0
  196. package/assets/whaleGirl/img/smile-hearts/11.png +0 -0
  197. package/assets/whaleGirl/img/smile-hearts/12.png +0 -0
  198. package/assets/whaleGirl/img/smile-hearts/13.png +0 -0
  199. package/assets/whaleGirl/img/smile-hearts/14.png +0 -0
  200. package/assets/whaleGirl/img/smile-hearts/15.png +0 -0
  201. package/assets/whaleGirl/img/swim/00.png +0 -0
  202. package/assets/whaleGirl/img/swim/01.png +0 -0
  203. package/assets/whaleGirl/img/swim/02.png +0 -0
  204. package/assets/whaleGirl/img/swim/03.png +0 -0
  205. package/assets/whaleGirl/img/swim/04.png +0 -0
  206. package/assets/whaleGirl/img/swim/05.png +0 -0
  207. package/assets/whaleGirl/img/swim/06.png +0 -0
  208. package/assets/whaleGirl/img/swim/07.png +0 -0
  209. package/assets/whaleGirl/img/thinking/00.png +0 -0
  210. package/assets/whaleGirl/img/thinking/01.png +0 -0
  211. package/assets/whaleGirl/img/thinking/02.png +0 -0
  212. package/assets/whaleGirl/img/thinking/03.png +0 -0
  213. package/assets/whaleGirl/img/thinking/04.png +0 -0
  214. package/assets/whaleGirl/img/thinking/05.png +0 -0
  215. package/assets/whaleGirl/img/thinking/06.png +0 -0
  216. package/assets/whaleGirl/img/thinking/07.png +0 -0
  217. package/assets/whaleGirl/img/thinking/08.png +0 -0
  218. package/assets/whaleGirl/img/thinking/09.png +0 -0
  219. package/assets/whaleGirl/img/thinking/10.png +0 -0
  220. package/assets/whaleGirl/img/thinking/11.png +0 -0
  221. package/assets/whaleGirl/img/thinking/12.png +0 -0
  222. package/assets/whaleGirl/img/thinking/13.png +0 -0
  223. package/assets/whaleGirl/img/thinking/14.png +0 -0
  224. package/assets/whaleGirl/img/thinking/15.png +0 -0
  225. package/assets/whaleGirl/img/thinking/16.png +0 -0
  226. package/assets/whaleGirl/img/thumbs-up/00.png +0 -0
  227. package/assets/whaleGirl/img/thumbs-up/01.png +0 -0
  228. package/assets/whaleGirl/img/thumbs-up/02.png +0 -0
  229. package/assets/whaleGirl/img/thumbs-up/03.png +0 -0
  230. package/assets/whaleGirl/img/thumbs-up/04.png +0 -0
  231. package/assets/whaleGirl/img/thumbs-up/05.png +0 -0
  232. package/assets/whaleGirl/img/thumbs-up/06.png +0 -0
  233. package/assets/whaleGirl/img/thumbs-up/07.png +0 -0
  234. package/assets/whaleGirl/img/thumbs-up/08.png +0 -0
  235. package/assets/whaleGirl/img/thumbs-up/09.png +0 -0
  236. package/assets/whaleGirl/img/thumbs-up/10.png +0 -0
  237. package/assets/whaleGirl/img/thumbs-up/11.png +0 -0
  238. package/assets/whaleGirl/img/thumbs-up/12.png +0 -0
  239. package/assets/whaleGirl/img/tickle/00.png +0 -0
  240. package/assets/whaleGirl/img/tickle/01.png +0 -0
  241. package/assets/whaleGirl/img/tickle/02.png +0 -0
  242. package/assets/whaleGirl/img/tickle/03.png +0 -0
  243. package/assets/whaleGirl/img/tickle/04.png +0 -0
  244. package/assets/whaleGirl/img/tickle/05.png +0 -0
  245. package/assets/whaleGirl/img/tickle/06.png +0 -0
  246. package/assets/whaleGirl/img/tickle/07.png +0 -0
  247. package/assets/whaleGirl/img/tickle/08.png +0 -0
  248. package/assets/whaleGirl/img/tickle/09.png +0 -0
  249. package/assets/whaleGirl/img/tickle/10.png +0 -0
  250. package/assets/whaleGirl/img/tickle/11.png +0 -0
  251. package/assets/whaleGirl/img/tickle/12.png +0 -0
  252. package/assets/whaleGirl/img/tickle/13.png +0 -0
  253. package/assets/whaleGirl/img/timings.json +1 -0
  254. package/assets/whaleGirl/img/typing/00.png +0 -0
  255. package/assets/whaleGirl/img/typing/01.png +0 -0
  256. package/assets/whaleGirl/img/typing/02.png +0 -0
  257. package/assets/whaleGirl/img/typing/03.png +0 -0
  258. package/assets/whaleGirl/img/typing/04.png +0 -0
  259. package/assets/whaleGirl/img/typing/05.png +0 -0
  260. package/assets/whaleGirl/img/typing/06.png +0 -0
  261. package/assets/whaleGirl/img/typing/07.png +0 -0
  262. package/assets/whaleGirl/img/typing/08.png +0 -0
  263. package/assets/whaleGirl/img/typing/09.png +0 -0
  264. package/assets/whaleGirl/img/typing/10.png +0 -0
  265. package/assets/whaleGirl/img/typing/11.png +0 -0
  266. package/assets/whaleGirl/img/typing/12.png +0 -0
  267. package/assets/whaleGirl/img/typing/13.png +0 -0
  268. package/assets/whaleGirl/img/waking/00.png +0 -0
  269. package/assets/whaleGirl/img/waking/01.png +0 -0
  270. package/assets/whaleGirl/img/waking/02.png +0 -0
  271. package/assets/whaleGirl/img/waking/03.png +0 -0
  272. package/assets/whaleGirl/img/waking/04.png +0 -0
  273. package/assets/whaleGirl/img/waking/05.png +0 -0
  274. package/assets/whaleGirl/img/waking/06.png +0 -0
  275. package/assets/whaleGirl/img/waking/07.png +0 -0
  276. package/assets/whaleGirl/img/waking/08.png +0 -0
  277. package/assets/whaleGirl/img/waking/09.png +0 -0
  278. package/assets/whaleGirl/img/waking/10.png +0 -0
  279. package/bin/dsh-tui.js +112 -21
  280. package/cordis.patch.yml +9 -1
  281. package/cordis.yml +2 -0
  282. package/guide/dsh-tui-guide/SKILL.md +4 -2
  283. package/guide/dsh-tui-guide/claude-backend.en.md +203 -0
  284. package/guide/dsh-tui-guide/claude-backend.md +161 -0
  285. package/guide/dsh-tui-guide/codex-backend.en.md +297 -0
  286. package/guide/dsh-tui-guide/codex-backend.md +257 -0
  287. package/guide/dsh-tui-guide/configuration.en.md +13 -1
  288. package/guide/dsh-tui-guide/configuration.md +13 -1
  289. package/guide/dsh-tui-guide/getting-started.en.md +6 -3
  290. package/guide/dsh-tui-guide/getting-started.md +4 -2
  291. package/guide/dsh-tui-guide/interaction.en.md +221 -15
  292. package/guide/dsh-tui-guide/interaction.md +153 -9
  293. package/guide/dsh-tui-guide/plugins.en.md +16 -6
  294. package/guide/dsh-tui-guide/plugins.md +14 -6
  295. package/guide/dsh-tui-guide/themes.en.md +31 -4
  296. package/guide/dsh-tui-guide/themes.md +26 -4
  297. package/guide/dsh-tui-guide/user-guide.en.md +145 -27
  298. package/guide/dsh-tui-guide/user-guide.md +113 -22
  299. package/guide/dsh-tui-guide/vscode.en.md +1 -0
  300. package/guide/dsh-tui-guide/vscode.md +1 -0
  301. package/lib/settings.json +348 -1
  302. package/lib/types/adapter/channel/state.d.ts.map +1 -1
  303. package/lib/types/adapter/channel/state.js +1 -0
  304. package/lib/types/adapter/channel/ui-policy.d.ts +21 -2
  305. package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
  306. package/lib/types/adapter/channel/ui-policy.js +43 -1
  307. package/lib/types/adapter/channel/ui.d.ts.map +1 -1
  308. package/lib/types/adapter/channel/ui.js +45 -5
  309. package/lib/types/adapter/index.d.ts +1 -1
  310. package/lib/types/adapter/index.js +1 -1
  311. package/lib/types/adapter/kernel/host-facade.d.ts +4 -1
  312. package/lib/types/adapter/kernel/host-facade.d.ts.map +1 -1
  313. package/lib/types/adapter/kernel/host-facade.js +8 -1
  314. package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
  315. package/lib/types/adapter/kernel/runtime.js +13 -0
  316. package/lib/types/adapter/kernel/slices/index.d.ts +1 -0
  317. package/lib/types/adapter/kernel/slices/index.d.ts.map +1 -1
  318. package/lib/types/adapter/kernel/slices/index.js +3 -0
  319. package/lib/types/adapter/kernel/slices/panels.d.ts +3 -0
  320. package/lib/types/adapter/kernel/slices/panels.d.ts.map +1 -0
  321. package/lib/types/adapter/kernel/slices/panels.js +14 -0
  322. package/lib/types/adapter/ports/channel-capabilities.d.ts +48 -0
  323. package/lib/types/adapter/ports/channel-capabilities.d.ts.map +1 -0
  324. package/lib/types/adapter/ports/channel-capabilities.js +2 -0
  325. package/lib/types/adapter/ports/channel-catalog.d.ts +14 -0
  326. package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
  327. package/lib/types/adapter/ports/channel-display.d.ts +17 -1
  328. package/lib/types/adapter/ports/channel-display.d.ts.map +1 -1
  329. package/lib/types/adapter/ports/channel-session.d.ts +5 -0
  330. package/lib/types/adapter/ports/channel-session.d.ts.map +1 -1
  331. package/lib/types/adapter/ports/channel-settings.d.ts +20 -0
  332. package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
  333. package/lib/types/adapter/ports/channel-ui.d.ts +243 -6
  334. package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
  335. package/lib/types/adapter/ports/channel-view.d.ts +566 -8
  336. package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
  337. package/lib/types/adapter/ports/channel.d.ts +1 -1
  338. package/lib/types/adapter/ports/channel.js +1 -1
  339. package/lib/types/adapter/ports/descriptor.d.ts +1 -1
  340. package/lib/types/adapter/ports/descriptor.js +1 -1
  341. package/lib/types/adapter/ports/index.d.ts +1 -1
  342. package/lib/types/adapter/ports/index.js +1 -1
  343. package/lib/types/adapter/ports/panels.d.ts +28 -0
  344. package/lib/types/adapter/ports/panels.d.ts.map +1 -0
  345. package/lib/types/adapter/ports/panels.js +8 -0
  346. package/lib/types/adapter/ports/workspace.d.ts +1 -1
  347. package/lib/types/adapter/ports/workspace.js +1 -1
  348. package/lib/types/adapter/spec/index.d.ts +2 -2
  349. package/lib/types/adapter/spec/index.js +2 -2
  350. package/lib/types/adapter/spec/profile.d.ts +6 -6
  351. package/lib/types/adapter/spec/profile.d.ts.map +1 -1
  352. package/lib/types/adapter/spec/profile.js +6 -6
  353. package/lib/types/adapter/spec/protocol-constants.d.ts +3 -3
  354. package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
  355. package/lib/types/adapter/spec/protocol-constants.js +5 -5
  356. package/lib/types/adapter/spec/tui-contributions.d.ts +4 -4
  357. package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
  358. package/lib/types/adapter/spec/tui-contributions.js +5 -5
  359. package/lib/types/adapter/standard/descriptor.js +1 -1
  360. package/lib/types/adapter/standard/index.d.ts +3 -3
  361. package/lib/types/adapter/standard/index.js +3 -3
  362. package/lib/types/adapter/standard/registry.d.ts +3 -2
  363. package/lib/types/adapter/standard/registry.d.ts.map +1 -1
  364. package/lib/types/adapter/standard/registry.js +6 -5
  365. package/lib/types/adapter/standard/tui-extension.d.ts +1 -1
  366. package/lib/types/adapter/standard/tui-extension.js +1 -1
  367. package/lib/types/adapter/upstream/index.d.ts +1 -0
  368. package/lib/types/adapter/upstream/index.d.ts.map +1 -1
  369. package/lib/types/adapter/upstream/index.js +1 -0
  370. package/lib/types/adapter/upstream/panels-driver.d.ts +18 -0
  371. package/lib/types/adapter/upstream/panels-driver.d.ts.map +1 -0
  372. package/lib/types/adapter/upstream/panels-driver.js +159 -0
  373. package/lib/types/agent/backend.d.ts +168 -0
  374. package/lib/types/agent/backend.d.ts.map +1 -0
  375. package/lib/types/agent/backend.js +1 -0
  376. package/lib/types/agent/capabilities.d.ts +461 -0
  377. package/lib/types/agent/capabilities.d.ts.map +1 -0
  378. package/lib/types/agent/capabilities.js +1 -0
  379. package/lib/types/agent/events.d.ts +733 -0
  380. package/lib/types/agent/events.d.ts.map +1 -0
  381. package/lib/types/agent/events.js +2 -0
  382. package/lib/types/agent/index.d.ts +8 -0
  383. package/lib/types/agent/index.d.ts.map +1 -0
  384. package/lib/types/agent/index.js +7 -0
  385. package/lib/types/agent/messages.d.ts +52 -0
  386. package/lib/types/agent/messages.d.ts.map +1 -0
  387. package/lib/types/agent/messages.js +91 -0
  388. package/lib/types/agent/presentation.d.ts +29 -0
  389. package/lib/types/agent/presentation.d.ts.map +1 -0
  390. package/lib/types/agent/presentation.js +4 -0
  391. package/lib/types/agent/refs.d.ts +30 -0
  392. package/lib/types/agent/refs.d.ts.map +1 -0
  393. package/lib/types/agent/refs.js +39 -0
  394. package/lib/types/agent/session.d.ts +78 -0
  395. package/lib/types/agent/session.d.ts.map +1 -0
  396. package/lib/types/agent/session.js +1 -0
  397. package/lib/types/api.d.ts +2 -0
  398. package/lib/types/api.d.ts.map +1 -1
  399. package/lib/types/api.js +3 -1
  400. package/lib/types/backends/claude/activity.d.ts +53 -0
  401. package/lib/types/backends/claude/activity.d.ts.map +1 -0
  402. package/lib/types/backends/claude/activity.js +103 -0
  403. package/lib/types/backends/claude/auth.d.ts +245 -0
  404. package/lib/types/backends/claude/auth.d.ts.map +1 -0
  405. package/lib/types/backends/claude/auth.js +503 -0
  406. package/lib/types/backends/claude/backend.d.ts +32 -0
  407. package/lib/types/backends/claude/backend.d.ts.map +1 -0
  408. package/lib/types/backends/claude/backend.js +296 -0
  409. package/lib/types/backends/claude/catalog.d.ts +17 -0
  410. package/lib/types/backends/claude/catalog.d.ts.map +1 -0
  411. package/lib/types/backends/claude/catalog.js +94 -0
  412. package/lib/types/backends/claude/channels.d.ts +63 -0
  413. package/lib/types/backends/claude/channels.d.ts.map +1 -0
  414. package/lib/types/backends/claude/channels.js +275 -0
  415. package/lib/types/backends/claude/contract.d.ts +37 -0
  416. package/lib/types/backends/claude/contract.d.ts.map +1 -0
  417. package/lib/types/backends/claude/contract.js +46 -0
  418. package/lib/types/backends/claude/controls.d.ts +134 -0
  419. package/lib/types/backends/claude/controls.d.ts.map +1 -0
  420. package/lib/types/backends/claude/controls.js +425 -0
  421. package/lib/types/backends/claude/dialogs.d.ts +62 -0
  422. package/lib/types/backends/claude/dialogs.d.ts.map +1 -0
  423. package/lib/types/backends/claude/dialogs.js +253 -0
  424. package/lib/types/backends/claude/flag-settings.d.ts +12 -0
  425. package/lib/types/backends/claude/flag-settings.d.ts.map +1 -0
  426. package/lib/types/backends/claude/flag-settings.js +49 -0
  427. package/lib/types/backends/claude/images.d.ts +49 -0
  428. package/lib/types/backends/claude/images.d.ts.map +1 -0
  429. package/lib/types/backends/claude/images.js +94 -0
  430. package/lib/types/backends/claude/index.d.ts +5 -0
  431. package/lib/types/backends/claude/index.d.ts.map +1 -0
  432. package/lib/types/backends/claude/index.js +4 -0
  433. package/lib/types/backends/claude/install.d.ts +15 -0
  434. package/lib/types/backends/claude/install.d.ts.map +1 -0
  435. package/lib/types/backends/claude/install.js +91 -0
  436. package/lib/types/backends/claude/modelEnv.d.ts +64 -0
  437. package/lib/types/backends/claude/modelEnv.d.ts.map +1 -0
  438. package/lib/types/backends/claude/modelEnv.js +199 -0
  439. package/lib/types/backends/claude/narrow.d.ts +10 -0
  440. package/lib/types/backends/claude/narrow.d.ts.map +1 -0
  441. package/lib/types/backends/claude/narrow.js +8 -0
  442. package/lib/types/backends/claude/older-history.d.ts +16 -0
  443. package/lib/types/backends/claude/older-history.d.ts.map +1 -0
  444. package/lib/types/backends/claude/older-history.js +101 -0
  445. package/lib/types/backends/claude/options.d.ts +181 -0
  446. package/lib/types/backends/claude/options.d.ts.map +1 -0
  447. package/lib/types/backends/claude/options.js +208 -0
  448. package/lib/types/backends/claude/permissions.d.ts +83 -0
  449. package/lib/types/backends/claude/permissions.d.ts.map +1 -0
  450. package/lib/types/backends/claude/permissions.js +331 -0
  451. package/lib/types/backends/claude/prefs.d.ts +55 -0
  452. package/lib/types/backends/claude/prefs.d.ts.map +1 -0
  453. package/lib/types/backends/claude/prefs.js +150 -0
  454. package/lib/types/backends/claude/process.d.ts +19 -0
  455. package/lib/types/backends/claude/process.d.ts.map +1 -0
  456. package/lib/types/backends/claude/process.js +156 -0
  457. package/lib/types/backends/claude/replay.d.ts +129 -0
  458. package/lib/types/backends/claude/replay.d.ts.map +1 -0
  459. package/lib/types/backends/claude/replay.js +505 -0
  460. package/lib/types/backends/claude/sdk-warnings.d.ts +23 -0
  461. package/lib/types/backends/claude/sdk-warnings.d.ts.map +1 -0
  462. package/lib/types/backends/claude/sdk-warnings.js +55 -0
  463. package/lib/types/backends/claude/sdk.d.ts +12 -0
  464. package/lib/types/backends/claude/sdk.d.ts.map +1 -0
  465. package/lib/types/backends/claude/sdk.js +34 -0
  466. package/lib/types/backends/claude/send-message.d.ts +54 -0
  467. package/lib/types/backends/claude/send-message.d.ts.map +1 -0
  468. package/lib/types/backends/claude/send-message.js +65 -0
  469. package/lib/types/backends/claude/session/auth.d.ts +47 -0
  470. package/lib/types/backends/claude/session/auth.d.ts.map +1 -0
  471. package/lib/types/backends/claude/session/auth.js +226 -0
  472. package/lib/types/backends/claude/session/channels.d.ts +82 -0
  473. package/lib/types/backends/claude/session/channels.d.ts.map +1 -0
  474. package/lib/types/backends/claude/session/channels.js +45 -0
  475. package/lib/types/backends/claude/session/input.d.ts +16 -0
  476. package/lib/types/backends/claude/session/input.d.ts.map +1 -0
  477. package/lib/types/backends/claude/session/input.js +64 -0
  478. package/lib/types/backends/claude/session/lifecycle.d.ts +6 -0
  479. package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -0
  480. package/lib/types/backends/claude/session/lifecycle.js +852 -0
  481. package/lib/types/backends/claude/session/store.d.ts +17 -0
  482. package/lib/types/backends/claude/session/store.d.ts.map +1 -0
  483. package/lib/types/backends/claude/session/store.js +122 -0
  484. package/lib/types/backends/claude/session/subagents.d.ts +13 -0
  485. package/lib/types/backends/claude/session/subagents.d.ts.map +1 -0
  486. package/lib/types/backends/claude/session/subagents.js +77 -0
  487. package/lib/types/backends/claude/session/types.d.ts +89 -0
  488. package/lib/types/backends/claude/session/types.d.ts.map +1 -0
  489. package/lib/types/backends/claude/session/types.js +1 -0
  490. package/lib/types/backends/claude/session.d.ts +4 -0
  491. package/lib/types/backends/claude/session.d.ts.map +1 -0
  492. package/lib/types/backends/claude/session.js +2 -0
  493. package/lib/types/backends/claude/side-query.d.ts +34 -0
  494. package/lib/types/backends/claude/side-query.d.ts.map +1 -0
  495. package/lib/types/backends/claude/side-query.js +116 -0
  496. package/lib/types/backends/claude/task-output.d.ts +13 -0
  497. package/lib/types/backends/claude/task-output.d.ts.map +1 -0
  498. package/lib/types/backends/claude/task-output.js +101 -0
  499. package/lib/types/backends/claude/tools.d.ts +45 -0
  500. package/lib/types/backends/claude/tools.d.ts.map +1 -0
  501. package/lib/types/backends/claude/tools.js +231 -0
  502. package/lib/types/backends/claude/transcript-file.d.ts +41 -0
  503. package/lib/types/backends/claude/transcript-file.d.ts.map +1 -0
  504. package/lib/types/backends/claude/transcript-file.js +195 -0
  505. package/lib/types/backends/claude/translate/attempts.d.ts +33 -0
  506. package/lib/types/backends/claude/translate/attempts.d.ts.map +1 -0
  507. package/lib/types/backends/claude/translate/attempts.js +243 -0
  508. package/lib/types/backends/claude/translate/content.d.ts +33 -0
  509. package/lib/types/backends/claude/translate/content.d.ts.map +1 -0
  510. package/lib/types/backends/claude/translate/content.js +91 -0
  511. package/lib/types/backends/claude/translate/core.d.ts +76 -0
  512. package/lib/types/backends/claude/translate/core.d.ts.map +1 -0
  513. package/lib/types/backends/claude/translate/core.js +447 -0
  514. package/lib/types/backends/claude/translate/events.d.ts +9 -0
  515. package/lib/types/backends/claude/translate/events.d.ts.map +1 -0
  516. package/lib/types/backends/claude/translate/events.js +77 -0
  517. package/lib/types/backends/claude/translate/lanes.d.ts +31 -0
  518. package/lib/types/backends/claude/translate/lanes.d.ts.map +1 -0
  519. package/lib/types/backends/claude/translate/lanes.js +177 -0
  520. package/lib/types/backends/claude/translate/messages.d.ts +36 -0
  521. package/lib/types/backends/claude/translate/messages.d.ts.map +1 -0
  522. package/lib/types/backends/claude/translate/messages.js +202 -0
  523. package/lib/types/backends/claude/translate/system.d.ts +40 -0
  524. package/lib/types/backends/claude/translate/system.d.ts.map +1 -0
  525. package/lib/types/backends/claude/translate/system.js +399 -0
  526. package/lib/types/backends/claude/translate/tasks.d.ts +19 -0
  527. package/lib/types/backends/claude/translate/tasks.d.ts.map +1 -0
  528. package/lib/types/backends/claude/translate/tasks.js +159 -0
  529. package/lib/types/backends/claude/translate/types.d.ts +114 -0
  530. package/lib/types/backends/claude/translate/types.d.ts.map +1 -0
  531. package/lib/types/backends/claude/translate/types.js +1 -0
  532. package/lib/types/backends/claude/translate.d.ts +9 -0
  533. package/lib/types/backends/claude/translate.d.ts.map +1 -0
  534. package/lib/types/backends/claude/translate.js +6 -0
  535. package/lib/types/backends/codex/auth/external-tokens.d.ts +66 -0
  536. package/lib/types/backends/codex/auth/external-tokens.d.ts.map +1 -0
  537. package/lib/types/backends/codex/auth/external-tokens.js +325 -0
  538. package/lib/types/backends/codex/auth/route.d.ts +14 -0
  539. package/lib/types/backends/codex/auth/route.d.ts.map +1 -0
  540. package/lib/types/backends/codex/auth/route.js +52 -0
  541. package/lib/types/backends/codex/auth/status.d.ts +16 -0
  542. package/lib/types/backends/codex/auth/status.d.ts.map +1 -0
  543. package/lib/types/backends/codex/auth/status.js +115 -0
  544. package/lib/types/backends/codex/backend.d.ts +58 -0
  545. package/lib/types/backends/codex/backend.d.ts.map +1 -0
  546. package/lib/types/backends/codex/backend.js +201 -0
  547. package/lib/types/backends/codex/catalog.d.ts +17 -0
  548. package/lib/types/backends/codex/catalog.d.ts.map +1 -0
  549. package/lib/types/backends/codex/catalog.js +128 -0
  550. package/lib/types/backends/codex/channels.d.ts +59 -0
  551. package/lib/types/backends/codex/channels.d.ts.map +1 -0
  552. package/lib/types/backends/codex/channels.js +274 -0
  553. package/lib/types/backends/codex/contract.d.ts +46 -0
  554. package/lib/types/backends/codex/contract.d.ts.map +1 -0
  555. package/lib/types/backends/codex/contract.js +80 -0
  556. package/lib/types/backends/codex/detect.d.ts +14 -0
  557. package/lib/types/backends/codex/detect.d.ts.map +1 -0
  558. package/lib/types/backends/codex/detect.js +90 -0
  559. package/lib/types/backends/codex/index.d.ts +6 -0
  560. package/lib/types/backends/codex/index.d.ts.map +1 -0
  561. package/lib/types/backends/codex/index.js +5 -0
  562. package/lib/types/backends/codex/modes.d.ts +16 -0
  563. package/lib/types/backends/codex/modes.d.ts.map +1 -0
  564. package/lib/types/backends/codex/modes.js +49 -0
  565. package/lib/types/backends/codex/narrow.d.ts +20 -0
  566. package/lib/types/backends/codex/narrow.d.ts.map +1 -0
  567. package/lib/types/backends/codex/narrow.js +18 -0
  568. package/lib/types/backends/codex/prefs.d.ts +42 -0
  569. package/lib/types/backends/codex/prefs.d.ts.map +1 -0
  570. package/lib/types/backends/codex/prefs.js +124 -0
  571. package/lib/types/backends/codex/protocol/index.d.ts +149 -0
  572. package/lib/types/backends/codex/protocol/index.d.ts.map +1 -0
  573. package/lib/types/backends/codex/protocol/index.js +130 -0
  574. package/lib/types/backends/codex/rpc/binary.d.ts +35 -0
  575. package/lib/types/backends/codex/rpc/binary.d.ts.map +1 -0
  576. package/lib/types/backends/codex/rpc/binary.js +174 -0
  577. package/lib/types/backends/codex/rpc/client.d.ts +72 -0
  578. package/lib/types/backends/codex/rpc/client.d.ts.map +1 -0
  579. package/lib/types/backends/codex/rpc/client.js +214 -0
  580. package/lib/types/backends/codex/rpc/hub.d.ts +105 -0
  581. package/lib/types/backends/codex/rpc/hub.d.ts.map +1 -0
  582. package/lib/types/backends/codex/rpc/hub.js +532 -0
  583. package/lib/types/backends/codex/rpc/transport.d.ts +39 -0
  584. package/lib/types/backends/codex/rpc/transport.d.ts.map +1 -0
  585. package/lib/types/backends/codex/rpc/transport.js +212 -0
  586. package/lib/types/backends/codex/session/activity.d.ts +18 -0
  587. package/lib/types/backends/codex/session/activity.d.ts.map +1 -0
  588. package/lib/types/backends/codex/session/activity.js +108 -0
  589. package/lib/types/backends/codex/session/approvals.d.ts +39 -0
  590. package/lib/types/backends/codex/session/approvals.d.ts.map +1 -0
  591. package/lib/types/backends/codex/session/approvals.js +477 -0
  592. package/lib/types/backends/codex/session/commands.d.ts +37 -0
  593. package/lib/types/backends/codex/session/commands.d.ts.map +1 -0
  594. package/lib/types/backends/codex/session/commands.js +141 -0
  595. package/lib/types/backends/codex/session/controls.d.ts +37 -0
  596. package/lib/types/backends/codex/session/controls.d.ts.map +1 -0
  597. package/lib/types/backends/codex/session/controls.js +303 -0
  598. package/lib/types/backends/codex/session/goals.d.ts +25 -0
  599. package/lib/types/backends/codex/session/goals.d.ts.map +1 -0
  600. package/lib/types/backends/codex/session/goals.js +97 -0
  601. package/lib/types/backends/codex/session/history.d.ts +52 -0
  602. package/lib/types/backends/codex/session/history.d.ts.map +1 -0
  603. package/lib/types/backends/codex/session/history.js +196 -0
  604. package/lib/types/backends/codex/session/images.d.ts +17 -0
  605. package/lib/types/backends/codex/session/images.d.ts.map +1 -0
  606. package/lib/types/backends/codex/session/images.js +138 -0
  607. package/lib/types/backends/codex/session/input.d.ts +75 -0
  608. package/lib/types/backends/codex/session/input.d.ts.map +1 -0
  609. package/lib/types/backends/codex/session/input.js +294 -0
  610. package/lib/types/backends/codex/session/plan-review.d.ts +19 -0
  611. package/lib/types/backends/codex/session/plan-review.d.ts.map +1 -0
  612. package/lib/types/backends/codex/session/plan-review.js +48 -0
  613. package/lib/types/backends/codex/session/prompts.d.ts +7 -0
  614. package/lib/types/backends/codex/session/prompts.d.ts.map +1 -0
  615. package/lib/types/backends/codex/session/prompts.js +47 -0
  616. package/lib/types/backends/codex/session/session.d.ts +12 -0
  617. package/lib/types/backends/codex/session/session.d.ts.map +1 -0
  618. package/lib/types/backends/codex/session/session.js +871 -0
  619. package/lib/types/backends/codex/session/side-query.d.ts +25 -0
  620. package/lib/types/backends/codex/session/side-query.d.ts.map +1 -0
  621. package/lib/types/backends/codex/session/side-query.js +121 -0
  622. package/lib/types/backends/codex/session/state.d.ts +57 -0
  623. package/lib/types/backends/codex/session/state.d.ts.map +1 -0
  624. package/lib/types/backends/codex/session/state.js +1 -0
  625. package/lib/types/backends/codex/session/subagents.d.ts +28 -0
  626. package/lib/types/backends/codex/session/subagents.d.ts.map +1 -0
  627. package/lib/types/backends/codex/session/subagents.js +286 -0
  628. package/lib/types/backends/codex/session/tasks.d.ts +25 -0
  629. package/lib/types/backends/codex/session/tasks.d.ts.map +1 -0
  630. package/lib/types/backends/codex/session/tasks.js +207 -0
  631. package/lib/types/backends/codex/session/tool-output.d.ts +9 -0
  632. package/lib/types/backends/codex/session/tool-output.d.ts.map +1 -0
  633. package/lib/types/backends/codex/session/tool-output.js +29 -0
  634. package/lib/types/backends/codex/translate/commands.d.ts +30 -0
  635. package/lib/types/backends/codex/translate/commands.d.ts.map +1 -0
  636. package/lib/types/backends/codex/translate/commands.js +103 -0
  637. package/lib/types/backends/codex/translate/events.d.ts +9 -0
  638. package/lib/types/backends/codex/translate/events.d.ts.map +1 -0
  639. package/lib/types/backends/codex/translate/events.js +71 -0
  640. package/lib/types/backends/codex/translate/items.d.ts +112 -0
  641. package/lib/types/backends/codex/translate/items.d.ts.map +1 -0
  642. package/lib/types/backends/codex/translate/items.js +375 -0
  643. package/lib/types/backends/codex/translate/live.d.ts +39 -0
  644. package/lib/types/backends/codex/translate/live.d.ts.map +1 -0
  645. package/lib/types/backends/codex/translate/live.js +315 -0
  646. package/lib/types/backends/codex/translate/notices.d.ts +27 -0
  647. package/lib/types/backends/codex/translate/notices.d.ts.map +1 -0
  648. package/lib/types/backends/codex/translate/notices.js +99 -0
  649. package/lib/types/backends/codex/translate/presentation.d.ts +49 -0
  650. package/lib/types/backends/codex/translate/presentation.d.ts.map +1 -0
  651. package/lib/types/backends/codex/translate/presentation.js +237 -0
  652. package/lib/types/backends/codex/translate/replay.d.ts +18 -0
  653. package/lib/types/backends/codex/translate/replay.d.ts.map +1 -0
  654. package/lib/types/backends/codex/translate/replay.js +33 -0
  655. package/lib/types/backends/codex/translate/usage.d.ts +29 -0
  656. package/lib/types/backends/codex/translate/usage.d.ts.map +1 -0
  657. package/lib/types/backends/codex/translate/usage.js +65 -0
  658. package/lib/types/backends/shared/atomic-file.d.ts +4 -0
  659. package/lib/types/backends/shared/atomic-file.d.ts.map +1 -0
  660. package/lib/types/backends/shared/atomic-file.js +52 -0
  661. package/lib/types/backends/shared/channel-tokens.d.ts +29 -0
  662. package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -0
  663. package/lib/types/backends/shared/channel-tokens.js +161 -0
  664. package/lib/types/backends/shared/display-path.d.ts +3 -0
  665. package/lib/types/backends/shared/display-path.d.ts.map +1 -0
  666. package/lib/types/backends/shared/display-path.js +12 -0
  667. package/lib/types/branding.d.ts +92 -0
  668. package/lib/types/branding.d.ts.map +1 -0
  669. package/lib/types/branding.js +117 -0
  670. package/lib/types/channel/activity.d.ts +53 -0
  671. package/lib/types/channel/activity.d.ts.map +1 -0
  672. package/lib/types/channel/activity.js +955 -0
  673. package/lib/types/channel/capabilities.d.ts +24 -0
  674. package/lib/types/channel/capabilities.d.ts.map +1 -0
  675. package/lib/types/channel/capabilities.js +57 -0
  676. package/lib/types/channel/channel-slug.d.ts +9 -0
  677. package/lib/types/channel/channel-slug.d.ts.map +1 -0
  678. package/lib/types/channel/channel-slug.js +15 -0
  679. package/lib/types/channel/channel-wizard.d.ts +30 -0
  680. package/lib/types/channel/channel-wizard.d.ts.map +1 -0
  681. package/lib/types/channel/channel-wizard.js +226 -0
  682. package/lib/types/channel/elicitation.d.ts +135 -0
  683. package/lib/types/channel/elicitation.d.ts.map +1 -0
  684. package/lib/types/channel/elicitation.js +360 -0
  685. package/lib/types/channel/goal-command.d.ts +49 -0
  686. package/lib/types/channel/goal-command.d.ts.map +1 -0
  687. package/lib/types/channel/goal-command.js +72 -0
  688. package/lib/types/channel/history-restore.d.ts +16 -0
  689. package/lib/types/channel/history-restore.d.ts.map +1 -0
  690. package/lib/types/channel/history-restore.js +214 -0
  691. package/lib/types/channel/interaction.d.ts +38 -0
  692. package/lib/types/channel/interaction.d.ts.map +1 -0
  693. package/lib/types/channel/interaction.js +110 -0
  694. package/lib/types/channel/job-format.d.ts +6 -0
  695. package/lib/types/channel/job-format.d.ts.map +1 -0
  696. package/lib/types/channel/job-format.js +12 -0
  697. package/lib/types/channel/live-output.d.ts +35 -0
  698. package/lib/types/channel/live-output.d.ts.map +1 -0
  699. package/lib/types/channel/live-output.js +74 -0
  700. package/lib/types/channel/model-capabilities.d.ts +10 -0
  701. package/lib/types/channel/model-capabilities.d.ts.map +1 -0
  702. package/lib/types/channel/model-capabilities.js +51 -0
  703. package/lib/types/channel/permissions.d.ts +155 -0
  704. package/lib/types/channel/permissions.d.ts.map +1 -0
  705. package/lib/types/channel/permissions.js +188 -0
  706. package/lib/types/channel/projection.d.ts +110 -0
  707. package/lib/types/channel/projection.d.ts.map +1 -0
  708. package/lib/types/channel/projection.js +1521 -0
  709. package/lib/types/channel/question-record.d.ts +76 -0
  710. package/lib/types/channel/question-record.d.ts.map +1 -0
  711. package/lib/types/channel/question-record.js +109 -0
  712. package/lib/types/channel/questions.d.ts +204 -0
  713. package/lib/types/channel/questions.d.ts.map +1 -0
  714. package/lib/types/channel/questions.js +286 -0
  715. package/lib/types/channel/sanitize.d.ts +49 -0
  716. package/lib/types/channel/sanitize.d.ts.map +1 -0
  717. package/lib/types/channel/sanitize.js +88 -0
  718. package/lib/types/channel/selection-record.d.ts +18 -0
  719. package/lib/types/channel/selection-record.d.ts.map +1 -0
  720. package/lib/types/channel/selection-record.js +45 -0
  721. package/lib/types/channel/side-prompts.d.ts +59 -0
  722. package/lib/types/channel/side-prompts.d.ts.map +1 -0
  723. package/lib/types/channel/side-prompts.js +127 -0
  724. package/lib/types/channel/transcript.d.ts +17 -0
  725. package/lib/types/channel/transcript.d.ts.map +1 -0
  726. package/lib/types/channel/transcript.js +19 -0
  727. package/lib/types/channel/usage.d.ts +48 -0
  728. package/lib/types/channel/usage.d.ts.map +1 -0
  729. package/lib/types/channel/usage.js +143 -0
  730. package/lib/types/commands.d.ts +147 -0
  731. package/lib/types/commands.d.ts.map +1 -1
  732. package/lib/types/commands.js +208 -6
  733. package/lib/types/components/ActivityLine.d.ts +6 -9
  734. package/lib/types/components/ActivityLine.d.ts.map +1 -1
  735. package/lib/types/components/ActivityLine.js +7 -8
  736. package/lib/types/components/AgentMessageComposer.d.ts +50 -0
  737. package/lib/types/components/AgentMessageComposer.d.ts.map +1 -0
  738. package/lib/types/components/AgentMessageComposer.js +159 -0
  739. package/lib/types/components/BtwPanel.d.ts +13 -12
  740. package/lib/types/components/BtwPanel.d.ts.map +1 -1
  741. package/lib/types/components/BtwPanel.js +35 -24
  742. package/lib/types/components/ChannelPicker.d.ts +40 -0
  743. package/lib/types/components/ChannelPicker.d.ts.map +1 -0
  744. package/lib/types/components/ChannelPicker.js +26 -0
  745. package/lib/types/components/Chat/JobCard.d.ts +29 -14
  746. package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
  747. package/lib/types/components/Chat/JobCard.js +51 -64
  748. package/lib/types/components/Chat/JobGroupHeader.d.ts +27 -0
  749. package/lib/types/components/Chat/JobGroupHeader.d.ts.map +1 -0
  750. package/lib/types/components/Chat/JobGroupHeader.js +62 -0
  751. package/lib/types/components/Chat/SubagentMessage.d.ts +4 -1
  752. package/lib/types/components/Chat/SubagentMessage.d.ts.map +1 -1
  753. package/lib/types/components/Chat/SubagentMessage.js +10 -3
  754. package/lib/types/components/ClaudeGirl.d.ts +27 -0
  755. package/lib/types/components/ClaudeGirl.d.ts.map +1 -0
  756. package/lib/types/components/ClaudeGirl.js +30 -0
  757. package/lib/types/components/CodeBlockFrame.d.ts +19 -0
  758. package/lib/types/components/CodeBlockFrame.d.ts.map +1 -0
  759. package/lib/types/components/CodeBlockFrame.js +138 -0
  760. package/lib/types/components/CommandSuggestions.d.ts +10 -1
  761. package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
  762. package/lib/types/components/CommandSuggestions.js +20 -3
  763. package/lib/types/components/ContextBarView.d.ts +2 -2
  764. package/lib/types/components/ContextBarView.d.ts.map +1 -1
  765. package/lib/types/components/ContextBarView.js +18 -8
  766. package/lib/types/components/EffortChargeGlyph.d.ts +1 -1
  767. package/lib/types/components/EffortChargeGlyph.d.ts.map +1 -1
  768. package/lib/types/components/EffortChargeGlyph.js +3 -4
  769. package/lib/types/components/EffortInputBorder.d.ts +1 -2
  770. package/lib/types/components/EffortInputBorder.d.ts.map +1 -1
  771. package/lib/types/components/EffortInputBorder.js +7 -4
  772. package/lib/types/components/EffortSlider.d.ts +5 -1
  773. package/lib/types/components/EffortSlider.d.ts.map +1 -1
  774. package/lib/types/components/EffortSlider.js +2 -2
  775. package/lib/types/components/EffortTierBadge.d.ts +1 -2
  776. package/lib/types/components/EffortTierBadge.d.ts.map +1 -1
  777. package/lib/types/components/EffortTierBadge.js +8 -5
  778. package/lib/types/components/GoalTodoPanel.d.ts +15 -2
  779. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
  780. package/lib/types/components/GoalTodoPanel.js +65 -18
  781. package/lib/types/components/InlineMathParagraph.js +1 -1
  782. package/lib/types/components/JobsPanel.d.ts +41 -2
  783. package/lib/types/components/JobsPanel.d.ts.map +1 -1
  784. package/lib/types/components/JobsPanel.js +208 -16
  785. package/lib/types/components/KernelPicker.d.ts +28 -0
  786. package/lib/types/components/KernelPicker.d.ts.map +1 -0
  787. package/lib/types/components/KernelPicker.js +37 -0
  788. package/lib/types/components/LogoV2.d.ts +49 -3
  789. package/lib/types/components/LogoV2.d.ts.map +1 -1
  790. package/lib/types/components/LogoV2.js +157 -34
  791. package/lib/types/components/Markdown.d.ts +2 -1
  792. package/lib/types/components/Markdown.d.ts.map +1 -1
  793. package/lib/types/components/Markdown.js +37 -8
  794. package/lib/types/components/MathBlock.d.ts.map +1 -1
  795. package/lib/types/components/MathBlock.js +3 -1
  796. package/lib/types/components/MermaidDiagram.d.ts.map +1 -1
  797. package/lib/types/components/MermaidDiagram.js +7 -5
  798. package/lib/types/components/MessageList.d.ts +28 -4
  799. package/lib/types/components/MessageList.d.ts.map +1 -1
  800. package/lib/types/components/MessageList.js +247 -33
  801. package/lib/types/components/ModePicker.d.ts +20 -0
  802. package/lib/types/components/ModePicker.d.ts.map +1 -0
  803. package/lib/types/components/ModePicker.js +17 -0
  804. package/lib/types/components/OverlayAbove.d.ts +11 -1
  805. package/lib/types/components/OverlayAbove.d.ts.map +1 -1
  806. package/lib/types/components/OverlayAbove.js +2 -12
  807. package/lib/types/components/PageMargin.d.ts.map +1 -1
  808. package/lib/types/components/PageMargin.js +3 -1
  809. package/lib/types/components/PluginSceneBoundary.d.ts +1 -1
  810. package/lib/types/components/PluginSceneBoundary.js +1 -1
  811. package/lib/types/components/PromptInput.d.ts +22 -24
  812. package/lib/types/components/PromptInput.d.ts.map +1 -1
  813. package/lib/types/components/PromptInput.js +720 -210
  814. package/lib/types/components/SdkInstallWizard.d.ts +44 -0
  815. package/lib/types/components/SdkInstallWizard.d.ts.map +1 -0
  816. package/lib/types/components/SdkInstallWizard.js +18 -0
  817. package/lib/types/components/SearchBox.d.ts +22 -6
  818. package/lib/types/components/SearchBox.d.ts.map +1 -1
  819. package/lib/types/components/SearchBox.js +27 -14
  820. package/lib/types/components/SplitDiffView.d.ts.map +1 -1
  821. package/lib/types/components/SplitDiffView.js +113 -6
  822. package/lib/types/components/StarPrompt.d.ts.map +1 -1
  823. package/lib/types/components/StarPrompt.js +5 -3
  824. package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
  825. package/lib/types/components/StreamingMarkdown.js +6 -4
  826. package/lib/types/components/SubagentCard.d.ts +2 -1
  827. package/lib/types/components/SubagentCard.d.ts.map +1 -1
  828. package/lib/types/components/SubagentCard.js +32 -10
  829. package/lib/types/components/SubagentDashboard.d.ts +22 -3
  830. package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
  831. package/lib/types/components/SubagentDashboard.js +69 -10
  832. package/lib/types/components/SubagentDetailScene.d.ts +22 -1
  833. package/lib/types/components/SubagentDetailScene.d.ts.map +1 -1
  834. package/lib/types/components/SubagentDetailScene.js +245 -45
  835. package/lib/types/components/SurfaceEdges.d.ts +21 -0
  836. package/lib/types/components/SurfaceEdges.d.ts.map +1 -0
  837. package/lib/types/components/SurfaceEdges.js +7 -0
  838. package/lib/types/components/SyntaxText.d.ts.map +1 -1
  839. package/lib/types/components/SyntaxText.js +4 -1
  840. package/lib/types/components/ThemePicker.d.ts +9 -0
  841. package/lib/types/components/ThemePicker.d.ts.map +1 -1
  842. package/lib/types/components/ThemePicker.js +74 -10
  843. package/lib/types/components/ThemePreviewPane.d.ts +26 -0
  844. package/lib/types/components/ThemePreviewPane.d.ts.map +1 -0
  845. package/lib/types/components/ThemePreviewPane.js +99 -0
  846. package/lib/types/components/TurnInterruptedRow.d.ts +3 -1
  847. package/lib/types/components/TurnInterruptedRow.d.ts.map +1 -1
  848. package/lib/types/components/TurnInterruptedRow.js +6 -3
  849. package/lib/types/components/TurnUsageRow.d.ts +24 -0
  850. package/lib/types/components/TurnUsageRow.d.ts.map +1 -0
  851. package/lib/types/components/TurnUsageRow.js +46 -0
  852. package/lib/types/components/WorkingSpinner.d.ts +2 -1
  853. package/lib/types/components/WorkingSpinner.d.ts.map +1 -1
  854. package/lib/types/components/WorkingSpinner.js +21 -4
  855. package/lib/types/components/approvals/ApprovalPanel.d.ts +36 -13
  856. package/lib/types/components/approvals/ApprovalPanel.d.ts.map +1 -1
  857. package/lib/types/components/approvals/ApprovalPanel.js +173 -25
  858. package/lib/types/components/claudeGirlSprite.d.ts +18 -0
  859. package/lib/types/components/claudeGirlSprite.d.ts.map +1 -0
  860. package/lib/types/components/claudeGirlSprite.js +48 -0
  861. package/lib/types/components/design-system/Divider.d.ts.map +1 -1
  862. package/lib/types/components/design-system/Divider.js +14 -9
  863. package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
  864. package/lib/types/components/design-system/ThemeProvider.js +46 -13
  865. package/lib/types/components/design-system/ThemedText.d.ts +3 -1
  866. package/lib/types/components/design-system/ThemedText.d.ts.map +1 -1
  867. package/lib/types/components/design-system/ThemedText.js +2 -2
  868. package/lib/types/components/diffPatch.d.ts +55 -0
  869. package/lib/types/components/diffPatch.d.ts.map +1 -0
  870. package/lib/types/components/diffPatch.js +142 -0
  871. package/lib/types/components/kernelCatalog.d.ts +48 -0
  872. package/lib/types/components/kernelCatalog.d.ts.map +1 -0
  873. package/lib/types/components/kernelCatalog.js +53 -0
  874. package/lib/types/components/launchpadActions.d.ts +80 -0
  875. package/lib/types/components/launchpadActions.d.ts.map +1 -0
  876. package/lib/types/components/launchpadActions.js +133 -0
  877. package/lib/types/components/launchpadLayout.d.ts +62 -0
  878. package/lib/types/components/launchpadLayout.d.ts.map +1 -0
  879. package/lib/types/components/launchpadLayout.js +176 -0
  880. package/lib/types/components/launchpadParams.d.ts +101 -0
  881. package/lib/types/components/launchpadParams.d.ts.map +1 -0
  882. package/lib/types/components/launchpadParams.js +171 -0
  883. package/lib/types/components/maidPortrait.d.ts +37 -5
  884. package/lib/types/components/maidPortrait.d.ts.map +1 -1
  885. package/lib/types/components/maidPortrait.js +73 -54
  886. package/lib/types/components/messages/AgentMessageFlow.d.ts +20 -0
  887. package/lib/types/components/messages/AgentMessageFlow.d.ts.map +1 -0
  888. package/lib/types/components/messages/AgentMessageFlow.js +37 -0
  889. package/lib/types/components/messages/AssistantThinkingMessage.d.ts +6 -1
  890. package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
  891. package/lib/types/components/messages/AssistantThinkingMessage.js +29 -5
  892. package/lib/types/components/messages/AssistantToolUseMessage.d.ts +11 -2
  893. package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
  894. package/lib/types/components/messages/AssistantToolUseMessage.js +289 -36
  895. package/lib/types/components/messages/TranscriptLeaves.d.ts +85 -0
  896. package/lib/types/components/messages/TranscriptLeaves.d.ts.map +1 -0
  897. package/lib/types/components/messages/TranscriptLeaves.js +74 -0
  898. package/lib/types/components/messages/agentTeam.d.ts +69 -0
  899. package/lib/types/components/messages/agentTeam.d.ts.map +1 -0
  900. package/lib/types/components/messages/agentTeam.js +53 -0
  901. package/lib/types/components/messages/liveOutputLines.d.ts +33 -0
  902. package/lib/types/components/messages/liveOutputLines.d.ts.map +1 -0
  903. package/lib/types/components/messages/liveOutputLines.js +100 -0
  904. package/lib/types/components/messages/subagentTranscript.d.ts +146 -0
  905. package/lib/types/components/messages/subagentTranscript.d.ts.map +1 -0
  906. package/lib/types/components/messages/subagentTranscript.js +304 -0
  907. package/lib/types/components/onboardingModel.d.ts +83 -0
  908. package/lib/types/components/onboardingModel.d.ts.map +1 -0
  909. package/lib/types/components/onboardingModel.js +128 -0
  910. package/lib/types/components/questions/AskUserQuestionPanel.d.ts +16 -1
  911. package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
  912. package/lib/types/components/questions/AskUserQuestionPanel.js +76 -6
  913. package/lib/types/components/questions/PlanReviewPanel.d.ts +8 -3
  914. package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
  915. package/lib/types/components/questions/PlanReviewPanel.js +11 -6
  916. package/lib/types/components/questions/ProviderModelEditor.d.ts +12 -0
  917. package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -0
  918. package/lib/types/components/questions/ProviderModelEditor.js +266 -0
  919. package/lib/types/components/shimmer.d.ts +26 -0
  920. package/lib/types/components/shimmer.d.ts.map +1 -1
  921. package/lib/types/components/shimmer.js +26 -0
  922. package/lib/types/components/sidePanel/InfoPanel.d.ts +17 -0
  923. package/lib/types/components/sidePanel/InfoPanel.d.ts.map +1 -0
  924. package/lib/types/components/sidePanel/InfoPanel.js +129 -0
  925. package/lib/types/components/sidePanel/PanelBar.d.ts +21 -0
  926. package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -0
  927. package/lib/types/components/sidePanel/PanelBar.js +82 -0
  928. package/lib/types/components/sidePanel/PanelErrorBoundary.d.ts +21 -0
  929. package/lib/types/components/sidePanel/PanelErrorBoundary.d.ts.map +1 -0
  930. package/lib/types/components/sidePanel/PanelErrorBoundary.js +30 -0
  931. package/lib/types/components/sidePanel/PanelHost.d.ts +36 -0
  932. package/lib/types/components/sidePanel/PanelHost.d.ts.map +1 -0
  933. package/lib/types/components/sidePanel/PanelHost.js +81 -0
  934. package/lib/types/components/sidePanel/PanelPicker.d.ts +24 -0
  935. package/lib/types/components/sidePanel/PanelPicker.d.ts.map +1 -0
  936. package/lib/types/components/sidePanel/PanelPicker.js +45 -0
  937. package/lib/types/components/sidePanel/PanelStore.d.ts +57 -0
  938. package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -0
  939. package/lib/types/components/sidePanel/PanelStore.js +113 -0
  940. package/lib/types/components/sidePanel/SidePanelColumn.d.ts +24 -0
  941. package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -0
  942. package/lib/types/components/sidePanel/SidePanelColumn.js +67 -0
  943. package/lib/types/components/sidePanel/SidePanelLayout.d.ts +54 -0
  944. package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -0
  945. package/lib/types/components/sidePanel/SidePanelLayout.js +81 -0
  946. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts +43 -0
  947. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts.map +1 -0
  948. package/lib/types/components/sidePanel/SidePanelRuntimeContext.js +26 -0
  949. package/lib/types/components/sidePanel/TrajectoryPanel.d.ts +7 -0
  950. package/lib/types/components/sidePanel/TrajectoryPanel.d.ts.map +1 -0
  951. package/lib/types/components/sidePanel/TrajectoryPanel.js +327 -0
  952. package/lib/types/components/sidePanel/WorkspacePanel.d.ts +4 -0
  953. package/lib/types/components/sidePanel/WorkspacePanel.d.ts.map +1 -0
  954. package/lib/types/components/sidePanel/WorkspacePanel.js +171 -0
  955. package/lib/types/components/sidePanel/agentViewStore.d.ts +20 -0
  956. package/lib/types/components/sidePanel/agentViewStore.d.ts.map +1 -0
  957. package/lib/types/components/sidePanel/agentViewStore.js +26 -0
  958. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +50 -0
  959. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -0
  960. package/lib/types/components/sidePanel/btw/BtwComposer.js +45 -0
  961. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts +13 -0
  962. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -0
  963. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +147 -0
  964. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts +14 -0
  965. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -0
  966. package/lib/types/components/sidePanel/btw/BtwThreadScene.js +131 -0
  967. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +30 -0
  968. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -0
  969. package/lib/types/components/sidePanel/btw/BtwThreadView.js +87 -0
  970. package/lib/types/components/sidePanel/btw/threads.d.ts +111 -0
  971. package/lib/types/components/sidePanel/btw/threads.d.ts.map +1 -0
  972. package/lib/types/components/sidePanel/btw/threads.js +302 -0
  973. package/lib/types/components/sidePanel/builtinPanels.d.ts +3 -0
  974. package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -0
  975. package/lib/types/components/sidePanel/builtinPanels.js +269 -0
  976. package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts +11 -0
  977. package/lib/types/components/sidePanel/companion/CompanionPanel.d.ts.map +1 -0
  978. package/lib/types/components/sidePanel/companion/CompanionPanel.js +492 -0
  979. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts +32 -0
  980. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts.map +1 -0
  981. package/lib/types/components/sidePanel/companion/SplashMascot.js +103 -0
  982. package/lib/types/components/sidePanel/companion/deepy.d.ts +75 -0
  983. package/lib/types/components/sidePanel/companion/deepy.d.ts.map +1 -0
  984. package/lib/types/components/sidePanel/companion/deepy.js +222 -0
  985. package/lib/types/components/sidePanel/companion/mood.d.ts +208 -0
  986. package/lib/types/components/sidePanel/companion/mood.d.ts.map +1 -0
  987. package/lib/types/components/sidePanel/companion/mood.js +256 -0
  988. package/lib/types/components/sidePanel/companion/pose.d.ts +43 -0
  989. package/lib/types/components/sidePanel/companion/pose.d.ts.map +1 -0
  990. package/lib/types/components/sidePanel/companion/pose.js +34 -0
  991. package/lib/types/components/sidePanel/companion/skins.d.ts +136 -0
  992. package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -0
  993. package/lib/types/components/sidePanel/companion/skins.js +582 -0
  994. package/lib/types/components/sidePanel/dimensions.d.ts +60 -0
  995. package/lib/types/components/sidePanel/dimensions.d.ts.map +1 -0
  996. package/lib/types/components/sidePanel/dimensions.js +75 -0
  997. package/lib/types/components/sidePanel/jobsFocusStore.d.ts +21 -0
  998. package/lib/types/components/sidePanel/jobsFocusStore.d.ts.map +1 -0
  999. package/lib/types/components/sidePanel/jobsFocusStore.js +30 -0
  1000. package/lib/types/components/sidePanel/panelBridge.d.ts +44 -0
  1001. package/lib/types/components/sidePanel/panelBridge.d.ts.map +1 -0
  1002. package/lib/types/components/sidePanel/panelBridge.js +55 -0
  1003. package/lib/types/components/sidePanel/pluginPanelAdapter.d.ts +22 -0
  1004. package/lib/types/components/sidePanel/pluginPanelAdapter.d.ts.map +1 -0
  1005. package/lib/types/components/sidePanel/pluginPanelAdapter.js +148 -0
  1006. package/lib/types/components/sidePanel/types.d.ts +110 -0
  1007. package/lib/types/components/sidePanel/types.d.ts.map +1 -0
  1008. package/lib/types/components/sidePanel/types.js +1 -0
  1009. package/lib/types/components/sidePanel/usePanelInput.d.ts +5 -0
  1010. package/lib/types/components/sidePanel/usePanelInput.d.ts.map +1 -0
  1011. package/lib/types/components/sidePanel/usePanelInput.js +44 -0
  1012. package/lib/types/components/sidePanel/useSidePanel.d.ts +47 -0
  1013. package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -0
  1014. package/lib/types/components/sidePanel/useSidePanel.js +284 -0
  1015. package/lib/types/components/splashFonts.d.ts +17 -9
  1016. package/lib/types/components/splashFonts.d.ts.map +1 -1
  1017. package/lib/types/components/splashFonts.js +119 -15
  1018. package/lib/types/components/splashLayout.d.ts.map +1 -1
  1019. package/lib/types/components/splashLayout.js +3 -1
  1020. package/lib/types/components/subagentDetailMemory.d.ts +17 -0
  1021. package/lib/types/components/subagentDetailMemory.d.ts.map +1 -0
  1022. package/lib/types/components/subagentDetailMemory.js +28 -0
  1023. package/lib/types/components/trajectory/Inspector.d.ts.map +1 -1
  1024. package/lib/types/components/trajectory/Inspector.js +9 -0
  1025. package/lib/types/components/trajectory/Ledger.d.ts.map +1 -1
  1026. package/lib/types/components/trajectory/Ledger.js +7 -1
  1027. package/lib/types/components/trajectory/scope.d.ts +64 -0
  1028. package/lib/types/components/trajectory/scope.d.ts.map +1 -0
  1029. package/lib/types/components/trajectory/scope.js +88 -0
  1030. package/lib/types/components/trajectory/useTrajectoryScope.d.ts +42 -0
  1031. package/lib/types/components/trajectory/useTrajectoryScope.d.ts.map +1 -0
  1032. package/lib/types/components/trajectory/useTrajectoryScope.js +86 -0
  1033. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
  1034. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
  1035. package/lib/types/components/workspaces/HomeWorkspaceRow.js +3 -2
  1036. package/lib/types/customTheme.d.ts +4 -6
  1037. package/lib/types/customTheme.d.ts.map +1 -1
  1038. package/lib/types/customTheme.js +6 -8
  1039. package/lib/types/deepseekPricing.d.ts +10 -9
  1040. package/lib/types/deepseekPricing.d.ts.map +1 -1
  1041. package/lib/types/deepseekPricing.js +18 -11
  1042. package/lib/types/dsh-adapter/approvals.d.ts +18 -5
  1043. package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
  1044. package/lib/types/dsh-adapter/approvals.js +17 -4
  1045. package/lib/types/dsh-adapter/backend/session.d.ts +64 -0
  1046. package/lib/types/dsh-adapter/backend/session.d.ts.map +1 -0
  1047. package/lib/types/dsh-adapter/backend/session.js +291 -0
  1048. package/lib/types/dsh-adapter/backend/translate.d.ts +58 -0
  1049. package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -0
  1050. package/lib/types/dsh-adapter/backend/translate.js +467 -0
  1051. package/lib/types/dsh-adapter/backends.d.ts +49 -0
  1052. package/lib/types/dsh-adapter/backends.d.ts.map +1 -0
  1053. package/lib/types/dsh-adapter/backends.js +124 -0
  1054. package/lib/types/dsh-adapter/channel/action-readiness.d.ts +16 -0
  1055. package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
  1056. package/lib/types/dsh-adapter/channel/action-readiness.js +109 -0
  1057. package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts +2 -2
  1058. package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts.map +1 -1
  1059. package/lib/types/dsh-adapter/channel/attached-context.d.ts +58 -0
  1060. package/lib/types/dsh-adapter/channel/attached-context.d.ts.map +1 -0
  1061. package/lib/types/dsh-adapter/channel/attached-context.js +109 -0
  1062. package/lib/types/dsh-adapter/channel/background-action.d.ts +2 -2
  1063. package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
  1064. package/lib/types/dsh-adapter/channel/background-action.js +7 -5
  1065. package/lib/types/dsh-adapter/channel/binding-events.d.ts +25 -9
  1066. package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
  1067. package/lib/types/dsh-adapter/channel/binding-events.js +101 -135
  1068. package/lib/types/dsh-adapter/channel/binding.d.ts +61 -14
  1069. package/lib/types/dsh-adapter/channel/binding.d.ts.map +1 -1
  1070. package/lib/types/dsh-adapter/channel/binding.js +102 -35
  1071. package/lib/types/dsh-adapter/channel/capabilities.d.ts +82 -0
  1072. package/lib/types/dsh-adapter/channel/capabilities.d.ts.map +1 -0
  1073. package/lib/types/dsh-adapter/channel/capabilities.js +165 -0
  1074. package/lib/types/dsh-adapter/channel/command-completions.d.ts +3 -0
  1075. package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
  1076. package/lib/types/dsh-adapter/channel/command-completions.js +41 -4
  1077. package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
  1078. package/lib/types/dsh-adapter/channel/compaction.js +3 -2
  1079. package/lib/types/dsh-adapter/channel/composer-images.d.ts +5 -0
  1080. package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
  1081. package/lib/types/dsh-adapter/channel/composer-images.js +4 -3
  1082. package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts +4 -12
  1083. package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts.map +1 -1
  1084. package/lib/types/dsh-adapter/channel/context-bookkeeping.js +9 -4
  1085. package/lib/types/dsh-adapter/channel/core/actions.d.ts +39 -0
  1086. package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -0
  1087. package/lib/types/dsh-adapter/channel/core/actions.js +152 -0
  1088. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +145 -0
  1089. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -0
  1090. package/lib/types/dsh-adapter/channel/core/binding-feed.js +289 -0
  1091. package/lib/types/dsh-adapter/channel/core/compose.d.ts +217 -0
  1092. package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -0
  1093. package/lib/types/dsh-adapter/channel/core/compose.js +938 -0
  1094. package/lib/types/dsh-adapter/channel/core/files.d.ts +57 -0
  1095. package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -0
  1096. package/lib/types/dsh-adapter/channel/core/files.js +45 -0
  1097. package/lib/types/dsh-adapter/channel/core/host.d.ts +55 -0
  1098. package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -0
  1099. package/lib/types/dsh-adapter/channel/core/host.js +116 -0
  1100. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +46 -0
  1101. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -0
  1102. package/lib/types/dsh-adapter/channel/core/local-actions.js +117 -0
  1103. package/lib/types/dsh-adapter/channel/core/local-images.d.ts +20 -0
  1104. package/lib/types/dsh-adapter/channel/core/local-images.d.ts.map +1 -0
  1105. package/lib/types/dsh-adapter/channel/core/local-images.js +147 -0
  1106. package/lib/types/dsh-adapter/channel/core/reports.d.ts +12 -0
  1107. package/lib/types/dsh-adapter/channel/core/reports.d.ts.map +1 -0
  1108. package/lib/types/dsh-adapter/channel/core/reports.js +77 -0
  1109. package/lib/types/dsh-adapter/channel/core/session-controls.d.ts +39 -0
  1110. package/lib/types/dsh-adapter/channel/core/session-controls.d.ts.map +1 -0
  1111. package/lib/types/dsh-adapter/channel/core/session-controls.js +219 -0
  1112. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +174 -0
  1113. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -0
  1114. package/lib/types/dsh-adapter/channel/core/session-switch.js +390 -0
  1115. package/lib/types/dsh-adapter/channel/core/sessions.d.ts +40 -0
  1116. package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -0
  1117. package/lib/types/dsh-adapter/channel/core/sessions.js +268 -0
  1118. package/lib/types/dsh-adapter/channel/decisions.d.ts +4 -3
  1119. package/lib/types/dsh-adapter/channel/decisions.d.ts.map +1 -1
  1120. package/lib/types/dsh-adapter/channel/decisions.js +4 -4
  1121. package/lib/types/dsh-adapter/channel/emitter.d.ts +15 -2
  1122. package/lib/types/dsh-adapter/channel/emitter.d.ts.map +1 -1
  1123. package/lib/types/dsh-adapter/channel/emitter.js +5 -3
  1124. package/lib/types/dsh-adapter/channel/extensions.d.ts +36 -0
  1125. package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -0
  1126. package/lib/types/dsh-adapter/channel/extensions.js +714 -0
  1127. package/lib/types/dsh-adapter/channel/ide-selection.d.ts +1 -10
  1128. package/lib/types/dsh-adapter/channel/ide-selection.d.ts.map +1 -1
  1129. package/lib/types/dsh-adapter/channel/ide-selection.js +4 -46
  1130. package/lib/types/dsh-adapter/channel/input-actions.d.ts +27 -4
  1131. package/lib/types/dsh-adapter/channel/input-actions.d.ts.map +1 -1
  1132. package/lib/types/dsh-adapter/channel/input-actions.js +240 -21
  1133. package/lib/types/dsh-adapter/channel/input-delivery.d.ts +34 -7
  1134. package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
  1135. package/lib/types/dsh-adapter/channel/input-delivery.js +79 -24
  1136. package/lib/types/dsh-adapter/channel/local-actions.d.ts +10 -32
  1137. package/lib/types/dsh-adapter/channel/local-actions.d.ts.map +1 -1
  1138. package/lib/types/dsh-adapter/channel/local-actions.js +10 -78
  1139. package/lib/types/dsh-adapter/channel/local-fs.d.ts +3 -0
  1140. package/lib/types/dsh-adapter/channel/local-fs.d.ts.map +1 -0
  1141. package/lib/types/dsh-adapter/channel/local-fs.js +46 -0
  1142. package/lib/types/dsh-adapter/channel/mode-actions.d.ts +3 -6
  1143. package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -1
  1144. package/lib/types/dsh-adapter/channel/mode-actions.js +7 -2
  1145. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +10 -3
  1146. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
  1147. package/lib/types/dsh-adapter/channel/mode-permission-actions.js +0 -1
  1148. package/lib/types/dsh-adapter/channel/model-actions.d.ts +3 -3
  1149. package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
  1150. package/lib/types/dsh-adapter/channel/model-actions.js +38 -5
  1151. package/lib/types/dsh-adapter/channel/model-switch.d.ts +2 -2
  1152. package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
  1153. package/lib/types/dsh-adapter/channel/model-switch.js +9 -6
  1154. package/lib/types/dsh-adapter/channel/preferences.d.ts +1 -1
  1155. package/lib/types/dsh-adapter/channel/preferences.d.ts.map +1 -1
  1156. package/lib/types/dsh-adapter/channel/preferences.js +25 -1
  1157. package/lib/types/dsh-adapter/channel/projection.d.ts +16 -13
  1158. package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -1
  1159. package/lib/types/dsh-adapter/channel/projection.js +38 -1138
  1160. package/lib/types/dsh-adapter/channel/question-record.d.ts +3 -75
  1161. package/lib/types/dsh-adapter/channel/question-record.d.ts.map +1 -1
  1162. package/lib/types/dsh-adapter/channel/question-record.js +3 -107
  1163. package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
  1164. package/lib/types/dsh-adapter/channel/reports.js +13 -4
  1165. package/lib/types/dsh-adapter/channel/session-activity.d.ts +9 -0
  1166. package/lib/types/dsh-adapter/channel/session-activity.d.ts.map +1 -0
  1167. package/lib/types/dsh-adapter/channel/session-activity.js +42 -0
  1168. package/lib/types/dsh-adapter/channel/session-adoption.d.ts +4 -4
  1169. package/lib/types/dsh-adapter/channel/session-adoption.d.ts.map +1 -1
  1170. package/lib/types/dsh-adapter/channel/session-adoption.js +3 -1
  1171. package/lib/types/dsh-adapter/channel/session-fork.d.ts +1 -1
  1172. package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
  1173. package/lib/types/dsh-adapter/channel/session-fork.js +2 -1
  1174. package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts +7 -3
  1175. package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts.map +1 -1
  1176. package/lib/types/dsh-adapter/channel/session-live-adoption.js +1 -1
  1177. package/lib/types/dsh-adapter/channel/session-metadata.d.ts +2 -9
  1178. package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
  1179. package/lib/types/dsh-adapter/channel/session-reset.d.ts +5 -1
  1180. package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -1
  1181. package/lib/types/dsh-adapter/channel/session-reset.js +5 -0
  1182. package/lib/types/dsh-adapter/channel/session-resume.d.ts +5 -10
  1183. package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
  1184. package/lib/types/dsh-adapter/channel/session-resume.js +74 -113
  1185. package/lib/types/dsh-adapter/channel/session-rewind.d.ts +4 -4
  1186. package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
  1187. package/lib/types/dsh-adapter/channel/session-rewind.js +7 -6
  1188. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts +4 -4
  1189. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
  1190. package/lib/types/dsh-adapter/channel/session-tree-actions.js +8 -7
  1191. package/lib/types/dsh-adapter/channel/settings-host.d.ts +1 -1
  1192. package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
  1193. package/lib/types/dsh-adapter/channel/settings-host.js +8 -0
  1194. package/lib/types/dsh-adapter/channel/skill-catalog.d.ts +5 -1
  1195. package/lib/types/dsh-adapter/channel/skill-catalog.d.ts.map +1 -1
  1196. package/lib/types/dsh-adapter/channel/skill-catalog.js +2 -2
  1197. package/lib/types/dsh-adapter/channel/state.d.ts +89 -2
  1198. package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
  1199. package/lib/types/dsh-adapter/channel/state.js +9 -4
  1200. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts +58 -3
  1201. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
  1202. package/lib/types/dsh-adapter/channel/subagent-projection.js +153 -9
  1203. package/lib/types/dsh-adapter/channel/subagent-transcript.d.ts +114 -0
  1204. package/lib/types/dsh-adapter/channel/subagent-transcript.d.ts.map +1 -0
  1205. package/lib/types/dsh-adapter/channel/subagent-transcript.js +279 -0
  1206. package/lib/types/dsh-adapter/channel/transcript.d.ts +7 -15
  1207. package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -1
  1208. package/lib/types/dsh-adapter/channel/transcript.js +17 -21
  1209. package/lib/types/dsh-adapter/channel/types.d.ts +16 -7
  1210. package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -1
  1211. package/lib/types/dsh-adapter/channel/usage.d.ts +3 -6
  1212. package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -1
  1213. package/lib/types/dsh-adapter/channel/usage.js +5 -16
  1214. package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
  1215. package/lib/types/dsh-adapter/channel/workspace-actions.js +2 -1
  1216. package/lib/types/dsh-adapter/channel.d.ts +17 -8
  1217. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  1218. package/lib/types/dsh-adapter/channel.js +24 -1006
  1219. package/lib/types/dsh-adapter/context-occupancy.d.ts +209 -0
  1220. package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -0
  1221. package/lib/types/dsh-adapter/context-occupancy.js +304 -0
  1222. package/lib/types/dsh-adapter/contract.d.ts +14 -0
  1223. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  1224. package/lib/types/dsh-adapter/contract.js +24 -0
  1225. package/lib/types/dsh-adapter/decision-guard.d.ts +24 -0
  1226. package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -1
  1227. package/lib/types/dsh-adapter/decision-guard.js +44 -0
  1228. package/lib/types/dsh-adapter/extension-events.d.ts +4 -1
  1229. package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -1
  1230. package/lib/types/dsh-adapter/extension-events.js +22 -10
  1231. package/lib/types/dsh-adapter/index.d.ts +71 -1
  1232. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  1233. package/lib/types/dsh-adapter/index.js +47 -1
  1234. package/lib/types/dsh-adapter/jobs.d.ts +5 -3
  1235. package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
  1236. package/lib/types/dsh-adapter/jobs.js +53 -14
  1237. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -16
  1238. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
  1239. package/lib/types/dsh-adapter/migrate/parse/jsonl.js +3 -29
  1240. package/lib/types/dsh-adapter/migrate/sessionize.d.ts.map +1 -1
  1241. package/lib/types/dsh-adapter/migrate/sessionize.js +11 -12
  1242. package/lib/types/dsh-adapter/oauth-credential-source.d.ts +34 -0
  1243. package/lib/types/dsh-adapter/oauth-credential-source.d.ts.map +1 -0
  1244. package/lib/types/dsh-adapter/oauth-credential-source.js +66 -0
  1245. package/lib/types/dsh-adapter/panel-runtime-registry.d.ts +39 -0
  1246. package/lib/types/dsh-adapter/panel-runtime-registry.d.ts.map +1 -0
  1247. package/lib/types/dsh-adapter/panel-runtime-registry.js +84 -0
  1248. package/lib/types/dsh-adapter/panels.d.ts +251 -0
  1249. package/lib/types/dsh-adapter/panels.d.ts.map +1 -0
  1250. package/lib/types/dsh-adapter/panels.js +407 -0
  1251. package/lib/types/dsh-adapter/plugin-host.js +1 -1
  1252. package/lib/types/dsh-adapter/plugin.d.ts +55 -3
  1253. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  1254. package/lib/types/dsh-adapter/plugin.js +708 -135
  1255. package/lib/types/dsh-adapter/presets.d.ts +26 -6
  1256. package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
  1257. package/lib/types/dsh-adapter/presets.js +29 -7
  1258. package/lib/types/dsh-adapter/provider-model-capabilities.d.ts +10 -0
  1259. package/lib/types/dsh-adapter/provider-model-capabilities.d.ts.map +1 -0
  1260. package/lib/types/dsh-adapter/provider-model-capabilities.js +80 -0
  1261. package/lib/types/dsh-adapter/providerWizard.d.ts +8 -2
  1262. package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
  1263. package/lib/types/dsh-adapter/providerWizard.js +118 -52
  1264. package/lib/types/dsh-adapter/questions.d.ts +29 -124
  1265. package/lib/types/dsh-adapter/questions.d.ts.map +1 -1
  1266. package/lib/types/dsh-adapter/questions.js +33 -267
  1267. package/lib/types/dsh-adapter/recap.d.ts +3 -15
  1268. package/lib/types/dsh-adapter/recap.d.ts.map +1 -1
  1269. package/lib/types/dsh-adapter/recap.js +3 -46
  1270. package/lib/types/dsh-adapter/sanitize.d.ts +4 -44
  1271. package/lib/types/dsh-adapter/sanitize.d.ts.map +1 -1
  1272. package/lib/types/dsh-adapter/sanitize.js +4 -84
  1273. package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts +3 -1
  1274. package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts.map +1 -1
  1275. package/lib/types/dsh-adapter/session-mount-heartbeat.js +4 -2
  1276. package/lib/types/dsh-adapter/sessions/digest.d.ts +18 -3
  1277. package/lib/types/dsh-adapter/sessions/digest.d.ts.map +1 -1
  1278. package/lib/types/dsh-adapter/sessions/digest.js +60 -27
  1279. package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
  1280. package/lib/types/dsh-adapter/sessions/list.js +6 -4
  1281. package/lib/types/dsh-adapter/sessions/recovery.d.ts +2 -2
  1282. package/lib/types/dsh-adapter/sessions/recovery.d.ts.map +1 -1
  1283. package/lib/types/dsh-adapter/sessions/recovery.js +23 -14
  1284. package/lib/types/dsh-adapter/sessions/store.d.ts +2 -0
  1285. package/lib/types/dsh-adapter/sessions/store.d.ts.map +1 -1
  1286. package/lib/types/dsh-adapter/sessions/store.js +1 -0
  1287. package/lib/types/dsh-adapter/sessions/types.d.ts +2 -0
  1288. package/lib/types/dsh-adapter/sessions/types.d.ts.map +1 -1
  1289. package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
  1290. package/lib/types/dsh-adapter/sideQuestion.js +3 -13
  1291. package/lib/types/dsh-adapter/startup-args.d.ts +8 -0
  1292. package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -0
  1293. package/lib/types/dsh-adapter/startup-args.js +34 -0
  1294. package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
  1295. package/lib/types/dsh-adapter/subagents.js +7 -0
  1296. package/lib/types/dsh-adapter/themes.d.ts +1 -1
  1297. package/lib/types/dsh-adapter/themes.d.ts.map +1 -1
  1298. package/lib/types/dsh-adapter/trajectory/agent-source.d.ts +84 -0
  1299. package/lib/types/dsh-adapter/trajectory/agent-source.d.ts.map +1 -0
  1300. package/lib/types/dsh-adapter/trajectory/agent-source.js +601 -0
  1301. package/lib/types/dsh-adapter/trajectory/guards.d.ts +31 -1
  1302. package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -1
  1303. package/lib/types/dsh-adapter/trajectory/guards.js +28 -0
  1304. package/lib/types/dsh-adapter/trajectory/index.d.ts +3 -1
  1305. package/lib/types/dsh-adapter/trajectory/index.d.ts.map +1 -1
  1306. package/lib/types/dsh-adapter/trajectory/index.js +1 -0
  1307. package/lib/types/dsh-adapter/trajectory/inspect.d.ts +7 -0
  1308. package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -1
  1309. package/lib/types/dsh-adapter/trajectory/inspect.js +70 -2
  1310. package/lib/types/dsh-adapter/trajectory/projection.d.ts +4 -0
  1311. package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -1
  1312. package/lib/types/dsh-adapter/trajectory/projection.js +36 -0
  1313. package/lib/types/dsh-adapter/trajectory/types.d.ts +13 -0
  1314. package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -1
  1315. package/lib/types/effortPrefs.d.ts +7 -0
  1316. package/lib/types/effortPrefs.d.ts.map +1 -1
  1317. package/lib/types/effortPrefs.js +11 -2
  1318. package/lib/types/handoffAck.d.ts +57 -0
  1319. package/lib/types/handoffAck.d.ts.map +1 -0
  1320. package/lib/types/handoffAck.js +154 -0
  1321. package/lib/types/handoffEvents.d.ts +52 -0
  1322. package/lib/types/handoffEvents.d.ts.map +1 -0
  1323. package/lib/types/handoffEvents.js +128 -0
  1324. package/lib/types/history.d.ts +24 -7
  1325. package/lib/types/history.d.ts.map +1 -1
  1326. package/lib/types/history.js +77 -18
  1327. package/lib/types/i18n.d.ts +3937 -97
  1328. package/lib/types/i18n.d.ts.map +1 -1
  1329. package/lib/types/i18n.js +1154 -12
  1330. package/lib/types/ink/colorize.d.ts.map +1 -1
  1331. package/lib/types/ink/colorize.js +8 -2
  1332. package/lib/types/ink/components/AlternateScreen.d.ts +12 -1
  1333. package/lib/types/ink/components/AlternateScreen.d.ts.map +1 -1
  1334. package/lib/types/ink/components/AlternateScreen.js +25 -4
  1335. package/lib/types/ink/components/App.d.ts +19 -2
  1336. package/lib/types/ink/components/App.d.ts.map +1 -1
  1337. package/lib/types/ink/components/App.js +114 -66
  1338. package/lib/types/ink/components/Image.d.ts +8 -1
  1339. package/lib/types/ink/components/Image.d.ts.map +1 -1
  1340. package/lib/types/ink/components/Image.js +2 -2
  1341. package/lib/types/ink/components/TerminalSizeContext.d.ts +7 -0
  1342. package/lib/types/ink/components/TerminalSizeContext.d.ts.map +1 -1
  1343. package/lib/types/ink/components/Text.d.ts +8 -1
  1344. package/lib/types/ink/components/Text.d.ts.map +1 -1
  1345. package/lib/types/ink/components/Text.js +11 -1
  1346. package/lib/types/ink/dom.d.ts.map +1 -1
  1347. package/lib/types/ink/dom.js +75 -3
  1348. package/lib/types/ink/hooks/use-input.d.ts +11 -0
  1349. package/lib/types/ink/hooks/use-input.d.ts.map +1 -1
  1350. package/lib/types/ink/hooks/use-input.js +17 -6
  1351. package/lib/types/ink/hooks/use-terminal-viewport.d.ts.map +1 -1
  1352. package/lib/types/ink/hooks/use-terminal-viewport.js +3 -1
  1353. package/lib/types/ink/ink.d.ts +18 -0
  1354. package/lib/types/ink/ink.d.ts.map +1 -1
  1355. package/lib/types/ink/ink.js +59 -10
  1356. package/lib/types/ink/kitty-graphics.d.ts +7 -2
  1357. package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
  1358. package/lib/types/ink/kitty-graphics.js +15 -7
  1359. package/lib/types/ink/node-cache.d.ts +15 -1
  1360. package/lib/types/ink/node-cache.d.ts.map +1 -1
  1361. package/lib/types/ink/node-cache.js +4 -1
  1362. package/lib/types/ink/output.d.ts +10 -1
  1363. package/lib/types/ink/output.d.ts.map +1 -1
  1364. package/lib/types/ink/output.js +5 -3
  1365. package/lib/types/ink/parse-keypress.d.ts +49 -3
  1366. package/lib/types/ink/parse-keypress.d.ts.map +1 -1
  1367. package/lib/types/ink/parse-keypress.js +700 -127
  1368. package/lib/types/ink/reconciler.d.ts.map +1 -1
  1369. package/lib/types/ink/reconciler.js +9 -0
  1370. package/lib/types/ink/render-node-to-output.d.ts +1 -1
  1371. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  1372. package/lib/types/ink/render-node-to-output.js +237 -9
  1373. package/lib/types/ink/render-stats.d.ts +35 -0
  1374. package/lib/types/ink/render-stats.d.ts.map +1 -0
  1375. package/lib/types/ink/render-stats.js +53 -0
  1376. package/lib/types/ink/screen.d.ts +26 -1
  1377. package/lib/types/ink/screen.d.ts.map +1 -1
  1378. package/lib/types/ink/screen.js +96 -1
  1379. package/lib/types/ink/selection.d.ts +23 -1
  1380. package/lib/types/ink/selection.d.ts.map +1 -1
  1381. package/lib/types/ink/selection.js +102 -26
  1382. package/lib/types/ink/sixel-codec.d.ts +21 -0
  1383. package/lib/types/ink/sixel-codec.d.ts.map +1 -1
  1384. package/lib/types/ink/sixel-codec.js +49 -8
  1385. package/lib/types/ink/sixel-graphics.js +2 -2
  1386. package/lib/types/ink/styles.d.ts +46 -0
  1387. package/lib/types/ink/styles.d.ts.map +1 -1
  1388. package/lib/types/ink/terminal-image.d.ts +7 -0
  1389. package/lib/types/ink/terminal-image.d.ts.map +1 -1
  1390. package/lib/types/ink/terminal-querier.d.ts +1 -1
  1391. package/lib/types/ink/terminal-querier.js +4 -4
  1392. package/lib/types/ink/text-decoration.d.ts +49 -0
  1393. package/lib/types/ink/text-decoration.d.ts.map +1 -0
  1394. package/lib/types/ink/text-decoration.js +235 -0
  1395. package/lib/types/ink/update-overflow-guard.d.ts +9 -0
  1396. package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
  1397. package/lib/types/ink/update-overflow-guard.js +41 -0
  1398. package/lib/types/ink/wrap-text.d.ts.map +1 -1
  1399. package/lib/types/ink/wrap-text.js +5 -1
  1400. package/lib/types/kernelPrefs.d.ts +51 -0
  1401. package/lib/types/kernelPrefs.d.ts.map +1 -0
  1402. package/lib/types/kernelPrefs.js +126 -0
  1403. package/lib/types/math/renderer.d.ts +2 -0
  1404. package/lib/types/math/renderer.d.ts.map +1 -1
  1405. package/lib/types/math/renderer.js +4 -0
  1406. package/lib/types/modelRecents.d.ts +10 -2
  1407. package/lib/types/modelRecents.d.ts.map +1 -1
  1408. package/lib/types/modelRecents.js +20 -7
  1409. package/lib/types/onboardingPrefs.d.ts +52 -0
  1410. package/lib/types/onboardingPrefs.d.ts.map +1 -0
  1411. package/lib/types/onboardingPrefs.js +107 -0
  1412. package/lib/types/panels.d.ts +4 -0
  1413. package/lib/types/panels.d.ts.map +1 -0
  1414. package/lib/types/panels.js +4 -0
  1415. package/lib/types/screens/AgentTranscriptScene.d.ts +42 -0
  1416. package/lib/types/screens/AgentTranscriptScene.d.ts.map +1 -0
  1417. package/lib/types/screens/AgentTranscriptScene.js +269 -0
  1418. package/lib/types/screens/Chat.d.ts +66 -7
  1419. package/lib/types/screens/Chat.d.ts.map +1 -1
  1420. package/lib/types/screens/Chat.js +1720 -381
  1421. package/lib/types/screens/Launchpad.d.ts +211 -0
  1422. package/lib/types/screens/Launchpad.d.ts.map +1 -0
  1423. package/lib/types/screens/Launchpad.js +726 -0
  1424. package/lib/types/screens/Onboarding.d.ts +37 -0
  1425. package/lib/types/screens/Onboarding.d.ts.map +1 -0
  1426. package/lib/types/screens/Onboarding.js +492 -0
  1427. package/lib/types/screens/SessionSupervisor.d.ts +3 -3
  1428. package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
  1429. package/lib/types/screens/SessionSupervisor.js +87 -17
  1430. package/lib/types/screens/Settings.d.ts.map +1 -1
  1431. package/lib/types/screens/Settings.js +211 -7
  1432. package/lib/types/screens/StatusLine.d.ts +40 -1
  1433. package/lib/types/screens/StatusLine.d.ts.map +1 -1
  1434. package/lib/types/screens/StatusLine.js +160 -30
  1435. package/lib/types/screens/StatusMetrics.d.ts +75 -17
  1436. package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
  1437. package/lib/types/screens/StatusMetrics.js +161 -30
  1438. package/lib/types/screens/TrajectoryScene.d.ts.map +1 -1
  1439. package/lib/types/screens/TrajectoryScene.js +74 -12
  1440. package/lib/types/screens/chat/backendCommands.d.ts +37 -0
  1441. package/lib/types/screens/chat/backendCommands.d.ts.map +1 -0
  1442. package/lib/types/screens/chat/backendCommands.js +51 -0
  1443. package/lib/types/screens/chat/useBackendChannels.d.ts +20 -0
  1444. package/lib/types/screens/chat/useBackendChannels.d.ts.map +1 -0
  1445. package/lib/types/screens/chat/useBackendChannels.js +117 -0
  1446. package/lib/types/screens/chat/useKernelPicker.d.ts +23 -0
  1447. package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -0
  1448. package/lib/types/screens/chat/useKernelPicker.js +72 -0
  1449. package/lib/types/screens/chatOverlay.d.ts +49 -2
  1450. package/lib/types/screens/chatOverlay.d.ts.map +1 -1
  1451. package/lib/types/screens/chatOverlay.js +12 -0
  1452. package/lib/types/screens/sessionSupervisor/model.d.ts +1 -2
  1453. package/lib/types/screens/sessionSupervisor/model.d.ts.map +1 -1
  1454. package/lib/types/screens/sessionSupervisor/model.js +4 -2
  1455. package/lib/types/screens/sessionSupervisor/useForeignSessions.d.ts.map +1 -1
  1456. package/lib/types/screens/sessionSupervisor/useForeignSessions.js +5 -1
  1457. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +14 -0
  1458. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
  1459. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +104 -25
  1460. package/lib/types/sessionHistory.d.ts +18 -1
  1461. package/lib/types/sessionHistory.d.ts.map +1 -1
  1462. package/lib/types/sessionHistory.js +46 -4
  1463. package/lib/types/sessionPins.d.ts +7 -0
  1464. package/lib/types/sessionPins.d.ts.map +1 -1
  1465. package/lib/types/sessionPins.js +9 -0
  1466. package/lib/types/sessions/resumeFailure.d.ts.map +1 -1
  1467. package/lib/types/sessions/resumeFailure.js +2 -1
  1468. package/lib/types/settings/definitions.d.ts +167 -0
  1469. package/lib/types/settings/definitions.d.ts.map +1 -1
  1470. package/lib/types/settings/definitions.js +129 -0
  1471. package/lib/types/terminal-utils/hyperlink.d.ts +2 -2
  1472. package/lib/types/terminal-utils/hyperlink.d.ts.map +1 -1
  1473. package/lib/types/terminal-utils/hyperlink.js +21 -4
  1474. package/lib/types/terminal-utils/markdown.d.ts +34 -6
  1475. package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
  1476. package/lib/types/terminal-utils/markdown.js +257 -66
  1477. package/lib/types/theme.d.ts +49 -8
  1478. package/lib/types/theme.d.ts.map +1 -1
  1479. package/lib/types/theme.js +514 -18
  1480. package/lib/types/tips.js +7 -7
  1481. package/lib/types/trajectory/effortIgnition.d.ts +25 -7
  1482. package/lib/types/trajectory/effortIgnition.d.ts.map +1 -1
  1483. package/lib/types/trajectory/effortIgnition.js +106 -34
  1484. package/lib/types/trajectory/window.d.ts +26 -0
  1485. package/lib/types/trajectory/window.d.ts.map +1 -0
  1486. package/lib/types/trajectory/window.js +27 -0
  1487. package/lib/types/tuiDisplayPrefs.d.ts +79 -2
  1488. package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
  1489. package/lib/types/tuiDisplayPrefs.js +118 -0
  1490. package/lib/types/update.d.ts +141 -12
  1491. package/lib/types/update.d.ts.map +1 -1
  1492. package/lib/types/update.js +386 -62
  1493. package/lib/types/utils/bmp.d.ts.map +1 -1
  1494. package/lib/types/utils/bmp.js +8 -1
  1495. package/lib/types/utils/clipboard.d.ts.map +1 -1
  1496. package/lib/types/utils/clipboard.js +25 -6
  1497. package/lib/types/utils/crashDetail.d.ts +56 -0
  1498. package/lib/types/utils/crashDetail.d.ts.map +1 -0
  1499. package/lib/types/utils/crashDetail.js +175 -0
  1500. package/lib/types/utils/credentials.d.ts.map +1 -1
  1501. package/lib/types/utils/credentials.js +5 -1
  1502. package/lib/types/utils/draftWordBoundary.d.ts +23 -0
  1503. package/lib/types/utils/draftWordBoundary.d.ts.map +1 -0
  1504. package/lib/types/utils/draftWordBoundary.js +161 -0
  1505. package/lib/types/utils/fileTarget.d.ts.map +1 -1
  1506. package/lib/types/utils/fileTarget.js +7 -9
  1507. package/lib/types/utils/imageResize.d.ts +9 -23
  1508. package/lib/types/utils/imageResize.d.ts.map +1 -1
  1509. package/lib/types/utils/imageResize.js +24 -20
  1510. package/lib/types/utils/inputPaste.d.ts +63 -0
  1511. package/lib/types/utils/inputPaste.d.ts.map +1 -0
  1512. package/lib/types/utils/inputPaste.js +148 -0
  1513. package/lib/types/utils/intl.d.ts +8 -0
  1514. package/lib/types/utils/intl.d.ts.map +1 -1
  1515. package/lib/types/utils/intl.js +11 -0
  1516. package/lib/types/utils/jsonl.d.ts +24 -0
  1517. package/lib/types/utils/jsonl.d.ts.map +1 -0
  1518. package/lib/types/utils/jsonl.js +36 -0
  1519. package/lib/types/utils/keymap.d.ts +13 -3
  1520. package/lib/types/utils/keymap.d.ts.map +1 -1
  1521. package/lib/types/utils/keymap.js +27 -5
  1522. package/package.json +36 -9
  1523. package/{dsh-ecosystem-spec → tui-profile}/registry/README.md +1 -1
  1524. package/{dsh-ecosystem-spec → tui-profile}/registry/registry-0.15.json +1 -1
  1525. /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.d.ts +0 -0
  1526. /package/{dsh-ecosystem-spec → tui-profile}/protocols/profile-definitions.js +0 -0
  1527. /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.d.ts +0 -0
  1528. /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel-http.js +0 -0
  1529. /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.d.ts +0 -0
  1530. /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-channel.js +0 -0
  1531. /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.d.ts +0 -0
  1532. /package/{dsh-ecosystem-spec → tui-profile}/protocols/tui-contributions.js +0 -0
  1533. /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/decision-events-v1alpha1.json +0 -0
  1534. /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/scene-v1alpha1.json +0 -0
  1535. /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/settings-section-v1alpha1.json +0 -0
  1536. /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/tui-channel-v1alpha1.json +0 -0
  1537. /package/{dsh-ecosystem-spec → tui-profile}/registry/contracts/workspace-provider-v1alpha1.json +0 -0
  1538. /package/{dsh-ecosystem-spec → tui-profile}/registry/host-descriptor.tui.example.json +0 -0
  1539. /package/{dsh-ecosystem-spec → tui-profile}/registry/permissions-0.1.json +0 -0
  1540. /package/{dsh-ecosystem-spec → tui-profile}/schemas/conformance-claim.schema.json +0 -0
  1541. /package/{dsh-ecosystem-spec → tui-profile}/schemas/effect-ledger-record.schema.json +0 -0
  1542. /package/{dsh-ecosystem-spec → tui-profile}/schemas/host-descriptor.schema.json +0 -0
@@ -7,6 +7,12 @@ import { fileURLToPath } from 'node:url';
7
7
  import { gte, gt, lt, valid } from 'semver';
8
8
  import { shellQuote } from './utils/shellQuote.js';
9
9
  import { DATA_DIR } from './utils/paths.js';
10
+ import { stripResumeArgs } from './sessionHistory.js';
11
+ import { KERNEL_SWITCH_HANDOFF_ENV, isKernelId, kernelDisplayName } from './kernelPrefs.js';
12
+ import { classifyReplacementOutcome, formatHandoffNotice, handoffEventTag, writeHandoffStage } from './handoffEvents.js';
13
+ import { HANDOFF_ACK_FD_ENV, HANDOFF_ATTEMPT_ENV, HANDOFF_SCREEN_ENV, parseHandoffAckLine } from './handoffAck.js';
14
+ import { DISABLE_KITTY_KEYBOARD, DISABLE_MODIFY_OTHER_KEYS, DISABLE_WIN32_INPUT_MODE } from './ink/termio/csi.js';
15
+ import { DBP, DFE, DISABLE_MOUSE_TRACKING, EXIT_ALT_SCREEN, SHOW_CURSOR } from './ink/termio/dec.js';
10
16
  // Re-exported for scripts/verify-update.mjs and the bin launcher, which reads
11
17
  // the compiled copy at lib/types/utils/shellQuote.js.
12
18
  export { shellQuote };
@@ -62,6 +68,75 @@ function writeRestartLine(line) {
62
68
  export function logRestartEvent(event, data) {
63
69
  writeRestartLine(`${event}${data === undefined ? '' : ` ${JSON.stringify(data)}`}`);
64
70
  }
71
+ const LAST_RUN_FILE = join(DATA_DIR, 'last-run.json');
72
+ /** Windows rename retry cell (kernelPrefs writeKernelPrefs precedent). */
73
+ const lastRunWaitCell = new Int32Array(new SharedArrayBuffer(4));
74
+ /**
75
+ * Stamp the last-run record atomically (tmp + rename, so the launcher's read
76
+ * never sees half a file). Best effort, never throws: a failed stamp only
77
+ * degrades the launcher's retry to its legacy sniffing path.
78
+ * @param record - Identity without updatedAt (stamped here, one clock).
79
+ * @param file - Path override (verify scripts point at a temp dir).
80
+ */
81
+ export function writeLastRunRecord(record, file = LAST_RUN_FILE) {
82
+ const temporary = join(dirname(file), `.last-run.${process.pid}.${Date.now()}.tmp`);
83
+ try {
84
+ mkdirSync(dirname(file), { recursive: true });
85
+ const updatedAt = Date.now();
86
+ writeFileSync(temporary, `${JSON.stringify({ ...record, updatedAt }, null, 2)}\n`, { encoding: 'utf8', flag: 'wx', mode: 0o600 });
87
+ for (let attempt = 0;; attempt++) {
88
+ try {
89
+ renameSync(temporary, file);
90
+ return;
91
+ }
92
+ catch (error) {
93
+ const code = typeof error === 'object' && error !== null ? String(error.code) : '';
94
+ if (process.platform !== 'win32' || attempt >= 7 || (code !== 'EPERM' && code !== 'EBUSY'))
95
+ throw error;
96
+ Atomics.wait(lastRunWaitCell, 0, 0, 2 ** attempt);
97
+ }
98
+ }
99
+ }
100
+ catch (error) {
101
+ try {
102
+ rmSync(temporary, { force: true });
103
+ }
104
+ catch {
105
+ // The previous record stays; no safe remedy.
106
+ }
107
+ writeRestartLine(`last-run record write failed (${error instanceof Error ? error.message : String(error)})`);
108
+ }
109
+ }
110
+ /**
111
+ * Read the last-run record; unreadable/invalid/missing yields undefined (the
112
+ * caller falls back to its legacy behavior). Never throws.
113
+ * @param file - Path override (verify scripts point at a temp dir).
114
+ */
115
+ export function readLastRunRecord(file = LAST_RUN_FILE) {
116
+ try {
117
+ const parsed = JSON.parse(readFileSync(file, 'utf8'));
118
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
119
+ return undefined;
120
+ const record = parsed;
121
+ if (!isKernelId(record.backendId))
122
+ return undefined;
123
+ if (typeof record.sessionId !== 'string' || typeof record.cwd !== 'string' || typeof record.attemptId !== 'string')
124
+ return undefined;
125
+ if (typeof record.updatedAt !== 'number' || !Number.isFinite(record.updatedAt))
126
+ return undefined;
127
+ return {
128
+ backendId: record.backendId,
129
+ sessionId: record.sessionId,
130
+ cwd: record.cwd,
131
+ attemptId: record.attemptId,
132
+ updatedAt: record.updatedAt,
133
+ ...(typeof record.pid === 'number' ? { pid: record.pid } : {}),
134
+ };
135
+ }
136
+ catch {
137
+ return undefined;
138
+ }
139
+ }
65
140
  /** Start a fresh, clearly delimited /restart attempt block in the log. */
66
141
  export function beginRestartAttempt(sessionId) {
67
142
  try {
@@ -94,6 +169,30 @@ export function writeHandoffNotice(text) {
94
169
  process.stderr.write(text);
95
170
  }
96
171
  }
172
+ /**
173
+ * Hand the terminal back after a kernel-switch replacement that cannot clean
174
+ * up after itself: one that died before its first frame (this process still
175
+ * holds the alternate screen) or one killed by a signal. Besides leaving the
176
+ * alternate screen it turns off the input modes the replacement may already
177
+ * have enabled; each reset is harmless if the mode was never on. Written
178
+ * synchronously to fd 1 so the failure notice that follows lands on the main
179
+ * screen.
180
+ */
181
+ export function restoreHandoffScreen() {
182
+ const reset = DISABLE_MOUSE_TRACKING + DISABLE_MODIFY_OTHER_KEYS + DISABLE_KITTY_KEYBOARD
183
+ + DISABLE_WIN32_INPUT_MODE + DFE + DBP + SHOW_CURSOR + EXIT_ALT_SCREEN + '\r\n';
184
+ try {
185
+ writeFileSync(1, reset);
186
+ }
187
+ catch {
188
+ try {
189
+ process.stdout.write(reset);
190
+ }
191
+ catch {
192
+ // Even a dead stdout must not block the exit path.
193
+ }
194
+ }
195
+ }
97
196
  /** Read the version from either the compiled package or the source checkout. */
98
197
  export function installedTuiVersion() {
99
198
  const here = dirname(fileURLToPath(import.meta.url));
@@ -966,16 +1065,38 @@ export function ensureProfileAllowBuilds(profile) {
966
1065
  * (24h by default) — on release day that gate refuses the very version
967
1066
  * `/update` is installing (ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION), which
968
1067
  * reads to the user as a broken update until the window passes. Pre-seed the
969
- * profile's pnpm-workspace.yaml with a release-age exclusion scoped to this
970
- * package at the exact target version — the same best-effort, idempotent
971
- * pattern as {@link ensureProfileAllowBuilds}: foreign entries are preserved,
972
- * an existing entry for this package is replaced (one entry tracks the current
973
- * target instead of accumulating), a missing `minimumReleaseAgeExclude` block
974
- * is appended, a missing file is created, and an absent profile directory
975
- * resolves to undefined — the caller still runs pnpm, whose own diagnostic
976
- * stays the visible fallback.
1068
+ * profile's pnpm-workspace.yaml with release-age exclusions scoped to this
1069
+ * package at the exact versions pnpm verifies before it can swap the package:
1070
+ * the target version itself, plus `alsoExempt` — the pre-update `updatedFrom`,
1071
+ * read from the running package's own manifest (normally the version the
1072
+ * profile lockfile pins). Two releases inside the 24h window leave the OLD
1073
+ * lockfile entry inside it too, and pnpm fails the whole policy check on that
1074
+ * entry before replacing the package (issue #1205), so exempting only the
1075
+ * target is not enough. Same best-effort,
1076
+ * idempotent pattern as {@link ensureProfileAllowBuilds}: entries for this
1077
+ * package track exactly the versions the current update needs (older own
1078
+ * entries are dropped instead of accumulating), foreign entries are
1079
+ * preserved, a missing `minimumReleaseAgeExclude` block is appended, a
1080
+ * missing file is created, and an absent profile directory resolves to
1081
+ * undefined — the caller still runs pnpm, whose own diagnostic stays the
1082
+ * visible fallback. Own entries are re-rendered target-first on every
1083
+ * rewrite: pnpm 11.7.x honours only the FIRST entry per package (later
1084
+ * entries for the same package are ignored against the real registry), and
1085
+ * 11.21.x applies every entry in any order, so the target — the version the
1086
+ * swap itself has to resolve, and published by construction while a
1087
+ * dev-built `updatedFrom` need not be — takes the slot older pnpm still
1088
+ * reads. Both exemptions come from the manifest, not from `pnpm-lock.yaml`:
1089
+ * a profile whose manifest and lockfile diverged keeps the lockfile's entry
1090
+ * unexempted. The 11.7.x `--frozen-lockfile` policy check reads that first
1091
+ * entry only, so a two-entry list does not clear it there; the `pnpm add`
1092
+ * path `/update` runs resolves the target and does pass.
1093
+ *
1094
+ * @param profile - The dsh profile whose workspace file is seeded.
1095
+ * @param version - The update target (exact version).
1096
+ * @param alsoExempt - Optional second version to keep exempt, normally the
1097
+ * pre-update `updatedFrom`; ignored when empty or equal to `version`.
977
1098
  */
978
- export function ensureProfileReleaseAgeExclude(profile, version) {
1099
+ export function ensureProfileReleaseAgeExclude(profile, version, alsoExempt) {
979
1100
  const yamlPath = profileWorkspaceYamlPath(profile);
980
1101
  try {
981
1102
  if (!existsSafe(dirname(yamlPath)))
@@ -988,6 +1109,10 @@ export function ensureProfileReleaseAgeExclude(profile, version) {
988
1109
  // Missing file — start from an empty document; writeFileSync creates it.
989
1110
  }
990
1111
  const entry = `${PACKAGE_NAME}@${version}`;
1112
+ const alsoEntry = alsoExempt !== undefined && alsoExempt !== '' && alsoExempt !== version
1113
+ ? `${PACKAGE_NAME}@${alsoExempt}`
1114
+ : undefined;
1115
+ const keep = alsoEntry === undefined ? [entry] : [entry, alsoEntry];
991
1116
  const lines = text.split(/\r?\n/u);
992
1117
  let blockStart = -1;
993
1118
  for (let i = 0; i < lines.length; i += 1) {
@@ -999,9 +1124,12 @@ export function ensureProfileReleaseAgeExclude(profile, version) {
999
1124
  }
1000
1125
  /** Item text of a list line, unquoted (`- 'x@1'` / `- x@1` → `x@1`). */
1001
1126
  const itemOf = (line) => line.trim().replace(/^-\s*/u, '').replace(/^'(.*)'$/u, '$1');
1002
- const foreign = [];
1127
+ /** Foreign exclusion lines, preserved verbatim and in file order. */
1128
+ const foreignLines = [];
1129
+ /** Keep-set entries already present in the block. */
1130
+ const present = [];
1131
+ let droppedStale = false;
1003
1132
  let blockEnd = -1;
1004
- let alreadyCurrent = false;
1005
1133
  if (blockStart !== -1) {
1006
1134
  blockEnd = blockStart + 1;
1007
1135
  for (let i = blockStart + 1; i < lines.length; i += 1) {
@@ -1010,21 +1138,27 @@ export function ensureProfileReleaseAgeExclude(profile, version) {
1010
1138
  break; // dedent = block ends
1011
1139
  blockEnd = i + 1;
1012
1140
  const item = itemOf(line);
1013
- if (item === entry) {
1014
- alreadyCurrent = true;
1015
- foreign.push(line);
1141
+ if (!item.startsWith(`${PACKAGE_NAME}@`)) {
1142
+ foreignLines.push(line);
1016
1143
  }
1017
- else if (!item.startsWith(`${PACKAGE_NAME}@`)) {
1018
- foreign.push(line);
1144
+ else if (keep.includes(item)) {
1145
+ present.push(item);
1146
+ }
1147
+ else {
1148
+ // Own entries for older targets: dropped (no accumulation).
1149
+ droppedStale = true;
1019
1150
  }
1020
- // Stale entries for THIS package (older targets) are dropped above.
1021
1151
  }
1022
1152
  }
1023
- if (alreadyCurrent) {
1024
- const entries = [entry, ...lines.slice(blockStart + 1, blockEnd).map(itemOf)];
1025
- return { entries, changed: false };
1153
+ const missing = keep.filter(item => !present.includes(item));
1154
+ if (!droppedStale && missing.length === 0) {
1155
+ return { entries: [...foreignLines.map(itemOf), ...present], changed: false };
1026
1156
  }
1027
- const insert = foreign.concat(` - '${entry}'`);
1157
+ // Own entries are re-rendered in keep order (target first) instead of
1158
+ // copied as found: pnpm 11.7.x honours only the first entry per package
1159
+ // (11.21.x applies them all, order-independent), and the target is the
1160
+ // version the swap must resolve, so it takes that first slot.
1161
+ const insert = foreignLines.concat(keep.map(item => ` - '${item}'`));
1028
1162
  if (blockStart !== -1) {
1029
1163
  lines.splice(blockStart + 1, blockEnd - blockStart - 1, ...insert);
1030
1164
  }
@@ -1034,7 +1168,7 @@ export function ensureProfileReleaseAgeExclude(profile, version) {
1034
1168
  lines.push('minimumReleaseAgeExclude:', ...insert);
1035
1169
  }
1036
1170
  writeFileSync(yamlPath, `${lines.join('\n')}\n`);
1037
- return { entries: [...foreign.map(itemOf), entry], changed: true };
1171
+ return { entries: insert.map(itemOf), changed: true };
1038
1172
  }
1039
1173
  catch {
1040
1174
  return undefined;
@@ -1446,13 +1580,17 @@ export async function updateTui(profile, targetVersion) {
1446
1580
  // pnpm ≥11's minimumReleaseAge (24h by default) refuses installs of
1447
1581
  // packages published within the window — on release day that gate rejects
1448
1582
  // the exact version /update pins, surfacing as a failed update that heals
1449
- // itself a day later. Scope-exempt this package at the exact target before
1450
- // pnpm runs (release-day /update parity with the allowBuilds seed above).
1583
+ // itself a day later. Two releases inside the window (issue #1205) trip the
1584
+ // same gate on the OLD lockfile entry pnpm verifies before the swap, so
1585
+ // both the target and the still-installed updatedFrom are exempted.
1451
1586
  if (targetVersion !== undefined) {
1452
- const releaseAge = ensureProfileReleaseAgeExclude(profile, targetVersion);
1587
+ const releaseAge = ensureProfileReleaseAgeExclude(profile, targetVersion, updatedFrom === '' ? undefined : updatedFrom);
1453
1588
  if (releaseAge !== undefined && releaseAge.changed) {
1454
- process.stderr.write(`dsh-tui: pre-seeded profile release-age exclusion (${PACKAGE_NAME}@${targetVersion}) — ` +
1455
- 'a freshly published version installs without the 24h supply-chain delay\n');
1589
+ const exempted = updatedFrom !== '' && updatedFrom !== targetVersion
1590
+ ? `${PACKAGE_NAME}@${targetVersion} + ${PACKAGE_NAME}@${updatedFrom}`
1591
+ : `${PACKAGE_NAME}@${targetVersion}`;
1592
+ process.stderr.write(`dsh-tui: pre-seeded profile release-age exclusion (${exempted}) — ` +
1593
+ 'freshly published versions install without the 24h supply-chain delay\n');
1456
1594
  }
1457
1595
  }
1458
1596
  let updateStderr = '';
@@ -1540,9 +1678,10 @@ export async function updateTui(profile, targetVersion) {
1540
1678
  * other profile would leave the running install untouched.
1541
1679
  * @param targetVersion - Exact version returned by the preflight registry
1542
1680
  * check, or undefined when that check failed and pnpm should resolve latest.
1681
+ * @param kernel - The kernel this process runs (TuiRestartOptions.kernel).
1543
1682
  * @returns Exit codes for the update run and the replacement process.
1544
1683
  */
1545
- export async function updateTuiAndRestart(sessionId, profile, targetVersion) {
1684
+ export async function updateTuiAndRestart(sessionId, profile, targetVersion, kernel) {
1546
1685
  const outcome = await updateTui(profile, targetVersion);
1547
1686
  const { updatedFrom } = outcome;
1548
1687
  if (outcome.code !== 0)
@@ -1557,6 +1696,7 @@ export async function updateTuiAndRestart(sessionId, profile, targetVersion) {
1557
1696
  const restartCode = await restartTui(sessionId, {
1558
1697
  env: { [UPDATED_FROM_ENV]: updatedFrom },
1559
1698
  kind: 'update',
1699
+ ...(kernel === undefined ? {} : { kernel }),
1560
1700
  });
1561
1701
  return { updateCode: 0, restartCode };
1562
1702
  }
@@ -1622,10 +1762,85 @@ export async function cliUpdate(profile) {
1622
1762
  }
1623
1763
  return outcome.code;
1624
1764
  }
1765
+ /**
1766
+ * Release the shared console for the replacement without resetting it.
1767
+ *
1768
+ * A pty's termios is per-DEVICE: destroying this stream would write this
1769
+ * process's saved cooked/ECHO mode back over the replacement's raw mode
1770
+ * (libuv restores orig_termios on tty close; verified on Node 24 — mouse
1771
+ * reports then echo as `^[[<…M` and keys wait for a newline). Detaching —
1772
+ * no readers, paused, unref'd — keeps the mode untouched.
1773
+ *
1774
+ * Two deliberate trade-offs vs the old destroy():
1775
+ * - destroy() doubled as a permanent gate ("a destroyed stream can never be
1776
+ * resumed"). Readers removed + paused already keep this process out of the
1777
+ * console's key path (#284/#307), and after the handoff only the
1778
+ * child-exit listener remains here — nothing re-attaches a reader.
1779
+ * - On exit Node still writes the saved cooked mode back once (atexit
1780
+ * uv_tty_reset_mode). Fine in the normal order — this process outlives the
1781
+ * replacement, and the shell wants cooked back anyway; it only bites if
1782
+ * this process dies while the replacement is still running.
1783
+ *
1784
+ * @param stdin - Console stream to detach; injectable for the regression.
1785
+ */
1786
+ export function detachHandoffStdin(stdin = process.stdin) {
1787
+ stdin.removeAllListeners('readable');
1788
+ stdin.removeAllListeners('data');
1789
+ stdin.pause();
1790
+ stdin.unref();
1791
+ }
1792
+ /**
1793
+ * The replacement's env, pure: the resume marker, the /restart child stamp,
1794
+ * the caller's extra markers and the kernel-switch overrides. Exported for
1795
+ * scripts/verify-launchpad, which feeds it through the boot resolver.
1796
+ */
1797
+ export function restartChildEnv(parentEnv, sessionId, kind, options) {
1798
+ const childEnv = {
1799
+ ...parentEnv,
1800
+ // The replacement resumes the current session through the launcher
1801
+ // contract (DSH_TUI_RESUME_SESSION; see src/sessionHistory.ts).
1802
+ DSH_TUI_RESUME_SESSION: sessionId,
1803
+ // Marks the replacement so its own boot logs to restart.log without
1804
+ // noisy logging on every ordinary launch (/restart only).
1805
+ ...(kind === 'restart' ? { [RESTART_CHILD_ENV]: '1' } : {}),
1806
+ ...options.env,
1807
+ };
1808
+ // A stale handoff override never leaks into a plain replacement: the var is
1809
+ // one-shot (consumed at this process's own boot), and a child that is NOT
1810
+ // switching kernels keeps this process's kernel by config/env/memory as
1811
+ // usual.
1812
+ delete childEnv[KERNEL_SWITCH_HANDOFF_ENV];
1813
+ // Same for the alt-screen handoff markers: a replacement must not adopt a
1814
+ // screen or ACK pipe from an earlier attempt. restartTui sets them again
1815
+ // when it opens a handoff.
1816
+ delete childEnv[HANDOFF_SCREEN_ENV];
1817
+ delete childEnv[HANDOFF_ACK_FD_ENV];
1818
+ delete childEnv[HANDOFF_ATTEMPT_ENV];
1819
+ if (options.backend === undefined && options.kernel !== undefined)
1820
+ childEnv[KERNEL_SWITCH_HANDOFF_ENV] = options.kernel;
1821
+ if (options.backend !== undefined) {
1822
+ childEnv.DSH_TUI_BACKEND = options.backend;
1823
+ // DSH_TUI_BACKEND alone loses to a Config row (config > env > memory),
1824
+ // so the switch also sets the one-shot variable that ranks above config.
1825
+ childEnv[KERNEL_SWITCH_HANDOFF_ENV] = options.backend;
1826
+ // A kernel switch never resumes: the id of THIS backend's session means
1827
+ // nothing to the next one, and an inherited marker (this process may
1828
+ // itself be a /restart child) would send the new kernel looking for it —
1829
+ // deleted outright, not blanked (the launcher row maps '' to
1830
+ // config.sessionId='', not to "absent").
1831
+ delete childEnv.DSH_TUI_RESUME_SESSION;
1832
+ }
1833
+ return childEnv;
1834
+ }
1625
1835
  export async function restartTui(sessionId, options = {}) {
1626
1836
  const kind = options.kind ?? 'restart';
1627
- const tag = kind === 'update' ? 'update-restart' : 'restart';
1628
- const argv = [...process.execArgv, ...process.argv.slice(1)];
1837
+ const tag = options.backend !== undefined ? 'backend-switch' : kind === 'update' ? 'update-restart' : 'restart';
1838
+ // A kernel switch must not hand the replacement THIS kernel's resume
1839
+ // flags: an inherited `--resume <id>` in argv would send the new kernel
1840
+ // looking for a session that belongs to the kernel it just left — the
1841
+ // same reason DSH_TUI_RESUME_SESSION is deleted below.
1842
+ const appArgs = process.argv.slice(1);
1843
+ const argv = [...process.execArgv, ...(options.backend === undefined ? appArgs : stripResumeArgs(appArgs))];
1629
1844
  logRestartEvent(`${tag}: spawning replacement`, {
1630
1845
  node: process.execPath,
1631
1846
  argv,
@@ -1637,34 +1852,95 @@ export async function restartTui(sessionId, options = {}) {
1637
1852
  dshHome: process.env.DSH_HOME ?? null,
1638
1853
  });
1639
1854
  const startedAt = Date.now();
1855
+ // Fullscreen kernel switch: keep the alternate screen until the replacement
1856
+ // reports its first flushed frame on the ACK pipe (see handoffScreen).
1857
+ const handoff = options.handoffScreen === 'alt' && options.backend !== undefined;
1858
+ const attemptId = handoff ? 'hs-' + Date.now().toString(16) + '-' + Math.random().toString(16).slice(2, 8) : undefined;
1859
+ // Ctrl+C while the replacement boots reaches this process too: same process
1860
+ // group, and nothing has the terminal in raw mode yet. Dying here would
1861
+ // leave behind the alternate screen this process still holds; the
1862
+ // replacement gets the same signal, and its close below restores the screen.
1863
+ const ignoreInterrupt = () => { };
1864
+ if (handoff)
1865
+ process.on('SIGINT', ignoreInterrupt);
1866
+ // "Starting X…" goes out before the spawn, waiting for the write callback
1867
+ // so it lands before the replacement draws anything.
1868
+ if (options.backend !== undefined) {
1869
+ await writeHandoffStage(process.stdout, formatHandoffNotice('stage-start', { name: kernelDisplayName(options.backend), color: process.stdout.isTTY === true }) + '\n');
1870
+ logRestartEvent(handoffEventTag('stage-start'), { backend: options.backend, ...(attemptId === undefined ? {} : { attemptId }) });
1871
+ }
1640
1872
  return new Promise(resolve => {
1873
+ const childEnv = restartChildEnv(process.env, sessionId, kind, options);
1874
+ if (handoff) {
1875
+ // stdio[3] is the ACK pipe; the env tells the replacement its fd and the attempt id.
1876
+ childEnv[HANDOFF_SCREEN_ENV] = 'alt';
1877
+ childEnv[HANDOFF_ACK_FD_ENV] = '3';
1878
+ childEnv[HANDOFF_ATTEMPT_ENV] = attemptId;
1879
+ logRestartEvent('handoff: alt-screen bracket held for the replacement', { attemptId });
1880
+ }
1641
1881
  const child = spawn(process.execPath, argv, {
1642
- env: {
1643
- ...process.env,
1644
- // The replacement resumes the current session through the launcher
1645
- // contract (DSH_TUI_RESUME_SESSION; see src/sessionHistory.ts).
1646
- DSH_TUI_RESUME_SESSION: sessionId,
1647
- // Marks the replacement so its own boot logs to restart.log without
1648
- // noisy logging on every ordinary launch (/restart only).
1649
- ...(kind === 'restart' ? { [RESTART_CHILD_ENV]: '1' } : {}),
1650
- ...options.env,
1651
- },
1882
+ env: childEnv,
1652
1883
  // stdin/stdout stay inherited so the replacement owns the console the
1653
1884
  // moment it boots; stderr is captured so a boot failure is reportable
1654
1885
  // through THIS process (the terminal may already be mid-handoff when
1655
- // the child dies, and a raw inherit write can vanish).
1656
- stdio: ['inherit', 'inherit', 'pipe'],
1886
+ // the child dies, and a raw inherit write can vanish). fd 3 is the
1887
+ // one-way ACK pipe (replacement → supervisor): adopted / first frame.
1888
+ stdio: handoff ? ['inherit', 'inherit', 'pipe', 'pipe'] : ['inherit', 'inherit', 'pipe'],
1657
1889
  });
1658
- logRestartEvent(`${tag}: replacement spawned`, { childPid: child.pid });
1890
+ let ackAdoptedAt;
1891
+ let ackReadyAt;
1892
+ const ackStream = handoff ? (child.stdio[3] ?? undefined) : undefined;
1893
+ if (ackStream !== undefined) {
1894
+ ackStream.setEncoding('utf8');
1895
+ let pending = '';
1896
+ ackStream.on('data', (chunk) => {
1897
+ pending += chunk;
1898
+ for (;;) {
1899
+ const newline = pending.indexOf('\n');
1900
+ if (newline < 0)
1901
+ break;
1902
+ const line = pending.slice(0, newline);
1903
+ pending = pending.slice(newline + 1);
1904
+ const ack = parseHandoffAckLine(line);
1905
+ if (ack === null || ack.attemptId !== attemptId)
1906
+ continue;
1907
+ if (ack.kind === 'adopted' && ackAdoptedAt === undefined) {
1908
+ ackAdoptedAt = Date.now();
1909
+ logRestartEvent('handoff/screen-adopted', { attemptId, backend: options.backend });
1910
+ }
1911
+ if (ack.kind === 'ready' && ackReadyAt === undefined) {
1912
+ ackReadyAt = Date.now();
1913
+ // ready means the replacement's first frame was flushed, not just
1914
+ // that it mounted or is still alive.
1915
+ logRestartEvent(handoffEventTag('first-frame'), { attemptId, backend: options.backend, elapsedMs: ackReadyAt - startedAt });
1916
+ }
1917
+ }
1918
+ });
1919
+ ackStream.on('error', () => {
1920
+ // The supervisor outlives the pipe by contract; a broken pipe here
1921
+ // means the replacement never speaks the protocol (e.g. an older
1922
+ // build) — the close handler's no-ready branch still restores the
1923
+ // screen, so the bracket can never be orphaned.
1924
+ });
1925
+ const ackWatch = setTimeout(() => {
1926
+ if (ackReadyAt === undefined) {
1927
+ logRestartEvent('handoff/first-frame watch', { attemptId, note: 'no first-frame ACK within 30s (diagnosis only, never a success/failure fact)' });
1928
+ }
1929
+ }, 30000);
1930
+ ackWatch.unref();
1931
+ }
1932
+ logRestartEvent(`${tag}: replacement spawned`, { childPid: child.pid, ...(options.backend === undefined ? {} : { backend: options.backend }) });
1659
1933
  // Handoff watchdog (field evidence 2026-08-24: restarted TUI mounts but
1660
1934
  // takes no input). Two jobs, both diagnosis-grade:
1661
1935
  // 1. SAMPLE this process's stdin state every second — if anything
1662
1936
  // re-attaches a reader after the funnel's detachStdinForHandoff, the
1663
1937
  // sample (taken before the re-assert below) shows it in the log.
1664
- // 2. RE-ASSERT the detach and finally destroy the stream: this process
1665
- // must never read the shared console again — every keypress belongs
1666
- // to the replacement, and a resumed pump here is exactly the
1667
- // "restarted TUI sees dropped or swallowed input" failure (#284/#307).
1938
+ // 2. RE-ASSERT the detach — never DESTROY the stream: destroying it
1939
+ // resets the shared pty and stomps the replacement's raw mode (see
1940
+ // detachHandoffStdin for the mechanism and trade-offs). This process
1941
+ // must never read the shared console again — every keypress belongs to
1942
+ // the replacement, and a resumed pump here is exactly the "restarted
1943
+ // TUI sees dropped or swallowed input" failure (#284/#307).
1668
1944
  let watchdogTicks = 0;
1669
1945
  const watchdog = setInterval(() => {
1670
1946
  watchdogTicks += 1;
@@ -1678,25 +1954,14 @@ export async function restartTui(sessionId, options = {}) {
1678
1954
  buffered: stdin.readableLength,
1679
1955
  });
1680
1956
  try {
1681
- stdin.removeAllListeners('readable');
1682
- stdin.removeAllListeners('data');
1683
- stdin.pause();
1957
+ detachHandoffStdin(stdin);
1684
1958
  }
1685
1959
  catch {
1686
1960
  // Diagnosis/mitigation only.
1687
1961
  }
1688
1962
  if (watchdogTicks === 15) {
1689
1963
  clearInterval(watchdog);
1690
- try {
1691
- // Terminal safeguard: a destroyed stream can never be resumed by
1692
- // any late re-attachment. The child holds its own inherited
1693
- // handle, so closing ours does not affect it.
1694
- process.stdin.destroy();
1695
- logRestartEvent('parent: stdin destroyed after watchdog');
1696
- }
1697
- catch {
1698
- // Best effort.
1699
- }
1964
+ logRestartEvent('parent: stdin detached after watchdog (kept raw, not destroyed)');
1700
1965
  }
1701
1966
  }, 1000);
1702
1967
  watchdog.unref();
@@ -1720,19 +1985,78 @@ export async function restartTui(sessionId, options = {}) {
1720
1985
  timer.unref();
1721
1986
  child.once('error', error => {
1722
1987
  clearTimeout(timer);
1988
+ process.removeListener('SIGINT', ignoreInterrupt);
1723
1989
  logRestartEvent(`${tag}: spawn error`, { message: error.message });
1724
- writeHandoffNotice(`dsh-tui: failed to spawn the restart: ${error.message}\n`);
1990
+ if (options.backend !== undefined) {
1991
+ // Nothing took the screen over: restore it before the notice.
1992
+ if (handoff)
1993
+ restoreHandoffScreen();
1994
+ // A spawn failure is a failed switch (yellow, with the safe-mode hint),
1995
+ // not a crash.
1996
+ logRestartEvent(handoffEventTag('failed'), { reason: 'spawn-error', message: error.message });
1997
+ writeHandoffNotice(formatHandoffNotice('failed', {
1998
+ name: kernelDisplayName(options.backend),
1999
+ reason: 'spawn-error',
2000
+ safeHint: true,
2001
+ color: process.stderr.isTTY === true,
2002
+ }) + `\n${error.message}\n`);
2003
+ }
2004
+ else {
2005
+ writeHandoffNotice(`dsh-tui: failed to spawn the restart: ${error.message}\n`);
2006
+ }
1725
2007
  resolve(127);
1726
2008
  });
1727
2009
  child.once('close', (code, signal) => {
1728
2010
  clearTimeout(timer);
2011
+ process.removeListener('SIGINT', ignoreInterrupt);
1729
2012
  const elapsedMs = Date.now() - startedAt;
1730
2013
  logRestartEvent(`${tag}: replacement exited`, {
1731
2014
  code: code ?? null,
1732
2015
  signal: signal ?? null,
1733
2016
  elapsedMs,
1734
2017
  });
1735
- if (elapsedMs < 4000) {
2018
+ if (options.backend !== undefined) {
2019
+ // Kernel switch outcome: success is quiet (restart.log only), a
2020
+ // replacement that never came up is a yellow failure with the session
2021
+ // kept and the safe-mode hint, and a later nonzero exit is a red
2022
+ // crash. With the ACK pipe the first frame decides which of the two
2023
+ // failures it was; see classifyReplacementOutcome.
2024
+ const outcome = classifyReplacementOutcome({
2025
+ closed: true, code, signal, elapsedMs,
2026
+ ...(handoff ? { firstFrameAcked: ackReadyAt !== undefined } : {}),
2027
+ });
2028
+ logRestartEvent(handoffEventTag(outcome.kind), {
2029
+ ...(outcome.kind === 'crashed' ? { code: outcome.code } : outcome.kind === 'failed' ? { reason: outcome.reason } : {}),
2030
+ ...(attemptId === undefined ? {} : { attemptId }),
2031
+ });
2032
+ if (outcome.kind === 'failed') {
2033
+ // Before ready this process still holds the alternate screen:
2034
+ // restore it first so the notice lands on the main screen. After
2035
+ // ready the replacement's own exit cleanup closed it.
2036
+ if (handoff && ackReadyAt === undefined)
2037
+ restoreHandoffScreen();
2038
+ const suffix = childStderr.trim() === '' ? '' : `\n${childStderr.trimEnd()}`;
2039
+ writeHandoffNotice(formatHandoffNotice('failed', {
2040
+ name: kernelDisplayName(options.backend),
2041
+ reason: outcome.reason,
2042
+ safeHint: true,
2043
+ color: process.stderr.isTTY === true,
2044
+ }) + `${suffix}\n`);
2045
+ }
2046
+ else if (outcome.kind === 'crashed') {
2047
+ // A signal death after the first frame skipped the replacement's
2048
+ // own exit cleanup, so the screen and input modes are still its.
2049
+ if (handoff && signal !== null)
2050
+ restoreHandoffScreen();
2051
+ writeHandoffNotice('\n' + formatHandoffNotice('crashed', {
2052
+ name: kernelDisplayName(options.backend),
2053
+ code: outcome.code,
2054
+ safeHint: true,
2055
+ color: process.stderr.isTTY === true,
2056
+ }) + '\n');
2057
+ }
2058
+ }
2059
+ else if (elapsedMs < 4000) {
1736
2060
  // Fast death: the TUI never came up. Synchronous stderr write —
1737
2061
  // process.exit() right after an async stream write skips the flush,
1738
2062
  // and a vanished diagnosis is indistinguishable from silent failure.
@@ -1 +1 @@
1
- {"version":3,"file":"bmp.d.ts","sourceRoot":"","sources":["../../../src/utils/bmp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8DH;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuFlE"}
1
+ {"version":3,"file":"bmp.d.ts","sourceRoot":"","sources":["../../../src/utils/bmp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8DH;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4FlE"}
@@ -74,6 +74,10 @@ export async function bmpToPng(bmp) {
74
74
  return null;
75
75
  if (bpp !== 24 && bpp !== 32)
76
76
  return null;
77
+ // High-colour DIBs may still carry a colour table. Without a file header
78
+ // its length is ambiguous; a BMP file instead locates pixels via bfOffBits.
79
+ if (!hasFileHeader && bmp.readUInt32LE(dib + 32) !== 0)
80
+ return null; // biClrUsed
77
81
  if (compression !== BI_RGB && compression !== BI_BITFIELDS && compression !== BI_ALPHABITFIELDS)
78
82
  return null;
79
83
  if (bpp === 24 && compression !== BI_RGB)
@@ -100,7 +104,10 @@ export async function bmpToPng(bmp) {
100
104
  if (bpp === 32 && (redMask === 0 || greenMask === 0 || blueMask === 0))
101
105
  return null;
102
106
  const declaredOffset = hasFileHeader ? bmp.readUInt32LE(10) : 0;
103
- const pixelOffset = declaredOffset > 0 ? declaredOffset : dib + headerSize + maskBytes;
107
+ const minimumOffset = dib + headerSize + maskBytes;
108
+ if (hasFileHeader && declaredOffset < minimumOffset)
109
+ return null;
110
+ const pixelOffset = hasFileHeader ? declaredOffset : minimumOffset;
104
111
  const stride = Math.floor((bpp * width + 31) / 32) * 4;
105
112
  if (pixelOffset + stride * height > bmp.length)
106
113
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../src/utils/clipboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAeH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAElC;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAA;AAE5F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA6BtD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAIvE;AAWD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAYtE;AAiDD;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAS9C;AAoeD;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAStD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAcvE"}
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../src/utils/clipboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAeH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAElC;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAA;AAE5F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA6BtD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAIvE;AAWD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAYtE;AAiDD;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAS9C;AAsfD;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAStD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAcvE"}