@deepseek-harness-tui/dsh-tui 0.10.0 → 0.10.2

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 (705) hide show
  1. package/README.md +5 -2
  2. package/bin/dsh-tui.js +99 -33
  3. package/cordis.patch.yml +25 -5
  4. package/lib/types/adapter/channel/actions.d.ts +17 -0
  5. package/lib/types/adapter/channel/actions.d.ts.map +1 -0
  6. package/lib/types/adapter/channel/actions.js +28 -0
  7. package/lib/types/adapter/channel/consumer.d.ts +34 -0
  8. package/lib/types/adapter/channel/consumer.d.ts.map +1 -0
  9. package/lib/types/adapter/channel/consumer.js +87 -0
  10. package/lib/types/adapter/channel/features.d.ts +12 -0
  11. package/lib/types/adapter/channel/features.d.ts.map +1 -0
  12. package/lib/types/adapter/channel/features.js +41 -0
  13. package/lib/types/adapter/channel/host-registry.d.ts +40 -0
  14. package/lib/types/adapter/channel/host-registry.d.ts.map +1 -0
  15. package/lib/types/adapter/channel/host-registry.js +120 -0
  16. package/lib/types/adapter/channel/index.d.ts +22 -0
  17. package/lib/types/adapter/channel/index.d.ts.map +1 -0
  18. package/lib/types/adapter/channel/index.js +21 -0
  19. package/lib/types/adapter/channel/internal-token.d.ts +12 -0
  20. package/lib/types/adapter/channel/internal-token.d.ts.map +1 -0
  21. package/lib/types/adapter/channel/internal-token.js +11 -0
  22. package/lib/types/adapter/channel/plugins.d.ts +17 -0
  23. package/lib/types/adapter/channel/plugins.d.ts.map +1 -0
  24. package/lib/types/adapter/channel/plugins.js +47 -0
  25. package/lib/types/adapter/channel/projection.d.ts +15 -0
  26. package/lib/types/adapter/channel/projection.d.ts.map +1 -0
  27. package/lib/types/adapter/channel/projection.js +59 -0
  28. package/lib/types/adapter/channel/provider.d.ts +52 -0
  29. package/lib/types/adapter/channel/provider.d.ts.map +1 -0
  30. package/lib/types/adapter/channel/provider.js +231 -0
  31. package/lib/types/adapter/channel/read-view.d.ts +4 -0
  32. package/lib/types/adapter/channel/read-view.d.ts.map +1 -0
  33. package/lib/types/adapter/channel/read-view.js +132 -0
  34. package/lib/types/adapter/channel/session-projection.d.ts +56 -0
  35. package/lib/types/adapter/channel/session-projection.d.ts.map +1 -0
  36. package/lib/types/adapter/channel/session-projection.js +247 -0
  37. package/lib/types/adapter/channel/state.d.ts +11 -0
  38. package/lib/types/adapter/channel/state.d.ts.map +1 -0
  39. package/lib/types/adapter/channel/state.js +55 -0
  40. package/lib/types/adapter/channel/transcript.d.ts +15 -0
  41. package/lib/types/adapter/channel/transcript.d.ts.map +1 -0
  42. package/lib/types/adapter/channel/transcript.js +22 -0
  43. package/lib/types/adapter/channel/ui-policy.d.ts +106 -0
  44. package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -0
  45. package/lib/types/adapter/channel/ui-policy.js +166 -0
  46. package/lib/types/adapter/channel/ui.d.ts +16 -0
  47. package/lib/types/adapter/channel/ui.d.ts.map +1 -0
  48. package/lib/types/adapter/channel/ui.js +168 -0
  49. package/lib/types/adapter/index.d.ts +20 -0
  50. package/lib/types/adapter/index.d.ts.map +1 -0
  51. package/lib/types/adapter/index.js +19 -0
  52. package/lib/types/adapter/kernel/contract-catalog.d.ts +12 -0
  53. package/lib/types/adapter/kernel/contract-catalog.d.ts.map +1 -0
  54. package/lib/types/adapter/kernel/contract-catalog.js +11 -0
  55. package/lib/types/adapter/kernel/diagnostics.d.ts +18 -0
  56. package/lib/types/adapter/kernel/diagnostics.d.ts.map +1 -0
  57. package/lib/types/adapter/kernel/diagnostics.js +16 -0
  58. package/lib/types/adapter/kernel/driver-types.d.ts +16 -0
  59. package/lib/types/adapter/kernel/driver-types.d.ts.map +1 -0
  60. package/lib/types/adapter/kernel/driver-types.js +8 -0
  61. package/lib/types/adapter/kernel/host-facade.d.ts +65 -0
  62. package/lib/types/adapter/kernel/host-facade.d.ts.map +1 -0
  63. package/lib/types/adapter/kernel/host-facade.js +215 -0
  64. package/lib/types/adapter/kernel/host-probe-access.d.ts +71 -0
  65. package/lib/types/adapter/kernel/host-probe-access.d.ts.map +1 -0
  66. package/lib/types/adapter/kernel/host-probe-access.js +121 -0
  67. package/lib/types/adapter/kernel/index.d.ts +20 -0
  68. package/lib/types/adapter/kernel/index.d.ts.map +1 -0
  69. package/lib/types/adapter/kernel/index.js +19 -0
  70. package/lib/types/adapter/kernel/kernel-runtime.d.ts +138 -0
  71. package/lib/types/adapter/kernel/kernel-runtime.d.ts.map +1 -0
  72. package/lib/types/adapter/kernel/kernel-runtime.js +572 -0
  73. package/lib/types/adapter/kernel/ledger.d.ts +55 -0
  74. package/lib/types/adapter/kernel/ledger.d.ts.map +1 -0
  75. package/lib/types/adapter/kernel/ledger.js +33 -0
  76. package/lib/types/adapter/kernel/legacy-facade.d.ts +22 -0
  77. package/lib/types/adapter/kernel/legacy-facade.d.ts.map +1 -0
  78. package/lib/types/adapter/kernel/legacy-facade.js +34 -0
  79. package/lib/types/adapter/kernel/lifecycle.d.ts +38 -0
  80. package/lib/types/adapter/kernel/lifecycle.d.ts.map +1 -0
  81. package/lib/types/adapter/kernel/lifecycle.js +53 -0
  82. package/lib/types/adapter/kernel/replay-isolation.d.ts +27 -0
  83. package/lib/types/adapter/kernel/replay-isolation.d.ts.map +1 -0
  84. package/lib/types/adapter/kernel/replay-isolation.js +45 -0
  85. package/lib/types/adapter/kernel/replay.d.ts +132 -0
  86. package/lib/types/adapter/kernel/replay.d.ts.map +1 -0
  87. package/lib/types/adapter/kernel/replay.js +425 -0
  88. package/lib/types/adapter/kernel/runtime-context.d.ts +15 -0
  89. package/lib/types/adapter/kernel/runtime-context.d.ts.map +1 -0
  90. package/lib/types/adapter/kernel/runtime-context.js +24 -0
  91. package/lib/types/adapter/kernel/runtime.d.ts +70 -0
  92. package/lib/types/adapter/kernel/runtime.d.ts.map +1 -0
  93. package/lib/types/adapter/kernel/runtime.js +325 -0
  94. package/lib/types/adapter/kernel/slices/channel.d.ts +3 -0
  95. package/lib/types/adapter/kernel/slices/channel.d.ts.map +1 -0
  96. package/lib/types/adapter/kernel/slices/channel.js +8 -0
  97. package/lib/types/adapter/kernel/slices/decisions.d.ts +3 -0
  98. package/lib/types/adapter/kernel/slices/decisions.d.ts.map +1 -0
  99. package/lib/types/adapter/kernel/slices/decisions.js +10 -0
  100. package/lib/types/adapter/kernel/slices/extensions.d.ts +8 -0
  101. package/lib/types/adapter/kernel/slices/extensions.d.ts.map +1 -0
  102. package/lib/types/adapter/kernel/slices/extensions.js +43 -0
  103. package/lib/types/adapter/kernel/slices/index.d.ts +19 -0
  104. package/lib/types/adapter/kernel/slices/index.d.ts.map +1 -0
  105. package/lib/types/adapter/kernel/slices/index.js +36 -0
  106. package/lib/types/adapter/kernel/slices/presentation.d.ts +3 -0
  107. package/lib/types/adapter/kernel/slices/presentation.d.ts.map +1 -0
  108. package/lib/types/adapter/kernel/slices/presentation.js +14 -0
  109. package/lib/types/adapter/kernel/slices/scenes.d.ts +3 -0
  110. package/lib/types/adapter/kernel/slices/scenes.d.ts.map +1 -0
  111. package/lib/types/adapter/kernel/slices/scenes.js +14 -0
  112. package/lib/types/adapter/kernel/slices/settings.d.ts +3 -0
  113. package/lib/types/adapter/kernel/slices/settings.d.ts.map +1 -0
  114. package/lib/types/adapter/kernel/slices/settings.js +12 -0
  115. package/lib/types/adapter/kernel/slices/types.d.ts +20 -0
  116. package/lib/types/adapter/kernel/slices/types.d.ts.map +1 -0
  117. package/lib/types/adapter/kernel/slices/types.js +12 -0
  118. package/lib/types/adapter/kernel/slices/workspace.d.ts +3 -0
  119. package/lib/types/adapter/kernel/slices/workspace.d.ts.map +1 -0
  120. package/lib/types/adapter/kernel/slices/workspace.js +15 -0
  121. package/lib/types/adapter/ports/channel-catalog.d.ts +90 -0
  122. package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -0
  123. package/lib/types/adapter/ports/channel-catalog.js +2 -0
  124. package/lib/types/adapter/ports/channel-display.d.ts +90 -0
  125. package/lib/types/adapter/ports/channel-display.d.ts.map +1 -0
  126. package/lib/types/adapter/ports/channel-display.js +2 -0
  127. package/lib/types/adapter/ports/channel-session.d.ts +229 -0
  128. package/lib/types/adapter/ports/channel-session.d.ts.map +1 -0
  129. package/lib/types/adapter/ports/channel-session.js +2 -0
  130. package/lib/types/adapter/ports/channel-settings.d.ts +273 -0
  131. package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -0
  132. package/lib/types/adapter/ports/channel-settings.js +1 -0
  133. package/lib/types/adapter/ports/channel-ui.d.ts +569 -0
  134. package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -0
  135. package/lib/types/adapter/ports/channel-ui.js +1 -0
  136. package/lib/types/adapter/ports/channel-view.d.ts +609 -0
  137. package/lib/types/adapter/ports/channel-view.d.ts.map +1 -0
  138. package/lib/types/adapter/ports/channel-view.js +2 -0
  139. package/lib/types/adapter/ports/channel-workspace.d.ts +45 -0
  140. package/lib/types/adapter/ports/channel-workspace.d.ts.map +1 -0
  141. package/lib/types/adapter/ports/channel-workspace.js +2 -0
  142. package/lib/types/adapter/ports/channel.d.ts +145 -0
  143. package/lib/types/adapter/ports/channel.d.ts.map +1 -0
  144. package/lib/types/adapter/ports/channel.js +22 -0
  145. package/lib/types/adapter/ports/decisions.d.ts +18 -0
  146. package/lib/types/adapter/ports/decisions.d.ts.map +1 -0
  147. package/lib/types/adapter/ports/decisions.js +9 -0
  148. package/lib/types/adapter/ports/descriptor.d.ts +25 -0
  149. package/lib/types/adapter/ports/descriptor.d.ts.map +1 -0
  150. package/lib/types/adapter/ports/descriptor.js +11 -0
  151. package/lib/types/adapter/ports/extensions.d.ts +86 -0
  152. package/lib/types/adapter/ports/extensions.d.ts.map +1 -0
  153. package/lib/types/adapter/ports/extensions.js +9 -0
  154. package/lib/types/adapter/ports/index.d.ts +23 -0
  155. package/lib/types/adapter/ports/index.d.ts.map +1 -0
  156. package/lib/types/adapter/ports/index.js +14 -0
  157. package/lib/types/adapter/ports/owner.d.ts +19 -0
  158. package/lib/types/adapter/ports/owner.d.ts.map +1 -0
  159. package/lib/types/adapter/ports/owner.js +9 -0
  160. package/lib/types/adapter/ports/presentation.d.ts +81 -0
  161. package/lib/types/adapter/ports/presentation.d.ts.map +1 -0
  162. package/lib/types/adapter/ports/presentation.js +10 -0
  163. package/lib/types/adapter/ports/scenes.d.ts +24 -0
  164. package/lib/types/adapter/ports/scenes.d.ts.map +1 -0
  165. package/lib/types/adapter/ports/scenes.js +8 -0
  166. package/lib/types/adapter/ports/settings.d.ts +44 -0
  167. package/lib/types/adapter/ports/settings.d.ts.map +1 -0
  168. package/lib/types/adapter/ports/settings.js +9 -0
  169. package/lib/types/adapter/ports/workspace.d.ts +60 -0
  170. package/lib/types/adapter/ports/workspace.d.ts.map +1 -0
  171. package/lib/types/adapter/ports/workspace.js +8 -0
  172. package/lib/types/adapter/spec/index.d.ts +11 -0
  173. package/lib/types/adapter/spec/index.d.ts.map +1 -0
  174. package/lib/types/adapter/spec/index.js +10 -0
  175. package/lib/types/adapter/spec/profile.d.ts +10 -0
  176. package/lib/types/adapter/spec/profile.d.ts.map +1 -0
  177. package/lib/types/adapter/spec/profile.js +9 -0
  178. package/lib/types/adapter/spec/protocol-constants.d.ts +60 -0
  179. package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -0
  180. package/lib/types/adapter/spec/protocol-constants.js +129 -0
  181. package/lib/types/adapter/spec/tui-contributions.d.ts +18 -0
  182. package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -0
  183. package/lib/types/adapter/spec/tui-contributions.js +19 -0
  184. package/lib/types/adapter/standard/admission.d.ts +11 -0
  185. package/lib/types/adapter/standard/admission.d.ts.map +1 -0
  186. package/lib/types/adapter/standard/admission.js +10 -0
  187. package/lib/types/adapter/standard/descriptor.d.ts +74 -0
  188. package/lib/types/adapter/standard/descriptor.d.ts.map +1 -0
  189. package/lib/types/adapter/standard/descriptor.js +356 -0
  190. package/lib/types/{dsh-adapter → adapter/standard}/grants.d.ts +8 -3
  191. package/lib/types/adapter/standard/grants.d.ts.map +1 -0
  192. package/lib/types/{dsh-adapter → adapter/standard}/grants.js +14 -8
  193. package/lib/types/adapter/standard/index.d.ts +25 -0
  194. package/lib/types/adapter/standard/index.d.ts.map +1 -0
  195. package/lib/types/adapter/standard/index.js +24 -0
  196. package/lib/types/adapter/standard/negotiate.d.ts.map +1 -0
  197. package/lib/types/{plugin-spec → adapter/standard}/permission-scope.d.ts +3 -8
  198. package/lib/types/adapter/standard/permission-scope.d.ts.map +1 -0
  199. package/lib/types/{plugin-spec → adapter/standard}/permission-scope.js +4 -26
  200. package/lib/types/adapter/standard/protocols.d.ts +12 -0
  201. package/lib/types/adapter/standard/protocols.d.ts.map +1 -0
  202. package/lib/types/adapter/standard/protocols.js +11 -0
  203. package/lib/types/adapter/standard/registry.d.ts.map +1 -0
  204. package/lib/types/{plugin-spec → adapter/standard}/registry.js +3 -15
  205. package/lib/types/adapter/standard/schema-check.d.ts.map +1 -0
  206. package/lib/types/{plugin-spec → adapter/standard}/schema-check.js +4 -2
  207. package/lib/types/adapter/standard/tui-extension.d.ts +25 -0
  208. package/lib/types/adapter/standard/tui-extension.d.ts.map +1 -0
  209. package/lib/types/adapter/standard/tui-extension.js +45 -0
  210. package/lib/types/{plugin-spec → adapter/standard}/types.d.ts +3 -9
  211. package/lib/types/adapter/standard/types.d.ts.map +1 -0
  212. package/lib/types/{plugin-spec → adapter/standard}/validate.d.ts +3 -3
  213. package/lib/types/adapter/standard/validate.d.ts.map +1 -0
  214. package/lib/types/{plugin-spec → adapter/standard}/validate.js +14 -13
  215. package/lib/types/adapter/upstream/channel-driver.d.ts +22 -0
  216. package/lib/types/adapter/upstream/channel-driver.d.ts.map +1 -0
  217. package/lib/types/adapter/upstream/channel-driver.js +424 -0
  218. package/lib/types/adapter/upstream/decisions-driver.d.ts +15 -0
  219. package/lib/types/adapter/upstream/decisions-driver.d.ts.map +1 -0
  220. package/lib/types/adapter/upstream/decisions-driver.js +141 -0
  221. package/lib/types/adapter/upstream/detection.d.ts +26 -0
  222. package/lib/types/adapter/upstream/detection.d.ts.map +1 -0
  223. package/lib/types/adapter/upstream/detection.js +9 -0
  224. package/lib/types/adapter/upstream/driver.d.ts +50 -0
  225. package/lib/types/adapter/upstream/driver.d.ts.map +1 -0
  226. package/lib/types/adapter/upstream/driver.js +8 -0
  227. package/lib/types/adapter/upstream/extensions-driver.d.ts +24 -0
  228. package/lib/types/adapter/upstream/extensions-driver.d.ts.map +1 -0
  229. package/lib/types/adapter/upstream/extensions-driver.js +697 -0
  230. package/lib/types/adapter/upstream/host-descriptor-driver.d.ts +45 -0
  231. package/lib/types/adapter/upstream/host-descriptor-driver.d.ts.map +1 -0
  232. package/lib/types/adapter/upstream/host-descriptor-driver.js +606 -0
  233. package/lib/types/adapter/upstream/index.d.ts +18 -0
  234. package/lib/types/adapter/upstream/index.d.ts.map +1 -0
  235. package/lib/types/adapter/upstream/index.js +15 -0
  236. package/lib/types/adapter/upstream/presentation-driver.d.ts +17 -0
  237. package/lib/types/adapter/upstream/presentation-driver.d.ts.map +1 -0
  238. package/lib/types/adapter/upstream/presentation-driver.js +129 -0
  239. package/lib/types/adapter/upstream/scenes-driver.d.ts +18 -0
  240. package/lib/types/adapter/upstream/scenes-driver.d.ts.map +1 -0
  241. package/lib/types/adapter/upstream/scenes-driver.js +170 -0
  242. package/lib/types/adapter/upstream/settings-driver.d.ts +20 -0
  243. package/lib/types/adapter/upstream/settings-driver.d.ts.map +1 -0
  244. package/lib/types/adapter/upstream/settings-driver.js +173 -0
  245. package/lib/types/adapter/upstream/workspace-driver.d.ts +19 -0
  246. package/lib/types/adapter/upstream/workspace-driver.d.ts.map +1 -0
  247. package/lib/types/adapter/upstream/workspace-driver.js +190 -0
  248. package/lib/types/api.d.ts +1 -1
  249. package/lib/types/api.d.ts.map +1 -1
  250. package/lib/types/commands.d.ts +2 -41
  251. package/lib/types/commands.d.ts.map +1 -1
  252. package/lib/types/commands.js +1 -1
  253. package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
  254. package/lib/types/components/Chat/JobCard.js +8 -1
  255. package/lib/types/components/GoalTodoPanel.d.ts +2 -1
  256. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
  257. package/lib/types/components/HistorySearchDialog.d.ts.map +1 -1
  258. package/lib/types/components/HistorySearchDialog.js +7 -5
  259. package/lib/types/components/Markdown.d.ts +2 -2
  260. package/lib/types/components/Markdown.d.ts.map +1 -1
  261. package/lib/types/components/Markdown.js +28 -3
  262. package/lib/types/components/MessageList.d.ts.map +1 -1
  263. package/lib/types/components/MessageList.js +46 -17
  264. package/lib/types/components/ModelPicker.d.ts +1 -1
  265. package/lib/types/components/ModelPicker.d.ts.map +1 -1
  266. package/lib/types/components/ModelPicker.js +8 -4
  267. package/lib/types/components/OverlayAbove.d.ts +22 -1
  268. package/lib/types/components/OverlayAbove.d.ts.map +1 -1
  269. package/lib/types/components/OverlayAbove.js +74 -5
  270. package/lib/types/components/PromptInput.d.ts +2 -1
  271. package/lib/types/components/PromptInput.d.ts.map +1 -1
  272. package/lib/types/components/RewindPicker.d.ts.map +1 -1
  273. package/lib/types/components/RewindPicker.js +14 -6
  274. package/lib/types/components/SkillsPicker.d.ts.map +1 -1
  275. package/lib/types/components/SkillsPicker.js +6 -4
  276. package/lib/types/components/Spinner/spinnerMode.d.ts +1 -5
  277. package/lib/types/components/Spinner/spinnerMode.d.ts.map +1 -1
  278. package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
  279. package/lib/types/components/StreamingMarkdown.js +61 -9
  280. package/lib/types/components/design-system/ThemedBox.d.ts +4 -2
  281. package/lib/types/components/design-system/ThemedBox.d.ts.map +1 -1
  282. package/lib/types/components/design-system/ThemedBox.js +2 -2
  283. package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
  284. package/lib/types/components/messages/AssistantToolUseMessage.js +69 -25
  285. package/lib/types/components/overlayBudget.d.ts +39 -0
  286. package/lib/types/components/overlayBudget.d.ts.map +1 -0
  287. package/lib/types/components/overlayBudget.js +43 -0
  288. package/lib/types/deepseekBalance.d.ts +2 -36
  289. package/lib/types/deepseekBalance.d.ts.map +1 -1
  290. package/lib/types/deepseekBalance.js +0 -14
  291. package/lib/types/deepseekPricing.d.ts +2 -1
  292. package/lib/types/deepseekPricing.d.ts.map +1 -1
  293. package/lib/types/deepseekPricing.js +8 -1
  294. package/lib/types/dsh-adapter/approvals.d.ts +11 -1
  295. package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
  296. package/lib/types/dsh-adapter/approvals.js +32 -12
  297. package/lib/types/dsh-adapter/channel/action-readiness.d.ts +20 -0
  298. package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -0
  299. package/lib/types/dsh-adapter/channel/action-readiness.js +83 -0
  300. package/lib/types/dsh-adapter/channel/activity.d.ts +20 -0
  301. package/lib/types/dsh-adapter/channel/activity.d.ts.map +1 -0
  302. package/lib/types/dsh-adapter/channel/activity.js +113 -0
  303. package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts +64 -0
  304. package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts.map +1 -0
  305. package/lib/types/dsh-adapter/channel/agent-view-projection.js +295 -0
  306. package/lib/types/dsh-adapter/channel/background-action.d.ts +41 -0
  307. package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -0
  308. package/lib/types/dsh-adapter/channel/background-action.js +86 -0
  309. package/lib/types/dsh-adapter/channel/binding-events.d.ts +65 -0
  310. package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -0
  311. package/lib/types/dsh-adapter/channel/binding-events.js +169 -0
  312. package/lib/types/dsh-adapter/channel/binding.d.ts +41 -0
  313. package/lib/types/dsh-adapter/channel/binding.d.ts.map +1 -0
  314. package/lib/types/dsh-adapter/channel/binding.js +227 -0
  315. package/lib/types/dsh-adapter/channel/command-completions.d.ts +29 -0
  316. package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -0
  317. package/lib/types/dsh-adapter/channel/command-completions.js +94 -0
  318. package/lib/types/dsh-adapter/channel/commands.d.ts +8 -0
  319. package/lib/types/dsh-adapter/channel/commands.d.ts.map +1 -0
  320. package/lib/types/dsh-adapter/channel/commands.js +9 -0
  321. package/lib/types/dsh-adapter/channel/compaction.d.ts +19 -0
  322. package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -0
  323. package/lib/types/dsh-adapter/channel/compaction.js +116 -0
  324. package/lib/types/dsh-adapter/channel/composer-images.d.ts +57 -0
  325. package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -0
  326. package/lib/types/dsh-adapter/channel/composer-images.js +217 -0
  327. package/lib/types/dsh-adapter/channel/composer-mentions.d.ts +15 -0
  328. package/lib/types/dsh-adapter/channel/composer-mentions.d.ts.map +1 -0
  329. package/lib/types/dsh-adapter/channel/composer-mentions.js +200 -0
  330. package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts +26 -0
  331. package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts.map +1 -0
  332. package/lib/types/dsh-adapter/channel/context-bookkeeping.js +30 -0
  333. package/lib/types/dsh-adapter/channel/decisions.d.ts +19 -0
  334. package/lib/types/dsh-adapter/channel/decisions.d.ts.map +1 -0
  335. package/lib/types/dsh-adapter/channel/decisions.js +90 -0
  336. package/lib/types/dsh-adapter/channel/emitter.d.ts +10 -0
  337. package/lib/types/dsh-adapter/channel/emitter.d.ts.map +1 -0
  338. package/lib/types/dsh-adapter/channel/emitter.js +71 -0
  339. package/lib/types/dsh-adapter/channel/external-commands.d.ts +31 -0
  340. package/lib/types/dsh-adapter/channel/external-commands.d.ts.map +1 -0
  341. package/lib/types/dsh-adapter/channel/external-commands.js +187 -0
  342. package/lib/types/dsh-adapter/channel/file-actions.d.ts +20 -0
  343. package/lib/types/dsh-adapter/channel/file-actions.d.ts.map +1 -0
  344. package/lib/types/dsh-adapter/channel/file-actions.js +45 -0
  345. package/lib/types/dsh-adapter/channel/input-actions.d.ts +13 -0
  346. package/lib/types/dsh-adapter/channel/input-actions.d.ts.map +1 -0
  347. package/lib/types/dsh-adapter/channel/input-actions.js +135 -0
  348. package/lib/types/dsh-adapter/channel/input-delivery.d.ts +37 -0
  349. package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -0
  350. package/lib/types/dsh-adapter/channel/input-delivery.js +305 -0
  351. package/lib/types/dsh-adapter/channel/job-projection.d.ts +28 -0
  352. package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -0
  353. package/lib/types/dsh-adapter/channel/job-projection.js +150 -0
  354. package/lib/types/dsh-adapter/channel/lifetime-resources.d.ts +9 -0
  355. package/lib/types/dsh-adapter/channel/lifetime-resources.d.ts.map +1 -0
  356. package/lib/types/dsh-adapter/channel/lifetime-resources.js +33 -0
  357. package/lib/types/dsh-adapter/channel/loaded-context.d.ts +40 -0
  358. package/lib/types/dsh-adapter/channel/loaded-context.d.ts.map +1 -0
  359. package/lib/types/dsh-adapter/channel/loaded-context.js +62 -0
  360. package/lib/types/dsh-adapter/channel/local-actions.d.ts +70 -0
  361. package/lib/types/dsh-adapter/channel/local-actions.d.ts.map +1 -0
  362. package/lib/types/dsh-adapter/channel/local-actions.js +108 -0
  363. package/lib/types/dsh-adapter/channel/mentions.d.ts +29 -0
  364. package/lib/types/dsh-adapter/channel/mentions.d.ts.map +1 -0
  365. package/lib/types/dsh-adapter/channel/mentions.js +235 -0
  366. package/lib/types/dsh-adapter/channel/mode-actions.d.ts +30 -0
  367. package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -0
  368. package/lib/types/dsh-adapter/channel/mode-actions.js +247 -0
  369. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +35 -0
  370. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -0
  371. package/lib/types/dsh-adapter/channel/mode-permission-actions.js +199 -0
  372. package/lib/types/dsh-adapter/channel/mode-permission.d.ts +58 -0
  373. package/lib/types/dsh-adapter/channel/mode-permission.d.ts.map +1 -0
  374. package/lib/types/dsh-adapter/channel/mode-permission.js +240 -0
  375. package/lib/types/dsh-adapter/channel/mode-roster.d.ts +51 -0
  376. package/lib/types/dsh-adapter/channel/mode-roster.d.ts.map +1 -0
  377. package/lib/types/dsh-adapter/channel/mode-roster.js +119 -0
  378. package/lib/types/dsh-adapter/channel/model-actions.d.ts +46 -0
  379. package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -0
  380. package/lib/types/dsh-adapter/channel/model-actions.js +275 -0
  381. package/lib/types/dsh-adapter/channel/model-switch.d.ts +32 -0
  382. package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -0
  383. package/lib/types/dsh-adapter/channel/model-switch.js +98 -0
  384. package/lib/types/dsh-adapter/channel/notifications.d.ts +9 -0
  385. package/lib/types/dsh-adapter/channel/notifications.d.ts.map +1 -0
  386. package/lib/types/dsh-adapter/channel/notifications.js +24 -0
  387. package/lib/types/dsh-adapter/channel/owner.d.ts +18 -0
  388. package/lib/types/dsh-adapter/channel/owner.d.ts.map +1 -0
  389. package/lib/types/dsh-adapter/channel/owner.js +73 -0
  390. package/lib/types/dsh-adapter/channel/paths.d.ts +31 -0
  391. package/lib/types/dsh-adapter/channel/paths.d.ts.map +1 -0
  392. package/lib/types/dsh-adapter/channel/paths.js +147 -0
  393. package/lib/types/dsh-adapter/channel/permissions.d.ts +40 -0
  394. package/lib/types/dsh-adapter/channel/permissions.d.ts.map +1 -0
  395. package/lib/types/dsh-adapter/channel/permissions.js +187 -0
  396. package/lib/types/dsh-adapter/channel/preferences.d.ts +3 -0
  397. package/lib/types/dsh-adapter/channel/preferences.d.ts.map +1 -0
  398. package/lib/types/dsh-adapter/channel/preferences.js +103 -0
  399. package/lib/types/dsh-adapter/channel/projection-helpers.d.ts +13 -0
  400. package/lib/types/dsh-adapter/channel/projection-helpers.d.ts.map +1 -0
  401. package/lib/types/dsh-adapter/channel/projection-helpers.js +63 -0
  402. package/lib/types/dsh-adapter/channel/projection.d.ts +40 -0
  403. package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -0
  404. package/lib/types/dsh-adapter/channel/projection.js +1021 -0
  405. package/lib/types/dsh-adapter/channel/reports.d.ts +32 -0
  406. package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -0
  407. package/lib/types/dsh-adapter/channel/reports.js +171 -0
  408. package/lib/types/dsh-adapter/channel/session-actions.d.ts +13 -0
  409. package/lib/types/dsh-adapter/channel/session-actions.d.ts.map +1 -0
  410. package/lib/types/dsh-adapter/channel/session-actions.js +29 -0
  411. package/lib/types/dsh-adapter/channel/session-adoption.d.ts +32 -0
  412. package/lib/types/dsh-adapter/channel/session-adoption.d.ts.map +1 -0
  413. package/lib/types/dsh-adapter/channel/session-adoption.js +35 -0
  414. package/lib/types/dsh-adapter/channel/session-fork.d.ts +19 -0
  415. package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -0
  416. package/lib/types/dsh-adapter/channel/session-fork.js +85 -0
  417. package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts +32 -0
  418. package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts.map +1 -0
  419. package/lib/types/dsh-adapter/channel/session-live-adoption.js +62 -0
  420. package/lib/types/dsh-adapter/channel/session-metadata.d.ts +81 -0
  421. package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -0
  422. package/lib/types/dsh-adapter/channel/session-metadata.js +209 -0
  423. package/lib/types/dsh-adapter/channel/session-reset.d.ts +11 -0
  424. package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -0
  425. package/lib/types/dsh-adapter/channel/session-reset.js +44 -0
  426. package/lib/types/dsh-adapter/channel/session-resume.d.ts +56 -0
  427. package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -0
  428. package/lib/types/dsh-adapter/channel/session-resume.js +240 -0
  429. package/lib/types/dsh-adapter/channel/session-rewind.d.ts +19 -0
  430. package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -0
  431. package/lib/types/dsh-adapter/channel/session-rewind.js +128 -0
  432. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts +19 -0
  433. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -0
  434. package/lib/types/dsh-adapter/channel/session-tree-actions.js +138 -0
  435. package/lib/types/dsh-adapter/channel/session-tree.d.ts +10 -0
  436. package/lib/types/dsh-adapter/channel/session-tree.d.ts.map +1 -0
  437. package/lib/types/dsh-adapter/channel/session-tree.js +503 -0
  438. package/lib/types/dsh-adapter/channel/settings-host.d.ts +4 -0
  439. package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -0
  440. package/lib/types/dsh-adapter/channel/settings-host.js +256 -0
  441. package/lib/types/dsh-adapter/channel/skill-catalog.d.ts +33 -0
  442. package/lib/types/dsh-adapter/channel/skill-catalog.d.ts.map +1 -0
  443. package/lib/types/dsh-adapter/channel/skill-catalog.js +215 -0
  444. package/lib/types/dsh-adapter/channel/state.d.ts +46 -0
  445. package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -0
  446. package/lib/types/dsh-adapter/channel/state.js +31 -0
  447. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts +47 -0
  448. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -0
  449. package/lib/types/dsh-adapter/channel/subagent-projection.js +140 -0
  450. package/lib/types/dsh-adapter/channel/transcript.d.ts +73 -0
  451. package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -0
  452. package/lib/types/dsh-adapter/channel/transcript.js +312 -0
  453. package/lib/types/dsh-adapter/channel/types.d.ts +162 -0
  454. package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -0
  455. package/lib/types/dsh-adapter/channel/types.js +1 -0
  456. package/lib/types/dsh-adapter/channel/usage.d.ts +13 -0
  457. package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -0
  458. package/lib/types/dsh-adapter/channel/usage.js +48 -0
  459. package/lib/types/dsh-adapter/channel/workspace-actions.d.ts +20 -0
  460. package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -0
  461. package/lib/types/dsh-adapter/channel/workspace-actions.js +56 -0
  462. package/lib/types/dsh-adapter/channel-facade-actions.d.ts +25 -0
  463. package/lib/types/dsh-adapter/channel-facade-actions.d.ts.map +1 -0
  464. package/lib/types/dsh-adapter/channel-facade-actions.js +55 -0
  465. package/lib/types/dsh-adapter/channel-scene-outlet.d.ts +6 -0
  466. package/lib/types/dsh-adapter/channel-scene-outlet.d.ts.map +1 -0
  467. package/lib/types/dsh-adapter/channel-scene-outlet.js +13 -0
  468. package/lib/types/dsh-adapter/channel-ui.d.ts +9 -0
  469. package/lib/types/dsh-adapter/channel-ui.d.ts.map +1 -0
  470. package/lib/types/dsh-adapter/channel-ui.js +128 -0
  471. package/lib/types/dsh-adapter/channel.d.ts +9 -1525
  472. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  473. package/lib/types/dsh-adapter/channel.js +753 -8145
  474. package/lib/types/dsh-adapter/command-trees.d.ts +1 -0
  475. package/lib/types/dsh-adapter/command-trees.d.ts.map +1 -1
  476. package/lib/types/dsh-adapter/command-trees.js +20 -1
  477. package/lib/types/dsh-adapter/compat/liveSession.d.ts +8 -4
  478. package/lib/types/dsh-adapter/compat/liveSession.d.ts.map +1 -1
  479. package/lib/types/dsh-adapter/compat/liveSession.js +28 -3
  480. package/lib/types/dsh-adapter/compat/persistence.d.ts +21 -0
  481. package/lib/types/dsh-adapter/compat/persistence.d.ts.map +1 -0
  482. package/lib/types/dsh-adapter/compat/persistence.js +17 -0
  483. package/lib/types/dsh-adapter/compat/sessionLog.d.ts +50 -11
  484. package/lib/types/dsh-adapter/compat/sessionLog.d.ts.map +1 -1
  485. package/lib/types/dsh-adapter/compat/sessionLog.js +325 -36
  486. package/lib/types/dsh-adapter/component-identity.d.ts +1 -1
  487. package/lib/types/dsh-adapter/component-identity.d.ts.map +1 -1
  488. package/lib/types/dsh-adapter/component-identity.js +1 -1
  489. package/lib/types/dsh-adapter/contract.d.ts +11 -9
  490. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  491. package/lib/types/dsh-adapter/contract.js +19 -12
  492. package/lib/types/dsh-adapter/decision-guard.d.ts +56 -12
  493. package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -1
  494. package/lib/types/dsh-adapter/decision-guard.js +134 -22
  495. package/lib/types/dsh-adapter/dialogs.d.ts.map +1 -1
  496. package/lib/types/dsh-adapter/dialogs.js +13 -0
  497. package/lib/types/dsh-adapter/effect-ledger.d.ts +5 -0
  498. package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -1
  499. package/lib/types/dsh-adapter/effect-ledger.js +53 -15
  500. package/lib/types/dsh-adapter/extension-events.d.ts +2 -9
  501. package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -1
  502. package/lib/types/dsh-adapter/extension-events.js +0 -20
  503. package/lib/types/dsh-adapter/extensions.d.ts.map +1 -1
  504. package/lib/types/dsh-adapter/extensions.js +3 -2
  505. package/lib/types/dsh-adapter/host-grants.d.ts +23 -0
  506. package/lib/types/dsh-adapter/host-grants.d.ts.map +1 -0
  507. package/lib/types/dsh-adapter/host-grants.js +45 -0
  508. package/lib/types/dsh-adapter/jobs.d.ts +2 -46
  509. package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
  510. package/lib/types/dsh-adapter/jobs.js +0 -25
  511. package/lib/types/dsh-adapter/message-observer.d.ts +15 -2
  512. package/lib/types/dsh-adapter/message-observer.d.ts.map +1 -1
  513. package/lib/types/dsh-adapter/message-observer.js +157 -28
  514. package/lib/types/dsh-adapter/plugin-host.d.ts +80 -11
  515. package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -1
  516. package/lib/types/dsh-adapter/plugin-host.js +438 -41
  517. package/lib/types/dsh-adapter/plugin-storage.d.ts +11 -1
  518. package/lib/types/dsh-adapter/plugin-storage.d.ts.map +1 -1
  519. package/lib/types/dsh-adapter/plugin-storage.js +150 -11
  520. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  521. package/lib/types/dsh-adapter/plugin.js +75 -34
  522. package/lib/types/dsh-adapter/plugins-info.d.ts +2 -2
  523. package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
  524. package/lib/types/dsh-adapter/plugins-info.js +11 -6
  525. package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
  526. package/lib/types/dsh-adapter/presets.js +3 -2
  527. package/lib/types/dsh-adapter/providerWizard.d.ts +2 -159
  528. package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
  529. package/lib/types/dsh-adapter/questions.d.ts +8 -0
  530. package/lib/types/dsh-adapter/questions.d.ts.map +1 -1
  531. package/lib/types/dsh-adapter/questions.js +18 -0
  532. package/lib/types/dsh-adapter/recap.d.ts +1 -9
  533. package/lib/types/dsh-adapter/recap.d.ts.map +1 -1
  534. package/lib/types/dsh-adapter/recap.js +0 -14
  535. package/lib/types/dsh-adapter/renderers.d.ts +1 -0
  536. package/lib/types/dsh-adapter/renderers.d.ts.map +1 -1
  537. package/lib/types/dsh-adapter/renderers.js +26 -1
  538. package/lib/types/dsh-adapter/scenes.d.ts +3 -1
  539. package/lib/types/dsh-adapter/scenes.d.ts.map +1 -1
  540. package/lib/types/dsh-adapter/scenes.js +31 -0
  541. package/lib/types/dsh-adapter/sessionTree.d.ts +14 -95
  542. package/lib/types/dsh-adapter/sessionTree.d.ts.map +1 -1
  543. package/lib/types/dsh-adapter/sessionTree.js +51 -36
  544. package/lib/types/dsh-adapter/sessions/digest.d.ts.map +1 -1
  545. package/lib/types/dsh-adapter/sessions/digest.js +40 -19
  546. package/lib/types/dsh-adapter/sessions/frames.js +2 -0
  547. package/lib/types/dsh-adapter/sessions/index.d.ts +1 -1
  548. package/lib/types/dsh-adapter/sessions/index.d.ts.map +1 -1
  549. package/lib/types/dsh-adapter/sessions/index.js +1 -1
  550. package/lib/types/dsh-adapter/sessions/list.d.ts +23 -0
  551. package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
  552. package/lib/types/dsh-adapter/sessions/list.js +28 -17
  553. package/lib/types/dsh-adapter/sessions/store.d.ts +2 -2
  554. package/lib/types/dsh-adapter/sessions/store.d.ts.map +1 -1
  555. package/lib/types/dsh-adapter/sessions/store.js +12 -11
  556. package/lib/types/dsh-adapter/sessions/types.d.ts +4 -128
  557. package/lib/types/dsh-adapter/sessions/types.d.ts.map +1 -1
  558. package/lib/types/dsh-adapter/sessions/types.js +0 -13
  559. package/lib/types/dsh-adapter/settings-sections.d.ts +4 -95
  560. package/lib/types/dsh-adapter/settings-sections.d.ts.map +1 -1
  561. package/lib/types/dsh-adapter/settings-sections.js +50 -13
  562. package/lib/types/dsh-adapter/settingsEditor.d.ts +2 -36
  563. package/lib/types/dsh-adapter/settingsEditor.d.ts.map +1 -1
  564. package/lib/types/dsh-adapter/settingsEditor.js +0 -18
  565. package/lib/types/dsh-adapter/shortcuts.d.ts +5 -0
  566. package/lib/types/dsh-adapter/shortcuts.d.ts.map +1 -1
  567. package/lib/types/dsh-adapter/shortcuts.js +49 -0
  568. package/lib/types/dsh-adapter/status.d.ts +5 -0
  569. package/lib/types/dsh-adapter/status.d.ts.map +1 -1
  570. package/lib/types/dsh-adapter/status.js +29 -0
  571. package/lib/types/dsh-adapter/subagents.d.ts +9 -49
  572. package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
  573. package/lib/types/dsh-adapter/subagents.js +92 -1
  574. package/lib/types/dsh-adapter/themes.d.ts +1 -0
  575. package/lib/types/dsh-adapter/themes.d.ts.map +1 -1
  576. package/lib/types/dsh-adapter/themes.js +29 -0
  577. package/lib/types/dsh-adapter/toast.d.ts +13 -0
  578. package/lib/types/dsh-adapter/toast.d.ts.map +1 -1
  579. package/lib/types/dsh-adapter/toast.js +31 -1
  580. package/lib/types/dsh-adapter/trajectory/aggregate.d.ts +2 -1
  581. package/lib/types/dsh-adapter/trajectory/aggregate.d.ts.map +1 -1
  582. package/lib/types/dsh-adapter/trajectory/aggregate.js +2 -1
  583. package/lib/types/dsh-adapter/trajectory/guards.d.ts +37 -18
  584. package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -1
  585. package/lib/types/dsh-adapter/trajectory/guards.js +43 -5
  586. package/lib/types/dsh-adapter/trajectory/inspect.d.ts +2 -2
  587. package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -1
  588. package/lib/types/dsh-adapter/trajectory/projection.d.ts +31 -13
  589. package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -1
  590. package/lib/types/dsh-adapter/trajectory/projection.js +71 -14
  591. package/lib/types/dsh-adapter/trajectory/types.d.ts +1 -1
  592. package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -1
  593. package/lib/types/dsh-adapter/transcript-images.d.ts +2 -19
  594. package/lib/types/dsh-adapter/transcript-images.d.ts.map +1 -1
  595. package/lib/types/dsh-adapter/workspaces.d.ts +2 -49
  596. package/lib/types/dsh-adapter/workspaces.d.ts.map +1 -1
  597. package/lib/types/dsh-adapter/workspaces.js +23 -3
  598. package/lib/types/i18n.d.ts +19 -7
  599. package/lib/types/i18n.d.ts.map +1 -1
  600. package/lib/types/i18n.js +8 -3
  601. package/lib/types/ink/components/ScrollBox.d.ts.map +1 -1
  602. package/lib/types/ink/components/ScrollBox.js +30 -33
  603. package/lib/types/ink/dom.d.ts.map +1 -1
  604. package/lib/types/ink/dom.js +32 -64
  605. package/lib/types/ink/get-max-width.d.ts +7 -15
  606. package/lib/types/ink/get-max-width.d.ts.map +1 -1
  607. package/lib/types/ink/get-max-width.js +7 -20
  608. package/lib/types/ink/ink.d.ts +1 -0
  609. package/lib/types/ink/ink.d.ts.map +1 -1
  610. package/lib/types/ink/ink.js +22 -3
  611. package/lib/types/ink/layout/node.d.ts +2 -0
  612. package/lib/types/ink/layout/node.d.ts.map +1 -1
  613. package/lib/types/ink/layout/yoga.d.ts +1 -0
  614. package/lib/types/ink/layout/yoga.d.ts.map +1 -1
  615. package/lib/types/ink/layout/yoga.js +3 -0
  616. package/lib/types/ink/node-cache.d.ts +11 -0
  617. package/lib/types/ink/node-cache.d.ts.map +1 -1
  618. package/lib/types/ink/node-cache.js +3 -0
  619. package/lib/types/ink/output.d.ts +6 -1
  620. package/lib/types/ink/output.d.ts.map +1 -1
  621. package/lib/types/ink/output.js +55 -65
  622. package/lib/types/ink/render-node-to-output.d.ts +24 -1
  623. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  624. package/lib/types/ink/render-node-to-output.js +195 -71
  625. package/lib/types/ink/renderer.d.ts.map +1 -1
  626. package/lib/types/ink/renderer.js +14 -2
  627. package/lib/types/ink/styles.d.ts +12 -0
  628. package/lib/types/ink/styles.d.ts.map +1 -1
  629. package/lib/types/ink/tabstops.d.ts +3 -2
  630. package/lib/types/ink/tabstops.d.ts.map +1 -1
  631. package/lib/types/ink/tabstops.js +5 -4
  632. package/lib/types/ink/wrap-text.js +2 -2
  633. package/lib/types/modelGroups.d.ts +1 -1
  634. package/lib/types/modelGroups.d.ts.map +1 -1
  635. package/lib/types/modelRoute.js +1 -1
  636. package/lib/types/native-ts/yoga-layout/index.d.ts +8 -3
  637. package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -1
  638. package/lib/types/native-ts/yoga-layout/index.js +23 -8
  639. package/lib/types/plugin-host.d.ts +3 -4
  640. package/lib/types/plugin-host.d.ts.map +1 -1
  641. package/lib/types/plugin-host.js +8 -6
  642. package/lib/types/screens/AgentView.d.ts +1 -1
  643. package/lib/types/screens/AgentView.d.ts.map +1 -1
  644. package/lib/types/screens/Chat.d.ts +3 -2
  645. package/lib/types/screens/Chat.d.ts.map +1 -1
  646. package/lib/types/screens/Chat.js +91 -17
  647. package/lib/types/screens/SessionBrowser.d.ts +1 -1
  648. package/lib/types/screens/SessionBrowser.d.ts.map +1 -1
  649. package/lib/types/screens/SessionTree.d.ts +1 -1
  650. package/lib/types/screens/SessionTree.d.ts.map +1 -1
  651. package/lib/types/screens/Settings.d.ts +1 -1
  652. package/lib/types/screens/Settings.d.ts.map +1 -1
  653. package/lib/types/screens/StatusLine.d.ts +1 -1
  654. package/lib/types/screens/StatusLine.d.ts.map +1 -1
  655. package/lib/types/screens/StatusLine.js +40 -1
  656. package/lib/types/screens/TrajectoryScene.d.ts +1 -1
  657. package/lib/types/screens/TrajectoryScene.d.ts.map +1 -1
  658. package/lib/types/sessionModes.d.ts +11 -15
  659. package/lib/types/sessionModes.d.ts.map +1 -1
  660. package/lib/types/sessionModes.js +11 -0
  661. package/lib/types/tuiDisplayPrefs.d.ts +2 -68
  662. package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
  663. package/lib/types/tuiDisplayPrefs.js +5 -1
  664. package/lib/types/utils/credentials.d.ts +13 -0
  665. package/lib/types/utils/credentials.d.ts.map +1 -0
  666. package/lib/types/utils/credentials.js +41 -0
  667. package/lib/types/utils/fileSuggestions.d.ts +2 -9
  668. package/lib/types/utils/fileSuggestions.d.ts.map +1 -1
  669. package/lib/types/utils/fold-long-lines.d.ts +38 -0
  670. package/lib/types/utils/fold-long-lines.d.ts.map +1 -0
  671. package/lib/types/utils/fold-long-lines.js +91 -0
  672. package/node_modules/@deepseek-harness-tui/dsh-auth/lib/pi-ai.d.ts +1 -1
  673. package/node_modules/@deepseek-harness-tui/dsh-auth/lib/profiles.js +4 -0
  674. package/node_modules/@deepseek-harness-tui/dsh-auth/lib/service.js +15 -2
  675. package/node_modules/@deepseek-harness-tui/dsh-auth/package.json +10 -10
  676. package/package.json +125 -81
  677. package/presets/liangshen/.dsh-tui-managed.json +1 -1
  678. package/presets/liangshen/agent.cordis.yml +20 -4
  679. package/presets/liangshen/compaction-epoch.mjs +3 -1
  680. package/presets/liangshen/instruction-hint.mjs +2 -1
  681. package/presets/liangshen/session-events.mjs +8 -0
  682. package/lib/types/dsh-adapter/grants.d.ts.map +0 -1
  683. package/lib/types/dsh-adapter/host-descriptor.d.ts +0 -24
  684. package/lib/types/dsh-adapter/host-descriptor.d.ts.map +0 -1
  685. package/lib/types/dsh-adapter/host-descriptor.js +0 -169
  686. package/lib/types/dsh-adapter/plugin-test-utils.d.ts +0 -62
  687. package/lib/types/dsh-adapter/plugin-test-utils.d.ts.map +0 -1
  688. package/lib/types/dsh-adapter/plugin-test-utils.js +0 -61
  689. package/lib/types/plugin-spec/negotiate.d.ts.map +0 -1
  690. package/lib/types/plugin-spec/permission-scope.d.ts.map +0 -1
  691. package/lib/types/plugin-spec/registry.d.ts.map +0 -1
  692. package/lib/types/plugin-spec/schema-check.d.ts.map +0 -1
  693. package/lib/types/plugin-spec/tui-extension.d.ts +0 -16
  694. package/lib/types/plugin-spec/tui-extension.d.ts.map +0 -1
  695. package/lib/types/plugin-spec/tui-extension.js +0 -79
  696. package/lib/types/plugin-spec/types.d.ts.map +0 -1
  697. package/lib/types/plugin-spec/validate.d.ts.map +0 -1
  698. package/lib/types/test-utils.d.ts +0 -2
  699. package/lib/types/test-utils.d.ts.map +0 -1
  700. package/lib/types/test-utils.js +0 -8
  701. /package/lib/types/{plugin-spec → adapter/standard}/negotiate.d.ts +0 -0
  702. /package/lib/types/{plugin-spec → adapter/standard}/negotiate.js +0 -0
  703. /package/lib/types/{plugin-spec → adapter/standard}/registry.d.ts +0 -0
  704. /package/lib/types/{plugin-spec → adapter/standard}/schema-check.d.ts +0 -0
  705. /package/lib/types/{plugin-spec → adapter/standard}/types.js +0 -0
@@ -0,0 +1,424 @@
1
+ /**
2
+ * Upstream driver for the TUI live Channel.
3
+ *
4
+ * The live Channel is a TUI host-internal stateful object, not a DSH service.
5
+ * The driver mounts the five Channel Host Ports (projection/actions/state/
6
+ * plugins/transcript) over the channel registered for the composition root.
7
+ * It is deliberately read-only at mount time: the HostFacade shadow wrapper
8
+ * gates every action method before a caller can mutate the Channel.
9
+ *
10
+ * Publication is feature-level and honest:
11
+ * - read-only projection/state/transcript features become live after a real
12
+ * snapshot/row probe;
13
+ * - action/plugin mutation methods stay degraded because they cannot be
14
+ * safely auto-reversed on a live TUI.
15
+ */
16
+ import { lifecycleFromDetection } from '../kernel/lifecycle.js';
17
+ import { createChannelUi, createChannelUiLease } from '../channel/ui.js';
18
+ import { adapterRuntimeFor } from '../kernel/runtime-context.js';
19
+ import { getTuiChannelRegistration, onTuiChannelRegistration } from '../channel/host-registry.js';
20
+ import { createChannelActions, createChannelConsumer, createChannelPlugins, createChannelTranscript, createReplayChannelProvider, projectChannelRows, projectChannelSnapshot, projectChannelState, TUI_CHANNEL_WIRE_REVISION, } from '../channel/index.js';
21
+ import { getRegisteredTuiChannel } from '../channel/host-registry.js';
22
+ import { CHANNEL_FEATURES } from '../channel/features.js';
23
+ import { CHANNEL_SPLIT_TOKEN } from '../channel/internal-token.js';
24
+ import { withReplayIsolation } from '../kernel/replay-isolation.js';
25
+ import { onChannelOwnerDispose } from '../../dsh-adapter/channel/owner.js';
26
+ const CAPABILITY = 'host.channel';
27
+ function serviceEvidence(id) {
28
+ return { kind: 'service', id };
29
+ }
30
+ function methodEvidence(service, method) {
31
+ return { kind: 'method', id: `${service}:${method}` };
32
+ }
33
+ function probeEvidence(id, detail) {
34
+ return { kind: 'probe', id, detail };
35
+ }
36
+ function errorText(error) {
37
+ return error instanceof Error ? error.message : String(error);
38
+ }
39
+ function channelFor(ctx) {
40
+ const candidate = getRegisteredTuiChannel(ctx);
41
+ if (candidate === null || typeof candidate !== 'object')
42
+ return undefined;
43
+ return candidate;
44
+ }
45
+ export function detectChannelCapability(ctx) {
46
+ const channel = channelFor(ctx);
47
+ if (channel === undefined) {
48
+ return { state: 'unsupported', reason: 'live TUI Channel is not registered for this composition root' };
49
+ }
50
+ const evidence = [serviceEvidence('tuiChannel')];
51
+ if (typeof channel.version !== 'number') {
52
+ return { state: 'degraded', missing: ['channel.version'], evidence };
53
+ }
54
+ if (!Array.isArray(channel.rows)) {
55
+ return { state: 'degraded', missing: ['channel.rows'], evidence };
56
+ }
57
+ const methods = ['submit', 'cancel', 'clear', 'notify', 'traceEvents'];
58
+ const missing = [];
59
+ for (const method of methods) {
60
+ if (typeof channel[method] === 'function') {
61
+ evidence.push(methodEvidence('tuiChannel', method));
62
+ }
63
+ else {
64
+ missing.push(`tuiChannel.${method}()`);
65
+ }
66
+ }
67
+ if (missing.length > 0)
68
+ return { state: 'degraded', missing, evidence };
69
+ return { state: 'supported', evidence };
70
+ }
71
+ export function verifyChannelLive(ctx) {
72
+ return verifyChannelLiveAsync(ctx);
73
+ }
74
+ async function verifyChannelLiveAsync(ctx) {
75
+ const lifecycles = verifyChannelLiveSync(ctx);
76
+ const channel = channelFor(ctx);
77
+ if (channel === undefined)
78
+ return lifecycles;
79
+ try {
80
+ // Real production use of the Provider/Consumer protocol path: project the
81
+ // live Channel into a `tui.dsh/v1alpha1#Channel` snapshot and validate it
82
+ // through the same consumer used by the replay harness. This is not a
83
+ // self-referential string check; it exercises the actual protocol
84
+ // envelope against the live Channel projection.
85
+ const projection = projectChannelSnapshot(channel);
86
+ const state = projectChannelState(channel);
87
+ const protocolSnapshot = {
88
+ wireRevision: TUI_CHANNEL_WIRE_REVISION,
89
+ channelId: String(projection.agentId || 'live-channel'),
90
+ version: projection.version,
91
+ state: Object.freeze({
92
+ ...projection,
93
+ ...state,
94
+ }),
95
+ };
96
+ // Exercise the full protocol envelope (open/subscribe/invoke/close) using
97
+ // the same Provider/Consumer pair as the replay harness. The only method
98
+ // exposed here is the read-only traceEvents projection, and it runs under
99
+ // replay isolation so the method-handler gate is satisfied.
100
+ const methods = typeof channel.traceEvents === 'function'
101
+ ? { traceEvents: () => channel.traceEvents() }
102
+ : undefined;
103
+ const protocolProvider = createReplayChannelProvider({
104
+ snapshots: [protocolSnapshot],
105
+ ...(methods === undefined ? {} : { methods }),
106
+ });
107
+ const protocolConsumer = createChannelConsumer(protocolProvider);
108
+ const subscriptionConsumer = createChannelConsumer(protocolProvider);
109
+ await withReplayIsolation(async () => {
110
+ const opened = await protocolConsumer.open({});
111
+ await subscriptionConsumer.subscribe(opened.channelId, 0, () => undefined);
112
+ if (methods !== undefined) {
113
+ await protocolConsumer.invoke(opened.channelId, 'traceEvents', []);
114
+ }
115
+ await protocolConsumer.close(opened.channelId);
116
+ });
117
+ }
118
+ catch (error) {
119
+ // A live Channel that cannot be represented as a protocol snapshot must
120
+ // never be promoted to live by the Kernel. `verifyChannelLiveSync()` may
121
+ // return `staged` lifecycles carrying probe evidence; the Kernel's
122
+ // `verifyAndPromote()` would otherwise turn them into live after this
123
+ // function returns. Force every channel lifecycle (including staged
124
+ // read-only features) to degraded when protocol validation fails.
125
+ const reason = `channel protocol snapshot rejected: ${errorText(error)}`;
126
+ return lifecycles.map(lifecycle => lifecycle.capability.startsWith('host.channel.')
127
+ ? lifecycleFromDetection(lifecycle.capability, {
128
+ state: 'degraded',
129
+ missing: [reason],
130
+ evidence: 'evidence' in lifecycle.detection ? lifecycle.detection.evidence ?? [] : [],
131
+ })
132
+ : lifecycle);
133
+ }
134
+ return lifecycles;
135
+ }
136
+ function liveFeature(capability, evidence) {
137
+ return lifecycleFromDetection(capability, { state: 'supported', evidence });
138
+ }
139
+ function degradedFeature(capability, evidence, missing) {
140
+ return lifecycleFromDetection(capability, { state: 'degraded', missing: [missing], evidence });
141
+ }
142
+ function verifyChannelLiveSync(ctx) {
143
+ const channel = channelFor(ctx);
144
+ const base = [serviceEvidence('tuiChannel')];
145
+ if (channel === undefined) {
146
+ return CHANNEL_FEATURES.map(feature => degradedFeature(feature, base, 'channel-not-registered'));
147
+ }
148
+ const out = [];
149
+ try {
150
+ const snapshot = projectChannelSnapshot(channel);
151
+ out.push(liveFeature('host.channel.projection.snapshot', [
152
+ serviceEvidence('tuiChannel'),
153
+ methodEvidence('tuiChannel', 'version'),
154
+ probeEvidence('channel.projection.snapshot()', `projected ${snapshot.rows.length} row(s)`),
155
+ ]));
156
+ }
157
+ catch (error) {
158
+ out.push(degradedFeature('host.channel.projection.snapshot', base, errorText(error)));
159
+ }
160
+ try {
161
+ const state = projectChannelState(channel);
162
+ out.push(liveFeature('host.channel.state.snapshot', [
163
+ serviceEvidence('tuiChannel'),
164
+ methodEvidence('tuiChannel', 'version'),
165
+ probeEvidence('channel.state.snapshot()', `state version ${state.version}`),
166
+ ]));
167
+ }
168
+ catch (error) {
169
+ out.push(degradedFeature('host.channel.state.snapshot', base, errorText(error)));
170
+ }
171
+ try {
172
+ const rows = projectChannelRows(channel.rows);
173
+ out.push(liveFeature('host.channel.transcript.rows', [
174
+ serviceEvidence('tuiChannel'),
175
+ methodEvidence('tuiChannel', 'rows'),
176
+ probeEvidence('channel.transcript.rows()', `read ${rows.length} rendered row(s)`),
177
+ ]));
178
+ }
179
+ catch (error) {
180
+ out.push(degradedFeature('host.channel.transcript.rows', base, errorText(error)));
181
+ }
182
+ try {
183
+ const events = channel.traceEvents();
184
+ if (!Array.isArray(events)) {
185
+ throw new TypeError('tuiChannel.traceEvents() did not return an array');
186
+ }
187
+ out.push(liveFeature('host.channel.transcript.trace-events', [
188
+ serviceEvidence('tuiChannel'),
189
+ methodEvidence('tuiChannel', 'traceEvents'),
190
+ probeEvidence('channel.transcript.trace-events()', `read ${events.length} DSH session event(s)`),
191
+ ]));
192
+ }
193
+ catch (error) {
194
+ out.push(degradedFeature('host.channel.transcript.trace-events', base, errorText(error)));
195
+ }
196
+ // Subscribe is a real listener on the live Channel; it can be safely
197
+ // registered and disposed by the Kernel wrapper, but the driver does not
198
+ // auto-run it in verifyLive because the running TUI already owns it.
199
+ out.push(degradedFeature('host.channel.projection.subscribe', base, 'host.channel.projection.subscribe.live-probe'));
200
+ // Mutations and plugin invocations are not safely auto-reversible on a live
201
+ // TUI; they remain degraded until a dedicated replay channel proves them.
202
+ const emitted = new Set(out.map(lifecycle => lifecycle.capability));
203
+ for (const feature of CHANNEL_FEATURES) {
204
+ if (emitted.has(feature))
205
+ continue;
206
+ out.push(degradedFeature(feature, base, `${feature}.live-probe`));
207
+ }
208
+ return out;
209
+ }
210
+ function requireChannel(ctx) {
211
+ const channel = channelFor(ctx);
212
+ if (channel === undefined) {
213
+ throw new Error('dsh-tui: live TUI Channel is not registered for this composition root');
214
+ }
215
+ return channel;
216
+ }
217
+ /**
218
+ * Captures exactly one registered Channel for one mounted Host Port. A port
219
+ * may wait until its first use because the Kernel can mount before React
220
+ * creates the channel, but it must never silently borrow a later replacement.
221
+ * Registration replacement and driver disposal revoke subscriptions, returned
222
+ * notification handles, and nested renderer capabilities together.
223
+ */
224
+ function throwCleanupFailures(failures, message) {
225
+ if (failures.length === 1)
226
+ throw failures[0];
227
+ if (failures.length > 1)
228
+ throw new AggregateError(failures, message);
229
+ }
230
+ function createChannelPortLease(ctx, ownDriver, isDriverActive) {
231
+ let active = true;
232
+ let captured;
233
+ let releaseOwnerLease;
234
+ const cleanups = new Set();
235
+ const assertActive = () => {
236
+ if (!active || !isDriverActive())
237
+ throw new Error('dsh-tui: Channel driver has been disposed');
238
+ if (captured !== undefined && getTuiChannelRegistration(ctx) !== captured) {
239
+ dispose();
240
+ throw new Error('dsh-tui: Channel port lifetime has ended');
241
+ }
242
+ };
243
+ const dispose = () => {
244
+ if (!active)
245
+ return;
246
+ active = false;
247
+ const failures = [];
248
+ for (const cleanup of [...cleanups]) {
249
+ try {
250
+ cleanup();
251
+ }
252
+ catch (error) {
253
+ failures.push(error);
254
+ }
255
+ }
256
+ throwCleanupFailures(failures, 'dsh-tui: Channel port cleanup failed');
257
+ };
258
+ const own = (cleanup) => {
259
+ let released = false;
260
+ const release = () => {
261
+ if (released)
262
+ return;
263
+ released = true;
264
+ cleanups.delete(release);
265
+ cleanup();
266
+ };
267
+ if (active)
268
+ cleanups.add(release);
269
+ else
270
+ release();
271
+ return release;
272
+ };
273
+ const channel = () => {
274
+ assertActive();
275
+ const current = getTuiChannelRegistration(ctx);
276
+ if (current === undefined || current.channel === null || typeof current.channel !== 'object') {
277
+ throw new Error('dsh-tui: live TUI Channel is not registered for this composition root');
278
+ }
279
+ if (captured === undefined) {
280
+ captured = current;
281
+ // Registry authority alone is insufficient: a retained Port must also
282
+ // stop immediately when its live Channel owner releases.
283
+ releaseOwnerLease = onChannelOwnerDispose(current.channel, dispose);
284
+ own(() => { releaseOwnerLease?.(); releaseOwnerLease = undefined; });
285
+ }
286
+ if (captured !== current) {
287
+ dispose();
288
+ throw new Error('dsh-tui: Channel port lifetime has ended');
289
+ }
290
+ // Registering with an already released owner revokes synchronously.
291
+ assertActive();
292
+ return current.channel;
293
+ };
294
+ const unsubscribe = onTuiChannelRegistration(ctx, next => {
295
+ if (captured !== undefined && next !== captured) {
296
+ try {
297
+ dispose();
298
+ }
299
+ catch { /* notification is advisory; stale lease is still revoked */ }
300
+ }
301
+ });
302
+ ownDriver(() => {
303
+ const failures = [];
304
+ for (const cleanup of [unsubscribe, dispose]) {
305
+ try {
306
+ cleanup();
307
+ }
308
+ catch (error) {
309
+ failures.push(error);
310
+ }
311
+ }
312
+ throwCleanupFailures(failures, 'dsh-tui: Channel driver cleanup failed');
313
+ });
314
+ return { assertActive, channel, own, dispose };
315
+ }
316
+ function createProjectionPort(ctx, lease) {
317
+ let cachedUi;
318
+ return Object.freeze({
319
+ ui() {
320
+ const channel = lease.channel();
321
+ if (cachedUi === undefined) {
322
+ const uiLease = createChannelUiLease(() => {
323
+ lease.assertActive();
324
+ return true;
325
+ });
326
+ lease.own(() => uiLease.dispose());
327
+ cachedUi = createChannelUi(channel, adapterRuntimeFor(ctx).mode, uiLease);
328
+ }
329
+ return cachedUi;
330
+ },
331
+ snapshot() { return projectChannelSnapshot(lease.channel()); },
332
+ subscribe(listener) {
333
+ const channel = lease.channel();
334
+ const unsubscribe = channel.subscribe(() => { if (leaseIsActive(lease))
335
+ listener(); });
336
+ return lease.own(unsubscribe);
337
+ },
338
+ });
339
+ }
340
+ function leaseIsActive(lease) {
341
+ try {
342
+ lease.assertActive();
343
+ return true;
344
+ }
345
+ catch {
346
+ return false;
347
+ }
348
+ }
349
+ function createStatePort(lease) {
350
+ return Object.freeze({ snapshot: () => projectChannelState(lease.channel()) });
351
+ }
352
+ function createActionsPort(lease) {
353
+ const actions = () => createChannelActions(lease.channel(), CHANNEL_SPLIT_TOKEN);
354
+ return Object.freeze({
355
+ submit: text => actions().submit(text),
356
+ steer: text => actions().steer(text),
357
+ cancel: () => actions().cancel(),
358
+ interruptAndDeliver: texts => actions().interruptAndDeliver(texts),
359
+ clear: () => actions().clear(),
360
+ loadOlder: () => actions().loadOlder(),
361
+ notify: (text, options) => lease.own(actions().notify(text, options)),
362
+ });
363
+ }
364
+ function createPluginsPort(lease) {
365
+ const plugins = () => createChannelPlugins(lease.channel(), CHANNEL_SPLIT_TOKEN);
366
+ return Object.freeze({
367
+ async runExternalCommand(name, rawInput) {
368
+ const result = await plugins().runExternalCommand(name, rawInput);
369
+ lease.assertActive();
370
+ return result;
371
+ },
372
+ openPluginScene: id => plugins().openPluginScene(id),
373
+ closePluginScene: () => plugins().closePluginScene(),
374
+ settingsSections: () => plugins().settingsSections(),
375
+ subscribeSettingsSections(listener) {
376
+ const unsubscribe = plugins().subscribeSettingsSections(() => { if (leaseIsActive(lease))
377
+ listener(); });
378
+ return lease.own(unsubscribe);
379
+ },
380
+ });
381
+ }
382
+ function createTranscriptPort(lease) {
383
+ const transcript = () => createChannelTranscript(lease.channel(), CHANNEL_SPLIT_TOKEN);
384
+ return Object.freeze({ rows: () => transcript().rows(), traceEvents: () => transcript().traceEvents() });
385
+ }
386
+ function createChannelPort(ctx, own, isActive) {
387
+ const lease = createChannelPortLease(ctx, own, isActive);
388
+ return Object.freeze({
389
+ projection: createProjectionPort(ctx, lease),
390
+ actions: createActionsPort(lease),
391
+ state: createStatePort(lease),
392
+ plugins: createPluginsPort(lease),
393
+ transcript: createTranscriptPort(lease),
394
+ });
395
+ }
396
+ export const channelDriver = {
397
+ id: 'dsh-tui-channel',
398
+ upstreamFamily: 'dsh-tui',
399
+ capability: CAPABILITY,
400
+ mountEffectClass: 'read-only',
401
+ detect: detectChannelCapability,
402
+ verifyLive: verifyChannelLive,
403
+ async mount(context) {
404
+ const disposers = new Set();
405
+ let active = true;
406
+ return {
407
+ disposer: () => {
408
+ active = false;
409
+ const failures = [];
410
+ for (const dispose of [...disposers]) {
411
+ try {
412
+ dispose();
413
+ }
414
+ catch (error) {
415
+ failures.push(error);
416
+ }
417
+ }
418
+ disposers.clear();
419
+ throwCleanupFailures(failures, 'dsh-tui: Channel driver cleanup failed');
420
+ },
421
+ ports: { channel: createChannelPort(context, dispose => { disposers.add(dispose); }, () => active) },
422
+ };
423
+ },
424
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Upstream driver for the TUI DecisionEvents capability.
3
+ *
4
+ * The read-only dispatch-topology probe is real: it asks the host which
5
+ * decision event names are actually dispatched in this composition. The
6
+ * subscribe path is intentionally kept staged on the internal Host Port
7
+ * because plugin-side subscriptions must go through the mediated
8
+ * DecisionEvents API (which derives owner from the Cordis activation); the
9
+ * driver never fabricates a live subscribe probe.
10
+ */
11
+ import type { Detection } from './detection.js';
12
+ import type { UpstreamDriver } from './driver.js';
13
+ export declare function detectDecisionsCapability(ctx: unknown): Detection;
14
+ export declare const decisionsDriver: UpstreamDriver;
15
+ //# sourceMappingURL=decisions-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisions-driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/decisions-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAA;AA2BtE,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CA+CjE;AAoDD,eAAO,MAAM,eAAe,EAAE,cAa7B,CAAA"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Upstream driver for the TUI DecisionEvents capability.
3
+ *
4
+ * The read-only dispatch-topology probe is real: it asks the host which
5
+ * decision event names are actually dispatched in this composition. The
6
+ * subscribe path is intentionally kept staged on the internal Host Port
7
+ * because plugin-side subscriptions must go through the mediated
8
+ * DecisionEvents API (which derives owner from the Cordis activation); the
9
+ * driver never fabricates a live subscribe probe.
10
+ */
11
+ import { lifecycleFromDetection } from '../kernel/lifecycle.js';
12
+ import { KERNEL_TUI_DECISION_EVENT_NAMES as TUI_DECISION_EVENT_NAMES } from '../kernel/contract-catalog.js';
13
+ const CAPABILITY = 'host.decisions';
14
+ function serviceEvidence(id) {
15
+ return { kind: 'service', id };
16
+ }
17
+ function methodEvidence(service, method) {
18
+ return { kind: 'method', id: `${service}:${method}` };
19
+ }
20
+ function probeEvidence(id, detail) {
21
+ return { kind: 'probe', id, detail };
22
+ }
23
+ function errorText(error) {
24
+ return error instanceof Error ? error.message : String(error);
25
+ }
26
+ function decisionHost(ctx) {
27
+ return ctx?.get?.('tuiPluginHost');
28
+ }
29
+ export function detectDecisionsCapability(ctx) {
30
+ const host = decisionHost(ctx);
31
+ if (host === undefined) {
32
+ return { state: 'unsupported', reason: 'tuiPluginHost service is not mounted' };
33
+ }
34
+ const evidence = [serviceEvidence('tuiPluginHost')];
35
+ if (typeof host.probeDecisionEvents === 'function') {
36
+ evidence.push(methodEvidence('tuiPluginHost', 'probeDecisionEvents'));
37
+ }
38
+ else {
39
+ return { state: 'degraded', missing: ['tuiPluginHost.probeDecisionEvents()'], evidence };
40
+ }
41
+ if (typeof host.subscribeDecision === 'function') {
42
+ evidence.push(methodEvidence('tuiPluginHost', 'subscribeDecision'));
43
+ }
44
+ else {
45
+ return {
46
+ state: 'degraded',
47
+ missing: ['tuiPluginHost.subscribeDecision()'],
48
+ evidence,
49
+ };
50
+ }
51
+ try {
52
+ const available = host.probeDecisionEvents();
53
+ if (!Array.isArray(available))
54
+ throw new Error('probeDecisionEvents() did not return an array');
55
+ if (available.length === 0) {
56
+ return {
57
+ state: 'degraded',
58
+ missing: ['decision-dispatch-topology'],
59
+ evidence: [
60
+ ...evidence,
61
+ probeEvidence('tuiPluginHost.probeDecisionEvents()', 'no decision dispatch topology is currently mounted'),
62
+ ],
63
+ };
64
+ }
65
+ return {
66
+ state: 'supported',
67
+ evidence: [
68
+ ...evidence,
69
+ probeEvidence('tuiPluginHost.probeDecisionEvents()', `verified ${available.length}/${TUI_DECISION_EVENT_NAMES.length} decision events`),
70
+ ],
71
+ };
72
+ }
73
+ catch (error) {
74
+ return {
75
+ state: 'degraded',
76
+ missing: ['tuiPluginHost.probeDecisionEvents()'],
77
+ evidence: [...evidence, probeEvidence('tuiPluginHost.probeDecisionEvents()', errorText(error))],
78
+ };
79
+ }
80
+ }
81
+ async function verifyDecisionsLive(ctx) {
82
+ const detection = detectDecisionsCapability(ctx);
83
+ if (detection.state !== 'supported') {
84
+ return TUI_DECISION_EVENT_NAMES.map(event => lifecycleFromDetection(`host.decisions.event:${event}`, {
85
+ state: 'degraded',
86
+ missing: ['decision-dispatch-topology'],
87
+ evidence: [serviceEvidence('tuiPluginHost')],
88
+ }));
89
+ }
90
+ const host = decisionHost(ctx);
91
+ const available = host.probeDecisionEvents();
92
+ return TUI_DECISION_EVENT_NAMES.map(event => {
93
+ const verified = Array.isArray(available) && available.includes(event);
94
+ const feature = `host.decisions.event:${event}`;
95
+ return verified
96
+ ? lifecycleFromDetection(feature, {
97
+ state: 'supported',
98
+ evidence: [
99
+ serviceEvidence('tuiPluginHost'),
100
+ probeEvidence(`decision:${event}`, `real dispatch topology verified for ${event}`),
101
+ ],
102
+ })
103
+ : lifecycleFromDetection(feature, {
104
+ state: 'degraded',
105
+ missing: [`decision-event:${event}`],
106
+ evidence: [serviceEvidence('tuiPluginHost')],
107
+ });
108
+ });
109
+ }
110
+ function createDecisionsPort(ctx) {
111
+ const host = decisionHost(ctx);
112
+ return Object.freeze({
113
+ probe() {
114
+ if (host === undefined)
115
+ return [];
116
+ try {
117
+ return [...host.probeDecisionEvents()];
118
+ }
119
+ catch {
120
+ return [];
121
+ }
122
+ },
123
+ subscribe() {
124
+ throw new Error('dsh-tui: host.decisions.subscribe is staged; plugin subscriptions must use the mediated DecisionEvents API');
125
+ },
126
+ });
127
+ }
128
+ export const decisionsDriver = {
129
+ id: 'dsh-tui-decisions',
130
+ upstreamFamily: 'dsh-tui',
131
+ capability: 'host.decisions',
132
+ mountEffectClass: 'read-only',
133
+ detect: detectDecisionsCapability,
134
+ verifyLive: verifyDecisionsLive,
135
+ async mount(context) {
136
+ return {
137
+ disposer: () => undefined,
138
+ ports: { decisions: createDecisionsPort(context) },
139
+ };
140
+ },
141
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Structured upstream capability detection.
3
+ *
4
+ * This is the only shape a driver may return from detect(). It is deliberately
5
+ * not a boolean: the kernel needs to know *why* a capability is unavailable or
6
+ * only partially available so diagnostics and Host Descriptor publication stay
7
+ * honest.
8
+ */
9
+ export interface DetectionEvidence {
10
+ readonly kind: 'service' | 'method' | 'version' | 'contract' | 'probe';
11
+ readonly id: string;
12
+ readonly detail?: string;
13
+ }
14
+ export type Detection = {
15
+ readonly state: 'supported';
16
+ readonly evidence: readonly DetectionEvidence[];
17
+ } | {
18
+ readonly state: 'unsupported';
19
+ readonly reason: string;
20
+ } | {
21
+ readonly state: 'degraded';
22
+ readonly missing: readonly string[];
23
+ readonly evidence?: readonly DetectionEvidence[];
24
+ };
25
+ export type DetectionState = Detection['state'];
26
+ //# sourceMappingURL=detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAChD,GACD;IACE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,GACD;IACE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACjD,CAAA;AAEL,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Structured upstream capability detection.
3
+ *
4
+ * This is the only shape a driver may return from detect(). It is deliberately
5
+ * not a boolean: the kernel needs to know *why* a capability is unavailable or
6
+ * only partially available so diagnostics and Host Descriptor publication stay
7
+ * honest.
8
+ */
9
+ export {};
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Upstream driver contract.
3
+ *
4
+ * Upstream drivers are the only place allowed to import `@deepseek-ai/*`.
5
+ * Each driver translates one DSH capability into a host Port; it does not
6
+ * define protocols, manifest semantics, permission policy or Host Descriptor.
7
+ */
8
+ import type { CapabilityLifecycle } from '../kernel/lifecycle.js';
9
+ import type { HostEffectClass } from '../ports/owner.js';
10
+ import type { Detection } from './detection.js';
11
+ export interface UpstreamDriverMount {
12
+ readonly disposer: () => void;
13
+ /** Optional host ports mounted by this driver. Keys are the HostFacade
14
+ * port names (for example `workspace`, `scenes`, `settings`). */
15
+ readonly ports?: Readonly<Record<string, unknown>>;
16
+ }
17
+ export interface UpstreamDriver {
18
+ readonly id: string;
19
+ readonly upstreamFamily: string;
20
+ readonly capability: string;
21
+ /** Must return structured Detection, never a bare boolean. */
22
+ detect(context: unknown): Detection;
23
+ /**
24
+ * Optional synchronous evidence-based lifecycle projection. Drivers that
25
+ * cover several publishable contracts (for example the host-descriptor
26
+ * driver) use this instead of a single generic Detection so the Kernel can
27
+ * run `declared → staged → live` over all contracts in one place.
28
+ */
29
+ lifecycles?(context: unknown): readonly CapabilityLifecycle[];
30
+ /**
31
+ * Optional asynchronous live verification. This is where reversible probes
32
+ * live (temporary command registration, isolated storage file, temporary
33
+ * observer subscription). The Kernel calls it only outside passive shadow /
34
+ * real-service replay; the replay harness may call it on isolated mock
35
+ * context.
36
+ */
37
+ verifyLive?(context: unknown): Promise<readonly CapabilityLifecycle[]>;
38
+ /**
39
+ * Effect class produced by this driver's mount. The Kernel enforces the
40
+ * unified shadow policy before calling `mount`, so passive/replay production
41
+ * modes cannot obtain real effects through a driver mount.
42
+ */
43
+ readonly mountEffectClass: HostEffectClass;
44
+ /**
45
+ * Mount this driver into a kernel runtime. The kernel supplies Ports; the
46
+ * driver performs only translation and returns a disposal handle.
47
+ */
48
+ mount(context: unknown, kernelPorts: unknown): Promise<UpstreamDriverMount>;
49
+ }
50
+ //# sourceMappingURL=driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B;qEACiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,8DAA8D;IAC9D,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC;;;;;OAKG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,mBAAmB,EAAE,CAAA;IAC7D;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAA;IACtE;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAA;IAC1C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAC5E"}