@dsh-cove/dsh-web-all 0.0.0-stage → 0.4.3

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 (912) hide show
  1. package/LICENSE +202 -0
  2. package/README.i18n.yaml +6 -0
  3. package/README.md +201 -2
  4. package/README.zh.md +202 -0
  5. package/cordis.patch.yml +59 -0
  6. package/lib/client.js +25413 -0
  7. package/lib/client.js.map +1 -0
  8. package/lib/index.js +20024 -0
  9. package/lib/invariant.js +6 -0
  10. package/lib/types/client/compat.d.ts +29 -0
  11. package/lib/types/client/compat.d.ts.map +1 -0
  12. package/lib/types/client/compat.js +69 -0
  13. package/lib/types/client/conversation/git-branch.d.ts +13 -0
  14. package/lib/types/client/conversation/git-branch.d.ts.map +1 -0
  15. package/lib/types/client/conversation/git-branch.js +121 -0
  16. package/lib/types/client/conversation/git-graph/api.d.ts +42 -0
  17. package/lib/types/client/conversation/git-graph/api.d.ts.map +1 -0
  18. package/lib/types/client/conversation/git-graph/api.js +72 -0
  19. package/lib/types/client/conversation/git-graph/branch-chip.d.ts +47 -0
  20. package/lib/types/client/conversation/git-graph/branch-chip.d.ts.map +1 -0
  21. package/lib/types/client/conversation/git-graph/branch-chip.js +268 -0
  22. package/lib/types/client/conversation/git-graph/branch-popover.d.ts +32 -0
  23. package/lib/types/client/conversation/git-graph/branch-popover.d.ts.map +1 -0
  24. package/lib/types/client/conversation/git-graph/branch-popover.js +108 -0
  25. package/lib/types/client/conversation/git-graph/chip.d.ts +24 -0
  26. package/lib/types/client/conversation/git-graph/chip.d.ts.map +1 -0
  27. package/lib/types/client/conversation/git-graph/chip.js +15 -0
  28. package/lib/types/client/conversation/git-graph/create-branch-dialog.d.ts +30 -0
  29. package/lib/types/client/conversation/git-graph/create-branch-dialog.d.ts.map +1 -0
  30. package/lib/types/client/conversation/git-graph/create-branch-dialog.js +52 -0
  31. package/lib/types/client/conversation/git-graph/error-copy.d.ts +17 -0
  32. package/lib/types/client/conversation/git-graph/error-copy.d.ts.map +1 -0
  33. package/lib/types/client/conversation/git-graph/error-copy.js +44 -0
  34. package/lib/types/client/conversation/git-graph/graph-dialog.d.ts +21 -0
  35. package/lib/types/client/conversation/git-graph/graph-dialog.d.ts.map +1 -0
  36. package/lib/types/client/conversation/git-graph/graph-dialog.js +112 -0
  37. package/lib/types/client/conversation/git-graph/hero-seat.d.ts +53 -0
  38. package/lib/types/client/conversation/git-graph/hero-seat.d.ts.map +1 -0
  39. package/lib/types/client/conversation/git-graph/hero-seat.js +54 -0
  40. package/lib/types/client/conversation/git-graph/locales.d.ts +88 -0
  41. package/lib/types/client/conversation/git-graph/locales.d.ts.map +1 -0
  42. package/lib/types/client/conversation/git-graph/locales.js +85 -0
  43. package/lib/types/client/conversation/git-graph/sse-leader.d.ts +37 -0
  44. package/lib/types/client/conversation/git-graph/sse-leader.d.ts.map +1 -0
  45. package/lib/types/client/conversation/git-graph/sse-leader.js +101 -0
  46. package/lib/types/client/conversation/index.d.ts +43 -0
  47. package/lib/types/client/conversation/index.d.ts.map +1 -0
  48. package/lib/types/client/conversation/index.js +39 -0
  49. package/lib/types/client/conversation/selector-context.d.ts +12 -0
  50. package/lib/types/client/conversation/selector-context.d.ts.map +1 -0
  51. package/lib/types/client/conversation/selector-context.js +11 -0
  52. package/lib/types/client/conversation/session-lane-chip.d.ts +72 -0
  53. package/lib/types/client/conversation/session-lane-chip.d.ts.map +1 -0
  54. package/lib/types/client/conversation/session-lane-chip.js +163 -0
  55. package/lib/types/client/conversation/session-lane-locales.d.ts +22 -0
  56. package/lib/types/client/conversation/session-lane-locales.d.ts.map +1 -0
  57. package/lib/types/client/conversation/session-lane-locales.js +29 -0
  58. package/lib/types/client/conversation/subagent-model-dom.d.ts +16 -0
  59. package/lib/types/client/conversation/subagent-model-dom.d.ts.map +1 -0
  60. package/lib/types/client/conversation/subagent-model-dom.js +138 -0
  61. package/lib/types/client/conversation/subagent-model.d.ts +17 -0
  62. package/lib/types/client/conversation/subagent-model.d.ts.map +1 -0
  63. package/lib/types/client/conversation/subagent-model.js +156 -0
  64. package/lib/types/client/conversation/worktree/api.d.ts +97 -0
  65. package/lib/types/client/conversation/worktree/api.d.ts.map +1 -0
  66. package/lib/types/client/conversation/worktree/api.js +239 -0
  67. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.d.ts +35 -0
  68. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.d.ts.map +1 -0
  69. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.js +55 -0
  70. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.d.ts +27 -0
  71. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.d.ts.map +1 -0
  72. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.js +49 -0
  73. package/lib/types/client/conversation/worktree/lane-binding.d.ts +46 -0
  74. package/lib/types/client/conversation/worktree/lane-binding.d.ts.map +1 -0
  75. package/lib/types/client/conversation/worktree/lane-binding.js +60 -0
  76. package/lib/types/client/conversation/worktree/lane-menu.d.ts +51 -0
  77. package/lib/types/client/conversation/worktree/lane-menu.d.ts.map +1 -0
  78. package/lib/types/client/conversation/worktree/lane-menu.js +140 -0
  79. package/lib/types/client/conversation/worktree/lane-open.d.ts +126 -0
  80. package/lib/types/client/conversation/worktree/lane-open.d.ts.map +1 -0
  81. package/lib/types/client/conversation/worktree/lane-open.js +140 -0
  82. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.d.ts +79 -0
  83. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.d.ts.map +1 -0
  84. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.js +116 -0
  85. package/lib/types/client/conversation/worktree/lifecycle.d.ts +29 -0
  86. package/lib/types/client/conversation/worktree/lifecycle.d.ts.map +1 -0
  87. package/lib/types/client/conversation/worktree/lifecycle.js +67 -0
  88. package/lib/types/client/conversation/worktree/locales.d.ts +58 -0
  89. package/lib/types/client/conversation/worktree/locales.d.ts.map +1 -0
  90. package/lib/types/client/conversation/worktree/locales.js +86 -0
  91. package/lib/types/client/conversation/worktree/semantic.d.ts +11 -0
  92. package/lib/types/client/conversation/worktree/semantic.d.ts.map +1 -0
  93. package/lib/types/client/conversation/worktree/semantic.js +10 -0
  94. package/lib/types/client/index.d.ts +14 -0
  95. package/lib/types/client/index.d.ts.map +1 -0
  96. package/lib/types/client/index.js +45 -0
  97. package/lib/types/client/lark-inbox/i18n.d.ts +63 -0
  98. package/lib/types/client/lark-inbox/i18n.d.ts.map +1 -0
  99. package/lib/types/client/lark-inbox/i18n.js +119 -0
  100. package/lib/types/client/lark-inbox/wizard.d.ts +19 -0
  101. package/lib/types/client/lark-inbox/wizard.d.ts.map +1 -0
  102. package/lib/types/client/lark-inbox/wizard.js +158 -0
  103. package/lib/types/client/notify/i18n.d.ts +47 -0
  104. package/lib/types/client/notify/i18n.d.ts.map +1 -0
  105. package/lib/types/client/notify/i18n.js +87 -0
  106. package/lib/types/client/settings/family-scope.d.ts +23 -0
  107. package/lib/types/client/settings/family-scope.d.ts.map +1 -0
  108. package/lib/types/client/settings/family-scope.js +30 -0
  109. package/lib/types/client/settings/lark-inbox.d.ts +73 -0
  110. package/lib/types/client/settings/lark-inbox.d.ts.map +1 -0
  111. package/lib/types/client/settings/lark-inbox.js +144 -0
  112. package/lib/types/client/settings/notify.d.ts +66 -0
  113. package/lib/types/client/settings/notify.d.ts.map +1 -0
  114. package/lib/types/client/settings/notify.js +139 -0
  115. package/lib/types/client/settings/primitives-0.2.d.ts +137 -0
  116. package/lib/types/client/settings/primitives-0.2.d.ts.map +1 -0
  117. package/lib/types/client/settings/primitives-0.2.js +8 -0
  118. package/lib/types/client/sidebar/RenderBoundary.d.ts +17 -0
  119. package/lib/types/client/sidebar/RenderBoundary.d.ts.map +1 -0
  120. package/lib/types/client/sidebar/RenderBoundary.js +18 -0
  121. package/lib/types/client/sidebar/agent-browser.d.ts +9 -0
  122. package/lib/types/client/sidebar/agent-browser.d.ts.map +1 -0
  123. package/lib/types/client/sidebar/agent-browser.js +102 -0
  124. package/lib/types/client/sidebar/diff-view.d.ts +58 -0
  125. package/lib/types/client/sidebar/diff-view.d.ts.map +1 -0
  126. package/lib/types/client/sidebar/diff-view.js +223 -0
  127. package/lib/types/client/sidebar/git-workbench.d.ts +41 -0
  128. package/lib/types/client/sidebar/git-workbench.d.ts.map +1 -0
  129. package/lib/types/client/sidebar/git-workbench.js +480 -0
  130. package/lib/types/client/sidebar/icons.d.ts +9 -0
  131. package/lib/types/client/sidebar/icons.d.ts.map +1 -0
  132. package/lib/types/client/sidebar/icons.js +6 -0
  133. package/lib/types/client/sidebar/index.d.ts +19 -0
  134. package/lib/types/client/sidebar/index.d.ts.map +1 -0
  135. package/lib/types/client/sidebar/index.js +12 -0
  136. package/lib/types/client/sidebar/native-panels.d.ts +19 -0
  137. package/lib/types/client/sidebar/native-panels.d.ts.map +1 -0
  138. package/lib/types/client/sidebar/native-panels.js +103 -0
  139. package/lib/types/client/sidebar/page-shell.d.ts +52 -0
  140. package/lib/types/client/sidebar/page-shell.d.ts.map +1 -0
  141. package/lib/types/client/sidebar/page-shell.js +18 -0
  142. package/lib/types/client/sidebar/panels/memoir/api.d.ts +258 -0
  143. package/lib/types/client/sidebar/panels/memoir/api.d.ts.map +1 -0
  144. package/lib/types/client/sidebar/panels/memoir/api.js +135 -0
  145. package/lib/types/client/sidebar/panels/memoir/controller.d.ts +22 -0
  146. package/lib/types/client/sidebar/panels/memoir/controller.d.ts.map +1 -0
  147. package/lib/types/client/sidebar/panels/memoir/controller.js +38 -0
  148. package/lib/types/client/sidebar/panels/memoir/cwd.d.ts +80 -0
  149. package/lib/types/client/sidebar/panels/memoir/cwd.d.ts.map +1 -0
  150. package/lib/types/client/sidebar/panels/memoir/cwd.js +96 -0
  151. package/lib/types/client/sidebar/panels/memoir/i18n.d.ts +21 -0
  152. package/lib/types/client/sidebar/panels/memoir/i18n.d.ts.map +1 -0
  153. package/lib/types/client/sidebar/panels/memoir/i18n.js +288 -0
  154. package/lib/types/client/sidebar/panels/memoir/panel-activation.d.ts +11 -0
  155. package/lib/types/client/sidebar/panels/memoir/panel-activation.d.ts.map +1 -0
  156. package/lib/types/client/sidebar/panels/memoir/panel-activation.js +37 -0
  157. package/lib/types/client/sidebar/panels/memoir/panel.d.ts +26 -0
  158. package/lib/types/client/sidebar/panels/memoir/panel.d.ts.map +1 -0
  159. package/lib/types/client/sidebar/panels/memoir/panel.js +423 -0
  160. package/lib/types/client/sidebar/panels/memoir/styles.d.ts +22 -0
  161. package/lib/types/client/sidebar/panels/memoir/styles.d.ts.map +1 -0
  162. package/lib/types/client/sidebar/panels/memoir/styles.js +774 -0
  163. package/lib/types/client/sidebar/panels/memoir/types.d.ts +7 -0
  164. package/lib/types/client/sidebar/panels/memoir/types.d.ts.map +1 -0
  165. package/lib/types/client/sidebar/panels/memoir/types.js +5 -0
  166. package/lib/types/client/sidebar/panels/ssh/ClusterTab.d.ts +8 -0
  167. package/lib/types/client/sidebar/panels/ssh/ClusterTab.d.ts.map +1 -0
  168. package/lib/types/client/sidebar/panels/ssh/ClusterTab.js +53 -0
  169. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.d.ts +13 -0
  170. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.d.ts.map +1 -0
  171. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.js +110 -0
  172. package/lib/types/client/sidebar/panels/ssh/HostsTab.d.ts +26 -0
  173. package/lib/types/client/sidebar/panels/ssh/HostsTab.d.ts.map +1 -0
  174. package/lib/types/client/sidebar/panels/ssh/HostsTab.js +175 -0
  175. package/lib/types/client/sidebar/panels/ssh/SshPanel.d.ts +14 -0
  176. package/lib/types/client/sidebar/panels/ssh/SshPanel.d.ts.map +1 -0
  177. package/lib/types/client/sidebar/panels/ssh/SshPanel.js +34 -0
  178. package/lib/types/client/sidebar/panels/ssh/TerminalTab.d.ts +18 -0
  179. package/lib/types/client/sidebar/panels/ssh/TerminalTab.d.ts.map +1 -0
  180. package/lib/types/client/sidebar/panels/ssh/TerminalTab.js +207 -0
  181. package/lib/types/client/sidebar/panels/ssh/TransferTab.d.ts +8 -0
  182. package/lib/types/client/sidebar/panels/ssh/TransferTab.d.ts.map +1 -0
  183. package/lib/types/client/sidebar/panels/ssh/TransferTab.js +168 -0
  184. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.d.ts +18 -0
  185. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.d.ts.map +1 -0
  186. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.js +161 -0
  187. package/lib/types/client/sidebar/panels/ssh/api.d.ts +80 -0
  188. package/lib/types/client/sidebar/panels/ssh/api.d.ts.map +1 -0
  189. package/lib/types/client/sidebar/panels/ssh/api.js +333 -0
  190. package/lib/types/client/sidebar/panels/ssh/controller.d.ts +23 -0
  191. package/lib/types/client/sidebar/panels/ssh/controller.d.ts.map +1 -0
  192. package/lib/types/client/sidebar/panels/ssh/controller.js +41 -0
  193. package/lib/types/client/sidebar/panels/ssh/helpers.d.ts +44 -0
  194. package/lib/types/client/sidebar/panels/ssh/helpers.d.ts.map +1 -0
  195. package/lib/types/client/sidebar/panels/ssh/helpers.js +53 -0
  196. package/lib/types/client/sidebar/panels/ssh/locales.d.ts +155 -0
  197. package/lib/types/client/sidebar/panels/ssh/locales.d.ts.map +1 -0
  198. package/lib/types/client/sidebar/panels/ssh/locales.js +312 -0
  199. package/lib/types/client/sidebar/panels/ssh/xterm.css.d.ts +3 -0
  200. package/lib/types/client/sidebar/panels/ssh/xterm.css.d.ts.map +1 -0
  201. package/lib/types/client/sidebar/panels/ssh/xterm.css.js +2 -0
  202. package/lib/types/client/sidebar/right-pane-i18n.d.ts +121 -0
  203. package/lib/types/client/sidebar/right-pane-i18n.d.ts.map +1 -0
  204. package/lib/types/client/sidebar/right-pane-i18n.js +239 -0
  205. package/lib/types/client/sidebar/right-pane.d.ts +27 -0
  206. package/lib/types/client/sidebar/right-pane.d.ts.map +1 -0
  207. package/lib/types/client/sidebar/right-pane.js +112 -0
  208. package/lib/types/client/sidebar/scope.d.ts +17 -0
  209. package/lib/types/client/sidebar/scope.d.ts.map +1 -0
  210. package/lib/types/client/sidebar/scope.js +41 -0
  211. package/lib/types/client/trust.d.ts +78 -0
  212. package/lib/types/client/trust.d.ts.map +1 -0
  213. package/lib/types/client/trust.js +130 -0
  214. package/lib/types/client/ui-icons.d.ts +19 -0
  215. package/lib/types/client/ui-icons.d.ts.map +1 -0
  216. package/lib/types/client/ui-icons.js +33 -0
  217. package/lib/types/core/git-graph/commands.d.ts +36 -0
  218. package/lib/types/core/git-graph/commands.d.ts.map +1 -0
  219. package/lib/types/core/git-graph/commands.js +122 -0
  220. package/lib/types/core/git-graph/protocol.d.ts +104 -0
  221. package/lib/types/core/git-graph/protocol.d.ts.map +1 -0
  222. package/lib/types/core/git-graph/protocol.js +142 -0
  223. package/lib/types/core/index.d.ts +3 -0
  224. package/lib/types/core/index.d.ts.map +1 -0
  225. package/lib/types/core/index.js +2 -0
  226. package/lib/types/core/lark-inbox/gating.d.ts +21 -0
  227. package/lib/types/core/lark-inbox/gating.d.ts.map +1 -0
  228. package/lib/types/core/lark-inbox/gating.js +17 -0
  229. package/lib/types/core/lark-inbox/queue.d.ts +27 -0
  230. package/lib/types/core/lark-inbox/queue.d.ts.map +1 -0
  231. package/lib/types/core/lark-inbox/queue.js +78 -0
  232. package/lib/types/core/memoir/protocol.d.ts +42 -0
  233. package/lib/types/core/memoir/protocol.d.ts.map +1 -0
  234. package/lib/types/core/memoir/protocol.js +8 -0
  235. package/lib/types/core/no-browser-auth/contract.d.ts +22 -0
  236. package/lib/types/core/no-browser-auth/contract.d.ts.map +1 -0
  237. package/lib/types/core/no-browser-auth/contract.js +9 -0
  238. package/lib/types/core/notify/contract.d.ts +133 -0
  239. package/lib/types/core/notify/contract.d.ts.map +1 -0
  240. package/lib/types/core/notify/contract.js +186 -0
  241. package/lib/types/core/notify/feed.d.ts +116 -0
  242. package/lib/types/core/notify/feed.d.ts.map +1 -0
  243. package/lib/types/core/notify/feed.js +214 -0
  244. package/lib/types/core/playwright-sessions/contracts.d.ts +98 -0
  245. package/lib/types/core/playwright-sessions/contracts.d.ts.map +1 -0
  246. package/lib/types/core/playwright-sessions/contracts.js +68 -0
  247. package/lib/types/core/playwright-sessions/control.d.ts +19 -0
  248. package/lib/types/core/playwright-sessions/control.d.ts.map +1 -0
  249. package/lib/types/core/playwright-sessions/control.js +9 -0
  250. package/lib/types/core/playwright-sessions/index.d.ts +4 -0
  251. package/lib/types/core/playwright-sessions/index.d.ts.map +1 -0
  252. package/lib/types/core/playwright-sessions/index.js +3 -0
  253. package/lib/types/core/playwright-sessions/names.d.ts +4 -0
  254. package/lib/types/core/playwright-sessions/names.d.ts.map +1 -0
  255. package/lib/types/core/playwright-sessions/names.js +84 -0
  256. package/lib/types/core/playwright-sessions/schema.d.ts +4 -0
  257. package/lib/types/core/playwright-sessions/schema.d.ts.map +1 -0
  258. package/lib/types/core/playwright-sessions/schema.js +90 -0
  259. package/lib/types/core/playwright-sessions/wire.d.ts +78 -0
  260. package/lib/types/core/playwright-sessions/wire.d.ts.map +1 -0
  261. package/lib/types/core/playwright-sessions/wire.js +103 -0
  262. package/lib/types/core/remote-access/paths.d.ts +19 -0
  263. package/lib/types/core/remote-access/paths.d.ts.map +1 -0
  264. package/lib/types/core/remote-access/paths.js +18 -0
  265. package/lib/types/core/remote-web-ui/security.d.ts +35 -0
  266. package/lib/types/core/remote-web-ui/security.d.ts.map +1 -0
  267. package/lib/types/core/remote-web-ui/security.js +146 -0
  268. package/lib/types/core/right-pane/protocol.d.ts +25 -0
  269. package/lib/types/core/right-pane/protocol.d.ts.map +1 -0
  270. package/lib/types/core/right-pane/protocol.js +91 -0
  271. package/lib/types/core/schedule-mode/index.d.ts +7 -0
  272. package/lib/types/core/schedule-mode/index.d.ts.map +1 -0
  273. package/lib/types/core/schedule-mode/index.js +6 -0
  274. package/lib/types/core/schedule-mode/native.d.ts +35 -0
  275. package/lib/types/core/schedule-mode/native.d.ts.map +1 -0
  276. package/lib/types/core/schedule-mode/native.js +82 -0
  277. package/lib/types/core/schedule-mode/types.d.ts +177 -0
  278. package/lib/types/core/schedule-mode/types.d.ts.map +1 -0
  279. package/lib/types/core/schedule-mode/types.js +65 -0
  280. package/lib/types/core/schedule-mode/view.d.ts +62 -0
  281. package/lib/types/core/schedule-mode/view.d.ts.map +1 -0
  282. package/lib/types/core/schedule-mode/view.js +4 -0
  283. package/lib/types/core/ssh/protocol.d.ts +215 -0
  284. package/lib/types/core/ssh/protocol.d.ts.map +1 -0
  285. package/lib/types/core/ssh/protocol.js +23 -0
  286. package/lib/types/core/subagent-model/badges.d.ts +73 -0
  287. package/lib/types/core/subagent-model/badges.d.ts.map +1 -0
  288. package/lib/types/core/subagent-model/badges.js +105 -0
  289. package/lib/types/core/subagent-model/model-resolver.d.ts +25 -0
  290. package/lib/types/core/subagent-model/model-resolver.d.ts.map +1 -0
  291. package/lib/types/core/subagent-model/model-resolver.js +60 -0
  292. package/lib/types/core/worktree/invariant.d.ts +62 -0
  293. package/lib/types/core/worktree/invariant.d.ts.map +1 -0
  294. package/lib/types/core/worktree/invariant.js +72 -0
  295. package/lib/types/core/worktree/manifest.d.ts +71 -0
  296. package/lib/types/core/worktree/manifest.d.ts.map +1 -0
  297. package/lib/types/core/worktree/manifest.js +98 -0
  298. package/lib/types/core/worktree/paths.d.ts +60 -0
  299. package/lib/types/core/worktree/paths.d.ts.map +1 -0
  300. package/lib/types/core/worktree/paths.js +118 -0
  301. package/lib/types/core/worktree/pr-create.d.ts +67 -0
  302. package/lib/types/core/worktree/pr-create.d.ts.map +1 -0
  303. package/lib/types/core/worktree/pr-create.js +118 -0
  304. package/lib/types/core/worktree/protocol.d.ts +7 -0
  305. package/lib/types/core/worktree/protocol.d.ts.map +1 -0
  306. package/lib/types/core/worktree/protocol.js +6 -0
  307. package/lib/types/core/worktree/types.d.ts +292 -0
  308. package/lib/types/core/worktree/types.d.ts.map +1 -0
  309. package/lib/types/core/worktree/types.js +14 -0
  310. package/lib/types/core/worktree/workspace-model.d.ts +56 -0
  311. package/lib/types/core/worktree/workspace-model.d.ts.map +1 -0
  312. package/lib/types/core/worktree/workspace-model.js +14 -0
  313. package/lib/types/host/services/access-trust/index.d.ts +54 -0
  314. package/lib/types/host/services/access-trust/index.d.ts.map +1 -0
  315. package/lib/types/host/services/access-trust/index.js +82 -0
  316. package/lib/types/host/services/access-trust/trust.d.ts +70 -0
  317. package/lib/types/host/services/access-trust/trust.d.ts.map +1 -0
  318. package/lib/types/host/services/access-trust/trust.js +187 -0
  319. package/lib/types/host/services/codex-bridge/bridge.d.ts +106 -0
  320. package/lib/types/host/services/codex-bridge/bridge.d.ts.map +1 -0
  321. package/lib/types/host/services/codex-bridge/bridge.js +321 -0
  322. package/lib/types/host/services/codex-bridge/codex-auth.d.ts +108 -0
  323. package/lib/types/host/services/codex-bridge/codex-auth.d.ts.map +1 -0
  324. package/lib/types/host/services/codex-bridge/codex-auth.js +241 -0
  325. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts +58 -0
  326. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts.map +1 -0
  327. package/lib/types/host/services/codex-bridge/dsh-integration.js +120 -0
  328. package/lib/types/host/services/codex-bridge/http.d.ts +43 -0
  329. package/lib/types/host/services/codex-bridge/http.d.ts.map +1 -0
  330. package/lib/types/host/services/codex-bridge/http.js +92 -0
  331. package/lib/types/host/services/codex-bridge/index.d.ts +63 -0
  332. package/lib/types/host/services/codex-bridge/index.d.ts.map +1 -0
  333. package/lib/types/host/services/codex-bridge/index.js +111 -0
  334. package/lib/types/host/services/codex-bridge/loopback.d.ts +25 -0
  335. package/lib/types/host/services/codex-bridge/loopback.d.ts.map +1 -0
  336. package/lib/types/host/services/codex-bridge/loopback.js +68 -0
  337. package/lib/types/host/services/codex-bridge/routes.d.ts +31 -0
  338. package/lib/types/host/services/codex-bridge/routes.d.ts.map +1 -0
  339. package/lib/types/host/services/codex-bridge/routes.js +126 -0
  340. package/lib/types/host/services/family-config.d.ts +71 -0
  341. package/lib/types/host/services/family-config.d.ts.map +1 -0
  342. package/lib/types/host/services/family-config.js +166 -0
  343. package/lib/types/host/services/family-namespaces.d.ts +24 -0
  344. package/lib/types/host/services/family-namespaces.d.ts.map +1 -0
  345. package/lib/types/host/services/family-namespaces.js +30 -0
  346. package/lib/types/host/services/git-graph/index.d.ts +6 -0
  347. package/lib/types/host/services/git-graph/index.d.ts.map +1 -0
  348. package/lib/types/host/services/git-graph/index.js +7 -0
  349. package/lib/types/host/services/git-graph/routes.d.ts +4 -0
  350. package/lib/types/host/services/git-graph/routes.d.ts.map +1 -0
  351. package/lib/types/host/services/git-graph/routes.js +241 -0
  352. package/lib/types/host/services/git-graph/service.d.ts +52 -0
  353. package/lib/types/host/services/git-graph/service.d.ts.map +1 -0
  354. package/lib/types/host/services/git-graph/service.js +301 -0
  355. package/lib/types/host/services/index.d.ts +23 -0
  356. package/lib/types/host/services/index.d.ts.map +1 -0
  357. package/lib/types/host/services/index.js +80 -0
  358. package/lib/types/host/services/lark-inbox/config.d.ts +24 -0
  359. package/lib/types/host/services/lark-inbox/config.d.ts.map +1 -0
  360. package/lib/types/host/services/lark-inbox/config.js +48 -0
  361. package/lib/types/host/services/lark-inbox/gateway.d.ts +53 -0
  362. package/lib/types/host/services/lark-inbox/gateway.d.ts.map +1 -0
  363. package/lib/types/host/services/lark-inbox/gateway.js +171 -0
  364. package/lib/types/host/services/lark-inbox/host-routes.d.ts +22 -0
  365. package/lib/types/host/services/lark-inbox/host-routes.d.ts.map +1 -0
  366. package/lib/types/host/services/lark-inbox/host-routes.js +146 -0
  367. package/lib/types/host/services/lark-inbox/inbox-store.d.ts +39 -0
  368. package/lib/types/host/services/lark-inbox/inbox-store.d.ts.map +1 -0
  369. package/lib/types/host/services/lark-inbox/inbox-store.js +124 -0
  370. package/lib/types/host/services/lark-inbox/index.d.ts +26 -0
  371. package/lib/types/host/services/lark-inbox/index.d.ts.map +1 -0
  372. package/lib/types/host/services/lark-inbox/index.js +135 -0
  373. package/lib/types/host/services/lark-inbox/tools.d.ts +7 -0
  374. package/lib/types/host/services/lark-inbox/tools.d.ts.map +1 -0
  375. package/lib/types/host/services/lark-inbox/tools.js +119 -0
  376. package/lib/types/host/services/lark-inbox/wizard.d.ts +62 -0
  377. package/lib/types/host/services/lark-inbox/wizard.d.ts.map +1 -0
  378. package/lib/types/host/services/lark-inbox/wizard.js +211 -0
  379. package/lib/types/host/services/lifecycle.d.ts +29 -0
  380. package/lib/types/host/services/lifecycle.d.ts.map +1 -0
  381. package/lib/types/host/services/lifecycle.js +93 -0
  382. package/lib/types/host/services/memoir/index.d.ts +40 -0
  383. package/lib/types/host/services/memoir/index.d.ts.map +1 -0
  384. package/lib/types/host/services/memoir/index.js +52 -0
  385. package/lib/types/host/services/memoir/routes.d.ts +30 -0
  386. package/lib/types/host/services/memoir/routes.d.ts.map +1 -0
  387. package/lib/types/host/services/memoir/routes.js +364 -0
  388. package/lib/types/host/services/memoir/settings.d.ts +27 -0
  389. package/lib/types/host/services/memoir/settings.d.ts.map +1 -0
  390. package/lib/types/host/services/memoir/settings.js +120 -0
  391. package/lib/types/host/services/memoir/store.d.ts +35 -0
  392. package/lib/types/host/services/memoir/store.d.ts.map +1 -0
  393. package/lib/types/host/services/memoir/store.js +124 -0
  394. package/lib/types/host/services/memoir/tools.d.ts +8 -0
  395. package/lib/types/host/services/memoir/tools.d.ts.map +1 -0
  396. package/lib/types/host/services/memoir/tools.js +154 -0
  397. package/lib/types/host/services/no-browser-auth/index.d.ts +25 -0
  398. package/lib/types/host/services/no-browser-auth/index.d.ts.map +1 -0
  399. package/lib/types/host/services/no-browser-auth/index.js +42 -0
  400. package/lib/types/host/services/notify/config.d.ts +105 -0
  401. package/lib/types/host/services/notify/config.d.ts.map +1 -0
  402. package/lib/types/host/services/notify/config.js +123 -0
  403. package/lib/types/host/services/notify/feishu-sender.d.ts +120 -0
  404. package/lib/types/host/services/notify/feishu-sender.d.ts.map +1 -0
  405. package/lib/types/host/services/notify/feishu-sender.js +186 -0
  406. package/lib/types/host/services/notify/host-routes.d.ts +69 -0
  407. package/lib/types/host/services/notify/host-routes.d.ts.map +1 -0
  408. package/lib/types/host/services/notify/host-routes.js +112 -0
  409. package/lib/types/host/services/notify/index.d.ts +80 -0
  410. package/lib/types/host/services/notify/index.d.ts.map +1 -0
  411. package/lib/types/host/services/notify/index.js +263 -0
  412. package/lib/types/host/services/playwright-sessions/child.d.ts +76 -0
  413. package/lib/types/host/services/playwright-sessions/child.d.ts.map +1 -0
  414. package/lib/types/host/services/playwright-sessions/child.js +197 -0
  415. package/lib/types/host/services/playwright-sessions/controller.d.ts +25 -0
  416. package/lib/types/host/services/playwright-sessions/controller.d.ts.map +1 -0
  417. package/lib/types/host/services/playwright-sessions/controller.js +104 -0
  418. package/lib/types/host/services/playwright-sessions/index.d.ts +6 -0
  419. package/lib/types/host/services/playwright-sessions/index.d.ts.map +1 -0
  420. package/lib/types/host/services/playwright-sessions/index.js +161 -0
  421. package/lib/types/host/services/playwright-sessions/live-view.d.ts +32 -0
  422. package/lib/types/host/services/playwright-sessions/live-view.d.ts.map +1 -0
  423. package/lib/types/host/services/playwright-sessions/live-view.js +188 -0
  424. package/lib/types/host/services/playwright-sessions/manager.d.ts +87 -0
  425. package/lib/types/host/services/playwright-sessions/manager.d.ts.map +1 -0
  426. package/lib/types/host/services/playwright-sessions/manager.js +203 -0
  427. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts +39 -0
  428. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts.map +1 -0
  429. package/lib/types/host/services/playwright-sessions/profile-gc.js +72 -0
  430. package/lib/types/host/services/playwright-sessions/routes.d.ts +18 -0
  431. package/lib/types/host/services/playwright-sessions/routes.d.ts.map +1 -0
  432. package/lib/types/host/services/playwright-sessions/routes.js +87 -0
  433. package/lib/types/host/services/remote-access/boot-scripts.d.ts +55 -0
  434. package/lib/types/host/services/remote-access/boot-scripts.d.ts.map +1 -0
  435. package/lib/types/host/services/remote-access/boot-scripts.js +109 -0
  436. package/lib/types/host/services/remote-access/index.d.ts +28 -0
  437. package/lib/types/host/services/remote-access/index.d.ts.map +1 -0
  438. package/lib/types/host/services/remote-access/index.js +47 -0
  439. package/lib/types/host/services/remote-access/routes.d.ts +42 -0
  440. package/lib/types/host/services/remote-access/routes.d.ts.map +1 -0
  441. package/lib/types/host/services/remote-access/routes.js +119 -0
  442. package/lib/types/host/services/remote-web-ui/index.d.ts +21 -0
  443. package/lib/types/host/services/remote-web-ui/index.d.ts.map +1 -0
  444. package/lib/types/host/services/remote-web-ui/index.js +325 -0
  445. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts +115 -0
  446. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts.map +1 -0
  447. package/lib/types/host/services/remote-web-ui/server-mode/accounts.js +396 -0
  448. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts +28 -0
  449. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts.map +1 -0
  450. package/lib/types/host/services/remote-web-ui/server-mode/cookie.js +48 -0
  451. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts +17 -0
  452. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts.map +1 -0
  453. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.js +40 -0
  454. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts +73 -0
  455. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts.map +1 -0
  456. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.js +242 -0
  457. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts +23 -0
  458. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts.map +1 -0
  459. package/lib/types/host/services/remote-web-ui/server-mode/fence.js +24 -0
  460. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts +89 -0
  461. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts.map +1 -0
  462. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.js +768 -0
  463. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts +99 -0
  464. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts.map +1 -0
  465. package/lib/types/host/services/remote-web-ui/server-mode/gateway.js +679 -0
  466. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts +43 -0
  467. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts.map +1 -0
  468. package/lib/types/host/services/remote-web-ui/server-mode/http.js +92 -0
  469. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts +42 -0
  470. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts.map +1 -0
  471. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.js +73 -0
  472. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts +13 -0
  473. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts.map +1 -0
  474. package/lib/types/host/services/remote-web-ui/server-mode/lan.js +17 -0
  475. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts +25 -0
  476. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts.map +1 -0
  477. package/lib/types/host/services/remote-web-ui/server-mode/loopback.js +68 -0
  478. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts +75 -0
  479. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts.map +1 -0
  480. package/lib/types/host/services/remote-web-ui/server-mode/posture.js +116 -0
  481. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts +44 -0
  482. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts.map +1 -0
  483. package/lib/types/host/services/remote-web-ui/server-mode/roles.js +47 -0
  484. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts +21 -0
  485. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts.map +1 -0
  486. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.js +37 -0
  487. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts +111 -0
  488. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts.map +1 -0
  489. package/lib/types/host/services/remote-web-ui/server-mode/sessions.js +298 -0
  490. package/lib/types/host/services/remote-web-ui/server.d.ts +82 -0
  491. package/lib/types/host/services/remote-web-ui/server.d.ts.map +1 -0
  492. package/lib/types/host/services/remote-web-ui/server.js +492 -0
  493. package/lib/types/host/services/resources.d.ts +9 -0
  494. package/lib/types/host/services/resources.d.ts.map +1 -0
  495. package/lib/types/host/services/resources.js +98 -0
  496. package/lib/types/host/services/right-pane/browser.d.ts +42 -0
  497. package/lib/types/host/services/right-pane/browser.d.ts.map +1 -0
  498. package/lib/types/host/services/right-pane/browser.js +106 -0
  499. package/lib/types/host/services/right-pane/index.d.ts +22 -0
  500. package/lib/types/host/services/right-pane/index.d.ts.map +1 -0
  501. package/lib/types/host/services/right-pane/index.js +114 -0
  502. package/lib/types/host/services/right-pane/wire.d.ts +6 -0
  503. package/lib/types/host/services/right-pane/wire.d.ts.map +1 -0
  504. package/lib/types/host/services/right-pane/wire.js +9 -0
  505. package/lib/types/host/services/schedule-mode/config.d.ts +11 -0
  506. package/lib/types/host/services/schedule-mode/config.d.ts.map +1 -0
  507. package/lib/types/host/services/schedule-mode/config.js +15 -0
  508. package/lib/types/host/services/schedule-mode/engine.d.ts +150 -0
  509. package/lib/types/host/services/schedule-mode/engine.d.ts.map +1 -0
  510. package/lib/types/host/services/schedule-mode/engine.js +672 -0
  511. package/lib/types/host/services/schedule-mode/index.d.ts +33 -0
  512. package/lib/types/host/services/schedule-mode/index.d.ts.map +1 -0
  513. package/lib/types/host/services/schedule-mode/index.js +175 -0
  514. package/lib/types/host/services/schedule-mode/routes.d.ts +31 -0
  515. package/lib/types/host/services/schedule-mode/routes.d.ts.map +1 -0
  516. package/lib/types/host/services/schedule-mode/routes.js +109 -0
  517. package/lib/types/host/services/schedule-mode/session-create.d.ts +27 -0
  518. package/lib/types/host/services/schedule-mode/session-create.d.ts.map +1 -0
  519. package/lib/types/host/services/schedule-mode/session-create.js +21 -0
  520. package/lib/types/host/services/schedule-mode/store.d.ts +36 -0
  521. package/lib/types/host/services/schedule-mode/store.d.ts.map +1 -0
  522. package/lib/types/host/services/schedule-mode/store.js +309 -0
  523. package/lib/types/host/services/schedule-mode/tools.d.ts +13 -0
  524. package/lib/types/host/services/schedule-mode/tools.d.ts.map +1 -0
  525. package/lib/types/host/services/schedule-mode/tools.js +132 -0
  526. package/lib/types/host/services/ssh/engine.d.ts +162 -0
  527. package/lib/types/host/services/ssh/engine.d.ts.map +1 -0
  528. package/lib/types/host/services/ssh/engine.js +699 -0
  529. package/lib/types/host/services/ssh/host-keys.d.ts +10 -0
  530. package/lib/types/host/services/ssh/host-keys.d.ts.map +1 -0
  531. package/lib/types/host/services/ssh/host-keys.js +108 -0
  532. package/lib/types/host/services/ssh/index.d.ts +38 -0
  533. package/lib/types/host/services/ssh/index.d.ts.map +1 -0
  534. package/lib/types/host/services/ssh/index.js +47 -0
  535. package/lib/types/host/services/ssh/routes.d.ts +29 -0
  536. package/lib/types/host/services/ssh/routes.d.ts.map +1 -0
  537. package/lib/types/host/services/ssh/routes.js +465 -0
  538. package/lib/types/host/services/ssh/store.d.ts +40 -0
  539. package/lib/types/host/services/ssh/store.d.ts.map +1 -0
  540. package/lib/types/host/services/ssh/store.js +330 -0
  541. package/lib/types/host/services/ssh/terminal-ws.d.ts +9 -0
  542. package/lib/types/host/services/ssh/terminal-ws.d.ts.map +1 -0
  543. package/lib/types/host/services/ssh/terminal-ws.js +142 -0
  544. package/lib/types/host/services/ssh/tools.d.ts +11 -0
  545. package/lib/types/host/services/ssh/tools.d.ts.map +1 -0
  546. package/lib/types/host/services/ssh/tools.js +270 -0
  547. package/lib/types/host/services/web-render/contracts.d.ts +93 -0
  548. package/lib/types/host/services/web-render/contracts.d.ts.map +1 -0
  549. package/lib/types/host/services/web-render/contracts.js +60 -0
  550. package/lib/types/host/services/web-render/index.d.ts +58 -0
  551. package/lib/types/host/services/web-render/index.d.ts.map +1 -0
  552. package/lib/types/host/services/web-render/index.js +90 -0
  553. package/lib/types/host/services/web-render/provider.d.ts +37 -0
  554. package/lib/types/host/services/web-render/provider.d.ts.map +1 -0
  555. package/lib/types/host/services/web-render/provider.js +274 -0
  556. package/lib/types/host/services/web-search-anthropic/contracts.d.ts +117 -0
  557. package/lib/types/host/services/web-search-anthropic/contracts.d.ts.map +1 -0
  558. package/lib/types/host/services/web-search-anthropic/contracts.js +90 -0
  559. package/lib/types/host/services/web-search-anthropic/index.d.ts +53 -0
  560. package/lib/types/host/services/web-search-anthropic/index.d.ts.map +1 -0
  561. package/lib/types/host/services/web-search-anthropic/index.js +123 -0
  562. package/lib/types/host/services/web-search-anthropic/provider.d.ts +101 -0
  563. package/lib/types/host/services/web-search-anthropic/provider.d.ts.map +1 -0
  564. package/lib/types/host/services/web-search-anthropic/provider.js +237 -0
  565. package/lib/types/host/services/web-search-kaon/contracts.d.ts +114 -0
  566. package/lib/types/host/services/web-search-kaon/contracts.d.ts.map +1 -0
  567. package/lib/types/host/services/web-search-kaon/contracts.js +73 -0
  568. package/lib/types/host/services/web-search-kaon/index.d.ts +50 -0
  569. package/lib/types/host/services/web-search-kaon/index.d.ts.map +1 -0
  570. package/lib/types/host/services/web-search-kaon/index.js +114 -0
  571. package/lib/types/host/services/web-search-kaon/provider.d.ts +111 -0
  572. package/lib/types/host/services/web-search-kaon/provider.d.ts.map +1 -0
  573. package/lib/types/host/services/web-search-kaon/provider.js +244 -0
  574. package/lib/types/host/services/worktree/git-runner.d.ts +82 -0
  575. package/lib/types/host/services/worktree/git-runner.d.ts.map +1 -0
  576. package/lib/types/host/services/worktree/git-runner.js +81 -0
  577. package/lib/types/host/services/worktree/git.d.ts +94 -0
  578. package/lib/types/host/services/worktree/git.d.ts.map +1 -0
  579. package/lib/types/host/services/worktree/git.js +153 -0
  580. package/lib/types/host/services/worktree/http.d.ts +12 -0
  581. package/lib/types/host/services/worktree/http.d.ts.map +1 -0
  582. package/lib/types/host/services/worktree/http.js +34 -0
  583. package/lib/types/host/services/worktree/index.d.ts +38 -0
  584. package/lib/types/host/services/worktree/index.d.ts.map +1 -0
  585. package/lib/types/host/services/worktree/index.js +78 -0
  586. package/lib/types/host/services/worktree/lane-tool.d.ts +22 -0
  587. package/lib/types/host/services/worktree/lane-tool.d.ts.map +1 -0
  588. package/lib/types/host/services/worktree/lane-tool.js +92 -0
  589. package/lib/types/host/services/worktree/manager.d.ts +410 -0
  590. package/lib/types/host/services/worktree/manager.d.ts.map +1 -0
  591. package/lib/types/host/services/worktree/manager.js +1485 -0
  592. package/lib/types/host/services/worktree/model-override.d.ts +20 -0
  593. package/lib/types/host/services/worktree/model-override.d.ts.map +1 -0
  594. package/lib/types/host/services/worktree/model-override.js +35 -0
  595. package/lib/types/host/services/worktree/routes.d.ts +50 -0
  596. package/lib/types/host/services/worktree/routes.d.ts.map +1 -0
  597. package/lib/types/host/services/worktree/routes.js +695 -0
  598. package/lib/types/host/services/worktree/run-command.d.ts +26 -0
  599. package/lib/types/host/services/worktree/run-command.d.ts.map +1 -0
  600. package/lib/types/host/services/worktree/run-command.js +36 -0
  601. package/lib/types/host/services/worktree/session-lane/manager.d.ts +109 -0
  602. package/lib/types/host/services/worktree/session-lane/manager.d.ts.map +1 -0
  603. package/lib/types/host/services/worktree/session-lane/manager.js +172 -0
  604. package/lib/types/host/services/worktree/workspace-model-routes.d.ts +21 -0
  605. package/lib/types/host/services/worktree/workspace-model-routes.d.ts.map +1 -0
  606. package/lib/types/host/services/worktree/workspace-model-routes.js +198 -0
  607. package/lib/types/host/services/worktree/workspace-model.d.ts +48 -0
  608. package/lib/types/host/services/worktree/workspace-model.d.ts.map +1 -0
  609. package/lib/types/host/services/worktree/workspace-model.js +113 -0
  610. package/lib/types/index.d.ts +47 -0
  611. package/lib/types/index.d.ts.map +1 -0
  612. package/lib/types/index.js +52 -0
  613. package/lib/types/invariant.d.ts +4 -0
  614. package/lib/types/invariant.d.ts.map +1 -0
  615. package/lib/types/invariant.js +3 -0
  616. package/package.json +153 -3
  617. package/presets/code-vibe/THIRD_PARTY_NOTICES.md +55 -0
  618. package/presets/code-vibe/skills/UPSTREAM.md +104 -0
  619. package/presets/code-vibe/skills/agent-experience/SKILL.md +15 -0
  620. package/presets/code-vibe/skills/agent-operation/SKILL.md +43 -0
  621. package/presets/code-vibe/skills/code-review/SKILL.md +45 -0
  622. package/presets/code-vibe/skills/dsh-ci-test-reliability/SKILL.md +133 -0
  623. package/presets/code-vibe/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md +60 -0
  624. package/presets/code-vibe/skills/dsh-find-simplifications/SKILL.md +69 -0
  625. package/presets/code-vibe/skills/dsh-find-simplifications/references/historical-patterns.md +45 -0
  626. package/presets/code-vibe/skills/dsh-merging-stacked-prs/SKILL.md +129 -0
  627. package/presets/code-vibe/skills/dsh-prose-standard/SKILL.md +83 -0
  628. package/presets/code-vibe/skills/dsh-prose-standard/references/examples.md +169 -0
  629. package/presets/code-vibe/skills/dsh-speed-up-perf/SKILL.md +94 -0
  630. package/presets/code-vibe/skills/dsh-trim-cot-leakage/SKILL.md +47 -0
  631. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/examples.md +275 -0
  632. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/recall-batteries.md +52 -0
  633. package/presets/code-vibe/skills/frontend-design/SKILL.md +60 -0
  634. package/presets/code-vibe/skills/frontend-design/references/critique-format.md +35 -0
  635. package/presets/code-vibe/skills/frontend-design/references/design-standards/LOAD-MAP.md +81 -0
  636. package/presets/code-vibe/skills/frontend-design/references/design-standards/README.md +53 -0
  637. package/presets/code-vibe/skills/frontend-design/references/design-standards/anchor.md +51 -0
  638. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/ai-tells.md +59 -0
  639. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/web-interface.md +14 -0
  640. package/presets/code-vibe/skills/frontend-design/references/design-standards/change-control.md +62 -0
  641. package/presets/code-vibe/skills/frontend-design/references/design-standards/copy.md +65 -0
  642. package/presets/code-vibe/skills/frontend-design/references/design-standards/craft-knobs.md +61 -0
  643. package/presets/code-vibe/skills/frontend-design/references/design-standards/debug-playbook.md +37 -0
  644. package/presets/code-vibe/skills/frontend-design/references/design-standards/exemplars/README.md +64 -0
  645. package/presets/code-vibe/skills/frontend-design/references/design-standards/plan-architecture.checklist.json +13 -0
  646. package/presets/code-vibe/skills/frontend-design/references/design-standards/product-judgment.md +113 -0
  647. package/presets/code-vibe/skills/frontend-design/references/design-standards/system-architecture.md +108 -0
  648. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/README.md +26 -0
  649. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/color-roles.md +49 -0
  650. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/motion.md +51 -0
  651. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/scale.md +89 -0
  652. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-page-gate.md +61 -0
  653. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-surface.checklist.json +49 -0
  654. package/presets/code-vibe/skills/frontend-design/references/design-standards/ux.md +76 -0
  655. package/presets/code-vibe/skills/frontend-design/references/design-standards/visual.md +52 -0
  656. package/presets/code-vibe/skills/frontend-design/references/perceptible-path.md +27 -0
  657. package/presets/code-vibe/skills/frontend-design/references/product-package.md +80 -0
  658. package/presets/code-vibe/skills/frontend-design/references/scheme-antipatterns.md +21 -0
  659. package/presets/code-vibe/skills/quality-review/SKILL.md +57 -0
  660. package/presets/code-vibe/skills/quality-review/references/bounded-verify.md +37 -0
  661. package/presets/code-vibe/skills/quality-review/references/browser-verify.md +81 -0
  662. package/presets/code-vibe/skills/quality-review/references/evidence-contract.md +194 -0
  663. package/presets/code-vibe/skills/quality-review/references/falsify-checklist.md +44 -0
  664. package/presets/code-vibe/skills/quality-review/references/human-acceptance-pack.md +68 -0
  665. package/presets/code-vibe/skills/quality-review/references/product-regression.md +51 -0
  666. package/presets/code-vibe/skills/quality-review/references/ux-standards.md +37 -0
  667. package/presets/code-vibe/skills/quality-review/references/ux-walkthrough.md +49 -0
  668. package/presets/code-vibe/skills/quality-review/references/validation-report.md +22 -0
  669. package/presets/code-vibe/skills/quality-review/references/verification-loop.md +95 -0
  670. package/presets/code-vibe/skills/quality-review/references/version-acceptance-matrix.md +131 -0
  671. package/presets/code-vibe/skills/record-browser-gif/SKILL.md +174 -0
  672. package/presets/code-vibe/skills/record-browser-gif/scripts/encode_gif.py +337 -0
  673. package/presets/code-vibe/skills/record-browser-gif/scripts/test_encode_gif.py +103 -0
  674. package/presets/code-vibe/skills/wish-programming/SKILL.md +150 -0
  675. package/presets/code-vibe/skills/wish-programming/references/roles/arch-reviewer.md +26 -0
  676. package/presets/code-vibe/skills/wish-programming/references/roles/design-reviewer.md +32 -0
  677. package/presets/code-vibe/skills/wish-programming/references/roles/pm-reviewer.md +26 -0
  678. package/presets/code-vibe/skills/wish-programming/references/roles/qa-reviewer.md +16 -0
  679. package/presets/code-vibe/skills/wish-programming/references/roles/security-reviewer.md +16 -0
  680. package/presets/code-vibe/skills/wish-programming/references/roles/sre-reviewer.md +16 -0
  681. package/presets/code-vibe/skills/wish-programming/references/roles/ux-adversary.md +16 -0
  682. package/presets/code-vibe/skills/wish-programming/references/templates/arch.md.tpl +51 -0
  683. package/presets/code-vibe/skills/wish-programming/references/templates/brief.md.tpl +36 -0
  684. package/presets/code-vibe/skills/wish-programming/references/templates/confirmation-pack.md +54 -0
  685. package/presets/code-vibe/skills/wish-programming/references/templates/design-spec.md.tpl +49 -0
  686. package/presets/code-vibe/skills/wish-programming/references/templates/module-readme.md +37 -0
  687. package/presets/code-vibe/skills/wish-programming/references/templates/product.md.tpl +74 -0
  688. package/presets/code-vibe/skills/wish-programming/references/templates/requirements.md.tpl +31 -0
  689. package/presets/code-vibe/skills/wish-programming/references/workflow-template.md +122 -0
  690. package/presets/code-vibe/skills/wish-programming/scripts/MANIFEST.sha256 +11 -0
  691. package/presets/code-vibe/skills/wish-programming/scripts/check_spec.py +416 -0
  692. package/presets/code-vibe/skills/wish-programming/scripts/check_whitelist.py +193 -0
  693. package/presets/code-vibe/skills/wish-programming/scripts/coverage_check.py +199 -0
  694. package/presets/code-vibe/skills/wish-programming/scripts/gate-lock.sh +46 -0
  695. package/presets/code-vibe/skills/wish-programming/scripts/journey.sh +281 -0
  696. package/presets/code-vibe/skills/wish-programming/scripts/project.sh +152 -0
  697. package/presets/code-vibe/skills/wish-programming/scripts/replay.sh +65 -0
  698. package/presets/code-vibe/skills/wish-programming/scripts/scan_drift.py +79 -0
  699. package/presets/code-vibe/skills/wish-programming/scripts/verify.sh +169 -0
  700. package/presets/code-vibe/skills/wish-programming/scripts/verify_preset_budgets.py +218 -0
  701. package/presets/code-vibe/skills/wish-programming/scripts/wish.sh +150 -0
  702. package/presets/code-vibe.patch.yml +325 -0
  703. package/presets/hiopen.patch.yml +109 -0
  704. package/src/client/compat.ts +86 -0
  705. package/src/client/conversation/conversation.module.css +264 -0
  706. package/src/client/conversation/git-branch.tsx +152 -0
  707. package/src/client/conversation/git-graph/LICENSE.git-graph +202 -0
  708. package/src/client/conversation/git-graph/api.ts +85 -0
  709. package/src/client/conversation/git-graph/branch-chip.tsx +354 -0
  710. package/src/client/conversation/git-graph/branch-popover.tsx +185 -0
  711. package/src/client/conversation/git-graph/chip.tsx +47 -0
  712. package/src/client/conversation/git-graph/create-branch-dialog.tsx +108 -0
  713. package/src/client/conversation/git-graph/error-copy.ts +50 -0
  714. package/src/client/conversation/git-graph/git-graph.module.css +792 -0
  715. package/src/client/conversation/git-graph/graph-dialog.tsx +196 -0
  716. package/src/client/conversation/git-graph/hero-seat.ts +76 -0
  717. package/src/client/conversation/git-graph/locales.ts +90 -0
  718. package/src/client/conversation/git-graph/sse-leader.ts +124 -0
  719. package/src/client/conversation/index.ts +82 -0
  720. package/src/client/conversation/selector-context.tsx +24 -0
  721. package/src/client/conversation/session-lane-chip.tsx +262 -0
  722. package/src/client/conversation/session-lane-locales.ts +34 -0
  723. package/src/client/conversation/subagent-model-dom.ts +157 -0
  724. package/src/client/conversation/subagent-model.ts +198 -0
  725. package/src/client/conversation/worktree/api.ts +283 -0
  726. package/src/client/conversation/worktree/dialogs/DeleteWorktreeDialog.tsx +111 -0
  727. package/src/client/conversation/worktree/dialogs/PrCreateDialog.tsx +114 -0
  728. package/src/client/conversation/worktree/lane-binding.ts +77 -0
  729. package/src/client/conversation/worktree/lane-menu.tsx +247 -0
  730. package/src/client/conversation/worktree/lane-open.ts +204 -0
  731. package/src/client/conversation/worktree/lane-workspace-sweeper.ts +136 -0
  732. package/src/client/conversation/worktree/lifecycle.ts +75 -0
  733. package/src/client/conversation/worktree/locales.ts +97 -0
  734. package/src/client/conversation/worktree/semantic.ts +10 -0
  735. package/src/client/conversation/worktree/worktree.module.css +70 -0
  736. package/src/client/css-modules.d.ts +8 -0
  737. package/src/client/index.ts +58 -0
  738. package/src/client/lark-inbox/i18n.ts +125 -0
  739. package/src/client/lark-inbox/lark-wizard.module.css +88 -0
  740. package/src/client/lark-inbox/wizard.tsx +211 -0
  741. package/src/client/notify/i18n.ts +93 -0
  742. package/src/client/settings/family-scope.ts +45 -0
  743. package/src/client/settings/lark-inbox.tsx +319 -0
  744. package/src/client/settings/notify.tsx +288 -0
  745. package/src/client/settings/primitives-0.2.ts +148 -0
  746. package/src/client/settings/settings-shell.module.css +56 -0
  747. package/src/client/sidebar/RenderBoundary.tsx +17 -0
  748. package/src/client/sidebar/agent-browser.tsx +114 -0
  749. package/src/client/sidebar/diff-view.tsx +314 -0
  750. package/src/client/sidebar/git-workbench.tsx +700 -0
  751. package/src/client/sidebar/icons.tsx +23 -0
  752. package/src/client/sidebar/index.ts +28 -0
  753. package/src/client/sidebar/native-panels.tsx +149 -0
  754. package/src/client/sidebar/page-shell.module.css +96 -0
  755. package/src/client/sidebar/page-shell.tsx +86 -0
  756. package/src/client/sidebar/panels/memoir/api.ts +300 -0
  757. package/src/client/sidebar/panels/memoir/controller.ts +47 -0
  758. package/src/client/sidebar/panels/memoir/cwd.ts +140 -0
  759. package/src/client/sidebar/panels/memoir/i18n.ts +300 -0
  760. package/src/client/sidebar/panels/memoir/panel-activation.ts +42 -0
  761. package/src/client/sidebar/panels/memoir/panel.tsx +869 -0
  762. package/src/client/sidebar/panels/memoir/styles.ts +776 -0
  763. package/src/client/sidebar/panels/memoir/types.ts +7 -0
  764. package/src/client/sidebar/panels/ssh/ClusterTab.tsx +123 -0
  765. package/src/client/sidebar/panels/ssh/HostFormDialog.tsx +243 -0
  766. package/src/client/sidebar/panels/ssh/HostsTab.tsx +290 -0
  767. package/src/client/sidebar/panels/ssh/SshPanel.tsx +76 -0
  768. package/src/client/sidebar/panels/ssh/TerminalTab.tsx +290 -0
  769. package/src/client/sidebar/panels/ssh/TransferTab.tsx +232 -0
  770. package/src/client/sidebar/panels/ssh/TunnelsTab.tsx +204 -0
  771. package/src/client/sidebar/panels/ssh/api.ts +388 -0
  772. package/src/client/sidebar/panels/ssh/controller.ts +48 -0
  773. package/src/client/sidebar/panels/ssh/helpers.ts +70 -0
  774. package/src/client/sidebar/panels/ssh/locales.ts +318 -0
  775. package/src/client/sidebar/panels/ssh/panel.module.css +801 -0
  776. package/src/client/sidebar/panels/ssh/xterm.css.ts +2 -0
  777. package/src/client/sidebar/right-pane-i18n.ts +243 -0
  778. package/src/client/sidebar/right-pane.tsx +156 -0
  779. package/src/client/sidebar/scope.ts +54 -0
  780. package/src/client/sidebar/sidebar-header.module.css +72 -0
  781. package/src/client/sidebar/sidebar.module.css +619 -0
  782. package/src/client/trust.ts +187 -0
  783. package/src/client/ui-icons.ts +35 -0
  784. package/src/core/git-graph/commands.ts +107 -0
  785. package/src/core/git-graph/protocol.ts +238 -0
  786. package/src/core/index.ts +2 -0
  787. package/src/core/lark-inbox/gating.ts +35 -0
  788. package/src/core/lark-inbox/queue.ts +100 -0
  789. package/src/core/memoir/protocol.ts +46 -0
  790. package/src/core/no-browser-auth/contract.ts +25 -0
  791. package/src/core/notify/contract.ts +236 -0
  792. package/src/core/notify/feed.ts +235 -0
  793. package/src/core/playwright-sessions/contracts.ts +143 -0
  794. package/src/core/playwright-sessions/control.ts +33 -0
  795. package/src/core/playwright-sessions/index.ts +3 -0
  796. package/src/core/playwright-sessions/names.ts +83 -0
  797. package/src/core/playwright-sessions/schema.ts +102 -0
  798. package/src/core/playwright-sessions/wire.ts +142 -0
  799. package/src/core/remote-access/paths.ts +23 -0
  800. package/src/core/remote-web-ui/security.ts +171 -0
  801. package/src/core/right-pane/protocol.ts +94 -0
  802. package/src/core/schedule-mode/index.ts +6 -0
  803. package/src/core/schedule-mode/native.ts +105 -0
  804. package/src/core/schedule-mode/types.ts +182 -0
  805. package/src/core/schedule-mode/view.ts +66 -0
  806. package/src/core/ssh/protocol.ts +212 -0
  807. package/src/core/subagent-model/badges.ts +161 -0
  808. package/src/core/worktree/invariant.ts +101 -0
  809. package/src/core/worktree/manifest.ts +135 -0
  810. package/src/core/worktree/paths.ts +123 -0
  811. package/src/core/worktree/pr-create.ts +157 -0
  812. package/src/core/worktree/protocol.ts +7 -0
  813. package/src/core/worktree/types.ts +317 -0
  814. package/src/core/worktree/workspace-model.ts +61 -0
  815. package/src/host/services/access-trust/index.ts +127 -0
  816. package/src/host/services/access-trust/trust.ts +189 -0
  817. package/src/host/services/codex-bridge/bridge.ts +392 -0
  818. package/src/host/services/codex-bridge/codex-auth.ts +352 -0
  819. package/src/host/services/codex-bridge/dsh-integration.ts +169 -0
  820. package/src/host/services/codex-bridge/http.ts +105 -0
  821. package/src/host/services/codex-bridge/index.ts +154 -0
  822. package/src/host/services/codex-bridge/loopback.ts +63 -0
  823. package/src/host/services/codex-bridge/routes.ts +143 -0
  824. package/src/host/services/family-config.ts +224 -0
  825. package/src/host/services/family-namespaces.ts +39 -0
  826. package/src/host/services/git-graph/index.ts +11 -0
  827. package/src/host/services/git-graph/routes.ts +212 -0
  828. package/src/host/services/git-graph/service.ts +305 -0
  829. package/src/host/services/index.ts +94 -0
  830. package/src/host/services/lark-inbox/config.ts +66 -0
  831. package/src/host/services/lark-inbox/gateway.ts +184 -0
  832. package/src/host/services/lark-inbox/host-routes.ts +113 -0
  833. package/src/host/services/lark-inbox/inbox-store.ts +160 -0
  834. package/src/host/services/lark-inbox/index.ts +141 -0
  835. package/src/host/services/lark-inbox/tools.ts +124 -0
  836. package/src/host/services/lark-inbox/wizard.ts +206 -0
  837. package/src/host/services/lifecycle.ts +107 -0
  838. package/src/host/services/memoir/index.ts +80 -0
  839. package/src/host/services/memoir/routes.ts +346 -0
  840. package/src/host/services/memoir/settings.ts +122 -0
  841. package/src/host/services/memoir/store.ts +132 -0
  842. package/src/host/services/memoir/tools.ts +158 -0
  843. package/src/host/services/no-browser-auth/index.ts +70 -0
  844. package/src/host/services/notify/config.ts +178 -0
  845. package/src/host/services/notify/feishu-sender.ts +220 -0
  846. package/src/host/services/notify/host-routes.ts +133 -0
  847. package/src/host/services/notify/index.ts +305 -0
  848. package/src/host/services/playwright-sessions/child.ts +251 -0
  849. package/src/host/services/playwright-sessions/controller.ts +102 -0
  850. package/src/host/services/playwright-sessions/index.ts +146 -0
  851. package/src/host/services/playwright-sessions/live-view.ts +225 -0
  852. package/src/host/services/playwright-sessions/manager.ts +239 -0
  853. package/src/host/services/playwright-sessions/profile-gc.ts +97 -0
  854. package/src/host/services/playwright-sessions/routes.ts +90 -0
  855. package/src/host/services/remote-access/boot-scripts.ts +118 -0
  856. package/src/host/services/remote-access/index.ts +62 -0
  857. package/src/host/services/remote-access/routes.ts +137 -0
  858. package/src/host/services/remote-web-ui/index.ts +344 -0
  859. package/src/host/services/remote-web-ui/server-mode/accounts.ts +423 -0
  860. package/src/host/services/remote-web-ui/server-mode/cookie.ts +57 -0
  861. package/src/host/services/remote-web-ui/server-mode/dsh-home.ts +42 -0
  862. package/src/host/services/remote-web-ui/server-mode/external-auth.ts +296 -0
  863. package/src/host/services/remote-web-ui/server-mode/fence.ts +27 -0
  864. package/src/host/services/remote-web-ui/server-mode/gateway-routes.ts +797 -0
  865. package/src/host/services/remote-web-ui/server-mode/gateway.ts +684 -0
  866. package/src/host/services/remote-web-ui/server-mode/http.ts +105 -0
  867. package/src/host/services/remote-web-ui/server-mode/integrated-auth.ts +118 -0
  868. package/src/host/services/remote-web-ui/server-mode/lan.ts +19 -0
  869. package/src/host/services/remote-web-ui/server-mode/loopback.ts +63 -0
  870. package/src/host/services/remote-web-ui/server-mode/posture.ts +154 -0
  871. package/src/host/services/remote-web-ui/server-mode/roles.ts +51 -0
  872. package/src/host/services/remote-web-ui/server-mode/server-boot.ts +38 -0
  873. package/src/host/services/remote-web-ui/server-mode/sessions.ts +347 -0
  874. package/src/host/services/remote-web-ui/server.ts +591 -0
  875. package/src/host/services/resources.ts +78 -0
  876. package/src/host/services/right-pane/browser.ts +106 -0
  877. package/src/host/services/right-pane/index.ts +117 -0
  878. package/src/host/services/right-pane/wire.ts +10 -0
  879. package/src/host/services/schedule-mode/config.ts +26 -0
  880. package/src/host/services/schedule-mode/engine.ts +689 -0
  881. package/src/host/services/schedule-mode/index.ts +214 -0
  882. package/src/host/services/schedule-mode/routes.ts +130 -0
  883. package/src/host/services/schedule-mode/session-create.ts +36 -0
  884. package/src/host/services/schedule-mode/store.ts +304 -0
  885. package/src/host/services/schedule-mode/tools.ts +154 -0
  886. package/src/host/services/ssh/engine.ts +675 -0
  887. package/src/host/services/ssh/host-keys.ts +99 -0
  888. package/src/host/services/ssh/index.ts +84 -0
  889. package/src/host/services/ssh/routes.ts +442 -0
  890. package/src/host/services/ssh/store.ts +310 -0
  891. package/src/host/services/ssh/terminal-ws.ts +157 -0
  892. package/src/host/services/ssh/tools.ts +279 -0
  893. package/src/host/services/web-render/contracts.ts +138 -0
  894. package/src/host/services/web-render/index.ts +112 -0
  895. package/src/host/services/web-render/provider.ts +282 -0
  896. package/src/host/services/web-search-anthropic/contracts.ts +163 -0
  897. package/src/host/services/web-search-anthropic/index.ts +152 -0
  898. package/src/host/services/web-search-anthropic/provider.ts +325 -0
  899. package/src/host/services/worktree/git-runner.ts +124 -0
  900. package/src/host/services/worktree/git.ts +183 -0
  901. package/src/host/services/worktree/http.ts +36 -0
  902. package/src/host/services/worktree/index.ts +92 -0
  903. package/src/host/services/worktree/lane-tool.ts +100 -0
  904. package/src/host/services/worktree/manager.ts +1553 -0
  905. package/src/host/services/worktree/model-override.ts +43 -0
  906. package/src/host/services/worktree/routes.ts +570 -0
  907. package/src/host/services/worktree/run-command.ts +66 -0
  908. package/src/host/services/worktree/session-lane/manager.ts +228 -0
  909. package/src/host/services/worktree/workspace-model-routes.ts +156 -0
  910. package/src/host/services/worktree/workspace-model.ts +132 -0
  911. package/src/index.ts +84 -0
  912. package/src/invariant.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector-context.d.ts","sourceRoot":"","sources":["../../../../src/client/conversation/selector-context.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMnE,6BAA6B;AAC7B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,IAAI,CAQnE"}
@@ -0,0 +1,11 @@
1
+ import { createGitBranchFace } from "./git-branch.js";
2
+ /** 装配输入区分支 chip(dock 席位)。 */
3
+ export function mountSelectorContext(ctx) {
4
+ const face = createGitBranchFace(ctx);
5
+ return ctx.slots.inject('conversation.input.dock', () => ctx.slots.register({
6
+ name: 'conversation.input.dock',
7
+ id: 'web-all-git-branch-chip',
8
+ order: 100,
9
+ inject: (sessionId) => ({ sessionId }),
10
+ }, face));
11
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Conversation header chip: which branch this conversation runs on, rendered
3
+ * immediately after the session title.
4
+ *
5
+ * Seat: `conversation.session.header.actions` (declared `kind: "list"`,
6
+ * `scope: "session"`), i.e. the same header row as the title, to its right.
7
+ * The chip owns four rules:
8
+ * 1. it always answers "which branch is this conversation on": a lane shows
9
+ * its branch plus the lane's state, and a conversation on the repository's
10
+ * main checkout shows `Main checkout · <branch>`;
11
+ * 2. for a lane it is also the worktree's whole lifecycle surface — clicking
12
+ * it opens {@link LaneMenu} (facts, submit PR, clean up, remove). There is
13
+ * no sidebar page for that anymore;
14
+ * 3. it renders nothing when the session has no repository (or the host half
15
+ * predates the routes) — a header must never break because of a chip;
16
+ * 4. it never changes the branch: selection stays in the composer picker, so
17
+ * exactly one control decides which branch a conversation starts on.
18
+ *
19
+ * Data: `POST /worktree/lane` resolves the lane from the session id alone, and
20
+ * `POST /git/status` resolves the main-checkout branch for the session's cwd.
21
+ * @module dsh-client-ui-worktree/client/session-lane-chip
22
+ */
23
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
24
+ import type { PropsLocale, PropsRuntime, Translate } from '@deepseek-ai/dsh-client-ui-slots';
25
+ import type { RepoStatus } from '../../core/git-graph/protocol.ts';
26
+ import type { LaneView } from '../../core/worktree/types.ts';
27
+ import { WorktreeApi } from './worktree/api.ts';
28
+ import { en, zh, type SessionLaneKey } from './session-lane-locales.ts';
29
+ declare module '@deepseek-ai/dsh-client-ui-slots' {
30
+ interface LocaleNamespaceMap {
31
+ /** Conversation header lane chip copy. */
32
+ 'web-all-session-lane': SessionLaneKey;
33
+ }
34
+ }
35
+ /** The injected face the position module hands the chip. */
36
+ export interface SessionLaneInjected {
37
+ /** Lane lookup (session id only; the host resolves the cwd). */
38
+ lane: Pick<WorktreeApi, 'lane'>['lane'];
39
+ /** Repository snapshot for the session's cwd; null when it is not a repo. */
40
+ repoStatus: (sessionId: string) => Promise<RepoStatus | null>;
41
+ /** Whether the conversation is running a turn (teardown has to wait). */
42
+ running: (sessionId: string) => boolean;
43
+ /** Worktree API for the lane menu's actions (it owns their dialogs). */
44
+ api: WorktreeApi;
45
+ /** Namespace-bound translator for the lane menu and dialogs. */
46
+ worktreeT: PropsLocale<'worktree'>['t'];
47
+ /** Namespace-bound translator for the chip itself. */
48
+ t: Translate<SessionLaneKey>;
49
+ }
50
+ /**
51
+ * The status word for one lane. Precedence is deliberate: uncommitted work
52
+ * is the most actionable fact, then merge state, then the PR, then whether
53
+ * anything was pushed at all.
54
+ */
55
+ export declare function laneStatusKey(lane: Pick<LaneView, 'dirty' | 'merged' | 'prNumber' | 'pushed'>): SessionLaneKey;
56
+ /**
57
+ * The header chip: the branch this conversation is on, and — on a lane — the
58
+ * way to finish that branch off.
59
+ * Renders nothing unless the conversation belongs to a git repository.
60
+ */
61
+ export declare function SessionLaneChip(props: PropsRuntime<'conversation.session.header.actions'> & {
62
+ sessionId?: string;
63
+ } & SessionLaneInjected): import("react").JSX.Element | null;
64
+ export { en as sessionLaneEn, zh as sessionLaneZh };
65
+ export type { SessionLaneKey };
66
+ /**
67
+ * Mount the lane chip on the session-header actions seat. The seat is
68
+ * `scope: "session"`, so the runtime injects the session id and the chip
69
+ * needs no other identity.
70
+ */
71
+ export declare function mountSessionLaneChip(ctx: ClientContext): () => void;
72
+ //# sourceMappingURL=session-lane-chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-lane-chip.d.ts","sourceRoot":"","sources":["../../../../src/client/conversation/session-lane-chip.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAG5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,KAAK,EAAmB,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI/C,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGvE,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,0CAA0C;QAC1C,sBAAsB,EAAE,cAAc,CAAA;KACvC;CACF;AAYD,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;IACvC,6EAA6E;IAC7E,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAC7D,yEAAyE;IACzE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;IACvC,wEAAwE;IACxE,GAAG,EAAE,WAAW,CAAA;IAChB,gEAAgE;IAChE,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAA;IACvC,sDAAsD;IACtD,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC,GAC/D,cAAc,CAMhB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,CAAC,qCAAqC,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,sCAgH1G;AAED,OAAO,EAAE,EAAE,IAAI,aAAa,EAAE,EAAE,IAAI,aAAa,EAAE,CAAA;AACnD,YAAY,EAAE,cAAc,EAAE,CAAA;AAW9B;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,IAAI,CAqCnE"}
@@ -0,0 +1,163 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Conversation header chip: which branch this conversation runs on, rendered
4
+ * immediately after the session title.
5
+ *
6
+ * Seat: `conversation.session.header.actions` (declared `kind: "list"`,
7
+ * `scope: "session"`), i.e. the same header row as the title, to its right.
8
+ * The chip owns four rules:
9
+ * 1. it always answers "which branch is this conversation on": a lane shows
10
+ * its branch plus the lane's state, and a conversation on the repository's
11
+ * main checkout shows `Main checkout · <branch>`;
12
+ * 2. for a lane it is also the worktree's whole lifecycle surface — clicking
13
+ * it opens {@link LaneMenu} (facts, submit PR, clean up, remove). There is
14
+ * no sidebar page for that anymore;
15
+ * 3. it renders nothing when the session has no repository (or the host half
16
+ * predates the routes) — a header must never break because of a chip;
17
+ * 4. it never changes the branch: selection stays in the composer picker, so
18
+ * exactly one control decides which branch a conversation starts on.
19
+ *
20
+ * Data: `POST /worktree/lane` resolves the lane from the session id alone, and
21
+ * `POST /git/status` resolves the main-checkout branch for the session's cwd.
22
+ * @module dsh-client-ui-worktree/client/session-lane-chip
23
+ */
24
+ import { useCallback, useEffect, useRef, useState } from 'react';
25
+ import { IconBranchOutline16 } from "../ui-icons.js";
26
+ import { WORKTREE_PART_LANE_CHIP, WORKTREE_PLUGIN } from "./worktree/semantic.js";
27
+ import { WorktreeApi } from "./worktree/api.js";
28
+ import { LaneMenu } from "./worktree/lane-menu.js";
29
+ import { createLaneBinder } from "./worktree/lane-binding.js";
30
+ import { GitApi } from "./git-graph/api.js";
31
+ import { en, zh } from "./session-lane-locales.js";
32
+ import css from './conversation.module.css';
33
+ /**
34
+ * The status word for one lane. Precedence is deliberate: uncommitted work
35
+ * is the most actionable fact, then merge state, then the PR, then whether
36
+ * anything was pushed at all.
37
+ */
38
+ export function laneStatusKey(lane) {
39
+ if ((lane.dirty ?? 0) > 0)
40
+ return 'lane.dirty';
41
+ if (lane.merged)
42
+ return 'lane.merged';
43
+ if (lane.prNumber !== null)
44
+ return 'lane.pr';
45
+ if (lane.pushed)
46
+ return 'lane.pushed';
47
+ return 'lane.local';
48
+ }
49
+ /**
50
+ * The header chip: the branch this conversation is on, and — on a lane — the
51
+ * way to finish that branch off.
52
+ * Renders nothing unless the conversation belongs to a git repository.
53
+ */
54
+ export function SessionLaneChip(props) {
55
+ const { sessionId, lane: lookup, repoStatus, running, api, worktreeT, t } = props;
56
+ const [lane, setLane] = useState(null);
57
+ const [repo, setRepo] = useState(null);
58
+ const [open, setOpen] = useState(false);
59
+ const [bindFailed, setBindFailed] = useState(false);
60
+ // One binder per mounted chip: it holds the per-session "already attempted"
61
+ // set, so a refused binding is reported instead of retried forever.
62
+ const binderRef = useRef(null);
63
+ // The binder resolves through the same lookup the chip already receives, so
64
+ // the two never disagree about which lane this conversation is on.
65
+ binderRef.current ??= createLaneBinder({ lane: lookup, bindLane: (input) => api.bindLane(input) });
66
+ const binder = binderRef.current;
67
+ useEffect(() => {
68
+ if (sessionId === undefined) {
69
+ setLane(null);
70
+ setRepo(null);
71
+ return;
72
+ }
73
+ let live = true;
74
+ const refresh = () => {
75
+ // `binder.bind` resolves the lane AND records the pairing when the host
76
+ // does not have it yet (see the module doc).
77
+ void Promise.all([binder.bind(sessionId), repoStatus(sessionId)]).then(([binding, repoValue]) => {
78
+ if (!live)
79
+ return;
80
+ setBindFailed(binding.bindFailed);
81
+ setLane(binding.lane);
82
+ setRepo(repoValue);
83
+ }, () => { if (live) {
84
+ setLane(null);
85
+ setRepo(null);
86
+ } });
87
+ };
88
+ refresh();
89
+ // The branch can change while the session id stays the same (a
90
+ // mid-conversation branch switch, or a cleanup that archived the lane) and
91
+ // there is no push channel, so revalidate whenever the tab is looked at.
92
+ const revalidate = () => {
93
+ if (document.visibilityState === 'visible')
94
+ refresh();
95
+ };
96
+ document.addEventListener('visibilitychange', revalidate);
97
+ window.addEventListener('focus', revalidate);
98
+ return () => {
99
+ live = false;
100
+ document.removeEventListener('visibilitychange', revalidate);
101
+ window.removeEventListener('focus', revalidate);
102
+ };
103
+ }, [sessionId, lookup, repoStatus, binder]);
104
+ /** Re-read the lane after the menu changed it (PR, refresh, teardown). */
105
+ const reload = useCallback(() => {
106
+ if (sessionId === undefined)
107
+ return;
108
+ void lookup({ sessionId }).then((value) => { setLane(value); }, () => { });
109
+ }, [lookup, sessionId]);
110
+ if (lane !== null && lane.branch !== null && sessionId !== undefined) {
111
+ const status = t(laneStatusKey(lane), { number: lane.prNumber ?? 0 });
112
+ return (_jsxs("span", { className: css.laneChipWrap, children: [_jsxs("button", { type: "button", className: css.laneChip, "data-dsh-plugin": WORKTREE_PLUGIN, "data-dsh-part": WORKTREE_PART_LANE_CHIP, title: t('lane.aria', { branch: lane.branch }), "aria-haspopup": "menu", "aria-expanded": open, onClick: () => { setOpen((value) => !value); }, children: [_jsx(IconBranchOutline16, { size: 14 }), _jsx("span", { className: css.laneBranch, children: lane.branch }), _jsx("span", { className: css.laneStatus, children: status }), (lane.permissionPresetApplied === false || bindFailed) && (_jsx("span", { className: css.laneWarning, children: t('lane.presetMissing') }))] }), open && (_jsx(LaneMenu, { sessionId: sessionId, lane: lane, api: api, running: running(sessionId), ownLane: true, onClose: () => { setOpen(false); }, onChanged: reload, t: worktreeT }))] }));
113
+ }
114
+ // No lane: the conversation works on the repository's main checkout. The
115
+ // branch is still the answer to "which branch am I on", so say it — but there
116
+ // is no lane to finish off, so this one stays read-only.
117
+ if (repo === null || repo.branch === '')
118
+ return null;
119
+ return (_jsxs("span", { className: css.laneChip, "data-dsh-plugin": WORKTREE_PLUGIN, "data-dsh-part": WORKTREE_PART_LANE_CHIP, "data-dsh-kind": "main", title: t('lane.mainCheckoutAria', { branch: repo.branch }), children: [_jsx(IconBranchOutline16, { size: 14 }), _jsx("span", { className: css.laneStatus, children: t('lane.mainCheckout') }), _jsx("span", { className: css.laneBranch, children: repo.branch })] }));
120
+ }
121
+ export { en as sessionLaneEn, zh as sessionLaneZh };
122
+ /** Optional service lookup that survives a missing or reshaped service. */
123
+ function optionalService(ctx, name) {
124
+ try {
125
+ return ctx.get(name, false);
126
+ }
127
+ catch {
128
+ return undefined;
129
+ }
130
+ }
131
+ /**
132
+ * Mount the lane chip on the session-header actions seat. The seat is
133
+ * `scope: "session"`, so the runtime injects the session id and the chip
134
+ * needs no other identity.
135
+ */
136
+ export function mountSessionLaneChip(ctx) {
137
+ const api = new WorktreeApi();
138
+ const git = new GitApi();
139
+ const translate = ctx.locale.bind('web-all-session-lane');
140
+ const t = (key, params) => translate(key, params);
141
+ const worktreeTranslate = ctx.locale.bind('worktree');
142
+ const worktreeT = (key, params) => worktreeTranslate(key, params);
143
+ const sessions = () => optionalService(ctx, 'sessions');
144
+ // Identity matters: the chip's effect lists these as dependencies, so a
145
+ // per-render closure would refetch on every render. Create them once for the
146
+ // lifetime of the mount.
147
+ const lane = (input) => api.lane(input);
148
+ const repoStatus = async (sessionId) => {
149
+ const cwd = sessions()?.list?.getSnapshot?.()?.byId?.[sessionId]?.cwd;
150
+ if (typeof cwd !== 'string' || cwd === '')
151
+ return null;
152
+ const result = await git.status(cwd);
153
+ return result.ok ? result.value : null;
154
+ };
155
+ const running = (sessionId) => sessions()?.list?.getSnapshot?.()?.byId?.[sessionId]?.running === true;
156
+ const face = (props) => (_jsx(SessionLaneChip, { ...props, lane: lane, repoStatus: repoStatus, running: running, api: api, worktreeT: worktreeT, t: t }));
157
+ return ctx.slots.inject('conversation.session.header.actions', () => ctx.slots.register({
158
+ name: 'conversation.session.header.actions',
159
+ id: 'web-all-session-lane-chip',
160
+ order: 100,
161
+ inject: (sessionId) => ({ sessionId }),
162
+ }, face));
163
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `web-all-session-lane` dictionaries: the conversation header lane chip.
3
+ * `zh` is the key source; `en` mirrors its key set exactly.
4
+ * @module dsh-client-ui-worktree/client/session-lane-locales
5
+ */
6
+ /** Chinese dictionary (key source). */
7
+ export declare const zh: {
8
+ readonly 'lane.aria': "当前分支目录:{branch}";
9
+ readonly 'lane.local': "未推送";
10
+ readonly 'lane.dirty': "有未提交改动";
11
+ readonly 'lane.pushed': "已推送";
12
+ readonly 'lane.pr': "PR #{number}";
13
+ readonly 'lane.merged': "已合并";
14
+ readonly 'lane.presetMissing': "需完全权限才能提交";
15
+ readonly 'lane.mainCheckout': "项目主目录";
16
+ readonly 'lane.mainCheckoutAria': "当前对话在项目主目录:{branch}";
17
+ };
18
+ /** The session-lane namespace key union. */
19
+ export type SessionLaneKey = keyof typeof zh;
20
+ /** English dictionary (complete mirror of `zh`). */
21
+ export declare const en: Record<SessionLaneKey, string>;
22
+ //# sourceMappingURL=session-lane-locales.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-lane-locales.d.ts","sourceRoot":"","sources":["../../../../src/client/conversation/session-lane-locales.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uCAAuC;AACvC,eAAO,MAAM,EAAE;;;;;;;;;;CAUL,CAAA;AAEV,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,EAAE,CAAA;AAE5C,oDAAoD;AACpD,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAU7C,CAAA"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `web-all-session-lane` dictionaries: the conversation header lane chip.
3
+ * `zh` is the key source; `en` mirrors its key set exactly.
4
+ * @module dsh-client-ui-worktree/client/session-lane-locales
5
+ */
6
+ /** Chinese dictionary (key source). */
7
+ export const zh = {
8
+ 'lane.aria': '当前分支目录:{branch}',
9
+ 'lane.local': '未推送',
10
+ 'lane.dirty': '有未提交改动',
11
+ 'lane.pushed': '已推送',
12
+ 'lane.pr': 'PR #{number}',
13
+ 'lane.merged': '已合并',
14
+ 'lane.presetMissing': '需完全权限才能提交',
15
+ 'lane.mainCheckout': '项目主目录',
16
+ 'lane.mainCheckoutAria': '当前对话在项目主目录:{branch}',
17
+ };
18
+ /** English dictionary (complete mirror of `zh`). */
19
+ export const en = {
20
+ 'lane.aria': 'Current branch directory: {branch}',
21
+ 'lane.local': 'Not pushed',
22
+ 'lane.dirty': 'Uncommitted changes',
23
+ 'lane.pushed': 'Pushed',
24
+ 'lane.pr': 'PR #{number}',
25
+ 'lane.merged': 'Merged',
26
+ 'lane.presetMissing': 'needs full access to commit',
27
+ 'lane.mainCheckout': 'Main directory',
28
+ 'lane.mainCheckoutAria': "This conversation is in the project's main directory: {branch}",
29
+ };
@@ -0,0 +1,16 @@
1
+ export declare const SUBAGENT_MODEL_PLUGIN = "subagent-model";
2
+ export declare const SUBAGENT_MODEL_PART = "badge";
3
+ export interface SubagentBadgeDeps {
4
+ /** Child label (or row title) → child session id. */
5
+ readonly labels: ReadonlyMap<string, string>;
6
+ /** Child session id → rendered `model` or `model · effort`. */
7
+ readonly models: ReadonlyMap<string, string>;
8
+ readonly ariaLabel: (modelAndEffort: string) => string;
9
+ }
10
+ /** Augment catalog rows and all tool rows beneath root. */
11
+ export declare function scanSubagentRows(root: ParentNode, deps: SubagentBadgeDeps): void;
12
+ /** Augment only structured subagent catalog rows. */
13
+ export declare function scanSubagentCatalogRows(root: ParentNode, deps: SubagentBadgeDeps): void;
14
+ /** Augment tool-call rows inside a mutation-affected subtree. */
15
+ export declare function scanSubagentToolRows(root: ParentNode, deps: SubagentBadgeDeps): void;
16
+ //# sourceMappingURL=subagent-model-dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-model-dom.d.ts","sourceRoot":"","sources":["../../../../src/client/conversation/subagent-model-dom.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,qBAAqB,mBAAmB,CAAA;AACrD,eAAO,MAAM,mBAAmB,UAAU,CAAA;AAE1C,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5C,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAA;CACvD;AAMD,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAQhF;AAED,qDAAqD;AACrD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAuBvF;AAED,iEAAiE;AACjE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAOpF"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Position-owned DOM presentation for subagent model badges. The conversation
3
+ * module is the only owner of this augmentation; the 0.2 fact resolution stays
4
+ * under src/core/subagent-model.
5
+ *
6
+ * Badge text now comes from the sessions list snapshot (each child row's
7
+ * `modelSelection` projection), so a scan is a single synchronous pass: rows
8
+ * whose text matches a known child label get the badge, rows without a known
9
+ * model are simply left alone.
10
+ */
11
+ import css from './conversation.module.css';
12
+ export const SUBAGENT_MODEL_PLUGIN = 'subagent-model';
13
+ export const SUBAGENT_MODEL_PART = 'badge';
14
+ const BADGE_SELECTOR = `[data-dsh-plugin="${SUBAGENT_MODEL_PLUGIN}"]`;
15
+ const TOOL_ROW_PREFIX = 'Tool call subagent';
16
+ const CATALOG_ROLE = 'treeitem';
17
+ /** Augment catalog rows and all tool rows beneath root. */
18
+ export function scanSubagentRows(root, deps) {
19
+ scanSubagentCatalogRows(root, deps);
20
+ if (deps.labels.size === 0)
21
+ return;
22
+ const pattern = compileLabelPattern(deps.labels);
23
+ const seen = new Set();
24
+ for (const child of elementChildren(root)) {
25
+ walkToolRows(child, deps, pattern, seen);
26
+ }
27
+ }
28
+ /** Augment only structured subagent catalog rows. */
29
+ export function scanSubagentCatalogRows(root, deps) {
30
+ if (deps.labels.size === 0)
31
+ return;
32
+ const pattern = compileLabelPattern(deps.labels);
33
+ let rows;
34
+ try {
35
+ rows = root.querySelectorAll(`[role="${CATALOG_ROLE}"]`);
36
+ }
37
+ catch {
38
+ return;
39
+ }
40
+ for (const row of Array.from(rows)) {
41
+ try {
42
+ const text = row.textContent ?? '';
43
+ if (!text.includes('·') && !text.includes('tok'))
44
+ continue;
45
+ const childId = matchChildId(text, deps.labels, pattern);
46
+ if (childId === undefined)
47
+ continue;
48
+ const metrics = row.querySelector('[class*="metrics"]');
49
+ const labelNode = row.querySelector('[class*="label"]');
50
+ const anchor = metrics ?? labelNode?.parentElement ?? row;
51
+ handleRow(row, anchor, childId, deps);
52
+ }
53
+ catch {
54
+ // One malformed row must not break progressive enhancement.
55
+ }
56
+ }
57
+ }
58
+ /** Augment tool-call rows inside a mutation-affected subtree. */
59
+ export function scanSubagentToolRows(root, deps) {
60
+ if (deps.labels.size === 0)
61
+ return;
62
+ const pattern = compileLabelPattern(deps.labels);
63
+ const seen = new Set();
64
+ for (const child of elementChildren(root)) {
65
+ walkToolRows(child, deps, pattern, seen);
66
+ }
67
+ }
68
+ function elementChildren(root) {
69
+ if (root instanceof Element)
70
+ return [root];
71
+ if ('children' in root)
72
+ return Array.from(root.children);
73
+ return [];
74
+ }
75
+ function walkToolRows(node, deps, pattern, seen) {
76
+ let descendantMatched = false;
77
+ for (const child of Array.from(node.children)) {
78
+ if (walkToolRows(child, deps, pattern, seen))
79
+ descendantMatched = true;
80
+ }
81
+ if (descendantMatched)
82
+ return true;
83
+ const text = node.textContent ?? '';
84
+ if (!text.includes(TOOL_ROW_PREFIX))
85
+ return false;
86
+ const childId = matchChildId(text, deps.labels, pattern);
87
+ if (childId === undefined)
88
+ return false;
89
+ handleRow(node, node, childId, deps);
90
+ seen.add(childId);
91
+ return true;
92
+ }
93
+ function handleRow(row, anchor, childId, deps) {
94
+ const text = deps.models.get(childId);
95
+ // No projection value yet: leave whatever is already rendered in place.
96
+ if (text === undefined)
97
+ return;
98
+ const existing = row.querySelector(BADGE_SELECTOR);
99
+ if (existing !== null) {
100
+ existing.textContent = text;
101
+ existing.title = text;
102
+ existing.setAttribute('aria-label', deps.ariaLabel(text));
103
+ return;
104
+ }
105
+ const badge = document.createElement('span');
106
+ badge.className = css.subagentModelBadge ?? '';
107
+ badge.textContent = text;
108
+ badge.title = text;
109
+ badge.setAttribute('aria-label', deps.ariaLabel(text));
110
+ badge.setAttribute('data-dsh-plugin', SUBAGENT_MODEL_PLUGIN);
111
+ badge.setAttribute('data-dsh-part', SUBAGENT_MODEL_PART);
112
+ anchor.appendChild(badge);
113
+ }
114
+ function compileLabelPattern(labels) {
115
+ const alternatives = [...labels.keys()]
116
+ .filter(label => label.length > 0)
117
+ .sort((a, b) => b.length - a.length)
118
+ .map(escapeRegExp);
119
+ return alternatives.length === 0
120
+ ? /(?!)/g
121
+ : new RegExp(`(?:${alternatives.join('|')})`, 'g');
122
+ }
123
+ function matchChildId(text, labels, pattern) {
124
+ pattern.lastIndex = 0;
125
+ let best;
126
+ let bestLabel;
127
+ for (const match of text.matchAll(pattern)) {
128
+ const candidate = match[0];
129
+ if (labels.has(candidate) && (bestLabel === undefined || candidate.length > bestLabel.length)) {
130
+ bestLabel = candidate;
131
+ best = labels.get(candidate);
132
+ }
133
+ }
134
+ return best;
135
+ }
136
+ function escapeRegExp(value) {
137
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
138
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Conversation-owned subagent model surface.
3
+ *
4
+ * It augments already-rendered catalog/tool rows with each child's model and
5
+ * reasoning effort, read from the sessions list snapshot's `modelSelection`
6
+ * projection (DSH 0.2). Nothing is fetched and no child session is opened or
7
+ * retained: the rows the badge targets are rendered by the official UI, and the
8
+ * projections that describe them travel with the same list snapshot.
9
+ *
10
+ * The conversation position is a root scope, so the current session comes from
11
+ * the public `uiSession.adapter.current` binding (the private `uiSession.current`
12
+ * and the workspace selection cell remain as fallbacks for older cohorts).
13
+ */
14
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
15
+ /** Mount the read-only model badge observer within the conversation position. */
16
+ export declare function mountSubagentModel(ctx: ClientContext): () => void;
17
+ //# sourceMappingURL=subagent-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-model.d.ts","sourceRoot":"","sources":["../../../../src/client/conversation/subagent-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAsEnE,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,IAAI,CAiHjE"}
@@ -0,0 +1,156 @@
1
+ import { resolveSubagentBadges, } from "../../core/subagent-model/badges.js";
2
+ import { scanSubagentCatalogRows, scanSubagentRows, scanSubagentToolRows, } from "./subagent-model-dom.js";
3
+ import { NS } from "./index.js";
4
+ const SCAN_DEBOUNCE_MS = 300;
5
+ const zh = {
6
+ 'subagentModel.badge.aria': '子代理模型与推理深度 {model}',
7
+ };
8
+ const en = {
9
+ 'subagentModel.badge.aria': 'Subagent model and reasoning effort {model}',
10
+ };
11
+ /** Take one optional service without requiring it in the plugin's inject list. */
12
+ function optionalService(ctx, name) {
13
+ try {
14
+ return ctx.get(name, false);
15
+ }
16
+ catch {
17
+ return undefined;
18
+ }
19
+ }
20
+ /** Read a source without letting a hostile or proxied face throw. */
21
+ function read(reader) {
22
+ try {
23
+ return reader();
24
+ }
25
+ catch {
26
+ return undefined;
27
+ }
28
+ }
29
+ /** The session the operator is in: public adapter binding first. */
30
+ function currentSessionId(faces) {
31
+ const candidates = [
32
+ read(() => faces.uiSession?.adapter?.current?.getSnapshot()?.key),
33
+ read(() => faces.uiSession?.current?.getSnapshot()?.key),
34
+ read(() => faces.uiWorkspace?.selection?.getSnapshot()?.sessionId),
35
+ ];
36
+ for (const candidate of candidates) {
37
+ if (typeof candidate === 'string' && candidate !== '')
38
+ return candidate;
39
+ }
40
+ return undefined;
41
+ }
42
+ /** Mount the read-only model badge observer within the conversation position. */
43
+ export function mountSubagentModel(ctx) {
44
+ const sessions = optionalService(ctx, 'sessions');
45
+ if (sessions === undefined || typeof sessions.list?.subscribe !== 'function')
46
+ return () => { };
47
+ const disposers = [];
48
+ try {
49
+ disposers.push(ctx.locale.register(NS, { zh, en }));
50
+ }
51
+ catch {
52
+ // A duplicate namespace registration must not break the web shell.
53
+ }
54
+ const translate = ctx.locale.bind(NS);
55
+ const ariaLabel = (value) => translate('subagentModel.badge.aria', { model: value });
56
+ const labels = new Map();
57
+ const models = new Map();
58
+ const dirtyRoots = new Set();
59
+ let scanTimer;
60
+ let idleHandle;
61
+ let fullScanPending = true;
62
+ /** The selection faces, re-read per scan so a late service is picked up. */
63
+ const selectionFaces = () => ({
64
+ uiSession: optionalService(ctx, 'uiSession'),
65
+ uiWorkspace: optionalService(ctx, 'uiWorkspace'),
66
+ });
67
+ /** Project the list snapshot into the DOM matcher's two maps. */
68
+ const rebuild = () => {
69
+ labels.clear();
70
+ models.clear();
71
+ const snapshot = sessions.list.getSnapshot();
72
+ const { badges } = resolveSubagentBadges(snapshot, currentSessionId(selectionFaces()));
73
+ for (const badge of badges) {
74
+ for (const label of badge.labels)
75
+ labels.set(label, badge.childId);
76
+ if (badge.modelText !== undefined)
77
+ models.set(badge.childId, badge.modelText);
78
+ }
79
+ };
80
+ const scheduleScan = () => {
81
+ if (scanTimer !== undefined)
82
+ clearTimeout(scanTimer);
83
+ scanTimer = setTimeout(() => {
84
+ scanTimer = undefined;
85
+ const requestIdle = globalThis.requestIdleCallback;
86
+ if (typeof requestIdle === 'function') {
87
+ idleHandle = requestIdle(() => { runScan(); });
88
+ }
89
+ else {
90
+ runScan();
91
+ }
92
+ }, SCAN_DEBOUNCE_MS);
93
+ };
94
+ function runScan() {
95
+ if (typeof document === 'undefined' || document.body === null)
96
+ return;
97
+ try {
98
+ rebuild();
99
+ const deps = { labels, models, ariaLabel };
100
+ if (fullScanPending)
101
+ scanSubagentRows(document.body, deps);
102
+ else
103
+ scanSubagentCatalogRows(document.body, deps);
104
+ fullScanPending = false;
105
+ for (const root of dirtyRoots) {
106
+ if (!root.isConnected)
107
+ continue;
108
+ scanSubagentToolRows(root, deps);
109
+ }
110
+ dirtyRoots.clear();
111
+ }
112
+ catch {
113
+ // The badge is progressive enhancement and never blocks the shell.
114
+ }
115
+ }
116
+ if (typeof document !== 'undefined' && document.body !== null && typeof MutationObserver !== 'undefined') {
117
+ const observer = new MutationObserver((records) => {
118
+ for (const record of records) {
119
+ const nodes = record.addedNodes.length > 0 ? record.addedNodes : [record.target];
120
+ for (const node of Array.from(nodes)) {
121
+ const element = node instanceof Element ? node : node.parentElement;
122
+ if (element === null)
123
+ continue;
124
+ dirtyRoots.add(element);
125
+ while (dirtyRoots.size > 32) {
126
+ const oldest = dirtyRoots.values().next().value;
127
+ if (oldest === undefined)
128
+ break;
129
+ dirtyRoots.delete(oldest);
130
+ }
131
+ }
132
+ }
133
+ scheduleScan();
134
+ });
135
+ observer.observe(document.body, { childList: true, subtree: true });
136
+ const unsubscribe = sessions.list.subscribe(() => {
137
+ fullScanPending = true;
138
+ scheduleScan();
139
+ });
140
+ scheduleScan();
141
+ disposers.push(() => {
142
+ observer.disconnect();
143
+ unsubscribe();
144
+ if (scanTimer !== undefined)
145
+ clearTimeout(scanTimer);
146
+ if (idleHandle !== undefined) {
147
+ const cancelIdle = globalThis.cancelIdleCallback;
148
+ cancelIdle?.(idleHandle);
149
+ }
150
+ });
151
+ }
152
+ return () => {
153
+ for (const dispose of disposers.reverse())
154
+ dispose();
155
+ };
156
+ }