@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,503 @@
1
+ import { sessionCwdMatches } from './paths.js';
2
+ import { SessionId } from '@deepseek-ai/dsh-session';
3
+ import { t } from '../../i18n.js';
4
+ import { defaultMaxScanned, liveSessionListingFields, readPhysicalHeaderSeedLength, readPhysicalHeaderSeedLengthForSession, readSessionEventsFromFile, readSessionEventsFromLog, } from '../compat/index.js';
5
+ import { snapshotLiveSessionEvents } from '../compat/liveSession.js';
6
+ import { readPersistedSession } from '../compat/persistence.js';
7
+ import { enumerateSessions, readInheritedCut } from '../sessions/index.js';
8
+ import { buildSessionTree, liveTailWindow } from '../sessionTree.js';
9
+ /** Bounded family-tree assembly owns budgets; binding remains the caller's authority. */
10
+ export function createSessionTreeReader(ctx, binding, cwd, notify, owner) {
11
+ async function readTree() {
12
+ const persistence = ctx.get('sessionPersistence');
13
+ if (!persistence) {
14
+ notify(t('tree-unavailable'), { color: 'error' });
15
+ return null;
16
+ }
17
+ // Pin the live session snapshot NOW: every await below (list/inspect)
18
+ // is a window in which a fire-and-forget switch (/new, /resume,
19
+ // /model) can swap `agent`. Reading agent.session piecemeal would
20
+ // stitch the NEW session's events under the OLD session's id — a
21
+ // confirm would then rewind from the wrong persisted log. Everything
22
+ // below reads this snapshot, and the result is discarded if the live
23
+ // session moved on before the build finished.
24
+ const liveSession = binding.agent.session;
25
+ const currentId = String(liveSession.id);
26
+ // Same enumerate as the /resume listing (snapshots when the backend
27
+ // offers revisions, plain list otherwise), each header narrowed through
28
+ // the sessions reader — one malformed header costs that session its
29
+ // metadata, never the whole tree. `raw` stays the backend's own header
30
+ // object for locate() below.
31
+ let listed = [];
32
+ try {
33
+ listed = await enumerateSessions(persistence);
34
+ }
35
+ catch {
36
+ // A listing failure degrades the tree to the live session only.
37
+ }
38
+ // Same cwd scoping as /resume (the project dimension): forks
39
+ // inherit cwd, so the family never crosses projects — and the match is
40
+ // the project-aware one /resume uses, so a pre-upgrade subdirectory
41
+ // path, Windows separators, or a case variant on one header cannot
42
+ // quietly amputate the ancestors and siblings it records. Subagent
43
+ // child sessions carry parentSession too, but they are delegation
44
+ // artifacts, not rewind branches — exclude them from the family.
45
+ const local = listed.filter(entry => sessionCwdMatches(cwd(), entry.header.cwd ?? '') &&
46
+ entry.header.origin !== 'subagent' &&
47
+ (entry.header.delegationDepth ?? 0) === 0);
48
+ const headerById = new Map(local.map(entry => [entry.header.id, entry]));
49
+ // The live session's header may not be materialized in list() yet
50
+ // (the jsonl backend writes on first append) — overlay the in-memory
51
+ // header so the ancestor walk below still finds a fresh fork's parent.
52
+ const liveListed = liveSessionListingFields(liveSession);
53
+ const liveMeta = liveSession.header;
54
+ if (!headerById.has(currentId) && liveListed.id !== undefined) {
55
+ headerById.set(currentId, {
56
+ header: {
57
+ id: liveListed.id,
58
+ cwd: liveListed.cwd,
59
+ createdAt: liveListed.createdAt,
60
+ parentSession: liveListed.parentSession,
61
+ origin: liveListed.origin,
62
+ delegationDepth: liveListed.delegationDepth,
63
+ seedLength: liveListed.seedLength,
64
+ agentPreset: liveListed.agentPreset,
65
+ },
66
+ raw: liveMeta,
67
+ });
68
+ }
69
+ // Family = the live session's ancestor chain PLUS every descendant of
70
+ // its topmost known ancestor (siblings and cousins included).
71
+ const childrenByParent = new Map();
72
+ for (const entry of local) {
73
+ if (entry.header.parentSession === undefined)
74
+ continue;
75
+ const list = childrenByParent.get(entry.header.parentSession);
76
+ if (list === undefined)
77
+ childrenByParent.set(entry.header.parentSession, [entry.header.id]);
78
+ else
79
+ list.push(entry.header.id);
80
+ }
81
+ const ancestorIds = [];
82
+ {
83
+ const visited = new Set([currentId]);
84
+ let cursor = headerById.get(currentId);
85
+ while (cursor?.header.parentSession !== undefined) {
86
+ const parentId = cursor.header.parentSession;
87
+ if (visited.has(parentId))
88
+ break;
89
+ visited.add(parentId);
90
+ if (!headerById.has(parentId))
91
+ break;
92
+ ancestorIds.push(parentId);
93
+ cursor = headerById.get(parentId);
94
+ }
95
+ }
96
+ // BFS from the topmost ancestor. The scan must NOT be gated by family
97
+ // membership: ancestor-chain nodes are already in the family, and
98
+ // skipping them here would never enumerate their other children —
99
+ // siblings/cousins forking off a MIDDLE ancestor would be lost.
100
+ const family = new Set([currentId, ...ancestorIds]);
101
+ {
102
+ const scanned = new Set();
103
+ const queue = [ancestorIds.at(-1) ?? currentId];
104
+ while (queue.length > 0) {
105
+ const id = queue.shift();
106
+ if (scanned.has(id))
107
+ continue;
108
+ scanned.add(id);
109
+ family.add(id);
110
+ for (const child of childrenByParent.get(id) ?? []) {
111
+ queue.push(child);
112
+ }
113
+ }
114
+ }
115
+ // Processing order is TOPOLOGICAL (a parent before its children): the
116
+ // coverage bookkeeping below — which seq range each chain already
117
+ // shows — feeds the next read's inherited-prefix skip, so a parent
118
+ // must be read before its forks. Within each sibling group the live
119
+ // chain wins, then newest first (the same priority the read budget
120
+ // always had).
121
+ const ancestorSet = new Set(ancestorIds);
122
+ const priorityOf = (a, b) => {
123
+ const aChain = a === currentId || ancestorSet.has(a);
124
+ const bChain = b === currentId || ancestorSet.has(b);
125
+ if (aChain !== bChain)
126
+ return aChain ? -1 : 1;
127
+ return (headerById.get(b)?.header.createdAt ?? 0) - (headerById.get(a)?.header.createdAt ?? 0);
128
+ };
129
+ const kidsOf = new Map();
130
+ const familyRoots = [];
131
+ for (const id of family) {
132
+ const parentId = headerById.get(id)?.header.parentSession;
133
+ if (parentId !== undefined && parentId !== id && family.has(parentId)) {
134
+ const list = kidsOf.get(parentId);
135
+ if (list === undefined)
136
+ kidsOf.set(parentId, [id]);
137
+ else
138
+ list.push(id);
139
+ }
140
+ else {
141
+ familyRoots.push(id);
142
+ }
143
+ }
144
+ familyRoots.sort(priorityOf);
145
+ for (const list of kidsOf.values())
146
+ list.sort(priorityOf);
147
+ const ordered = [];
148
+ {
149
+ const seen = new Set();
150
+ const stack = [...familyRoots].reverse();
151
+ while (stack.length > 0) {
152
+ const id = stack.pop();
153
+ if (seen.has(id))
154
+ continue;
155
+ seen.add(id);
156
+ ordered.push(id);
157
+ const kids = kidsOf.get(id);
158
+ if (kids !== undefined) {
159
+ for (let i = kids.length - 1; i >= 0; i--)
160
+ stack.push(kids[i]);
161
+ }
162
+ }
163
+ // Cycle-broken leftovers (corrupt parent headers) — never drop one.
164
+ for (const id of [...family].sort(priorityOf)) {
165
+ if (!seen.has(id))
166
+ ordered.push(id);
167
+ }
168
+ }
169
+ // Caps: the ancestor chain + live session ALWAYS stay selected — the
170
+ // structural invariant (the live branch must reach the family root)
171
+ // outranks the session cap, which therefore evicts only non-ancestors.
172
+ // The event budget bounds the READ cost too: non-live logs decode
173
+ // lazily and stop at the remaining budget (see below), the live
174
+ // session keeps only its tail.
175
+ const MAX_TREE_SESSIONS = 24;
176
+ const MAX_TREE_EVENTS = 200_000;
177
+ // The event budget alone does NOT bound read cost: skipped envelopes
178
+ // (ignorable frames, headers) are paid for but never collected, so a
179
+ // noisy log can return ZERO events and leave the next log a full scan
180
+ // allowance — 23 logs × ~800k envelopes would block the TUI for
181
+ // seconds. scanBudget caps the TOTAL envelopes inspected across all
182
+ // logs (the reader reports its real scanned count); per-log caps
183
+ // derive from the event budget as before, and the smaller of the two
184
+ // applies, so one flood cannot starve every later sibling either.
185
+ const MAX_TREE_SCANNED = defaultMaxScanned(MAX_TREE_EVENTS);
186
+ let scanBudget = MAX_TREE_SCANNED;
187
+ const selected = new Set();
188
+ let slots = MAX_TREE_SESSIONS;
189
+ for (const id of ordered) {
190
+ const chain = id === currentId || ancestorSet.has(id);
191
+ if (chain || slots > 0) {
192
+ selected.add(id);
193
+ if (!chain)
194
+ slots -= 1;
195
+ }
196
+ }
197
+ // The live session's events come from memory (its header may not be
198
+ // materialized yet — the jsonl backend writes on first append).
199
+ const liveHeader = headerById.get(currentId);
200
+ const familySessions = [];
201
+ let truncated = selected.size < family.size;
202
+ let eventBudget = 0;
203
+ // Coverage bookkeeping: coveredThrough(S) = the highest K such that
204
+ // [0..K] is already displayed by S's chain or an ancestor's. A fork's
205
+ // inherited seed prefix duplicates that range, so non-live reads SKIP
206
+ // it (the reader's skipBelowSeq): the prefix still costs scan budget
207
+ // (its bytes are read and parsed) but NOT the event budget — a fork
208
+ // of a huge parent pays only for its OWN events, so two small forks
209
+ // of a 70k-event parent both stay visible. Unreadable/unloaded
210
+ // sessions are transparent: they claim nothing beyond what their own
211
+ // ancestors covered, so a fork of a dead branch dedups against the
212
+ // grandparent instead of hiding its self-contained history.
213
+ const coveredThrough = new Map();
214
+ for (const id of ordered) {
215
+ if (!selected.has(id))
216
+ continue;
217
+ const entry = headerById.get(id);
218
+ if (id === currentId) {
219
+ const liveParentId = liveHeader?.header.parentSession ?? liveListed.parentSession;
220
+ const liveParent = liveParentId !== undefined ? String(liveParentId) : undefined;
221
+ const liveEvents = snapshotLiveSessionEvents(liveSession);
222
+ const remaining = Math.max(0, MAX_TREE_EVENTS - eventBudget);
223
+ // The live session's in-memory log is SELF-CONTAINED: a fork's
224
+ // events still carry the inherited seed prefix, which the parent's
225
+ // chain already displays (and already charged to the budget).
226
+ // Skipping it exactly like the non-live reads do keeps a live fork
227
+ // of a huge parent from spending the whole family budget on
228
+ // duplicated history and evicting its own siblings.
229
+ const liveSeed = liveHeader?.header.seedLength ?? liveListed.seedLength;
230
+ // A recorded parent without an exact cut is not a usable coverage
231
+ // edge: the pure tree detaches it, so forwarding the parent's range
232
+ // here would let descendants skip history no root displays.
233
+ const parentCovered = liveParent !== undefined && liveSeed !== undefined
234
+ ? (coveredThrough.get(liveParent) ?? -1)
235
+ : -1;
236
+ const skipBelow = liveParent !== undefined && liveSeed !== undefined
237
+ ? Math.min(liveSeed, parentCovered + 1)
238
+ : 0;
239
+ const own = skipBelow > 0
240
+ ? liveEvents.filter(event => event.seq >= skipBelow || event.type === 'session/title')
241
+ : liveEvents;
242
+ // A live session larger than the remaining budget keeps its TAIL,
243
+ // aligned to whole turns (sessionTree.liveTailWindow): leftover
244
+ // entries of a turn whose turn/start was cut away render as
245
+ // selectable rows that can never rewind; a window holding no
246
+ // turn/start at all (one oversized LAST turn spans the budget)
247
+ // retries over the earlier complete turns instead of blacking the
248
+ // session out. Rewind itself never reads this copy (rewindToNode
249
+ // forks the real session), so the slice only narrows what the tree
250
+ // can display.
251
+ const events = liveTailWindow(own, remaining);
252
+ // Charge the KEPT tail, not the in-memory length: extraction only
253
+ // ever touches `events`, and charging the full log would black out
254
+ // every other family member's budget behind a discarded prefix.
255
+ eventBudget += events.length;
256
+ if (events.length !== own.length)
257
+ truncated = true;
258
+ familySessions.push({
259
+ id,
260
+ createdAt: liveHeader?.header.createdAt ?? liveListed.createdAt ?? Date.now(),
261
+ ...(liveParent !== undefined ? { parentSession: liveParent } : {}),
262
+ ...(liveHeader?.header.seedLength !== undefined || liveListed.seedLength !== undefined
263
+ ? { seedLength: liveHeader?.header.seedLength ?? liveListed.seedLength }
264
+ : {}),
265
+ events,
266
+ live: true,
267
+ // The in-memory log always reaches the tip (liveTailWindow trims
268
+ // the head only), so the adopt/warning UX facts are derivable.
269
+ tailComplete: true,
270
+ });
271
+ // A kept tail cut off the front connects to nothing — coverage
272
+ // stays at the parent's (a fork of the live session re-reads the
273
+ // hidden prefix from its own log).
274
+ const firstKept = events.length > 0 ? events[0].seq : Number.POSITIVE_INFINITY;
275
+ const lastKept = events.length > 0 ? events[events.length - 1].seq : -1;
276
+ coveredThrough.set(id, firstKept <= parentCovered + 1 ? Math.max(parentCovered, lastKept) : parentCovered);
277
+ continue;
278
+ }
279
+ const header = entry?.header;
280
+ const parentId = header?.parentSession;
281
+ const structuralParentCovered = parentId !== undefined ? (coveredThrough.get(parentId) ?? -1) : -1;
282
+ const locate = persistence.locate;
283
+ const hasLocate = typeof locate === 'function';
284
+ let locatedPath;
285
+ if (hasLocate && entry !== undefined) {
286
+ try {
287
+ const location = locate.call(persistence, entry.raw);
288
+ // Only the jsonl kind enters the compat file layer — a foreign
289
+ // kind's artifact is the backend's own format (inspect below).
290
+ if (location !== null && typeof location === 'object') {
291
+ const record = location;
292
+ if (record.kind === 'jsonl' && typeof record.path === 'string') {
293
+ locatedPath = record.path;
294
+ }
295
+ }
296
+ }
297
+ catch {
298
+ // Best effort — a locate hiccup falls through to inspect.
299
+ }
300
+ }
301
+ // Alpha.4 deliberately omits the inherited cut from logical list
302
+ // headers. Resolve it only for the SELECTED family node currently
303
+ // being read: JSONL keeps the exact physical `seedLength`; non-file
304
+ // backends expose the cut on inspect below. Never scan every listed
305
+ // session and never infer it from an end-seed marker or log length.
306
+ let inheritedCut = parentId === undefined ? undefined : readInheritedCut(entry?.raw);
307
+ if (parentId !== undefined && inheritedCut === undefined) {
308
+ inheritedCut = locatedPath !== undefined
309
+ ? readPhysicalHeaderSeedLength(locatedPath)
310
+ : !hasLocate
311
+ ? readPhysicalHeaderSeedLengthForSession(id)
312
+ : undefined;
313
+ }
314
+ // Keep structural ancestry separate from proven dedup coverage. The
315
+ // model layer detaches a parent edge whose exact cut is unavailable;
316
+ // treating that edge as covered here would hide a child's prefix
317
+ // under a parent root that no longer owns it.
318
+ let parentCovered = parentId !== undefined && inheritedCut !== undefined
319
+ ? structuralParentCovered
320
+ : -1;
321
+ // Never skip past the seed prefix: events beyond it are this
322
+ // session's OWN — no ancestor can show them. A parent that was never
323
+ // read (evicted, or outside the family) covers nothing (skip 0).
324
+ let skipBelow = parentId !== undefined && inheritedCut !== undefined
325
+ ? Math.min(inheritedCut, parentCovered + 1)
326
+ : 0;
327
+ let facts = {
328
+ id,
329
+ createdAt: header?.createdAt ?? 0,
330
+ events: [],
331
+ live: false,
332
+ ...(parentId !== undefined ? { parentSession: parentId } : {}),
333
+ ...(inheritedCut !== undefined ? { seedLength: inheritedCut } : {}),
334
+ };
335
+ if (eventBudget >= MAX_TREE_EVENTS || scanBudget <= 0) {
336
+ // Budget spent: keep the STRUCTURE — the session degrades to an
337
+ // unloaded placeholder so its branch (and any ancestor chain
338
+ // through it) stays visible instead of vanishing from the tree.
339
+ truncated = true;
340
+ familySessions.push({ ...facts, events: [], live: false, unloaded: true });
341
+ coveredThrough.set(id, parentCovered);
342
+ continue;
343
+ }
344
+ // Read-only, tolerant, bounded: the compat reader decodes frames
345
+ // lazily and stops at the remaining event budget. Browsing the tree
346
+ // must never REWRITE history logs (the ignorable-marking repair
347
+ // stays on the explicit resume/rewind path), and the strict backend
348
+ // inspect would both reject third-party event types wholesale and
349
+ // parse chunk-heavy logs whole. Header facts come from list().
350
+ const remaining = MAX_TREE_EVENTS - eventBudget;
351
+ // Source precedence, all read-only:
352
+ // 1. persistence.locate — the backend's OWN artifact resolution is
353
+ // authoritative (custom root, workspace-key scheme). When it
354
+ // names a path, ONLY that file is read: falling back to a
355
+ // same-id copy under the stock root could surface a STALE log
356
+ // from another backend configuration. A locate miss or an ABSENT
357
+ // file falls through to inspect, never to the stock scan.
358
+ // 2. Stock root scan — only for backends WITHOUT locate (fakes,
359
+ // older custom implementations).
360
+ // 3. inspect — the backend's strict read (non-file backends), with
361
+ // the same budget enforced on what we keep — and ONLY when the
362
+ // file read found NOTHING (undefined). A read that failed on a
363
+ // safety cap or corruption (failed) must never escalate here:
364
+ // inspect parses the WHOLE log up front, so falling through
365
+ // would re-read unboundedly exactly the logs the caps exist to
366
+ // bound (64 MiB frames, decode bombs) — degrade to a placeholder
367
+ // instead.
368
+ let events;
369
+ let physicalVersion;
370
+ let complete = true;
371
+ let failed = false;
372
+ // First seq the chosen source actually covers: the file readers start
373
+ // at the inherited-prefix skip, inspect always hands the whole log.
374
+ let readFrom = 0;
375
+ // Per-log scan allowance: the usual 4×-of-remaining derivation,
376
+ // clamped to what the tree-level scan budget still has.
377
+ const scanAllowance = Math.min(defaultMaxScanned(remaining), scanBudget);
378
+ if (hasLocate) {
379
+ if (locatedPath !== undefined) {
380
+ const viaPath = readSessionEventsFromFile(locatedPath, remaining, scanAllowance, skipBelow);
381
+ if (viaPath !== undefined) {
382
+ physicalVersion = viaPath.formatVersion;
383
+ scanBudget -= viaPath.scanned;
384
+ if (viaPath.failed === true)
385
+ failed = true;
386
+ else {
387
+ events = viaPath.events;
388
+ complete = viaPath.complete;
389
+ readFrom = skipBelow;
390
+ }
391
+ }
392
+ }
393
+ }
394
+ else if (!hasLocate) {
395
+ const read = readSessionEventsFromLog(id, remaining, scanAllowance, skipBelow);
396
+ if (read !== undefined) {
397
+ physicalVersion = read.formatVersion;
398
+ scanBudget -= read.scanned;
399
+ if (read.failed === true)
400
+ failed = true;
401
+ else {
402
+ events = read.events;
403
+ complete = read.complete;
404
+ readFrom = skipBelow;
405
+ }
406
+ }
407
+ }
408
+ // Raw historical files use pre-migration seq coordinates. Normalize
409
+ // only a fully budget-checked file through the same read handle used
410
+ // by rewind/fork. Failed or truncated reads never escalate to a full
411
+ // backend parse, and cannot lend old coordinates to a V3 child.
412
+ const needsMigration = typeof persistence.open === 'function'
413
+ && physicalVersion !== liveSession.header.version;
414
+ if (needsMigration && !complete) {
415
+ failed = true;
416
+ truncated = true;
417
+ }
418
+ if (!failed && typeof persistence.open === 'function' && (events === undefined || needsMigration)) {
419
+ try {
420
+ const inspection = await readPersistedSession(persistence, SessionId(id));
421
+ if (inspection.meta.version !== liveSession.header.version)
422
+ throw new Error('session tree generation mismatch');
423
+ inheritedCut = parentId === undefined ? undefined : readInheritedCut(inspection);
424
+ parentCovered = inheritedCut === undefined ? -1 : structuralParentCovered;
425
+ skipBelow = inheritedCut === undefined ? 0 : Math.min(inheritedCut, parentCovered + 1);
426
+ facts = { ...facts, seedLength: inheritedCut };
427
+ scanBudget -= inspection.events.length;
428
+ const all = inspection.events.filter(event => event.seq >= skipBelow || event.type === 'session/title');
429
+ events = all.slice(0, remaining);
430
+ complete = all.length <= remaining;
431
+ readFrom = skipBelow;
432
+ }
433
+ catch {
434
+ failed = true;
435
+ }
436
+ }
437
+ if (needsMigration && failed) {
438
+ // Preserve the branch as a non-actionable placeholder. Its original
439
+ // inherited cut is not comparable to normalized family coordinates.
440
+ inheritedCut = undefined;
441
+ parentCovered = -1;
442
+ facts = { ...facts, seedLength: undefined };
443
+ }
444
+ if (!failed && events === undefined && typeof persistence.inspect === 'function') {
445
+ try {
446
+ const inspection = await persistence.inspect(SessionId(id));
447
+ const inspectedCut = readInheritedCut(inspection);
448
+ if (parentId !== undefined && inheritedCut === undefined && inspectedCut !== undefined) {
449
+ inheritedCut = inspectedCut;
450
+ parentCovered = structuralParentCovered;
451
+ skipBelow = parentId !== undefined
452
+ ? Math.min(inheritedCut, parentCovered + 1)
453
+ : 0;
454
+ facts = { ...facts, seedLength: inheritedCut };
455
+ }
456
+ // inspect parses the WHOLE log up front: charge the full length
457
+ // to the scan budget (may overdraw; the next iterations skip).
458
+ scanBudget -= inspection.events.length;
459
+ // Non-file backends hand back the self-contained log from seq 0:
460
+ // the inherited-prefix skip the file readers got must apply here
461
+ // too, or a long prefix would fill the slice and the branch's OWN
462
+ // events — the only ones nobody else displays — would be cut.
463
+ const all = skipBelow > 0
464
+ ? inspection.events.filter(event => event.seq >= skipBelow || event.type === 'session/title')
465
+ : inspection.events;
466
+ readFrom = skipBelow;
467
+ events = all;
468
+ if (events.length > remaining) {
469
+ events = events.slice(0, remaining);
470
+ complete = false;
471
+ }
472
+ }
473
+ catch {
474
+ events = undefined;
475
+ }
476
+ }
477
+ if (failed || events === undefined) {
478
+ // An unreadable log keeps the branch structure, no entries — and
479
+ // stays transparent for coverage, so a fork of this branch dedups
480
+ // against the grandparent instead of hiding its own history.
481
+ familySessions.push({ ...facts, events: [], live: false, unreadable: true });
482
+ coveredThrough.set(id, parentCovered);
483
+ continue;
484
+ }
485
+ eventBudget += events.length;
486
+ if (!complete)
487
+ truncated = true;
488
+ // tailComplete gates the branch-adopt target and the drop-turn
489
+ // warning: a budget-sliced read lost the tail, and a tip computed
490
+ // from it would fork mid-branch while claiming to keep everything.
491
+ familySessions.push({ ...facts, events, live: false, ...(complete ? { tailComplete: true } : {}) });
492
+ const lastRead = events.length > 0 ? events[events.length - 1].seq : -1;
493
+ coveredThrough.set(id, readFrom <= parentCovered + 1 ? Math.max(parentCovered, lastRead) : parentCovered);
494
+ }
495
+ // A session swap mid-build invalidates the whole assembly (it mixes
496
+ // the snapshot's lineage with headers listed for the OLD cwd state):
497
+ // drop it silently — the reopened tree rebuilds on the new session.
498
+ if (!owner.current() || binding.agent.session !== liveSession)
499
+ return null;
500
+ return buildSessionTree(familySessions, currentId, truncated);
501
+ }
502
+ return readTree;
503
+ }
@@ -0,0 +1,4 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { ChannelState } from '../channel/types.js';
3
+ export declare function createSettingsHosts(ctx: Context, assertActive?: () => void): Pick<ChannelState, 'settingsHost' | 'providerSetup' | 'oauthProviderStatuses'>;
4
+ //# sourceMappingURL=settings-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-host.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/channel/settings-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKvD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,GAAE,MAAM,IAAsB,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,eAAe,GAAG,uBAAuB,CAAC,CAqT5K"}