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

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 (900) hide show
  1. package/LICENSE +202 -0
  2. package/README.i18n.yaml +6 -0
  3. package/README.md +205 -2
  4. package/README.zh.md +205 -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/worktree/invariant.d.ts +62 -0
  290. package/lib/types/core/worktree/invariant.d.ts.map +1 -0
  291. package/lib/types/core/worktree/invariant.js +72 -0
  292. package/lib/types/core/worktree/manifest.d.ts +71 -0
  293. package/lib/types/core/worktree/manifest.d.ts.map +1 -0
  294. package/lib/types/core/worktree/manifest.js +98 -0
  295. package/lib/types/core/worktree/paths.d.ts +60 -0
  296. package/lib/types/core/worktree/paths.d.ts.map +1 -0
  297. package/lib/types/core/worktree/paths.js +118 -0
  298. package/lib/types/core/worktree/pr-create.d.ts +67 -0
  299. package/lib/types/core/worktree/pr-create.d.ts.map +1 -0
  300. package/lib/types/core/worktree/pr-create.js +118 -0
  301. package/lib/types/core/worktree/protocol.d.ts +7 -0
  302. package/lib/types/core/worktree/protocol.d.ts.map +1 -0
  303. package/lib/types/core/worktree/protocol.js +6 -0
  304. package/lib/types/core/worktree/types.d.ts +292 -0
  305. package/lib/types/core/worktree/types.d.ts.map +1 -0
  306. package/lib/types/core/worktree/types.js +14 -0
  307. package/lib/types/core/worktree/workspace-model.d.ts +56 -0
  308. package/lib/types/core/worktree/workspace-model.d.ts.map +1 -0
  309. package/lib/types/core/worktree/workspace-model.js +14 -0
  310. package/lib/types/host/services/access-trust/index.d.ts +54 -0
  311. package/lib/types/host/services/access-trust/index.d.ts.map +1 -0
  312. package/lib/types/host/services/access-trust/index.js +82 -0
  313. package/lib/types/host/services/access-trust/trust.d.ts +70 -0
  314. package/lib/types/host/services/access-trust/trust.d.ts.map +1 -0
  315. package/lib/types/host/services/access-trust/trust.js +187 -0
  316. package/lib/types/host/services/codex-bridge/bridge.d.ts +106 -0
  317. package/lib/types/host/services/codex-bridge/bridge.d.ts.map +1 -0
  318. package/lib/types/host/services/codex-bridge/bridge.js +321 -0
  319. package/lib/types/host/services/codex-bridge/codex-auth.d.ts +108 -0
  320. package/lib/types/host/services/codex-bridge/codex-auth.d.ts.map +1 -0
  321. package/lib/types/host/services/codex-bridge/codex-auth.js +241 -0
  322. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts +58 -0
  323. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts.map +1 -0
  324. package/lib/types/host/services/codex-bridge/dsh-integration.js +120 -0
  325. package/lib/types/host/services/codex-bridge/http.d.ts +43 -0
  326. package/lib/types/host/services/codex-bridge/http.d.ts.map +1 -0
  327. package/lib/types/host/services/codex-bridge/http.js +92 -0
  328. package/lib/types/host/services/codex-bridge/index.d.ts +63 -0
  329. package/lib/types/host/services/codex-bridge/index.d.ts.map +1 -0
  330. package/lib/types/host/services/codex-bridge/index.js +111 -0
  331. package/lib/types/host/services/codex-bridge/loopback.d.ts +25 -0
  332. package/lib/types/host/services/codex-bridge/loopback.d.ts.map +1 -0
  333. package/lib/types/host/services/codex-bridge/loopback.js +68 -0
  334. package/lib/types/host/services/codex-bridge/routes.d.ts +31 -0
  335. package/lib/types/host/services/codex-bridge/routes.d.ts.map +1 -0
  336. package/lib/types/host/services/codex-bridge/routes.js +126 -0
  337. package/lib/types/host/services/family-config.d.ts +71 -0
  338. package/lib/types/host/services/family-config.d.ts.map +1 -0
  339. package/lib/types/host/services/family-config.js +166 -0
  340. package/lib/types/host/services/family-namespaces.d.ts +24 -0
  341. package/lib/types/host/services/family-namespaces.d.ts.map +1 -0
  342. package/lib/types/host/services/family-namespaces.js +30 -0
  343. package/lib/types/host/services/git-graph/index.d.ts +6 -0
  344. package/lib/types/host/services/git-graph/index.d.ts.map +1 -0
  345. package/lib/types/host/services/git-graph/index.js +7 -0
  346. package/lib/types/host/services/git-graph/routes.d.ts +4 -0
  347. package/lib/types/host/services/git-graph/routes.d.ts.map +1 -0
  348. package/lib/types/host/services/git-graph/routes.js +241 -0
  349. package/lib/types/host/services/git-graph/service.d.ts +52 -0
  350. package/lib/types/host/services/git-graph/service.d.ts.map +1 -0
  351. package/lib/types/host/services/git-graph/service.js +301 -0
  352. package/lib/types/host/services/index.d.ts +23 -0
  353. package/lib/types/host/services/index.d.ts.map +1 -0
  354. package/lib/types/host/services/index.js +80 -0
  355. package/lib/types/host/services/lark-inbox/config.d.ts +24 -0
  356. package/lib/types/host/services/lark-inbox/config.d.ts.map +1 -0
  357. package/lib/types/host/services/lark-inbox/config.js +48 -0
  358. package/lib/types/host/services/lark-inbox/gateway.d.ts +53 -0
  359. package/lib/types/host/services/lark-inbox/gateway.d.ts.map +1 -0
  360. package/lib/types/host/services/lark-inbox/gateway.js +171 -0
  361. package/lib/types/host/services/lark-inbox/host-routes.d.ts +22 -0
  362. package/lib/types/host/services/lark-inbox/host-routes.d.ts.map +1 -0
  363. package/lib/types/host/services/lark-inbox/host-routes.js +146 -0
  364. package/lib/types/host/services/lark-inbox/inbox-store.d.ts +39 -0
  365. package/lib/types/host/services/lark-inbox/inbox-store.d.ts.map +1 -0
  366. package/lib/types/host/services/lark-inbox/inbox-store.js +124 -0
  367. package/lib/types/host/services/lark-inbox/index.d.ts +26 -0
  368. package/lib/types/host/services/lark-inbox/index.d.ts.map +1 -0
  369. package/lib/types/host/services/lark-inbox/index.js +135 -0
  370. package/lib/types/host/services/lark-inbox/tools.d.ts +7 -0
  371. package/lib/types/host/services/lark-inbox/tools.d.ts.map +1 -0
  372. package/lib/types/host/services/lark-inbox/tools.js +119 -0
  373. package/lib/types/host/services/lark-inbox/wizard.d.ts +62 -0
  374. package/lib/types/host/services/lark-inbox/wizard.d.ts.map +1 -0
  375. package/lib/types/host/services/lark-inbox/wizard.js +211 -0
  376. package/lib/types/host/services/lifecycle.d.ts +29 -0
  377. package/lib/types/host/services/lifecycle.d.ts.map +1 -0
  378. package/lib/types/host/services/lifecycle.js +93 -0
  379. package/lib/types/host/services/memoir/index.d.ts +40 -0
  380. package/lib/types/host/services/memoir/index.d.ts.map +1 -0
  381. package/lib/types/host/services/memoir/index.js +52 -0
  382. package/lib/types/host/services/memoir/routes.d.ts +30 -0
  383. package/lib/types/host/services/memoir/routes.d.ts.map +1 -0
  384. package/lib/types/host/services/memoir/routes.js +364 -0
  385. package/lib/types/host/services/memoir/settings.d.ts +27 -0
  386. package/lib/types/host/services/memoir/settings.d.ts.map +1 -0
  387. package/lib/types/host/services/memoir/settings.js +120 -0
  388. package/lib/types/host/services/memoir/store.d.ts +35 -0
  389. package/lib/types/host/services/memoir/store.d.ts.map +1 -0
  390. package/lib/types/host/services/memoir/store.js +124 -0
  391. package/lib/types/host/services/memoir/tools.d.ts +8 -0
  392. package/lib/types/host/services/memoir/tools.d.ts.map +1 -0
  393. package/lib/types/host/services/memoir/tools.js +154 -0
  394. package/lib/types/host/services/no-browser-auth/index.d.ts +25 -0
  395. package/lib/types/host/services/no-browser-auth/index.d.ts.map +1 -0
  396. package/lib/types/host/services/no-browser-auth/index.js +42 -0
  397. package/lib/types/host/services/notify/config.d.ts +105 -0
  398. package/lib/types/host/services/notify/config.d.ts.map +1 -0
  399. package/lib/types/host/services/notify/config.js +123 -0
  400. package/lib/types/host/services/notify/feishu-sender.d.ts +120 -0
  401. package/lib/types/host/services/notify/feishu-sender.d.ts.map +1 -0
  402. package/lib/types/host/services/notify/feishu-sender.js +186 -0
  403. package/lib/types/host/services/notify/host-routes.d.ts +69 -0
  404. package/lib/types/host/services/notify/host-routes.d.ts.map +1 -0
  405. package/lib/types/host/services/notify/host-routes.js +112 -0
  406. package/lib/types/host/services/notify/index.d.ts +80 -0
  407. package/lib/types/host/services/notify/index.d.ts.map +1 -0
  408. package/lib/types/host/services/notify/index.js +263 -0
  409. package/lib/types/host/services/playwright-sessions/child.d.ts +76 -0
  410. package/lib/types/host/services/playwright-sessions/child.d.ts.map +1 -0
  411. package/lib/types/host/services/playwright-sessions/child.js +197 -0
  412. package/lib/types/host/services/playwright-sessions/controller.d.ts +25 -0
  413. package/lib/types/host/services/playwright-sessions/controller.d.ts.map +1 -0
  414. package/lib/types/host/services/playwright-sessions/controller.js +104 -0
  415. package/lib/types/host/services/playwright-sessions/index.d.ts +6 -0
  416. package/lib/types/host/services/playwright-sessions/index.d.ts.map +1 -0
  417. package/lib/types/host/services/playwright-sessions/index.js +161 -0
  418. package/lib/types/host/services/playwright-sessions/live-view.d.ts +32 -0
  419. package/lib/types/host/services/playwright-sessions/live-view.d.ts.map +1 -0
  420. package/lib/types/host/services/playwright-sessions/live-view.js +188 -0
  421. package/lib/types/host/services/playwright-sessions/manager.d.ts +87 -0
  422. package/lib/types/host/services/playwright-sessions/manager.d.ts.map +1 -0
  423. package/lib/types/host/services/playwright-sessions/manager.js +203 -0
  424. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts +39 -0
  425. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts.map +1 -0
  426. package/lib/types/host/services/playwright-sessions/profile-gc.js +72 -0
  427. package/lib/types/host/services/playwright-sessions/routes.d.ts +18 -0
  428. package/lib/types/host/services/playwright-sessions/routes.d.ts.map +1 -0
  429. package/lib/types/host/services/playwright-sessions/routes.js +87 -0
  430. package/lib/types/host/services/remote-access/boot-scripts.d.ts +55 -0
  431. package/lib/types/host/services/remote-access/boot-scripts.d.ts.map +1 -0
  432. package/lib/types/host/services/remote-access/boot-scripts.js +109 -0
  433. package/lib/types/host/services/remote-access/index.d.ts +28 -0
  434. package/lib/types/host/services/remote-access/index.d.ts.map +1 -0
  435. package/lib/types/host/services/remote-access/index.js +47 -0
  436. package/lib/types/host/services/remote-access/routes.d.ts +42 -0
  437. package/lib/types/host/services/remote-access/routes.d.ts.map +1 -0
  438. package/lib/types/host/services/remote-access/routes.js +119 -0
  439. package/lib/types/host/services/remote-web-ui/index.d.ts +21 -0
  440. package/lib/types/host/services/remote-web-ui/index.d.ts.map +1 -0
  441. package/lib/types/host/services/remote-web-ui/index.js +325 -0
  442. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts +115 -0
  443. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts.map +1 -0
  444. package/lib/types/host/services/remote-web-ui/server-mode/accounts.js +396 -0
  445. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts +28 -0
  446. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts.map +1 -0
  447. package/lib/types/host/services/remote-web-ui/server-mode/cookie.js +48 -0
  448. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts +17 -0
  449. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts.map +1 -0
  450. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.js +40 -0
  451. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts +73 -0
  452. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts.map +1 -0
  453. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.js +242 -0
  454. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts +23 -0
  455. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts.map +1 -0
  456. package/lib/types/host/services/remote-web-ui/server-mode/fence.js +24 -0
  457. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts +89 -0
  458. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts.map +1 -0
  459. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.js +768 -0
  460. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts +99 -0
  461. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts.map +1 -0
  462. package/lib/types/host/services/remote-web-ui/server-mode/gateway.js +679 -0
  463. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts +43 -0
  464. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts.map +1 -0
  465. package/lib/types/host/services/remote-web-ui/server-mode/http.js +92 -0
  466. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts +42 -0
  467. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts.map +1 -0
  468. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.js +73 -0
  469. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts +13 -0
  470. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts.map +1 -0
  471. package/lib/types/host/services/remote-web-ui/server-mode/lan.js +17 -0
  472. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts +25 -0
  473. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts.map +1 -0
  474. package/lib/types/host/services/remote-web-ui/server-mode/loopback.js +68 -0
  475. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts +75 -0
  476. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts.map +1 -0
  477. package/lib/types/host/services/remote-web-ui/server-mode/posture.js +116 -0
  478. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts +44 -0
  479. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts.map +1 -0
  480. package/lib/types/host/services/remote-web-ui/server-mode/roles.js +47 -0
  481. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts +21 -0
  482. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts.map +1 -0
  483. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.js +37 -0
  484. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts +111 -0
  485. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts.map +1 -0
  486. package/lib/types/host/services/remote-web-ui/server-mode/sessions.js +298 -0
  487. package/lib/types/host/services/remote-web-ui/server.d.ts +82 -0
  488. package/lib/types/host/services/remote-web-ui/server.d.ts.map +1 -0
  489. package/lib/types/host/services/remote-web-ui/server.js +492 -0
  490. package/lib/types/host/services/resources.d.ts +9 -0
  491. package/lib/types/host/services/resources.d.ts.map +1 -0
  492. package/lib/types/host/services/resources.js +98 -0
  493. package/lib/types/host/services/right-pane/browser.d.ts +42 -0
  494. package/lib/types/host/services/right-pane/browser.d.ts.map +1 -0
  495. package/lib/types/host/services/right-pane/browser.js +106 -0
  496. package/lib/types/host/services/right-pane/index.d.ts +22 -0
  497. package/lib/types/host/services/right-pane/index.d.ts.map +1 -0
  498. package/lib/types/host/services/right-pane/index.js +114 -0
  499. package/lib/types/host/services/right-pane/wire.d.ts +6 -0
  500. package/lib/types/host/services/right-pane/wire.d.ts.map +1 -0
  501. package/lib/types/host/services/right-pane/wire.js +9 -0
  502. package/lib/types/host/services/schedule-mode/config.d.ts +11 -0
  503. package/lib/types/host/services/schedule-mode/config.d.ts.map +1 -0
  504. package/lib/types/host/services/schedule-mode/config.js +15 -0
  505. package/lib/types/host/services/schedule-mode/engine.d.ts +150 -0
  506. package/lib/types/host/services/schedule-mode/engine.d.ts.map +1 -0
  507. package/lib/types/host/services/schedule-mode/engine.js +672 -0
  508. package/lib/types/host/services/schedule-mode/index.d.ts +33 -0
  509. package/lib/types/host/services/schedule-mode/index.d.ts.map +1 -0
  510. package/lib/types/host/services/schedule-mode/index.js +175 -0
  511. package/lib/types/host/services/schedule-mode/routes.d.ts +31 -0
  512. package/lib/types/host/services/schedule-mode/routes.d.ts.map +1 -0
  513. package/lib/types/host/services/schedule-mode/routes.js +109 -0
  514. package/lib/types/host/services/schedule-mode/session-create.d.ts +27 -0
  515. package/lib/types/host/services/schedule-mode/session-create.d.ts.map +1 -0
  516. package/lib/types/host/services/schedule-mode/session-create.js +21 -0
  517. package/lib/types/host/services/schedule-mode/store.d.ts +36 -0
  518. package/lib/types/host/services/schedule-mode/store.d.ts.map +1 -0
  519. package/lib/types/host/services/schedule-mode/store.js +309 -0
  520. package/lib/types/host/services/schedule-mode/tools.d.ts +13 -0
  521. package/lib/types/host/services/schedule-mode/tools.d.ts.map +1 -0
  522. package/lib/types/host/services/schedule-mode/tools.js +132 -0
  523. package/lib/types/host/services/ssh/engine.d.ts +162 -0
  524. package/lib/types/host/services/ssh/engine.d.ts.map +1 -0
  525. package/lib/types/host/services/ssh/engine.js +699 -0
  526. package/lib/types/host/services/ssh/host-keys.d.ts +10 -0
  527. package/lib/types/host/services/ssh/host-keys.d.ts.map +1 -0
  528. package/lib/types/host/services/ssh/host-keys.js +108 -0
  529. package/lib/types/host/services/ssh/index.d.ts +38 -0
  530. package/lib/types/host/services/ssh/index.d.ts.map +1 -0
  531. package/lib/types/host/services/ssh/index.js +47 -0
  532. package/lib/types/host/services/ssh/routes.d.ts +29 -0
  533. package/lib/types/host/services/ssh/routes.d.ts.map +1 -0
  534. package/lib/types/host/services/ssh/routes.js +465 -0
  535. package/lib/types/host/services/ssh/store.d.ts +40 -0
  536. package/lib/types/host/services/ssh/store.d.ts.map +1 -0
  537. package/lib/types/host/services/ssh/store.js +330 -0
  538. package/lib/types/host/services/ssh/terminal-ws.d.ts +9 -0
  539. package/lib/types/host/services/ssh/terminal-ws.d.ts.map +1 -0
  540. package/lib/types/host/services/ssh/terminal-ws.js +142 -0
  541. package/lib/types/host/services/ssh/tools.d.ts +11 -0
  542. package/lib/types/host/services/ssh/tools.d.ts.map +1 -0
  543. package/lib/types/host/services/ssh/tools.js +270 -0
  544. package/lib/types/host/services/web-render/contracts.d.ts +93 -0
  545. package/lib/types/host/services/web-render/contracts.d.ts.map +1 -0
  546. package/lib/types/host/services/web-render/contracts.js +60 -0
  547. package/lib/types/host/services/web-render/index.d.ts +58 -0
  548. package/lib/types/host/services/web-render/index.d.ts.map +1 -0
  549. package/lib/types/host/services/web-render/index.js +90 -0
  550. package/lib/types/host/services/web-render/provider.d.ts +37 -0
  551. package/lib/types/host/services/web-render/provider.d.ts.map +1 -0
  552. package/lib/types/host/services/web-render/provider.js +274 -0
  553. package/lib/types/host/services/web-search-anthropic/contracts.d.ts +117 -0
  554. package/lib/types/host/services/web-search-anthropic/contracts.d.ts.map +1 -0
  555. package/lib/types/host/services/web-search-anthropic/contracts.js +90 -0
  556. package/lib/types/host/services/web-search-anthropic/index.d.ts +53 -0
  557. package/lib/types/host/services/web-search-anthropic/index.d.ts.map +1 -0
  558. package/lib/types/host/services/web-search-anthropic/index.js +123 -0
  559. package/lib/types/host/services/web-search-anthropic/provider.d.ts +101 -0
  560. package/lib/types/host/services/web-search-anthropic/provider.d.ts.map +1 -0
  561. package/lib/types/host/services/web-search-anthropic/provider.js +237 -0
  562. package/lib/types/host/services/worktree/git-runner.d.ts +82 -0
  563. package/lib/types/host/services/worktree/git-runner.d.ts.map +1 -0
  564. package/lib/types/host/services/worktree/git-runner.js +81 -0
  565. package/lib/types/host/services/worktree/git.d.ts +94 -0
  566. package/lib/types/host/services/worktree/git.d.ts.map +1 -0
  567. package/lib/types/host/services/worktree/git.js +153 -0
  568. package/lib/types/host/services/worktree/http.d.ts +12 -0
  569. package/lib/types/host/services/worktree/http.d.ts.map +1 -0
  570. package/lib/types/host/services/worktree/http.js +34 -0
  571. package/lib/types/host/services/worktree/index.d.ts +38 -0
  572. package/lib/types/host/services/worktree/index.d.ts.map +1 -0
  573. package/lib/types/host/services/worktree/index.js +78 -0
  574. package/lib/types/host/services/worktree/lane-tool.d.ts +22 -0
  575. package/lib/types/host/services/worktree/lane-tool.d.ts.map +1 -0
  576. package/lib/types/host/services/worktree/lane-tool.js +92 -0
  577. package/lib/types/host/services/worktree/manager.d.ts +410 -0
  578. package/lib/types/host/services/worktree/manager.d.ts.map +1 -0
  579. package/lib/types/host/services/worktree/manager.js +1485 -0
  580. package/lib/types/host/services/worktree/model-override.d.ts +20 -0
  581. package/lib/types/host/services/worktree/model-override.d.ts.map +1 -0
  582. package/lib/types/host/services/worktree/model-override.js +35 -0
  583. package/lib/types/host/services/worktree/routes.d.ts +50 -0
  584. package/lib/types/host/services/worktree/routes.d.ts.map +1 -0
  585. package/lib/types/host/services/worktree/routes.js +695 -0
  586. package/lib/types/host/services/worktree/run-command.d.ts +26 -0
  587. package/lib/types/host/services/worktree/run-command.d.ts.map +1 -0
  588. package/lib/types/host/services/worktree/run-command.js +36 -0
  589. package/lib/types/host/services/worktree/session-lane/manager.d.ts +109 -0
  590. package/lib/types/host/services/worktree/session-lane/manager.d.ts.map +1 -0
  591. package/lib/types/host/services/worktree/session-lane/manager.js +172 -0
  592. package/lib/types/host/services/worktree/workspace-model-routes.d.ts +21 -0
  593. package/lib/types/host/services/worktree/workspace-model-routes.d.ts.map +1 -0
  594. package/lib/types/host/services/worktree/workspace-model-routes.js +198 -0
  595. package/lib/types/host/services/worktree/workspace-model.d.ts +48 -0
  596. package/lib/types/host/services/worktree/workspace-model.d.ts.map +1 -0
  597. package/lib/types/host/services/worktree/workspace-model.js +113 -0
  598. package/lib/types/index.d.ts +47 -0
  599. package/lib/types/index.d.ts.map +1 -0
  600. package/lib/types/index.js +52 -0
  601. package/lib/types/invariant.d.ts +4 -0
  602. package/lib/types/invariant.d.ts.map +1 -0
  603. package/lib/types/invariant.js +3 -0
  604. package/package.json +153 -3
  605. package/presets/code-vibe/THIRD_PARTY_NOTICES.md +55 -0
  606. package/presets/code-vibe/skills/UPSTREAM.md +104 -0
  607. package/presets/code-vibe/skills/agent-experience/SKILL.md +15 -0
  608. package/presets/code-vibe/skills/agent-operation/SKILL.md +43 -0
  609. package/presets/code-vibe/skills/code-review/SKILL.md +45 -0
  610. package/presets/code-vibe/skills/dsh-ci-test-reliability/SKILL.md +133 -0
  611. package/presets/code-vibe/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md +60 -0
  612. package/presets/code-vibe/skills/dsh-find-simplifications/SKILL.md +69 -0
  613. package/presets/code-vibe/skills/dsh-find-simplifications/references/historical-patterns.md +45 -0
  614. package/presets/code-vibe/skills/dsh-merging-stacked-prs/SKILL.md +129 -0
  615. package/presets/code-vibe/skills/dsh-prose-standard/SKILL.md +83 -0
  616. package/presets/code-vibe/skills/dsh-prose-standard/references/examples.md +169 -0
  617. package/presets/code-vibe/skills/dsh-speed-up-perf/SKILL.md +94 -0
  618. package/presets/code-vibe/skills/dsh-trim-cot-leakage/SKILL.md +47 -0
  619. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/examples.md +275 -0
  620. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/recall-batteries.md +52 -0
  621. package/presets/code-vibe/skills/frontend-design/SKILL.md +60 -0
  622. package/presets/code-vibe/skills/frontend-design/references/critique-format.md +35 -0
  623. package/presets/code-vibe/skills/frontend-design/references/design-standards/LOAD-MAP.md +81 -0
  624. package/presets/code-vibe/skills/frontend-design/references/design-standards/README.md +53 -0
  625. package/presets/code-vibe/skills/frontend-design/references/design-standards/anchor.md +51 -0
  626. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/ai-tells.md +59 -0
  627. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/web-interface.md +14 -0
  628. package/presets/code-vibe/skills/frontend-design/references/design-standards/change-control.md +62 -0
  629. package/presets/code-vibe/skills/frontend-design/references/design-standards/copy.md +65 -0
  630. package/presets/code-vibe/skills/frontend-design/references/design-standards/craft-knobs.md +61 -0
  631. package/presets/code-vibe/skills/frontend-design/references/design-standards/debug-playbook.md +37 -0
  632. package/presets/code-vibe/skills/frontend-design/references/design-standards/exemplars/README.md +64 -0
  633. package/presets/code-vibe/skills/frontend-design/references/design-standards/plan-architecture.checklist.json +13 -0
  634. package/presets/code-vibe/skills/frontend-design/references/design-standards/product-judgment.md +113 -0
  635. package/presets/code-vibe/skills/frontend-design/references/design-standards/system-architecture.md +108 -0
  636. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/README.md +26 -0
  637. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/color-roles.md +49 -0
  638. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/motion.md +51 -0
  639. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/scale.md +89 -0
  640. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-page-gate.md +61 -0
  641. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-surface.checklist.json +49 -0
  642. package/presets/code-vibe/skills/frontend-design/references/design-standards/ux.md +76 -0
  643. package/presets/code-vibe/skills/frontend-design/references/design-standards/visual.md +52 -0
  644. package/presets/code-vibe/skills/frontend-design/references/perceptible-path.md +27 -0
  645. package/presets/code-vibe/skills/frontend-design/references/product-package.md +80 -0
  646. package/presets/code-vibe/skills/frontend-design/references/scheme-antipatterns.md +21 -0
  647. package/presets/code-vibe/skills/quality-review/SKILL.md +57 -0
  648. package/presets/code-vibe/skills/quality-review/references/bounded-verify.md +37 -0
  649. package/presets/code-vibe/skills/quality-review/references/browser-verify.md +81 -0
  650. package/presets/code-vibe/skills/quality-review/references/evidence-contract.md +194 -0
  651. package/presets/code-vibe/skills/quality-review/references/falsify-checklist.md +44 -0
  652. package/presets/code-vibe/skills/quality-review/references/human-acceptance-pack.md +68 -0
  653. package/presets/code-vibe/skills/quality-review/references/product-regression.md +51 -0
  654. package/presets/code-vibe/skills/quality-review/references/ux-standards.md +37 -0
  655. package/presets/code-vibe/skills/quality-review/references/ux-walkthrough.md +49 -0
  656. package/presets/code-vibe/skills/quality-review/references/validation-report.md +22 -0
  657. package/presets/code-vibe/skills/quality-review/references/verification-loop.md +95 -0
  658. package/presets/code-vibe/skills/quality-review/references/version-acceptance-matrix.md +131 -0
  659. package/presets/code-vibe/skills/record-browser-gif/SKILL.md +174 -0
  660. package/presets/code-vibe/skills/record-browser-gif/scripts/encode_gif.py +337 -0
  661. package/presets/code-vibe/skills/record-browser-gif/scripts/test_encode_gif.py +103 -0
  662. package/presets/code-vibe/skills/wish-programming/SKILL.md +150 -0
  663. package/presets/code-vibe/skills/wish-programming/references/roles/arch-reviewer.md +26 -0
  664. package/presets/code-vibe/skills/wish-programming/references/roles/design-reviewer.md +32 -0
  665. package/presets/code-vibe/skills/wish-programming/references/roles/pm-reviewer.md +26 -0
  666. package/presets/code-vibe/skills/wish-programming/references/roles/qa-reviewer.md +16 -0
  667. package/presets/code-vibe/skills/wish-programming/references/roles/security-reviewer.md +16 -0
  668. package/presets/code-vibe/skills/wish-programming/references/roles/sre-reviewer.md +16 -0
  669. package/presets/code-vibe/skills/wish-programming/references/roles/ux-adversary.md +16 -0
  670. package/presets/code-vibe/skills/wish-programming/references/templates/arch.md.tpl +51 -0
  671. package/presets/code-vibe/skills/wish-programming/references/templates/brief.md.tpl +36 -0
  672. package/presets/code-vibe/skills/wish-programming/references/templates/confirmation-pack.md +54 -0
  673. package/presets/code-vibe/skills/wish-programming/references/templates/design-spec.md.tpl +49 -0
  674. package/presets/code-vibe/skills/wish-programming/references/templates/module-readme.md +37 -0
  675. package/presets/code-vibe/skills/wish-programming/references/templates/product.md.tpl +74 -0
  676. package/presets/code-vibe/skills/wish-programming/references/templates/requirements.md.tpl +31 -0
  677. package/presets/code-vibe/skills/wish-programming/references/workflow-template.md +122 -0
  678. package/presets/code-vibe/skills/wish-programming/scripts/MANIFEST.sha256 +11 -0
  679. package/presets/code-vibe/skills/wish-programming/scripts/check_spec.py +416 -0
  680. package/presets/code-vibe/skills/wish-programming/scripts/check_whitelist.py +193 -0
  681. package/presets/code-vibe/skills/wish-programming/scripts/coverage_check.py +199 -0
  682. package/presets/code-vibe/skills/wish-programming/scripts/gate-lock.sh +46 -0
  683. package/presets/code-vibe/skills/wish-programming/scripts/journey.sh +281 -0
  684. package/presets/code-vibe/skills/wish-programming/scripts/project.sh +152 -0
  685. package/presets/code-vibe/skills/wish-programming/scripts/replay.sh +65 -0
  686. package/presets/code-vibe/skills/wish-programming/scripts/scan_drift.py +79 -0
  687. package/presets/code-vibe/skills/wish-programming/scripts/verify.sh +169 -0
  688. package/presets/code-vibe/skills/wish-programming/scripts/verify_preset_budgets.py +218 -0
  689. package/presets/code-vibe/skills/wish-programming/scripts/wish.sh +150 -0
  690. package/presets/code-vibe.patch.yml +325 -0
  691. package/presets/hiopen.patch.yml +109 -0
  692. package/src/client/compat.ts +86 -0
  693. package/src/client/conversation/conversation.module.css +264 -0
  694. package/src/client/conversation/git-branch.tsx +152 -0
  695. package/src/client/conversation/git-graph/LICENSE.git-graph +202 -0
  696. package/src/client/conversation/git-graph/api.ts +85 -0
  697. package/src/client/conversation/git-graph/branch-chip.tsx +354 -0
  698. package/src/client/conversation/git-graph/branch-popover.tsx +185 -0
  699. package/src/client/conversation/git-graph/chip.tsx +47 -0
  700. package/src/client/conversation/git-graph/create-branch-dialog.tsx +108 -0
  701. package/src/client/conversation/git-graph/error-copy.ts +50 -0
  702. package/src/client/conversation/git-graph/git-graph.module.css +792 -0
  703. package/src/client/conversation/git-graph/graph-dialog.tsx +196 -0
  704. package/src/client/conversation/git-graph/hero-seat.ts +76 -0
  705. package/src/client/conversation/git-graph/locales.ts +90 -0
  706. package/src/client/conversation/git-graph/sse-leader.ts +124 -0
  707. package/src/client/conversation/index.ts +82 -0
  708. package/src/client/conversation/selector-context.tsx +24 -0
  709. package/src/client/conversation/session-lane-chip.tsx +262 -0
  710. package/src/client/conversation/session-lane-locales.ts +34 -0
  711. package/src/client/conversation/subagent-model-dom.ts +157 -0
  712. package/src/client/conversation/subagent-model.ts +198 -0
  713. package/src/client/conversation/worktree/api.ts +283 -0
  714. package/src/client/conversation/worktree/dialogs/DeleteWorktreeDialog.tsx +111 -0
  715. package/src/client/conversation/worktree/dialogs/PrCreateDialog.tsx +114 -0
  716. package/src/client/conversation/worktree/lane-binding.ts +77 -0
  717. package/src/client/conversation/worktree/lane-menu.tsx +247 -0
  718. package/src/client/conversation/worktree/lane-open.ts +204 -0
  719. package/src/client/conversation/worktree/lane-workspace-sweeper.ts +136 -0
  720. package/src/client/conversation/worktree/lifecycle.ts +75 -0
  721. package/src/client/conversation/worktree/locales.ts +97 -0
  722. package/src/client/conversation/worktree/semantic.ts +10 -0
  723. package/src/client/conversation/worktree/worktree.module.css +70 -0
  724. package/src/client/css-modules.d.ts +8 -0
  725. package/src/client/index.ts +58 -0
  726. package/src/client/lark-inbox/i18n.ts +125 -0
  727. package/src/client/lark-inbox/lark-wizard.module.css +88 -0
  728. package/src/client/lark-inbox/wizard.tsx +211 -0
  729. package/src/client/notify/i18n.ts +93 -0
  730. package/src/client/settings/family-scope.ts +45 -0
  731. package/src/client/settings/lark-inbox.tsx +319 -0
  732. package/src/client/settings/notify.tsx +288 -0
  733. package/src/client/settings/primitives-0.2.ts +148 -0
  734. package/src/client/settings/settings-shell.module.css +56 -0
  735. package/src/client/sidebar/RenderBoundary.tsx +17 -0
  736. package/src/client/sidebar/agent-browser.tsx +114 -0
  737. package/src/client/sidebar/diff-view.tsx +314 -0
  738. package/src/client/sidebar/git-workbench.tsx +700 -0
  739. package/src/client/sidebar/icons.tsx +23 -0
  740. package/src/client/sidebar/index.ts +28 -0
  741. package/src/client/sidebar/native-panels.tsx +149 -0
  742. package/src/client/sidebar/page-shell.module.css +96 -0
  743. package/src/client/sidebar/page-shell.tsx +86 -0
  744. package/src/client/sidebar/panels/memoir/api.ts +300 -0
  745. package/src/client/sidebar/panels/memoir/controller.ts +47 -0
  746. package/src/client/sidebar/panels/memoir/cwd.ts +140 -0
  747. package/src/client/sidebar/panels/memoir/i18n.ts +300 -0
  748. package/src/client/sidebar/panels/memoir/panel-activation.ts +42 -0
  749. package/src/client/sidebar/panels/memoir/panel.tsx +869 -0
  750. package/src/client/sidebar/panels/memoir/styles.ts +776 -0
  751. package/src/client/sidebar/panels/memoir/types.ts +7 -0
  752. package/src/client/sidebar/panels/ssh/ClusterTab.tsx +123 -0
  753. package/src/client/sidebar/panels/ssh/HostFormDialog.tsx +243 -0
  754. package/src/client/sidebar/panels/ssh/HostsTab.tsx +290 -0
  755. package/src/client/sidebar/panels/ssh/SshPanel.tsx +76 -0
  756. package/src/client/sidebar/panels/ssh/TerminalTab.tsx +290 -0
  757. package/src/client/sidebar/panels/ssh/TransferTab.tsx +232 -0
  758. package/src/client/sidebar/panels/ssh/TunnelsTab.tsx +204 -0
  759. package/src/client/sidebar/panels/ssh/api.ts +388 -0
  760. package/src/client/sidebar/panels/ssh/controller.ts +48 -0
  761. package/src/client/sidebar/panels/ssh/helpers.ts +70 -0
  762. package/src/client/sidebar/panels/ssh/locales.ts +318 -0
  763. package/src/client/sidebar/panels/ssh/panel.module.css +801 -0
  764. package/src/client/sidebar/panels/ssh/xterm.css.ts +2 -0
  765. package/src/client/sidebar/right-pane-i18n.ts +243 -0
  766. package/src/client/sidebar/right-pane.tsx +156 -0
  767. package/src/client/sidebar/scope.ts +54 -0
  768. package/src/client/sidebar/sidebar-header.module.css +72 -0
  769. package/src/client/sidebar/sidebar.module.css +619 -0
  770. package/src/client/trust.ts +187 -0
  771. package/src/client/ui-icons.ts +35 -0
  772. package/src/core/git-graph/commands.ts +107 -0
  773. package/src/core/git-graph/protocol.ts +238 -0
  774. package/src/core/index.ts +2 -0
  775. package/src/core/lark-inbox/gating.ts +35 -0
  776. package/src/core/lark-inbox/queue.ts +100 -0
  777. package/src/core/memoir/protocol.ts +46 -0
  778. package/src/core/no-browser-auth/contract.ts +25 -0
  779. package/src/core/notify/contract.ts +236 -0
  780. package/src/core/notify/feed.ts +235 -0
  781. package/src/core/playwright-sessions/contracts.ts +143 -0
  782. package/src/core/playwright-sessions/control.ts +33 -0
  783. package/src/core/playwright-sessions/index.ts +3 -0
  784. package/src/core/playwright-sessions/names.ts +83 -0
  785. package/src/core/playwright-sessions/schema.ts +102 -0
  786. package/src/core/playwright-sessions/wire.ts +142 -0
  787. package/src/core/remote-access/paths.ts +23 -0
  788. package/src/core/remote-web-ui/security.ts +171 -0
  789. package/src/core/right-pane/protocol.ts +94 -0
  790. package/src/core/schedule-mode/index.ts +6 -0
  791. package/src/core/schedule-mode/native.ts +105 -0
  792. package/src/core/schedule-mode/types.ts +182 -0
  793. package/src/core/schedule-mode/view.ts +66 -0
  794. package/src/core/ssh/protocol.ts +212 -0
  795. package/src/core/subagent-model/badges.ts +161 -0
  796. package/src/core/worktree/invariant.ts +101 -0
  797. package/src/core/worktree/manifest.ts +135 -0
  798. package/src/core/worktree/paths.ts +123 -0
  799. package/src/core/worktree/pr-create.ts +157 -0
  800. package/src/core/worktree/protocol.ts +7 -0
  801. package/src/core/worktree/types.ts +317 -0
  802. package/src/core/worktree/workspace-model.ts +61 -0
  803. package/src/host/services/access-trust/index.ts +127 -0
  804. package/src/host/services/access-trust/trust.ts +189 -0
  805. package/src/host/services/codex-bridge/bridge.ts +392 -0
  806. package/src/host/services/codex-bridge/codex-auth.ts +352 -0
  807. package/src/host/services/codex-bridge/dsh-integration.ts +169 -0
  808. package/src/host/services/codex-bridge/http.ts +105 -0
  809. package/src/host/services/codex-bridge/index.ts +154 -0
  810. package/src/host/services/codex-bridge/loopback.ts +63 -0
  811. package/src/host/services/codex-bridge/routes.ts +143 -0
  812. package/src/host/services/family-config.ts +224 -0
  813. package/src/host/services/family-namespaces.ts +39 -0
  814. package/src/host/services/git-graph/index.ts +11 -0
  815. package/src/host/services/git-graph/routes.ts +212 -0
  816. package/src/host/services/git-graph/service.ts +305 -0
  817. package/src/host/services/index.ts +94 -0
  818. package/src/host/services/lark-inbox/config.ts +66 -0
  819. package/src/host/services/lark-inbox/gateway.ts +184 -0
  820. package/src/host/services/lark-inbox/host-routes.ts +113 -0
  821. package/src/host/services/lark-inbox/inbox-store.ts +160 -0
  822. package/src/host/services/lark-inbox/index.ts +141 -0
  823. package/src/host/services/lark-inbox/tools.ts +124 -0
  824. package/src/host/services/lark-inbox/wizard.ts +206 -0
  825. package/src/host/services/lifecycle.ts +107 -0
  826. package/src/host/services/memoir/index.ts +80 -0
  827. package/src/host/services/memoir/routes.ts +346 -0
  828. package/src/host/services/memoir/settings.ts +122 -0
  829. package/src/host/services/memoir/store.ts +132 -0
  830. package/src/host/services/memoir/tools.ts +158 -0
  831. package/src/host/services/no-browser-auth/index.ts +70 -0
  832. package/src/host/services/notify/config.ts +178 -0
  833. package/src/host/services/notify/feishu-sender.ts +220 -0
  834. package/src/host/services/notify/host-routes.ts +133 -0
  835. package/src/host/services/notify/index.ts +305 -0
  836. package/src/host/services/playwright-sessions/child.ts +251 -0
  837. package/src/host/services/playwright-sessions/controller.ts +102 -0
  838. package/src/host/services/playwright-sessions/index.ts +146 -0
  839. package/src/host/services/playwright-sessions/live-view.ts +225 -0
  840. package/src/host/services/playwright-sessions/manager.ts +239 -0
  841. package/src/host/services/playwright-sessions/profile-gc.ts +97 -0
  842. package/src/host/services/playwright-sessions/routes.ts +90 -0
  843. package/src/host/services/remote-access/boot-scripts.ts +118 -0
  844. package/src/host/services/remote-access/index.ts +62 -0
  845. package/src/host/services/remote-access/routes.ts +137 -0
  846. package/src/host/services/remote-web-ui/index.ts +344 -0
  847. package/src/host/services/remote-web-ui/server-mode/accounts.ts +423 -0
  848. package/src/host/services/remote-web-ui/server-mode/cookie.ts +57 -0
  849. package/src/host/services/remote-web-ui/server-mode/dsh-home.ts +42 -0
  850. package/src/host/services/remote-web-ui/server-mode/external-auth.ts +296 -0
  851. package/src/host/services/remote-web-ui/server-mode/fence.ts +27 -0
  852. package/src/host/services/remote-web-ui/server-mode/gateway-routes.ts +797 -0
  853. package/src/host/services/remote-web-ui/server-mode/gateway.ts +684 -0
  854. package/src/host/services/remote-web-ui/server-mode/http.ts +105 -0
  855. package/src/host/services/remote-web-ui/server-mode/integrated-auth.ts +118 -0
  856. package/src/host/services/remote-web-ui/server-mode/lan.ts +19 -0
  857. package/src/host/services/remote-web-ui/server-mode/loopback.ts +63 -0
  858. package/src/host/services/remote-web-ui/server-mode/posture.ts +154 -0
  859. package/src/host/services/remote-web-ui/server-mode/roles.ts +51 -0
  860. package/src/host/services/remote-web-ui/server-mode/server-boot.ts +38 -0
  861. package/src/host/services/remote-web-ui/server-mode/sessions.ts +347 -0
  862. package/src/host/services/remote-web-ui/server.ts +591 -0
  863. package/src/host/services/resources.ts +78 -0
  864. package/src/host/services/right-pane/browser.ts +106 -0
  865. package/src/host/services/right-pane/index.ts +117 -0
  866. package/src/host/services/right-pane/wire.ts +10 -0
  867. package/src/host/services/schedule-mode/config.ts +26 -0
  868. package/src/host/services/schedule-mode/engine.ts +689 -0
  869. package/src/host/services/schedule-mode/index.ts +214 -0
  870. package/src/host/services/schedule-mode/routes.ts +130 -0
  871. package/src/host/services/schedule-mode/session-create.ts +36 -0
  872. package/src/host/services/schedule-mode/store.ts +304 -0
  873. package/src/host/services/schedule-mode/tools.ts +154 -0
  874. package/src/host/services/ssh/engine.ts +675 -0
  875. package/src/host/services/ssh/host-keys.ts +99 -0
  876. package/src/host/services/ssh/index.ts +84 -0
  877. package/src/host/services/ssh/routes.ts +442 -0
  878. package/src/host/services/ssh/store.ts +310 -0
  879. package/src/host/services/ssh/terminal-ws.ts +157 -0
  880. package/src/host/services/ssh/tools.ts +279 -0
  881. package/src/host/services/web-render/contracts.ts +138 -0
  882. package/src/host/services/web-render/index.ts +112 -0
  883. package/src/host/services/web-render/provider.ts +282 -0
  884. package/src/host/services/web-search-anthropic/contracts.ts +163 -0
  885. package/src/host/services/web-search-anthropic/index.ts +152 -0
  886. package/src/host/services/web-search-anthropic/provider.ts +325 -0
  887. package/src/host/services/worktree/git-runner.ts +124 -0
  888. package/src/host/services/worktree/git.ts +183 -0
  889. package/src/host/services/worktree/http.ts +36 -0
  890. package/src/host/services/worktree/index.ts +92 -0
  891. package/src/host/services/worktree/lane-tool.ts +100 -0
  892. package/src/host/services/worktree/manager.ts +1553 -0
  893. package/src/host/services/worktree/model-override.ts +43 -0
  894. package/src/host/services/worktree/routes.ts +570 -0
  895. package/src/host/services/worktree/run-command.ts +66 -0
  896. package/src/host/services/worktree/session-lane/manager.ts +228 -0
  897. package/src/host/services/worktree/workspace-model-routes.ts +156 -0
  898. package/src/host/services/worktree/workspace-model.ts +132 -0
  899. package/src/index.ts +84 -0
  900. package/src/invariant.ts +4 -0
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Path and naming helpers shared between the host manager and the browser
3
+ * side (browser side uses these for display only — it never writes to the
4
+ * filesystem). All paths are POSIX; the host normalizes the separators at
5
+ * the git boundary.
6
+ * @module @dsh-cove/dsh-client-ui-worktree/core
7
+ */
8
+ import { isValidBranchName } from "./invariant.js";
9
+ /** The directory inside each repo that owns linked worktrees. */
10
+ export const WORKSPACE_DIR = '.dsh/workspaces';
11
+ /** The manifest filename inside `WORKSPACE_DIR`. */
12
+ export const MANIFEST_FILENAME = 'manifest.json';
13
+ /** The "main" pseudo-worktree name — never a real on-disk worktree. */
14
+ export const MAIN_WORKTREE = '<main>';
15
+ /** Compose `<repo>/.dsh/workspaces` for a given repo path. */
16
+ export function worktreeRoot(repoPath) {
17
+ if (typeof repoPath !== 'string' || repoPath.length === 0) {
18
+ throw new TypeError('repoPath must be a non-empty string');
19
+ }
20
+ const trimmed = stripTrailingSeparator(repoPath);
21
+ return `${trimmed}/${WORKSPACE_DIR}`;
22
+ }
23
+ /** Compose `<repo>/.dsh/workspaces/<branch>` for a given repo + branch. */
24
+ export function worktreeDir(repoPath, branch) {
25
+ if (!isValidBranchName(branch)) {
26
+ throw new Error(`invalid branch name: ${JSON.stringify(branch)}`);
27
+ }
28
+ return `${worktreeRoot(repoPath)}/${branch}`;
29
+ }
30
+ /**
31
+ * Whether a path is one of this plugin's lane directories
32
+ * (`<repo>/.dsh/workspaces/<branch>`).
33
+ *
34
+ * Used to keep the lane lifecycle's bookkeeping — retiring a lane's workspace
35
+ * registration once its conversations are archived — away from workspaces the
36
+ * user registered themselves. Workspace ids are opaque, so the path is the only
37
+ * thing that identifies a lane in a workspace list.
38
+ */
39
+ export function isLaneDirectory(path) {
40
+ if (typeof path !== 'string' || path === '')
41
+ return false;
42
+ return path.replace(/\\/g, '/').includes(`/${WORKSPACE_DIR}/`);
43
+ }
44
+ /** Strip a single trailing `/` (defensive only — POSIX paths usually lack it). */
45
+ function stripTrailingSeparator(path) {
46
+ return path.endsWith('/') && path.length > 1 ? path.slice(0, -1) : path;
47
+ }
48
+ /** Short sha (first 7 chars) — same display rule as `git rev-parse --short`. */
49
+ export function shortSha(sha) {
50
+ if (typeof sha !== 'string' || sha.length === 0)
51
+ return null;
52
+ return sha.length > 7 ? sha.slice(0, 7) : sha;
53
+ }
54
+ /**
55
+ * Truncate a path for the sidebar row (replace the leading `<repo>/.dsh/`
56
+ * with a visual marker so the full path is still in the title attr).
57
+ */
58
+ export function displayPath(absolute) {
59
+ const marker = `/${WORKSPACE_DIR}/`;
60
+ const idx = absolute.indexOf(marker);
61
+ if (idx < 0)
62
+ return absolute;
63
+ return `.dsh/workspaces/${absolute.slice(idx + marker.length)}`;
64
+ }
65
+ /**
66
+ * Whether `target` is `root` itself or lies beneath it (POSIX, segment-aware).
67
+ *
68
+ * Applied to keep mutations inside the workspaces the host has registered: a
69
+ * plain string prefix would let `/repo-other` read as "inside `/repo`".
70
+ */
71
+ export function isInsidePath(root, target) {
72
+ const posix = (value) => value.replace(/\\/g, '/');
73
+ const base = posix(root);
74
+ const candidate = posix(target);
75
+ const trimmedBase = base.length > 1 && base.endsWith('/') ? base.slice(0, -1) : base;
76
+ const trimmed = candidate.length > 1 && candidate.endsWith('/') ? candidate.slice(0, -1) : candidate;
77
+ if (trimmedBase === '/' || trimmedBase === '')
78
+ return trimmed.startsWith('/');
79
+ return trimmed === trimmedBase || trimmed.startsWith(`${trimmedBase}/`);
80
+ }
81
+ /** Compare two paths for equality after normalization (POSIX separators). */
82
+ export function samePath(a, b) {
83
+ if (a === b)
84
+ return true;
85
+ const na = a.replace(/\\/g, '/');
86
+ const nb = b.replace(/\\/g, '/');
87
+ if (na === nb)
88
+ return true;
89
+ const sa = na.endsWith('/') && na.length > 1 ? na.slice(0, -1) : na;
90
+ const sb = nb.endsWith('/') && nb.length > 1 ? nb.slice(0, -1) : nb;
91
+ return sa === sb;
92
+ }
93
+ /**
94
+ * Parse a GitHub remote URL into `{ owner, repo }`. Accepts the https
95
+ * (`https://github.com/owner/repo[.git]`), ssh scp-like
96
+ * (`git@github.com:owner/repo.git`), and ssh URL (`ssh://git@github.com/owner/repo`)
97
+ * spellings. Returns null for non-GitHub remotes so the caller can fall
98
+ * back to the compare-URL path.
99
+ */
100
+ export function githubOwnerRepo(remoteUrl) {
101
+ const match = remoteUrl.trim().match(/(?:github\.com[/:])([^/]+)\/([^/.]+?)(?:\.git)?$/);
102
+ if (match === null)
103
+ return null;
104
+ const [, owner, repo] = match;
105
+ if (owner === undefined || repo === undefined || owner === '' || repo === '')
106
+ return null;
107
+ return { owner, repo };
108
+ }
109
+ /**
110
+ * GitHub compare URL for one PR candidate: base...head with the editor
111
+ * expanded. Returns null when the remote is not a GitHub URL.
112
+ */
113
+ export function githubCompareUrl(remoteUrl, base, branch) {
114
+ const parsed = githubOwnerRepo(remoteUrl);
115
+ if (parsed === null)
116
+ return null;
117
+ return `https://github.com/${parsed.owner}/${parsed.repo}/compare/${encodeURIComponent(base)}...${encodeURIComponent(branch)}?expand=1`;
118
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Pull-request creation wire contract and pure argv/input helpers.
3
+ *
4
+ * Host execution lives in the worktree service. This module stays runtime-neutral
5
+ * so both host and client programs compile the same request/result contract.
6
+ */
7
+ export interface PrCreateInput {
8
+ /** Any path inside the project. `repoPath` remains accepted by the host as a legacy alias. */
9
+ cwd?: string;
10
+ /** Local branch to publish. `name` remains accepted by the host as a legacy alias. */
11
+ branch?: string;
12
+ /** Pull-request title. Defaults to the branch for legacy callers. */
13
+ title?: string;
14
+ /** Pull-request body. Defaults to an empty body for legacy callers. */
15
+ body?: string;
16
+ /** Target branch. `baseRef` remains accepted by the host as a legacy alias. */
17
+ base?: string;
18
+ /** GitHub head selector, usually a branch or `owner:branch`. Defaults to `branch`. */
19
+ head?: string;
20
+ /** Create the pull request as a draft. */
21
+ draft?: boolean;
22
+ /** Legacy project-root field. */
23
+ repoPath?: string;
24
+ /** Legacy worktree-name field. */
25
+ name?: string;
26
+ /** Legacy base-branch field. */
27
+ baseRef?: string;
28
+ }
29
+ export interface PrCreateResult {
30
+ url: string;
31
+ number: number;
32
+ /** Legacy result field retained for the previous browser client. */
33
+ prUrl: string;
34
+ /** Legacy discriminator: gh creates the pull request through GitHub's API. */
35
+ method: 'api';
36
+ }
37
+ export type PrCreateErrorCode = 'invalid-input' | 'gh-not-installed' | 'gh-not-authenticated' | 'pr-already-exists' | 'timeout' | 'gh-failed' | 'invalid-gh-response';
38
+ export interface NormalizedPrCreateInput {
39
+ cwd: string;
40
+ branch: string;
41
+ title: string;
42
+ body: string;
43
+ base?: string;
44
+ head: string;
45
+ draft: boolean;
46
+ }
47
+ export type PrCreateInputValidation = {
48
+ ok: true;
49
+ value: NormalizedPrCreateInput;
50
+ } | {
51
+ ok: false;
52
+ message: string;
53
+ };
54
+ /** Git's branch-name restrictions, without invoking a subprocess. */
55
+ export declare function isSafeBranchName(value: string): boolean;
56
+ /** GitHub accepts either a branch or `owner:branch` for --head. */
57
+ export declare function isSafeHead(value: string): boolean;
58
+ /** Normalize current and legacy request fields, rejecting malformed or unsafe values. */
59
+ export declare function normalizePrCreateInput(input: PrCreateInput): PrCreateInputValidation;
60
+ /** Build an argv-only GitHub CLI invocation. Values never pass through a shell. */
61
+ export declare function ghPrCreateArgv(input: Omit<NormalizedPrCreateInput, 'cwd'>): string[];
62
+ /** Extract the PR URL and numeric id from `gh pr create` output. */
63
+ export declare function parseGhPrCreateOutput(stdout: string): {
64
+ url: string;
65
+ number: number;
66
+ } | undefined;
67
+ //# sourceMappingURL=pr-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-create.d.ts","sourceRoot":"","sources":["../../../../src/core/worktree/pr-create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,8FAA8F;IAC9F,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,MAAM,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,kBAAkB,GAClB,sBAAsB,GACtB,mBAAmB,GACnB,SAAS,GACT,WAAW,GACX,qBAAqB,CAAA;AAEzB,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAKlC,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,uBAAuB,CA+CpF;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,CAKpF;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAYjG"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Pull-request creation wire contract and pure argv/input helpers.
3
+ *
4
+ * Host execution lives in the worktree service. This module stays runtime-neutral
5
+ * so both host and client programs compile the same request/result contract.
6
+ */
7
+ const MAX_TITLE_LENGTH = 256;
8
+ const MAX_BODY_LENGTH = 64 * 1024;
9
+ /** Git's branch-name restrictions, without invoking a subprocess. */
10
+ export function isSafeBranchName(value) {
11
+ if (value === '' || value.length > 255 || value === '@' || value.startsWith('-'))
12
+ return false;
13
+ if (/\s|[~^:?*\\\[\x00-\x1f\x7f]/u.test(value))
14
+ return false;
15
+ if (value.includes('..') || value.includes('@{') || value.includes('//'))
16
+ return false;
17
+ if (value.startsWith('/') || value.endsWith('/') || value.startsWith('.') || value.endsWith('.'))
18
+ return false;
19
+ if (value.endsWith('.lock'))
20
+ return false;
21
+ return value.split('/').every(part => part !== '' && !part.startsWith('.') && !part.endsWith('.'));
22
+ }
23
+ /** GitHub accepts either a branch or `owner:branch` for --head. */
24
+ export function isSafeHead(value) {
25
+ const colon = value.indexOf(':');
26
+ if (colon === -1)
27
+ return isSafeBranchName(value);
28
+ if (colon === 0 || colon !== value.lastIndexOf(':'))
29
+ return false;
30
+ const owner = value.slice(0, colon);
31
+ const branch = value.slice(colon + 1);
32
+ return /^[A-Za-z0-9_.-]+$/u.test(owner) && isSafeBranchName(branch);
33
+ }
34
+ /** Normalize current and legacy request fields, rejecting malformed or unsafe values. */
35
+ export function normalizePrCreateInput(input) {
36
+ const cwdValue = input.cwd ?? input.repoPath;
37
+ const branchValue = input.branch ?? input.name;
38
+ const baseValue = input.base ?? input.baseRef;
39
+ if (input.cwd !== undefined && typeof input.cwd !== 'string')
40
+ return { ok: false, message: 'cwd must be a string' };
41
+ if (input.repoPath !== undefined && typeof input.repoPath !== 'string')
42
+ return { ok: false, message: 'repoPath must be a string' };
43
+ if (typeof cwdValue !== 'string' || cwdValue.trim() === '')
44
+ return { ok: false, message: 'cwd is required' };
45
+ if (typeof branchValue !== 'string' || !isSafeBranchName(branchValue.trim())) {
46
+ return { ok: false, message: 'branch is invalid' };
47
+ }
48
+ if (input.branch !== undefined && typeof input.branch !== 'string')
49
+ return { ok: false, message: 'branch must be a string' };
50
+ if (input.name !== undefined && typeof input.name !== 'string')
51
+ return { ok: false, message: 'name must be a string' };
52
+ if (input.title !== undefined && typeof input.title !== 'string')
53
+ return { ok: false, message: 'title must be a string' };
54
+ if (input.body !== undefined && typeof input.body !== 'string')
55
+ return { ok: false, message: 'body must be a string' };
56
+ if (input.base !== undefined && typeof input.base !== 'string')
57
+ return { ok: false, message: 'base must be a string' };
58
+ if (input.baseRef !== undefined && typeof input.baseRef !== 'string')
59
+ return { ok: false, message: 'baseRef must be a string' };
60
+ if (input.head !== undefined && typeof input.head !== 'string')
61
+ return { ok: false, message: 'head must be a string' };
62
+ if (input.draft !== undefined && typeof input.draft !== 'boolean')
63
+ return { ok: false, message: 'draft must be a boolean' };
64
+ const branch = branchValue.trim();
65
+ const title = input.title?.trim() || branch;
66
+ const body = input.body ?? '';
67
+ const base = baseValue?.trim();
68
+ const head = input.head?.trim() || branch;
69
+ if (title.length > MAX_TITLE_LENGTH || /[\r\n\x00]/u.test(title)) {
70
+ return { ok: false, message: `title must be one line and at most ${MAX_TITLE_LENGTH} characters` };
71
+ }
72
+ if (body.length > MAX_BODY_LENGTH || body.includes('\0')) {
73
+ return { ok: false, message: `body must not contain NUL and must be at most ${MAX_BODY_LENGTH} characters` };
74
+ }
75
+ if (base !== undefined && (base === '' || !isSafeBranchName(base)))
76
+ return { ok: false, message: 'base is invalid' };
77
+ if (!isSafeHead(head))
78
+ return { ok: false, message: 'head is invalid' };
79
+ return {
80
+ ok: true,
81
+ value: {
82
+ cwd: cwdValue.trim(),
83
+ branch,
84
+ title,
85
+ body,
86
+ ...(base === undefined ? {} : { base }),
87
+ head,
88
+ draft: input.draft === true,
89
+ },
90
+ };
91
+ }
92
+ /** Build an argv-only GitHub CLI invocation. Values never pass through a shell. */
93
+ export function ghPrCreateArgv(input) {
94
+ const argv = ['pr', 'create', '--title', input.title, '--body', input.body, '--head', input.head];
95
+ if (input.base !== undefined)
96
+ argv.push('--base', input.base);
97
+ if (input.draft)
98
+ argv.push('--draft');
99
+ return argv;
100
+ }
101
+ /** Extract the PR URL and numeric id from `gh pr create` output. */
102
+ export function parseGhPrCreateOutput(stdout) {
103
+ const match = stdout.match(/https?:\/\/[^\s]+\/pull\/(\d+)(?:\b|\/)?/u);
104
+ if (match === null)
105
+ return undefined;
106
+ const number = Number(match[1]);
107
+ if (!Number.isSafeInteger(number) || number <= 0)
108
+ return undefined;
109
+ try {
110
+ const url = new URL(match[0].replace(/[),.;]+$/u, ''));
111
+ if (url.protocol !== 'https:' && url.protocol !== 'http:')
112
+ return undefined;
113
+ return { url: url.href.replace(/\/$/u, ''), number };
114
+ }
115
+ catch {
116
+ return undefined;
117
+ }
118
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * worktree 跨半区 wire 契约(host 与 client 双 program 编译)。
3
+ * 纯常量:/worktree 与 /workspace-model 前缀。
4
+ */
5
+ export declare const WORKTREE_API_PREFIX = "/worktree";
6
+ export declare const WORKSPACE_MODEL_PREFIX = "/workspace-model";
7
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../../src/core/worktree/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,mBAAmB,cAAc,CAAA;AAC9C,eAAO,MAAM,sBAAsB,qBAAqB,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * worktree 跨半区 wire 契约(host 与 client 双 program 编译)。
3
+ * 纯常量:/worktree 与 /workspace-model 前缀。
4
+ */
5
+ export const WORKTREE_API_PREFIX = '/worktree';
6
+ export const WORKSPACE_MODEL_PREFIX = '/workspace-model';
@@ -0,0 +1,292 @@
1
+ /**
2
+ * Domain types shared between the host half and the browser half. Anything
3
+ * that crosses the HTTP boundary lands here first so the JSON contract is
4
+ * one source of truth.
5
+ *
6
+ * The plugin deliberately mirrors the official `ctx.workspaces` /
7
+ * `ctx.sessions` client-service shapes where it can — the browser side
8
+ * mirrors the official `@deepseek-ai/dsh-workspace` / `@deepseek-ai/dsh-session` faces
9
+ * (type-only) and aligns its derivation to the same `sessionIds` account
10
+ * the official WorkspaceBrowser uses, so a single source of truth
11
+ * governs session grouping and workspace display across both surfaces.
12
+ * @module @dsh-cove/dsh-client-ui-worktree/core
13
+ */
14
+ import type { SessionId } from '@deepseek-ai/dsh-session/types';
15
+ import type { WorkspaceId } from '@deepseek-ai/dsh-workspace/types';
16
+ import type { WorktreeErrorCode } from './invariant.ts';
17
+ export type { SessionId } from '@deepseek-ai/dsh-session/types';
18
+ export type { WorkspaceId } from '@deepseek-ai/dsh-workspace/types';
19
+ /** One linked worktree entry as the browser renders it under a project row. */
20
+ export interface WorktreeView {
21
+ /** Stable name (= worktree dir name under `.dsh/workspaces/`). */
22
+ name: string;
23
+ /** Absolute filesystem path. */
24
+ path: string;
25
+ /** The checked-out branch (or null when detached). */
26
+ branch: string | null;
27
+ /** HEAD sha (short) when known. */
28
+ head: string | null;
29
+ /** True when the worktree directory exists on disk. */
30
+ exists: boolean;
31
+ /** DSH workspace id when registered; null when the path is not a workspace. */
32
+ workspaceId: WorkspaceId | null;
33
+ /** Session bound to this lane (session-bound lanes only); null otherwise.
34
+ * This binding — not `workspaceId` — is what makes a lane a lane. */
35
+ sessionId: SessionId | null;
36
+ }
37
+ /** One git project (repo) in the host worktree index. */
38
+ export interface WorktreeProject {
39
+ /** Canonical absolute path of the repository. */
40
+ repoPath: string;
41
+ /** Absolute path of the main worktree (== repoPath on a normal repo). */
42
+ mainPath: string;
43
+ /** DSH workspace id for the main worktree path, when registered. */
44
+ mainWorkspaceId: WorkspaceId | null;
45
+ /** The repository's basename (e.g. `dsh-cove`). */
46
+ name: string;
47
+ /** The main worktree's HEAD branch (or null when detached / unknown). */
48
+ mainBranch: string | null;
49
+ /** Number of uncommitted files in the main working tree (>=0); null when not probed. */
50
+ dirty: number | null;
51
+ /** Linked worktrees under `<repo>/.dsh/workspaces/`. The main worktree is NOT in this list. */
52
+ worktrees: WorktreeView[];
53
+ }
54
+ /**
55
+ * Host response: the per-repo worktree index for the management panel.
56
+ * Sessions are never carried through the HTTP layer.
57
+ */
58
+ export interface WorktreeIndex {
59
+ /** Every registered workspace path that resolves to a git repository. */
60
+ projects: WorktreeProject[];
61
+ }
62
+ /** Result shape for worktree mutations returned over HTTP. */
63
+ export interface MutationResult<T = void> {
64
+ ok: true;
65
+ value: T;
66
+ }
67
+ /** Domain error shape returned over HTTP (status >= 400). */
68
+ export interface WorktreeErrorView {
69
+ ok: false;
70
+ code: WorktreeErrorCode;
71
+ message: string;
72
+ }
73
+ /** Discriminated union for HTTP responses. */
74
+ export type WorktreeResponse<T = void> = MutationResult<T> | WorktreeErrorView;
75
+ /** Parameters for `POST /worktree/create`. */
76
+ export interface CreateWorktreeInput {
77
+ /** Repository root (must be a registered workspace). */
78
+ repoPath: string;
79
+ /** Branch name (also used as the worktree dir name under `.dsh/workspaces/`).
80
+ * The branch is cut at `base` and checked out in the worktree. */
81
+ branch: string;
82
+ /** Optional base commit-ish the new branch starts at; defaults to HEAD. */
83
+ base?: string;
84
+ }
85
+ /** Parameters for `POST /worktree/lane/create` — the worktree behind a branch. */
86
+ export interface CreateLaneInput {
87
+ /** Repository root (any directory inside it resolves). */
88
+ repoPath: string;
89
+ /** Branch the lane checks out. An existing local branch is ATTACHED (its own
90
+ * worktree is created); otherwise the branch is cut at `base`. */
91
+ branch: string;
92
+ /** Base commit-ish for a branch that has to be created; defaults to HEAD. */
93
+ base?: string;
94
+ }
95
+ /**
96
+ * A prepared lane: the branch's worktree, ready to host the conversation that
97
+ * asked for it.
98
+ *
99
+ * The lane directory is registered as a DSH workspace, and that is a platform
100
+ * requirement rather than a design taste: the registry accounts a session to a
101
+ * workspace only while the session's cwd equals that workspace's path (its
102
+ * `sessionIds` filters by the session's path, and `attachSession` refuses any
103
+ * other cwd), `session.create` takes a workspace id XOR a bare cwd, and a blank
104
+ * conversation that no workspace accounts for renders its composer inert
105
+ * ("choose a workspace to start"). A lane session created with a bare cwd is
106
+ * therefore a conversation the user cannot type into.
107
+ *
108
+ * Ownership still sits with the conversation: the lane is recorded against the
109
+ * session that asked for it (`/worktree/lane/bind`), that binding is what the
110
+ * teardown guards read, and the header chip — not the workspace row — is where
111
+ * its lifecycle lives. Teardown unregisters the workspace with the directory, so
112
+ * the sidebar only carries lanes that are still alive.
113
+ */
114
+ export interface LaneHandle {
115
+ /** Lane name == branch name. */
116
+ name: string;
117
+ /** Checked-out branch. */
118
+ branch: string;
119
+ /** Absolute worktree path — the directory a lane session runs in. */
120
+ path: string;
121
+ /** Short HEAD of the lane. */
122
+ head: string | null;
123
+ /** False when an existing worktree was reused instead of created. */
124
+ created: boolean;
125
+ /** The lane's registered workspace, which is how a blank draft is moved onto
126
+ * it; null when the registry refused (the lane still exists on disk, but no
127
+ * conversation can be started in it). */
128
+ workspaceId: WorkspaceId | null;
129
+ }
130
+ /** Result of `POST /worktree/lane/create`. */
131
+ export type CreateLaneResult = LaneHandle;
132
+ /** Parameters for `POST /worktree/lane/bind` — attach a created session to its lane. */
133
+ export interface BindLaneInput {
134
+ /** Repository root owning the lane. */
135
+ repoPath: string;
136
+ /** Branch the lane cuts (its manifest name). */
137
+ branch: string;
138
+ /** Session the platform created on the lane workspace. */
139
+ sessionId: string;
140
+ }
141
+ /** Result of `POST /worktree/lane/bind`. */
142
+ export interface BindLaneResult {
143
+ /** The lane after binding (null when it cannot be resolved). */
144
+ lane: LaneView | null;
145
+ /** Whether the lane's required permission preset is now applied. */
146
+ permissionPresetApplied: boolean;
147
+ }
148
+ /** Parameters for `POST /worktree/lane` — resolve the lane a path/session belongs to. */
149
+ export interface LaneLookupInput {
150
+ /** Absolute path inside the lane (usually the session cwd). */
151
+ path?: string;
152
+ /** Session id; the host resolves its cwd when `path` is absent. */
153
+ sessionId?: string;
154
+ }
155
+ /**
156
+ * One lane as the conversation header chip and the panel render it.
157
+ * `name`/`branch` identify the lane; the status fields mirror
158
+ * `WorktreeStatusView` so a single host probe serves both surfaces.
159
+ */
160
+ export interface LaneView {
161
+ /** Lane name == branch name. */
162
+ name: string;
163
+ /** Checked-out branch (null when detached). */
164
+ branch: string | null;
165
+ /** Absolute lane path. */
166
+ path: string;
167
+ /** Repository root owning the lane. */
168
+ repoPath: string;
169
+ /** True when the lane directory exists on disk. */
170
+ exists: boolean;
171
+ /** DSH workspace id when registered. */
172
+ workspaceId: WorkspaceId | null;
173
+ /** Session recorded as bound to this lane, when one was created through us. */
174
+ sessionId: SessionId | null;
175
+ /** Whether the required lane preset applied; null for older/non-session lanes. */
176
+ permissionPresetApplied: boolean | null;
177
+ /** Uncommitted file count (null when the directory is gone). */
178
+ dirty: number | null;
179
+ /** Remote-tracking ref for the branch exists after fetch. */
180
+ pushed: boolean;
181
+ /** Branch gone from the remote after having been pushed (merged signal). */
182
+ remoteBranchGone: boolean;
183
+ /** Branch is merged into its base. */
184
+ merged: boolean;
185
+ /** Recorded PR url, when one was created through this plugin. */
186
+ prUrl: string | null;
187
+ /** Recorded GitHub PR number. */
188
+ prNumber: number | null;
189
+ }
190
+ /** Parameters for `POST /worktree/remove`. */
191
+ export interface RemoveWorktreeInput {
192
+ /** Repository root. */
193
+ repoPath: string;
194
+ /** Worktree directory name under `.dsh/workspaces/`. */
195
+ name: string;
196
+ /** Pass --force to git so uncommitted changes are dropped. */
197
+ force?: boolean;
198
+ /**
199
+ * The conversation asking for the teardown, when it is the lane's own
200
+ * conversation. A live session blocks removal so a running conversation never
201
+ * loses its directory; that interlock must not make a lane the conversation
202
+ * itself sits on unremovable, so the lane's own recorded session may excuse
203
+ * itself (and is archived by the teardown like any other). Any other id —
204
+ * including one the lane does not record — excuses nothing.
205
+ */
206
+ sessionId?: string;
207
+ }
208
+ /** Parameters for `POST /worktree/init`. */
209
+ export interface InitWorktreeInput {
210
+ /** Repository root. */
211
+ repoPath: string;
212
+ /** Create the first branch on HEAD (default: `main`). */
213
+ initialBranch?: string;
214
+ }
215
+ /** Parameters for `POST /worktree/pr-create`. */
216
+ export interface PrCreateInput {
217
+ /** Repository root (must be a registered workspace). */
218
+ repoPath: string;
219
+ /** Worktree name == branch name. */
220
+ name: string;
221
+ /** PR target base branch; defaults to the repo's resolved base (manifest
222
+ * `baseBranch`, else the remote default branch, else `main`). */
223
+ baseRef?: string;
224
+ /** Optional PR title; defaults to the branch name. */
225
+ title?: string;
226
+ }
227
+ /** Result of `POST /worktree/pr-create`. */
228
+ export interface PrCreateResult {
229
+ /** The PR page URL (compare URL when created via 'url', html_url when 'api'). */
230
+ prUrl: string;
231
+ /** How the PR was created: compare URL opened in the browser, or the
232
+ * GitHub REST API (requires the `pr.tokenEnv` credential). */
233
+ method: 'url' | 'api';
234
+ }
235
+ /** Parameters for `POST /worktree/status`. */
236
+ export interface StatusInput {
237
+ /** Repository root. */
238
+ repoPath: string;
239
+ /** Status for one named worktree only; omit for every linked worktree. */
240
+ name?: string;
241
+ /**
242
+ * Probe the remote again instead of answering from the host cache. The
243
+ * explicit "refresh status" action sets it; opening the panel does not,
244
+ * because a status probe runs `git fetch` and `ls-remote` per lane.
245
+ */
246
+ force?: boolean;
247
+ }
248
+ /** Per-worktree PR/merge status as the panel renders it. */
249
+ export interface WorktreeStatusView {
250
+ /** Worktree name (== branch name). */
251
+ name: string;
252
+ /** Absolute worktree path. */
253
+ path: string;
254
+ /** Checked-out branch (null when detached). */
255
+ branch: string | null;
256
+ /** True when the remote-tracking ref for the branch exists after fetch. */
257
+ pushed: boolean;
258
+ /** True when the branch was pushed before but the remote branch is now gone. */
259
+ remoteBranchGone: boolean;
260
+ /** True when the branch is merged into the base (branch gone on remote, or
261
+ * the branch tip is an ancestor of the base tip). */
262
+ merged: boolean;
263
+ /** The recorded PR url, when one was created through this plugin. */
264
+ prUrl: string | null;
265
+ }
266
+ /** Host response: per-repo PR/merge status index. */
267
+ export interface WorktreeStatusIndex {
268
+ /** Base branch every status was resolved against. */
269
+ baseBranch: string;
270
+ worktrees: WorktreeStatusView[];
271
+ /**
272
+ * Candidate branches for dialogs: local branch short names, then remote
273
+ * `origin/*` names with the `origin/` prefix stripped, deduplicated in
274
+ * that order. Serves base-ref / base-commit dropdowns without another
275
+ * round trip (the panel probes one status per repo on open).
276
+ */
277
+ branches: string[];
278
+ }
279
+ /** Parameters for `POST /worktree/cleanup`. */
280
+ export interface CleanupWorktreeInput {
281
+ /** Repository root. */
282
+ repoPath: string;
283
+ /** Worktree directory name under `.dsh/workspaces/`. */
284
+ name: string;
285
+ /** Force cleanup even when the branch is not merged (abandons the branch
286
+ * and drops uncommitted changes). */
287
+ force?: boolean;
288
+ /** The conversation asking for the teardown, when it is the lane's own
289
+ * conversation; see {@link RemoveWorktreeInput.sessionId}. */
290
+ sessionId?: string;
291
+ }
292
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/worktree/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Domain types shared between the host half and the browser half. Anything
3
+ * that crosses the HTTP boundary lands here first so the JSON contract is
4
+ * one source of truth.
5
+ *
6
+ * The plugin deliberately mirrors the official `ctx.workspaces` /
7
+ * `ctx.sessions` client-service shapes where it can — the browser side
8
+ * mirrors the official `@deepseek-ai/dsh-workspace` / `@deepseek-ai/dsh-session` faces
9
+ * (type-only) and aligns its derivation to the same `sessionIds` account
10
+ * the official WorkspaceBrowser uses, so a single source of truth
11
+ * governs session grouping and workspace display across both surfaces.
12
+ * @module @dsh-cove/dsh-client-ui-worktree/core
13
+ */
14
+ export {};