@cerbur/clutch-dsh-worktree 0.1.16 → 0.1.18

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 (429) hide show
  1. package/README.md +314 -43
  2. package/README.zh.md +263 -37
  3. package/assets/screenshots/screenshots-dashboard.png +0 -0
  4. package/assets/screenshots/screenshots-en.png +0 -0
  5. package/assets/screenshots/screenshots-git-reviewer.png +0 -0
  6. package/assets/screenshots/screenshots-import.png +0 -0
  7. package/assets/screenshots/screenshots-worktree-tool.png +0 -0
  8. package/assets/screenshots/screenshots-zh.png +0 -0
  9. package/cordis.patch.yml +6 -19
  10. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  11. package/lib/client/WorktreeSurface.js +41 -13
  12. package/lib/client/WorktreeSurface.js.map +1 -1
  13. package/lib/client/branch/GitBranchSelector.d.ts +23 -0
  14. package/lib/client/branch/GitBranchSelector.d.ts.map +1 -0
  15. package/lib/client/branch/GitBranchSelector.js +142 -0
  16. package/lib/client/branch/GitBranchSelector.js.map +1 -0
  17. package/lib/client/command-activity.d.ts +11 -0
  18. package/lib/client/command-activity.d.ts.map +1 -0
  19. package/lib/client/command-activity.js +71 -0
  20. package/lib/client/command-activity.js.map +1 -0
  21. package/lib/client/context/worktree-context-store.d.ts.map +1 -1
  22. package/lib/client/context/worktree-context-store.js +1 -0
  23. package/lib/client/context/worktree-context-store.js.map +1 -1
  24. package/lib/client/context/worktree-context.d.ts +3 -2
  25. package/lib/client/context/worktree-context.d.ts.map +1 -1
  26. package/lib/client/context/worktree-context.js +5 -3
  27. package/lib/client/context/worktree-context.js.map +1 -1
  28. package/lib/client/dashboard/DashboardRequest.d.ts +2 -1
  29. package/lib/client/dashboard/DashboardRequest.d.ts.map +1 -1
  30. package/lib/client/dashboard/DashboardRequest.js +3 -3
  31. package/lib/client/dashboard/DashboardRequest.js.map +1 -1
  32. package/lib/client/dashboard/WorktreeDashboard.d.ts +6 -2
  33. package/lib/client/dashboard/WorktreeDashboard.d.ts.map +1 -1
  34. package/lib/client/dashboard/WorktreeDashboard.js +111 -89
  35. package/lib/client/dashboard/WorktreeDashboard.js.map +1 -1
  36. package/lib/client/dashboard/WorktreeInstructions.d.ts +2 -1
  37. package/lib/client/dashboard/WorktreeInstructions.d.ts.map +1 -1
  38. package/lib/client/dashboard/WorktreeInstructions.js +27 -8
  39. package/lib/client/dashboard/WorktreeInstructions.js.map +1 -1
  40. package/lib/client/dashboard/dashboard-overlay.d.ts.map +1 -1
  41. package/lib/client/dashboard/dashboard-overlay.js +38 -52
  42. package/lib/client/dashboard/dashboard-overlay.js.map +1 -1
  43. package/lib/client/dashboard/dashboard-selection.d.ts +4 -2
  44. package/lib/client/dashboard/dashboard-selection.d.ts.map +1 -1
  45. package/lib/client/dashboard/dashboard-selection.js +6 -4
  46. package/lib/client/dashboard/dashboard-selection.js.map +1 -1
  47. package/lib/client/dashboard/git/GitChangedFiles.d.ts +2 -1
  48. package/lib/client/dashboard/git/GitChangedFiles.d.ts.map +1 -1
  49. package/lib/client/dashboard/git/GitChangedFiles.js +8 -6
  50. package/lib/client/dashboard/git/GitChangedFiles.js.map +1 -1
  51. package/lib/client/dashboard/git/GitCommitList.d.ts +6 -1
  52. package/lib/client/dashboard/git/GitCommitList.d.ts.map +1 -1
  53. package/lib/client/dashboard/git/GitCommitList.js +34 -29
  54. package/lib/client/dashboard/git/GitCommitList.js.map +1 -1
  55. package/lib/client/dashboard/git/GitCommitStats.d.ts +8 -0
  56. package/lib/client/dashboard/git/GitCommitStats.d.ts.map +1 -0
  57. package/lib/client/dashboard/git/GitCommitStats.js +7 -0
  58. package/lib/client/dashboard/git/GitCommitStats.js.map +1 -0
  59. package/lib/client/dashboard/git/WorktreeGitOverview.d.ts.map +1 -1
  60. package/lib/client/dashboard/git/WorktreeGitOverview.js +2 -1
  61. package/lib/client/dashboard/git/WorktreeGitOverview.js.map +1 -1
  62. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts +3 -2
  63. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts.map +1 -1
  64. package/lib/client/dashboard/git/WorktreeGitPanel.js +79 -14
  65. package/lib/client/dashboard/git/WorktreeGitPanel.js.map +1 -1
  66. package/lib/client/dashboard/git/file-address.d.ts +5 -1
  67. package/lib/client/dashboard/git/file-address.d.ts.map +1 -1
  68. package/lib/client/dashboard/git/file-address.js +49 -11
  69. package/lib/client/dashboard/git/file-address.js.map +1 -1
  70. package/lib/client/dashboard/git/git-facts.js +1 -1
  71. package/lib/client/dashboard/git/git-facts.js.map +1 -1
  72. package/lib/client/dashboard/git/useWorktreeGitState.d.ts +7 -2
  73. package/lib/client/dashboard/git/useWorktreeGitState.d.ts.map +1 -1
  74. package/lib/client/dashboard/git/useWorktreeGitState.js +88 -22
  75. package/lib/client/dashboard/git/useWorktreeGitState.js.map +1 -1
  76. package/lib/client/dsh-icons.d.ts +4 -0
  77. package/lib/client/dsh-icons.d.ts.map +1 -1
  78. package/lib/client/dsh-icons.js +5 -1
  79. package/lib/client/dsh-icons.js.map +1 -1
  80. package/lib/client/dsh-slot-contract.d.ts +9 -1
  81. package/lib/client/dsh-slot-contract.d.ts.map +1 -1
  82. package/lib/client/entry.d.ts.map +1 -1
  83. package/lib/client/entry.js +39 -2
  84. package/lib/client/entry.js.map +1 -1
  85. package/lib/client/layout/app-frame.d.ts +12 -0
  86. package/lib/client/layout/app-frame.d.ts.map +1 -0
  87. package/lib/client/layout/app-frame.js +82 -0
  88. package/lib/client/layout/app-frame.js.map +1 -0
  89. package/lib/client/locales.d.ts +184 -2
  90. package/lib/client/locales.d.ts.map +1 -1
  91. package/lib/client/locales.js +250 -68
  92. package/lib/client/locales.js.map +1 -1
  93. package/lib/client/overlay/overlay-bounds.d.ts.map +1 -1
  94. package/lib/client/overlay/overlay-bounds.js +8 -3
  95. package/lib/client/overlay/overlay-bounds.js.map +1 -1
  96. package/lib/client/overlay/sidebar-overlay-geometry.d.ts +3 -1
  97. package/lib/client/overlay/sidebar-overlay-geometry.d.ts.map +1 -1
  98. package/lib/client/overlay/sidebar-overlay-geometry.js +94 -34
  99. package/lib/client/overlay/sidebar-overlay-geometry.js.map +1 -1
  100. package/lib/client/restart-notice.d.ts +10 -3
  101. package/lib/client/restart-notice.d.ts.map +1 -1
  102. package/lib/client/restart-notice.js +44 -11
  103. package/lib/client/restart-notice.js.map +1 -1
  104. package/lib/client/select/SearchableSingleSelect.d.ts +44 -0
  105. package/lib/client/select/SearchableSingleSelect.d.ts.map +1 -0
  106. package/lib/client/select/SearchableSingleSelect.js +180 -0
  107. package/lib/client/select/SearchableSingleSelect.js.map +1 -0
  108. package/lib/client/select/WorktreeSelector.d.ts +14 -0
  109. package/lib/client/select/WorktreeSelector.d.ts.map +1 -0
  110. package/lib/client/select/WorktreeSelector.js +11 -0
  111. package/lib/client/select/WorktreeSelector.js.map +1 -0
  112. package/lib/client/session/session-view.d.ts +16 -2
  113. package/lib/client/session/session-view.d.ts.map +1 -1
  114. package/lib/client/session/session-view.js +24 -10
  115. package/lib/client/session/session-view.js.map +1 -1
  116. package/lib/client/session/worktree-session.d.ts +1 -0
  117. package/lib/client/session/worktree-session.d.ts.map +1 -1
  118. package/lib/client/session/worktree-session.js +3 -1
  119. package/lib/client/session/worktree-session.js.map +1 -1
  120. package/lib/client/settings/ToolSettings.d.ts +9 -0
  121. package/lib/client/settings/ToolSettings.d.ts.map +1 -0
  122. package/lib/client/settings/ToolSettings.js +77 -0
  123. package/lib/client/settings/ToolSettings.js.map +1 -0
  124. package/lib/client/settings/WorktreeSettings.d.ts +8 -0
  125. package/lib/client/settings/WorktreeSettings.d.ts.map +1 -0
  126. package/lib/client/settings/WorktreeSettings.js +46 -0
  127. package/lib/client/settings/WorktreeSettings.js.map +1 -0
  128. package/lib/client/settings/WorktreeSettingsNavIcon.d.ts +6 -0
  129. package/lib/client/settings/WorktreeSettingsNavIcon.d.ts.map +1 -0
  130. package/lib/client/settings/WorktreeSettingsNavIcon.js +51 -0
  131. package/lib/client/settings/WorktreeSettingsNavIcon.js.map +1 -0
  132. package/lib/client/settings/diagnostics.d.ts +24 -0
  133. package/lib/client/settings/diagnostics.d.ts.map +1 -0
  134. package/lib/client/settings/diagnostics.js +63 -0
  135. package/lib/client/settings/diagnostics.js.map +1 -0
  136. package/lib/client/settings/settings-navigation.d.ts +7 -0
  137. package/lib/client/settings/settings-navigation.d.ts.map +1 -0
  138. package/lib/client/settings/settings-navigation.js +12 -0
  139. package/lib/client/settings/settings-navigation.js.map +1 -0
  140. package/lib/client/surface/actions/useLifecycleActions.d.ts +2 -1
  141. package/lib/client/surface/actions/useLifecycleActions.d.ts.map +1 -1
  142. package/lib/client/surface/actions/useLifecycleActions.js +15 -6
  143. package/lib/client/surface/actions/useLifecycleActions.js.map +1 -1
  144. package/lib/client/surface/actions/useSessionActions.d.ts.map +1 -1
  145. package/lib/client/surface/actions/useSessionActions.js +6 -6
  146. package/lib/client/surface/actions/useSessionActions.js.map +1 -1
  147. package/lib/client/surface/actions/useWorktreeRegistration.d.ts +1 -1
  148. package/lib/client/surface/actions/useWorktreeRegistration.d.ts.map +1 -1
  149. package/lib/client/surface/actions/useWorktreeRegistration.js +36 -13
  150. package/lib/client/surface/actions/useWorktreeRegistration.js.map +1 -1
  151. package/lib/client/surface/components/NotificationToasts.d.ts +19 -3
  152. package/lib/client/surface/components/NotificationToasts.d.ts.map +1 -1
  153. package/lib/client/surface/components/NotificationToasts.js +73 -7
  154. package/lib/client/surface/components/NotificationToasts.js.map +1 -1
  155. package/lib/client/surface/components/OverlayScrollbar.d.ts +6 -0
  156. package/lib/client/surface/components/OverlayScrollbar.d.ts.map +1 -0
  157. package/lib/client/surface/components/OverlayScrollbar.js +84 -0
  158. package/lib/client/surface/components/OverlayScrollbar.js.map +1 -0
  159. package/lib/client/surface/components/RegistrationDialog.d.ts +3 -3
  160. package/lib/client/surface/components/RegistrationDialog.d.ts.map +1 -1
  161. package/lib/client/surface/components/RegistrationDialog.js +70 -5
  162. package/lib/client/surface/components/RegistrationDialog.js.map +1 -1
  163. package/lib/client/surface/components/RestartToast.d.ts.map +1 -1
  164. package/lib/client/surface/components/RestartToast.js +4 -3
  165. package/lib/client/surface/components/RestartToast.js.map +1 -1
  166. package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -1
  167. package/lib/client/surface/components/SurfaceContent.js +110 -39
  168. package/lib/client/surface/components/SurfaceContent.js.map +1 -1
  169. package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -1
  170. package/lib/client/surface/components/WorkspaceTree.js +13 -9
  171. package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
  172. package/lib/client/surface/components/dialogs.d.ts +1 -1
  173. package/lib/client/surface/components/dialogs.d.ts.map +1 -1
  174. package/lib/client/surface/components/dialogs.js +34 -21
  175. package/lib/client/surface/components/dialogs.js.map +1 -1
  176. package/lib/client/surface/components/rows.d.ts +1 -1
  177. package/lib/client/surface/components/rows.d.ts.map +1 -1
  178. package/lib/client/surface/components/rows.js +15 -97
  179. package/lib/client/surface/components/rows.js.map +1 -1
  180. package/lib/client/surface/notification-queue.d.ts +15 -0
  181. package/lib/client/surface/notification-queue.d.ts.map +1 -1
  182. package/lib/client/surface/notification-queue.js +13 -2
  183. package/lib/client/surface/notification-queue.js.map +1 -1
  184. package/lib/client/surface/state/useRegistrationState.d.ts +6 -1
  185. package/lib/client/surface/state/useRegistrationState.d.ts.map +1 -1
  186. package/lib/client/surface/state/useRegistrationState.js +7 -0
  187. package/lib/client/surface/state/useRegistrationState.js.map +1 -1
  188. package/lib/client/surface/state/useSurfaceRefresh.d.ts +1 -1
  189. package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -1
  190. package/lib/client/surface/state/useSurfaceRefresh.js +13 -1
  191. package/lib/client/surface/state/useSurfaceRefresh.js.map +1 -1
  192. package/lib/client/surface/state/useSurfaceSources.d.ts +1 -1
  193. package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -1
  194. package/lib/client/surface/state/useSurfaceSources.js +4 -2
  195. package/lib/client/surface/state/useSurfaceSources.js.map +1 -1
  196. package/lib/client/surface/state/useTitleMarquee.d.ts +7 -0
  197. package/lib/client/surface/state/useTitleMarquee.d.ts.map +1 -0
  198. package/lib/client/surface/state/useTitleMarquee.js +60 -0
  199. package/lib/client/surface/state/useTitleMarquee.js.map +1 -0
  200. package/lib/client/surface/types.d.ts +12 -1
  201. package/lib/client/surface/types.d.ts.map +1 -1
  202. package/lib/client/view/worktree-error-copy.d.ts.map +1 -1
  203. package/lib/client/view/worktree-error-copy.js +73 -14
  204. package/lib/client/view/worktree-error-copy.js.map +1 -1
  205. package/lib/client/view/worktree-view-errors.d.ts.map +1 -1
  206. package/lib/client/view/worktree-view-errors.js +13 -5
  207. package/lib/client/view/worktree-view-errors.js.map +1 -1
  208. package/lib/client/view/worktree-view-read.d.ts +4 -2
  209. package/lib/client/view/worktree-view-read.d.ts.map +1 -1
  210. package/lib/client/view/worktree-view-read.js +34 -17
  211. package/lib/client/view/worktree-view-read.js.map +1 -1
  212. package/lib/client/worktree-connection.d.ts +9 -2
  213. package/lib/client/worktree-connection.d.ts.map +1 -1
  214. package/lib/client/worktree-connection.js +24 -1
  215. package/lib/client/worktree-connection.js.map +1 -1
  216. package/lib/client/worktree-tool-changes.d.ts +13 -0
  217. package/lib/client/worktree-tool-changes.d.ts.map +1 -0
  218. package/lib/client/worktree-tool-changes.js +64 -0
  219. package/lib/client/worktree-tool-changes.js.map +1 -0
  220. package/lib/client.js +3503 -1310
  221. package/lib/client.js.map +1 -1
  222. package/lib/contract/index.contract.js +15 -0
  223. package/lib/contract/index.contract.js.map +1 -1
  224. package/lib/contract/index.d.ts +79 -12
  225. package/lib/contract/index.d.ts.map +1 -1
  226. package/lib/contract/index.js +12 -0
  227. package/lib/contract/index.js.map +1 -1
  228. package/lib/contract/tool-settings.d.ts +28 -0
  229. package/lib/contract/tool-settings.d.ts.map +1 -0
  230. package/lib/contract/tool-settings.js +10 -0
  231. package/lib/contract/tool-settings.js.map +1 -0
  232. package/lib/contract/worktree-tool-changes.d.ts +10 -0
  233. package/lib/contract/worktree-tool-changes.d.ts.map +1 -0
  234. package/lib/contract/worktree-tool-changes.js +2 -0
  235. package/lib/contract/worktree-tool-changes.js.map +1 -0
  236. package/lib/host/permission-preset-append.d.ts +15 -0
  237. package/lib/host/permission-preset-append.d.ts.map +1 -0
  238. package/lib/host/permission-preset-append.js +63 -0
  239. package/lib/host/permission-preset-append.js.map +1 -0
  240. package/lib/host/remote.d.ts.map +1 -1
  241. package/lib/host/remote.js +7 -0
  242. package/lib/host/remote.js.map +1 -1
  243. package/lib/host/service.d.ts +30 -6
  244. package/lib/host/service.d.ts.map +1 -1
  245. package/lib/host/service.js +85 -11
  246. package/lib/host/service.js.map +1 -1
  247. package/lib/host/tool-settings.d.ts +14 -0
  248. package/lib/host/tool-settings.d.ts.map +1 -0
  249. package/lib/host/tool-settings.js +98 -0
  250. package/lib/host/tool-settings.js.map +1 -0
  251. package/lib/host/worktree-permission-manager.d.ts.map +1 -1
  252. package/lib/host/worktree-permission-manager.js +2 -4
  253. package/lib/host/worktree-permission-manager.js.map +1 -1
  254. package/lib/host/worktree-tool-changes.d.ts +12 -0
  255. package/lib/host/worktree-tool-changes.d.ts.map +1 -0
  256. package/lib/host/worktree-tool-changes.js +60 -0
  257. package/lib/host/worktree-tool-changes.js.map +1 -0
  258. package/lib/manage/manager-git-history.d.ts +5 -7
  259. package/lib/manage/manager-git-history.d.ts.map +1 -1
  260. package/lib/manage/manager-git-history.js +185 -91
  261. package/lib/manage/manager-git-history.js.map +1 -1
  262. package/lib/manage/manager-git-paths.d.ts +7 -0
  263. package/lib/manage/manager-git-paths.d.ts.map +1 -0
  264. package/lib/manage/manager-git-paths.js +62 -0
  265. package/lib/manage/manager-git-paths.js.map +1 -0
  266. package/lib/manage/manager-sessions.d.ts +5 -0
  267. package/lib/manage/manager-sessions.d.ts.map +1 -1
  268. package/lib/manage/manager-sessions.js +34 -11
  269. package/lib/manage/manager-sessions.js.map +1 -1
  270. package/lib/manage/manager-support.d.ts +3 -1
  271. package/lib/manage/manager-support.d.ts.map +1 -1
  272. package/lib/manage/manager-support.js +17 -0
  273. package/lib/manage/manager-support.js.map +1 -1
  274. package/lib/manage/manager-worktree-lifecycle.d.ts.map +1 -1
  275. package/lib/manage/manager-worktree-lifecycle.js +5 -4
  276. package/lib/manage/manager-worktree-lifecycle.js.map +1 -1
  277. package/lib/manage/manager-worktrees.d.ts +10 -1
  278. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  279. package/lib/manage/manager-worktrees.js +141 -34
  280. package/lib/manage/manager-worktrees.js.map +1 -1
  281. package/lib/manage/manager.d.ts +22 -5
  282. package/lib/manage/manager.d.ts.map +1 -1
  283. package/lib/manage/manager.js +76 -4
  284. package/lib/manage/manager.js.map +1 -1
  285. package/lib/manage/types.d.ts +10 -1
  286. package/lib/manage/types.d.ts.map +1 -1
  287. package/lib/provider/generated-name.d.ts.map +1 -1
  288. package/lib/provider/generated-name.js +5 -4
  289. package/lib/provider/generated-name.js.map +1 -1
  290. package/lib/provider/git/adapter.d.ts +13 -12
  291. package/lib/provider/git/adapter.d.ts.map +1 -1
  292. package/lib/provider/git/adapter.js +157 -31
  293. package/lib/provider/git/adapter.js.map +1 -1
  294. package/lib/provider/git/branch-name.d.ts +5 -0
  295. package/lib/provider/git/branch-name.d.ts.map +1 -0
  296. package/lib/provider/git/branch-name.js +16 -0
  297. package/lib/provider/git/branch-name.js.map +1 -0
  298. package/lib/provider/git/branches.d.ts +11 -0
  299. package/lib/provider/git/branches.d.ts.map +1 -0
  300. package/lib/provider/git/branches.js +37 -0
  301. package/lib/provider/git/branches.js.map +1 -0
  302. package/lib/provider/mutation-token.d.ts +1 -1
  303. package/lib/provider/mutation-token.d.ts.map +1 -1
  304. package/lib/provider/mutation-token.js +1 -0
  305. package/lib/provider/mutation-token.js.map +1 -1
  306. package/lib/provider/sidecar/repository.d.ts.map +1 -1
  307. package/lib/provider/sidecar/repository.js +3 -1
  308. package/lib/provider/sidecar/repository.js.map +1 -1
  309. package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -1
  310. package/lib/provider/sidecar/sidecar-schema.js +26 -4
  311. package/lib/provider/sidecar/sidecar-schema.js.map +1 -1
  312. package/lib/provider/transaction/operations/adopt-branch.d.ts.map +1 -1
  313. package/lib/provider/transaction/operations/adopt-branch.js +6 -5
  314. package/lib/provider/transaction/operations/adopt-branch.js.map +1 -1
  315. package/lib/provider/transaction/operations/clean.d.ts.map +1 -1
  316. package/lib/provider/transaction/operations/clean.js +20 -19
  317. package/lib/provider/transaction/operations/clean.js.map +1 -1
  318. package/lib/provider/transaction/operations/create.d.ts +1 -1
  319. package/lib/provider/transaction/operations/create.d.ts.map +1 -1
  320. package/lib/provider/transaction/operations/create.js +39 -17
  321. package/lib/provider/transaction/operations/create.js.map +1 -1
  322. package/lib/provider/transaction/operations/import.d.ts.map +1 -1
  323. package/lib/provider/transaction/operations/import.js +7 -1
  324. package/lib/provider/transaction/operations/import.js.map +1 -1
  325. package/lib/provider/transaction/operations/remove.d.ts.map +1 -1
  326. package/lib/provider/transaction/operations/remove.js +20 -19
  327. package/lib/provider/transaction/operations/remove.js.map +1 -1
  328. package/lib/provider/transaction/recovery/failure-recovery.d.ts.map +1 -1
  329. package/lib/provider/transaction/recovery/failure-recovery.js +22 -20
  330. package/lib/provider/transaction/recovery/failure-recovery.js.map +1 -1
  331. package/lib/provider/transaction/recovery/recover.d.ts.map +1 -1
  332. package/lib/provider/transaction/recovery/recover.js +11 -4
  333. package/lib/provider/transaction/recovery/recover.js.map +1 -1
  334. package/lib/provider/transaction/support/inspection.d.ts.map +1 -1
  335. package/lib/provider/transaction/support/inspection.js +3 -2
  336. package/lib/provider/transaction/support/inspection.js.map +1 -1
  337. package/lib/provider/transaction/support/journal.d.ts.map +1 -1
  338. package/lib/provider/transaction/support/journal.js +9 -5
  339. package/lib/provider/transaction/support/journal.js.map +1 -1
  340. package/lib/provider/transaction/support/path-safety.d.ts.map +1 -1
  341. package/lib/provider/transaction/support/path-safety.js +4 -3
  342. package/lib/provider/transaction/support/path-safety.js.map +1 -1
  343. package/lib/provider/transaction/types.d.ts +2 -1
  344. package/lib/provider/transaction/types.d.ts.map +1 -1
  345. package/lib/provider/types.d.ts +27 -5
  346. package/lib/provider/types.d.ts.map +1 -1
  347. package/lib/provider/types.js +1 -1
  348. package/lib/provider/types.js.map +1 -1
  349. package/lib/provider/worktree-path.d.ts +10 -0
  350. package/lib/provider/worktree-path.d.ts.map +1 -0
  351. package/lib/provider/worktree-path.js +47 -0
  352. package/lib/provider/worktree-path.js.map +1 -0
  353. package/lib/tool/context.d.ts +14 -0
  354. package/lib/tool/context.d.ts.map +1 -0
  355. package/lib/tool/context.js +95 -0
  356. package/lib/tool/context.js.map +1 -0
  357. package/lib/tool/delegation.d.ts +41 -0
  358. package/lib/tool/delegation.d.ts.map +1 -0
  359. package/lib/tool/delegation.js +196 -0
  360. package/lib/tool/delegation.js.map +1 -0
  361. package/lib/tool/errors.d.ts +3 -0
  362. package/lib/tool/errors.d.ts.map +1 -0
  363. package/lib/tool/errors.js +63 -0
  364. package/lib/tool/errors.js.map +1 -0
  365. package/lib/tool/guidance.d.ts +5 -0
  366. package/lib/tool/guidance.d.ts.map +1 -0
  367. package/lib/tool/guidance.js +48 -0
  368. package/lib/tool/guidance.js.map +1 -0
  369. package/lib/tool/history.d.ts +27 -0
  370. package/lib/tool/history.d.ts.map +1 -0
  371. package/lib/tool/history.js +157 -0
  372. package/lib/tool/history.js.map +1 -0
  373. package/lib/tool/index.d.ts +8 -0
  374. package/lib/tool/index.d.ts.map +1 -0
  375. package/lib/tool/index.js +296 -0
  376. package/lib/tool/index.js.map +1 -0
  377. package/lib/tool/inputs.d.ts +12 -0
  378. package/lib/tool/inputs.d.ts.map +1 -0
  379. package/lib/tool/inputs.js +24 -0
  380. package/lib/tool/inputs.js.map +1 -0
  381. package/lib/tool/list-models.d.ts +3 -0
  382. package/lib/tool/list-models.d.ts.map +1 -0
  383. package/lib/tool/list-models.js +38 -0
  384. package/lib/tool/list-models.js.map +1 -0
  385. package/lib/tool/list-sessions.d.ts +3 -0
  386. package/lib/tool/list-sessions.d.ts.map +1 -0
  387. package/lib/tool/list-sessions.js +70 -0
  388. package/lib/tool/list-sessions.js.map +1 -0
  389. package/lib/tool/list-worktrees.d.ts +3 -0
  390. package/lib/tool/list-worktrees.d.ts.map +1 -0
  391. package/lib/tool/list-worktrees.js +46 -0
  392. package/lib/tool/list-worktrees.js.map +1 -0
  393. package/lib/tool/native-session.d.ts +74 -0
  394. package/lib/tool/native-session.d.ts.map +1 -0
  395. package/lib/tool/native-session.js +248 -0
  396. package/lib/tool/native-session.js.map +1 -0
  397. package/lib/tool/new-worktree.d.ts +3 -0
  398. package/lib/tool/new-worktree.d.ts.map +1 -0
  399. package/lib/tool/new-worktree.js +81 -0
  400. package/lib/tool/new-worktree.js.map +1 -0
  401. package/lib/tool/outputs.d.ts +50 -0
  402. package/lib/tool/outputs.d.ts.map +1 -0
  403. package/lib/tool/outputs.js +65 -0
  404. package/lib/tool/outputs.js.map +1 -0
  405. package/lib/tool/report-result.d.ts +3 -0
  406. package/lib/tool/report-result.d.ts.map +1 -0
  407. package/lib/tool/report-result.js +83 -0
  408. package/lib/tool/report-result.js.map +1 -0
  409. package/lib/tool/schema.d.ts +7 -0
  410. package/lib/tool/schema.d.ts.map +1 -0
  411. package/lib/tool/schema.js +92 -0
  412. package/lib/tool/schema.js.map +1 -0
  413. package/lib/tool/send-message.d.ts +3 -0
  414. package/lib/tool/send-message.d.ts.map +1 -0
  415. package/lib/tool/send-message.js +64 -0
  416. package/lib/tool/send-message.js.map +1 -0
  417. package/lib/tool/span-worktree.d.ts +3 -0
  418. package/lib/tool/span-worktree.d.ts.map +1 -0
  419. package/lib/tool/span-worktree.js +114 -0
  420. package/lib/tool/span-worktree.js.map +1 -0
  421. package/lib/tool/types.d.ts +54 -0
  422. package/lib/tool/types.d.ts.map +1 -0
  423. package/lib/tool/types.js +2 -0
  424. package/lib/tool/types.js.map +1 -0
  425. package/lib/typert.host.js +387 -46
  426. package/lib/typert.remote-client.d.ts +17 -5
  427. package/lib/typert.remote-client.d.ts.map +1 -1
  428. package/lib/typert.remote-client.js +387 -46
  429. package/package.json +17 -3
@@ -1,13 +1,13 @@
1
1
  import { lstat, mkdtemp, realpath, rm, writeFile } from 'node:fs/promises';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
+ import { isSafeBranchName } from './branch-name.js';
4
5
  import { GitCommandError, runGit, } from './subprocess.js';
5
6
  import { WorktreeProviderError, providerError } from '../types.js';
6
7
  import { WORKTREE_GIT_COMMIT_PATTERN, WORKTREE_GIT_WORKING_TREE } from '../../contract/index.js';
7
8
  /** Shared with Contract/Manage/Client so commit-SHA validation cannot drift. */
8
9
  const COMMIT_PATTERN = WORKTREE_GIT_COMMIT_PATTERN;
9
- const HISTORY_REQUEST_LIMIT = 201;
10
- const HISTORY_VISIBLE_LIMIT = 200;
10
+ const HISTORY_VISIBLE_LIMIT = 50;
11
11
  /**
12
12
  * Line statistics for untracked files cost one `git diff --no-index` process per
13
13
  * file. A large untracked tree therefore reports unknown counts beyond this
@@ -414,18 +414,28 @@ function parseWorktrees(output) {
414
414
  flush();
415
415
  return worktrees;
416
416
  }
417
- /** Parse `for-each-ref` branch/path pairs without relying on whitespace delimiters. */
417
+ /** Parse exact refs, symrefs and optional checkout paths; tags never affect branch names. */
418
418
  function parseBranchWorktreePaths(output) {
419
419
  const fields = output.split('\0');
420
420
  const branches = [];
421
- for (let index = 0; index + 1 < fields.length; index += 2) {
422
- const name = (fields[index] ?? '').replace(/^\r?\n/u, '');
423
- const worktreePath = fields[index + 1] ?? '';
421
+ for (let index = 0; index + 3 < fields.length; index += 4) {
422
+ const ref = (fields[index] ?? '').replace(/^\r?\n/u, '');
423
+ const symref = fields[index + 2] ?? '';
424
+ const worktreePath = fields[index + 3] ?? '';
425
+ const kind = ref.startsWith('refs/heads/') ? 'local'
426
+ : ref.startsWith('refs/remotes/') ? 'remote' : undefined;
427
+ if (kind === undefined || symref || (kind === 'remote' && ref.endsWith('/HEAD')))
428
+ continue;
429
+ const name = ref.slice(kind === 'local' ? 'refs/heads/'.length : 'refs/remotes/'.length);
424
430
  if (!name)
425
431
  continue;
432
+ const remote = kind === 'remote' ? ref.slice('refs/remotes/'.length).split('/')[0] : undefined;
426
433
  branches.push({
427
434
  name,
428
- ...(worktreePath ? { worktreePath } : {}),
435
+ ref,
436
+ kind,
437
+ ...(remote ? { remote } : {}),
438
+ ...(kind === 'local' && worktreePath ? { worktreePath } : {}),
429
439
  });
430
440
  }
431
441
  return branches;
@@ -435,11 +445,10 @@ function isUnsupportedWorktreePathAtom(error) {
435
445
  }
436
446
  /**
437
447
  * 本地 Git worktree adapter:所有命令都以 DSH Workspace 根目录为 cwd,并仅使用固定的
438
- * 本地子命令;不使用 `--force`,也不访问 remote。
448
+ * 子命令;只有显式 fetchRemoteBranches 会访问已配置的 remote。
439
449
  *
440
450
  * Local Git worktree adapter: every command runs with the DSH Workspace root as
441
- * cwd and uses a fixed local-only subcommand; it never uses `--force` or accesses
442
- * remotes.
451
+ * cwd and uses fixed subcommands. Only explicit fetchRemoteBranches contacts remotes.
443
452
  */
444
453
  export class LocalGitAdapter {
445
454
  executable;
@@ -450,6 +459,7 @@ export class LocalGitAdapter {
450
459
  maxOutputBytes;
451
460
  defaultSignal;
452
461
  subprocess;
462
+ fetches = new Map();
453
463
  constructor(options = {}) {
454
464
  this.executable = options.executable ?? 'git';
455
465
  this.executableArgs = options.executableArgs ?? [];
@@ -564,12 +574,15 @@ export class LocalGitAdapter {
564
574
  operation: 'resolve repository identity',
565
575
  });
566
576
  }
577
+ // Git resolves relative output against its physical cwd, which can differ
578
+ // from the Workspace's symlink spelling.
579
+ const physicalWorkspaceRoot = await realpath(workspaceRoot);
567
580
  return {
568
581
  identity: {
569
- topLevel: await realpath(path.isAbsolute(topLevel) ? path.resolve(topLevel) : path.resolve(workspaceRoot, topLevel)),
582
+ topLevel: await realpath(path.isAbsolute(topLevel) ? path.resolve(topLevel) : path.resolve(physicalWorkspaceRoot, topLevel)),
570
583
  commonDirectory: await realpath(path.isAbsolute(commonDirectory)
571
584
  ? path.resolve(commonDirectory)
572
- : path.resolve(workspaceRoot, commonDirectory)),
585
+ : path.resolve(physicalWorkspaceRoot, commonDirectory)),
573
586
  },
574
587
  headCommit,
575
588
  };
@@ -640,19 +653,24 @@ export class LocalGitAdapter {
640
653
  throw operationError('count commit divergence', worktreeRoot, undefined, headCommit, error);
641
654
  }
642
655
  }
643
- /** Read at most 201 commits after a boundary, or the complete reachable HEAD history when omitted. */
656
+ /** Read one bounded page using a pinned HEAD for the entire log invocation. */
644
657
  async listCommits(worktreeRoot, baseCommit, options = {}) {
645
658
  if (baseCommit !== undefined)
646
659
  assertCommitArgument(baseCommit, 'list commits', worktreeRoot);
660
+ const offset = options.offset ?? 0;
661
+ if (!Number.isSafeInteger(offset) || offset < 0) {
662
+ throw providerError('WORKTREE_STATE_CONFLICT', 'Invalid history offset', { offset });
663
+ }
647
664
  const headCommit = await this.resolveCommit(worktreeRoot, 'HEAD', options);
648
665
  try {
649
666
  const result = await this.run([
650
667
  'log',
651
668
  '--no-color',
652
669
  '--topo-order',
653
- `--max-count=${HISTORY_REQUEST_LIMIT}`,
670
+ `--max-count=${HISTORY_VISIBLE_LIMIT + 1}`,
671
+ `--skip=${offset}`,
654
672
  '--format=%H%x00%P%x00%s%x00%an%x00%ae%x00%aI%x1e',
655
- ...(baseCommit === undefined ? [] : [`${baseCommit}..HEAD`]),
673
+ baseCommit === undefined ? headCommit : `${baseCommit}..${headCommit}`,
656
674
  ], worktreeRoot, options);
657
675
  const commits = result.stdout
658
676
  .split('\x1e')
@@ -663,6 +681,7 @@ export class LocalGitAdapter {
663
681
  headCommit,
664
682
  commits: commits.slice(0, HISTORY_VISIBLE_LIMIT),
665
683
  truncated: commits.length > HISTORY_VISIBLE_LIMIT,
684
+ ...(commits.length > HISTORY_VISIBLE_LIMIT ? { nextOffset: offset + HISTORY_VISIBLE_LIMIT } : {}),
666
685
  };
667
686
  }
668
687
  catch (error) {
@@ -671,6 +690,62 @@ export class LocalGitAdapter {
671
690
  throw operationError('list commits', worktreeRoot, undefined, baseCommit, error);
672
691
  }
673
692
  }
693
+ async containsCommit(worktreeRoot, commit, headCommit, baseCommit, options = {}) {
694
+ assertCommitArgument(commit, 'authorize commit', worktreeRoot);
695
+ assertCommitArgument(headCommit, 'authorize commit', worktreeRoot);
696
+ if (baseCommit !== undefined)
697
+ assertCommitArgument(baseCommit, 'authorize commit', worktreeRoot);
698
+ try {
699
+ await this.run(['rev-parse', '--verify', '--quiet', `${commit}^{commit}`], worktreeRoot, options);
700
+ }
701
+ catch (error) {
702
+ if (error instanceof GitCommandError && error.exitCode === 1 &&
703
+ !error.timedOut && !error.aborted && !error.outputTruncated)
704
+ return false;
705
+ throw operationError('authorize commit', worktreeRoot, undefined, commit, error);
706
+ }
707
+ const isAncestor = async (head) => {
708
+ try {
709
+ await this.run(['merge-base', '--is-ancestor', commit, head], worktreeRoot, options);
710
+ return true;
711
+ }
712
+ catch (error) {
713
+ if (error instanceof GitCommandError && error.exitCode === 1 &&
714
+ !error.timedOut && !error.aborted && !error.outputTruncated)
715
+ return false;
716
+ throw operationError('authorize commit', worktreeRoot, undefined, commit, error);
717
+ }
718
+ };
719
+ return await isAncestor(headCommit) && (baseCommit === undefined || !await isAncestor(baseCommit));
720
+ }
721
+ async containsCommits(worktreeRoot, commits, headCommit, baseCommit, options = {}) {
722
+ for (const commit of commits)
723
+ assertCommitArgument(commit, 'authorize commits', worktreeRoot);
724
+ assertCommitArgument(headCommit, 'authorize commits', worktreeRoot);
725
+ if (baseCommit !== undefined)
726
+ assertCommitArgument(baseCommit, 'authorize commits', worktreeRoot);
727
+ if (commits.length < 8) {
728
+ for (const commit of commits) {
729
+ if (!await this.containsCommit(worktreeRoot, commit, headCommit, baseCommit, options))
730
+ return false;
731
+ }
732
+ return true;
733
+ }
734
+ try {
735
+ // Large selections share one traversal. The runner's output bound fails
736
+ // closed on oversized histories; a partial membership set is never trusted.
737
+ const result = await this.run(['rev-list', headCommit, ...(baseCommit === undefined ? [] : [`^${baseCommit}`]), '--'], worktreeRoot, options);
738
+ const members = new Set(result.stdout.trim().split(/\s+/u).filter(Boolean));
739
+ for (const member of members)
740
+ assertCommitArgument(member, 'authorize commits', worktreeRoot);
741
+ return commits.every((commit) => members.has(commit));
742
+ }
743
+ catch (error) {
744
+ if (error instanceof WorktreeProviderError)
745
+ throw error;
746
+ throw operationError('authorize commits', worktreeRoot, undefined, headCommit, error);
747
+ }
748
+ }
674
749
  async isTrackedWorkingTreeFile(worktreeRoot, filePath, options) {
675
750
  try {
676
751
  await this.run(['ls-files', '--error-unmatch', '--', filePath], worktreeRoot, options);
@@ -1114,30 +1189,57 @@ export class LocalGitAdapter {
1114
1189
  ];
1115
1190
  return shapeFileDiff(() => this.run(args, worktreeRoot, options), { commit, path: filePath, operation, worktreeRoot, detail: commit });
1116
1191
  }
1117
- /**
1118
- * 仅列出 `refs/heads/` 下的本地分支;NUL 分隔避免依赖面向人的展示格式或空白切分。
1119
- * Lists local branches under `refs/heads/` only; NUL delimiting avoids
1120
- * depending on human-facing formatting or whitespace tokenization.
1121
- */
1192
+ /** Fetch branch heads into remote-tracking refs, ignoring configured local/tag refspecs. */
1193
+ async fetchRemoteBranches(workspaceRoot, options = {}) {
1194
+ const existing = this.fetches.get(workspaceRoot);
1195
+ if (existing)
1196
+ return existing;
1197
+ const task = (async () => {
1198
+ try {
1199
+ const result = await this.run(['remote'], workspaceRoot, options);
1200
+ const remotes = result.stdout.split(/\r?\n/u).filter(Boolean);
1201
+ for (const remote of remotes) {
1202
+ if (!isSafeBranchName(remote))
1203
+ throw providerError('GIT_OPERATION_FAILED', 'Invalid configured Git remote name', { operation: 'fetch remote branches' });
1204
+ }
1205
+ for (const remote of remotes) {
1206
+ await this.run([
1207
+ '-c', 'core.hooksPath=' + GIT_NULL_DEVICE,
1208
+ 'fetch', '--refmap=', '--no-tags', '--no-prune', '--no-recurse-submodules', '--no-auto-gc',
1209
+ '--', remote, '+refs/heads/*:refs/remotes/' + remote + '/*',
1210
+ ], workspaceRoot, options, false);
1211
+ }
1212
+ }
1213
+ catch (error) {
1214
+ throw operationError('fetch remote branches', workspaceRoot, undefined, undefined, error);
1215
+ }
1216
+ })();
1217
+ this.fetches.set(workspaceRoot, task);
1218
+ try {
1219
+ await task;
1220
+ }
1221
+ finally {
1222
+ if (this.fetches.get(workspaceRoot) === task)
1223
+ this.fetches.delete(workspaceRoot);
1224
+ }
1225
+ }
1226
+ /** Lists local and fetched remote refs using NUL delimiters. */
1122
1227
  async listBranches(workspaceRoot, options = {}) {
1123
1228
  try {
1124
- const result = await this.run(['for-each-ref', '--format=%(refname:short)%00', 'refs/heads/'], workspaceRoot, options);
1125
- return result.stdout
1126
- .split('\0')
1127
- .map((branch) => branch.replace(/^\r?\n/, '').replace(/\r?\n$/, ''))
1128
- .filter((branch) => branch.length > 0);
1229
+ const result = await this.run(['for-each-ref', '--format=%(refname)%00%(refname:short)%00%(symref)%00%00', 'refs/heads/', 'refs/remotes/'], workspaceRoot, options);
1230
+ return parseBranchWorktreePaths(result.stdout).map((branch) => branch.name);
1129
1231
  }
1130
1232
  catch (error) {
1131
1233
  throw operationError('list branches', workspaceRoot, undefined, undefined, error);
1132
1234
  }
1133
1235
  }
1134
1236
  /**
1135
- * Read local branches and their checkout paths in one Git invocation when the
1237
+ * Read local/fetched remote branches and local checkout paths in one invocation when the
1136
1238
  * installed Git supports the `worktreepath` format atom.
1137
1239
  */
1138
1240
  async listBranchesWithWorktreePaths(workspaceRoot, options = {}) {
1139
1241
  try {
1140
- const result = await this.run(['for-each-ref', '--format=%(refname:short)%00%(worktreepath)%00', 'refs/heads/'], workspaceRoot, options);
1242
+ const result = await this.run(['for-each-ref', '--format=%(refname)%00%(refname:short)%00%(symref)%00%(worktreepath)%00', 'refs/heads/', 'refs/remotes/'], workspaceRoot, options);
1141
1243
  return parseBranchWorktreePaths(result.stdout);
1142
1244
  }
1143
1245
  catch (error) {
@@ -1145,15 +1247,17 @@ export class LocalGitAdapter {
1145
1247
  throw operationError('list branches', workspaceRoot, undefined, undefined, error);
1146
1248
  }
1147
1249
  const [branches, worktrees] = await Promise.all([
1148
- this.listBranches(workspaceRoot, options),
1250
+ this.run(['for-each-ref', '--format=%(refname)%00%(refname:short)%00%(symref)%00%00', 'refs/heads/', 'refs/remotes/'], workspaceRoot, options).then((result) => parseBranchWorktreePaths(result.stdout))
1251
+ .catch((cause) => { throw operationError('list branches', workspaceRoot, undefined, undefined, cause); }),
1149
1252
  this.listWorktrees(workspaceRoot, options),
1150
1253
  ]);
1151
1254
  const worktreePathByBranch = new Map(worktrees.flatMap((worktree) => worktree.branch
1152
1255
  ? [[worktree.branch, worktree.absolutePath]]
1153
1256
  : []));
1154
- return branches.map((name) => ({
1155
- name,
1156
- ...(worktreePathByBranch.has(name) ? { worktreePath: worktreePathByBranch.get(name) } : {}),
1257
+ return branches.map((branch) => ({
1258
+ ...branch,
1259
+ ...(branch.kind !== 'remote' && worktreePathByBranch.has(branch.ref?.slice('refs/heads/'.length) ?? branch.name)
1260
+ ? { worktreePath: worktreePathByBranch.get(branch.ref?.slice('refs/heads/'.length) ?? branch.name) } : {}),
1157
1261
  }));
1158
1262
  }
1159
1263
  }
@@ -1171,6 +1275,28 @@ export class LocalGitAdapter {
1171
1275
  throw operationError('list worktrees', workspaceRoot, undefined, undefined, error);
1172
1276
  }
1173
1277
  }
1278
+ async resolveCheckoutHead(workspaceRoot, worktree, options = {}) {
1279
+ const commit = worktree.headCommit;
1280
+ if (worktree.prunable || worktree.bare || !commit || !COMMIT_PATTERN.test(commit) || /^0+$/u.test(commit))
1281
+ return undefined;
1282
+ if (worktree.branch && !worktree.detached)
1283
+ return { kind: 'branch', name: worktree.branch, commit };
1284
+ try {
1285
+ // Only the captured object in the known repository is inspected.
1286
+ const tag = (await this.run(['describe', '--tags', '--exact-match', commit], workspaceRoot, options)).stdout.trim();
1287
+ return tag ? { kind: 'tag', name: tag, commit } : { kind: 'commit', name: commit.slice(0, 7), commit };
1288
+ }
1289
+ catch (error) {
1290
+ // No exact tag is an ordinary detached commit. All other display failures
1291
+ // omit the label without breaking registration or readiness reads.
1292
+ if (error instanceof GitCommandError && error.exitCode === 128 &&
1293
+ !error.aborted && !error.timedOut && !error.outputTruncated && !error.processTreeDidNotExit &&
1294
+ /no tag|cannot describe|no names found/iu.test(error.stderr)) {
1295
+ return { kind: 'commit', name: commit.slice(0, 7), commit };
1296
+ }
1297
+ return undefined;
1298
+ }
1299
+ }
1174
1300
  /**
1175
1301
  * 执行 `git worktree add`;传入 newBranch 时使用 `-b` 从 base branch 创建本地分支。
1176
1302
  * Executes `git worktree add`; when newBranch is supplied, `-b` creates a local
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/provider/git/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/provider/git/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Accept branch short names only; Git revision expressions and options are forbidden. */
2
+ export declare function isSafeBranchName(branch: string): boolean;
3
+ /** Only exact branch namespaces are accepted, and callers must also enumerate the ref. */
4
+ export declare function isSafeBranchIdentity(branch: string): boolean;
5
+ //# sourceMappingURL=branch-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-name.d.ts","sourceRoot":"","sources":["../../../src/provider/git/branch-name.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMxD;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG5D"}
@@ -0,0 +1,16 @@
1
+ /** Accept branch short names only; Git revision expressions and options are forbidden. */
2
+ export function isSafeBranchName(branch) {
3
+ if (!branch || branch === '@' || branch.startsWith('-') || branch.startsWith('refs/'))
4
+ return false;
5
+ if ([...branch].some((character) => character.charCodeAt(0) <= 32 || character.charCodeAt(0) === 127 ||
6
+ '~^:?*[\\'.includes(character)) || branch.includes('..') || branch.includes('@{'))
7
+ return false;
8
+ return branch.split('/').every((part) => part.length > 0 && !part.startsWith('.') &&
9
+ !part.endsWith('.') && !part.endsWith('.lock'));
10
+ }
11
+ /** Only exact branch namespaces are accepted, and callers must also enumerate the ref. */
12
+ export function isSafeBranchIdentity(branch) {
13
+ const prefix = ['refs/heads/', 'refs/remotes/'].find((value) => branch.startsWith(value));
14
+ return isSafeBranchName(prefix === undefined ? branch : branch.slice(prefix.length));
15
+ }
16
+ //# sourceMappingURL=branch-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-name.js","sourceRoot":"","sources":["../../../src/provider/git/branch-name.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACpG,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;QAClG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClG,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAC/E,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,OAAO,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { GitBranchWorktreeInfo, GitCommandOptions, GitWorktreeAdapter } from '../types.js';
2
+ /** Old injected adapters expose local short names only. */
3
+ export declare function readBranchFacts(git: GitWorktreeAdapter, root: string, options?: GitCommandOptions): Promise<readonly GitBranchWorktreeInfo[]>;
4
+ /** A remote-tracking ref cannot be the checked-out branch of a managed Worktree. */
5
+ export declare function assertLocalWorktreeBranch(base: GitBranchWorktreeInfo | undefined, newBranch: string | undefined): void;
6
+ export declare function localBranchExists(branches: readonly GitBranchWorktreeInfo[], name: string): boolean;
7
+ /** Resolve exact refs or unambiguous legacy names; never let a new local ref steal a baseline. */
8
+ export declare function findBranchIdentity(branches: readonly GitBranchWorktreeInfo[], identity: string): GitBranchWorktreeInfo | undefined;
9
+ /** Normalize remote aliases when writing new baseline facts; leave legacy local names compatible. */
10
+ export declare function canonicalBranchIdentity(branch: GitBranchWorktreeInfo, requested: string): string;
11
+ //# sourceMappingURL=branches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branches.d.ts","sourceRoot":"","sources":["../../../src/provider/git/branches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGhG,2DAA2D;AAC3D,wBAAsB,eAAe,CACnC,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAG3C;AAED,oFAAoF;AACpF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,IAAI,CAMN;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnG;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,EAC1C,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAWnC;AAED,qGAAqG;AACrG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhG"}
@@ -0,0 +1,37 @@
1
+ import { providerError } from '../types.js';
2
+ /** Old injected adapters expose local short names only. */
3
+ export async function readBranchFacts(git, root, options = {}) {
4
+ if (git.listBranchesWithWorktreePaths)
5
+ return git.listBranchesWithWorktreePaths(root, options);
6
+ return (await git.listBranches(root, options)).map((name) => ({ name }));
7
+ }
8
+ /** A remote-tracking ref cannot be the checked-out branch of a managed Worktree. */
9
+ export function assertLocalWorktreeBranch(base, newBranch) {
10
+ if (base?.kind === 'remote' && newBranch === undefined) {
11
+ throw providerError('GIT_OPERATION_FAILED', 'A remote base branch requires a new local branch', {
12
+ baseBranch: base.name,
13
+ });
14
+ }
15
+ }
16
+ export function localBranchExists(branches, name) {
17
+ return branches.some((branch) => branch.kind !== 'remote' &&
18
+ (branch.ref === undefined ? branch.name === name : branch.ref === 'refs/heads/' + name));
19
+ }
20
+ /** Resolve exact refs or unambiguous legacy names; never let a new local ref steal a baseline. */
21
+ export function findBranchIdentity(branches, identity) {
22
+ const matches = branches.filter((branch) => identity.startsWith('refs/')
23
+ ? branch.ref === identity
24
+ : branch.name === identity || (branch.kind === 'remote' && 'remotes/' + branch.name === identity));
25
+ if (matches.length > 1) {
26
+ throw providerError('WORKTREE_STATE_CONFLICT', 'Baseline branch identity is ambiguous; select an exact branch ref', {
27
+ baseBranch: identity,
28
+ refs: matches.map((branch) => branch.ref ?? branch.name).join(', '),
29
+ });
30
+ }
31
+ return matches[0];
32
+ }
33
+ /** Normalize remote aliases when writing new baseline facts; leave legacy local names compatible. */
34
+ export function canonicalBranchIdentity(branch, requested) {
35
+ return branch.kind === 'remote' ? branch.ref ?? requested : requested;
36
+ }
37
+ //# sourceMappingURL=branches.js.map