@cerbur/clutch-dsh-worktree 0.1.9 → 0.1.12

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 (565) hide show
  1. package/README.md +230 -231
  2. package/README.zh.md +184 -225
  3. package/assets/screenshots/screenshots-dashboard.webp +0 -0
  4. package/assets/screenshots/screenshots-en.png +0 -0
  5. package/assets/screenshots/screenshots-import.png +0 -0
  6. package/assets/screenshots/screenshots-zh.png +0 -0
  7. package/lib/client/WorktreeSurface.d.ts +4 -7
  8. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  9. package/lib/client/WorktreeSurface.js +179 -1418
  10. package/lib/client/WorktreeSurface.js.map +1 -1
  11. package/lib/client/{WorktreeContext.d.ts → context/WorktreeContext.d.ts} +1 -1
  12. package/lib/client/context/WorktreeContext.d.ts.map +1 -0
  13. package/lib/client/context/WorktreeContext.js.map +1 -0
  14. package/lib/client/{WorktreeHeroContext.d.ts → context/WorktreeHeroContext.d.ts} +1 -1
  15. package/lib/client/context/WorktreeHeroContext.d.ts.map +1 -0
  16. package/lib/client/context/WorktreeHeroContext.js.map +1 -0
  17. package/lib/client/{worktree-context-store.d.ts → context/worktree-context-store.d.ts} +1 -1
  18. package/lib/client/context/worktree-context-store.d.ts.map +1 -0
  19. package/lib/client/{worktree-context-store.js → context/worktree-context-store.js} +2 -2
  20. package/lib/client/context/worktree-context-store.js.map +1 -0
  21. package/lib/client/{worktree-context.d.ts → context/worktree-context.d.ts} +1 -1
  22. package/lib/client/context/worktree-context.d.ts.map +1 -0
  23. package/lib/client/{worktree-context.js → context/worktree-context.js} +5 -3
  24. package/lib/client/context/worktree-context.js.map +1 -0
  25. package/lib/client/dashboard/DashboardHeaderAction.d.ts +20 -0
  26. package/lib/client/dashboard/DashboardHeaderAction.d.ts.map +1 -0
  27. package/lib/client/dashboard/DashboardHeaderAction.js +19 -0
  28. package/lib/client/dashboard/DashboardHeaderAction.js.map +1 -0
  29. package/lib/client/dashboard/OpenInAppButton.d.ts +9 -0
  30. package/lib/client/dashboard/OpenInAppButton.d.ts.map +1 -0
  31. package/lib/client/dashboard/OpenInAppButton.js +123 -0
  32. package/lib/client/dashboard/OpenInAppButton.js.map +1 -0
  33. package/lib/client/dashboard/WorktreeDashboard.d.ts +21 -0
  34. package/lib/client/dashboard/WorktreeDashboard.d.ts.map +1 -0
  35. package/lib/client/dashboard/WorktreeDashboard.js +211 -0
  36. package/lib/client/dashboard/WorktreeDashboard.js.map +1 -0
  37. package/lib/client/dashboard/WorktreeInstructions.d.ts +8 -0
  38. package/lib/client/dashboard/WorktreeInstructions.d.ts.map +1 -0
  39. package/lib/client/dashboard/WorktreeInstructions.js +53 -0
  40. package/lib/client/dashboard/WorktreeInstructions.js.map +1 -0
  41. package/lib/client/dashboard/dashboard-icon.d.ts +7 -0
  42. package/lib/client/dashboard/dashboard-icon.d.ts.map +1 -0
  43. package/lib/client/dashboard/dashboard-icon.js +6 -0
  44. package/lib/client/dashboard/dashboard-icon.js.map +1 -0
  45. package/lib/client/dashboard/dashboard-overlay.d.ts +11 -0
  46. package/lib/client/dashboard/dashboard-overlay.d.ts.map +1 -0
  47. package/lib/client/dashboard/dashboard-overlay.js +120 -0
  48. package/lib/client/dashboard/dashboard-overlay.js.map +1 -0
  49. package/lib/client/dashboard/dashboard-selection.d.ts +32 -0
  50. package/lib/client/dashboard/dashboard-selection.d.ts.map +1 -0
  51. package/lib/client/dashboard/dashboard-selection.js +31 -0
  52. package/lib/client/dashboard/dashboard-selection.js.map +1 -0
  53. package/lib/client/dashboard/dashboard-sessions.d.ts +6 -0
  54. package/lib/client/dashboard/dashboard-sessions.d.ts.map +1 -0
  55. package/lib/client/dashboard/dashboard-sessions.js +21 -0
  56. package/lib/client/dashboard/dashboard-sessions.js.map +1 -0
  57. package/lib/client/dashboard/open-in-app-controller.d.ts +30 -0
  58. package/lib/client/dashboard/open-in-app-controller.d.ts.map +1 -0
  59. package/lib/client/dashboard/open-in-app-controller.js +94 -0
  60. package/lib/client/dashboard/open-in-app-controller.js.map +1 -0
  61. package/lib/client/dashboard/vscode-url.d.ts +3 -0
  62. package/lib/client/dashboard/vscode-url.d.ts.map +1 -0
  63. package/lib/client/dashboard/vscode-url.js +9 -0
  64. package/lib/client/dashboard/vscode-url.js.map +1 -0
  65. package/lib/client/dashboard/worktree-acquisition-facts.d.ts +16 -0
  66. package/lib/client/dashboard/worktree-acquisition-facts.d.ts.map +1 -0
  67. package/lib/client/dashboard/worktree-acquisition-facts.js +14 -0
  68. package/lib/client/dashboard/worktree-acquisition-facts.js.map +1 -0
  69. package/lib/client/dsh-slot-contract.d.ts +5 -0
  70. package/lib/client/dsh-slot-contract.d.ts.map +1 -1
  71. package/lib/client/entry.d.ts +1 -1
  72. package/lib/client/entry.d.ts.map +1 -1
  73. package/lib/client/entry.js +90 -13
  74. package/lib/client/entry.js.map +1 -1
  75. package/lib/client/index.d.ts +3 -3
  76. package/lib/client/index.d.ts.map +1 -1
  77. package/lib/client/index.js +2 -2
  78. package/lib/client/index.js.map +1 -1
  79. package/lib/client/locales.d.ts +204 -0
  80. package/lib/client/locales.d.ts.map +1 -1
  81. package/lib/client/locales.js +214 -10
  82. package/lib/client/locales.js.map +1 -1
  83. package/lib/client/{WorktreeOverlay.d.ts → overlay/WorktreeOverlay.d.ts} +2 -2
  84. package/lib/client/overlay/WorktreeOverlay.d.ts.map +1 -0
  85. package/lib/client/{WorktreeOverlay.js → overlay/WorktreeOverlay.js} +2 -2
  86. package/lib/client/overlay/WorktreeOverlay.js.map +1 -0
  87. package/lib/client/overlay/overlay-bounds.d.ts.map +1 -0
  88. package/lib/client/overlay/overlay-bounds.js.map +1 -0
  89. package/lib/client/overlay/sidebar-overlay-geometry.d.ts.map +1 -0
  90. package/lib/client/overlay/sidebar-overlay-geometry.js.map +1 -0
  91. package/lib/client/permission/worktree-permission-icon.d.ts.map +1 -0
  92. package/lib/client/permission/worktree-permission-icon.js.map +1 -0
  93. package/lib/client/permission/worktree-permission.d.ts.map +1 -0
  94. package/lib/client/permission/worktree-permission.js.map +1 -0
  95. package/lib/client/session/session-labels.d.ts +9 -0
  96. package/lib/client/session/session-labels.d.ts.map +1 -0
  97. package/lib/client/session/session-labels.js +44 -0
  98. package/lib/client/session/session-labels.js.map +1 -0
  99. package/lib/client/session/session-view.d.ts.map +1 -0
  100. package/lib/client/session/session-view.js.map +1 -0
  101. package/lib/client/{virtual-workspace-membership.d.ts → session/virtual-workspace-membership.d.ts} +1 -1
  102. package/lib/client/session/virtual-workspace-membership.d.ts.map +1 -0
  103. package/lib/client/{virtual-workspace-membership.js → session/virtual-workspace-membership.js} +1 -1
  104. package/lib/client/session/virtual-workspace-membership.js.map +1 -0
  105. package/lib/client/{worktree-session-fork.d.ts → session/worktree-session-fork.d.ts} +7 -1
  106. package/lib/client/session/worktree-session-fork.d.ts.map +1 -0
  107. package/lib/client/{worktree-session-fork.js → session/worktree-session-fork.js} +50 -4
  108. package/lib/client/session/worktree-session-fork.js.map +1 -0
  109. package/lib/client/session/worktree-session-order.d.ts.map +1 -0
  110. package/lib/client/session/worktree-session-order.js.map +1 -0
  111. package/lib/client/session/worktree-session-position.d.ts.map +1 -0
  112. package/lib/client/session/worktree-session-position.js.map +1 -0
  113. package/lib/client/{worktree-session.d.ts → session/worktree-session.d.ts} +3 -3
  114. package/lib/client/session/worktree-session.d.ts.map +1 -0
  115. package/lib/client/{worktree-session.js → session/worktree-session.js} +3 -3
  116. package/lib/client/session/worktree-session.js.map +1 -0
  117. package/lib/client/surface/actions/lifecycle-commands.d.ts +9 -0
  118. package/lib/client/surface/actions/lifecycle-commands.d.ts.map +1 -0
  119. package/lib/client/surface/actions/lifecycle-commands.js +243 -0
  120. package/lib/client/surface/actions/lifecycle-commands.js.map +1 -0
  121. package/lib/client/surface/actions/useDragActions.d.ts +26 -0
  122. package/lib/client/surface/actions/useDragActions.d.ts.map +1 -0
  123. package/lib/client/surface/actions/useDragActions.js +125 -0
  124. package/lib/client/surface/actions/useDragActions.js.map +1 -0
  125. package/lib/client/surface/actions/useLifecycleActions.d.ts +30 -0
  126. package/lib/client/surface/actions/useLifecycleActions.d.ts.map +1 -0
  127. package/lib/client/surface/actions/useLifecycleActions.js +140 -0
  128. package/lib/client/surface/actions/useLifecycleActions.js.map +1 -0
  129. package/lib/client/surface/actions/useNativeActions.d.ts +48 -0
  130. package/lib/client/surface/actions/useNativeActions.d.ts.map +1 -0
  131. package/lib/client/surface/actions/useNativeActions.js +182 -0
  132. package/lib/client/surface/actions/useNativeActions.js.map +1 -0
  133. package/lib/client/surface/actions/useSessionActions.d.ts +24 -0
  134. package/lib/client/surface/actions/useSessionActions.d.ts.map +1 -0
  135. package/lib/client/surface/actions/useSessionActions.js +116 -0
  136. package/lib/client/surface/actions/useSessionActions.js.map +1 -0
  137. package/lib/client/surface/actions/useSurfaceMutation.d.ts +15 -0
  138. package/lib/client/surface/actions/useSurfaceMutation.d.ts.map +1 -0
  139. package/lib/client/surface/actions/useSurfaceMutation.js +24 -0
  140. package/lib/client/surface/actions/useSurfaceMutation.js.map +1 -0
  141. package/lib/client/surface/actions/useWorktreeRegistration.d.ts +31 -0
  142. package/lib/client/surface/actions/useWorktreeRegistration.d.ts.map +1 -0
  143. package/lib/client/surface/actions/useWorktreeRegistration.js +203 -0
  144. package/lib/client/surface/actions/useWorktreeRegistration.js.map +1 -0
  145. package/lib/client/surface/actions/worktree-cleanup-flow.d.ts +10 -0
  146. package/lib/client/surface/actions/worktree-cleanup-flow.d.ts.map +1 -0
  147. package/lib/client/surface/actions/worktree-cleanup-flow.js +19 -0
  148. package/lib/client/surface/actions/worktree-cleanup-flow.js.map +1 -0
  149. package/lib/client/surface/components/AccessConfirmation.d.ts +9 -0
  150. package/lib/client/surface/components/AccessConfirmation.d.ts.map +1 -0
  151. package/lib/client/surface/components/AccessConfirmation.js +18 -0
  152. package/lib/client/surface/components/AccessConfirmation.js.map +1 -0
  153. package/lib/client/surface/components/ActiveWorktree.d.ts +28 -0
  154. package/lib/client/surface/components/ActiveWorktree.d.ts.map +1 -0
  155. package/lib/client/surface/components/ActiveWorktree.js +155 -0
  156. package/lib/client/surface/components/ActiveWorktree.js.map +1 -0
  157. package/lib/client/surface/components/ArchivedWorktree.d.ts +24 -0
  158. package/lib/client/surface/components/ArchivedWorktree.d.ts.map +1 -0
  159. package/lib/client/surface/components/ArchivedWorktree.js +146 -0
  160. package/lib/client/surface/components/ArchivedWorktree.js.map +1 -0
  161. package/lib/client/surface/components/ArchivedWorktrees.d.ts +25 -0
  162. package/lib/client/surface/components/ArchivedWorktrees.d.ts.map +1 -0
  163. package/lib/client/surface/components/ArchivedWorktrees.js +20 -0
  164. package/lib/client/surface/components/ArchivedWorktrees.js.map +1 -0
  165. package/lib/client/surface/components/LifecycleDialogs.d.ts +20 -0
  166. package/lib/client/surface/components/LifecycleDialogs.d.ts.map +1 -0
  167. package/lib/client/surface/components/LifecycleDialogs.js +31 -0
  168. package/lib/client/surface/components/LifecycleDialogs.js.map +1 -0
  169. package/lib/client/surface/components/NativeDialogs.d.ts +9 -0
  170. package/lib/client/surface/components/NativeDialogs.d.ts.map +1 -0
  171. package/lib/client/surface/components/NativeDialogs.js +14 -0
  172. package/lib/client/surface/components/NativeDialogs.js.map +1 -0
  173. package/lib/client/surface/components/NotificationToasts.d.ts +7 -0
  174. package/lib/client/surface/components/NotificationToasts.d.ts.map +1 -0
  175. package/lib/client/surface/components/NotificationToasts.js +24 -0
  176. package/lib/client/surface/components/NotificationToasts.js.map +1 -0
  177. package/lib/client/surface/components/RegistrationDialog.d.ts +15 -0
  178. package/lib/client/surface/components/RegistrationDialog.d.ts.map +1 -0
  179. package/lib/client/surface/components/RegistrationDialog.js +22 -0
  180. package/lib/client/surface/components/RegistrationDialog.js.map +1 -0
  181. package/lib/client/surface/components/SurfaceContent.d.ts +31 -0
  182. package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -0
  183. package/lib/client/surface/components/SurfaceContent.js +65 -0
  184. package/lib/client/surface/components/SurfaceContent.js.map +1 -0
  185. package/lib/client/surface/components/SurfaceHeader.d.ts +15 -0
  186. package/lib/client/surface/components/SurfaceHeader.d.ts.map +1 -0
  187. package/lib/client/surface/components/SurfaceHeader.js +42 -0
  188. package/lib/client/surface/components/SurfaceHeader.js.map +1 -0
  189. package/lib/client/surface/components/WorkspaceTree.d.ts +32 -0
  190. package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -0
  191. package/lib/client/surface/components/WorkspaceTree.js +149 -0
  192. package/lib/client/surface/components/WorkspaceTree.js.map +1 -0
  193. package/lib/client/{worktree-surface-dialogs.d.ts → surface/components/dialogs.d.ts} +5 -2
  194. package/lib/client/surface/components/dialogs.d.ts.map +1 -0
  195. package/lib/client/{worktree-surface-dialogs.js → surface/components/dialogs.js} +67 -24
  196. package/lib/client/surface/components/dialogs.js.map +1 -0
  197. package/lib/client/{worktree-surface-rows.d.ts → surface/components/rows.d.ts} +3 -3
  198. package/lib/client/surface/components/rows.d.ts.map +1 -0
  199. package/lib/client/{worktree-surface-rows.js → surface/components/rows.js} +180 -20
  200. package/lib/client/surface/components/rows.js.map +1 -0
  201. package/lib/client/surface/notification-queue.d.ts +11 -0
  202. package/lib/client/surface/notification-queue.d.ts.map +1 -0
  203. package/lib/client/surface/notification-queue.js +19 -0
  204. package/lib/client/surface/notification-queue.js.map +1 -0
  205. package/lib/client/{worktree-surface-selectors.d.ts → surface/selectors.d.ts} +10 -5
  206. package/lib/client/surface/selectors.d.ts.map +1 -0
  207. package/lib/client/{worktree-surface-selectors.js → surface/selectors.js} +23 -6
  208. package/lib/client/surface/selectors.js.map +1 -0
  209. package/lib/client/surface/shared.d.ts +40 -0
  210. package/lib/client/surface/shared.d.ts.map +1 -0
  211. package/lib/client/surface/shared.js +53 -0
  212. package/lib/client/surface/shared.js.map +1 -0
  213. package/lib/client/surface/state/useLifecycleState.d.ts +34 -0
  214. package/lib/client/surface/state/useLifecycleState.d.ts.map +1 -0
  215. package/lib/client/surface/state/useLifecycleState.js +39 -0
  216. package/lib/client/surface/state/useLifecycleState.js.map +1 -0
  217. package/lib/client/surface/state/useRegistrationState.d.ts +34 -0
  218. package/lib/client/surface/state/useRegistrationState.d.ts.map +1 -0
  219. package/lib/client/surface/state/useRegistrationState.js +44 -0
  220. package/lib/client/surface/state/useRegistrationState.js.map +1 -0
  221. package/lib/client/surface/state/useSessionExpansion.d.ts +39 -0
  222. package/lib/client/surface/state/useSessionExpansion.d.ts.map +1 -0
  223. package/lib/client/surface/state/useSessionExpansion.js +230 -0
  224. package/lib/client/surface/state/useSessionExpansion.js.map +1 -0
  225. package/lib/client/surface/state/useSessionOrdering.d.ts +15 -0
  226. package/lib/client/surface/state/useSessionOrdering.d.ts.map +1 -0
  227. package/lib/client/surface/state/useSessionOrdering.js +68 -0
  228. package/lib/client/surface/state/useSessionOrdering.js.map +1 -0
  229. package/lib/client/surface/state/useSurfaceMenus.d.ts +9 -0
  230. package/lib/client/surface/state/useSurfaceMenus.d.ts.map +1 -0
  231. package/lib/client/surface/state/useSurfaceMenus.js +15 -0
  232. package/lib/client/surface/state/useSurfaceMenus.js.map +1 -0
  233. package/lib/client/surface/state/useSurfaceRefresh.d.ts +39 -0
  234. package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -0
  235. package/lib/client/surface/state/useSurfaceRefresh.js +274 -0
  236. package/lib/client/surface/state/useSurfaceRefresh.js.map +1 -0
  237. package/lib/client/surface/state/useSurfaceSources.d.ts +31 -0
  238. package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -0
  239. package/lib/client/surface/state/useSurfaceSources.js +63 -0
  240. package/lib/client/surface/state/useSurfaceSources.js.map +1 -0
  241. package/lib/client/{worktree-surface-types.d.ts → surface/types.d.ts} +58 -13
  242. package/lib/client/surface/types.d.ts.map +1 -0
  243. package/lib/client/surface/types.js +2 -0
  244. package/lib/client/surface/types.js.map +1 -0
  245. package/lib/client/{WorktreeModeAction.d.ts → view/WorktreeModeAction.d.ts} +1 -1
  246. package/lib/client/view/WorktreeModeAction.d.ts.map +1 -0
  247. package/lib/client/{WorktreeModeAction.js → view/WorktreeModeAction.js} +9 -1
  248. package/lib/client/view/WorktreeModeAction.js.map +1 -0
  249. package/lib/client/view/navigation.d.ts.map +1 -0
  250. package/lib/client/view/navigation.js.map +1 -0
  251. package/lib/client/view/view-mode-dispatch.d.ts +7 -0
  252. package/lib/client/view/view-mode-dispatch.d.ts.map +1 -0
  253. package/lib/client/view/view-mode-dispatch.js +11 -0
  254. package/lib/client/view/view-mode-dispatch.js.map +1 -0
  255. package/lib/client/view/view-mode-store.d.ts.map +1 -0
  256. package/lib/client/view/view-mode-store.js.map +1 -0
  257. package/lib/client/view/view-mode.d.ts.map +1 -0
  258. package/lib/client/view/view-mode.js.map +1 -0
  259. package/lib/client/{worktree-error-copy.d.ts → view/worktree-error-copy.d.ts} +2 -2
  260. package/lib/client/view/worktree-error-copy.d.ts.map +1 -0
  261. package/lib/client/view/worktree-error-copy.js.map +1 -0
  262. package/lib/client/{worktree-expand-state.d.ts → view/worktree-expand-state.d.ts} +1 -0
  263. package/lib/client/view/worktree-expand-state.d.ts.map +1 -0
  264. package/lib/client/{worktree-expand-state.js → view/worktree-expand-state.js} +11 -0
  265. package/lib/client/view/worktree-expand-state.js.map +1 -0
  266. package/lib/client/{worktree-view-actions.d.ts → view/worktree-view-actions.d.ts} +11 -5
  267. package/lib/client/view/worktree-view-actions.d.ts.map +1 -0
  268. package/lib/client/{worktree-view-actions.js → view/worktree-view-actions.js} +13 -11
  269. package/lib/client/view/worktree-view-actions.js.map +1 -0
  270. package/lib/client/view/worktree-view-errors.d.ts.map +1 -0
  271. package/lib/client/view/worktree-view-errors.js.map +1 -0
  272. package/lib/client/{worktree-view-read.d.ts → view/worktree-view-read.d.ts} +4 -2
  273. package/lib/client/view/worktree-view-read.d.ts.map +1 -0
  274. package/lib/client/{worktree-view-read.js → view/worktree-view-read.js} +4 -1
  275. package/lib/client/view/worktree-view-read.js.map +1 -0
  276. package/lib/client/view/worktree-view.d.ts.map +1 -0
  277. package/lib/client/view/worktree-view.js.map +1 -0
  278. package/lib/client/worktree-connection.d.ts +6 -0
  279. package/lib/client/worktree-connection.d.ts.map +1 -1
  280. package/lib/client/worktree-connection.js +20 -0
  281. package/lib/client/worktree-connection.js.map +1 -1
  282. package/lib/client.js +5869 -2648
  283. package/lib/client.js.map +1 -1
  284. package/lib/contract/index.contract.js +12 -0
  285. package/lib/contract/index.contract.js.map +1 -1
  286. package/lib/contract/index.d.ts +64 -3
  287. package/lib/contract/index.d.ts.map +1 -1
  288. package/lib/contract/index.js +8 -0
  289. package/lib/contract/index.js.map +1 -1
  290. package/lib/host/dsh-read-adapter.d.ts +13 -2
  291. package/lib/host/dsh-read-adapter.d.ts.map +1 -1
  292. package/lib/host/dsh-read-adapter.js +23 -3
  293. package/lib/host/dsh-read-adapter.js.map +1 -1
  294. package/lib/host/remote.d.ts.map +1 -1
  295. package/lib/host/remote.js +15 -0
  296. package/lib/host/remote.js.map +1 -1
  297. package/lib/host/service.d.ts +30 -0
  298. package/lib/host/service.d.ts.map +1 -1
  299. package/lib/host/service.js +47 -1
  300. package/lib/host/service.js.map +1 -1
  301. package/lib/host/worktree-activity.d.ts +13 -0
  302. package/lib/host/worktree-activity.d.ts.map +1 -0
  303. package/lib/host/worktree-activity.js +23 -0
  304. package/lib/host/worktree-activity.js.map +1 -0
  305. package/lib/host/worktree-instructions.d.ts +41 -0
  306. package/lib/host/worktree-instructions.d.ts.map +1 -0
  307. package/lib/host/worktree-instructions.js +65 -0
  308. package/lib/host/worktree-instructions.js.map +1 -0
  309. package/lib/host/worktree-permission-manager.js +2 -2
  310. package/lib/host/worktree-permission-manager.js.map +1 -1
  311. package/lib/index.d.ts +3 -3
  312. package/lib/index.d.ts.map +1 -1
  313. package/lib/index.js +2 -2
  314. package/lib/index.js.map +1 -1
  315. package/lib/manage/manager-context.d.ts +2 -1
  316. package/lib/manage/manager-context.d.ts.map +1 -1
  317. package/lib/manage/manager-sessions.js +4 -4
  318. package/lib/manage/manager-sessions.js.map +1 -1
  319. package/lib/manage/manager-worktree-lifecycle.d.ts +23 -0
  320. package/lib/manage/manager-worktree-lifecycle.d.ts.map +1 -0
  321. package/lib/manage/manager-worktree-lifecycle.js +165 -0
  322. package/lib/manage/manager-worktree-lifecycle.js.map +1 -0
  323. package/lib/manage/manager-worktrees.d.ts +1 -6
  324. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  325. package/lib/manage/manager-worktrees.js +81 -112
  326. package/lib/manage/manager-worktrees.js.map +1 -1
  327. package/lib/manage/manager.d.ts +24 -1
  328. package/lib/manage/manager.d.ts.map +1 -1
  329. package/lib/manage/manager.js +70 -6
  330. package/lib/manage/manager.js.map +1 -1
  331. package/lib/manage/types.d.ts +1 -0
  332. package/lib/manage/types.d.ts.map +1 -1
  333. package/lib/provider/generated-name.d.ts +8 -0
  334. package/lib/provider/generated-name.d.ts.map +1 -0
  335. package/lib/provider/generated-name.js +29 -0
  336. package/lib/provider/generated-name.js.map +1 -0
  337. package/lib/provider/{git.d.ts → git/adapter.d.ts} +2 -2
  338. package/lib/provider/git/adapter.d.ts.map +1 -0
  339. package/lib/provider/{git.js → git/adapter.js} +11 -2
  340. package/lib/provider/git/adapter.js.map +1 -0
  341. package/lib/provider/{repository-fingerprint.d.ts → git/repository-fingerprint.d.ts} +1 -1
  342. package/lib/provider/git/repository-fingerprint.d.ts.map +1 -0
  343. package/lib/provider/git/repository-fingerprint.js.map +1 -0
  344. package/lib/provider/{subprocess.d.ts → git/subprocess.d.ts} +1 -1
  345. package/lib/provider/git/subprocess.d.ts.map +1 -0
  346. package/lib/provider/git/subprocess.js.map +1 -0
  347. package/lib/provider/git/worktree-status.d.ts +5 -0
  348. package/lib/provider/git/worktree-status.d.ts.map +1 -0
  349. package/lib/provider/git/worktree-status.js +23 -0
  350. package/lib/provider/git/worktree-status.js.map +1 -0
  351. package/lib/provider/index.d.ts +5 -5
  352. package/lib/provider/index.d.ts.map +1 -1
  353. package/lib/provider/index.js +5 -5
  354. package/lib/provider/index.js.map +1 -1
  355. package/lib/provider/mutation-token.d.ts +1 -1
  356. package/lib/provider/mutation-token.d.ts.map +1 -1
  357. package/lib/provider/mutation-token.js +1 -0
  358. package/lib/provider/mutation-token.js.map +1 -1
  359. package/lib/provider/sidecar/mutation-lock.d.ts.map +1 -0
  360. package/lib/provider/{mutation-lock.js → sidecar/mutation-lock.js} +1 -1
  361. package/lib/provider/sidecar/mutation-lock.js.map +1 -0
  362. package/lib/provider/{sidecar.d.ts → sidecar/repository.d.ts} +3 -3
  363. package/lib/provider/sidecar/repository.d.ts.map +1 -0
  364. package/lib/provider/{sidecar.js → sidecar/repository.js} +16 -5
  365. package/lib/provider/sidecar/repository.js.map +1 -0
  366. package/lib/provider/{sidecar-persistence.d.ts → sidecar/sidecar-persistence.d.ts} +1 -1
  367. package/lib/provider/sidecar/sidecar-persistence.d.ts.map +1 -0
  368. package/lib/provider/{sidecar-persistence.js → sidecar/sidecar-persistence.js} +29 -2
  369. package/lib/provider/sidecar/sidecar-persistence.js.map +1 -0
  370. package/lib/provider/{sidecar-schema.d.ts → sidecar/sidecar-schema.d.ts} +1 -1
  371. package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -0
  372. package/lib/provider/{sidecar-schema.js → sidecar/sidecar-schema.js} +59 -16
  373. package/lib/provider/sidecar/sidecar-schema.js.map +1 -0
  374. package/lib/provider/transaction/dependencies.d.ts +10 -0
  375. package/lib/provider/transaction/dependencies.d.ts.map +1 -0
  376. package/lib/provider/transaction/dependencies.js +2 -0
  377. package/lib/provider/transaction/dependencies.js.map +1 -0
  378. package/lib/provider/transaction/index.d.ts +17 -0
  379. package/lib/provider/transaction/index.d.ts.map +1 -0
  380. package/lib/provider/transaction/index.js +44 -0
  381. package/lib/provider/transaction/index.js.map +1 -0
  382. package/lib/provider/transaction/operations/adopt-branch.d.ts +6 -0
  383. package/lib/provider/transaction/operations/adopt-branch.d.ts.map +1 -0
  384. package/lib/provider/transaction/operations/adopt-branch.js +59 -0
  385. package/lib/provider/transaction/operations/adopt-branch.js.map +1 -0
  386. package/lib/provider/transaction/operations/clean.d.ts +4 -0
  387. package/lib/provider/transaction/operations/clean.d.ts.map +1 -0
  388. package/lib/provider/transaction/operations/clean.js +168 -0
  389. package/lib/provider/transaction/operations/clean.js.map +1 -0
  390. package/lib/provider/transaction/operations/create.d.ts +5 -0
  391. package/lib/provider/transaction/operations/create.d.ts.map +1 -0
  392. package/lib/provider/transaction/operations/create.js +136 -0
  393. package/lib/provider/transaction/operations/create.js.map +1 -0
  394. package/lib/provider/transaction/operations/import.d.ts +5 -0
  395. package/lib/provider/transaction/operations/import.d.ts.map +1 -0
  396. package/lib/provider/transaction/operations/import.js +93 -0
  397. package/lib/provider/transaction/operations/import.js.map +1 -0
  398. package/lib/provider/transaction/operations/remove.d.ts +4 -0
  399. package/lib/provider/transaction/operations/remove.d.ts.map +1 -0
  400. package/lib/provider/transaction/operations/remove.js +164 -0
  401. package/lib/provider/transaction/operations/remove.js.map +1 -0
  402. package/lib/provider/transaction/recovery/failure-recovery.d.ts +32 -0
  403. package/lib/provider/transaction/recovery/failure-recovery.d.ts.map +1 -0
  404. package/lib/provider/transaction/recovery/failure-recovery.js +147 -0
  405. package/lib/provider/transaction/recovery/failure-recovery.js.map +1 -0
  406. package/lib/provider/transaction/recovery/recover.d.ts +4 -0
  407. package/lib/provider/transaction/recovery/recover.d.ts.map +1 -0
  408. package/lib/provider/transaction/recovery/recover.js +164 -0
  409. package/lib/provider/transaction/recovery/recover.js.map +1 -0
  410. package/lib/provider/transaction/support/admission.d.ts +7 -0
  411. package/lib/provider/transaction/support/admission.d.ts.map +1 -0
  412. package/lib/provider/transaction/support/admission.js +90 -0
  413. package/lib/provider/transaction/support/admission.js.map +1 -0
  414. package/lib/provider/transaction/support/inspection.d.ts +11 -0
  415. package/lib/provider/transaction/support/inspection.d.ts.map +1 -0
  416. package/lib/provider/transaction/support/inspection.js +51 -0
  417. package/lib/provider/transaction/support/inspection.js.map +1 -0
  418. package/lib/provider/transaction/support/journal.d.ts +12 -0
  419. package/lib/provider/transaction/support/journal.d.ts.map +1 -0
  420. package/lib/provider/transaction/support/journal.js +74 -0
  421. package/lib/provider/transaction/support/journal.js.map +1 -0
  422. package/lib/provider/transaction/support/locking.d.ts +4 -0
  423. package/lib/provider/transaction/support/locking.d.ts.map +1 -0
  424. package/lib/provider/transaction/support/locking.js +11 -0
  425. package/lib/provider/transaction/support/locking.js.map +1 -0
  426. package/lib/provider/transaction/support/path-safety.d.ts +11 -0
  427. package/lib/provider/transaction/support/path-safety.d.ts.map +1 -0
  428. package/lib/provider/transaction/support/path-safety.js +82 -0
  429. package/lib/provider/transaction/support/path-safety.js.map +1 -0
  430. package/lib/provider/transaction/support/paths.d.ts +10 -0
  431. package/lib/provider/transaction/support/paths.d.ts.map +1 -0
  432. package/lib/provider/transaction/support/paths.js +68 -0
  433. package/lib/provider/transaction/support/paths.js.map +1 -0
  434. package/lib/provider/transaction/support/publication.d.ts +9 -0
  435. package/lib/provider/transaction/support/publication.d.ts.map +1 -0
  436. package/lib/provider/transaction/support/publication.js +92 -0
  437. package/lib/provider/transaction/support/publication.js.map +1 -0
  438. package/lib/provider/transaction/types.d.ts +38 -0
  439. package/lib/provider/transaction/types.d.ts.map +1 -0
  440. package/lib/provider/transaction/types.js +2 -0
  441. package/lib/provider/transaction/types.js.map +1 -0
  442. package/lib/provider/types.d.ts +22 -3
  443. package/lib/provider/types.d.ts.map +1 -1
  444. package/lib/provider/types.js +1 -1
  445. package/lib/provider/types.js.map +1 -1
  446. package/lib/provider/worktree-lifecycle.d.ts +19 -0
  447. package/lib/provider/worktree-lifecycle.d.ts.map +1 -0
  448. package/lib/provider/worktree-lifecycle.js +44 -0
  449. package/lib/provider/worktree-lifecycle.js.map +1 -0
  450. package/lib/typert.host.js +330 -36
  451. package/lib/typert.remote-client.d.ts +12 -0
  452. package/lib/typert.remote-client.d.ts.map +1 -1
  453. package/lib/typert.remote-client.js +330 -36
  454. package/package.json +21 -20
  455. package/lib/client/WorktreeContext.d.ts.map +0 -1
  456. package/lib/client/WorktreeContext.js.map +0 -1
  457. package/lib/client/WorktreeHeroContext.d.ts.map +0 -1
  458. package/lib/client/WorktreeHeroContext.js.map +0 -1
  459. package/lib/client/WorktreeModeAction.d.ts.map +0 -1
  460. package/lib/client/WorktreeModeAction.js.map +0 -1
  461. package/lib/client/WorktreeOverlay.d.ts.map +0 -1
  462. package/lib/client/WorktreeOverlay.js.map +0 -1
  463. package/lib/client/dsh-rc1-slot-contract.d.ts +0 -43
  464. package/lib/client/dsh-rc1-slot-contract.d.ts.map +0 -1
  465. package/lib/client/dsh-rc1-slot-contract.js +0 -2
  466. package/lib/client/dsh-rc1-slot-contract.js.map +0 -1
  467. package/lib/client/navigation.d.ts.map +0 -1
  468. package/lib/client/navigation.js.map +0 -1
  469. package/lib/client/overlay-bounds.d.ts.map +0 -1
  470. package/lib/client/overlay-bounds.js.map +0 -1
  471. package/lib/client/session-view.d.ts.map +0 -1
  472. package/lib/client/session-view.js.map +0 -1
  473. package/lib/client/sidebar-overlay-geometry.d.ts.map +0 -1
  474. package/lib/client/sidebar-overlay-geometry.js.map +0 -1
  475. package/lib/client/view-mode-store.d.ts.map +0 -1
  476. package/lib/client/view-mode-store.js.map +0 -1
  477. package/lib/client/view-mode.d.ts.map +0 -1
  478. package/lib/client/view-mode.js.map +0 -1
  479. package/lib/client/virtual-workspace-membership.d.ts.map +0 -1
  480. package/lib/client/virtual-workspace-membership.js.map +0 -1
  481. package/lib/client/worktree-context-store.d.ts.map +0 -1
  482. package/lib/client/worktree-context-store.js.map +0 -1
  483. package/lib/client/worktree-context.d.ts.map +0 -1
  484. package/lib/client/worktree-context.js.map +0 -1
  485. package/lib/client/worktree-error-copy.d.ts.map +0 -1
  486. package/lib/client/worktree-error-copy.js.map +0 -1
  487. package/lib/client/worktree-expand-state.d.ts.map +0 -1
  488. package/lib/client/worktree-expand-state.js.map +0 -1
  489. package/lib/client/worktree-permission-icon.d.ts.map +0 -1
  490. package/lib/client/worktree-permission-icon.js.map +0 -1
  491. package/lib/client/worktree-permission.d.ts.map +0 -1
  492. package/lib/client/worktree-permission.js.map +0 -1
  493. package/lib/client/worktree-session-fork.d.ts.map +0 -1
  494. package/lib/client/worktree-session-fork.js.map +0 -1
  495. package/lib/client/worktree-session-order.d.ts.map +0 -1
  496. package/lib/client/worktree-session-order.js.map +0 -1
  497. package/lib/client/worktree-session-position.d.ts.map +0 -1
  498. package/lib/client/worktree-session-position.js.map +0 -1
  499. package/lib/client/worktree-session.d.ts.map +0 -1
  500. package/lib/client/worktree-session.js.map +0 -1
  501. package/lib/client/worktree-surface-dialogs.d.ts.map +0 -1
  502. package/lib/client/worktree-surface-dialogs.js.map +0 -1
  503. package/lib/client/worktree-surface-rows.d.ts.map +0 -1
  504. package/lib/client/worktree-surface-rows.js.map +0 -1
  505. package/lib/client/worktree-surface-selectors.d.ts.map +0 -1
  506. package/lib/client/worktree-surface-selectors.js.map +0 -1
  507. package/lib/client/worktree-surface-types.d.ts.map +0 -1
  508. package/lib/client/worktree-surface-types.js +0 -2
  509. package/lib/client/worktree-surface-types.js.map +0 -1
  510. package/lib/client/worktree-view-actions.d.ts.map +0 -1
  511. package/lib/client/worktree-view-actions.js.map +0 -1
  512. package/lib/client/worktree-view-errors.d.ts.map +0 -1
  513. package/lib/client/worktree-view-errors.js.map +0 -1
  514. package/lib/client/worktree-view-read.d.ts.map +0 -1
  515. package/lib/client/worktree-view-read.js.map +0 -1
  516. package/lib/client/worktree-view.d.ts.map +0 -1
  517. package/lib/client/worktree-view.js.map +0 -1
  518. package/lib/provider/git.d.ts.map +0 -1
  519. package/lib/provider/git.js.map +0 -1
  520. package/lib/provider/mutation-lock.d.ts.map +0 -1
  521. package/lib/provider/mutation-lock.js.map +0 -1
  522. package/lib/provider/repository-fingerprint.d.ts.map +0 -1
  523. package/lib/provider/repository-fingerprint.js.map +0 -1
  524. package/lib/provider/sidecar-persistence.d.ts.map +0 -1
  525. package/lib/provider/sidecar-persistence.js.map +0 -1
  526. package/lib/provider/sidecar-schema.d.ts.map +0 -1
  527. package/lib/provider/sidecar-schema.js.map +0 -1
  528. package/lib/provider/sidecar.d.ts.map +0 -1
  529. package/lib/provider/sidecar.js.map +0 -1
  530. package/lib/provider/subprocess.d.ts.map +0 -1
  531. package/lib/provider/subprocess.js.map +0 -1
  532. package/lib/provider/transaction.d.ts +0 -65
  533. package/lib/provider/transaction.d.ts.map +0 -1
  534. package/lib/provider/transaction.js +0 -1011
  535. package/lib/provider/transaction.js.map +0 -1
  536. /package/lib/client/{WorktreeContext.js → context/WorktreeContext.js} +0 -0
  537. /package/lib/client/{WorktreeHeroContext.js → context/WorktreeHeroContext.js} +0 -0
  538. /package/lib/client/{overlay-bounds.d.ts → overlay/overlay-bounds.d.ts} +0 -0
  539. /package/lib/client/{overlay-bounds.js → overlay/overlay-bounds.js} +0 -0
  540. /package/lib/client/{sidebar-overlay-geometry.d.ts → overlay/sidebar-overlay-geometry.d.ts} +0 -0
  541. /package/lib/client/{sidebar-overlay-geometry.js → overlay/sidebar-overlay-geometry.js} +0 -0
  542. /package/lib/client/{worktree-permission-icon.d.ts → permission/worktree-permission-icon.d.ts} +0 -0
  543. /package/lib/client/{worktree-permission-icon.js → permission/worktree-permission-icon.js} +0 -0
  544. /package/lib/client/{worktree-permission.d.ts → permission/worktree-permission.d.ts} +0 -0
  545. /package/lib/client/{worktree-permission.js → permission/worktree-permission.js} +0 -0
  546. /package/lib/client/{session-view.d.ts → session/session-view.d.ts} +0 -0
  547. /package/lib/client/{session-view.js → session/session-view.js} +0 -0
  548. /package/lib/client/{worktree-session-order.d.ts → session/worktree-session-order.d.ts} +0 -0
  549. /package/lib/client/{worktree-session-order.js → session/worktree-session-order.js} +0 -0
  550. /package/lib/client/{worktree-session-position.d.ts → session/worktree-session-position.d.ts} +0 -0
  551. /package/lib/client/{worktree-session-position.js → session/worktree-session-position.js} +0 -0
  552. /package/lib/client/{navigation.d.ts → view/navigation.d.ts} +0 -0
  553. /package/lib/client/{navigation.js → view/navigation.js} +0 -0
  554. /package/lib/client/{view-mode-store.d.ts → view/view-mode-store.d.ts} +0 -0
  555. /package/lib/client/{view-mode-store.js → view/view-mode-store.js} +0 -0
  556. /package/lib/client/{view-mode.d.ts → view/view-mode.d.ts} +0 -0
  557. /package/lib/client/{view-mode.js → view/view-mode.js} +0 -0
  558. /package/lib/client/{worktree-error-copy.js → view/worktree-error-copy.js} +0 -0
  559. /package/lib/client/{worktree-view-errors.d.ts → view/worktree-view-errors.d.ts} +0 -0
  560. /package/lib/client/{worktree-view-errors.js → view/worktree-view-errors.js} +0 -0
  561. /package/lib/client/{worktree-view.d.ts → view/worktree-view.d.ts} +0 -0
  562. /package/lib/client/{worktree-view.js → view/worktree-view.js} +0 -0
  563. /package/lib/provider/{repository-fingerprint.js → git/repository-fingerprint.js} +0 -0
  564. /package/lib/provider/{subprocess.js → git/subprocess.js} +0 -0
  565. /package/lib/provider/{mutation-lock.d.ts → sidecar/mutation-lock.d.ts} +0 -0
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { IconCloseFill14, IconCloseOutline16, IconProjectAddOutline16, IconSearchOutline16, Tooltip, } from '@deepseek-ai/dsh-client-ui-primitives';
3
+ import styles from '../../worktree.css';
4
+ import { cx, IconCollapseAll16 } from '../shared.js';
5
+ export function SurfaceHeader({ expansion, props, source, read, mutation }) {
6
+ const { searchExpanded, searchRoot, setSearchExpanded, searchInput, searchQuery, setSearchQuery, setExpandedArchivedWorkspaces, setExpandedSessionGroups, setCurrentSessionReveal, } = expansion;
7
+ const { t, expandState, createWorkspace, actions } = props;
8
+ const { workspaceIds } = source;
9
+ const { readState } = read;
10
+ const { runMutation } = mutation;
11
+ return (_jsx(_Fragment, { children: _jsxs("header", { className: styles.header, children: [_jsx("span", { className: cx(styles.title, searchExpanded && styles.titleHidden), children: t('worktree.title') }), _jsx("div", { className: cx(styles.searchSlot, searchExpanded && styles.searchSlotExpanded), children: _jsxs("div", { ref: searchRoot, className: cx(styles.search, searchExpanded && styles.searchExpanded), onClick: () => {
12
+ if (!searchExpanded) {
13
+ setSearchExpanded(true);
14
+ searchInput.current?.focus();
15
+ }
16
+ }, children: [_jsx(Tooltip, { label: t('workspace.search'), side: "bottom", delayMs: 500, disabled: searchExpanded, children: _jsx("button", { type: "button", className: styles.searchButton, "aria-label": t('workspace.search'), "aria-expanded": searchExpanded, onClick: () => {
17
+ setSearchExpanded(true);
18
+ searchInput.current?.focus();
19
+ }, children: _jsx(IconSearchOutline16, { size: searchExpanded ? 12 : 14 }) }) }), _jsx("input", { ref: searchInput, className: styles.searchInput, type: "text", "aria-label": t('workspace.search'), placeholder: t('workspace.search'), value: searchQuery, tabIndex: searchExpanded ? 0 : -1, onChange: (event) => {
20
+ setSearchQuery(event.currentTarget.value);
21
+ }, onKeyDown: (event) => {
22
+ if (event.key === 'Escape') {
23
+ setSearchQuery('');
24
+ setSearchExpanded(false);
25
+ }
26
+ } }), searchExpanded && (_jsx("button", { type: "button", className: styles.clearButton, "aria-label": t('search.clear'), onClick: (event) => {
27
+ event.stopPropagation();
28
+ setSearchQuery('');
29
+ setSearchExpanded(false);
30
+ }, children: _jsx(IconCloseFill14, {}) }))] }) }), _jsxs("div", { className: cx(styles.headerActions, searchExpanded && styles.headerActionsHidden), children: [_jsx(Tooltip, { label: t('workspace.collapseAll'), side: "bottom", delayMs: 500, children: _jsx("button", { type: "button", className: styles.iconButton, "aria-label": t('workspace.collapseAll'), onClick: () => {
31
+ setCurrentSessionReveal(undefined);
32
+ expandState.actions.collapseAll(workspaceIds, readState.views.flatMap((view) => view.worktrees.map((record) => record.worktreeId)));
33
+ setExpandedArchivedWorkspaces({});
34
+ setExpandedSessionGroups({});
35
+ }, children: _jsx(IconCollapseAll16, {}) }) }), _jsx(Tooltip, { label: t('workspace.add'), side: "bottom", delayMs: 500, children: _jsx("button", { type: "button", className: styles.iconButton, "aria-label": t('workspace.add'), onClick: () => {
36
+ if (createWorkspace !== undefined)
37
+ void runMutation(createWorkspace);
38
+ }, children: _jsx(IconProjectAddOutline16, {}) }) }), _jsx(Tooltip, { label: t('mode.exit'), side: "bottom", delayMs: 500, children: _jsx("button", { type: "button", className: styles.closeButton, "aria-label": t('mode.exit'), onClick: () => {
39
+ actions.setViewMode('workspace-session');
40
+ }, children: _jsx(IconCloseOutline16, {}) }) })] })] }) }));
41
+ }
42
+ //# sourceMappingURL=SurfaceHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceHeader.js","sourceRoot":"","sources":["../../../../src/client/surface/components/SurfaceHeader.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { WorktreeSurfaceProps } from '../types.js';
2
+ import type { useDragActions } from '../actions/useDragActions.js';
3
+ import type { useLifecycleActions } from '../actions/useLifecycleActions.js';
4
+ import type { useLifecycleState } from '../state/useLifecycleState.js';
5
+ import type { useNativeActions } from '../actions/useNativeActions.js';
6
+ import type { useSessionActions } from '../actions/useSessionActions.js';
7
+ import type { useSessionExpansion } from '../state/useSessionExpansion.js';
8
+ import type { useSessionOrdering } from '../state/useSessionOrdering.js';
9
+ import type { useSurfaceMenus } from '../state/useSurfaceMenus.js';
10
+ import type { useSurfaceMutation } from '../actions/useSurfaceMutation.js';
11
+ import type { useSurfaceRefresh } from '../state/useSurfaceRefresh.js';
12
+ import type { useSurfaceSources } from '../state/useSurfaceSources.js';
13
+ import type { useWorktreeRegistration } from '../actions/useWorktreeRegistration.js';
14
+ export type WorkspaceTreeInput = {
15
+ props: Pick<WorktreeSurfaceProps, 't' | 'openDashboard' | 'createMainSession' | 'openSession' | 'renameSession' | 'forkSession' | 'archiveSession' | 'manager'>;
16
+ read: Pick<ReturnType<typeof useSurfaceRefresh>, 'viewByWorkspace' | 'refresh'>;
17
+ source: Pick<ReturnType<typeof useSurfaceSources>, 'expandSnapshot' | 'workspaces' | 'sessions' | 'archivedSessionIds' | 'sessionPresentations' | 'currentSessionId'>;
18
+ expansion: Pick<ReturnType<typeof useSessionExpansion>, 'isCurrentSessionReveal' | 'query' | 'expandedSessionGroups' | 'toggleWorkspace' | 'toggleMain' | 'toggleSessionGroup' | 'toggleWorktree' | 'expandedArchivedWorkspaces' | 'toggleArchivedWorkspace'>;
19
+ ordering: Pick<ReturnType<typeof useSessionOrdering>, 'orderedSessionIdsByAccount'>;
20
+ drag: Pick<ReturnType<typeof useDragActions>, 'worktreeDrag' | 'workspaceDrag' | 'workspaceDropCommitted' | 'setWorkspaceDrag' | 'commitWorkspaceDrag' | 'sessionDrag' | 'sessionDropCommitted' | 'setSessionDrag' | 'commitSessionDrag' | 'worktreeDropCommitted' | 'setWorktreeDrag' | 'commitWorktreeDrag'>;
21
+ mutation: Pick<ReturnType<typeof useSurfaceMutation>, 'actionPending' | 'setActionError' | 'runMutation'>;
22
+ menus: Pick<ReturnType<typeof useSurfaceMenus>, 'openWorkspaceMenuId' | 'setOpenWorkspaceMenuId' | 'openMainMenuId' | 'setOpenMainMenuId' | 'openWorktreeMenuId' | 'setOpenWorktreeMenuId'>;
23
+ registration: Pick<ReturnType<typeof useWorktreeRegistration>, 'openWorktreeCreator'>;
24
+ native: Pick<ReturnType<typeof useNativeActions>, 'openWorkspaceRename' | 'openWorkspaceDelete' | 'openSessionRename' | 'archiveWorktreeSession'>;
25
+ lifecycle: Pick<ReturnType<typeof useLifecycleActions>, 'branchLabel' | 'branchActions'>;
26
+ session: Pick<ReturnType<typeof useSessionActions>, 'createSession' | 'openWorkspaceSession'>;
27
+ lifecycleState: Pick<ReturnType<typeof useLifecycleState>, 'setWorktreeRemoval' | 'setWorktreeCleanDisk' | 'setWorktreeForget'>;
28
+ };
29
+ type Input = WorkspaceTreeInput;
30
+ export declare function WorkspaceTree({ props, read, source, expansion, ordering, drag, mutation, menus, registration, native, lifecycle, session, lifecycleState, }: Input): import("react").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=WorkspaceTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceTree.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/WorkspaceTree.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,IAAI,CACT,oBAAoB,EAClB,GAAG,GACH,eAAe,GACf,mBAAmB,GACnB,aAAa,GACb,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,SAAS,CACZ,CAAC;IACF,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAChF,MAAM,EAAE,IAAI,CACV,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAClC,gBAAgB,GAChB,YAAY,GACZ,UAAU,GACV,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CACrB,CAAC;IACF,SAAS,EAAE,IAAI,CACb,UAAU,CAAC,OAAO,mBAAmB,CAAC,EACpC,wBAAwB,GACxB,OAAO,GACP,uBAAuB,GACvB,iBAAiB,GACjB,YAAY,GACZ,oBAAoB,GACpB,gBAAgB,GAChB,4BAA4B,GAC5B,yBAAyB,CAC5B,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACpF,IAAI,EAAE,IAAI,CACR,UAAU,CAAC,OAAO,cAAc,CAAC,EAC/B,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,kBAAkB,GAClB,qBAAqB,GACrB,aAAa,GACb,sBAAsB,GACtB,gBAAgB,GAChB,mBAAmB,GACnB,uBAAuB,GACvB,iBAAiB,GACjB,oBAAoB,CACvB,CAAC;IACF,QAAQ,EAAE,IAAI,CACZ,UAAU,CAAC,OAAO,kBAAkB,CAAC,EACrC,eAAe,GAAG,gBAAgB,GAAG,aAAa,CACnD,CAAC;IACF,KAAK,EAAE,IAAI,CACT,UAAU,CAAC,OAAO,eAAe,CAAC,EAChC,qBAAqB,GACrB,wBAAwB,GACxB,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,GACpB,uBAAuB,CAC1B,CAAC;IACF,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACtF,MAAM,EAAE,IAAI,CACV,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACnC,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,wBAAwB,CAC/F,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC;IACzF,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAAC,CAAC;IAC9F,cAAc,EAAE,IAAI,CAClB,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,oBAAoB,GAAG,sBAAsB,GAAG,mBAAmB,CACpE,CAAC;CACH,CAAC;AACF,KAAK,KAAK,GAAG,kBAAkB,CAAC;AAEhC,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,GACf,EAAE,KAAK,+BAyUP"}
@@ -0,0 +1,149 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { IconBranchOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
3
+ import { openWorktreeSession } from '../../view/navigation.js';
4
+ import { filterVisibleSessionIds, hasOngoingSession, sessionMatchesQuery, } from '../../session/session-view.js';
5
+ import { unboundSessionIds, workspaceSessionIds } from '../../view/view-mode.js';
6
+ import { isMainExpanded, isWorkspaceExpanded } from '../../view/worktree-expand-state.js';
7
+ import { createNumberedWorktreeName, filterArchivedSessionIds } from '../../view/worktree-view.js';
8
+ import { createMainWorktreeRecord } from '../../dashboard/dashboard-selection.js';
9
+ import styles from '../../worktree.css';
10
+ import { ActiveWorktree } from './ActiveWorktree.js';
11
+ import { ArchivedWorktrees } from './ArchivedWorktrees.js';
12
+ import { WorktreeGroupRow, WorktreeSessionGroup, WorktreeWorkspaceRow } from './rows.js';
13
+ import { includesText, isSessionGroupAutoExpanded, workspaceMatches } from '../selectors.js';
14
+ export function WorkspaceTree({ props, read, source, expansion, ordering, drag, mutation, menus, registration, native, lifecycle, session, lifecycleState, }) {
15
+ const { t, createMainSession, openSession, renameSession, forkSession, archiveSession } = props;
16
+ const { viewByWorkspace } = read;
17
+ const { expandSnapshot, workspaces, sessions, archivedSessionIds, sessionPresentations, currentSessionId, } = source;
18
+ const { isCurrentSessionReveal, query, expandedSessionGroups, toggleWorkspace, toggleMain, toggleSessionGroup, } = expansion;
19
+ const { orderedSessionIdsByAccount } = ordering;
20
+ const { worktreeDrag, workspaceDrag, workspaceDropCommitted, setWorkspaceDrag, commitWorkspaceDrag, sessionDrag, sessionDropCommitted, setSessionDrag, commitSessionDrag, } = drag;
21
+ const { actionPending } = mutation;
22
+ const { openWorkspaceMenuId, setOpenWorkspaceMenuId, openMainMenuId, setOpenMainMenuId } = menus;
23
+ const { openWorktreeCreator } = registration;
24
+ const { openWorkspaceRename, openWorkspaceDelete, openSessionRename, archiveWorktreeSession } = native;
25
+ const visibleWorkspaces = workspaces.items.filter((workspace) => workspaceMatches(workspace, viewByWorkspace.get(workspace.workspaceId), sessions, query));
26
+ return (_jsx(_Fragment, { children: _jsx("div", { className: styles.workspaceList, children: visibleWorkspaces.length === 0 ? (_jsx("p", { className: styles.empty, children: t('workspace.noMatches') })) : (visibleWorkspaces.map((workspace) => {
27
+ const view = viewByWorkspace.get(workspace.workspaceId);
28
+ const currentBranch = view?.branches.find((branch) => branch.isCurrent)?.name;
29
+ const mainLabel = currentBranch === undefined
30
+ ? t('worktree.main')
31
+ : t('worktree.mainWithBranch', { branch: currentBranch });
32
+ const expanded = isWorkspaceExpanded(expandSnapshot, workspace.workspaceId) ||
33
+ isCurrentSessionReveal('workspace:' + workspace.workspaceId);
34
+ const workspaceMatchesQuery = includesText(workspace.title, query);
35
+ const allWorkspaceSessionIds = filterArchivedSessionIds(workspaceSessionIds(workspaces, workspace.workspaceId, sessions.ids), archivedSessionIds);
36
+ const workspaceActivitySessionIds = filterVisibleSessionIds(allWorkspaceSessionIds, sessions);
37
+ const workspaceHasOngoingSession = hasOngoingSession(workspaceActivitySessionIds, sessionPresentations);
38
+ const bindings = view?.bindings ?? [];
39
+ const boundSessionIds = new Set(bindings.map((binding) => binding.sessionId));
40
+ const mainSessionIds = filterVisibleSessionIds(unboundSessionIds(allWorkspaceSessionIds, [...boundSessionIds]), sessions);
41
+ const mainGroupKey = `main:${workspace.workspaceId}`;
42
+ const orderedMainSessionIds = orderedSessionIdsByAccount.get(mainGroupKey) ?? mainSessionIds;
43
+ const visibleMainSessionIds = mainSessionIds.filter((sessionId) => workspaceMatchesQuery || sessionMatchesQuery(sessionId, sessions, query));
44
+ const orderedVisibleMainSessionIds = orderedMainSessionIds.filter((sessionId) => workspaceMatchesQuery || sessionMatchesQuery(sessionId, sessions, query));
45
+ const mainExpanded = isMainExpanded(expandSnapshot, workspace.workspaceId) ||
46
+ isCurrentSessionReveal('main:' + workspace.workspaceId);
47
+ const sessionIds = orderedVisibleMainSessionIds.length === visibleMainSessionIds.length
48
+ ? orderedVisibleMainSessionIds
49
+ : visibleMainSessionIds;
50
+ const mainSessionGroupAutoExpanded = isSessionGroupAutoExpanded(sessionIds, currentSessionId, isCurrentSessionReveal('session-group:' + mainGroupKey));
51
+ const mainSessionGroupExpanded = expandedSessionGroups[mainGroupKey] === true || mainSessionGroupAutoExpanded;
52
+ const worktrees = view?.worktrees ?? [];
53
+ const activeWorktrees = worktrees.filter((record) => record.status === 'active');
54
+ const archivedWorktrees = worktrees.filter((record) => record.status === 'removed');
55
+ const workspaceWorktreeNames = [
56
+ ...(view?.branches.map((branch) => branch.name) ?? []),
57
+ ...(view?.worktrees.map((worktree) => worktree.branch) ?? []),
58
+ ];
59
+ const sameWorkspaceWorktreeDrag = worktreeDrag?.workspaceId === workspace.workspaceId;
60
+ return (_jsxs("section", { className: styles.workspaceGroup, "data-workspace-id": workspace.workspaceId, children: [_jsx(WorktreeWorkspaceRow, { t: t, workspace: workspace, expanded: expanded, hasOngoingSession: workspaceHasOngoingSession, actionPending: actionPending, menuOpen: openWorkspaceMenuId === workspace.workspaceId, drag: {
61
+ active: workspaceDrag !== undefined,
62
+ marker: workspaceDrag?.over?.workspaceId === workspace.workspaceId
63
+ ? workspaceDrag.over.half
64
+ : null,
65
+ start: () => {
66
+ workspaceDropCommitted.current = false;
67
+ setWorkspaceDrag({ workspaceId: workspace.workspaceId, over: null });
68
+ },
69
+ hover: (half) => {
70
+ setWorkspaceDrag((current) => current === undefined
71
+ ? current
72
+ : {
73
+ ...current,
74
+ over: { workspaceId: workspace.workspaceId, half },
75
+ });
76
+ },
77
+ drop: (half) => {
78
+ if (workspaceDrag === undefined)
79
+ return;
80
+ commitWorkspaceDrag(workspaceDrag, {
81
+ workspaceId: workspace.workspaceId,
82
+ half,
83
+ });
84
+ },
85
+ end: () => {
86
+ if (workspaceDrag?.over !== null && workspaceDrag?.over !== undefined) {
87
+ commitWorkspaceDrag(workspaceDrag, workspaceDrag.over);
88
+ }
89
+ else {
90
+ setWorkspaceDrag(undefined);
91
+ }
92
+ workspaceDropCommitted.current = false;
93
+ },
94
+ }, onToggle: () => {
95
+ toggleWorkspace(workspace.workspaceId);
96
+ }, onCreateWorktree: () => {
97
+ openWorktreeCreator(workspace);
98
+ }, onRename: () => {
99
+ openWorkspaceRename(workspace);
100
+ }, onDelete: () => {
101
+ openWorkspaceDelete(workspace);
102
+ }, onMenuOpenChange: (open) => {
103
+ setOpenWorkspaceMenuId(open ? workspace.workspaceId : undefined);
104
+ } }), expanded && (_jsxs("div", { className: styles.treeChildren, children: [_jsx(WorktreeGroupRow, { t: t, kind: "main", label: mainLabel, expanded: mainExpanded, hasOngoingSession: hasOngoingSession(mainSessionIds, sessionPresentations), icon: _jsx(IconBranchOutline16, {}), workspaceTitle: workspace.title, onToggle: () => {
105
+ toggleMain(workspace.workspaceId);
106
+ }, showDashboardAction: props.openDashboard !== undefined, menu: {
107
+ onDashboard: props.openDashboard === undefined
108
+ ? undefined
109
+ : () => props.openDashboard?.(createMainWorktreeRecord(workspace, currentBranch)),
110
+ open: openMainMenuId === workspace.workspaceId,
111
+ label: mainLabel,
112
+ copyPath: workspace.path,
113
+ showCreate: currentBranch !== undefined,
114
+ showRemove: false,
115
+ disabled: actionPending,
116
+ onOpenChange: (open) => {
117
+ setOpenMainMenuId(open ? workspace.workspaceId : undefined);
118
+ },
119
+ onCreateWorktree: currentBranch === undefined
120
+ ? undefined
121
+ : () => {
122
+ openWorktreeCreator(workspace, {
123
+ baseBranch: currentBranch,
124
+ newBranch: createNumberedWorktreeName(currentBranch, workspaceWorktreeNames),
125
+ });
126
+ },
127
+ }, onCreateSession: createMainSession === undefined
128
+ ? undefined
129
+ : () => {
130
+ createMainSession(workspace.workspaceId);
131
+ } }), mainExpanded && (_jsx(WorktreeSessionGroup, { t: t, groupKey: mainGroupKey, sessionIds: sessionIds, workspaceId: workspace.workspaceId, currentSessionId: currentSessionId, expanded: mainSessionGroupExpanded, actionPending: actionPending, sessions: sessions, sessionPresentations: sessionPresentations, dragState: sessionDrag, onToggleExpanded: () => {
132
+ toggleSessionGroup(mainGroupKey, mainSessionGroupAutoExpanded);
133
+ }, onStartDrag: (groupKey, sessionId) => {
134
+ sessionDropCommitted.current = false;
135
+ setSessionDrag({ groupKey, sessionId, over: null });
136
+ }, onHoverDrag: (sessionId, half) => {
137
+ setSessionDrag((current) => current === undefined
138
+ ? current
139
+ : { ...current, over: { sessionId, half } });
140
+ }, onClearDrag: () => {
141
+ setSessionDrag(undefined);
142
+ }, onFinishDrag: () => {
143
+ sessionDropCommitted.current = false;
144
+ }, onCommitDrag: commitSessionDrag, onOpen: (sessionId) => {
145
+ openWorktreeSession({ open: openSession }, sessionId);
146
+ }, onRename: renameSession === undefined ? undefined : openSessionRename, onFork: forkSession, onArchive: archiveSession === undefined ? undefined : archiveWorktreeSession })), activeWorktrees.length === 0 && archivedWorktrees.length === 0 && (_jsx("p", { className: styles.emptyNested, children: t('worktree.noWorktrees') })), activeWorktrees.map((record) => (_jsx(ActiveWorktree, { record: record, source: source, expansion: expansion, ordering: ordering, props: props, lifecycle: lifecycle, session: session, menus: menus, mutation: mutation, read: read, registration: registration, lifecycleState: lifecycleState, drag: drag, native: native, bindings: bindings, workspaceMatchesQuery: workspaceMatchesQuery, workspace: workspace, workspaceWorktreeNames: workspaceWorktreeNames, sameWorkspaceWorktreeDrag: sameWorkspaceWorktreeDrag, activeWorktrees: activeWorktrees }, record.worktreeId))), archivedWorktrees.length > 0 && (_jsx(ArchivedWorktrees, { expansion: expansion, props: props, source: source, ordering: ordering, lifecycle: lifecycle, mutation: mutation, menus: menus, read: read, lifecycleState: lifecycleState, drag: drag, session: session, native: native, workspace: workspace, archivedWorktrees: archivedWorktrees, bindings: bindings, workspaceMatchesQuery: workspaceMatchesQuery }))] }))] }, workspace.workspaceId));
147
+ })) }) }));
148
+ }
149
+ //# sourceMappingURL=WorkspaceTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceTree.js","sourceRoot":"","sources":["../../../../src/client/surface/components/WorkspaceTree.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- import type { SessionRenameDialogProps, WorktreeCreateDialogProps, WorktreeRemovalDialogProps, WorkspaceDeleteDialogProps, WorkspaceRenameDialogProps } from './worktree-surface-types.js';
1
+ import type { SessionRenameDialogProps, WorkspaceDeleteDialogProps, WorkspaceRenameDialogProps, WorktreeAdoptBranchDialogProps, WorktreeCleanDiskDialogProps, WorktreeCreateDialogProps, WorktreeForgetDialogProps, WorktreeRemovalDialogProps } from '../types.js';
2
+ export declare function WorktreeAdoptBranchDialog({ t, worktree, actionPending, error, onClose, onSubmit, onRetry, }: WorktreeAdoptBranchDialogProps): import("react").JSX.Element | null;
2
3
  export declare function WorktreeSessionRenameDialog({ t, target, draft, pending, error, onClose, onDraftChange, onSubmit, }: SessionRenameDialogProps): import("react").JSX.Element;
3
4
  export declare function WorktreeWorkspaceRenameDialog({ t, target, draft, pending, duplicate, error, onClose, onDraftChange, onSubmit, }: WorkspaceRenameDialogProps): import("react").JSX.Element | null;
4
5
  export declare function WorktreeWorkspaceDeleteDialog({ t, target, pending, error, onClose, onSubmit, }: WorkspaceDeleteDialogProps): import("react").JSX.Element | null;
5
6
  export declare function WorktreeCreateDialog({ t, workspace, view, readError, setupStatus, canCreate, mode, importCandidates, selectedImportPath, selectedBranch, newBranch, actionPending, onClose, onRetry, onModeChange, onRetryImportCandidates, onSelectedImportPathChange, onSelectedBranchChange, onNewBranchChange, onSubmit, }: WorktreeCreateDialogProps): import("react").JSX.Element | null;
6
7
  export declare function WorktreeRemovalDialog({ t, worktree, actionPending, onClose, onSubmit, }: WorktreeRemovalDialogProps): import("react").JSX.Element | null;
7
- //# sourceMappingURL=worktree-surface-dialogs.d.ts.map
8
+ export declare function WorktreeCleanDiskDialog({ t, worktree, actionPending, onClose, onSubmit, }: WorktreeCleanDiskDialogProps): import("react").JSX.Element | null;
9
+ export declare function WorktreeForgetDialog({ t, worktree, actionPending, onClose, onSubmit, }: WorktreeForgetDialogProps): import("react").JSX.Element | null;
10
+ //# sourceMappingURL=dialogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/dialogs.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAE3B,MAAM,aAAa,CAAC;AAErB,wBAAgB,yBAAyB,CAAC,EACxC,CAAC,EACD,QAAQ,EACR,aAAa,EACb,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,GACR,EAAE,8BAA8B,sCAyChC;AAkBD,wBAAgB,2BAA2B,CAAC,EAC1C,CAAC,EACD,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,GACT,EAAE,wBAAwB,+BAkD1B;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,CAAC,EACD,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,GACT,EAAE,0BAA0B,sCA8D5B;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,CAAC,EACD,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,0BAA0B,sCAkC5B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,SAAS,EACT,IAAI,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EACT,IAAI,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,aAAa,EACb,OAAO,EACP,OAAO,EACP,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,GACT,EAAE,yBAAyB,sCAsL3B;AAED,wBAAgB,qBAAqB,CAAC,EACpC,CAAC,EACD,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,GACT,EAAE,0BAA0B,sCAmC5B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,CAAC,EACD,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,GACT,EAAE,4BAA4B,sCAwC9B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,GACT,EAAE,yBAAyB,sCAqC3B"}
@@ -1,8 +1,22 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Input, Modal, } from '@deepseek-ai/dsh-client-ui-primitives';
3
- import { formatWorktreeViewError } from './worktree-error-copy.js';
4
- import { worktreeSetupCommands } from './worktree-view.js';
5
- import styles from './worktree.css';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button, Input, Modal } from '@deepseek-ai/dsh-client-ui-primitives';
3
+ import { formatWorktreeViewError } from '../../view/worktree-error-copy.js';
4
+ import { worktreeSetupCommands } from '../../view/worktree-view.js';
5
+ import styles from '../../worktree.css';
6
+ import { worktreeLifecycleBlockReason } from '../selectors.js';
7
+ export function WorktreeAdoptBranchDialog({ t, worktree, actionPending, error, onClose, onSubmit, onRetry, }) {
8
+ if (worktree === undefined || typeof worktree.currentBranch !== 'string')
9
+ return null;
10
+ return (_jsx(Modal, { open: true, onClose: () => {
11
+ if (!actionPending)
12
+ onClose();
13
+ }, closeLabel: t('dialog.cancel'), title: t('worktree.adoptBranch'), description: t('worktree.adoptDescription', {
14
+ previous: worktree.branch,
15
+ current: worktree.currentBranch,
16
+ }), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending || error !== undefined, onClick: () => {
17
+ void onSubmit();
18
+ }, children: t('worktree.adoptBranch') })] }), children: error !== undefined && (_jsxs("div", { role: "alert", children: [_jsx("p", { className: styles.message, children: formatWorktreeViewError(error, t) }), _jsx(Button, { variant: "outline", disabled: actionPending, onClick: onRetry, children: t('action.retry') })] })) }));
19
+ }
6
20
  function worktreeSetupMessage(status, t) {
7
21
  switch (status) {
8
22
  case 'gitNotInstalled':
@@ -16,9 +30,9 @@ function worktreeSetupMessage(status, t) {
16
30
  }
17
31
  }
18
32
  export function WorktreeSessionRenameDialog({ t, target, draft, pending, error, onClose, onDraftChange, onSubmit, }) {
19
- return (_jsxs(Modal, { open: target !== undefined, onClose: onClose, closeLabel: t('dialog.close'), title: t('session.rename'), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: pending || draft.trim().length === 0, onClick: () => {
33
+ return (_jsxs(Modal, { open: target !== undefined, onClose: onClose, closeLabel: t('dialog.close'), title: t('session.rename'), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: pending || draft.trim().length === 0, onClick: () => {
20
34
  void onSubmit();
21
- }, children: t('dialog.rename') })] })), children: [_jsx(Input, { className: styles.renameInput, value: draft, "aria-label": t('session.name'), autoFocus: true, disabled: pending, onFocus: (event) => {
35
+ }, children: t('dialog.rename') })] }), children: [_jsx(Input, { className: styles.renameInput, value: draft, "aria-label": t('session.name'), autoFocus: true, disabled: pending, onFocus: (event) => {
22
36
  event.currentTarget.select();
23
37
  }, onChange: (event) => {
24
38
  onDraftChange(event.currentTarget.value);
@@ -32,12 +46,12 @@ export function WorktreeSessionRenameDialog({ t, target, draft, pending, error,
32
46
  export function WorktreeWorkspaceRenameDialog({ t, target, draft, pending, duplicate, error, onClose, onDraftChange, onSubmit, }) {
33
47
  if (target === undefined)
34
48
  return null;
35
- return (_jsxs(Modal, { open: true, onClose: onClose, closeLabel: t('dialog.closeWorkspaceRename'), title: t('workspace.renameTitle'), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: pending ||
49
+ return (_jsxs(Modal, { open: true, onClose: onClose, closeLabel: t('dialog.closeWorkspaceRename'), title: t('workspace.renameTitle'), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: pending ||
36
50
  draft.trim().length === 0 ||
37
51
  draft.trim() === target.currentTitle ||
38
52
  duplicate, onClick: () => {
39
53
  void onSubmit();
40
- }, children: t('dialog.rename') })] })), children: [_jsx(Input, { className: styles.renameInput, value: draft, "aria-label": t('workspace.name'), autoFocus: true, disabled: pending, onFocus: (event) => {
54
+ }, children: t('dialog.rename') })] }), children: [_jsx(Input, { className: styles.renameInput, value: draft, "aria-label": t('workspace.name'), autoFocus: true, disabled: pending, onFocus: (event) => {
41
55
  event.currentTarget.select();
42
56
  }, onChange: (event) => {
43
57
  onDraftChange(event.currentTarget.value);
@@ -51,32 +65,30 @@ export function WorktreeWorkspaceRenameDialog({ t, target, draft, pending, dupli
51
65
  export function WorktreeWorkspaceDeleteDialog({ t, target, pending, error, onClose, onSubmit, }) {
52
66
  if (target === undefined)
53
67
  return null;
54
- return (_jsx(Modal, { open: true, onClose: onClose, closeLabel: t('dialog.closeWorkspaceDelete'), title: t('workspace.deleteTitle'), description: t('workspace.deleteDescription', { name: target.title }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "outline", disabled: pending, onClick: () => {
68
+ return (_jsx(Modal, { open: true, onClose: onClose, closeLabel: t('dialog.closeWorkspaceDelete'), title: t('workspace.deleteTitle'), description: t('workspace.deleteDescription', { name: target.title }), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "outline", disabled: pending, onClick: () => {
55
69
  void onSubmit();
56
- }, children: t('dialog.delete') })] })), children: error !== undefined && (_jsx("p", { className: styles.renameError, role: "alert", children: formatWorktreeViewError(error, t) })) }));
70
+ }, children: t('dialog.delete') })] }), children: error !== undefined && (_jsx("p", { className: styles.renameError, role: "alert", children: formatWorktreeViewError(error, t) })) }));
57
71
  }
58
72
  export function WorktreeCreateDialog({ t, workspace, view, readError, setupStatus, canCreate, mode, importCandidates, selectedImportPath, selectedBranch, newBranch, actionPending, onClose, onRetry, onModeChange, onRetryImportCandidates, onSelectedImportPathChange, onSelectedBranchChange, onNewBranchChange, onSubmit, }) {
59
73
  if (workspace === undefined)
60
74
  return null;
61
75
  const setupCommands = setupStatus === undefined ? [] : worktreeSetupCommands(setupStatus);
62
76
  const importing = mode === 'import';
63
- const importBlocked = actionPending ||
64
- importCandidates.status === 'loading' ||
65
- selectedImportPath === undefined;
77
+ const importBlocked = actionPending || importCandidates.status === 'loading' || selectedImportPath === undefined;
66
78
  return (_jsxs(Modal, { open: true, onClose: () => {
67
79
  if (actionPending)
68
80
  return;
69
81
  onClose();
70
82
  }, closeLabel: t('dialog.closeWorktreeCreate'), title: t('worktree.createTitle'), description: importing
71
83
  ? t('worktree.importDescription', { name: workspace.title })
72
- : t('worktree.createDescription', { name: workspace.title }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: importing
84
+ : t('worktree.createDescription', { name: workspace.title }), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: importing
73
85
  ? importBlocked
74
86
  : actionPending ||
75
87
  !canCreate ||
76
88
  selectedBranch.length === 0 ||
77
89
  newBranch.trim().length === 0, onClick: () => {
78
90
  void onSubmit();
79
- }, children: importing ? t('worktree.import') : t('worktree.create') })] })), children: [_jsxs("div", { className: styles.worktreeModalTabs, role: "tablist", "aria-label": t('worktree.title'), children: [_jsx("button", { className: styles.worktreeModalTab, type: "button", role: "tab", "aria-selected": mode === 'create', disabled: actionPending, onClick: () => {
91
+ }, children: importing ? t('worktree.import') : t('worktree.create') })] }), children: [_jsxs("div", { className: styles.worktreeModalTabs, role: "tablist", "aria-label": t('worktree.title'), children: [_jsx("button", { className: styles.worktreeModalTab, type: "button", role: "tab", "aria-selected": mode === 'create', disabled: actionPending, onClick: () => {
80
92
  onModeChange('create');
81
93
  }, children: t('worktree.tabCreate') }), _jsx("button", { className: styles.worktreeModalTab, type: "button", role: "tab", "aria-selected": mode === 'import', disabled: actionPending, onClick: () => {
82
94
  onModeChange('import');
@@ -86,9 +98,7 @@ export function WorktreeCreateDialog({ t, workspace, view, readError, setupStatu
86
98
  onSelectedBranchChange(event.currentTarget.value);
87
99
  }, children: view?.branches.map((branch) => (_jsxs("option", { value: branch.name, children: [branch.name, branch.isCurrent ? t('branch.current') : '', branch.checkedOut ? t('branch.checkedOut') : ''] }, branch.name))) })] }), _jsxs("label", { className: styles.modalField, children: [t('worktree.name'), _jsx(Input, { className: styles.renameInput, "aria-label": t('worktree.name'), value: newBranch, placeholder: "dsh/12345678", disabled: actionPending, onChange: (event) => {
88
100
  onNewBranchChange(event.currentTarget.value);
89
- } })] })] })) : (_jsxs("div", { className: styles.gitReadiness, "data-worktree-readiness": setupStatus ?? 'loading', role: "alert", children: [_jsx("p", { className: styles.message, children: setupStatus === undefined
90
- ? t('status.loading')
91
- : worktreeSetupMessage(setupStatus, t) }), setupCommands.length > 0 && (_jsx("pre", { className: styles.commandBlock, "aria-label": t('worktree.setup.commands'), children: setupCommands.join('\n') }))] }))] }));
101
+ } })] })] })) : (_jsxs("div", { className: styles.gitReadiness, "data-worktree-readiness": setupStatus ?? 'loading', role: "alert", children: [_jsx("p", { className: styles.message, children: setupStatus === undefined ? t('status.loading') : worktreeSetupMessage(setupStatus, t) }), setupCommands.length > 0 && (_jsx("pre", { className: styles.commandBlock, "aria-label": t('worktree.setup.commands'), children: setupCommands.join('\n') }))] }))] }));
92
102
  }
93
103
  export function WorktreeRemovalDialog({ t, worktree, actionPending, onClose, onSubmit, }) {
94
104
  if (worktree === undefined)
@@ -97,10 +107,43 @@ export function WorktreeRemovalDialog({ t, worktree, actionPending, onClose, onS
97
107
  if (actionPending)
98
108
  return;
99
109
  onClose();
100
- }, closeLabel: t('dialog.closeWorktreeRemove'), title: t('worktree.remove'), description: worktree.source === 'external'
101
- ? t('worktree.removeExternalDescription', { name: worktree.branch })
102
- : t('worktree.removeDescription', { name: worktree.branch }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending, onClick: () => {
110
+ }, closeLabel: t('dialog.closeWorktreeArchive'), title: t('worktree.archive'), description: worktree.source === 'external'
111
+ ? t('worktree.archiveExternalDescription', { name: worktree.branch })
112
+ : t('worktree.archiveDescription', { name: worktree.branch }), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending, onClick: () => {
113
+ void onSubmit();
114
+ }, children: t('worktree.archive') })] }) }));
115
+ }
116
+ export function WorktreeCleanDiskDialog({ t, worktree, actionPending, onClose, onSubmit, }) {
117
+ if (worktree === undefined)
118
+ return null;
119
+ const activityBlock = worktreeLifecycleBlockReason(actionPending, worktree.health);
120
+ const isBlocked = activityBlock !== undefined;
121
+ return (_jsx(Modal, { open: true, onClose: () => {
122
+ if (actionPending)
123
+ return;
124
+ onClose();
125
+ }, closeLabel: t('dialog.closeWorktreeCleanDisk'), title: t('worktree.cleanDiskTitle'), description: activityBlock === 'recovery'
126
+ ? t('worktree.recovery')
127
+ : t('worktree.cleanDiskDescription', {
128
+ name: worktree.branch,
129
+ path: worktree.absolutePath,
130
+ }), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending || isBlocked, onClick: () => {
131
+ void onSubmit();
132
+ }, children: t('dialog.cleanDisk') })] }) }));
133
+ }
134
+ export function WorktreeForgetDialog({ t, worktree, actionPending, onClose, onSubmit, }) {
135
+ if (worktree === undefined)
136
+ return null;
137
+ const activityBlock = worktreeLifecycleBlockReason(actionPending, worktree.health);
138
+ const isBlocked = activityBlock !== undefined;
139
+ return (_jsx(Modal, { open: true, onClose: () => {
140
+ if (actionPending)
141
+ return;
142
+ onClose();
143
+ }, closeLabel: t('dialog.closeWorktreeForget'), title: t('worktree.forgetTitle'), description: activityBlock === 'recovery'
144
+ ? t('worktree.recovery')
145
+ : t('worktree.forgetDescription', { name: worktree.branch }), footer: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending || isBlocked, onClick: () => {
103
146
  void onSubmit();
104
- }, children: t('worktree.remove') })] })) }));
147
+ }, children: t('dialog.forget') })] }) }));
105
148
  }
106
- //# sourceMappingURL=worktree-surface-dialogs.js.map
149
+ //# sourceMappingURL=dialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.js","sourceRoot":"","sources":["../../../../src/client/surface/components/dialogs.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import type { WorktreeGroupRowProps, WorktreeSessionGroupProps, WorktreeSessionRowProps, WorktreeWorkspaceRowProps } from './worktree-surface-types.js';
1
+ import type { WorktreeGroupRowProps, WorktreeSessionGroupProps, WorktreeSessionRowProps, WorktreeWorkspaceRowProps } from '../types.js';
2
2
  /** Workspace row using the native DSH menu, fixed action column, and drag contract. */
3
3
  export declare function WorktreeWorkspaceRow({ t, workspace, expanded, hasOngoingSession, actionPending, menuOpen, drag, onToggle, onCreateWorktree, onRename, onDelete, onMenuOpenChange, }: WorktreeWorkspaceRowProps): import("react").JSX.Element;
4
4
  /** Shared Main/Worktree group row with parameterized icon, state, and actions. */
5
- export declare function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, hasOngoingSession, icon, workspaceTitle, state, stateLabel, onToggle, onCreateSession, menu, drag, }: WorktreeGroupRowProps): import("react").JSX.Element;
5
+ export declare function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, hasOngoingSession, icon, workspaceTitle, state, stateLabel, repairGuidance, onToggle, onCreateSession, showDashboardAction, menu, drag, }: WorktreeGroupRowProps): import("react").JSX.Element;
6
6
  /** Worktree-mode Session row with the same trailing options menu as native DSH rows. */
7
7
  export declare function WorktreeSessionRow({ t, sessionId, blank, current, label, drag, actionPending, onOpen, onRename, onFork, onArchive, presentation, }: WorktreeSessionRowProps): import("react").JSX.Element;
8
8
  export declare function WorktreeSessionGroup({ t, groupKey, sessionIds, workspaceId, currentSessionId, expanded, actionPending, sessions, sessionPresentations, dragState, onToggleExpanded, onStartDrag, onHoverDrag, onClearDrag, onFinishDrag, onCommitDrag, onOpen, onRename, onFork, onArchive, }: WorktreeSessionGroupProps): import("react").JSX.Element;
9
- //# sourceMappingURL=worktree-surface-rows.d.ts.map
9
+ //# sourceMappingURL=rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/rows.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AA0IrB,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,gBAAgB,GACjB,EAAE,yBAAyB,+BA6H3B;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,IAAI,EACJ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,IAAI,EACJ,cAAc,EACd,KAAK,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,IAAI,EACJ,IAAI,GACL,EAAE,qBAAqB,+BA4VvB;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,EACjC,CAAC,EACD,SAAS,EACT,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,EACT,YAAY,GACb,EAAE,uBAAuB,+BAmJzB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,QAAQ,EACR,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,yBAAyB,+BA6D3B"}