@cerbur/clutch-dsh-worktree 0.1.9 → 0.1.10

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 (501) hide show
  1. package/README.md +99 -23
  2. package/README.zh.md +75 -19
  3. package/lib/client/WorktreeSurface.d.ts +4 -7
  4. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  5. package/lib/client/WorktreeSurface.js +44 -1419
  6. package/lib/client/WorktreeSurface.js.map +1 -1
  7. package/lib/client/{WorktreeContext.d.ts → context/WorktreeContext.d.ts} +1 -1
  8. package/lib/client/context/WorktreeContext.d.ts.map +1 -0
  9. package/lib/client/context/WorktreeContext.js.map +1 -0
  10. package/lib/client/{WorktreeHeroContext.d.ts → context/WorktreeHeroContext.d.ts} +1 -1
  11. package/lib/client/context/WorktreeHeroContext.d.ts.map +1 -0
  12. package/lib/client/context/WorktreeHeroContext.js.map +1 -0
  13. package/lib/client/{worktree-context-store.d.ts → context/worktree-context-store.d.ts} +1 -1
  14. package/lib/client/context/worktree-context-store.d.ts.map +1 -0
  15. package/lib/client/{worktree-context-store.js → context/worktree-context-store.js} +2 -2
  16. package/lib/client/context/worktree-context-store.js.map +1 -0
  17. package/lib/client/{worktree-context.d.ts → context/worktree-context.d.ts} +1 -1
  18. package/lib/client/context/worktree-context.d.ts.map +1 -0
  19. package/lib/client/{worktree-context.js → context/worktree-context.js} +5 -3
  20. package/lib/client/context/worktree-context.js.map +1 -0
  21. package/lib/client/entry.d.ts +1 -1
  22. package/lib/client/entry.d.ts.map +1 -1
  23. package/lib/client/entry.js +25 -13
  24. package/lib/client/entry.js.map +1 -1
  25. package/lib/client/index.d.ts +3 -3
  26. package/lib/client/index.d.ts.map +1 -1
  27. package/lib/client/index.js +2 -2
  28. package/lib/client/index.js.map +1 -1
  29. package/lib/client/locales.d.ts +66 -0
  30. package/lib/client/locales.d.ts.map +1 -1
  31. package/lib/client/locales.js +76 -10
  32. package/lib/client/locales.js.map +1 -1
  33. package/lib/client/{WorktreeOverlay.d.ts → overlay/WorktreeOverlay.d.ts} +2 -2
  34. package/lib/client/overlay/WorktreeOverlay.d.ts.map +1 -0
  35. package/lib/client/{WorktreeOverlay.js → overlay/WorktreeOverlay.js} +2 -2
  36. package/lib/client/overlay/WorktreeOverlay.js.map +1 -0
  37. package/lib/client/overlay/overlay-bounds.d.ts.map +1 -0
  38. package/lib/client/overlay/overlay-bounds.js.map +1 -0
  39. package/lib/client/overlay/sidebar-overlay-geometry.d.ts.map +1 -0
  40. package/lib/client/overlay/sidebar-overlay-geometry.js.map +1 -0
  41. package/lib/client/permission/worktree-permission-icon.d.ts.map +1 -0
  42. package/lib/client/permission/worktree-permission-icon.js.map +1 -0
  43. package/lib/client/permission/worktree-permission.d.ts.map +1 -0
  44. package/lib/client/permission/worktree-permission.js.map +1 -0
  45. package/lib/client/session/session-view.d.ts.map +1 -0
  46. package/lib/client/session/session-view.js.map +1 -0
  47. package/lib/client/{virtual-workspace-membership.d.ts → session/virtual-workspace-membership.d.ts} +1 -1
  48. package/lib/client/session/virtual-workspace-membership.d.ts.map +1 -0
  49. package/lib/client/{virtual-workspace-membership.js → session/virtual-workspace-membership.js} +1 -1
  50. package/lib/client/session/virtual-workspace-membership.js.map +1 -0
  51. package/lib/client/{worktree-session-fork.d.ts → session/worktree-session-fork.d.ts} +7 -1
  52. package/lib/client/session/worktree-session-fork.d.ts.map +1 -0
  53. package/lib/client/{worktree-session-fork.js → session/worktree-session-fork.js} +50 -4
  54. package/lib/client/session/worktree-session-fork.js.map +1 -0
  55. package/lib/client/session/worktree-session-order.d.ts.map +1 -0
  56. package/lib/client/session/worktree-session-order.js.map +1 -0
  57. package/lib/client/session/worktree-session-position.d.ts.map +1 -0
  58. package/lib/client/session/worktree-session-position.js.map +1 -0
  59. package/lib/client/{worktree-session.d.ts → session/worktree-session.d.ts} +3 -3
  60. package/lib/client/session/worktree-session.d.ts.map +1 -0
  61. package/lib/client/{worktree-session.js → session/worktree-session.js} +3 -3
  62. package/lib/client/session/worktree-session.js.map +1 -0
  63. package/lib/client/surface/actions/lifecycle-commands.d.ts +9 -0
  64. package/lib/client/surface/actions/lifecycle-commands.d.ts.map +1 -0
  65. package/lib/client/surface/actions/lifecycle-commands.js +243 -0
  66. package/lib/client/surface/actions/lifecycle-commands.js.map +1 -0
  67. package/lib/client/surface/actions/useDragActions.d.ts +26 -0
  68. package/lib/client/surface/actions/useDragActions.d.ts.map +1 -0
  69. package/lib/client/surface/actions/useDragActions.js +125 -0
  70. package/lib/client/surface/actions/useDragActions.js.map +1 -0
  71. package/lib/client/surface/actions/useLifecycleActions.d.ts +30 -0
  72. package/lib/client/surface/actions/useLifecycleActions.d.ts.map +1 -0
  73. package/lib/client/surface/actions/useLifecycleActions.js +140 -0
  74. package/lib/client/surface/actions/useLifecycleActions.js.map +1 -0
  75. package/lib/client/surface/actions/useNativeActions.d.ts +48 -0
  76. package/lib/client/surface/actions/useNativeActions.d.ts.map +1 -0
  77. package/lib/client/surface/actions/useNativeActions.js +182 -0
  78. package/lib/client/surface/actions/useNativeActions.js.map +1 -0
  79. package/lib/client/surface/actions/useSessionActions.d.ts +24 -0
  80. package/lib/client/surface/actions/useSessionActions.d.ts.map +1 -0
  81. package/lib/client/surface/actions/useSessionActions.js +116 -0
  82. package/lib/client/surface/actions/useSessionActions.js.map +1 -0
  83. package/lib/client/surface/actions/useSurfaceMutation.d.ts +15 -0
  84. package/lib/client/surface/actions/useSurfaceMutation.d.ts.map +1 -0
  85. package/lib/client/surface/actions/useSurfaceMutation.js +24 -0
  86. package/lib/client/surface/actions/useSurfaceMutation.js.map +1 -0
  87. package/lib/client/surface/actions/useWorktreeRegistration.d.ts +31 -0
  88. package/lib/client/surface/actions/useWorktreeRegistration.d.ts.map +1 -0
  89. package/lib/client/surface/actions/useWorktreeRegistration.js +203 -0
  90. package/lib/client/surface/actions/useWorktreeRegistration.js.map +1 -0
  91. package/lib/client/surface/actions/worktree-cleanup-flow.d.ts +10 -0
  92. package/lib/client/surface/actions/worktree-cleanup-flow.d.ts.map +1 -0
  93. package/lib/client/surface/actions/worktree-cleanup-flow.js +19 -0
  94. package/lib/client/surface/actions/worktree-cleanup-flow.js.map +1 -0
  95. package/lib/client/surface/components/AccessConfirmation.d.ts +9 -0
  96. package/lib/client/surface/components/AccessConfirmation.d.ts.map +1 -0
  97. package/lib/client/surface/components/AccessConfirmation.js +18 -0
  98. package/lib/client/surface/components/AccessConfirmation.js.map +1 -0
  99. package/lib/client/surface/components/ActiveWorktree.d.ts +28 -0
  100. package/lib/client/surface/components/ActiveWorktree.d.ts.map +1 -0
  101. package/lib/client/surface/components/ActiveWorktree.js +154 -0
  102. package/lib/client/surface/components/ActiveWorktree.js.map +1 -0
  103. package/lib/client/surface/components/ArchivedWorktree.d.ts +24 -0
  104. package/lib/client/surface/components/ArchivedWorktree.d.ts.map +1 -0
  105. package/lib/client/surface/components/ArchivedWorktree.js +145 -0
  106. package/lib/client/surface/components/ArchivedWorktree.js.map +1 -0
  107. package/lib/client/surface/components/ArchivedWorktrees.d.ts +25 -0
  108. package/lib/client/surface/components/ArchivedWorktrees.d.ts.map +1 -0
  109. package/lib/client/surface/components/ArchivedWorktrees.js +20 -0
  110. package/lib/client/surface/components/ArchivedWorktrees.js.map +1 -0
  111. package/lib/client/surface/components/LifecycleDialogs.d.ts +20 -0
  112. package/lib/client/surface/components/LifecycleDialogs.d.ts.map +1 -0
  113. package/lib/client/surface/components/LifecycleDialogs.js +31 -0
  114. package/lib/client/surface/components/LifecycleDialogs.js.map +1 -0
  115. package/lib/client/surface/components/NativeDialogs.d.ts +9 -0
  116. package/lib/client/surface/components/NativeDialogs.d.ts.map +1 -0
  117. package/lib/client/surface/components/NativeDialogs.js +14 -0
  118. package/lib/client/surface/components/NativeDialogs.js.map +1 -0
  119. package/lib/client/surface/components/NotificationToasts.d.ts +7 -0
  120. package/lib/client/surface/components/NotificationToasts.d.ts.map +1 -0
  121. package/lib/client/surface/components/NotificationToasts.js +24 -0
  122. package/lib/client/surface/components/NotificationToasts.js.map +1 -0
  123. package/lib/client/surface/components/RegistrationDialog.d.ts +15 -0
  124. package/lib/client/surface/components/RegistrationDialog.d.ts.map +1 -0
  125. package/lib/client/surface/components/RegistrationDialog.js +22 -0
  126. package/lib/client/surface/components/RegistrationDialog.js.map +1 -0
  127. package/lib/client/surface/components/SurfaceContent.d.ts +31 -0
  128. package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -0
  129. package/lib/client/surface/components/SurfaceContent.js +65 -0
  130. package/lib/client/surface/components/SurfaceContent.js.map +1 -0
  131. package/lib/client/surface/components/SurfaceHeader.d.ts +15 -0
  132. package/lib/client/surface/components/SurfaceHeader.d.ts.map +1 -0
  133. package/lib/client/surface/components/SurfaceHeader.js +42 -0
  134. package/lib/client/surface/components/SurfaceHeader.js.map +1 -0
  135. package/lib/client/surface/components/WorkspaceTree.d.ts +32 -0
  136. package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -0
  137. package/lib/client/surface/components/WorkspaceTree.js +145 -0
  138. package/lib/client/surface/components/WorkspaceTree.js.map +1 -0
  139. package/lib/client/{worktree-surface-dialogs.d.ts → surface/components/dialogs.d.ts} +5 -2
  140. package/lib/client/surface/components/dialogs.d.ts.map +1 -0
  141. package/lib/client/{worktree-surface-dialogs.js → surface/components/dialogs.js} +67 -24
  142. package/lib/client/surface/components/dialogs.js.map +1 -0
  143. package/lib/client/{worktree-surface-rows.d.ts → surface/components/rows.d.ts} +3 -3
  144. package/lib/client/surface/components/rows.d.ts.map +1 -0
  145. package/lib/client/{worktree-surface-rows.js → surface/components/rows.js} +79 -17
  146. package/lib/client/surface/components/rows.js.map +1 -0
  147. package/lib/client/surface/notification-queue.d.ts +11 -0
  148. package/lib/client/surface/notification-queue.d.ts.map +1 -0
  149. package/lib/client/surface/notification-queue.js +19 -0
  150. package/lib/client/surface/notification-queue.js.map +1 -0
  151. package/lib/client/{worktree-surface-selectors.d.ts → surface/selectors.d.ts} +10 -5
  152. package/lib/client/surface/selectors.d.ts.map +1 -0
  153. package/lib/client/{worktree-surface-selectors.js → surface/selectors.js} +23 -6
  154. package/lib/client/surface/selectors.js.map +1 -0
  155. package/lib/client/surface/shared.d.ts +40 -0
  156. package/lib/client/surface/shared.d.ts.map +1 -0
  157. package/lib/client/surface/shared.js +53 -0
  158. package/lib/client/surface/shared.js.map +1 -0
  159. package/lib/client/surface/state/useLifecycleState.d.ts +34 -0
  160. package/lib/client/surface/state/useLifecycleState.d.ts.map +1 -0
  161. package/lib/client/surface/state/useLifecycleState.js +39 -0
  162. package/lib/client/surface/state/useLifecycleState.js.map +1 -0
  163. package/lib/client/surface/state/useRegistrationState.d.ts +34 -0
  164. package/lib/client/surface/state/useRegistrationState.d.ts.map +1 -0
  165. package/lib/client/surface/state/useRegistrationState.js +44 -0
  166. package/lib/client/surface/state/useRegistrationState.js.map +1 -0
  167. package/lib/client/surface/state/useSessionExpansion.d.ts +39 -0
  168. package/lib/client/surface/state/useSessionExpansion.d.ts.map +1 -0
  169. package/lib/client/surface/state/useSessionExpansion.js +230 -0
  170. package/lib/client/surface/state/useSessionExpansion.js.map +1 -0
  171. package/lib/client/surface/state/useSessionOrdering.d.ts +15 -0
  172. package/lib/client/surface/state/useSessionOrdering.d.ts.map +1 -0
  173. package/lib/client/surface/state/useSessionOrdering.js +68 -0
  174. package/lib/client/surface/state/useSessionOrdering.js.map +1 -0
  175. package/lib/client/surface/state/useSurfaceMenus.d.ts +9 -0
  176. package/lib/client/surface/state/useSurfaceMenus.d.ts.map +1 -0
  177. package/lib/client/surface/state/useSurfaceMenus.js +15 -0
  178. package/lib/client/surface/state/useSurfaceMenus.js.map +1 -0
  179. package/lib/client/surface/state/useSurfaceRefresh.d.ts +39 -0
  180. package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -0
  181. package/lib/client/surface/state/useSurfaceRefresh.js +274 -0
  182. package/lib/client/surface/state/useSurfaceRefresh.js.map +1 -0
  183. package/lib/client/surface/state/useSurfaceSources.d.ts +31 -0
  184. package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -0
  185. package/lib/client/surface/state/useSurfaceSources.js +63 -0
  186. package/lib/client/surface/state/useSurfaceSources.js.map +1 -0
  187. package/lib/client/{worktree-surface-types.d.ts → surface/types.d.ts} +50 -13
  188. package/lib/client/surface/types.d.ts.map +1 -0
  189. package/lib/client/surface/types.js +2 -0
  190. package/lib/client/surface/types.js.map +1 -0
  191. package/lib/client/{WorktreeModeAction.d.ts → view/WorktreeModeAction.d.ts} +1 -1
  192. package/lib/client/view/WorktreeModeAction.d.ts.map +1 -0
  193. package/lib/client/{WorktreeModeAction.js → view/WorktreeModeAction.js} +1 -1
  194. package/lib/client/view/WorktreeModeAction.js.map +1 -0
  195. package/lib/client/view/navigation.d.ts.map +1 -0
  196. package/lib/client/view/navigation.js.map +1 -0
  197. package/lib/client/view/view-mode-store.d.ts.map +1 -0
  198. package/lib/client/view/view-mode-store.js.map +1 -0
  199. package/lib/client/view/view-mode.d.ts.map +1 -0
  200. package/lib/client/view/view-mode.js.map +1 -0
  201. package/lib/client/{worktree-error-copy.d.ts → view/worktree-error-copy.d.ts} +2 -2
  202. package/lib/client/view/worktree-error-copy.d.ts.map +1 -0
  203. package/lib/client/view/worktree-error-copy.js.map +1 -0
  204. package/lib/client/{worktree-expand-state.d.ts → view/worktree-expand-state.d.ts} +1 -0
  205. package/lib/client/view/worktree-expand-state.d.ts.map +1 -0
  206. package/lib/client/{worktree-expand-state.js → view/worktree-expand-state.js} +11 -0
  207. package/lib/client/view/worktree-expand-state.js.map +1 -0
  208. package/lib/client/{worktree-view-actions.d.ts → view/worktree-view-actions.d.ts} +11 -5
  209. package/lib/client/view/worktree-view-actions.d.ts.map +1 -0
  210. package/lib/client/{worktree-view-actions.js → view/worktree-view-actions.js} +13 -11
  211. package/lib/client/view/worktree-view-actions.js.map +1 -0
  212. package/lib/client/view/worktree-view-errors.d.ts.map +1 -0
  213. package/lib/client/view/worktree-view-errors.js.map +1 -0
  214. package/lib/client/{worktree-view-read.d.ts → view/worktree-view-read.d.ts} +4 -2
  215. package/lib/client/view/worktree-view-read.d.ts.map +1 -0
  216. package/lib/client/{worktree-view-read.js → view/worktree-view-read.js} +4 -1
  217. package/lib/client/view/worktree-view-read.js.map +1 -0
  218. package/lib/client/view/worktree-view.d.ts.map +1 -0
  219. package/lib/client/view/worktree-view.js.map +1 -0
  220. package/lib/client/worktree-connection.d.ts +5 -0
  221. package/lib/client/worktree-connection.d.ts.map +1 -1
  222. package/lib/client/worktree-connection.js +16 -0
  223. package/lib/client/worktree-connection.js.map +1 -1
  224. package/lib/client.js +4295 -2634
  225. package/lib/client.js.map +1 -1
  226. package/lib/contract/index.contract.js +10 -0
  227. package/lib/contract/index.contract.js.map +1 -1
  228. package/lib/contract/index.d.ts +46 -3
  229. package/lib/contract/index.d.ts.map +1 -1
  230. package/lib/contract/index.js +7 -0
  231. package/lib/contract/index.js.map +1 -1
  232. package/lib/host/dsh-read-adapter.d.ts +10 -1
  233. package/lib/host/dsh-read-adapter.d.ts.map +1 -1
  234. package/lib/host/dsh-read-adapter.js +18 -1
  235. package/lib/host/dsh-read-adapter.js.map +1 -1
  236. package/lib/host/remote.d.ts.map +1 -1
  237. package/lib/host/remote.js +14 -0
  238. package/lib/host/remote.js.map +1 -1
  239. package/lib/host/service.d.ts +24 -0
  240. package/lib/host/service.d.ts.map +1 -1
  241. package/lib/host/service.js +39 -1
  242. package/lib/host/service.js.map +1 -1
  243. package/lib/host/worktree-activity.d.ts +13 -0
  244. package/lib/host/worktree-activity.d.ts.map +1 -0
  245. package/lib/host/worktree-activity.js +23 -0
  246. package/lib/host/worktree-activity.js.map +1 -0
  247. package/lib/host/worktree-permission-manager.js +2 -2
  248. package/lib/host/worktree-permission-manager.js.map +1 -1
  249. package/lib/index.d.ts +3 -3
  250. package/lib/index.d.ts.map +1 -1
  251. package/lib/index.js +2 -2
  252. package/lib/index.js.map +1 -1
  253. package/lib/manage/manager-context.d.ts +2 -1
  254. package/lib/manage/manager-context.d.ts.map +1 -1
  255. package/lib/manage/manager-sessions.js +4 -4
  256. package/lib/manage/manager-sessions.js.map +1 -1
  257. package/lib/manage/manager-worktree-lifecycle.d.ts +23 -0
  258. package/lib/manage/manager-worktree-lifecycle.d.ts.map +1 -0
  259. package/lib/manage/manager-worktree-lifecycle.js +165 -0
  260. package/lib/manage/manager-worktree-lifecycle.js.map +1 -0
  261. package/lib/manage/manager-worktrees.d.ts +1 -6
  262. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  263. package/lib/manage/manager-worktrees.js +78 -112
  264. package/lib/manage/manager-worktrees.js.map +1 -1
  265. package/lib/manage/manager.d.ts +17 -1
  266. package/lib/manage/manager.d.ts.map +1 -1
  267. package/lib/manage/manager.js +23 -6
  268. package/lib/manage/manager.js.map +1 -1
  269. package/lib/provider/generated-name.d.ts +8 -0
  270. package/lib/provider/generated-name.d.ts.map +1 -0
  271. package/lib/provider/generated-name.js +29 -0
  272. package/lib/provider/generated-name.js.map +1 -0
  273. package/lib/provider/{git.d.ts → git/adapter.d.ts} +2 -2
  274. package/lib/provider/git/adapter.d.ts.map +1 -0
  275. package/lib/provider/{git.js → git/adapter.js} +11 -2
  276. package/lib/provider/git/adapter.js.map +1 -0
  277. package/lib/provider/{repository-fingerprint.d.ts → git/repository-fingerprint.d.ts} +1 -1
  278. package/lib/provider/git/repository-fingerprint.d.ts.map +1 -0
  279. package/lib/provider/git/repository-fingerprint.js.map +1 -0
  280. package/lib/provider/{subprocess.d.ts → git/subprocess.d.ts} +1 -1
  281. package/lib/provider/git/subprocess.d.ts.map +1 -0
  282. package/lib/provider/git/subprocess.js.map +1 -0
  283. package/lib/provider/git/worktree-status.d.ts +5 -0
  284. package/lib/provider/git/worktree-status.d.ts.map +1 -0
  285. package/lib/provider/git/worktree-status.js +23 -0
  286. package/lib/provider/git/worktree-status.js.map +1 -0
  287. package/lib/provider/index.d.ts +5 -5
  288. package/lib/provider/index.d.ts.map +1 -1
  289. package/lib/provider/index.js +5 -5
  290. package/lib/provider/index.js.map +1 -1
  291. package/lib/provider/mutation-token.d.ts +1 -1
  292. package/lib/provider/mutation-token.d.ts.map +1 -1
  293. package/lib/provider/mutation-token.js +1 -0
  294. package/lib/provider/mutation-token.js.map +1 -1
  295. package/lib/provider/sidecar/mutation-lock.d.ts.map +1 -0
  296. package/lib/provider/{mutation-lock.js → sidecar/mutation-lock.js} +1 -1
  297. package/lib/provider/sidecar/mutation-lock.js.map +1 -0
  298. package/lib/provider/{sidecar.d.ts → sidecar/repository.d.ts} +3 -3
  299. package/lib/provider/sidecar/repository.d.ts.map +1 -0
  300. package/lib/provider/{sidecar.js → sidecar/repository.js} +12 -5
  301. package/lib/provider/sidecar/repository.js.map +1 -0
  302. package/lib/provider/{sidecar-persistence.d.ts → sidecar/sidecar-persistence.d.ts} +1 -1
  303. package/lib/provider/sidecar/sidecar-persistence.d.ts.map +1 -0
  304. package/lib/provider/{sidecar-persistence.js → sidecar/sidecar-persistence.js} +29 -2
  305. package/lib/provider/sidecar/sidecar-persistence.js.map +1 -0
  306. package/lib/provider/{sidecar-schema.d.ts → sidecar/sidecar-schema.d.ts} +1 -1
  307. package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -0
  308. package/lib/provider/{sidecar-schema.js → sidecar/sidecar-schema.js} +52 -16
  309. package/lib/provider/sidecar/sidecar-schema.js.map +1 -0
  310. package/lib/provider/transaction/dependencies.d.ts +10 -0
  311. package/lib/provider/transaction/dependencies.d.ts.map +1 -0
  312. package/lib/provider/transaction/dependencies.js +2 -0
  313. package/lib/provider/transaction/dependencies.js.map +1 -0
  314. package/lib/provider/transaction/index.d.ts +17 -0
  315. package/lib/provider/transaction/index.d.ts.map +1 -0
  316. package/lib/provider/transaction/index.js +44 -0
  317. package/lib/provider/transaction/index.js.map +1 -0
  318. package/lib/provider/transaction/operations/adopt-branch.d.ts +6 -0
  319. package/lib/provider/transaction/operations/adopt-branch.d.ts.map +1 -0
  320. package/lib/provider/transaction/operations/adopt-branch.js +59 -0
  321. package/lib/provider/transaction/operations/adopt-branch.js.map +1 -0
  322. package/lib/provider/transaction/operations/clean.d.ts +4 -0
  323. package/lib/provider/transaction/operations/clean.d.ts.map +1 -0
  324. package/lib/provider/transaction/operations/clean.js +168 -0
  325. package/lib/provider/transaction/operations/clean.js.map +1 -0
  326. package/lib/provider/transaction/operations/create.d.ts +5 -0
  327. package/lib/provider/transaction/operations/create.d.ts.map +1 -0
  328. package/lib/provider/transaction/operations/create.js +136 -0
  329. package/lib/provider/transaction/operations/create.js.map +1 -0
  330. package/lib/provider/transaction/operations/import.d.ts +5 -0
  331. package/lib/provider/transaction/operations/import.d.ts.map +1 -0
  332. package/lib/provider/transaction/operations/import.js +92 -0
  333. package/lib/provider/transaction/operations/import.js.map +1 -0
  334. package/lib/provider/transaction/operations/remove.d.ts +4 -0
  335. package/lib/provider/transaction/operations/remove.d.ts.map +1 -0
  336. package/lib/provider/transaction/operations/remove.js +164 -0
  337. package/lib/provider/transaction/operations/remove.js.map +1 -0
  338. package/lib/provider/transaction/recovery/failure-recovery.d.ts +32 -0
  339. package/lib/provider/transaction/recovery/failure-recovery.d.ts.map +1 -0
  340. package/lib/provider/transaction/recovery/failure-recovery.js +147 -0
  341. package/lib/provider/transaction/recovery/failure-recovery.js.map +1 -0
  342. package/lib/provider/transaction/recovery/recover.d.ts +4 -0
  343. package/lib/provider/transaction/recovery/recover.d.ts.map +1 -0
  344. package/lib/provider/transaction/recovery/recover.js +162 -0
  345. package/lib/provider/transaction/recovery/recover.js.map +1 -0
  346. package/lib/provider/transaction/support/admission.d.ts +7 -0
  347. package/lib/provider/transaction/support/admission.d.ts.map +1 -0
  348. package/lib/provider/transaction/support/admission.js +90 -0
  349. package/lib/provider/transaction/support/admission.js.map +1 -0
  350. package/lib/provider/transaction/support/inspection.d.ts +11 -0
  351. package/lib/provider/transaction/support/inspection.d.ts.map +1 -0
  352. package/lib/provider/transaction/support/inspection.js +51 -0
  353. package/lib/provider/transaction/support/inspection.js.map +1 -0
  354. package/lib/provider/transaction/support/journal.d.ts +12 -0
  355. package/lib/provider/transaction/support/journal.d.ts.map +1 -0
  356. package/lib/provider/transaction/support/journal.js +72 -0
  357. package/lib/provider/transaction/support/journal.js.map +1 -0
  358. package/lib/provider/transaction/support/locking.d.ts +4 -0
  359. package/lib/provider/transaction/support/locking.d.ts.map +1 -0
  360. package/lib/provider/transaction/support/locking.js +11 -0
  361. package/lib/provider/transaction/support/locking.js.map +1 -0
  362. package/lib/provider/transaction/support/path-safety.d.ts +11 -0
  363. package/lib/provider/transaction/support/path-safety.d.ts.map +1 -0
  364. package/lib/provider/transaction/support/path-safety.js +82 -0
  365. package/lib/provider/transaction/support/path-safety.js.map +1 -0
  366. package/lib/provider/transaction/support/paths.d.ts +10 -0
  367. package/lib/provider/transaction/support/paths.d.ts.map +1 -0
  368. package/lib/provider/transaction/support/paths.js +68 -0
  369. package/lib/provider/transaction/support/paths.js.map +1 -0
  370. package/lib/provider/transaction/support/publication.d.ts +9 -0
  371. package/lib/provider/transaction/support/publication.d.ts.map +1 -0
  372. package/lib/provider/transaction/support/publication.js +92 -0
  373. package/lib/provider/transaction/support/publication.js.map +1 -0
  374. package/lib/provider/transaction/types.d.ts +38 -0
  375. package/lib/provider/transaction/types.d.ts.map +1 -0
  376. package/lib/provider/transaction/types.js +2 -0
  377. package/lib/provider/transaction/types.js.map +1 -0
  378. package/lib/provider/types.d.ts +22 -3
  379. package/lib/provider/types.d.ts.map +1 -1
  380. package/lib/provider/types.js +1 -1
  381. package/lib/provider/types.js.map +1 -1
  382. package/lib/provider/worktree-lifecycle.d.ts +19 -0
  383. package/lib/provider/worktree-lifecycle.d.ts.map +1 -0
  384. package/lib/provider/worktree-lifecycle.js +44 -0
  385. package/lib/provider/worktree-lifecycle.js.map +1 -0
  386. package/lib/typert.host.js +269 -30
  387. package/lib/typert.remote-client.d.ts +10 -0
  388. package/lib/typert.remote-client.d.ts.map +1 -1
  389. package/lib/typert.remote-client.js +269 -30
  390. package/package.json +1 -1
  391. package/lib/client/WorktreeContext.d.ts.map +0 -1
  392. package/lib/client/WorktreeContext.js.map +0 -1
  393. package/lib/client/WorktreeHeroContext.d.ts.map +0 -1
  394. package/lib/client/WorktreeHeroContext.js.map +0 -1
  395. package/lib/client/WorktreeModeAction.d.ts.map +0 -1
  396. package/lib/client/WorktreeModeAction.js.map +0 -1
  397. package/lib/client/WorktreeOverlay.d.ts.map +0 -1
  398. package/lib/client/WorktreeOverlay.js.map +0 -1
  399. package/lib/client/dsh-rc1-slot-contract.d.ts +0 -43
  400. package/lib/client/dsh-rc1-slot-contract.d.ts.map +0 -1
  401. package/lib/client/dsh-rc1-slot-contract.js +0 -2
  402. package/lib/client/dsh-rc1-slot-contract.js.map +0 -1
  403. package/lib/client/navigation.d.ts.map +0 -1
  404. package/lib/client/navigation.js.map +0 -1
  405. package/lib/client/overlay-bounds.d.ts.map +0 -1
  406. package/lib/client/overlay-bounds.js.map +0 -1
  407. package/lib/client/session-view.d.ts.map +0 -1
  408. package/lib/client/session-view.js.map +0 -1
  409. package/lib/client/sidebar-overlay-geometry.d.ts.map +0 -1
  410. package/lib/client/sidebar-overlay-geometry.js.map +0 -1
  411. package/lib/client/view-mode-store.d.ts.map +0 -1
  412. package/lib/client/view-mode-store.js.map +0 -1
  413. package/lib/client/view-mode.d.ts.map +0 -1
  414. package/lib/client/view-mode.js.map +0 -1
  415. package/lib/client/virtual-workspace-membership.d.ts.map +0 -1
  416. package/lib/client/virtual-workspace-membership.js.map +0 -1
  417. package/lib/client/worktree-context-store.d.ts.map +0 -1
  418. package/lib/client/worktree-context-store.js.map +0 -1
  419. package/lib/client/worktree-context.d.ts.map +0 -1
  420. package/lib/client/worktree-context.js.map +0 -1
  421. package/lib/client/worktree-error-copy.d.ts.map +0 -1
  422. package/lib/client/worktree-error-copy.js.map +0 -1
  423. package/lib/client/worktree-expand-state.d.ts.map +0 -1
  424. package/lib/client/worktree-expand-state.js.map +0 -1
  425. package/lib/client/worktree-permission-icon.d.ts.map +0 -1
  426. package/lib/client/worktree-permission-icon.js.map +0 -1
  427. package/lib/client/worktree-permission.d.ts.map +0 -1
  428. package/lib/client/worktree-permission.js.map +0 -1
  429. package/lib/client/worktree-session-fork.d.ts.map +0 -1
  430. package/lib/client/worktree-session-fork.js.map +0 -1
  431. package/lib/client/worktree-session-order.d.ts.map +0 -1
  432. package/lib/client/worktree-session-order.js.map +0 -1
  433. package/lib/client/worktree-session-position.d.ts.map +0 -1
  434. package/lib/client/worktree-session-position.js.map +0 -1
  435. package/lib/client/worktree-session.d.ts.map +0 -1
  436. package/lib/client/worktree-session.js.map +0 -1
  437. package/lib/client/worktree-surface-dialogs.d.ts.map +0 -1
  438. package/lib/client/worktree-surface-dialogs.js.map +0 -1
  439. package/lib/client/worktree-surface-rows.d.ts.map +0 -1
  440. package/lib/client/worktree-surface-rows.js.map +0 -1
  441. package/lib/client/worktree-surface-selectors.d.ts.map +0 -1
  442. package/lib/client/worktree-surface-selectors.js.map +0 -1
  443. package/lib/client/worktree-surface-types.d.ts.map +0 -1
  444. package/lib/client/worktree-surface-types.js +0 -2
  445. package/lib/client/worktree-surface-types.js.map +0 -1
  446. package/lib/client/worktree-view-actions.d.ts.map +0 -1
  447. package/lib/client/worktree-view-actions.js.map +0 -1
  448. package/lib/client/worktree-view-errors.d.ts.map +0 -1
  449. package/lib/client/worktree-view-errors.js.map +0 -1
  450. package/lib/client/worktree-view-read.d.ts.map +0 -1
  451. package/lib/client/worktree-view-read.js.map +0 -1
  452. package/lib/client/worktree-view.d.ts.map +0 -1
  453. package/lib/client/worktree-view.js.map +0 -1
  454. package/lib/provider/git.d.ts.map +0 -1
  455. package/lib/provider/git.js.map +0 -1
  456. package/lib/provider/mutation-lock.d.ts.map +0 -1
  457. package/lib/provider/mutation-lock.js.map +0 -1
  458. package/lib/provider/repository-fingerprint.d.ts.map +0 -1
  459. package/lib/provider/repository-fingerprint.js.map +0 -1
  460. package/lib/provider/sidecar-persistence.d.ts.map +0 -1
  461. package/lib/provider/sidecar-persistence.js.map +0 -1
  462. package/lib/provider/sidecar-schema.d.ts.map +0 -1
  463. package/lib/provider/sidecar-schema.js.map +0 -1
  464. package/lib/provider/sidecar.d.ts.map +0 -1
  465. package/lib/provider/sidecar.js.map +0 -1
  466. package/lib/provider/subprocess.d.ts.map +0 -1
  467. package/lib/provider/subprocess.js.map +0 -1
  468. package/lib/provider/transaction.d.ts +0 -65
  469. package/lib/provider/transaction.d.ts.map +0 -1
  470. package/lib/provider/transaction.js +0 -1011
  471. package/lib/provider/transaction.js.map +0 -1
  472. /package/lib/client/{WorktreeContext.js → context/WorktreeContext.js} +0 -0
  473. /package/lib/client/{WorktreeHeroContext.js → context/WorktreeHeroContext.js} +0 -0
  474. /package/lib/client/{overlay-bounds.d.ts → overlay/overlay-bounds.d.ts} +0 -0
  475. /package/lib/client/{overlay-bounds.js → overlay/overlay-bounds.js} +0 -0
  476. /package/lib/client/{sidebar-overlay-geometry.d.ts → overlay/sidebar-overlay-geometry.d.ts} +0 -0
  477. /package/lib/client/{sidebar-overlay-geometry.js → overlay/sidebar-overlay-geometry.js} +0 -0
  478. /package/lib/client/{worktree-permission-icon.d.ts → permission/worktree-permission-icon.d.ts} +0 -0
  479. /package/lib/client/{worktree-permission-icon.js → permission/worktree-permission-icon.js} +0 -0
  480. /package/lib/client/{worktree-permission.d.ts → permission/worktree-permission.d.ts} +0 -0
  481. /package/lib/client/{worktree-permission.js → permission/worktree-permission.js} +0 -0
  482. /package/lib/client/{session-view.d.ts → session/session-view.d.ts} +0 -0
  483. /package/lib/client/{session-view.js → session/session-view.js} +0 -0
  484. /package/lib/client/{worktree-session-order.d.ts → session/worktree-session-order.d.ts} +0 -0
  485. /package/lib/client/{worktree-session-order.js → session/worktree-session-order.js} +0 -0
  486. /package/lib/client/{worktree-session-position.d.ts → session/worktree-session-position.d.ts} +0 -0
  487. /package/lib/client/{worktree-session-position.js → session/worktree-session-position.js} +0 -0
  488. /package/lib/client/{navigation.d.ts → view/navigation.d.ts} +0 -0
  489. /package/lib/client/{navigation.js → view/navigation.js} +0 -0
  490. /package/lib/client/{view-mode-store.d.ts → view/view-mode-store.d.ts} +0 -0
  491. /package/lib/client/{view-mode-store.js → view/view-mode-store.js} +0 -0
  492. /package/lib/client/{view-mode.d.ts → view/view-mode.d.ts} +0 -0
  493. /package/lib/client/{view-mode.js → view/view-mode.js} +0 -0
  494. /package/lib/client/{worktree-error-copy.js → view/worktree-error-copy.js} +0 -0
  495. /package/lib/client/{worktree-view-errors.d.ts → view/worktree-view-errors.d.ts} +0 -0
  496. /package/lib/client/{worktree-view-errors.js → view/worktree-view-errors.js} +0 -0
  497. /package/lib/client/{worktree-view.d.ts → view/worktree-view.d.ts} +0 -0
  498. /package/lib/client/{worktree-view.js → view/worktree-view.js} +0 -0
  499. /package/lib/provider/{repository-fingerprint.js → git/repository-fingerprint.js} +0 -0
  500. /package/lib/provider/{subprocess.js → git/subprocess.js} +0 -0
  501. /package/lib/provider/{mutation-lock.d.ts → sidecar/mutation-lock.d.ts} +0 -0
@@ -0,0 +1,72 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { createRepositoryFingerprint } from '../../git/repository-fingerprint.js';
3
+ import { WorktreeProviderError, providerError } from '../../types.js';
4
+ export function removeRecoveryIssue(issues, operationId, worktreeId) {
5
+ return (issues ?? []).filter((issue) => issue.operationId !== operationId &&
6
+ (worktreeId === undefined || issue.worktreeId !== worktreeId));
7
+ }
8
+ export function recoveryError(message, details = {}) {
9
+ return providerError('WORKTREE_RECOVERY_REQUIRED', message, details);
10
+ }
11
+ export function normalizeGitError(operation, workspaceRoot, targetPath, error) {
12
+ if (error instanceof WorktreeProviderError)
13
+ return error;
14
+ return providerError('GIT_OPERATION_FAILED', `Git ${operation} failed: ${String(error)}`, {
15
+ operation,
16
+ workspaceRoot,
17
+ targetPath,
18
+ });
19
+ }
20
+ export function recordForCreate(input) {
21
+ return {
22
+ worktreeId: input.worktreeId,
23
+ workspaceId: input.workspaceId,
24
+ absolutePath: input.targetPath,
25
+ branch: input.targetBranch,
26
+ source: 'plugin',
27
+ status: 'active',
28
+ };
29
+ }
30
+ export function pendingCreate(input, repository) {
31
+ return {
32
+ id: randomUUID(),
33
+ type: 'create-worktree',
34
+ phase: 'executing',
35
+ workspaceId: input.workspaceId,
36
+ worktreeId: input.worktreeId,
37
+ targetPath: input.targetPath,
38
+ branch: input.targetBranch,
39
+ ...(input.newBranch !== undefined ? { baseRef: input.baseBranch } : {}),
40
+ repositoryFingerprint: createRepositoryFingerprint(repository),
41
+ startedAt: new Date().toISOString(),
42
+ };
43
+ }
44
+ export function pendingRemove(input, record, repository) {
45
+ return {
46
+ id: randomUUID(),
47
+ type: 'remove-worktree',
48
+ phase: 'executing',
49
+ workspaceId: input.workspaceId,
50
+ worktreeId: input.worktreeId,
51
+ targetPath: record.absolutePath,
52
+ branch: record.branch,
53
+ source: record.source,
54
+ repositoryFingerprint: createRepositoryFingerprint(repository),
55
+ startedAt: new Date().toISOString(),
56
+ };
57
+ }
58
+ export function pendingClean(input, record, repository) {
59
+ return {
60
+ id: randomUUID(),
61
+ type: 'clean-worktree',
62
+ phase: 'executing',
63
+ workspaceId: input.workspaceId,
64
+ worktreeId: input.worktreeId,
65
+ targetPath: record.absolutePath,
66
+ branch: record.branch,
67
+ source: record.source,
68
+ repositoryFingerprint: createRepositoryFingerprint(repository),
69
+ startedAt: new Date().toISOString(),
70
+ };
71
+ }
72
+ //# sourceMappingURL=journal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../../../src/provider/transaction/support/journal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { LockedSidecarStore } from '../../types.js';
2
+ import type { TransactionDependencies } from '../dependencies.js';
3
+ export declare function withShardLock<T>(dependencies: Pick<TransactionDependencies, 'sidecar'>, workspaceId: string, operation: (locked: LockedSidecarStore) => Promise<T>): Promise<T>;
4
+ //# sourceMappingURL=locking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locking.d.ts","sourceRoot":"","sources":["../../../../src/provider/transaction/support/locking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,wBAAsB,aAAa,CAAC,CAAC,EACnC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,EACtD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC,CASZ"}
@@ -0,0 +1,11 @@
1
+ export async function withShardLock(dependencies, workspaceId, operation) {
2
+ if (dependencies.sidecar.runExclusive)
3
+ return dependencies.sidecar.runExclusive(workspaceId, operation);
4
+ // Injected legacy stores remain usable for tests and older compositions, but
5
+ // cannot provide the cross-process shard lock until they implement the seam.
6
+ return operation({
7
+ read: () => dependencies.sidecar.read(workspaceId),
8
+ mutate: (mutation) => dependencies.sidecar.mutate(workspaceId, mutation),
9
+ });
10
+ }
11
+ //# sourceMappingURL=locking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locking.js","sourceRoot":"","sources":["../../../../src/provider/transaction/support/locking.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAAsD,EACtD,WAAmB,EACnB,SAAqD;IAErD,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY;QACnC,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACnE,6EAA6E;IAC7E,6EAA6E;IAC7E,OAAO,SAAS,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAClD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;KACzE,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { WorktreeRecord } from '../../../contract/index.js';
2
+ import type { PendingOperation } from '../../types.js';
3
+ import type { CreateWorktreeTransactionInput } from '../types.js';
4
+ import type { TransactionDependencies } from '../dependencies.js';
5
+ export declare function assertGeneratedTarget(dependencies: Pick<TransactionDependencies, 'dshHome'>, input: CreateWorktreeTransactionInput): void;
6
+ export declare function assertSafeRemovalPath(dependencies: Pick<TransactionDependencies, 'dshHome'>, record: WorktreeRecord, workspaceRoot: string): Promise<void>;
7
+ export declare function assertRecoverableCreatePath(dependencies: Pick<TransactionDependencies, 'dshHome'>, pending: Extract<PendingOperation, {
8
+ readonly type: 'create-worktree';
9
+ }>, workspaceRoot: string): Promise<void>;
10
+ export declare function assertNotSymlink(pathname: string, record: WorktreeRecord): Promise<void>;
11
+ //# sourceMappingURL=path-safety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-safety.d.ts","sourceRoot":"","sources":["../../../../src/provider/transaction/support/path-safety.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,EACtD,KAAK,EAAE,8BAA8B,GACpC,IAAI,CAgBN;AAED,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,EACtD,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,EACtD,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EACxE,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9F"}
@@ -0,0 +1,82 @@
1
+ import path from 'node:path';
2
+ import { lstat } from 'node:fs/promises';
3
+ import { isMissing, isInside } from './paths.js';
4
+ import { providerError } from '../../types.js';
5
+ export function assertGeneratedTarget(dependencies, input) {
6
+ const generatedRoot = path.join(dependencies.dshHome, 'clutch-dsh-worktree', 'worktree');
7
+ if (!path.isAbsolute(input.targetPath) ||
8
+ !isInside(generatedRoot, input.targetPath) ||
9
+ isInside(input.workspaceRoot, input.targetPath)) {
10
+ throw providerError('WORKTREE_STATE_CONFLICT', 'Generated Worktree path is outside the managed boundary', {
11
+ workspaceId: input.workspaceId,
12
+ targetPath: input.targetPath,
13
+ });
14
+ }
15
+ }
16
+ export async function assertSafeRemovalPath(dependencies, record, workspaceRoot) {
17
+ const targetPath = path.resolve(record.absolutePath);
18
+ if (record.source === 'plugin') {
19
+ const generatedRoot = path.join(dependencies.dshHome, 'clutch-dsh-worktree', 'worktree');
20
+ if (!isInside(generatedRoot, targetPath) || isInside(workspaceRoot, targetPath)) {
21
+ throw providerError('WORKTREE_IDENTITY_CHANGED', 'Managed Worktree path moved outside its trusted root', {
22
+ worktreeId: record.worktreeId,
23
+ targetPath: record.absolutePath,
24
+ });
25
+ }
26
+ for (const trustedPath of [
27
+ dependencies.dshHome,
28
+ path.join(dependencies.dshHome, 'clutch-dsh-worktree'),
29
+ generatedRoot,
30
+ targetPath,
31
+ ]) {
32
+ await assertNotSymlink(trustedPath, record);
33
+ }
34
+ return;
35
+ }
36
+ // Imported records are canonicalized at registration time. Refusing a
37
+ // symlink here prevents a later path replacement from redirecting Git's
38
+ // destructive command to an unrelated directory.
39
+ await assertNotSymlink(targetPath, record);
40
+ }
41
+ export async function assertRecoverableCreatePath(dependencies, pending, workspaceRoot) {
42
+ const targetPath = path.resolve(pending.targetPath);
43
+ const generatedRoot = path.join(dependencies.dshHome, 'clutch-dsh-worktree', 'worktree');
44
+ if (!isInside(generatedRoot, targetPath) || isInside(workspaceRoot, targetPath)) {
45
+ throw providerError('WORKTREE_IDENTITY_CHANGED', 'Pending Worktree path moved outside its trusted root', {
46
+ worktreeId: pending.worktreeId,
47
+ targetPath: pending.targetPath,
48
+ });
49
+ }
50
+ const record = {
51
+ worktreeId: pending.worktreeId,
52
+ workspaceId: pending.workspaceId,
53
+ absolutePath: pending.targetPath,
54
+ branch: pending.branch,
55
+ source: 'plugin',
56
+ status: 'active',
57
+ };
58
+ for (const trustedPath of [
59
+ dependencies.dshHome,
60
+ path.join(dependencies.dshHome, 'clutch-dsh-worktree'),
61
+ generatedRoot,
62
+ targetPath,
63
+ ]) {
64
+ await assertNotSymlink(trustedPath, record);
65
+ }
66
+ }
67
+ export async function assertNotSymlink(pathname, record) {
68
+ try {
69
+ if ((await lstat(pathname)).isSymbolicLink()) {
70
+ throw providerError('WORKTREE_IDENTITY_CHANGED', `Worktree path is a symlink: ${pathname}`, {
71
+ worktreeId: record.worktreeId,
72
+ targetPath: record.absolutePath,
73
+ });
74
+ }
75
+ }
76
+ catch (error) {
77
+ if (isMissing(error))
78
+ return;
79
+ throw error;
80
+ }
81
+ }
82
+ //# sourceMappingURL=path-safety.js.map
@@ -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":"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"}
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"}