@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 @@
1
+ {"version":3,"file":"path-safety.js","sourceRoot":"","sources":["../../../../src/provider/transaction/support/path-safety.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { RepositoryIdentity } from '../../types.js';
2
+ export declare function isMissing(error: unknown): boolean;
3
+ export declare function pathExists(pathname: string): Promise<boolean>;
4
+ export declare function pathEntryMissing(pathname: string): Promise<boolean>;
5
+ export declare function isDirectory(pathname: string): Promise<boolean>;
6
+ export declare function canonicalPath(pathname: string): Promise<string>;
7
+ export declare function samePhysicalPath(left: string, right: string): Promise<boolean>;
8
+ export declare function sameRepository(left: RepositoryIdentity, right: RepositoryIdentity): boolean;
9
+ export declare function isInside(parent: string, child: string): boolean;
10
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../../src/provider/transaction/support/paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnE;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQzE;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOpE;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOrE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAE3F;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAM/D"}
@@ -0,0 +1,68 @@
1
+ import path from 'node:path';
2
+ import { lstat, realpath, stat } from 'node:fs/promises';
3
+ export function isMissing(error) {
4
+ return error.code === 'ENOENT';
5
+ }
6
+ export async function pathExists(pathname) {
7
+ try {
8
+ await stat(pathname);
9
+ return true;
10
+ }
11
+ catch (error) {
12
+ if (isMissing(error))
13
+ return false;
14
+ throw error;
15
+ }
16
+ }
17
+ export async function pathEntryMissing(pathname) {
18
+ try {
19
+ await lstat(pathname);
20
+ return false;
21
+ }
22
+ catch (error) {
23
+ if (isMissing(error))
24
+ return true;
25
+ throw error;
26
+ }
27
+ }
28
+ export async function isDirectory(pathname) {
29
+ try {
30
+ return (await stat(pathname)).isDirectory();
31
+ }
32
+ catch (error) {
33
+ if (isMissing(error))
34
+ return false;
35
+ throw error;
36
+ }
37
+ }
38
+ export async function canonicalPath(pathname) {
39
+ try {
40
+ return await realpath(pathname);
41
+ }
42
+ catch (error) {
43
+ if (isMissing(error))
44
+ return path.resolve(pathname);
45
+ throw error;
46
+ }
47
+ }
48
+ export async function samePhysicalPath(left, right) {
49
+ if (path.resolve(left) === path.resolve(right))
50
+ return true;
51
+ try {
52
+ return (await realpath(left)) === (await realpath(right));
53
+ }
54
+ catch (error) {
55
+ if (isMissing(error))
56
+ return false;
57
+ throw error;
58
+ }
59
+ }
60
+ export function sameRepository(left, right) {
61
+ return path.resolve(left.commonDirectory) === path.resolve(right.commonDirectory);
62
+ }
63
+ export function isInside(parent, child) {
64
+ const relative = path.relative(path.resolve(parent), path.resolve(child));
65
+ return (relative === '' ||
66
+ (!relative.startsWith(`..${path.sep}`) && relative !== '..' && !path.isAbsolute(relative)));
67
+ }
68
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/provider/transaction/support/paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { WorktreeRecord } from '../../../contract/index.js';
2
+ import type { LockedSidecarStore, PendingOperation, RepositoryIdentity } from '../../types.js';
3
+ import type { TransactionDependencies } from '../dependencies.js';
4
+ export declare function publishCreated(dependencies: Pick<TransactionDependencies, 'git'>, locked: LockedSidecarStore, operationId: string, record: WorktreeRecord, repository: RepositoryIdentity): Promise<void>;
5
+ export declare function publishCleaned(locked: LockedSidecarStore, operationId: string, worktreeId: string, repository: RepositoryIdentity): Promise<void>;
6
+ export declare function publishRemoved(locked: LockedSidecarStore, operationId: string, worktreeId: string, repository: RepositoryIdentity): Promise<void>;
7
+ export declare function clearPending(locked: LockedSidecarStore, operationId: string): Promise<void>;
8
+ export declare function markRecovery(locked: LockedSidecarStore, pending: PendingOperation, code: 'WORKTREE_RECOVERY_REQUIRED' | 'WORKTREE_IDENTITY_CHANGED'): Promise<void>;
9
+ //# sourceMappingURL=publication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication.d.ts","sourceRoot":"","sources":["../../../../src/provider/transaction/support/publication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAI/F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,wBAAsB,cAAc,CAClC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAClD,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAejG;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,4BAA4B,GAAG,2BAA2B,GAC/D,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -0,0 +1,92 @@
1
+ import { createRepositoryFingerprint } from '../../git/repository-fingerprint.js';
2
+ import { completeWorktreeCleanup } from '../../worktree-lifecycle.js';
3
+ import { removeRecoveryIssue, recoveryError } from './journal.js';
4
+ import { findActiveBranchConflict } from './inspection.js';
5
+ export async function publishCreated(dependencies, locked, operationId, record, repository) {
6
+ await locked.mutate(async (snapshot) => {
7
+ const existing = snapshot.worktrees.find((candidate) => candidate.worktreeId === record.worktreeId);
8
+ if (existing && JSON.stringify(existing) !== JSON.stringify(record)) {
9
+ throw recoveryError(`Pending create conflicts with existing Worktree record: ${record.worktreeId}`, {
10
+ worktreeId: record.worktreeId,
11
+ operationId,
12
+ });
13
+ }
14
+ const conflict = await findActiveBranchConflict(dependencies, snapshot, record.branch, repository.topLevel, record.worktreeId);
15
+ if (conflict) {
16
+ throw recoveryError(`Pending create conflicts with active branch: ${record.branch}`, {
17
+ worktreeId: record.worktreeId,
18
+ operationId,
19
+ });
20
+ }
21
+ const recoveryIssues = removeRecoveryIssue(snapshot.recoveryIssues, operationId, record.worktreeId);
22
+ const { repository: _repository, recoveryIssues: _oldRecovery, ...stableFields } = snapshot;
23
+ void _repository;
24
+ void _oldRecovery;
25
+ return {
26
+ result: undefined,
27
+ snapshot: {
28
+ ...stableFields,
29
+ repositoryFingerprint: createRepositoryFingerprint(repository),
30
+ worktrees: existing ? snapshot.worktrees : [record, ...snapshot.worktrees],
31
+ pendingOperation: undefined,
32
+ ...(recoveryIssues.length > 0 ? { recoveryIssues } : {}),
33
+ },
34
+ };
35
+ });
36
+ }
37
+ export async function publishCleaned(locked, operationId, worktreeId, repository) {
38
+ await locked.mutate((snapshot) => {
39
+ const recoveryIssues = removeRecoveryIssue(snapshot.recoveryIssues, operationId, worktreeId);
40
+ const { repository: _repository, recoveryIssues: _oldRecovery, ...stableFields } = snapshot;
41
+ void _repository;
42
+ void _oldRecovery;
43
+ const cleaned = completeWorktreeCleanup({
44
+ ...stableFields,
45
+ repositoryFingerprint: createRepositoryFingerprint(repository),
46
+ pendingOperation: undefined,
47
+ ...(recoveryIssues.length > 0 ? { recoveryIssues } : {}),
48
+ }, worktreeId);
49
+ return {
50
+ result: undefined,
51
+ snapshot: cleaned,
52
+ };
53
+ });
54
+ }
55
+ export async function publishRemoved(locked, operationId, worktreeId, repository) {
56
+ return publishCleaned(locked, operationId, worktreeId, repository);
57
+ }
58
+ export async function clearPending(locked, operationId) {
59
+ await locked.mutate((snapshot) => {
60
+ const recoveryIssues = removeRecoveryIssue(snapshot.recoveryIssues, operationId);
61
+ const { repository: _repository, recoveryIssues: _oldRecovery, ...stableFields } = snapshot;
62
+ void _repository;
63
+ void _oldRecovery;
64
+ return {
65
+ result: undefined,
66
+ snapshot: {
67
+ ...stableFields,
68
+ pendingOperation: undefined,
69
+ ...(recoveryIssues.length > 0 ? { recoveryIssues } : {}),
70
+ },
71
+ };
72
+ });
73
+ }
74
+ export async function markRecovery(locked, pending, code) {
75
+ await locked.mutate((snapshot) => ({
76
+ result: undefined,
77
+ snapshot: {
78
+ ...snapshot,
79
+ pendingOperation: { ...pending, phase: 'recovery-needed' },
80
+ recoveryIssues: [
81
+ ...(snapshot.recoveryIssues ?? []).filter((issue) => issue.operationId !== pending.id),
82
+ {
83
+ code,
84
+ operationId: pending.id,
85
+ worktreeId: pending.worktreeId,
86
+ observedAt: new Date().toISOString(),
87
+ },
88
+ ],
89
+ },
90
+ }));
91
+ }
92
+ //# sourceMappingURL=publication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication.js","sourceRoot":"","sources":["../../../../src/provider/transaction/support/publication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { GitWorktreeAdapter, SidecarStore } from '../types.js';
2
+ export interface CreateWorktreeTransactionInput {
3
+ readonly workspaceId: string;
4
+ readonly workspaceRoot: string;
5
+ readonly targetPath: string;
6
+ readonly worktreeId: string;
7
+ readonly baseBranch: string;
8
+ readonly newBranch?: string;
9
+ readonly targetBranch: string;
10
+ }
11
+ export interface RemoveWorktreeTransactionInput {
12
+ readonly workspaceId: string;
13
+ readonly workspaceRoot: string;
14
+ readonly worktreeId: string;
15
+ readonly mutationToken: string;
16
+ }
17
+ export interface CleanWorktreeTransactionInput {
18
+ readonly workspaceId: string;
19
+ readonly workspaceRoot: string;
20
+ readonly worktreeId: string;
21
+ readonly mutationToken: string;
22
+ }
23
+ export interface ImportWorktreeTransactionInput {
24
+ readonly workspaceId: string;
25
+ readonly workspaceRoot: string;
26
+ readonly absolutePath: string;
27
+ readonly worktreeId: string;
28
+ }
29
+ export interface RecoverWorktreesInput {
30
+ readonly workspaceId: string;
31
+ readonly workspaceRoot: string;
32
+ }
33
+ export interface WorktreeMutationTransactionOptions {
34
+ readonly dshHome: string;
35
+ readonly git: GitWorktreeAdapter;
36
+ readonly sidecar: SidecarStore;
37
+ }
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/provider/transaction/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAChC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/provider/transaction/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import type { SessionBinding, WorktreeErrorCode, WorktreeErrorDetails, WorktreeId, WorktreeRecord, WorkspaceId } from '../contract/index.js';
1
+ import type { SessionBinding, WorktreeActivity, WorktreeErrorCode, WorktreeErrorDetails, WorktreeId, WorktreeRecord, WorkspaceId } from '../contract/index.js';
2
2
  import type { SubprocessRuntime } from '@deepseek-ai/dsh-subprocess';
3
3
  /**
4
4
  * 当前 sidecar 磁盘格式的唯一受支持版本;未知版本会被视为损坏,而不是被静默猜测或迁移。
@@ -6,7 +6,7 @@ import type { SubprocessRuntime } from '@deepseek-ai/dsh-subprocess';
6
6
  * corruption rather than guessed or silently migrated.
7
7
  */
8
8
  export declare const LEGACY_SIDECAR_SCHEMA_VERSION: 1;
9
- export declare const SIDECAR_SCHEMA_VERSION: 3;
9
+ export declare const SIDECAR_SCHEMA_VERSION: 4;
10
10
  export interface RepositoryIdentity {
11
11
  readonly topLevel: string;
12
12
  readonly commonDirectory: string;
@@ -41,7 +41,21 @@ export interface RemoveWorktreePendingOperation {
41
41
  readonly repository?: RepositoryIdentity;
42
42
  readonly startedAt: string;
43
43
  }
44
- export type PendingOperation = CreateWorktreePendingOperation | RemoveWorktreePendingOperation;
44
+ export interface CleanWorktreePendingOperation {
45
+ readonly id: string;
46
+ readonly type: 'clean-worktree';
47
+ readonly phase: PendingOperationPhase;
48
+ readonly workspaceId: WorkspaceId;
49
+ readonly worktreeId: WorktreeId;
50
+ readonly targetPath: string;
51
+ readonly branch: string;
52
+ readonly source: 'plugin' | 'external';
53
+ readonly repositoryFingerprint: string;
54
+ /** Legacy journal field accepted on read and removed on the next stable write. */
55
+ readonly repository?: RepositoryIdentity;
56
+ readonly startedAt: string;
57
+ }
58
+ export type PendingOperation = CreateWorktreePendingOperation | RemoveWorktreePendingOperation | CleanWorktreePendingOperation;
45
59
  export interface RecoveryIssue {
46
60
  readonly code: 'WORKTREE_RECOVERY_REQUIRED' | 'WORKTREE_IDENTITY_CHANGED';
47
61
  readonly worktreeId?: WorktreeId;
@@ -80,6 +94,8 @@ export interface DshReadAdapter {
80
94
  listWorkspaces?(): Promise<readonly DshWorkspaceSummary[]>;
81
95
  getSession(sessionId: string): Promise<DshSessionSummary | undefined>;
82
96
  listSessions(): Promise<readonly DshSessionSummary[]>;
97
+ /** Optional read-only Session/subagent activity check. */
98
+ readWorktreeActivity?(sessionIds: readonly string[]): Promise<WorktreeActivity>;
83
99
  }
84
100
  /**
85
101
  * `git worktree list --porcelain` 的最小投影;detached HEAD 等条目可以没有本地 branch。
@@ -87,6 +103,9 @@ export interface DshReadAdapter {
87
103
  * detached HEAD may have no local branch.
88
104
  */
89
105
  export interface GitWorktreeInfo {
106
+ readonly prunable?: boolean;
107
+ readonly locked?: boolean;
108
+ readonly bare?: boolean;
90
109
  readonly absolutePath: string;
91
110
  readonly branch?: string;
92
111
  readonly headCommit?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAG,CAAU,CAAC;AACxD,eAAO,MAAM,sBAAsB,EAAG,CAAU,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,WAAW,GACX,WAAW,GACX,iBAAiB,CAAC;AAEtB,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GACxB,8BAA8B,GAC9B,8BAA8B,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,4BAA4B,GAAG,2BAA2B,CAAC;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IACjF,oEAAoE;IACpE,cAAc,CAAC,IAAI,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;IAC3D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IACtE,YAAY,IAAI,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;CACvD;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC;AAE1F;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5F,oFAAoF;IACpF,yBAAyB,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACjH;;;OAGG;IACH,6BAA6B,CAAC,CAC5B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAAC;IAC7C,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC7F,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IACvG,cAAc,CACZ,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvG;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,sBAAsB,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,CAAC,CAAC,EACN,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACxF,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,oBAAoB,CAClB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,gBAAgB,CAAC,EAAE,UAAU,GAC5B,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAClC;;;;OAIG;IACH,YAAY,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACjC,MAAM,CAAC,CAAC,EACN,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACxF,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;gBAE3B,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;IAOxF;;;;OAIG;IACH,MAAM,IAAI;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE;CAGtF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,qBAAqB,CAEvB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAEtF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * corruption rather than guessed or silently migrated.
5
5
  */
6
6
  export const LEGACY_SIDECAR_SCHEMA_VERSION = 1;
7
- export const SIDECAR_SCHEMA_VERSION = 3;
7
+ export const SIDECAR_SCHEMA_VERSION = 4;
8
8
  /**
9
9
  * Provider/Manage 边界使用的结构化错误;稳定 code 供调用方分支,details 保留诊断上下文。
10
10
  * Structured error used across the Provider/Manage boundary; callers branch on
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAU,CAAC;AAwOjD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,CAAoB;IACxB,OAAO,CAAuB;IAEvC,YAAY,IAAuB,EAAE,OAAe,EAAE,UAAgC,EAAE;QACtF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuB,EACvB,OAAe,EACf,UAAgC,EAAE;IAElC,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,KAAK,YAAY,qBAAqB,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAU,CAAC;AA6PjD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,CAAoB;IACxB,OAAO,CAAuB;IAEvC,YAAY,IAAuB,EAAE,OAAe,EAAE,UAAgC,EAAE;QACtF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuB,EACvB,OAAe,EACf,UAAgC,EAAE;IAElC,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,KAAK,YAAY,qBAAqB,CAAC;AAChD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { SidecarSnapshot } from './types.js';
2
+ /**
3
+ * Archive a Worktree record in place: change status to 'removed', preserving
4
+ * its physical directory, active Session bindings, and runtime cwd.
5
+ */
6
+ export declare function archiveWorktreeSnapshot(snapshot: SidecarSnapshot, worktreeId: string): SidecarSnapshot;
7
+ /**
8
+ * Unarchive a Worktree record in place: change status back to 'active'.
9
+ */
10
+ export declare function unarchiveWorktreeSnapshot(snapshot: SidecarSnapshot, worktreeId: string): SidecarSnapshot;
11
+ /**
12
+ * Mark a Worktree record as cleaned and detach any remaining active bindings.
13
+ */
14
+ export declare function completeWorktreeCleanup(snapshot: SidecarSnapshot, worktreeId: string): SidecarSnapshot;
15
+ /**
16
+ * Remove a Worktree record and all its Session bindings completely from sidecar management.
17
+ */
18
+ export declare function forgetWorktreeSnapshot(snapshot: SidecarSnapshot, worktreeId: string): SidecarSnapshot;
19
+ //# sourceMappingURL=worktree-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-lifecycle.d.ts","sourceRoot":"","sources":["../../src/provider/worktree-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,GACjB,eAAe,CAOjB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,GACjB,eAAe,CAOjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,GACjB,eAAe,CAcjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,GACjB,eAAe,CAMjB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Archive a Worktree record in place: change status to 'removed', preserving
3
+ * its physical directory, active Session bindings, and runtime cwd.
4
+ */
5
+ export function archiveWorktreeSnapshot(snapshot, worktreeId) {
6
+ return {
7
+ ...snapshot,
8
+ worktrees: snapshot.worktrees.map((record) => record.worktreeId === worktreeId ? { ...record, status: 'removed' } : record),
9
+ };
10
+ }
11
+ /**
12
+ * Unarchive a Worktree record in place: change status back to 'active'.
13
+ */
14
+ export function unarchiveWorktreeSnapshot(snapshot, worktreeId) {
15
+ return {
16
+ ...snapshot,
17
+ worktrees: snapshot.worktrees.map((record) => record.worktreeId === worktreeId ? { ...record, status: 'active' } : record),
18
+ };
19
+ }
20
+ /**
21
+ * Mark a Worktree record as cleaned and detach any remaining active bindings.
22
+ */
23
+ export function completeWorktreeCleanup(snapshot, worktreeId) {
24
+ return {
25
+ ...snapshot,
26
+ worktrees: snapshot.worktrees.map((record) => record.worktreeId === worktreeId
27
+ ? { ...record, status: 'removed', diskCleanup: 'completed' }
28
+ : record),
29
+ bindings: snapshot.bindings.map((binding) => binding.worktreeId === worktreeId && binding.status === 'active'
30
+ ? { ...binding, status: 'detached' }
31
+ : binding),
32
+ };
33
+ }
34
+ /**
35
+ * Remove a Worktree record and all its Session bindings completely from sidecar management.
36
+ */
37
+ export function forgetWorktreeSnapshot(snapshot, worktreeId) {
38
+ return {
39
+ ...snapshot,
40
+ worktrees: snapshot.worktrees.filter((record) => record.worktreeId !== worktreeId),
41
+ bindings: snapshot.bindings.filter((binding) => binding.worktreeId !== worktreeId),
42
+ };
43
+ }
44
+ //# sourceMappingURL=worktree-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-lifecycle.js","sourceRoot":"","sources":["../../src/provider/worktree-lifecycle.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAyB,EACzB,UAAkB;IAElB,OAAO;QACL,GAAG,QAAQ;QACX,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,MAAM,CACtF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAyB,EACzB,UAAkB;IAElB,OAAO;QACL,GAAG,QAAQ;QACX,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,MAAM,CACrF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAyB,EACzB,UAAkB;IAElB,OAAO;QACL,GAAG,QAAQ;QACX,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,MAAM,CAAC,UAAU,KAAK,UAAU;YAC9B,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAkB,EAAE,WAAW,EAAE,WAAoB,EAAE;YAC9E,CAAC,CAAC,MAAM,CACX;QACD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,OAAO,CAAC,UAAU,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAC9D,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,UAAmB,EAAE;YAC7C,CAAC,CAAC,OAAO,CACZ;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAyB,EACzB,UAAkB;IAElB,OAAO;QACL,GAAG,QAAQ;QACX,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC;QAClF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC;KACnF,CAAC;AACJ,CAAC"}