@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
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { rememberImagePath, transcriptImageFromAttachment } from '../transcript-images.js';
3
- import { probeImageSize, adaptImageForAdmission, withinDimensionLimits } from '../../utils/imageResize.js';
3
+ import { probeImageSize, sniffImageMediaType, adaptImageForAdmission, withinDimensionLimits } from '../../utils/imageResize.js';
4
+ import { logForDebugging } from '../../utils/debug.js';
4
5
  import { mentionAttachments } from './mentions.js';
5
6
  /** Every visible composer placeholder token, in source order. */
6
7
  export const COMPOSER_IMAGE_TOKEN = /\[Image #\d+\]/gu;
@@ -58,7 +59,7 @@ function admissionFailure(outcome, context) {
58
59
  case 'animated-unsupported':
59
60
  return `resizing or converting this animated image cannot keep its frames (${outcome.detail})`;
60
61
  default:
61
- return `image could not be decoded to resize or convert it (${outcome.detail})`;
62
+ return `the pasted image data could not be decoded (${outcome.detail})`;
62
63
  }
63
64
  }
64
65
  /** A store-reported pixel dimension, or the gate's own value when the store
@@ -102,18 +103,25 @@ export function createComposerImages(ctx, owner, deps) {
102
103
  * point re-checks it, so a replacement session revokes the old draft's
103
104
  * capabilities BEFORE any subscriber can observe it — the invariant the
104
105
  * single-file channel got by clearing immediately after the agent rebind,
105
- * made independent of the caller's ordering. */
106
+ * made independent of the caller's ordering. The empty startup session's
107
+ * first real binding retains the same draft and image epoch. */
106
108
  let syncedGeneration;
109
+ let syncedSessionId;
107
110
  const syncSession = () => {
108
111
  const generation = deps.generation();
112
+ const sessionId = deps.sessionId?.();
109
113
  if (syncedGeneration === undefined) {
110
114
  syncedGeneration = generation;
115
+ syncedSessionId = sessionId;
111
116
  return;
112
117
  }
113
118
  if (generation === syncedGeneration)
114
119
  return;
120
+ const startupAdoption = syncedSessionId === '' && sessionId !== undefined && sessionId !== '';
115
121
  syncedGeneration = generation;
116
- clearStagedImages();
122
+ syncedSessionId = sessionId;
123
+ if (!startupAdoption)
124
+ clearStagedImages();
117
125
  };
118
126
  const includeLegacyImageRefs = (text, images) => {
119
127
  if (legacyStagedImageRefs.size === 0)
@@ -168,6 +176,16 @@ export function createComposerImages(ctx, owner, deps) {
168
176
  const pixelCap = attachments.imageLimits.maxImagePixels;
169
177
  let mediaType = input.mediaType;
170
178
  let data = input.data;
179
+ // The content wins over the declared label — the same rule the local
180
+ // image store applies (channel/core/local-images.ts): a paste declares
181
+ // its media type from the filename, and a renamed or mis-exported file
182
+ // (a wechat download, a re-saved screenshot) would otherwise be judged
183
+ // and stored under a type its bytes contradict. The sniff reads magic
184
+ // bytes only; content it cannot identify keeps the declared label and
185
+ // takes the decode-or-refuse path below.
186
+ const sniffed = sniffImageMediaType(data);
187
+ if (sniffed !== undefined && sniffed !== mediaType)
188
+ mediaType = sniffed;
171
189
  let adapted;
172
190
  if (typeof dimensionCap === 'number' && typeof pixelCap === 'number'
173
191
  && Number.isFinite(dimensionCap) && Number.isFinite(pixelCap)) {
@@ -197,8 +215,21 @@ export function createComposerImages(ctx, owner, deps) {
197
215
  // (measured oversize, unaccepted format, decode failure, animation
198
216
  // that cannot survive) is a refusal we can state now.
199
217
  const degraded = outcome.reason === 'sharp-missing' && sourceAccepted && !knownOversize;
200
- if (!degraded)
218
+ if (!degraded) {
219
+ // The refused bytes are the only forensic handle on a "could not
220
+ // be decoded" paste — the temp export is unlinked right after —
221
+ // so an opted-in run records what the gate actually saw.
222
+ logForDebugging('image ingress refused', {
223
+ reason: outcome.reason,
224
+ detail: outcome.detail,
225
+ declared: input.mediaType,
226
+ sniffed,
227
+ bytes: data.byteLength,
228
+ prefix: Buffer.from(data.subarray(0, 16)).toString('hex'),
229
+ ...(input.name === undefined ? {} : { name: input.name }),
230
+ });
201
231
  throw new Error(admissionFailure(outcome, { probe, mediaType, limits: dimensionLimits }));
232
+ }
202
233
  }
203
234
  }
204
235
  }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The ChannelHost a Cordis plugin context provides. Root-keyed registries
3
+ * (adapter runtime, decision gate and handlers, local settings sections) stay
4
+ * keyed on the Cordis root, so the extensions row that also installs the gate
5
+ * meets the channel on one registry.
6
+ */
7
+ import type { Context } from '@deepseek-ai/cordis';
8
+ import type { ChannelHost } from './channel-host.js';
9
+ /**
10
+ * @param services - Services served in place of the context's own (the
11
+ * TUI's file-backed `settings`, ../tui-settings.ts).
12
+ */
13
+ export declare function cordisChannelHost(ctx: Context, services?: Readonly<Record<string, unknown>>): ChannelHost;
14
+ //# sourceMappingURL=cordis-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cordis-host.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/cordis-host.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GAAG,WAAW,CA2B7G"}
@@ -0,0 +1,35 @@
1
+ import { adapterRuntimeFor } from '../../adapter/kernel/runtime-context.js';
2
+ import { installDecisionGuard, markDecisionDispatchTopology } from '../decision-guard.js';
3
+ import { dispatchTuiDecision, dispatchTuiNotification } from '../extension-events.js';
4
+ import { getLocalSettingsSectionsHost } from '../settings-sections.js';
5
+ /**
6
+ * @param services - Services served in place of the context's own (the
7
+ * TUI's file-backed `settings`, ../tui-settings.ts).
8
+ */
9
+ export function cordisChannelHost(ctx, services = {}) {
10
+ const withEffect = ctx;
11
+ return {
12
+ get: name => Object.hasOwn(services, name) ? services[name] : ctx.get(name),
13
+ // Read per use.
14
+ get logger() { return ctx.logger; },
15
+ runtime: adapterRuntimeFor(ctx),
16
+ // Bare embedders (scripts) mount without the effect capability.
17
+ ...(withEffect.effect === undefined ? {} : {
18
+ effect: (setup, label) => { withEffect.effect?.call(ctx, setup, label); },
19
+ }),
20
+ onAgentPreStep: listener => ctx.on('agent/pre-step', listener),
21
+ dispatchDecision: (name, payload, normalize) => dispatchTuiDecision(ctx, name, payload, normalize),
22
+ dispatchNotification: (name, payload) => dispatchTuiNotification(ctx, name, payload),
23
+ installDecisionGuard: grants => { installDecisionGuard(ctx, grants); },
24
+ markDecisionDispatchTopology: () => markDecisionDispatchTopology(ctx),
25
+ localSettingsSections: () => getLocalSettingsSectionsHost(ctx),
26
+ // Cordis announces every service change on the root; bare embedders
27
+ // (scripts) without `on` hear nothing.
28
+ ...(typeof ctx.on !== 'function' ? {} : {
29
+ watchServices: listener => ctx.on('internal/service', ((name) => {
30
+ if (typeof name === 'string')
31
+ listener(name);
32
+ })),
33
+ }),
34
+ };
35
+ }
@@ -22,18 +22,18 @@ import type { ChannelState } from '../types.js';
22
22
  export declare function createCapabilityDelegates(deps: {
23
23
  owner: Pick<ChannelOwner, 'current'>;
24
24
  session(): AgentSession;
25
- state: () => Pick<ChannelState, 'provider' | 'backendCapabilities'>;
25
+ state: () => Pick<ChannelState, 'provider' | 'model' | 'backendCapabilities'>;
26
26
  notify: ChannelState['notify'];
27
27
  unavailable(name: string): void;
28
28
  unavailableLines(name: string): string[];
29
29
  guarded<T>(name: string, fallback: T, run: () => Promise<T>): Promise<T>;
30
30
  }): Partial<ChannelActionDelegates>;
31
- /** Merge the layers and install them once. */
31
+ /** Merge the layers and install them (`replace`: the adoption-window reinstall, core/compose.ts). */
32
32
  export declare function installChannelActions(readiness: ReturnType<typeof createChannelActionReadiness>, layers: {
33
33
  unavailable(name: string): void;
34
34
  unavailableLines(name: string): string[];
35
35
  capability: Partial<ChannelActionDelegates>;
36
36
  core: Partial<ChannelActionDelegates>;
37
37
  extension: Partial<ChannelActionDelegates> | undefined;
38
- }): void;
38
+ }, replace?: boolean): void;
39
39
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAG7D,OAAO,EAAoC,KAAK,sBAAsB,EAAE,KAAK,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AACzI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,OAAO,IAAI,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,qBAAqB,CAAC,CAAA;IACnE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACzE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0GlC;AAED,8CAA8C;AAC9C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,EAC1D,MAAM,EAAE;IACN,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxC,UAAU,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC3C,IAAI,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACrC,SAAS,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAA;CACvD,GACA,IAAI,CAON"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAG7D,OAAO,EAAoC,KAAK,sBAAsB,EAAE,KAAK,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AACzI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACpC,OAAO,IAAI,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,GAAG,qBAAqB,CAAC,CAAA;IAC7E,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACzE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmHlC;AAED,qGAAqG;AACrG,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,EAC1D,MAAM,EAAE;IACN,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxC,UAAU,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC3C,IAAI,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACrC,SAAS,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAA;CACvD,EACD,OAAO,UAAQ,GACd,IAAI,CAON"}
@@ -36,8 +36,7 @@ export function createCapabilityDelegates(deps) {
36
36
  unavailable('model');
37
37
  return [];
38
38
  }
39
- // One provider: the backend itself (the picker drills straight into
40
- // its models; `/model <id>` needs no provider segment).
39
+ // One provider: the backend itself; `/model <id>` needs no provider segment.
41
40
  const provider = deps.state().provider;
42
41
  return (await models.list()).map(model => ({ provider: model.provider ?? provider, id: model.id, name: model.label, ...(model.description === undefined ? {} : { description: model.description }) }));
43
42
  }),
@@ -54,8 +53,18 @@ export function createCapabilityDelegates(deps) {
54
53
  notify(outcome.reason, { color: 'warning' });
55
54
  return outcome.kind === 'switched';
56
55
  }),
57
- listEfforts: () => {
56
+ listEfforts: route => {
58
57
  const effort = caps().effort;
58
+ if (route !== undefined) {
59
+ const state = deps.state();
60
+ const preview = effort?.forModel?.(route);
61
+ const live = route.provider === state.provider && route.model === state.model;
62
+ return Promise.resolve({
63
+ efforts: (preview?.levels ?? (live ? effort?.levels() : undefined) ?? []).map(level => ({ id: level.id, name: level.label })),
64
+ defaultEffort: preview?.defaultEffort ?? (live ? effort?.current() : undefined),
65
+ ...((preview?.levelsFallback ?? (live ? effort?.levelsFallback : undefined)) === true ? { levelsFallback: true } : {}),
66
+ });
67
+ }
59
68
  if (effort === undefined) {
60
69
  unavailable('effort');
61
70
  return Promise.resolve({ efforts: [], defaultEffort: undefined });
@@ -141,9 +150,9 @@ export function createCapabilityDelegates(deps) {
141
150
  },
142
151
  };
143
152
  }
144
- /** Merge the layers and install them once. */
145
- export function installChannelActions(readiness, layers) {
146
- readiness.install({
153
+ /** Merge the layers and install them (`replace`: the adoption-window reinstall, core/compose.ts). */
154
+ export function installChannelActions(readiness, layers, replace = false) {
155
+ readiness[replace ? 'reinstall' : 'install']({
147
156
  ...createUnavailableActionDelegates(layers.unavailable, layers.unavailableLines),
148
157
  ...layers.capability,
149
158
  ...layers.core,
@@ -16,7 +16,7 @@
16
16
  * `ownsSessionFacts`, and adds its raw per-binding listeners through
17
17
  * `onBind`.
18
18
  */
19
- import type { Context } from '@deepseek-ai/cordis';
19
+ import type { ChannelHostLogger } from '../channel-host.js';
20
20
  import type { AgentEvent, AgentEventMeta, AgentEventOf } from '../../../agent/events.js';
21
21
  import type { AgentSession } from '../../../agent/session.js';
22
22
  import { type ChannelProjection, type ChannelProjectionDeps } from '../../../channel/projection.js';
@@ -24,6 +24,7 @@ import type { BindingCapture, ChannelBinding } from '../binding.js';
24
24
  import type { InputConvergence } from '../input-actions.js';
25
25
  import type { ChannelOwner } from '../owner.js';
26
26
  import type { ChannelLaunchOptions } from '../state.js';
27
+ import { createTaskCompletion } from '../task-completion.js';
27
28
  import type { ChannelState } from '../types.js';
28
29
  import type { SessionControls } from './session-controls.js';
29
30
  /** What one bind hands an extension's per-binding listeners. */
@@ -47,6 +48,8 @@ export interface BindingFeedHooks {
47
48
  readonly ownsSessionFacts?: boolean;
48
49
  /** Forget the bound session's translator state with the projector's. */
49
50
  resetTranslation?(): void;
51
+ /** A live transaction observes its own progress across foreground rebinds. */
52
+ ownsCompactionProgress?(): boolean;
50
53
  }
51
54
  /**
52
55
  * The one session-batch writer path, shared by every channel composition:
@@ -65,7 +68,9 @@ export declare function createSessionBatchRouter(deps: {
65
68
  * the events before it in the batch are projected first, those after it
66
69
  * land on the cleared view. Absent = the event is projected (ignored). */
67
70
  onReset?(event: AgentEventOf<'session.reset'>): void;
71
+ ownsCompactionProgress?(): boolean;
68
72
  warn(message: string): void;
73
+ taskCompletion?: ReturnType<typeof createTaskCompletion>;
69
74
  }): {
70
75
  route: (batch: readonly AgentEvent[], meta: AgentEventMeta, current: () => boolean) => void;
71
76
  reconcileRetiredProjection: (status: "idle" | "disposed") => void;
@@ -98,11 +103,13 @@ export declare function createSessionBinder(deps: {
98
103
  }): {
99
104
  bind: (seed?: readonly AgentEvent[]) => void;
100
105
  };
101
- export declare function createBindingFeed(ctx: Context, deps: {
106
+ export declare function createBindingFeed(ctx: {
107
+ readonly logger: ChannelHostLogger;
108
+ }, deps: {
102
109
  owner: ChannelOwner;
103
110
  binding: ChannelBinding;
104
111
  state: ChannelState;
105
- options: Pick<ChannelLaunchOptions, 'interaction'>;
112
+ options: Pick<ChannelLaunchOptions, 'interaction' | 'onTaskComplete'>;
106
113
  inputConvergence: InputConvergence;
107
114
  /** The projector's channel-side dependencies; `jobs` and `pricingWindow`
108
115
  * stay writable until the channel starts (`configureProjection`). */
@@ -1 +1 @@
1
- {"version":3,"file":"binding-feed.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/binding-feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding-feed.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/binding-feed.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { attachInteraction } from '../../../channel/interaction.js';
2
2
  import { createChannelProjection } from '../../../channel/projection.js';
3
3
  import { logForDebugging } from '../../../utils/debug.js';
4
+ import { createTaskCompletion } from '../task-completion.js';
4
5
  /**
5
6
  * The one session-batch writer path, shared by every channel composition:
6
7
  * binding-generation fence over the whole batch, session status and
@@ -82,7 +83,7 @@ export function createSessionBatchRouter(deps) {
82
83
  case 'compaction.progress':
83
84
  // Summary output only advances a compaction row that is open; a
84
85
  // stale stream after the row closed finds nothing to advance.
85
- if (deps.state.compaction === undefined) {
86
+ if (deps.state.compaction === undefined || deps.ownsCompactionProgress?.()) {
86
87
  admitted ??= batch.slice(0, index);
87
88
  continue;
88
89
  }
@@ -126,6 +127,7 @@ export function createSessionBatchRouter(deps) {
126
127
  deps.state.emitStream();
127
128
  else if (meta.wake !== 'none')
128
129
  deps.state.emit();
130
+ deps.taskCompletion?.(events, meta, current);
129
131
  };
130
132
  return { route, reconcileRetiredProjection, turnStarts: () => turnStarts };
131
133
  }
@@ -210,8 +212,10 @@ export function createBindingFeed(ctx, deps) {
210
212
  projector,
211
213
  inputConvergence,
212
214
  retireAttachment: deps.retireAttachment,
215
+ ownsCompactionProgress: () => deps.hooks().ownsCompactionProgress?.() ?? false,
213
216
  ...(deps.onReset === undefined ? {} : { onReset: deps.onReset }),
214
217
  warn: message => ctx.logger.warn(message),
218
+ taskCompletion: deps.options.onTaskComplete === undefined ? undefined : createTaskCompletion(state, owner, deps.options.onTaskComplete),
215
219
  });
216
220
  /** Forget every per-session projection ledger: the projector's and the
217
221
  * bound session translator's, together. */
@@ -1,26 +1,5 @@
1
- /**
2
- * The backend-neutral channel core: one composition for every
3
- * `AgentSession`, whatever backend serves it.
4
- *
5
- * `createCoreChannel` acquires, in one owner transaction, the binding, the
6
- * host seams and decision gate, the emitter, notifications, context
7
- * bookkeeping, the IDE selection link, the composer and input pipeline (FIFO,
8
- * `tui/input` decisions, `@` mentions, staged images, IDE selection) ending in
9
- * `session.submit`, the shared projector feed, session switching (`/new`),
10
- * local actions, files, reports and the capability-backed actions, and builds
11
- * the common half of the `ChannelState`. Nothing is subscribed and no action
12
- * is callable yet.
13
- *
14
- * An extension (the DSH extensions, `../extensions.ts`) then `extend`s the
15
- * core: hooks into the feed and the emitter, state fields it serves, and its
16
- * action delegates on top of the core's. `start()` installs the action table
17
- * once, starts the runtime subscriptions, binds the session, and hands the
18
- * channel lifetime to Cordis. A session no extension claims is served by the
19
- * core alone: every action is backed by a capability, the core, or explicitly
20
- * unavailable.
21
- */
22
- import type { Context } from '@deepseek-ai/cordis';
23
1
  import type { AgentCapabilities } from '../../../adapter/ports/channel-capabilities.js';
2
+ import type { AgentEvent } from '../../../agent/events.js';
24
3
  import type { AgentSession } from '../../../agent/session.js';
25
4
  import { type ChannelActionDelegates } from '../action-readiness.js';
26
5
  import { type InputConvergence } from '../input-actions.js';
@@ -30,6 +9,7 @@ import type { ChannelState } from '../types.js';
30
9
  import { type BindingFeedHooks } from './binding-feed.js';
31
10
  import { type CompletionCatalog } from './files.js';
32
11
  import { type CoreHost } from './host.js';
12
+ import type { ChannelHost } from '../channel-host.js';
33
13
  import { type NewSessionOpener, type ResumeSessionOpener } from './session-switch.js';
34
14
  /**
35
15
  * What an extension contributes (every member optional; `extend` merges, a
@@ -87,7 +67,7 @@ export interface ChannelExtension {
87
67
  }
88
68
  /** The core as an extension sees it. */
89
69
  export type CoreChannel = ReturnType<typeof createCoreChannel>;
90
- export declare function createCoreChannel(ctx: Context, initialSession: AgentSession, options: ChannelLaunchOptions, owner: ChannelOwner): {
70
+ export declare function createCoreChannel(ctx: ChannelHost, initialSession: AgentSession, options: ChannelLaunchOptions, owner: ChannelOwner): {
91
71
  state: ChannelState;
92
72
  owner: {
93
73
  current: () => boolean;
@@ -157,7 +137,7 @@ export declare function createCoreChannel(ctx: Context, initialSession: AgentSes
157
137
  inputConvergence: InputConvergence;
158
138
  feed: {
159
139
  projector: {
160
- apply: (events: readonly import("../../../agent/events.js").AgentEvent[], meta: import("../../../agent/events.js").AgentEventMeta) => void;
140
+ apply: (events: readonly AgentEvent[], meta: import("../../../agent/events.js").AgentEventMeta) => void;
161
141
  reset: () => void;
162
142
  settleStreaming: () => void;
163
143
  updateSpinnerMode: () => void;
@@ -173,11 +153,11 @@ export declare function createCoreChannel(ctx: Context, initialSession: AgentSes
173
153
  } | undefined;
174
154
  };
175
155
  router: {
176
- route: (batch: readonly import("../../../agent/events.js").AgentEvent[], meta: import("../../../agent/events.js").AgentEventMeta, current: () => boolean) => void;
156
+ route: (batch: readonly AgentEvent[], meta: import("../../../agent/events.js").AgentEventMeta, current: () => boolean) => void;
177
157
  reconcileRetiredProjection: (status: "idle" | "disposed") => void;
178
158
  turnStarts: () => number;
179
159
  };
180
- bind: (seed?: readonly import("../../../agent/events.js").AgentEvent[]) => void;
160
+ bind: (seed?: readonly AgentEvent[]) => void;
181
161
  resetProjection: () => void;
182
162
  configureProjection(update: Partial<Pick<import("../../../channel/projection.js").ChannelProjectionDeps, "jobs" | "pricingWindow">>): void;
183
163
  };
@@ -190,7 +170,9 @@ export declare function createCoreChannel(ctx: Context, initialSession: AgentSes
190
170
  local: {
191
171
  loadOlder(): number;
192
172
  clear(): void;
193
- pushLocal(title: string, lines: readonly string[]): void;
173
+ pushLocal(title: string, lines: readonly string[], options?: {
174
+ readonly lineLimit?: number;
175
+ }): void;
194
176
  setActivityFrames: (name: string) => boolean;
195
177
  runLocalCommand(command: string, includeInContext: boolean): Promise<void>;
196
178
  };
@@ -209,8 +191,10 @@ export declare function createCoreChannel(ctx: Context, initialSession: AgentSes
209
191
  };
210
192
  resetIdeSelection: () => void;
211
193
  refreshGitBranch: () => void;
212
- /** Merge an extension's contributions (before `start`). */
194
+ /** Merge an extension's contributions (before `start`, or in the adoption window). */
213
195
  extend(next: ChannelExtension): void;
196
+ /** Register (before `start`) the adoption-window hook (see `adoptHook`). */
197
+ extendOnAdopt(hook: (session: AgentSession) => void): void;
214
198
  /** Install the actions, start the runtime, bind the session. */
215
199
  start(): ChannelState;
216
200
  };
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/dsh-adapter/channel/core/compose.ts"],"names":[],"mappings":"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"}