@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 +1 @@
1
- {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../src/agent/refs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,QAAQ,CAAA;AAEvC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CAU/F;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAE9E"}
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../src/agent/refs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,QAAQ,CAAA;AAEvC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CAU/F;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAE9E"}
@@ -0,0 +1,4 @@
1
+ import type { AgentSession } from './session.js';
2
+ /** A placeholder session of `backendId` in `cwd`; its session id is empty. */
3
+ export declare function createStartingSession(backendId: string, cwd: string): AgentSession;
4
+ //# sourceMappingURL=starting-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starting-session.d.ts","sourceRoot":"","sources":["../../../src/agent/starting-session.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,cAAc,CAAA;AAEpE,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CAiBlF"}
@@ -0,0 +1,19 @@
1
+ /** A placeholder session of `backendId` in `cwd`; its session id is empty. */
2
+ export function createStartingSession(backendId, cwd) {
3
+ const ref = { backendId, sessionId: '' };
4
+ let status = 'starting';
5
+ return {
6
+ ref,
7
+ cwd,
8
+ get status() { return status; },
9
+ capabilities: { native: {} },
10
+ history: () => Promise.resolve([]),
11
+ subscribe: () => () => undefined,
12
+ submit: () => Promise.resolve({ accepted: false, reason: 'starting' }),
13
+ cancel: () => Promise.resolve({ stillQueued: [], outcome: 'confirmed' }),
14
+ dispose: () => {
15
+ status = 'disposed';
16
+ return Promise.resolve();
17
+ },
18
+ };
19
+ }
@@ -27,7 +27,7 @@
27
27
  *
28
28
  * @module dsh-tui/backends/claude/activity
29
29
  */
30
- import type { WorkingActivityView } from '../../adapter/ports/channel-view.js';
30
+ import type { WorkingActivityView } from '../../agent/index.js';
31
31
  import type { ClaudeActivityState } from './translate.js';
32
32
  /**
33
33
  * The input's most DSH-like short field: the first string among
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/activity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAG9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAQzD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWjE;AAED,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC;6EACyE;IACzE,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAAA;IACnF,yEAAyE;IACzE,IAAI,IAAI,mBAAmB,GAAG,SAAS,CAAA;IACvC;+EAC2E;IAC3E,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACrE;AAED,wEAAwE;AACxE,wBAAgB,6BAA6B,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAO,GAAG,uBAAuB,CA4E3G"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/activity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAQzD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWjE;AAED,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC;6EACyE;IACzE,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAAA;IACnF,yEAAyE;IACzE,IAAI,IAAI,mBAAmB,GAAG,SAAS,CAAA;IACvC;+EAC2E;IAC3E,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACrE;AAED,wEAAwE;AACxE,wBAAgB,6BAA6B,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAO,GAAG,uBAAuB,CA4E3G"}
@@ -1,4 +1,4 @@
1
- import { getLang, t } from '../../i18n.js';
1
+ import { claudeLocale, claudeText } from './text.js';
2
2
  /** Input fields that read like the DSH detail fragment, in priority order. */
3
3
  const DETAIL_KEYS = ['file_path', 'command', 'pattern', 'url', 'path'];
4
4
  /** The longest detail fragment kept (mirrors the plugin's detail limit). */
@@ -39,7 +39,7 @@ export function createClaudeActivityPublisher(options = {}) {
39
39
  phaseStartedAt: 0,
40
40
  turnStartedAt: 0,
41
41
  updatedAt: 0,
42
- lang: getLang(),
42
+ lang: claudeLocale(),
43
43
  });
44
44
  return {
45
45
  fold(state, waiting) {
@@ -48,7 +48,7 @@ export function createClaudeActivityPublisher(options = {}) {
48
48
  const openTool = state.openTool;
49
49
  const detail = openTool === undefined ? undefined : activityDetail(openTool.input);
50
50
  if (waiting) {
51
- next = view('waiting', t('claude-activity-waiting'), {
51
+ next = view('waiting', claudeText('claude-activity-waiting'), {
52
52
  ...(openTool === undefined ? {} : { label: openTool.name, ...(detail === undefined ? {} : { detail }) }),
53
53
  toolCount: state.toolCount,
54
54
  });
@@ -62,7 +62,7 @@ export function createClaudeActivityPublisher(options = {}) {
62
62
  }
63
63
  else {
64
64
  const phrase = state.narration ?? state.activeForm;
65
- next = view('thinking', phrase ?? t('claude-activity-thinking'), {
65
+ next = view('thinking', phrase ?? claudeText('claude-activity-thinking'), {
66
66
  ...(phrase === undefined ? {} : { phrase }),
67
67
  toolCount: state.toolCount,
68
68
  });
@@ -71,7 +71,7 @@ export function createClaudeActivityPublisher(options = {}) {
71
71
  else if (current !== undefined) {
72
72
  // The turn closed: park on the done card (kept until the next turn,
73
73
  // like the plugin — the status line shows it while the session idles).
74
- next = view('done', state.toolCount > 0 ? t('claude-activity-done-tools', { count: state.toolCount }) : t('claude-activity-done'), { toolCount: state.toolCount });
74
+ next = view('done', state.toolCount > 0 ? claudeText('claude-activity-done-tools', { count: state.toolCount }) : claudeText('claude-activity-done'), { toolCount: state.toolCount });
75
75
  }
76
76
  if (next === undefined)
77
77
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/auth.ts"],"names":[],"mappings":"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"}
@@ -57,9 +57,16 @@
57
57
  * returns.
58
58
  */
59
59
  import { existsSync, readFileSync } from 'node:fs';
60
+ import { homedir } from 'node:os';
60
61
  import { join } from 'node:path';
61
- import { t } from '../../i18n.js';
62
- import { homeDir } from '../../utils/paths.js';
62
+ import { claudeText } from './text.js';
63
+ /**
64
+ * The user's home directory, self-contained on purpose: `homeDir()` in
65
+ * `src/utils/paths.ts` answers the same way, but a backend does not reach
66
+ * into the host's utils (B-3) and this needs exactly `os.homedir()` plus the
67
+ * stripped-environment fallbacks.
68
+ */
69
+ const homeDir = () => homedir() || process.env.USERPROFILE || process.env.HOME || '';
63
70
  /** The dsh-auth provider id whose login this backend uses. */
64
71
  export const CLAUDE_OAUTH_PROVIDER = 'anthropic';
65
72
  /**
@@ -347,7 +354,7 @@ export async function resolveClaudeAuth(base, credentials, options = {}) {
347
354
  // credential to the other's host.
348
355
  if (channelCarriesCredential && routeSettings !== undefined
349
356
  && routeSettings.apiKeyHelper !== undefined && routeSettings.apiKeyHelper !== null && routeSettings.apiKeyHelper !== '') {
350
- throw new ClaudeChannelConflictError(t('claude-channel-helper-conflict'));
357
+ throw new ClaudeChannelConflictError(claudeText('claude-channel-helper-conflict'));
351
358
  }
352
359
  // The channel's own credential decides the source label; the dsh-auth
353
360
  // branch below is deliberately unreachable while a channel connection
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/backend.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,wBAAwB,CAAA;AAMrG,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAE9D,OAAO,EAA6D,KAAK,oBAAoB,EAAuB,MAAM,eAAe,CAAA;AAEzI,OAAO,EAA0B,KAAK,YAAY,EAAiC,MAAM,aAAa,CAAA;AACtG,OAAO,EAAsC,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAA;AA2BzF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,EACpE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC7C,MAAM,EAAE,CAWV;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAYxG;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,GAAG,qBAAqB,CAAC,EACnH,MAAM,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7D,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAsB,GACjD,OAAO,CAAC;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC,CA2BlE;AAKD,eAAO,MAAM,aAAa,EAAE,YAqK3B,CAAA"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/backend.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,wBAAwB,CAAA;AAMrG,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAEjF,OAAO,EAAmF,KAAK,oBAAoB,EAAuB,MAAM,eAAe,CAAA;AAE/J,OAAO,EAA0B,KAAK,YAAY,EAAiC,MAAM,aAAa,CAAA;AACtG,OAAO,EAAsC,KAAK,qBAAqB,EAAE,MAAM,UAAU,CAAA;AA4BzF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,EACpE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC7C,MAAM,EAAE,CAWV;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAYxG;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,GAAG,qBAAqB,CAAC,EACnH,MAAM,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7D,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAsB,GACjD,OAAO,CAAC;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC,CA2BlE;AAsDD,eAAO,MAAM,aAAa,EAAE,YA4L3B,CAAA"}
@@ -11,18 +11,20 @@
11
11
  * the CLI refuses fails loudly; nothing falls back to a fresh session.
12
12
  */
13
13
  import { randomUUID } from 'node:crypto';
14
- import { t } from '../../i18n.js';
14
+ import { isAbsolute, normalize } from 'node:path';
15
+ import { claudeText, installClaudeLocale } from './text.js';
15
16
  import { CLAUDE_BACKEND_ID, CLAUDE_BACKEND_LABEL, cliVersionDrift, sdkVersionDrift, VALIDATED_SDK_VERSION, claudeResumeCommand } from './contract.js';
16
17
  import { CLAUDE_OAUTH_PROVIDER, ClaudeChannelConflictError, channelMissingCredential, detectClaudeAuth, originHost, refreshFailureDebugDetail, refreshFailureStatus, resolveClaudeAuth } from './auth.js';
17
18
  import { createClaudeCatalog } from './catalog.js';
18
19
  import { resolveStartPermissionMode } from './options.js';
19
- import { fileClaudePrefs } from './prefs.js';
20
+ import { fileClaudePrefs, memoryClaudePrefs } from './prefs.js';
20
21
  import { buildClaudeEnv, readClaudeVersion, resolveClaudeExecutable } from './process.js';
21
- import { activeProfileOf, fileClaudeChannels, hasChannelConnection } from './channels.js';
22
+ import { activeProfileOf, fileClaudeChannels, hasChannelConnection, memoryClaudeChannels } from './channels.js';
22
23
  import { fileClaudeChannelTokens } from '../shared/channel-tokens.js';
23
24
  import { replayClaudeTranscript } from './replay.js';
24
25
  import { installedSdkVersion, loadClaudeSdk } from './sdk.js';
25
26
  import { openClaudeSession } from './session.js';
27
+ import { claudeConfigDir } from './transcript-file.js';
26
28
  import { errorText } from './narrow.js';
27
29
  /** The user-facing refresh failure: a fixed sentence, the HTTP status at most. */
28
30
  function refreshFailedNotice(error) {
@@ -31,7 +33,7 @@ function refreshFailedNotice(error) {
31
33
  if (error instanceof ClaudeChannelConflictError)
32
34
  return error.message;
33
35
  const status = refreshFailureStatus(error);
34
- return t('claude-auth-refresh-failed', { detail: status === undefined ? '' : t('claude-auth-refresh-status', { status }) });
36
+ return claudeText('claude-auth-refresh-failed', { detail: status === undefined ? '' : claudeText('claude-auth-refresh-status', { status }) });
35
37
  }
36
38
  /** The settings credentials a channel connection replaces (named in a
37
39
  * notice; a value never is). */
@@ -56,12 +58,12 @@ export function channelStartNotices(channel, settingsEnv) {
56
58
  const notices = [];
57
59
  const settingsUrl = firstNonEmpty(settingsEnv, 'ANTHROPIC_BASE_URL');
58
60
  if (channel.baseUrl !== undefined && settingsUrl !== undefined && settingsUrl !== channel.baseUrl) {
59
- notices.push(t('channel-conn-settings-mismatch', { name: channel.name }));
61
+ notices.push(claudeText('channel-conn-settings-mismatch', { name: channel.name }));
60
62
  }
61
63
  if (channel.baseUrl !== undefined || channel.tokenRef !== undefined) {
62
64
  const superseded = SUPERSEDED_CREDENTIAL_KEYS.filter(key => firstNonEmpty(settingsEnv, key) !== undefined);
63
65
  if (superseded.length > 0)
64
- notices.push(t('channel-conn-creds-superseded', { keys: superseded.join(', ') }));
66
+ notices.push(claudeText('channel-conn-creds-superseded', { keys: superseded.join(', ') }));
65
67
  }
66
68
  return notices;
67
69
  }
@@ -73,17 +75,17 @@ export function channelStartNotices(channel, settingsEnv) {
73
75
  export function startModeNotices(start, prefs) {
74
76
  const notices = [];
75
77
  if (start.downgradedFrom !== undefined)
76
- notices.push(t('claude-start-mode-downgraded', { mode: start.downgradedFrom }));
78
+ notices.push(claudeText('claude-start-mode-downgraded', { mode: start.downgradedFrom }));
77
79
  // The developer override is never silent: a live-test leftover in the
78
80
  // environment would otherwise change every approval without a trace.
79
81
  if (start.source === 'env')
80
- notices.push(t('claude-start-mode-env', { mode: start.mode }));
82
+ notices.push(claudeText('claude-start-mode-env', { mode: start.mode }));
81
83
  if (start.bypassNotCarried === true) {
82
84
  prefs.write({ permissionMode: null });
83
- notices.push(t('claude-start-mode-bypass-not-carried'));
85
+ notices.push(claudeText('claude-start-mode-bypass-not-carried'));
84
86
  }
85
87
  if (start.ignoredOverride !== undefined)
86
- notices.push(t('claude-start-mode-env-ignored', { mode: start.ignoredOverride }));
88
+ notices.push(claudeText('claude-start-mode-env-ignored', { mode: start.ignoredOverride }));
87
89
  return notices;
88
90
  }
89
91
  /**
@@ -94,7 +96,7 @@ export async function loadClaudeTranscript(sdk, target, fallbackCwd, debug = ()
94
96
  const info = (target.cwd === undefined ? undefined : await sdk.getSessionInfo(target.sessionId, { dir: target.cwd }))
95
97
  ?? await sdk.getSessionInfo(target.sessionId);
96
98
  if (info === undefined)
97
- throw new Error(t('claude-resume-not-found', { id: target.sessionId }));
99
+ throw new Error(claudeText('claude-resume-not-found', { id: target.sessionId }));
98
100
  const cwd = info.cwd ?? target.cwd ?? fallbackCwd;
99
101
  const [messages, subagentIds] = await Promise.all([
100
102
  sdk.getSessionMessages(target.sessionId, { dir: cwd, includeSystemMessages: true }),
@@ -121,19 +123,72 @@ export async function loadClaudeTranscript(sdk, target, fallbackCwd, debug = ()
121
123
  const replay = replayClaudeTranscript(messages, { cwd, subagents, ...(title === undefined || title === '' ? {} : { title }), debug });
122
124
  return { cwd, replay };
123
125
  }
124
- /** The catalog of the local session store (the SDK loads on first use). */
125
- const catalogPrefs = fileClaudePrefs();
126
+ /**
127
+ * The catalog of the local session store (the SDK loads on first use).
128
+ *
129
+ * The catalog is a static property of the backend (no session is open when
130
+ * the browser calls it), so it cannot be handed a host the way `open()` is;
131
+ * it reads the one `detect()`/`open()` captured, exactly like codex's
132
+ * catalog host. Both run before anything can list sessions (the boot probe
133
+ * detects every registered backend), and when neither has run there is no
134
+ * directory to take: `lastUsed` reads as empty and `snapshotKey` declines
135
+ * disk caching, rather than this backend guessing a path (D2).
136
+ */
137
+ let catalogHost;
138
+ /** The prefs store of the captured host, or undefined when no host has been
139
+ * seen yet (see {@link catalogHost}). */
140
+ const catalogPrefs = () => {
141
+ const dir = catalogHost?.dataDir;
142
+ const host = catalogHost;
143
+ return dir === undefined || host === undefined ? undefined : fileClaudePrefs(dir, message => host.debug(message));
144
+ };
145
+ /** Remember the host of the most recent detect / open: the catalog's only way
146
+ * to reach this backend's own directory without a host parameter, and where
147
+ * this backend's copy takes its language from (read live, so a `/lang`
148
+ * switch applies to the next string). */
149
+ const rememberHost = (host) => {
150
+ catalogHost = host;
151
+ installClaudeLocale(host.locale);
152
+ };
153
+ /** Reuse the winning probe; explicit env paths still need their first probe. */
154
+ async function resolvedCliVersion(executable, host) {
155
+ if (executable.version !== undefined)
156
+ return executable.version;
157
+ if (executable.path === undefined)
158
+ return undefined;
159
+ return readClaudeVersion(executable.path, host.appVersion);
160
+ }
161
+ /** Best-effort CLI note for an SDK-missing hint; no CLI means no extra line. */
162
+ async function foundClaudeCli(host) {
163
+ try {
164
+ const executable = await resolveClaudeExecutable();
165
+ if (executable.path === undefined)
166
+ return undefined;
167
+ const version = await resolvedCliVersion(executable, host);
168
+ return version === undefined
169
+ ? claudeText('claude-sdk-missing-found-cli-path', { path: executable.path })
170
+ : claudeText('claude-sdk-missing-found-cli', { version, path: executable.path });
171
+ }
172
+ catch (error) {
173
+ host.debug(`claude: native CLI probe failed (${errorText(error)})`);
174
+ return undefined;
175
+ }
176
+ }
126
177
  export const claudeBackend = {
127
178
  id: CLAUDE_BACKEND_ID,
128
179
  descriptor: { label: CLAUDE_BACKEND_LABEL },
129
180
  /** What is installed and whether it is the validated pair. Never throws. */
130
181
  async detect(host) {
182
+ rememberHost(host);
131
183
  try {
132
184
  await loadClaudeSdk();
133
185
  }
134
186
  catch (error) {
135
187
  host.debug(`claude: SDK import failed (${errorText(error)})`);
136
- return { installed: false, hint: t('claude-sdk-missing', { version: VALIDATED_SDK_VERSION }) };
188
+ // A local CLI does not remove the SDK requirement.
189
+ const missing = claudeText('claude-sdk-missing', { version: VALIDATED_SDK_VERSION });
190
+ const found = await foundClaudeCli(host);
191
+ return { installed: false, hint: found === undefined ? missing : `${missing}\n${found}` };
137
192
  }
138
193
  let auth = 'unknown';
139
194
  try {
@@ -144,18 +199,25 @@ export const claudeBackend = {
144
199
  }
145
200
  try {
146
201
  const executable = await resolveClaudeExecutable();
147
- const version = executable.path === undefined ? undefined : await readClaudeVersion(executable.path);
202
+ const version = await resolvedCliVersion(executable, host);
148
203
  const drift = cliVersionDrift(version) ?? sdkVersionDrift(installedSdkVersion());
149
- return { installed: true, auth, ...(version === undefined ? {} : { version }), ...(drift === undefined ? {} : { drift }), ...(auth === 'missing' ? { hint: t('claude-auth-missing-hint') } : {}) };
204
+ // The picker never blocks on a missing credential (the probe cannot see
205
+ // a settings-file env, an apiKeyHelper or a relay token), and `/login`
206
+ // plus `/channel` work in-session: offer the sign-in-after-start note.
207
+ return { installed: true, auth, loginInSession: true, ...(version === undefined ? {} : { version }), ...(drift === undefined ? {} : { drift }), ...(auth === 'missing' ? { hint: claudeText('claude-auth-missing-hint') } : {}) };
150
208
  }
151
209
  catch (error) {
152
210
  host.debug(`claude: detection failed (${errorText(error)})`);
153
- return { installed: true, auth };
211
+ return { installed: true, auth, loginInSession: true };
154
212
  }
155
213
  },
156
214
  launch: {
157
- sessionPrefs: debug => {
158
- const prefs = fileClaudePrefs(undefined, debug);
215
+ sessionPrefs: host => {
216
+ // The launcher asks before a session exists, so this store is built from
217
+ // the host it is handed. A host that hands over no directory keeps
218
+ // nothing: there is simply no remembered session to resume (D-3's
219
+ // feature-detect, never a path this backend guessed — D2).
220
+ const prefs = host.dataDir === undefined ? memoryClaudePrefs() : fileClaudePrefs(host.dataDir, host.debug);
159
221
  return {
160
222
  lastSession: () => prefs.read().lastSession,
161
223
  setLastSession: sessionId => { prefs.write({ lastSession: sessionId }); },
@@ -168,18 +230,23 @@ export const claudeBackend = {
168
230
  catalog: createClaudeCatalog({
169
231
  loadSdk: loadClaudeSdk,
170
232
  cwd: () => process.cwd(),
171
- lastUsed: () => catalogPrefs.read().lastUsed ?? {},
233
+ lastUsed: () => catalogPrefs()?.read().lastUsed ?? {},
234
+ snapshotKey: () => {
235
+ const home = claudeConfigDir(process.env);
236
+ return isAbsolute(home) ? JSON.stringify(['claude', normalize(home)]) : undefined;
237
+ },
172
238
  }),
173
239
  /** Create a session in `target.cwd` (an explicit session id, so the TUI
174
240
  * knows it before the CLI's first `init`), or resume a persisted one. */
175
241
  async open(target, host) {
242
+ rememberHost(host);
176
243
  let sdk;
177
244
  try {
178
245
  sdk = await loadClaudeSdk();
179
246
  }
180
247
  catch (error) {
181
248
  host.debug(`claude: SDK import failed (${errorText(error)})`);
182
- throw new Error(t('claude-sdk-missing', { version: VALIDATED_SDK_VERSION }));
249
+ throw new Error(claudeText('claude-sdk-missing', { version: VALIDATED_SDK_VERSION }));
183
250
  }
184
251
  const resumed = target.kind === 'resume'
185
252
  ? await loadClaudeTranscript(sdk, target, host.cwd, message => host.debug(message))
@@ -187,8 +254,12 @@ export const claudeBackend = {
187
254
  const cwd = resumed?.cwd ?? (target.kind === 'create' ? target.cwd : host.cwd);
188
255
  // The backend-scoped prefs: the remembered model / effort / permission
189
256
  // picks. One store for the whole open — the start resolution reads the
190
- // mode here, the session's controls keep writing all three later.
191
- const prefs = fileClaudePrefs(undefined, message => host.debug(message));
257
+ // mode here, the session's controls keep writing all three later. A host
258
+ // that hands over no directory keeps them in memory for this process
259
+ // (D-3's feature-detect): nothing is written to a path of our choosing.
260
+ const prefs = host.dataDir === undefined
261
+ ? memoryClaudePrefs()
262
+ : fileClaudePrefs(host.dataDir, message => host.debug(message));
192
263
  const [executable, start] = await Promise.all([
193
264
  resolveClaudeExecutable(),
194
265
  resolveStartPermissionMode(sdk, cwd, process.env, prefs.read().permissionMode),
@@ -197,7 +268,7 @@ export const claudeBackend = {
197
268
  // The credential: a dsh-auth login wins (refreshed now if
198
269
  // it is about to expire), else the environment, else the local login.
199
270
  const credentials = host.oauthCredential?.(CLAUDE_OAUTH_PROVIDER);
200
- const baseEnv = buildClaudeEnv();
271
+ const baseEnv = buildClaudeEnv({ appVersion: host.appVersion });
201
272
  // The route decides whether the subscription token may be injected at
202
273
  // all (auth.ts): the CLI applies the settings' `env`, so a base URL set
203
274
  // in ~/.claude/settings.json counts like one in the environment.
@@ -205,7 +276,9 @@ export const claudeBackend = {
205
276
  // The channel store and the token store are read fresh for every plan
206
277
  // (the open and each reconnect): a /channel switch while the session
207
278
  // lives is picked up by its next spawn.
208
- const channels = fileClaudeChannels(undefined, message => host.debug(message));
279
+ const channels = host.dataDir === undefined
280
+ ? memoryClaudeChannels({ channels: [] })
281
+ : fileClaudeChannels(host.dataDir, message => host.debug(message));
209
282
  const tokens = fileClaudeChannelTokens(undefined, message => host.debug(message));
210
283
  // A custom endpoint the profile gives no credential (no token, a
211
284
  // dangling ref, no credential key in its env) never spawns; the refusal
@@ -220,7 +293,7 @@ export const claudeBackend = {
220
293
  ...(active.env === undefined ? {} : { env: active.env }),
221
294
  };
222
295
  if (channelMissingCredential(connection)) {
223
- throw new ClaudeChannelConflictError(t('claude-channel-token-missing', { name: active.name, host: originHost(active.baseUrl ?? '') }));
296
+ throw new ClaudeChannelConflictError(claudeText('claude-channel-token-missing', { name: active.name, host: originHost(active.baseUrl ?? '') }));
224
297
  }
225
298
  return connection;
226
299
  };
@@ -261,7 +334,7 @@ export const claudeBackend = {
261
334
  }
262
335
  startNotices.push(...startModeNotices(start, prefs));
263
336
  if (sdkVersionDrift(sdkVersion) !== undefined)
264
- startNotices.push(t('claude-sdk-drift', { version: sdkVersion ?? '', validated: VALIDATED_SDK_VERSION }));
337
+ startNotices.push(claudeText('claude-sdk-drift', { version: sdkVersion ?? '', validated: VALIDATED_SDK_VERSION }));
265
338
  return openClaudeSession({
266
339
  sdk,
267
340
  store: sdk,
@@ -279,7 +352,7 @@ export const claudeBackend = {
279
352
  // stored credential as is.
280
353
  renew: renewal => {
281
354
  const channel = channelConnection();
282
- return resolveClaudeAuth(buildClaudeEnv(), credentials, {
355
+ return resolveClaudeAuth(buildClaudeEnv({ appVersion: host.appVersion }), credentials, {
283
356
  settings,
284
357
  ...(renewal.rejected === undefined ? {} : { rejected: renewal.rejected }),
285
358
  ...(channel === undefined ? {} : { channel }),
@@ -288,7 +361,8 @@ export const claudeBackend = {
288
361
  failureNotice: refreshFailedNotice,
289
362
  },
290
363
  prefs,
291
- host: { debug: message => host.debug(message), ...(host.stderr === undefined ? {} : { stderr: (line) => host.stderr?.(line) }) },
364
+ channels,
365
+ host,
292
366
  ...(sdkVersion === undefined ? {} : { sdkVersion }),
293
367
  startNotices,
294
368
  });
@@ -1,6 +1,6 @@
1
1
  import type { SDKSessionInfo } from '@anthropic-ai/claude-agent-sdk';
2
2
  import type { SessionCatalog } from '../../agent/backend.js';
3
- import type { SessionSummary } from '../../adapter/ports/channel-session.js';
3
+ import type { SessionSummary } from '../../agent/index.js';
4
4
  import type { ClaudeSessionStoreSdk } from './sdk.js';
5
5
  export interface ClaudeCatalogDeps {
6
6
  /** The session-store API (loaded on first use; the SDK is an optional peer). */
@@ -9,6 +9,7 @@ export interface ClaudeCatalogDeps {
9
9
  cwd(): string;
10
10
  /** This install's last-used notes (epoch ms by session id). */
11
11
  lastUsed?(): Readonly<Record<string, number>>;
12
+ snapshotKey?(): string | undefined;
12
13
  }
13
14
  /** One SDK record as a browser row. */
14
15
  export declare function claudeSessionSummary(info: SDKSessionInfo, lastUsed?: Readonly<Record<string, number>>): SessionSummary;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/catalog.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAA;AAC9E,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAG1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAErD,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,GAAG,eAAe,CAAC,CAAC,CAAA;IAC7I,wDAAwD;IACxD,GAAG,IAAI,MAAM,CAAA;IACb,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9C;AAKD,uCAAuC;AACvC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAAG,cAAc,CAgC1H;AAED,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAiC3E"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/catalog.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAA;AAC9E,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAErD,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,GAAG,eAAe,CAAC,CAAC,CAAA;IAC7I,wDAAwD;IACxD,GAAG,IAAI,MAAM,CAAA;IACb,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC7C,WAAW,CAAC,IAAI,MAAM,GAAG,SAAS,CAAA;CACnC;AAMD,uCAAuC;AACvC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAAG,cAAc,CAgC1H;AAED,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CA2C3E"}
@@ -23,6 +23,7 @@ import { CLAUDE_BACKEND_ID } from './contract.js';
23
23
  import { previewEntries } from './replay.js';
24
24
  /** Preview depth when the caller names none. */
25
25
  const PREVIEW_LIMIT = 6;
26
+ const FIRST_PAGE = 32;
26
27
  /** One SDK record as a browser row. */
27
28
  export function claudeSessionSummary(info, lastUsed = {}) {
28
29
  const cwd = info.cwd ?? '';
@@ -62,13 +63,22 @@ export function createClaudeCatalog(deps) {
62
63
  const lastUsed = () => deps.lastUsed?.() ?? {};
63
64
  const dirOption = (cwd) => cwd === undefined || cwd === '' ? undefined : { dir: cwd };
64
65
  return {
65
- async list(scope = {}) {
66
+ ...(deps.snapshotKey === undefined ? {} : { snapshotKey: deps.snapshotKey }),
67
+ async list(scope = {}, onPartial) {
66
68
  const sdk = await deps.loadSdk();
67
- const infos = scope.allProjects === true
68
- ? await sdk.listSessions({ includeProgrammatic: true })
69
- : await sdk.listSessions({ dir: scope.cwd ?? deps.cwd(), includeProgrammatic: true });
69
+ const options = { includeProgrammatic: true, ...(scope.allProjects === true ? {} : { dir: scope.cwd ?? deps.cwd() }) };
70
70
  const used = lastUsed();
71
- return infos.map(info => claudeSessionSummary(info, used)).sort((a, b) => b.updatedAt - a.updatedAt);
71
+ const summaries = (infos) => infos.map(info => claudeSessionSummary(info, used)).sort((a, b) => b.updatedAt - a.updatedAt);
72
+ if (onPartial !== undefined) {
73
+ // A bounded SDK read extracts metadata only for the newest sessions.
74
+ // Both reads keep the SDK's project scope, including git worktrees.
75
+ // An unlimited read confirms completeness: a short limited page does
76
+ // not promise exhaustion. Avoid repeatedly scanning offset pages.
77
+ const first = await sdk.listSessions({ ...options, limit: FIRST_PAGE });
78
+ const rows = summaries(first);
79
+ onPartial(rows);
80
+ }
81
+ return summaries(await sdk.listSessions(options));
72
82
  },
73
83
  async info(sessionId, cwd) {
74
84
  const sdk = await deps.loadSdk();
@@ -1,4 +1,4 @@
1
- import { channelProfileSlug } from '../../channel/channel-slug.js';
1
+ import { channelProfileSlug } from '../shared/channel-slug.js';
2
2
  /** One relay channel. */
3
3
  export interface ClaudeChannelProfile {
4
4
  /** Stable slug of the name (the file's join key). */
@@ -40,8 +40,10 @@ export declare const channelSlug: typeof channelProfileSlug;
40
40
  export declare function parseChannels(parsed: unknown): ClaudeChannelsData;
41
41
  /** The channel whose mapping is live (undefined when none is active). */
42
42
  export declare function activeProfileOf(data: ClaudeChannelsData): ClaudeChannelProfile | undefined;
43
- /** The file-backed profiles under `<dir>` (default `~/.dsh-tui/backends/claude`). */
44
- export declare function fileClaudeChannels(dir?: string, debug?: (message: string) => void): ClaudeChannels;
43
+ /** The file-backed profiles under `<dir>` (the host's `dataDir` for this
44
+ * backend). The directory is required: a backend never picks a location of
45
+ * its own under the host's data directory (D2, B-3). */
46
+ export declare function fileClaudeChannels(dir: string, debug?: (message: string) => void): ClaudeChannels;
45
47
  /** An in-memory store (tests, embedders without a home directory). */
46
48
  export declare function memoryClaudeChannels(initial?: ClaudeChannelsData): ClaudeChannels & {
47
49
  readonly data: ClaudeChannelsData;
@@ -1 +1 @@
1
- {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/channels.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAIlE,yBAAyB;AACzB,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;6BACyB;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AAED,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACnD;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,kBAAkB,CAAA;IAC1B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,4EAA4E;IAC5E,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACzC;gEAC4D;IAC5D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAID,yEAAyE;AACzE,eAAO,MAAM,WAAW,2BAAqB,CAAA;AAY7C,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CA6BjE;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,SAAS,CAE1F;AAsBD,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAA6C,EAAE,KAAK,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAsB,GAAG,cAAc,CA8DzJ;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,kBAAqC,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAS3I;AAgBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,GAAG,SAAS,CAsClC;AAED;;qEAEqE;AACrE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAEtG;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAGvF"}
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/channels.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAG9D,yBAAyB;AACzB,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;6BACyB;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AAED,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACnD;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,kBAAkB,CAAA;IAC1B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,4EAA4E;IAC5E,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACzC;gEAC4D;IAC5D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAID,yEAAyE;AACzE,eAAO,MAAM,WAAW,2BAAqB,CAAA;AAY7C,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CA6BjE;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,SAAS,CAE1F;AAsBD;;yDAEyD;AACzD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAsB,GAAG,cAAc,CA8DlH;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,kBAAqC,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAS3I;AAgBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,GAAG,SAAS,CAsClC;AAED;;qEAEqE;AACrE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAEtG;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAGvF"}
@@ -46,8 +46,7 @@
46
46
  */
47
47
  import { readFileSync, renameSync } from 'node:fs';
48
48
  import { join } from 'node:path';
49
- import { channelProfileSlug } from '../../channel/channel-slug.js';
50
- import { DATA_DIR } from '../../utils/paths.js';
49
+ import { channelProfileSlug } from '../shared/channel-slug.js';
51
50
  import { writeFileAtomic } from '../shared/atomic-file.js';
52
51
  const FILE = 'channels.json';
53
52
  /** The stable id of a channel name (shared with the /channel wizard). */
@@ -120,8 +119,10 @@ function removed(current, id) {
120
119
  const active = current.active === id ? undefined : current.active;
121
120
  return { channels, ...(active === undefined ? {} : { active }) };
122
121
  }
123
- /** The file-backed profiles under `<dir>` (default `~/.dsh-tui/backends/claude`). */
124
- export function fileClaudeChannels(dir = join(DATA_DIR, 'backends', 'claude'), debug = () => undefined) {
122
+ /** The file-backed profiles under `<dir>` (the host's `dataDir` for this
123
+ * backend). The directory is required: a backend never picks a location of
124
+ * its own under the host's data directory (D2, B-3). */
125
+ export function fileClaudeChannels(dir, debug = () => undefined) {
125
126
  const path = join(dir, FILE);
126
127
  /** The document, and whether a file is there that could not be read or
127
128
  * parsed (it reads as no channels). */
@@ -17,6 +17,10 @@ export declare function claudeResumeCommand(sessionId: string): string;
17
17
  /** The exact `@anthropic-ai/claude-agent-sdk` version this backend is
18
18
  * validated against (mirrors the package.json pin). */
19
19
  export declare const VALIDATED_SDK_VERSION = "0.3.287";
20
+ /** What the picker's install wizard adds, at that pin. Lives here rather than
21
+ * in install.ts because the backend's manifest declares it, and a manifest may
22
+ * import nothing but this import-free module (P0 D3 / §4.4). */
23
+ export declare const CLAUDE_SDK_SPECIFIER = "@anthropic-ai/claude-agent-sdk@0.3.287";
20
24
  /** CLI versions validated with {@link VALIDATED_SDK_VERSION} (the SDK's own
21
25
  * `manifest.json` parity version). */
22
26
  export declare const VALIDATED_CLI_VERSIONS: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,WAAW,CAAA;AAEzC;qBACqB;AACrB,eAAO,MAAM,oBAAoB,iBAAiB,CAAA;AAElD;6EAC6E;AAC7E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;wDACwD;AACxD,eAAO,MAAM,qBAAqB,YAAY,CAAA;AAE9C;uCACuC;AACvC,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAgB,CAAA;AAEpE;8BAC8B;AAC9B,eAAO,MAAM,cAAc;IACzB,+DAA+D;;IAE/D,iDAAiD;;IAEjD,8EAA8E;;CAEtE,CAAA;AAEV,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG/E;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG/E"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,WAAW,CAAA;AAEzC;qBACqB;AACrB,eAAO,MAAM,oBAAoB,iBAAiB,CAAA;AAElD;6EAC6E;AAC7E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;wDACwD;AACxD,eAAO,MAAM,qBAAqB,YAAY,CAAA;AAE9C;;iEAEiE;AACjE,eAAO,MAAM,oBAAoB,2CAA4D,CAAA;AAE7F;uCACuC;AACvC,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAgB,CAAA;AAEpE;8BAC8B;AAC9B,eAAO,MAAM,cAAc;IACzB,+DAA+D;;IAE/D,iDAAiD;;IAEjD,8EAA8E;;CAEtE,CAAA;AAEV,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG/E;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG/E"}
@@ -19,6 +19,10 @@ export function claudeResumeCommand(sessionId) {
19
19
  /** The exact `@anthropic-ai/claude-agent-sdk` version this backend is
20
20
  * validated against (mirrors the package.json pin). */
21
21
  export const VALIDATED_SDK_VERSION = '0.3.287';
22
+ /** What the picker's install wizard adds, at that pin. Lives here rather than
23
+ * in install.ts because the backend's manifest declares it, and a manifest may
24
+ * import nothing but this import-free module (P0 D3 / §4.4). */
25
+ export const CLAUDE_SDK_SPECIFIER = `@anthropic-ai/claude-agent-sdk@${VALIDATED_SDK_VERSION}`;
22
26
  /** CLI versions validated with {@link VALIDATED_SDK_VERSION} (the SDK's own
23
27
  * `manifest.json` parity version). */
24
28
  export const VALIDATED_CLI_VERSIONS = ['2.1.287'];
@@ -66,6 +66,10 @@ export declare function createClaudeControls(deps: ClaudeControlsDeps): {
66
66
  effort: {
67
67
  readonly levelsFallback: true | undefined;
68
68
  levels(): readonly EffortOption[];
69
+ forModel: (ref: ModelRef) => {
70
+ levels: readonly EffortOption[];
71
+ levelsFallback?: true;
72
+ };
69
73
  current: () => string | undefined;
70
74
  set(id: string | null): Promise<void>;
71
75
  };
@@ -1 +1 @@
1
- {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/controls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/backends/claude/controls.ts"],"names":[],"mappings":"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"}