@deepseek-harness-tui/dsh-tui 0.14.1 → 0.16.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 (886) hide show
  1. package/README.md +163 -17
  2. package/bin/dsh-tui.js +200 -34
  3. package/cordis.patch.yml +16 -52
  4. package/cordis.yml +6 -2
  5. package/guide/dsh-tui-guide/claude-backend.en.md +44 -7
  6. package/guide/dsh-tui-guide/claude-backend.md +28 -6
  7. package/guide/dsh-tui-guide/codex-backend.en.md +47 -10
  8. package/guide/dsh-tui-guide/codex-backend.md +26 -4
  9. package/guide/dsh-tui-guide/configuration.en.md +168 -18
  10. package/guide/dsh-tui-guide/configuration.md +144 -16
  11. package/guide/dsh-tui-guide/getting-started.en.md +15 -0
  12. package/guide/dsh-tui-guide/getting-started.md +15 -0
  13. package/guide/dsh-tui-guide/interaction.en.md +64 -24
  14. package/guide/dsh-tui-guide/interaction.md +49 -19
  15. package/guide/dsh-tui-guide/plugins.en.md +97 -3
  16. package/guide/dsh-tui-guide/plugins.md +55 -2
  17. package/guide/dsh-tui-guide/themes.en.md +23 -14
  18. package/guide/dsh-tui-guide/themes.md +19 -12
  19. package/guide/dsh-tui-guide/user-guide.en.md +53 -21
  20. package/guide/dsh-tui-guide/user-guide.md +43 -22
  21. package/lib/settings.json +103 -9
  22. package/lib/types/adapter/channel/projection.d.ts.map +1 -1
  23. package/lib/types/adapter/channel/projection.js +1 -0
  24. package/lib/types/adapter/channel/ui-policy.d.ts +1 -1
  25. package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
  26. package/lib/types/adapter/channel/ui-policy.js +4 -0
  27. package/lib/types/adapter/channel/ui.d.ts +2 -0
  28. package/lib/types/adapter/channel/ui.d.ts.map +1 -1
  29. package/lib/types/adapter/channel/ui.js +6 -2
  30. package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
  31. package/lib/types/adapter/kernel/runtime.js +2 -0
  32. package/lib/types/adapter/ports/channel-catalog.d.ts +5 -1
  33. package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
  34. package/lib/types/adapter/ports/channel-settings.d.ts +14 -3
  35. package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
  36. package/lib/types/adapter/ports/channel-ui.d.ts +56 -12
  37. package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
  38. package/lib/types/adapter/ports/channel-view.d.ts +68 -0
  39. package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
  40. package/lib/types/adapter/ports/channel.d.ts +2 -0
  41. package/lib/types/adapter/ports/channel.d.ts.map +1 -1
  42. package/lib/types/adapter/spec/backend-capabilities.d.ts +22 -0
  43. package/lib/types/adapter/spec/backend-capabilities.d.ts.map +1 -0
  44. package/lib/types/adapter/spec/backend-capabilities.js +49 -0
  45. package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
  46. package/lib/types/adapter/spec/protocol-constants.js +10 -3
  47. package/lib/types/adapter/spec/tui-contributions.d.ts +3 -0
  48. package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
  49. package/lib/types/adapter/spec/tui-contributions.js +7 -0
  50. package/lib/types/adapter/standard/registry.d.ts +6 -0
  51. package/lib/types/adapter/standard/registry.d.ts.map +1 -1
  52. package/lib/types/adapter/standard/registry.js +65 -15
  53. package/lib/types/adapter/standard/tui-extension.d.ts.map +1 -1
  54. package/lib/types/adapter/standard/tui-extension.js +7 -1
  55. package/lib/types/adapter/standard/types.d.ts +10 -1
  56. package/lib/types/adapter/standard/types.d.ts.map +1 -1
  57. package/lib/types/adapter/upstream/host-descriptor-driver.d.ts.map +1 -1
  58. package/lib/types/adapter/upstream/host-descriptor-driver.js +52 -0
  59. package/lib/types/agent/backend-manifest.d.ts +152 -0
  60. package/lib/types/agent/backend-manifest.d.ts.map +1 -0
  61. package/lib/types/agent/backend-manifest.js +14 -0
  62. package/lib/types/agent/backend.d.ts +71 -5
  63. package/lib/types/agent/backend.d.ts.map +1 -1
  64. package/lib/types/agent/capabilities.d.ts +6 -0
  65. package/lib/types/agent/capabilities.d.ts.map +1 -1
  66. package/lib/types/agent/events.d.ts +3 -2
  67. package/lib/types/agent/events.d.ts.map +1 -1
  68. package/lib/types/agent/index.d.ts +2 -0
  69. package/lib/types/agent/index.d.ts.map +1 -1
  70. package/lib/types/agent/refs.d.ts +11 -1
  71. package/lib/types/agent/refs.d.ts.map +1 -1
  72. package/lib/types/agent/starting-session.d.ts +4 -0
  73. package/lib/types/agent/starting-session.d.ts.map +1 -0
  74. package/lib/types/agent/starting-session.js +19 -0
  75. package/lib/types/backends/claude/activity.d.ts +1 -1
  76. package/lib/types/backends/claude/activity.d.ts.map +1 -1
  77. package/lib/types/backends/claude/activity.js +5 -5
  78. package/lib/types/backends/claude/auth.d.ts.map +1 -1
  79. package/lib/types/backends/claude/auth.js +10 -3
  80. package/lib/types/backends/claude/backend.d.ts.map +1 -1
  81. package/lib/types/backends/claude/backend.js +103 -29
  82. package/lib/types/backends/claude/catalog.d.ts +2 -1
  83. package/lib/types/backends/claude/catalog.d.ts.map +1 -1
  84. package/lib/types/backends/claude/catalog.js +15 -5
  85. package/lib/types/backends/claude/channels.d.ts +5 -3
  86. package/lib/types/backends/claude/channels.d.ts.map +1 -1
  87. package/lib/types/backends/claude/channels.js +5 -4
  88. package/lib/types/backends/claude/contract.d.ts +4 -0
  89. package/lib/types/backends/claude/contract.d.ts.map +1 -1
  90. package/lib/types/backends/claude/contract.js +4 -0
  91. package/lib/types/backends/claude/controls.d.ts +4 -0
  92. package/lib/types/backends/claude/controls.d.ts.map +1 -1
  93. package/lib/types/backends/claude/controls.js +34 -42
  94. package/lib/types/backends/claude/dialogs.d.ts +8 -2
  95. package/lib/types/backends/claude/dialogs.d.ts.map +1 -1
  96. package/lib/types/backends/claude/dialogs.js +24 -16
  97. package/lib/types/backends/claude/images.d.ts +1 -1
  98. package/lib/types/backends/claude/images.d.ts.map +1 -1
  99. package/lib/types/backends/claude/images.js +7 -7
  100. package/lib/types/backends/claude/manifest.d.ts +21 -0
  101. package/lib/types/backends/claude/manifest.d.ts.map +1 -0
  102. package/lib/types/backends/claude/manifest.js +29 -0
  103. package/lib/types/backends/claude/older-history.js +2 -2
  104. package/lib/types/backends/claude/permissions.js +11 -11
  105. package/lib/types/backends/claude/prefs.d.ts +4 -2
  106. package/lib/types/backends/claude/prefs.d.ts.map +1 -1
  107. package/lib/types/backends/claude/prefs.js +4 -3
  108. package/lib/types/backends/claude/process.d.ts +16 -4
  109. package/lib/types/backends/claude/process.d.ts.map +1 -1
  110. package/lib/types/backends/claude/process.js +100 -37
  111. package/lib/types/backends/claude/send-message.d.ts +1 -1
  112. package/lib/types/backends/claude/send-message.d.ts.map +1 -1
  113. package/lib/types/backends/claude/session/auth.js +22 -22
  114. package/lib/types/backends/claude/session/channels.d.ts +4 -0
  115. package/lib/types/backends/claude/session/channels.d.ts.map +1 -1
  116. package/lib/types/backends/claude/session/channels.js +5 -3
  117. package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -1
  118. package/lib/types/backends/claude/session/lifecycle.js +31 -23
  119. package/lib/types/backends/claude/session/store.js +8 -8
  120. package/lib/types/backends/claude/session/subagents.js +2 -2
  121. package/lib/types/backends/claude/session/types.d.ts +7 -0
  122. package/lib/types/backends/claude/session/types.d.ts.map +1 -1
  123. package/lib/types/backends/claude/side-query.js +3 -3
  124. package/lib/types/backends/claude/task-output.js +5 -5
  125. package/lib/types/backends/claude/text.d.ts +778 -0
  126. package/lib/types/backends/claude/text.d.ts.map +1 -0
  127. package/lib/types/backends/claude/text.js +298 -0
  128. package/lib/types/backends/claude/transcript-file.d.ts +1 -1
  129. package/lib/types/backends/claude/transcript-file.d.ts.map +1 -1
  130. package/lib/types/backends/claude/transcript-file.js +4 -4
  131. package/lib/types/backends/claude/translate/attempts.js +2 -2
  132. package/lib/types/backends/claude/translate/core.js +3 -3
  133. package/lib/types/backends/claude/translate/messages.js +4 -4
  134. package/lib/types/backends/claude/translate/system.js +14 -14
  135. package/lib/types/backends/claude/translate/tasks.js +2 -2
  136. package/lib/types/backends/claude/translate/types.d.ts +1 -1
  137. package/lib/types/backends/claude/translate/types.d.ts.map +1 -1
  138. package/lib/types/backends/codex/auth/external-tokens.js +16 -16
  139. package/lib/types/backends/codex/auth/status.js +14 -14
  140. package/lib/types/backends/codex/backend.d.ts +4 -19
  141. package/lib/types/backends/codex/backend.d.ts.map +1 -1
  142. package/lib/types/backends/codex/backend.js +118 -25
  143. package/lib/types/backends/codex/catalog.d.ts +2 -1
  144. package/lib/types/backends/codex/catalog.d.ts.map +1 -1
  145. package/lib/types/backends/codex/catalog.js +63 -18
  146. package/lib/types/backends/codex/channels.d.ts +6 -3
  147. package/lib/types/backends/codex/channels.d.ts.map +1 -1
  148. package/lib/types/backends/codex/channels.js +15 -13
  149. package/lib/types/backends/codex/contract.d.ts +3 -0
  150. package/lib/types/backends/codex/contract.d.ts.map +1 -1
  151. package/lib/types/backends/codex/contract.js +3 -0
  152. package/lib/types/backends/codex/detect.d.ts.map +1 -1
  153. package/lib/types/backends/codex/detect.js +9 -6
  154. package/lib/types/backends/codex/manifest.d.ts +30 -0
  155. package/lib/types/backends/codex/manifest.d.ts.map +1 -0
  156. package/lib/types/backends/codex/manifest.js +23 -0
  157. package/lib/types/backends/codex/prefs.d.ts +4 -2
  158. package/lib/types/backends/codex/prefs.d.ts.map +1 -1
  159. package/lib/types/backends/codex/prefs.js +4 -3
  160. package/lib/types/backends/codex/rpc/hub.js +2 -2
  161. package/lib/types/backends/codex/session/activity.d.ts +1 -1
  162. package/lib/types/backends/codex/session/activity.d.ts.map +1 -1
  163. package/lib/types/backends/codex/session/activity.js +13 -13
  164. package/lib/types/backends/codex/session/approvals.js +30 -30
  165. package/lib/types/backends/codex/session/async-questions.d.ts +17 -0
  166. package/lib/types/backends/codex/session/async-questions.d.ts.map +1 -0
  167. package/lib/types/backends/codex/session/async-questions.js +89 -0
  168. package/lib/types/backends/codex/session/commands.d.ts +8 -2
  169. package/lib/types/backends/codex/session/commands.d.ts.map +1 -1
  170. package/lib/types/backends/codex/session/commands.js +71 -23
  171. package/lib/types/backends/codex/session/controls.d.ts +1 -1
  172. package/lib/types/backends/codex/session/controls.d.ts.map +1 -1
  173. package/lib/types/backends/codex/session/controls.js +21 -16
  174. package/lib/types/backends/codex/session/goals.d.ts.map +1 -1
  175. package/lib/types/backends/codex/session/goals.js +3 -3
  176. package/lib/types/backends/codex/session/history.js +2 -2
  177. package/lib/types/backends/codex/session/images.js +8 -8
  178. package/lib/types/backends/codex/session/input.d.ts +6 -2
  179. package/lib/types/backends/codex/session/input.d.ts.map +1 -1
  180. package/lib/types/backends/codex/session/input.js +55 -13
  181. package/lib/types/backends/codex/session/plan-review.js +6 -6
  182. package/lib/types/backends/codex/session/session.d.ts.map +1 -1
  183. package/lib/types/backends/codex/session/session.js +100 -42
  184. package/lib/types/backends/codex/session/side-query.d.ts.map +1 -1
  185. package/lib/types/backends/codex/session/side-query.js +27 -9
  186. package/lib/types/backends/codex/session/state.d.ts +6 -1
  187. package/lib/types/backends/codex/session/state.d.ts.map +1 -1
  188. package/lib/types/backends/codex/session/subagents.js +5 -5
  189. package/lib/types/backends/codex/session/tasks.js +4 -4
  190. package/lib/types/backends/codex/text.d.ts +933 -0
  191. package/lib/types/backends/codex/text.d.ts.map +1 -0
  192. package/lib/types/backends/codex/text.js +313 -0
  193. package/lib/types/backends/codex/translate/items.d.ts.map +1 -1
  194. package/lib/types/backends/codex/translate/items.js +7 -5
  195. package/lib/types/backends/codex/translate/live.d.ts.map +1 -1
  196. package/lib/types/backends/codex/translate/live.js +11 -8
  197. package/lib/types/backends/codex/translate/notices.js +10 -10
  198. package/lib/types/backends/codex/translate/question-reply.d.ts +11 -0
  199. package/lib/types/backends/codex/translate/question-reply.d.ts.map +1 -0
  200. package/lib/types/backends/codex/translate/question-reply.js +53 -0
  201. package/lib/types/backends/shared/channel-slug.d.ts +4 -0
  202. package/lib/types/backends/shared/channel-slug.d.ts.map +1 -0
  203. package/lib/types/backends/shared/channel-slug.js +25 -0
  204. package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -1
  205. package/lib/types/backends/shared/channel-tokens.js +30 -23
  206. package/lib/types/{channel → backends/shared}/elicitation.d.ts +78 -21
  207. package/lib/types/backends/shared/elicitation.d.ts.map +1 -0
  208. package/lib/types/{channel → backends/shared}/elicitation.js +64 -66
  209. package/lib/types/backends/shared/image-size.d.ts +33 -0
  210. package/lib/types/backends/shared/image-size.d.ts.map +1 -0
  211. package/lib/types/backends/shared/image-size.js +134 -0
  212. package/lib/types/{utils → backends/shared}/jsonl.d.ts +5 -1
  213. package/lib/types/backends/shared/jsonl.d.ts.map +1 -0
  214. package/lib/types/{utils → backends/shared}/jsonl.js +5 -1
  215. package/lib/types/backends/shared/localized-text.d.ts +30 -0
  216. package/lib/types/backends/shared/localized-text.d.ts.map +1 -0
  217. package/lib/types/backends/shared/localized-text.js +24 -0
  218. package/lib/types/backends/shared/platform-text.d.ts +88 -0
  219. package/lib/types/backends/shared/platform-text.d.ts.map +1 -0
  220. package/lib/types/backends/shared/platform-text.js +33 -0
  221. package/lib/types/branding.d.ts +13 -0
  222. package/lib/types/branding.d.ts.map +1 -1
  223. package/lib/types/branding.js +18 -0
  224. package/lib/types/channel/channel-slug.d.ts +3 -1
  225. package/lib/types/channel/channel-slug.d.ts.map +1 -1
  226. package/lib/types/channel/channel-slug.js +3 -1
  227. package/lib/types/channel/projection.d.ts.map +1 -1
  228. package/lib/types/channel/projection.js +10 -0
  229. package/lib/types/channel/sanitize.d.ts +7 -0
  230. package/lib/types/channel/sanitize.d.ts.map +1 -1
  231. package/lib/types/channel/sanitize.js +9 -0
  232. package/lib/types/channel/usage.d.ts.map +1 -1
  233. package/lib/types/channel/usage.js +5 -0
  234. package/lib/types/commands.d.ts +15 -0
  235. package/lib/types/commands.d.ts.map +1 -1
  236. package/lib/types/commands.js +58 -10
  237. package/lib/types/components/AgentMessageComposer.d.ts.map +1 -1
  238. package/lib/types/components/AgentMessageComposer.js +3 -2
  239. package/lib/types/components/BtwPanel.d.ts.map +1 -1
  240. package/lib/types/components/BtwPanel.js +4 -2
  241. package/lib/types/components/Chat/JobCard.js +3 -3
  242. package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
  243. package/lib/types/components/CommandSuggestions.js +24 -7
  244. package/lib/types/components/ContextBarView.d.ts +5 -1
  245. package/lib/types/components/ContextBarView.d.ts.map +1 -1
  246. package/lib/types/components/ContextBarView.js +6 -3
  247. package/lib/types/components/ExtensionDialog.d.ts.map +1 -1
  248. package/lib/types/components/ExtensionDialog.js +2 -3
  249. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
  250. package/lib/types/components/GoalTodoPanel.js +14 -3
  251. package/lib/types/components/InlineMathParagraph.js +1 -1
  252. package/lib/types/components/KernelPicker.d.ts.map +1 -1
  253. package/lib/types/components/KernelPicker.js +1 -1
  254. package/lib/types/components/LogoV2.d.ts +4 -1
  255. package/lib/types/components/LogoV2.d.ts.map +1 -1
  256. package/lib/types/components/LogoV2.js +14 -9
  257. package/lib/types/components/MarkdownTable.d.ts.map +1 -1
  258. package/lib/types/components/MarkdownTable.js +4 -3
  259. package/lib/types/components/MessageList.d.ts.map +1 -1
  260. package/lib/types/components/MessageList.js +109 -15
  261. package/lib/types/components/ModelPicker.d.ts +24 -31
  262. package/lib/types/components/ModelPicker.d.ts.map +1 -1
  263. package/lib/types/components/ModelPicker.js +115 -40
  264. package/lib/types/components/PermissionsPicker.d.ts +10 -1
  265. package/lib/types/components/PermissionsPicker.d.ts.map +1 -1
  266. package/lib/types/components/PermissionsPicker.js +24 -16
  267. package/lib/types/components/PluginInstallPane.d.ts +21 -0
  268. package/lib/types/components/PluginInstallPane.d.ts.map +1 -0
  269. package/lib/types/components/PluginInstallPane.js +84 -0
  270. package/lib/types/components/PluginManagePane.d.ts +21 -0
  271. package/lib/types/components/PluginManagePane.d.ts.map +1 -0
  272. package/lib/types/components/PluginManagePane.js +69 -0
  273. package/lib/types/components/PromptEditor.d.ts +3 -3
  274. package/lib/types/components/PromptInput.d.ts +21 -3
  275. package/lib/types/components/PromptInput.d.ts.map +1 -1
  276. package/lib/types/components/PromptInput.js +65 -121
  277. package/lib/types/components/SdkInstallWizard.d.ts +3 -1
  278. package/lib/types/components/SdkInstallWizard.d.ts.map +1 -1
  279. package/lib/types/components/SdkInstallWizard.js +8 -1
  280. package/lib/types/components/SearchBox.d.ts +13 -15
  281. package/lib/types/components/SearchBox.d.ts.map +1 -1
  282. package/lib/types/components/SearchBox.js +58 -27
  283. package/lib/types/components/SubagentCard.d.ts +13 -1
  284. package/lib/types/components/SubagentCard.d.ts.map +1 -1
  285. package/lib/types/components/SubagentCard.js +27 -12
  286. package/lib/types/components/SubagentDashboard.d.ts +8 -1
  287. package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
  288. package/lib/types/components/SubagentDashboard.js +58 -16
  289. package/lib/types/components/ThemePicker.d.ts +1 -1
  290. package/lib/types/components/ThemePicker.d.ts.map +1 -1
  291. package/lib/types/components/ThemePicker.js +14 -11
  292. package/lib/types/components/Tooltip.js +1 -1
  293. package/lib/types/components/WorkingSpinner.js +1 -1
  294. package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -1
  295. package/lib/types/components/WorkspaceFlowPicker.js +4 -3
  296. package/lib/types/components/composerImageTokens.d.ts +24 -0
  297. package/lib/types/components/composerImageTokens.d.ts.map +1 -0
  298. package/lib/types/components/composerImageTokens.js +37 -0
  299. package/lib/types/components/design-system/InputCaret.d.ts +7 -0
  300. package/lib/types/components/design-system/InputCaret.d.ts.map +1 -0
  301. package/lib/types/components/design-system/InputCaret.js +9 -0
  302. package/lib/types/components/design-system/ListItem.d.ts +13 -2
  303. package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
  304. package/lib/types/components/design-system/ListItem.js +11 -5
  305. package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
  306. package/lib/types/components/design-system/ThemeProvider.js +6 -8
  307. package/lib/types/components/kernelCatalog.d.ts +55 -11
  308. package/lib/types/components/kernelCatalog.d.ts.map +1 -1
  309. package/lib/types/components/kernelCatalog.js +42 -23
  310. package/lib/types/components/launchpadActions.d.ts +4 -0
  311. package/lib/types/components/launchpadActions.d.ts.map +1 -1
  312. package/lib/types/components/launchpadActions.js +5 -4
  313. package/lib/types/components/launchpadLayout.d.ts +14 -1
  314. package/lib/types/components/launchpadLayout.d.ts.map +1 -1
  315. package/lib/types/components/launchpadLayout.js +38 -19
  316. package/lib/types/components/messages/TeamMessageBubble.d.ts +20 -0
  317. package/lib/types/components/messages/TeamMessageBubble.d.ts.map +1 -0
  318. package/lib/types/components/messages/TeamMessageBubble.js +15 -0
  319. package/lib/types/components/messages/UserPromptMessage.d.ts +4 -3
  320. package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -1
  321. package/lib/types/components/messages/UserPromptMessage.js +4 -3
  322. package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
  323. package/lib/types/components/questions/AskUserQuestionPanel.js +8 -3
  324. package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
  325. package/lib/types/components/questions/PlanReviewPanel.js +4 -3
  326. package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -1
  327. package/lib/types/components/questions/ProviderModelEditor.js +3 -13
  328. package/lib/types/components/sessions/ForeignSessionRow.d.ts +3 -1
  329. package/lib/types/components/sessions/ForeignSessionRow.d.ts.map +1 -1
  330. package/lib/types/components/sessions/ForeignSessionRow.js +5 -2
  331. package/lib/types/components/sessions/SessionListRow.d.ts +3 -1
  332. package/lib/types/components/sessions/SessionListRow.d.ts.map +1 -1
  333. package/lib/types/components/sessions/SessionListRow.js +5 -2
  334. package/lib/types/components/sidePanel/PanelBar.d.ts +1 -0
  335. package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -1
  336. package/lib/types/components/sidePanel/PanelBar.js +21 -17
  337. package/lib/types/components/sidePanel/PanelHost.d.ts.map +1 -1
  338. package/lib/types/components/sidePanel/PanelHost.js +5 -1
  339. package/lib/types/components/sidePanel/PanelStore.d.ts +8 -0
  340. package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -1
  341. package/lib/types/components/sidePanel/PanelStore.js +11 -0
  342. package/lib/types/components/sidePanel/SidePanelColumn.d.ts +1 -1
  343. package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
  344. package/lib/types/components/sidePanel/SidePanelColumn.js +15 -2
  345. package/lib/types/components/sidePanel/SidePanelLayout.d.ts +6 -4
  346. package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -1
  347. package/lib/types/components/sidePanel/SidePanelLayout.js +33 -7
  348. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts +7 -0
  349. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts.map +1 -1
  350. package/lib/types/components/sidePanel/SidePanelRuntimeContext.js +4 -0
  351. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +7 -2
  352. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -1
  353. package/lib/types/components/sidePanel/btw/BtwComposer.js +28 -8
  354. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts +2 -1
  355. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -1
  356. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +156 -21
  357. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts +6 -2
  358. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -1
  359. package/lib/types/components/sidePanel/btw/BtwThreadScene.js +64 -16
  360. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +15 -5
  361. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -1
  362. package/lib/types/components/sidePanel/btw/BtwThreadView.js +101 -10
  363. package/lib/types/components/sidePanel/btw/threads.d.ts +18 -0
  364. package/lib/types/components/sidePanel/btw/threads.d.ts.map +1 -1
  365. package/lib/types/components/sidePanel/btw/threads.js +51 -0
  366. package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -1
  367. package/lib/types/components/sidePanel/builtinPanels.js +5 -1
  368. package/lib/types/components/sidePanel/companion/CompanionPanel.js +2 -2
  369. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts +5 -1
  370. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts.map +1 -1
  371. package/lib/types/components/sidePanel/companion/SplashMascot.js +19 -4
  372. package/lib/types/components/sidePanel/companion/skins.d.ts +8 -0
  373. package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -1
  374. package/lib/types/components/sidePanel/companion/skins.js +57 -12
  375. package/lib/types/components/sidePanel/types.d.ts +7 -1
  376. package/lib/types/components/sidePanel/types.d.ts.map +1 -1
  377. package/lib/types/components/sidePanel/useSidePanel.d.ts +2 -0
  378. package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -1
  379. package/lib/types/components/sidePanel/useSidePanel.js +11 -1
  380. package/lib/types/components/splashArtRows.d.ts +29 -0
  381. package/lib/types/components/splashArtRows.d.ts.map +1 -0
  382. package/lib/types/components/splashArtRows.js +31 -0
  383. package/lib/types/components/splashFonts.d.ts +24 -1
  384. package/lib/types/components/splashFonts.d.ts.map +1 -1
  385. package/lib/types/components/splashFonts.js +40 -5
  386. package/lib/types/components/teamRoster.d.ts +70 -0
  387. package/lib/types/components/teamRoster.d.ts.map +1 -0
  388. package/lib/types/components/teamRoster.js +78 -0
  389. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
  390. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
  391. package/lib/types/components/workspaces/HomeWorkspaceRow.js +5 -2
  392. package/lib/types/dsh-adapter/admission-loader.d.ts +102 -0
  393. package/lib/types/dsh-adapter/admission-loader.d.ts.map +1 -0
  394. package/lib/types/dsh-adapter/admission-loader.js +301 -0
  395. package/lib/types/dsh-adapter/agent-view.d.ts.map +1 -1
  396. package/lib/types/dsh-adapter/agent-view.js +3 -1
  397. package/lib/types/dsh-adapter/approvals.d.ts +7 -0
  398. package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
  399. package/lib/types/dsh-adapter/approvals.js +45 -1
  400. package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -1
  401. package/lib/types/dsh-adapter/backend/translate.js +71 -8
  402. package/lib/types/dsh-adapter/backend-admission.d.ts +64 -0
  403. package/lib/types/dsh-adapter/backend-admission.d.ts.map +1 -0
  404. package/lib/types/dsh-adapter/backend-admission.js +34 -0
  405. package/lib/types/dsh-adapter/backend-assembly.d.ts +31 -0
  406. package/lib/types/dsh-adapter/backend-assembly.d.ts.map +1 -0
  407. package/lib/types/dsh-adapter/backend-assembly.js +225 -0
  408. package/lib/types/dsh-adapter/backend-contribution.d.ts +62 -0
  409. package/lib/types/dsh-adapter/backend-contribution.d.ts.map +1 -0
  410. package/lib/types/dsh-adapter/backend-contribution.js +78 -0
  411. package/lib/types/dsh-adapter/backend-registry.d.ts +136 -0
  412. package/lib/types/dsh-adapter/backend-registry.d.ts.map +1 -0
  413. package/lib/types/dsh-adapter/backend-registry.js +304 -0
  414. package/lib/types/dsh-adapter/backends.d.ts +67 -24
  415. package/lib/types/dsh-adapter/backends.d.ts.map +1 -1
  416. package/lib/types/dsh-adapter/backends.generated.d.ts +12 -0
  417. package/lib/types/dsh-adapter/backends.generated.d.ts.map +1 -0
  418. package/lib/types/dsh-adapter/backends.generated.js +6 -0
  419. package/lib/types/dsh-adapter/backends.js +91 -46
  420. package/lib/types/dsh-adapter/bundled-presets.d.ts.map +1 -1
  421. package/lib/types/dsh-adapter/bundled-presets.js +60 -3
  422. package/lib/types/dsh-adapter/channel/action-readiness.d.ts +2 -0
  423. package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
  424. package/lib/types/dsh-adapter/channel/action-readiness.js +9 -3
  425. package/lib/types/dsh-adapter/channel/agent-view-projection.js +2 -2
  426. package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
  427. package/lib/types/dsh-adapter/channel/background-action.js +8 -3
  428. package/lib/types/dsh-adapter/channel/binding-events.d.ts +17 -3
  429. package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
  430. package/lib/types/dsh-adapter/channel/binding-events.js +19 -46
  431. package/lib/types/dsh-adapter/channel/channel-host.d.ts +45 -0
  432. package/lib/types/dsh-adapter/channel/channel-host.d.ts.map +1 -0
  433. package/lib/types/dsh-adapter/channel/channel-host.js +1 -0
  434. package/lib/types/dsh-adapter/channel/command-completions.d.ts +5 -0
  435. package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
  436. package/lib/types/dsh-adapter/channel/command-completions.js +79 -6
  437. package/lib/types/dsh-adapter/channel/compaction.d.ts +7 -2
  438. package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
  439. package/lib/types/dsh-adapter/channel/compaction.js +100 -26
  440. package/lib/types/dsh-adapter/channel/composer-images.d.ts +4 -2
  441. package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
  442. package/lib/types/dsh-adapter/channel/composer-images.js +36 -5
  443. package/lib/types/dsh-adapter/channel/cordis-host.d.ts +14 -0
  444. package/lib/types/dsh-adapter/channel/cordis-host.d.ts.map +1 -0
  445. package/lib/types/dsh-adapter/channel/cordis-host.js +35 -0
  446. package/lib/types/dsh-adapter/channel/core/actions.d.ts +3 -3
  447. package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -1
  448. package/lib/types/dsh-adapter/channel/core/actions.js +15 -6
  449. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +10 -3
  450. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -1
  451. package/lib/types/dsh-adapter/channel/core/binding-feed.js +5 -1
  452. package/lib/types/dsh-adapter/channel/core/compose.d.ts +12 -28
  453. package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -1
  454. package/lib/types/dsh-adapter/channel/core/compose.js +330 -117
  455. package/lib/types/dsh-adapter/channel/core/files.d.ts +7 -2
  456. package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -1
  457. package/lib/types/dsh-adapter/channel/core/files.js +1 -0
  458. package/lib/types/dsh-adapter/channel/core/host.d.ts +12 -6
  459. package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -1
  460. package/lib/types/dsh-adapter/channel/core/host.js +69 -35
  461. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +5 -3
  462. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -1
  463. package/lib/types/dsh-adapter/channel/core/local-actions.js +5 -2
  464. package/lib/types/dsh-adapter/channel/core/session-controls.js +2 -2
  465. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +7 -4
  466. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -1
  467. package/lib/types/dsh-adapter/channel/core/session-switch.js +8 -4
  468. package/lib/types/dsh-adapter/channel/core/sessions.d.ts +1 -1
  469. package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -1
  470. package/lib/types/dsh-adapter/channel/core/sessions.js +75 -16
  471. package/lib/types/dsh-adapter/channel/extensions.d.ts +4 -3
  472. package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -1
  473. package/lib/types/dsh-adapter/channel/extensions.js +109 -30
  474. package/lib/types/dsh-adapter/channel/input-delivery.d.ts +2 -2
  475. package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
  476. package/lib/types/dsh-adapter/channel/input-delivery.js +14 -5
  477. package/lib/types/dsh-adapter/channel/job-projection.d.ts +4 -0
  478. package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -1
  479. package/lib/types/dsh-adapter/channel/job-projection.js +205 -24
  480. package/lib/types/dsh-adapter/channel/mentions.d.ts +3 -3
  481. package/lib/types/dsh-adapter/channel/mentions.d.ts.map +1 -1
  482. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +7 -0
  483. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
  484. package/lib/types/dsh-adapter/channel/mode-permission-actions.js +235 -13
  485. package/lib/types/dsh-adapter/channel/model-actions.d.ts +5 -1
  486. package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
  487. package/lib/types/dsh-adapter/channel/model-actions.js +48 -29
  488. package/lib/types/dsh-adapter/channel/model-selection.d.ts +17 -0
  489. package/lib/types/dsh-adapter/channel/model-selection.d.ts.map +1 -0
  490. package/lib/types/dsh-adapter/channel/model-selection.js +109 -0
  491. package/lib/types/dsh-adapter/channel/model-switch.d.ts +12 -21
  492. package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
  493. package/lib/types/dsh-adapter/channel/model-switch.js +39 -102
  494. package/lib/types/dsh-adapter/channel/permissions.d.ts.map +1 -1
  495. package/lib/types/dsh-adapter/channel/permissions.js +4 -1
  496. package/lib/types/dsh-adapter/channel/projection-helpers.d.ts.map +1 -1
  497. package/lib/types/dsh-adapter/channel/projection-helpers.js +2 -0
  498. package/lib/types/dsh-adapter/channel/projection.js +1 -1
  499. package/lib/types/dsh-adapter/channel/reports.d.ts +1 -1
  500. package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
  501. package/lib/types/dsh-adapter/channel/reports.js +11 -3
  502. package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
  503. package/lib/types/dsh-adapter/channel/session-fork.js +33 -20
  504. package/lib/types/dsh-adapter/channel/session-listing.d.ts +20 -0
  505. package/lib/types/dsh-adapter/channel/session-listing.d.ts.map +1 -0
  506. package/lib/types/dsh-adapter/channel/session-listing.js +51 -0
  507. package/lib/types/dsh-adapter/channel/session-metadata.d.ts +3 -1
  508. package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
  509. package/lib/types/dsh-adapter/channel/session-metadata.js +60 -30
  510. package/lib/types/dsh-adapter/channel/session-reset.js +2 -2
  511. package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
  512. package/lib/types/dsh-adapter/channel/session-resume.js +22 -8
  513. package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
  514. package/lib/types/dsh-adapter/channel/session-rewind.js +38 -24
  515. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
  516. package/lib/types/dsh-adapter/channel/session-tree-actions.js +38 -24
  517. package/lib/types/dsh-adapter/channel/settings-host.d.ts +5 -2
  518. package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
  519. package/lib/types/dsh-adapter/channel/settings-host.js +136 -5
  520. package/lib/types/dsh-adapter/channel/state.d.ts +43 -1
  521. package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
  522. package/lib/types/dsh-adapter/channel/state.js +14 -1
  523. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
  524. package/lib/types/dsh-adapter/channel/subagent-projection.js +84 -12
  525. package/lib/types/dsh-adapter/channel/task-completion.d.ts +6 -0
  526. package/lib/types/dsh-adapter/channel/task-completion.d.ts.map +1 -0
  527. package/lib/types/dsh-adapter/channel/task-completion.js +114 -0
  528. package/lib/types/dsh-adapter/channel/transcript.d.ts +8 -1
  529. package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -1
  530. package/lib/types/dsh-adapter/channel/transcript.js +20 -3
  531. package/lib/types/dsh-adapter/channel/upstream-retry.d.ts +81 -0
  532. package/lib/types/dsh-adapter/channel/upstream-retry.d.ts.map +1 -0
  533. package/lib/types/dsh-adapter/channel/upstream-retry.js +138 -0
  534. package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
  535. package/lib/types/dsh-adapter/channel/workspace-actions.js +9 -8
  536. package/lib/types/dsh-adapter/channel-ui.d.ts +3 -1
  537. package/lib/types/dsh-adapter/channel-ui.d.ts.map +1 -1
  538. package/lib/types/dsh-adapter/channel-ui.js +4 -2
  539. package/lib/types/dsh-adapter/channel.d.ts +2 -2
  540. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  541. package/lib/types/dsh-adapter/channel.js +19 -5
  542. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts +55 -0
  543. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts.map +1 -0
  544. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.js +96 -0
  545. package/lib/types/dsh-adapter/context-occupancy.d.ts +81 -4
  546. package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -1
  547. package/lib/types/dsh-adapter/context-occupancy.js +108 -17
  548. package/lib/types/dsh-adapter/contract.d.ts +4 -4
  549. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  550. package/lib/types/dsh-adapter/contract.js +20 -5
  551. package/lib/types/dsh-adapter/effect-ledger.d.ts +7 -0
  552. package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -1
  553. package/lib/types/dsh-adapter/effect-ledger.js +8 -1
  554. package/lib/types/dsh-adapter/entry-slot.d.ts +38 -0
  555. package/lib/types/dsh-adapter/entry-slot.d.ts.map +1 -0
  556. package/lib/types/dsh-adapter/entry-slot.js +28 -0
  557. package/lib/types/dsh-adapter/fresh-agent.d.ts +22 -0
  558. package/lib/types/dsh-adapter/fresh-agent.d.ts.map +1 -0
  559. package/lib/types/dsh-adapter/fresh-agent.js +226 -0
  560. package/lib/types/dsh-adapter/host-access.d.ts +16 -1
  561. package/lib/types/dsh-adapter/host-access.d.ts.map +1 -1
  562. package/lib/types/dsh-adapter/host-access.js +148 -2
  563. package/lib/types/dsh-adapter/host-contract.d.ts +103 -0
  564. package/lib/types/dsh-adapter/host-contract.d.ts.map +1 -0
  565. package/lib/types/dsh-adapter/host-contract.js +77 -0
  566. package/lib/types/dsh-adapter/host-dsh.d.ts +112 -0
  567. package/lib/types/dsh-adapter/host-dsh.d.ts.map +1 -0
  568. package/lib/types/dsh-adapter/host-dsh.js +481 -0
  569. package/lib/types/dsh-adapter/host-entry.d.ts +9 -0
  570. package/lib/types/dsh-adapter/host-entry.d.ts.map +1 -0
  571. package/lib/types/dsh-adapter/host-entry.js +253 -0
  572. package/lib/types/dsh-adapter/index.d.ts +53 -17
  573. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  574. package/lib/types/dsh-adapter/index.js +63 -9
  575. package/lib/types/dsh-adapter/install/executors.d.ts +44 -0
  576. package/lib/types/dsh-adapter/install/executors.d.ts.map +1 -0
  577. package/lib/types/dsh-adapter/install/executors.js +15 -0
  578. package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts +3 -0
  579. package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts.map +1 -0
  580. package/lib/types/dsh-adapter/install/pnpm-profile-add.js +150 -0
  581. package/lib/types/dsh-adapter/invariant.d.ts +7 -2
  582. package/lib/types/dsh-adapter/invariant.d.ts.map +1 -1
  583. package/lib/types/dsh-adapter/invariant.js +6 -3
  584. package/lib/types/dsh-adapter/jobs.d.ts +7 -0
  585. package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
  586. package/lib/types/dsh-adapter/jobs.js +13 -0
  587. package/lib/types/dsh-adapter/lite-profile.d.ts +50 -0
  588. package/lib/types/dsh-adapter/lite-profile.d.ts.map +1 -0
  589. package/lib/types/dsh-adapter/lite-profile.js +49 -0
  590. package/lib/types/dsh-adapter/migrate/index.js +2 -2
  591. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -1
  592. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
  593. package/lib/types/dsh-adapter/migrate/parse/jsonl.js +4 -3
  594. package/lib/types/dsh-adapter/oauth/profiles.d.ts.map +1 -1
  595. package/lib/types/dsh-adapter/oauth/profiles.js +5 -1
  596. package/lib/types/dsh-adapter/panels.d.ts +7 -0
  597. package/lib/types/dsh-adapter/panels.d.ts.map +1 -1
  598. package/lib/types/dsh-adapter/panels.js +41 -2
  599. package/lib/types/dsh-adapter/plugin-completions.d.ts +32 -0
  600. package/lib/types/dsh-adapter/plugin-completions.d.ts.map +1 -0
  601. package/lib/types/dsh-adapter/plugin-completions.js +80 -0
  602. package/lib/types/dsh-adapter/plugin-declaration.d.ts +119 -0
  603. package/lib/types/dsh-adapter/plugin-declaration.d.ts.map +1 -0
  604. package/lib/types/dsh-adapter/plugin-declaration.js +183 -0
  605. package/lib/types/dsh-adapter/plugin-feed.d.ts +94 -0
  606. package/lib/types/dsh-adapter/plugin-feed.d.ts.map +1 -0
  607. package/lib/types/dsh-adapter/plugin-feed.js +135 -0
  608. package/lib/types/dsh-adapter/plugin-guard.d.ts +115 -0
  609. package/lib/types/dsh-adapter/plugin-guard.d.ts.map +1 -0
  610. package/lib/types/dsh-adapter/plugin-guard.js +108 -0
  611. package/lib/types/dsh-adapter/plugin-host.d.ts +13 -2
  612. package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -1
  613. package/lib/types/dsh-adapter/plugin-host.js +34 -8
  614. package/lib/types/dsh-adapter/plugin-install.d.ts +160 -0
  615. package/lib/types/dsh-adapter/plugin-install.d.ts.map +1 -0
  616. package/lib/types/dsh-adapter/plugin-install.js +545 -0
  617. package/lib/types/dsh-adapter/plugin-manage.d.ts +178 -0
  618. package/lib/types/dsh-adapter/plugin-manage.d.ts.map +1 -0
  619. package/lib/types/dsh-adapter/plugin-manage.js +468 -0
  620. package/lib/types/dsh-adapter/plugin-manager.d.ts +144 -0
  621. package/lib/types/dsh-adapter/plugin-manager.d.ts.map +1 -0
  622. package/lib/types/dsh-adapter/plugin-manager.js +83 -0
  623. package/lib/types/dsh-adapter/plugin.d.ts +50 -1
  624. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  625. package/lib/types/dsh-adapter/plugin.js +918 -234
  626. package/lib/types/dsh-adapter/plugins-info.d.ts +130 -8
  627. package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
  628. package/lib/types/dsh-adapter/plugins-info.js +469 -44
  629. package/lib/types/dsh-adapter/process-exit.d.ts +43 -0
  630. package/lib/types/dsh-adapter/process-exit.d.ts.map +1 -0
  631. package/lib/types/dsh-adapter/process-exit.js +60 -0
  632. package/lib/types/dsh-adapter/root-dispose.d.ts +18 -0
  633. package/lib/types/dsh-adapter/root-dispose.d.ts.map +1 -0
  634. package/lib/types/dsh-adapter/root-dispose.js +28 -0
  635. package/lib/types/dsh-adapter/session-list-metadata.d.ts +20 -0
  636. package/lib/types/dsh-adapter/session-list-metadata.d.ts.map +1 -0
  637. package/lib/types/dsh-adapter/session-list-metadata.js +56 -0
  638. package/lib/types/dsh-adapter/session-projection-store.d.ts +66 -0
  639. package/lib/types/dsh-adapter/session-projection-store.d.ts.map +1 -0
  640. package/lib/types/dsh-adapter/session-projection-store.js +149 -0
  641. package/lib/types/dsh-adapter/session-seed.d.ts +11 -0
  642. package/lib/types/dsh-adapter/session-seed.d.ts.map +1 -0
  643. package/lib/types/dsh-adapter/session-seed.js +47 -0
  644. package/lib/types/dsh-adapter/sessions/list.d.ts +3 -1
  645. package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
  646. package/lib/types/dsh-adapter/sessions/list.js +11 -5
  647. package/lib/types/dsh-adapter/sessions/snapshot.d.ts +0 -2
  648. package/lib/types/dsh-adapter/sessions/snapshot.d.ts.map +1 -1
  649. package/lib/types/dsh-adapter/sessions/snapshot.js +7 -70
  650. package/lib/types/dsh-adapter/settingsEditor.js +2 -2
  651. package/lib/types/dsh-adapter/sideQuestion.d.ts +21 -0
  652. package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
  653. package/lib/types/dsh-adapter/sideQuestion.js +53 -0
  654. package/lib/types/dsh-adapter/startup-args.d.ts +2 -0
  655. package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -1
  656. package/lib/types/dsh-adapter/startup-args.js +5 -0
  657. package/lib/types/dsh-adapter/subagents.d.ts +33 -1
  658. package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
  659. package/lib/types/dsh-adapter/subagents.js +112 -9
  660. package/lib/types/dsh-adapter/team-mode.d.ts +74 -0
  661. package/lib/types/dsh-adapter/team-mode.d.ts.map +1 -0
  662. package/lib/types/dsh-adapter/team-mode.js +188 -0
  663. package/lib/types/dsh-adapter/team-roster.d.ts +67 -0
  664. package/lib/types/dsh-adapter/team-roster.d.ts.map +1 -0
  665. package/lib/types/dsh-adapter/team-roster.js +136 -0
  666. package/lib/types/dsh-adapter/team-tools.d.ts +58 -0
  667. package/lib/types/dsh-adapter/team-tools.d.ts.map +1 -0
  668. package/lib/types/dsh-adapter/team-tools.js +208 -0
  669. package/lib/types/dsh-adapter/tui-settings.d.ts +57 -0
  670. package/lib/types/dsh-adapter/tui-settings.d.ts.map +1 -0
  671. package/lib/types/dsh-adapter/tui-settings.js +199 -0
  672. package/lib/types/dsh-adapter/types.d.ts +1 -1
  673. package/lib/types/dsh-adapter/types.d.ts.map +1 -1
  674. package/lib/types/effortPrefs.d.ts +6 -3
  675. package/lib/types/effortPrefs.d.ts.map +1 -1
  676. package/lib/types/effortPrefs.js +7 -4
  677. package/lib/types/hostEntryRoute.d.ts +18 -0
  678. package/lib/types/hostEntryRoute.d.ts.map +1 -0
  679. package/lib/types/hostEntryRoute.js +57 -0
  680. package/lib/types/i18n.d.ts +961 -1439
  681. package/lib/types/i18n.d.ts.map +1 -1
  682. package/lib/types/i18n.js +443 -387
  683. package/lib/types/ink/components/AlternateScreen.js +2 -2
  684. package/lib/types/ink/components/App.d.ts +1 -0
  685. package/lib/types/ink/components/App.d.ts.map +1 -1
  686. package/lib/types/ink/components/App.js +16 -4
  687. package/lib/types/ink/components/CursorDeclarationContext.d.ts +9 -0
  688. package/lib/types/ink/components/CursorDeclarationContext.d.ts.map +1 -1
  689. package/lib/types/ink/components/CursorDeclarationContext.js +2 -0
  690. package/lib/types/ink/components/ScrollBox.d.ts +9 -0
  691. package/lib/types/ink/components/ScrollBox.d.ts.map +1 -1
  692. package/lib/types/ink/components/ScrollBox.js +23 -0
  693. package/lib/types/ink/dom.d.ts.map +1 -1
  694. package/lib/types/ink/hooks/use-copy-on-select.d.ts +2 -2
  695. package/lib/types/ink/hooks/use-copy-on-select.d.ts.map +1 -1
  696. package/lib/types/ink/hooks/use-copy-on-select.js +13 -7
  697. package/lib/types/ink/hooks/use-declared-cursor.d.ts +11 -3
  698. package/lib/types/ink/hooks/use-declared-cursor.d.ts.map +1 -1
  699. package/lib/types/ink/hooks/use-declared-cursor.js +30 -10
  700. package/lib/types/ink/ink.d.ts +22 -17
  701. package/lib/types/ink/ink.d.ts.map +1 -1
  702. package/lib/types/ink/ink.js +151 -40
  703. package/lib/types/ink/kitty-graphics.d.ts +2 -0
  704. package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
  705. package/lib/types/ink/kitty-graphics.js +6 -1
  706. package/lib/types/ink/node-cache.d.ts +2 -1
  707. package/lib/types/ink/node-cache.d.ts.map +1 -1
  708. package/lib/types/ink/output.d.ts +10 -4
  709. package/lib/types/ink/output.d.ts.map +1 -1
  710. package/lib/types/ink/output.js +14 -10
  711. package/lib/types/ink/render-node-to-output.d.ts +5 -2
  712. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  713. package/lib/types/ink/render-node-to-output.js +27 -9
  714. package/lib/types/ink/renderer.d.ts +1 -0
  715. package/lib/types/ink/renderer.d.ts.map +1 -1
  716. package/lib/types/ink/renderer.js +4 -3
  717. package/lib/types/ink/root.d.ts +4 -1
  718. package/lib/types/ink/root.d.ts.map +1 -1
  719. package/lib/types/ink/screen.d.ts +4 -2
  720. package/lib/types/ink/screen.d.ts.map +1 -1
  721. package/lib/types/ink/selection.d.ts +10 -1
  722. package/lib/types/ink/selection.d.ts.map +1 -1
  723. package/lib/types/ink/selection.js +94 -25
  724. package/lib/types/ink/stdin-handoff.d.ts +11 -0
  725. package/lib/types/ink/stdin-handoff.d.ts.map +1 -0
  726. package/lib/types/ink/stdin-handoff.js +20 -0
  727. package/lib/types/ink/styles.d.ts +2 -1
  728. package/lib/types/ink/styles.d.ts.map +1 -1
  729. package/lib/types/ink/terminal-image.d.ts +6 -4
  730. package/lib/types/ink/terminal-image.d.ts.map +1 -1
  731. package/lib/types/ink/terminal-image.js +16 -39
  732. package/lib/types/ink/terminal-notification.d.ts +8 -0
  733. package/lib/types/ink/terminal-notification.d.ts.map +1 -0
  734. package/lib/types/ink/terminal-notification.js +83 -0
  735. package/lib/types/ink/terminal.d.ts +9 -0
  736. package/lib/types/ink/terminal.d.ts.map +1 -1
  737. package/lib/types/ink/terminal.js +34 -1
  738. package/lib/types/ink/termio/csi.d.ts +11 -0
  739. package/lib/types/ink/termio/csi.d.ts.map +1 -1
  740. package/lib/types/ink/termio/csi.js +13 -0
  741. package/lib/types/ink/update-overflow-guard.d.ts +6 -0
  742. package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
  743. package/lib/types/ink/update-overflow-guard.js +17 -0
  744. package/lib/types/ink/wrap-text.d.ts +6 -0
  745. package/lib/types/ink/wrap-text.d.ts.map +1 -1
  746. package/lib/types/ink/wrap-text.js +17 -0
  747. package/lib/types/kernelPrefs.d.ts +130 -17
  748. package/lib/types/kernelPrefs.d.ts.map +1 -1
  749. package/lib/types/kernelPrefs.js +98 -35
  750. package/lib/types/math/inline-layout.d.ts +2 -0
  751. package/lib/types/math/inline-layout.d.ts.map +1 -1
  752. package/lib/types/math/inline-layout.js +5 -27
  753. package/lib/types/modelGroups.d.ts +15 -27
  754. package/lib/types/modelGroups.d.ts.map +1 -1
  755. package/lib/types/modelGroups.js +17 -31
  756. package/lib/types/modelPrefs.d.ts +5 -4
  757. package/lib/types/modelPrefs.d.ts.map +1 -1
  758. package/lib/types/modelPrefs.js +5 -4
  759. package/lib/types/modelRoute.d.ts +23 -9
  760. package/lib/types/modelRoute.d.ts.map +1 -1
  761. package/lib/types/modelRoute.js +25 -11
  762. package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -1
  763. package/lib/types/native-ts/yoga-layout/index.js +8 -1
  764. package/lib/types/permissionPrefs.d.ts +34 -0
  765. package/lib/types/permissionPrefs.d.ts.map +1 -0
  766. package/lib/types/permissionPrefs.js +61 -0
  767. package/lib/types/permissionPresetLabels.d.ts +25 -0
  768. package/lib/types/permissionPresetLabels.d.ts.map +1 -0
  769. package/lib/types/permissionPresetLabels.js +33 -0
  770. package/lib/types/plugin-host.d.ts +1 -0
  771. package/lib/types/plugin-host.d.ts.map +1 -1
  772. package/lib/types/preset-patch.d.ts +22 -0
  773. package/lib/types/preset-patch.d.ts.map +1 -0
  774. package/lib/types/preset-patch.js +14 -0
  775. package/lib/types/presetPrefs.d.ts +17 -3
  776. package/lib/types/presetPrefs.d.ts.map +1 -1
  777. package/lib/types/presetPrefs.js +20 -3
  778. package/lib/types/reload.d.ts +6 -10
  779. package/lib/types/reload.d.ts.map +1 -1
  780. package/lib/types/reload.js +14 -14
  781. package/lib/types/screens/Chat.d.ts +55 -16
  782. package/lib/types/screens/Chat.d.ts.map +1 -1
  783. package/lib/types/screens/Chat.js +742 -280
  784. package/lib/types/screens/Launchpad.d.ts +33 -17
  785. package/lib/types/screens/Launchpad.d.ts.map +1 -1
  786. package/lib/types/screens/Launchpad.js +256 -78
  787. package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
  788. package/lib/types/screens/SessionSupervisor.js +53 -12
  789. package/lib/types/screens/Settings.d.ts.map +1 -1
  790. package/lib/types/screens/Settings.js +7 -0
  791. package/lib/types/screens/StatusLine.d.ts.map +1 -1
  792. package/lib/types/screens/StatusLine.js +24 -7
  793. package/lib/types/screens/StatusMetrics.d.ts +46 -1
  794. package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
  795. package/lib/types/screens/StatusMetrics.js +72 -0
  796. package/lib/types/screens/chat/useKernelPicker.d.ts +8 -4
  797. package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -1
  798. package/lib/types/screens/chat/useKernelPicker.js +61 -21
  799. package/lib/types/screens/chat/useModelPicker.d.ts +42 -0
  800. package/lib/types/screens/chat/useModelPicker.d.ts.map +1 -0
  801. package/lib/types/screens/chat/useModelPicker.js +182 -0
  802. package/lib/types/screens/chat/usePluginWriteFlow.d.ts +68 -0
  803. package/lib/types/screens/chat/usePluginWriteFlow.d.ts.map +1 -0
  804. package/lib/types/screens/chat/usePluginWriteFlow.js +92 -0
  805. package/lib/types/screens/chatOverlay.d.ts +30 -5
  806. package/lib/types/screens/chatOverlay.d.ts.map +1 -1
  807. package/lib/types/screens/chatOverlay.js +0 -1
  808. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts +4 -1
  809. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts.map +1 -1
  810. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.js +26 -5
  811. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +1 -1
  812. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
  813. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +51 -29
  814. package/lib/types/sessionHistory.d.ts +5 -0
  815. package/lib/types/sessionHistory.d.ts.map +1 -1
  816. package/lib/types/sessionHistory.js +5 -0
  817. package/lib/types/sessionModes.d.ts +5 -3
  818. package/lib/types/sessionModes.d.ts.map +1 -1
  819. package/lib/types/sessionModes.js +9 -3
  820. package/lib/types/sessions/listSnapshot.d.ts +6 -0
  821. package/lib/types/sessions/listSnapshot.d.ts.map +1 -0
  822. package/lib/types/sessions/listSnapshot.js +67 -0
  823. package/lib/types/settings/definitions.d.ts +50 -0
  824. package/lib/types/settings/definitions.d.ts.map +1 -1
  825. package/lib/types/settings/definitions.js +42 -8
  826. package/lib/types/terminal-utils/cjk-emphasis.d.ts +28 -0
  827. package/lib/types/terminal-utils/cjk-emphasis.d.ts.map +1 -0
  828. package/lib/types/terminal-utils/cjk-emphasis.js +31 -0
  829. package/lib/types/terminal-utils/markdown.d.ts +3 -1
  830. package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
  831. package/lib/types/terminal-utils/markdown.js +7 -2
  832. package/lib/types/theme.d.ts +29 -12
  833. package/lib/types/theme.d.ts.map +1 -1
  834. package/lib/types/theme.js +310 -23
  835. package/lib/types/themeCatalog.d.ts.map +1 -1
  836. package/lib/types/themeCatalog.js +21 -2
  837. package/lib/types/tips.js +4 -4
  838. package/lib/types/tuiSettingsFile.d.ts +56 -0
  839. package/lib/types/tuiSettingsFile.d.ts.map +1 -0
  840. package/lib/types/tuiSettingsFile.js +206 -0
  841. package/lib/types/ui.d.ts +2 -0
  842. package/lib/types/ui.d.ts.map +1 -1
  843. package/lib/types/ui.js +2 -0
  844. package/lib/types/update.d.ts +72 -26
  845. package/lib/types/update.d.ts.map +1 -1
  846. package/lib/types/update.js +131 -43
  847. package/lib/types/utils/bmp.d.ts +7 -0
  848. package/lib/types/utils/bmp.d.ts.map +1 -1
  849. package/lib/types/utils/bmp.js +27 -0
  850. package/lib/types/utils/bootTrace.d.ts +2 -0
  851. package/lib/types/utils/bootTrace.d.ts.map +1 -0
  852. package/lib/types/utils/bootTrace.js +20 -0
  853. package/lib/types/utils/clipboard.d.ts.map +1 -1
  854. package/lib/types/utils/clipboard.js +11 -3
  855. package/lib/types/utils/credentials.d.ts +14 -2
  856. package/lib/types/utils/credentials.d.ts.map +1 -1
  857. package/lib/types/utils/credentials.js +34 -11
  858. package/lib/types/utils/imageResize.d.ts +10 -20
  859. package/lib/types/utils/imageResize.d.ts.map +1 -1
  860. package/lib/types/utils/imageResize.js +61 -134
  861. package/lib/types/utils/inputPaste.d.ts +2 -2
  862. package/lib/types/utils/inputPaste.js +2 -2
  863. package/lib/types/utils/pastedImagePath.d.ts +5 -0
  864. package/lib/types/utils/pastedImagePath.d.ts.map +1 -1
  865. package/lib/types/utils/pastedImagePath.js +33 -0
  866. package/lib/types/utils/paths.d.ts +11 -0
  867. package/lib/types/utils/paths.d.ts.map +1 -1
  868. package/lib/types/utils/paths.js +13 -0
  869. package/package.json +150 -114
  870. package/presets/winbash.mjs +716 -0
  871. package/tui-profile/feed/README.md +63 -0
  872. package/tui-profile/feed/first-party.json +10 -0
  873. package/tui-profile/protocols/profile-definitions.d.ts +1 -0
  874. package/tui-profile/protocols/profile-definitions.js +14 -0
  875. package/tui-profile/protocols/tui-contributions.d.ts +55 -0
  876. package/tui-profile/protocols/tui-contributions.js +141 -0
  877. package/tui-profile/registry/contracts/backend-v1alpha1.json +13 -0
  878. package/tui-profile/registry/registry-0.15.json +12 -0
  879. package/lib/types/backends/claude/install.d.ts +0 -15
  880. package/lib/types/backends/claude/install.d.ts.map +0 -1
  881. package/lib/types/backends/claude/install.js +0 -91
  882. package/lib/types/channel/elicitation.d.ts.map +0 -1
  883. package/lib/types/dsh-adapter/channel/session-lineage.d.ts +0 -42
  884. package/lib/types/dsh-adapter/channel/session-lineage.d.ts.map +0 -1
  885. package/lib/types/dsh-adapter/channel/session-lineage.js +0 -51
  886. package/lib/types/utils/jsonl.d.ts.map +0 -1
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Permanently release input to a replacement process without closing the TTY.
3
+ * Closing it would restore this process's saved termios over the child's raw
4
+ * mode. pause()/unref() alone leave readable-mode prefetch able to steal the
5
+ * child's terminal replies, so cancel the native read and prevent refills.
6
+ * Temporary editor handoffs must keep using suspendStdin()/resumeStdin().
7
+ */
8
+ export declare function detachHandoffStdin(stdin?: Pick<NodeJS.ReadStream, 'removeAllListeners' | 'pause'> & {
9
+ unref?: () => unknown;
10
+ }): void;
11
+ //# sourceMappingURL=stdin-handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdin-handoff.d.ts","sourceRoot":"","sources":["../../../src/ink/stdin-handoff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,GAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;CAAkB,GACzG,IAAI,CAcN"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Permanently release input to a replacement process without closing the TTY.
3
+ * Closing it would restore this process's saved termios over the child's raw
4
+ * mode. pause()/unref() alone leave readable-mode prefetch able to steal the
5
+ * child's terminal replies, so cancel the native read and prevent refills.
6
+ * Temporary editor handoffs must keep using suspendStdin()/resumeStdin().
7
+ */
8
+ export function detachHandoffStdin(stdin = process.stdin) {
9
+ stdin.removeAllListeners('readable');
10
+ stdin.removeAllListeners('data');
11
+ // Node exposes no public way to stop a native TTY read without destroying
12
+ // the handle. _read also needs blocking: an already queued refill can run
13
+ // after readStop(). Other runtimes/embedded streams may lack the handle.
14
+ const input = stdin;
15
+ if (typeof input._read === 'function')
16
+ input._read = () => { };
17
+ stdin.pause();
18
+ input._handle?.readStop?.();
19
+ stdin.unref?.();
20
+ }
@@ -338,7 +338,8 @@ export type Styles = {
338
338
  * two rows (as it does for wrapped <Text>). The value is the width of the
339
339
  * row above, in columns from this box's left edge — where that row's
340
340
  * content ends. For rows laid out outside <Text> (a paragraph with inline
341
- * images); selection-only, no effect on painting.
341
+ * images); selection-only, no effect on painting. A negative width marks
342
+ * an omitted separator space that copy must restore.
342
343
  */
343
344
  readonly softWrapContinuation?: number;
344
345
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ink/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ink/styles.ts"],"names":[],"mappings":"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"}
@@ -103,11 +103,13 @@ export interface TerminalImagePlacement {
103
103
  export declare function normalizeTerminalCellSize(value: TerminalCellSize | undefined): TerminalCellSize;
104
104
  /** Prefer a direct cell report, then derive it from text-area pixels. */
105
105
  export declare function resolveTerminalCellSize(cell: TerminalCellSize | undefined, window: TerminalCellSize | undefined, columns: number, rows: number): TerminalCellSize | undefined;
106
+ /** Compute the fitted canvas size without allocating pixels, for frame admission. */
107
+ export declare function terminalImagePixelSize(columns: number, rows: number, cellSize?: TerminalCellSize, presentation?: TerminalImagePlacement['presentation']): readonly [number, number];
106
108
  /**
107
- * Prepare an RGBA raster that fits a laid-out cell rectangle without
108
- * distortion. The transparent canvas has the terminal rectangle's physical
109
- * aspect ratio; the host only downsamples source pixels and centers them
110
- * inside it. Kitty can then scale that bounded canvas to the requested cells.
109
+ * Fit an RGBA source into the cell rectangle's physical pixel box, preserving
110
+ * its aspect ratio with transparent letterboxing. Enlarge or downsample here:
111
+ * terminals that do not upscale Kitty payloads need the box's own pixels to
112
+ * fill the reserved cells. Oversized boxes still obey the allocation budget.
111
113
  */
112
114
  export declare function fitTerminalImageSource(source: TerminalImageSource, columns: number, rows: number, cellSize?: TerminalCellSize, presentation?: TerminalImagePlacement['presentation']): TerminalImageSource;
113
115
  /** Validate an untrusted decoded source without copying its pixel buffer. */
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-image.d.ts","sourceRoot":"","sources":["../../../src/ink/terminal-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-image.d.ts","sourceRoot":"","sources":["../../../src/ink/terminal-image.ts"],"names":[],"mappings":"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"}
@@ -60,40 +60,25 @@ function plausibleTerminalCellSize(value) {
60
60
  }
61
61
  return { width: Math.round(value.width), height: Math.round(value.height) };
62
62
  }
63
- /**
64
- * Prepare an RGBA raster that fits a laid-out cell rectangle without
65
- * distortion. The transparent canvas has the terminal rectangle's physical
66
- * aspect ratio; the host only downsamples source pixels and centers them
67
- * inside it. Kitty can then scale that bounded canvas to the requested cells.
68
- */
69
- export function fitTerminalImageSource(source, columns, rows, cellSize = DEFAULT_TERMINAL_CELL_SIZE, presentation) {
63
+ /** Compute the fitted canvas size without allocating pixels, for frame admission. */
64
+ export function terminalImagePixelSize(columns, rows, cellSize = DEFAULT_TERMINAL_CELL_SIZE, presentation) {
70
65
  const cell = normalizeTerminalCellSize(cellSize);
71
66
  const safeColumns = Math.max(1, Math.floor(columns));
72
67
  const safeRows = Math.max(1, Math.floor(rows));
73
- const [boxWidth, boxHeight] = boundedPixelBox(safeColumns * cell.width, safeRows * cell.height, presentation === 'preview' ? TERMINAL_IMAGE_PREVIEW_MAX_BYTES : TERMINAL_IMAGE_MAX_BYTES);
74
- // Kitty scales the raster to the requested cell rectangle, so its canvas
75
- // must have that rectangle's exact physical aspect ratio. Rounding each
76
- // side independently would distort tiny sources. Use the smallest integer
77
- // multiple of the reduced ratio that contains the fitted source.
78
- const requestedWidth = safeColumns * cell.width;
79
- const requestedHeight = safeRows * cell.height;
80
- const divisor = greatestCommonDivisor(requestedWidth, requestedHeight);
81
- let ratioWidth = requestedWidth / divisor;
82
- let ratioHeight = requestedHeight / divisor;
83
- let maximumMultiple = Math.floor(Math.min(boxWidth / ratioWidth, boxHeight / ratioHeight));
84
- // Some coprime physical dimensions need more pixels than the allocation
85
- // budget even at their smallest exact ratio. Only then use the nearest
86
- // uniformly bounded raster ratio.
87
- if (maximumMultiple < 1) {
88
- const boundedDivisor = greatestCommonDivisor(boxWidth, boxHeight);
89
- ratioWidth = boxWidth / boundedDivisor;
90
- ratioHeight = boxHeight / boundedDivisor;
91
- maximumMultiple = boundedDivisor;
92
- }
93
- const multiple = Math.min(maximumMultiple, Math.max(1, Math.ceil(source.width / ratioWidth), Math.ceil(source.height / ratioHeight)));
94
- const canvasWidth = ratioWidth * multiple;
95
- const canvasHeight = ratioHeight * multiple;
96
- const canvasScale = Math.min(1, canvasWidth / source.width, canvasHeight / source.height);
68
+ // Keep an affordable physical box exact. Over budget, shrink uniformly
69
+ // and round each edge by at most one pixel; exact-ratio integer multiples
70
+ // can otherwise discard most of the budget at a boundary (e.g. 1034x1040).
71
+ return boundedPixelBox(safeColumns * cell.width, safeRows * cell.height, presentation === 'preview' ? TERMINAL_IMAGE_PREVIEW_MAX_BYTES : TERMINAL_IMAGE_MAX_BYTES);
72
+ }
73
+ /**
74
+ * Fit an RGBA source into the cell rectangle's physical pixel box, preserving
75
+ * its aspect ratio with transparent letterboxing. Enlarge or downsample here:
76
+ * terminals that do not upscale Kitty payloads need the box's own pixels to
77
+ * fill the reserved cells. Oversized boxes still obey the allocation budget.
78
+ */
79
+ export function fitTerminalImageSource(source, columns, rows, cellSize = DEFAULT_TERMINAL_CELL_SIZE, presentation) {
80
+ const [canvasWidth, canvasHeight] = terminalImagePixelSize(columns, rows, cellSize, presentation);
81
+ const canvasScale = Math.min(canvasWidth / source.width, canvasHeight / source.height);
97
82
  const fittedWidth = Math.max(1, Math.min(canvasWidth, Math.round(source.width * canvasScale)));
98
83
  const fittedHeight = Math.max(1, Math.min(canvasHeight, Math.round(source.height * canvasScale)));
99
84
  if (fittedWidth === source.width &&
@@ -119,14 +104,6 @@ export function fitTerminalImageSource(source, columns, rows, cellSize = DEFAULT
119
104
  }
120
105
  return { data, width: canvasWidth, height: canvasHeight };
121
106
  }
122
- function greatestCommonDivisor(left, right) {
123
- while (right !== 0) {
124
- const remainder = left % right;
125
- left = right;
126
- right = remainder;
127
- }
128
- return left;
129
- }
130
107
  function boundedPixelBox(width, height, maxBytes) {
131
108
  const maxPixels = maxBytes / 4;
132
109
  const scale = Math.min(1, Math.sqrt(maxPixels / (width * height)));
@@ -0,0 +1,8 @@
1
+ export type TaskNotifications = 'off' | 'unfocused' | 'always';
2
+ export type NotificationMethod = 'auto' | 'osc9' | 'bel';
3
+ /** Terminal-owned notification transport; never writes to redirected output. */
4
+ export declare function createTerminalNotifier(stdout: Pick<NodeJS.WriteStream, 'isTTY' | 'write'>): {
5
+ configure(nextCondition?: TaskNotifications, nextMethod?: NotificationMethod): void;
6
+ notify(title: string, message?: string): void;
7
+ };
8
+ //# sourceMappingURL=terminal-notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-notification.d.ts","sourceRoot":"","sources":["../../../src/ink/terminal-notification.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,CAAA;AAC9D,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAqBxD,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC;8BAK7D,iBAAiB,eAA4B,kBAAkB,GAAY,IAAI;kBAI1F,MAAM,qBAAiB,IAAI;EAuC5C"}
@@ -0,0 +1,83 @@
1
+ import { getTerminalFocused } from './terminal-focus-state.js';
2
+ import { getNotificationProtocol } from './terminal.js';
3
+ import { BEL } from './termio/ansi.js';
4
+ import { OSC, osc, wrapForMultiplexer } from './termio/osc.js';
5
+ import { logForDebugging } from '../utils/debug.js';
6
+ import { getGraphemeSegmenter } from '../utils/intl.js';
7
+ // Ghostty 1.2.3 has a 2048-byte OSC buffer. Counting the entire unwrapped
8
+ // sequence also reserves the introducer and terminator conservatively.
9
+ const MAX_OSC_BYTES = 2048;
10
+ function truncateUtf8(text, maxBytes) {
11
+ if (Buffer.byteLength(text) <= maxBytes)
12
+ return text;
13
+ const suffix = maxBytes >= 3 ? '…' : '';
14
+ const budget = Math.max(0, maxBytes - Buffer.byteLength(suffix));
15
+ let out = '';
16
+ let bytes = 0;
17
+ for (const { segment } of getGraphemeSegmenter().segment(text)) {
18
+ const size = Buffer.byteLength(segment);
19
+ if (bytes + size > budget)
20
+ break;
21
+ out += segment;
22
+ bytes += size;
23
+ }
24
+ return out + suffix;
25
+ }
26
+ /** Terminal-owned notification transport; never writes to redirected output. */
27
+ export function createTerminalNotifier(stdout) {
28
+ let condition = 'unfocused';
29
+ let method = 'auto';
30
+ let notificationId = 0;
31
+ return {
32
+ configure(nextCondition = 'unfocused', nextMethod = 'auto') {
33
+ condition = nextCondition;
34
+ method = nextMethod;
35
+ },
36
+ notify(title, message = '') {
37
+ if (!stdout.isTTY || condition === 'off' || (condition === 'unfocused' && getTerminalFocused()))
38
+ return;
39
+ const resolved = method === 'auto' ? getNotificationProtocol() : method;
40
+ let sequence;
41
+ if (resolved === 'osc777') {
42
+ // OSC 777 separates title and body with semicolons; only the body
43
+ // may contain that delimiter. OSC 9 has no separate title field.
44
+ const titleBudget = MAX_OSC_BYTES - Buffer.byteLength(osc(OSC.GHOSTTY, 'notify', '', ''));
45
+ const safeTitle = truncateUtf8(title.replaceAll(';', ' '), titleBudget);
46
+ const bodyBudget = MAX_OSC_BYTES - Buffer.byteLength(osc(OSC.GHOSTTY, 'notify', safeTitle, ''));
47
+ sequence = osc(OSC.GHOSTTY, 'notify', safeTitle, truncateUtf8(message, bodyBudget));
48
+ }
49
+ else if (resolved === 'osc99') {
50
+ const id = ++notificationId;
51
+ sequence = osc(OSC.KITTY, `i=${id}:d=0:p=title`, title);
52
+ // Kitty caps each raw payload at 2048 UTF-8 bytes. Chunk on code
53
+ // points and mark only the last part done, so it shows one notice.
54
+ const chunks = [];
55
+ let chunk = '';
56
+ let bytes = 0;
57
+ for (const character of message) {
58
+ const size = Buffer.byteLength(character);
59
+ if (bytes + size > 2048) {
60
+ chunks.push(chunk);
61
+ chunk = '';
62
+ bytes = 0;
63
+ }
64
+ chunk += character;
65
+ bytes += size;
66
+ }
67
+ chunks.push(chunk);
68
+ sequence += chunks.map((part, index) => osc(OSC.KITTY, `i=${id}:d=${index === chunks.length - 1 ? 1 : 0}:p=body`, part)).join('');
69
+ }
70
+ else {
71
+ const payload = message ? `${title}: ${message}` : title;
72
+ const budget = MAX_OSC_BYTES - Buffer.byteLength(osc(OSC.ITERM2, ''));
73
+ sequence = resolved === 'bel' ? BEL : osc(OSC.ITERM2, truncateUtf8(payload, budget));
74
+ }
75
+ try {
76
+ stdout.write(resolved === 'bel' ? sequence : wrapForMultiplexer(sequence));
77
+ }
78
+ catch (error) {
79
+ logForDebugging(`terminal notification failed (${error instanceof Error ? error.message : String(error)})`);
80
+ }
81
+ },
82
+ };
83
+ }
@@ -40,6 +40,13 @@ export declare function isJetBrainsIdeTerminal(): boolean;
40
40
  * @returns true when the process runs inside a zellij pane.
41
41
  */
42
42
  export declare function isZellij(): boolean;
43
+ /**
44
+ * Whether DECSCUSR 0 restores the configured shape and blinking. XTerm and
45
+ * older xterm.js instead select a blinking block, so keep their style intact.
46
+ * Multiplexers interpret this sequence themselves; outer-terminal identity
47
+ * is insufficient to opt them in.
48
+ */
49
+ export declare function supportsCursorStyleReset(): boolean;
43
50
  /**
44
51
  * Checks if the terminal supports DEC mode 2026 (synchronized output).
45
52
  * When supported, BSU/ESU sequences prevent visible flicker during redraws.
@@ -52,6 +59,8 @@ export declare function isSynchronizedOutputSupported(): boolean;
52
59
  * @param name - the terminal name reported by the XTVERSION reply.
53
60
  */
54
61
  export declare function setXtversionName(name: string): void;
62
+ /** Notification protocol, using the existing SSH-capable terminal probe. */
63
+ export declare function getNotificationProtocol(): 'osc777' | 'osc99' | 'osc9' | 'bel';
55
64
  /**
56
65
  * True if running in an xterm.js-based terminal (VS Code, Cursor, Windsurf
57
66
  * integrated terminals). Combines TERM_PROGRAM env check (fast, sync, but
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/ink/terminal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAKtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAYtC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,eAAe,CAAA;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAuCtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAwDvD;AAcD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,WAAW,GAAE,MAAM,GAAG,SAAoC,EAC1D,kBAAkB,GAAE,MAAM,GAAG,SAA4C,GACxE,OAAO,CAOT;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAkC,CAAA;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAuBD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,QAAQ,CAAA;IAChB,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED;;;;;;;GAOG;AACH;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,eAAe,UAAQ,GACtB,MAAM,CAwFR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,eAAe,UAAQ,GACtB,IAAI,CAMN"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/ink/terminal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAKtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAYtC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,eAAe,CAAA;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAuCtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAUlD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAwDvD;AAcD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,IAAI,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAQ7E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,WAAW,GAAE,MAAM,GAAG,SAAoC,EAC1D,kBAAkB,GAAE,MAAM,GAAG,SAA4C,GACxE,OAAO,CAOT;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAkC,CAAA;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAuBD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,QAAQ,CAAA;IAChB,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED;;;;;;;GAOG;AACH;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,eAAe,UAAQ,GACtB,MAAM,CAwFR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,eAAe,UAAQ,GACtB,IAAI,CAMN"}
@@ -1,4 +1,4 @@
1
- import { coerce } from 'semver';
1
+ import coerce from 'semver/functions/coerce.js';
2
2
  import { appendFileSync } from 'node:fs';
3
3
  import { env } from '../utils/env.js';
4
4
  import { gte } from '../utils/semver.js';
@@ -73,6 +73,26 @@ export function isJetBrainsIdeTerminal() {
73
73
  export function isZellij() {
74
74
  return !!process.env.ZELLIJ;
75
75
  }
76
+ /**
77
+ * Whether DECSCUSR 0 restores the configured shape and blinking. XTerm and
78
+ * older xterm.js instead select a blinking block, so keep their style intact.
79
+ * Multiplexers interpret this sequence themselves; outer-terminal identity
80
+ * is insufficient to opt them in.
81
+ */
82
+ export function supportsCursorStyleReset() {
83
+ if (process.env.TMUX || isZellij())
84
+ return false;
85
+ const program = process.env.TERM_PROGRAM;
86
+ const term = process.env.TERM;
87
+ if (program === 'WezTerm' || program === 'ghostty')
88
+ return true;
89
+ if (term === 'xterm-kitty' || term === 'xterm-ghostty' || process.env.KITTY_WINDOW_ID)
90
+ return true;
91
+ // Some embedded hosts advertise the xterm.js engine version as vscode's
92
+ // version. Native VS Code's 1.x version does not identify the engine.
93
+ const version = coerce(process.env.TERM_PROGRAM_VERSION);
94
+ return program === 'vscode' && version !== null && version.major >= 6;
95
+ }
76
96
  /**
77
97
  * Checks if the terminal supports DEC mode 2026 (synchronized output).
78
98
  * When supported, BSU/ESU sequences prevent visible flicker during redraws.
@@ -150,6 +170,19 @@ export function setXtversionName(name) {
150
170
  if (xtversionName === undefined)
151
171
  xtversionName = name;
152
172
  }
173
+ /** Notification protocol, using the existing SSH-capable terminal probe. */
174
+ export function getNotificationProtocol() {
175
+ const program = process.env.TERM_PROGRAM?.toLowerCase();
176
+ const term = process.env.TERM;
177
+ const probed = xtversionName ?? '';
178
+ if (program === 'ghostty' || program === 'wezterm' || term === 'xterm-ghostty' || /^(ghostty|wezterm)\b/i.test(probed))
179
+ return 'osc777';
180
+ if (program === 'kitty' || term === 'xterm-kitty' || /^kitty\b/i.test(probed))
181
+ return 'osc99';
182
+ if (program === 'iterm.app' || program === 'warpterminal' || /^(iterm2?|warp(?:terminal)?)\b/i.test(probed))
183
+ return 'osc9';
184
+ return 'bel';
185
+ }
153
186
  /**
154
187
  * True if running in an xterm.js-based terminal (VS Code, Cursor, Windsurf
155
188
  * integrated terminals). Combines TERM_PROGRAM env check (fast, sync, but
@@ -97,6 +97,17 @@ export declare const CURSOR_STYLES: Array<{
97
97
  style: CursorStyle;
98
98
  blinking: boolean;
99
99
  }>;
100
+ /**
101
+ * Set cursor style (DECSCUSR, `CSI Ps SP q`).
102
+ *
103
+ * Ps couples shape and blink: 0 = blinking block in XTerm (some terminals
104
+ * restore user settings instead), 1/3/5 = blinking
105
+ * block/underline/bar, 2/4/6 = the same shapes steady (see `CURSOR_STYLES`).
106
+ *
107
+ * @param ps - DECSCUSR parameter.
108
+ * @returns the CSI sequence.
109
+ */
110
+ export declare function cursorStyle(ps: number): string;
100
111
  /**
101
112
  * Move cursor up n lines (CSI n A).
102
113
  * @param n - number of lines to move; defaults to 1.
@@ -1 +1 @@
1
- {"version":3,"file":"csi.d.ts","sourceRoot":"","sources":["../../../../src/ink/termio/csi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csi.d.ts","sourceRoot":"","sources":["../../../../src/ink/termio/csi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,kDAAkD;AAClD,eAAO,MAAM,UAAU,QAA0C,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAMxD;AAED;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CN,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,aAAa,oDAAqD,CAAA;AAE/E;;GAEG;AACH,eAAO,MAAM,iBAAiB,sCAAuC,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAQ1E,CAAA;AAID;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAI,GAAG,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAI,GAAG,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAI,GAAG,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAI,GAAG,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,sCAAsC;AACtC,eAAO,MAAM,WAAW,QAAW,CAAA;AAEnC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,2CAA2C;AAC3C,eAAO,MAAM,WAAW,QAAW,CAAA;AAEnC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAevD;AAID,mCAAmC;AACnC,eAAO,MAAM,WAAW,QAAW,CAAA;AAEnC,sCAAsC;AACtC,eAAO,MAAM,cAAc,QAAW,CAAA;AAItC;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wCAAwC;AACxC,eAAO,MAAM,UAAU,QAAc,CAAA;AAErC;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,QAAc,CAAA;AAEvC,wCAAwC;AACxC,eAAO,MAAM,gBAAgB,QAAc,CAAA;AAE3C;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAW5C;AAED;;;0DAG0D;AAC1D,eAAO,MAAM,SAAS,QAAc,CAAA;AAIpC;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAI,GAAG,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAI,GAAG,MAAM,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,QAAW,CAAA;AAM3C,yDAAyD;AACzD,eAAO,MAAM,WAAW,QAAc,CAAA;AAEtC,wDAAwD;AACxD,eAAO,MAAM,SAAS,QAAc,CAAA;AAMpC,mDAAmD;AACnD,eAAO,MAAM,QAAQ,QAAW,CAAA;AAEhC,mDAAmD;AACnD,eAAO,MAAM,SAAS,QAAW,CAAA;AAMjC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAa,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAY,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAe,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAa,CAAA;AAanD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAgB,CAAA;AAEpD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAgB,CAAA"}
@@ -121,6 +121,19 @@ export const CURSOR_STYLES = [
121
121
  { style: 'bar', blinking: false }, // 6
122
122
  ];
123
123
  // Cursor movement generators
124
+ /**
125
+ * Set cursor style (DECSCUSR, `CSI Ps SP q`).
126
+ *
127
+ * Ps couples shape and blink: 0 = blinking block in XTerm (some terminals
128
+ * restore user settings instead), 1/3/5 = blinking
129
+ * block/underline/bar, 2/4/6 = the same shapes steady (see `CURSOR_STYLES`).
130
+ *
131
+ * @param ps - DECSCUSR parameter.
132
+ * @returns the CSI sequence.
133
+ */
134
+ export function cursorStyle(ps) {
135
+ return `${CSI_PREFIX}${ps} q`;
136
+ }
124
137
  /**
125
138
  * Move cursor up n lines (CSI n A).
126
139
  * @param n - number of lines to move; defaults to 1.
@@ -91,5 +91,11 @@ export declare function registerProcessGuardFatalSink(sink: ProcessGuardFatalSin
91
91
  * reasons (including non-Error values) are returned unchanged.
92
92
  */
93
93
  export declare function fatalReasonForExit(error: unknown, origin: ProcessGuardOrigin): unknown;
94
+ /** Absorb one more error class at the process level (the absorber logs what
95
+ * it takes); returns the unregister handle. */
96
+ export declare function addProcessErrorAbsorber(absorb: (error: unknown) => boolean): () => void;
97
+ /** Whether the guard's process listeners are installed; the standalone entry
98
+ * drops DSH's fail-loud handlers only then (src/dsh-adapter/process-exit.ts). */
99
+ export declare function processGuardActive(): boolean;
94
100
  export declare function installNestedUpdateOverflowProcessGuard(): void;
95
101
  //# sourceMappingURL=update-overflow-guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-overflow-guard.d.ts","sourceRoot":"","sources":["../../../src/ink/update-overflow-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAoBH,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;AAOjD,+CAA+C;AAC/C,wBAAgB,+BAA+B,IAAI,IAAI,CAItD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAEnF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAmDnF;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAOtF;AAaD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO,CAK/E;AAWD,mEAAmE;AACnE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED,yEAAyE;AACzE,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;AAE3E;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAA;AAG3F,gEAAgE;AAChE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,GAAG,IAAI,CAE3F;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEtF;AAiBD,wBAAgB,uCAAuC,IAAI,IAAI,CAgB9D"}
1
+ {"version":3,"file":"update-overflow-guard.d.ts","sourceRoot":"","sources":["../../../src/ink/update-overflow-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAoBH,2EAA2E;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;AAOjD,+CAA+C;AAC/C,wBAAgB,+BAA+B,IAAI,IAAI,CAItD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAEnF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAmDnF;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAOtF;AAaD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO,CAK/E;AAWD,mEAAmE;AACnE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED,yEAAyE;AACzE,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;AAE3E;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAA;AAG3F,gEAAgE;AAChE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,GAAG,IAAI,CAE3F;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEtF;AAkBD;gDACgD;AAChD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,IAAI,CAGvF;AAED;kFACkF;AAClF,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AACD,wBAAgB,uCAAuC,IAAI,IAAI,CAkB9D"}
@@ -202,6 +202,19 @@ export function fatalReasonForExit(error, origin) {
202
202
  * a host owns process error policy.
203
203
  */
204
204
  let processGuardInstalled = false;
205
+ const processErrorAbsorbers = new Set();
206
+ /** Absorb one more error class at the process level (the absorber logs what
207
+ * it takes); returns the unregister handle. */
208
+ export function addProcessErrorAbsorber(absorb) {
209
+ processErrorAbsorbers.add(absorb);
210
+ return () => { processErrorAbsorbers.delete(absorb); };
211
+ }
212
+ const absorbedByCaller = (error) => [...processErrorAbsorbers].some(absorb => absorb(error));
213
+ /** Whether the guard's process listeners are installed; the standalone entry
214
+ * drops DSH's fail-loud handlers only then (src/dsh-adapter/process-exit.ts). */
215
+ export function processGuardActive() {
216
+ return processGuardInstalled;
217
+ }
205
218
  export function installNestedUpdateOverflowProcessGuard() {
206
219
  if (processGuardInstalled)
207
220
  return;
@@ -211,6 +224,8 @@ export function installNestedUpdateOverflowProcessGuard() {
211
224
  process.on('uncaughtException', error => {
212
225
  if (swallowNestedUpdateOverflow(error, 'process.uncaught'))
213
226
  return;
227
+ if (absorbedByCaller(error))
228
+ return;
214
229
  if (fatalSink?.(error, 'uncaughtException') === true)
215
230
  return;
216
231
  // Unknown errors keep Node's default semantics: rethrowing from a
@@ -220,6 +235,8 @@ export function installNestedUpdateOverflowProcessGuard() {
220
235
  process.on('unhandledRejection', error => {
221
236
  if (swallowNestedUpdateOverflow(error, 'process.rejection'))
222
237
  return;
238
+ if (absorbedByCaller(error))
239
+ return;
223
240
  if (fatalSink?.(error, 'unhandledRejection') === true)
224
241
  return;
225
242
  throw error;
@@ -1,4 +1,10 @@
1
1
  import type { Styles } from './styles.js';
2
+ /** Pre-wrapped display rows; keep source newlines and omitted copy separators. */
3
+ export declare function wrapTextLines(text: string, maxWidth: number, wrapLine?: (line: string) => string): {
4
+ text: string;
5
+ continuation: boolean;
6
+ gap: boolean;
7
+ }[];
2
8
  /**
3
9
  * Wrap or truncate text to a maximum width according to a textWrap style.
4
10
  * @param text - the text to fit.
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-text.d.ts","sourceRoot":"","sources":["../../../src/ink/wrap-text.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAyFzC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,GAC3B,MAAM,CAoCR"}
1
+ {"version":3,"file":"wrap-text.d.ts","sourceRoot":"","sources":["../../../src/ink/wrap-text.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOzC,kFAAkF;AAClF,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAiD,GAC5E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,EAAE,CAczD;AAqFD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,GAC3B,MAAM,CAoCR"}
@@ -2,7 +2,24 @@ import sliceAnsi from '../utils/sliceAnsi.js';
2
2
  import { stringWidth } from './stringWidth.js';
3
3
  import { wrapAnsi } from './wrapAnsi.js';
4
4
  import { noteWrapCompute } from './render-stats.js';
5
+ import stripAnsi from 'strip-ansi';
5
6
  const ELLIPSIS = '…';
7
+ /** Pre-wrapped display rows; keep source newlines and omitted copy separators. */
8
+ export function wrapTextLines(text, maxWidth, wrapLine = line => wrapText(line, maxWidth, 'wrap')) {
9
+ return text.split('\n').flatMap(sourceLine => {
10
+ const pieces = wrapLine(sourceLine).split('\n');
11
+ return pieces.map((line, index) => {
12
+ // Blank rows keep their width for copy joins and trailing trim.
13
+ const gap = index > 0 && stringWidth(pieces[index - 1]) === maxWidth
14
+ && stripAnsi(line).startsWith(' ') && stringWidth(stripAnsi(line).trim()) > 0;
15
+ return {
16
+ text: gap ? sliceAnsi(line, 1, stringWidth(line)) : line,
17
+ continuation: index > 0,
18
+ gap,
19
+ };
20
+ });
21
+ });
22
+ }
6
23
  // --- cross-mount wrap cache ------------------------------------------------
7
24
  // wrapText is pure: (text, maxWidth, wrapType) deterministically maps to one
8
25
  // output string. Yet before this cache every consumer re-wrapped from