@cerbur/clutch-dsh-worktree 0.1.16 → 0.1.17

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 (358) hide show
  1. package/README.md +214 -15
  2. package/README.zh.md +175 -12
  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 +5 -4
  12. package/lib/client/WorktreeSurface.js.map +1 -1
  13. package/lib/client/command-activity.d.ts +11 -0
  14. package/lib/client/command-activity.d.ts.map +1 -0
  15. package/lib/client/command-activity.js +71 -0
  16. package/lib/client/command-activity.js.map +1 -0
  17. package/lib/client/dashboard/DashboardRequest.d.ts +2 -1
  18. package/lib/client/dashboard/DashboardRequest.d.ts.map +1 -1
  19. package/lib/client/dashboard/DashboardRequest.js +3 -3
  20. package/lib/client/dashboard/DashboardRequest.js.map +1 -1
  21. package/lib/client/dashboard/WorktreeDashboard.d.ts +2 -1
  22. package/lib/client/dashboard/WorktreeDashboard.d.ts.map +1 -1
  23. package/lib/client/dashboard/WorktreeDashboard.js +48 -24
  24. package/lib/client/dashboard/WorktreeDashboard.js.map +1 -1
  25. package/lib/client/dashboard/WorktreeInstructions.d.ts +2 -1
  26. package/lib/client/dashboard/WorktreeInstructions.d.ts.map +1 -1
  27. package/lib/client/dashboard/WorktreeInstructions.js +27 -8
  28. package/lib/client/dashboard/WorktreeInstructions.js.map +1 -1
  29. package/lib/client/dashboard/dashboard-overlay.d.ts.map +1 -1
  30. package/lib/client/dashboard/dashboard-overlay.js +38 -52
  31. package/lib/client/dashboard/dashboard-overlay.js.map +1 -1
  32. package/lib/client/dashboard/dashboard-selection.d.ts +1 -0
  33. package/lib/client/dashboard/dashboard-selection.d.ts.map +1 -1
  34. package/lib/client/dashboard/dashboard-selection.js.map +1 -1
  35. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts +2 -1
  36. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts.map +1 -1
  37. package/lib/client/dashboard/git/WorktreeGitPanel.js +54 -8
  38. package/lib/client/dashboard/git/WorktreeGitPanel.js.map +1 -1
  39. package/lib/client/dashboard/git/file-address.d.ts +2 -1
  40. package/lib/client/dashboard/git/file-address.d.ts.map +1 -1
  41. package/lib/client/dashboard/git/file-address.js +8 -13
  42. package/lib/client/dashboard/git/file-address.js.map +1 -1
  43. package/lib/client/dashboard/git/useWorktreeGitState.d.ts.map +1 -1
  44. package/lib/client/dashboard/git/useWorktreeGitState.js +4 -1
  45. package/lib/client/dashboard/git/useWorktreeGitState.js.map +1 -1
  46. package/lib/client/dsh-icons.d.ts +2 -0
  47. package/lib/client/dsh-icons.d.ts.map +1 -1
  48. package/lib/client/dsh-icons.js +3 -1
  49. package/lib/client/dsh-icons.js.map +1 -1
  50. package/lib/client/dsh-slot-contract.d.ts +9 -1
  51. package/lib/client/dsh-slot-contract.d.ts.map +1 -1
  52. package/lib/client/entry.d.ts.map +1 -1
  53. package/lib/client/entry.js +39 -2
  54. package/lib/client/entry.js.map +1 -1
  55. package/lib/client/layout/app-frame.d.ts +12 -0
  56. package/lib/client/layout/app-frame.d.ts.map +1 -0
  57. package/lib/client/layout/app-frame.js +82 -0
  58. package/lib/client/layout/app-frame.js.map +1 -0
  59. package/lib/client/locales.d.ts +144 -0
  60. package/lib/client/locales.d.ts.map +1 -1
  61. package/lib/client/locales.js +204 -60
  62. package/lib/client/locales.js.map +1 -1
  63. package/lib/client/overlay/overlay-bounds.d.ts.map +1 -1
  64. package/lib/client/overlay/overlay-bounds.js +8 -3
  65. package/lib/client/overlay/overlay-bounds.js.map +1 -1
  66. package/lib/client/overlay/sidebar-overlay-geometry.d.ts +3 -1
  67. package/lib/client/overlay/sidebar-overlay-geometry.d.ts.map +1 -1
  68. package/lib/client/overlay/sidebar-overlay-geometry.js +94 -34
  69. package/lib/client/overlay/sidebar-overlay-geometry.js.map +1 -1
  70. package/lib/client/restart-notice.d.ts +10 -3
  71. package/lib/client/restart-notice.d.ts.map +1 -1
  72. package/lib/client/restart-notice.js +44 -11
  73. package/lib/client/restart-notice.js.map +1 -1
  74. package/lib/client/session/session-view.d.ts +16 -2
  75. package/lib/client/session/session-view.d.ts.map +1 -1
  76. package/lib/client/session/session-view.js +24 -10
  77. package/lib/client/session/session-view.js.map +1 -1
  78. package/lib/client/session/worktree-session.d.ts +1 -0
  79. package/lib/client/session/worktree-session.d.ts.map +1 -1
  80. package/lib/client/session/worktree-session.js +3 -1
  81. package/lib/client/session/worktree-session.js.map +1 -1
  82. package/lib/client/settings/ToolSettings.d.ts +9 -0
  83. package/lib/client/settings/ToolSettings.d.ts.map +1 -0
  84. package/lib/client/settings/ToolSettings.js +77 -0
  85. package/lib/client/settings/ToolSettings.js.map +1 -0
  86. package/lib/client/settings/WorktreeSettings.d.ts +8 -0
  87. package/lib/client/settings/WorktreeSettings.d.ts.map +1 -0
  88. package/lib/client/settings/WorktreeSettings.js +46 -0
  89. package/lib/client/settings/WorktreeSettings.js.map +1 -0
  90. package/lib/client/settings/WorktreeSettingsNavIcon.d.ts +6 -0
  91. package/lib/client/settings/WorktreeSettingsNavIcon.d.ts.map +1 -0
  92. package/lib/client/settings/WorktreeSettingsNavIcon.js +51 -0
  93. package/lib/client/settings/WorktreeSettingsNavIcon.js.map +1 -0
  94. package/lib/client/settings/diagnostics.d.ts +24 -0
  95. package/lib/client/settings/diagnostics.d.ts.map +1 -0
  96. package/lib/client/settings/diagnostics.js +63 -0
  97. package/lib/client/settings/diagnostics.js.map +1 -0
  98. package/lib/client/settings/settings-navigation.d.ts +7 -0
  99. package/lib/client/settings/settings-navigation.d.ts.map +1 -0
  100. package/lib/client/settings/settings-navigation.js +12 -0
  101. package/lib/client/settings/settings-navigation.js.map +1 -0
  102. package/lib/client/surface/actions/useLifecycleActions.d.ts +2 -1
  103. package/lib/client/surface/actions/useLifecycleActions.d.ts.map +1 -1
  104. package/lib/client/surface/actions/useLifecycleActions.js +14 -5
  105. package/lib/client/surface/actions/useLifecycleActions.js.map +1 -1
  106. package/lib/client/surface/actions/useSessionActions.d.ts.map +1 -1
  107. package/lib/client/surface/actions/useSessionActions.js +6 -6
  108. package/lib/client/surface/actions/useSessionActions.js.map +1 -1
  109. package/lib/client/surface/actions/useWorktreeRegistration.d.ts.map +1 -1
  110. package/lib/client/surface/actions/useWorktreeRegistration.js +4 -2
  111. package/lib/client/surface/actions/useWorktreeRegistration.js.map +1 -1
  112. package/lib/client/surface/components/NotificationToasts.d.ts +19 -3
  113. package/lib/client/surface/components/NotificationToasts.d.ts.map +1 -1
  114. package/lib/client/surface/components/NotificationToasts.js +73 -7
  115. package/lib/client/surface/components/NotificationToasts.js.map +1 -1
  116. package/lib/client/surface/components/OverlayScrollbar.d.ts +6 -0
  117. package/lib/client/surface/components/OverlayScrollbar.d.ts.map +1 -0
  118. package/lib/client/surface/components/OverlayScrollbar.js +84 -0
  119. package/lib/client/surface/components/OverlayScrollbar.js.map +1 -0
  120. package/lib/client/surface/components/RestartToast.d.ts.map +1 -1
  121. package/lib/client/surface/components/RestartToast.js +4 -3
  122. package/lib/client/surface/components/RestartToast.js.map +1 -1
  123. package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -1
  124. package/lib/client/surface/components/SurfaceContent.js +110 -39
  125. package/lib/client/surface/components/SurfaceContent.js.map +1 -1
  126. package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -1
  127. package/lib/client/surface/components/WorkspaceTree.js +2 -1
  128. package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
  129. package/lib/client/surface/components/dialogs.d.ts.map +1 -1
  130. package/lib/client/surface/components/dialogs.js +14 -10
  131. package/lib/client/surface/components/dialogs.js.map +1 -1
  132. package/lib/client/surface/components/rows.d.ts +1 -1
  133. package/lib/client/surface/components/rows.d.ts.map +1 -1
  134. package/lib/client/surface/components/rows.js +15 -97
  135. package/lib/client/surface/components/rows.js.map +1 -1
  136. package/lib/client/surface/notification-queue.d.ts +15 -0
  137. package/lib/client/surface/notification-queue.d.ts.map +1 -1
  138. package/lib/client/surface/notification-queue.js +13 -2
  139. package/lib/client/surface/notification-queue.js.map +1 -1
  140. package/lib/client/surface/state/useSurfaceRefresh.d.ts +1 -1
  141. package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -1
  142. package/lib/client/surface/state/useSurfaceRefresh.js +13 -1
  143. package/lib/client/surface/state/useSurfaceRefresh.js.map +1 -1
  144. package/lib/client/surface/state/useSurfaceSources.d.ts +1 -1
  145. package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -1
  146. package/lib/client/surface/state/useSurfaceSources.js +4 -2
  147. package/lib/client/surface/state/useSurfaceSources.js.map +1 -1
  148. package/lib/client/surface/state/useTitleMarquee.d.ts +7 -0
  149. package/lib/client/surface/state/useTitleMarquee.d.ts.map +1 -0
  150. package/lib/client/surface/state/useTitleMarquee.js +60 -0
  151. package/lib/client/surface/state/useTitleMarquee.js.map +1 -0
  152. package/lib/client/surface/types.d.ts +8 -1
  153. package/lib/client/surface/types.d.ts.map +1 -1
  154. package/lib/client/view/worktree-error-copy.d.ts.map +1 -1
  155. package/lib/client/view/worktree-error-copy.js +69 -14
  156. package/lib/client/view/worktree-error-copy.js.map +1 -1
  157. package/lib/client/view/worktree-view-errors.d.ts.map +1 -1
  158. package/lib/client/view/worktree-view-errors.js +13 -5
  159. package/lib/client/view/worktree-view-errors.js.map +1 -1
  160. package/lib/client/worktree-connection.d.ts +6 -2
  161. package/lib/client/worktree-connection.d.ts.map +1 -1
  162. package/lib/client/worktree-connection.js +6 -0
  163. package/lib/client/worktree-connection.js.map +1 -1
  164. package/lib/client/worktree-tool-changes.d.ts +13 -0
  165. package/lib/client/worktree-tool-changes.d.ts.map +1 -0
  166. package/lib/client/worktree-tool-changes.js +64 -0
  167. package/lib/client/worktree-tool-changes.js.map +1 -0
  168. package/lib/client.js +2188 -947
  169. package/lib/client.js.map +1 -1
  170. package/lib/contract/index.d.ts +11 -1
  171. package/lib/contract/index.d.ts.map +1 -1
  172. package/lib/contract/index.js +9 -0
  173. package/lib/contract/index.js.map +1 -1
  174. package/lib/contract/tool-settings.d.ts +28 -0
  175. package/lib/contract/tool-settings.d.ts.map +1 -0
  176. package/lib/contract/tool-settings.js +10 -0
  177. package/lib/contract/tool-settings.js.map +1 -0
  178. package/lib/contract/worktree-tool-changes.d.ts +10 -0
  179. package/lib/contract/worktree-tool-changes.d.ts.map +1 -0
  180. package/lib/contract/worktree-tool-changes.js +2 -0
  181. package/lib/contract/worktree-tool-changes.js.map +1 -0
  182. package/lib/host/permission-preset-append.d.ts +15 -0
  183. package/lib/host/permission-preset-append.d.ts.map +1 -0
  184. package/lib/host/permission-preset-append.js +63 -0
  185. package/lib/host/permission-preset-append.js.map +1 -0
  186. package/lib/host/service.d.ts +17 -0
  187. package/lib/host/service.d.ts.map +1 -1
  188. package/lib/host/service.js +67 -11
  189. package/lib/host/service.js.map +1 -1
  190. package/lib/host/tool-settings.d.ts +14 -0
  191. package/lib/host/tool-settings.d.ts.map +1 -0
  192. package/lib/host/tool-settings.js +98 -0
  193. package/lib/host/tool-settings.js.map +1 -0
  194. package/lib/host/worktree-permission-manager.d.ts.map +1 -1
  195. package/lib/host/worktree-permission-manager.js +2 -4
  196. package/lib/host/worktree-permission-manager.js.map +1 -1
  197. package/lib/host/worktree-tool-changes.d.ts +12 -0
  198. package/lib/host/worktree-tool-changes.d.ts.map +1 -0
  199. package/lib/host/worktree-tool-changes.js +60 -0
  200. package/lib/host/worktree-tool-changes.js.map +1 -0
  201. package/lib/manage/manager-git-history.d.ts.map +1 -1
  202. package/lib/manage/manager-git-history.js +29 -28
  203. package/lib/manage/manager-git-history.js.map +1 -1
  204. package/lib/manage/manager-sessions.d.ts +5 -0
  205. package/lib/manage/manager-sessions.d.ts.map +1 -1
  206. package/lib/manage/manager-sessions.js +34 -11
  207. package/lib/manage/manager-sessions.js.map +1 -1
  208. package/lib/manage/manager-support.d.ts +3 -1
  209. package/lib/manage/manager-support.d.ts.map +1 -1
  210. package/lib/manage/manager-support.js +17 -0
  211. package/lib/manage/manager-support.js.map +1 -1
  212. package/lib/manage/manager-worktree-lifecycle.d.ts.map +1 -1
  213. package/lib/manage/manager-worktree-lifecycle.js +5 -4
  214. package/lib/manage/manager-worktree-lifecycle.js.map +1 -1
  215. package/lib/manage/manager-worktrees.d.ts +1 -0
  216. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  217. package/lib/manage/manager-worktrees.js +74 -22
  218. package/lib/manage/manager-worktrees.js.map +1 -1
  219. package/lib/manage/manager.d.ts +10 -0
  220. package/lib/manage/manager.d.ts.map +1 -1
  221. package/lib/manage/manager.js +12 -1
  222. package/lib/manage/manager.js.map +1 -1
  223. package/lib/manage/types.d.ts +10 -1
  224. package/lib/manage/types.d.ts.map +1 -1
  225. package/lib/provider/generated-name.d.ts.map +1 -1
  226. package/lib/provider/generated-name.js +5 -4
  227. package/lib/provider/generated-name.js.map +1 -1
  228. package/lib/provider/git/adapter.d.ts.map +1 -1
  229. package/lib/provider/git/adapter.js +5 -2
  230. package/lib/provider/git/adapter.js.map +1 -1
  231. package/lib/provider/mutation-token.d.ts +1 -1
  232. package/lib/provider/mutation-token.d.ts.map +1 -1
  233. package/lib/provider/mutation-token.js +1 -0
  234. package/lib/provider/mutation-token.js.map +1 -1
  235. package/lib/provider/sidecar/repository.d.ts.map +1 -1
  236. package/lib/provider/sidecar/repository.js +1 -0
  237. package/lib/provider/sidecar/repository.js.map +1 -1
  238. package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -1
  239. package/lib/provider/sidecar/sidecar-schema.js +24 -4
  240. package/lib/provider/sidecar/sidecar-schema.js.map +1 -1
  241. package/lib/provider/transaction/operations/adopt-branch.d.ts.map +1 -1
  242. package/lib/provider/transaction/operations/adopt-branch.js +6 -5
  243. package/lib/provider/transaction/operations/adopt-branch.js.map +1 -1
  244. package/lib/provider/transaction/operations/clean.d.ts.map +1 -1
  245. package/lib/provider/transaction/operations/clean.js +20 -19
  246. package/lib/provider/transaction/operations/clean.js.map +1 -1
  247. package/lib/provider/transaction/operations/create.d.ts +1 -1
  248. package/lib/provider/transaction/operations/create.d.ts.map +1 -1
  249. package/lib/provider/transaction/operations/create.js +23 -13
  250. package/lib/provider/transaction/operations/create.js.map +1 -1
  251. package/lib/provider/transaction/operations/import.d.ts.map +1 -1
  252. package/lib/provider/transaction/operations/import.js +7 -1
  253. package/lib/provider/transaction/operations/import.js.map +1 -1
  254. package/lib/provider/transaction/operations/remove.d.ts.map +1 -1
  255. package/lib/provider/transaction/operations/remove.js +20 -19
  256. package/lib/provider/transaction/operations/remove.js.map +1 -1
  257. package/lib/provider/transaction/recovery/failure-recovery.d.ts.map +1 -1
  258. package/lib/provider/transaction/recovery/failure-recovery.js +19 -18
  259. package/lib/provider/transaction/recovery/failure-recovery.js.map +1 -1
  260. package/lib/provider/transaction/recovery/recover.d.ts.map +1 -1
  261. package/lib/provider/transaction/recovery/recover.js +6 -2
  262. package/lib/provider/transaction/recovery/recover.js.map +1 -1
  263. package/lib/provider/transaction/support/inspection.d.ts.map +1 -1
  264. package/lib/provider/transaction/support/inspection.js +3 -2
  265. package/lib/provider/transaction/support/inspection.js.map +1 -1
  266. package/lib/provider/transaction/support/journal.d.ts.map +1 -1
  267. package/lib/provider/transaction/support/journal.js +8 -5
  268. package/lib/provider/transaction/support/journal.js.map +1 -1
  269. package/lib/provider/transaction/support/path-safety.d.ts.map +1 -1
  270. package/lib/provider/transaction/support/path-safety.js +4 -3
  271. package/lib/provider/transaction/support/path-safety.js.map +1 -1
  272. package/lib/provider/transaction/types.d.ts +2 -1
  273. package/lib/provider/transaction/types.d.ts.map +1 -1
  274. package/lib/provider/types.d.ts +3 -1
  275. package/lib/provider/types.d.ts.map +1 -1
  276. package/lib/provider/types.js +1 -1
  277. package/lib/provider/types.js.map +1 -1
  278. package/lib/provider/worktree-path.d.ts +10 -0
  279. package/lib/provider/worktree-path.d.ts.map +1 -0
  280. package/lib/provider/worktree-path.js +47 -0
  281. package/lib/provider/worktree-path.js.map +1 -0
  282. package/lib/tool/context.d.ts +14 -0
  283. package/lib/tool/context.d.ts.map +1 -0
  284. package/lib/tool/context.js +95 -0
  285. package/lib/tool/context.js.map +1 -0
  286. package/lib/tool/delegation.d.ts +41 -0
  287. package/lib/tool/delegation.d.ts.map +1 -0
  288. package/lib/tool/delegation.js +196 -0
  289. package/lib/tool/delegation.js.map +1 -0
  290. package/lib/tool/errors.d.ts +3 -0
  291. package/lib/tool/errors.d.ts.map +1 -0
  292. package/lib/tool/errors.js +63 -0
  293. package/lib/tool/errors.js.map +1 -0
  294. package/lib/tool/guidance.d.ts +5 -0
  295. package/lib/tool/guidance.d.ts.map +1 -0
  296. package/lib/tool/guidance.js +48 -0
  297. package/lib/tool/guidance.js.map +1 -0
  298. package/lib/tool/history.d.ts +27 -0
  299. package/lib/tool/history.d.ts.map +1 -0
  300. package/lib/tool/history.js +157 -0
  301. package/lib/tool/history.js.map +1 -0
  302. package/lib/tool/index.d.ts +8 -0
  303. package/lib/tool/index.d.ts.map +1 -0
  304. package/lib/tool/index.js +296 -0
  305. package/lib/tool/index.js.map +1 -0
  306. package/lib/tool/inputs.d.ts +12 -0
  307. package/lib/tool/inputs.d.ts.map +1 -0
  308. package/lib/tool/inputs.js +24 -0
  309. package/lib/tool/inputs.js.map +1 -0
  310. package/lib/tool/list-models.d.ts +3 -0
  311. package/lib/tool/list-models.d.ts.map +1 -0
  312. package/lib/tool/list-models.js +38 -0
  313. package/lib/tool/list-models.js.map +1 -0
  314. package/lib/tool/list-sessions.d.ts +3 -0
  315. package/lib/tool/list-sessions.d.ts.map +1 -0
  316. package/lib/tool/list-sessions.js +70 -0
  317. package/lib/tool/list-sessions.js.map +1 -0
  318. package/lib/tool/list-worktrees.d.ts +3 -0
  319. package/lib/tool/list-worktrees.d.ts.map +1 -0
  320. package/lib/tool/list-worktrees.js +39 -0
  321. package/lib/tool/list-worktrees.js.map +1 -0
  322. package/lib/tool/native-session.d.ts +74 -0
  323. package/lib/tool/native-session.d.ts.map +1 -0
  324. package/lib/tool/native-session.js +248 -0
  325. package/lib/tool/native-session.js.map +1 -0
  326. package/lib/tool/new-worktree.d.ts +3 -0
  327. package/lib/tool/new-worktree.d.ts.map +1 -0
  328. package/lib/tool/new-worktree.js +81 -0
  329. package/lib/tool/new-worktree.js.map +1 -0
  330. package/lib/tool/outputs.d.ts +50 -0
  331. package/lib/tool/outputs.d.ts.map +1 -0
  332. package/lib/tool/outputs.js +65 -0
  333. package/lib/tool/outputs.js.map +1 -0
  334. package/lib/tool/report-result.d.ts +3 -0
  335. package/lib/tool/report-result.d.ts.map +1 -0
  336. package/lib/tool/report-result.js +83 -0
  337. package/lib/tool/report-result.js.map +1 -0
  338. package/lib/tool/schema.d.ts +7 -0
  339. package/lib/tool/schema.d.ts.map +1 -0
  340. package/lib/tool/schema.js +92 -0
  341. package/lib/tool/schema.js.map +1 -0
  342. package/lib/tool/send-message.d.ts +3 -0
  343. package/lib/tool/send-message.d.ts.map +1 -0
  344. package/lib/tool/send-message.js +64 -0
  345. package/lib/tool/send-message.js.map +1 -0
  346. package/lib/tool/span-worktree.d.ts +3 -0
  347. package/lib/tool/span-worktree.d.ts.map +1 -0
  348. package/lib/tool/span-worktree.js +114 -0
  349. package/lib/tool/span-worktree.js.map +1 -0
  350. package/lib/tool/types.d.ts +54 -0
  351. package/lib/tool/types.d.ts.map +1 -0
  352. package/lib/tool/types.js +2 -0
  353. package/lib/tool/types.js.map +1 -0
  354. package/lib/typert.host.js +215 -44
  355. package/lib/typert.remote-client.d.ts +7 -1
  356. package/lib/typert.remote-client.d.ts.map +1 -1
  357. package/lib/typert.remote-client.js +215 -44
  358. package/package.json +14 -2
package/README.zh.md CHANGED
@@ -6,19 +6,24 @@
6
6
  → Session 组织会话,同时保留 DSH 对 Workspace 身份、Session 元数据、原生列表、消息和会话
7
7
  历史的事实来源地位。
8
8
 
9
+ 工具偏好存储在 Host 自有的独立配置文件中,与关系索引和原生 Session 元数据隔离。
9
10
  插件只在自己的 sidecar 中保存 Worktree 关系、获取事实、共享 Worktree 指令以及 Workspace 根目录的
10
11
  Main 指令。受管理的 Worktree 提供可选择本地 branch 基线的只读 Git 与变更 Dashboard,Main 提供 Workspace 根目录 HEAD history;
11
12
  不会复制 transcript 或改写 DSH Session。
12
13
 
13
14
  > **预览:** Worktree Dashboard 是仅 plugin 提供的早期 MVP 预览版。Worktree 导航、生命周期操作、
14
- > Session 操作、Worktree/Main 指令以及受管理 Worktree 或 Main 的 Git 与变更视图已经连接。派生 Worktree、设置和
15
+ > Session 操作、Worktree/Main 指令以及受管理 Worktree 或 Main 的 Git 与变更视图已经连接。派生 Worktree 和
15
16
  > 其他未完成操作仍标记为**即将推出**。
16
17
 
17
18
  ## 安装
18
19
 
19
20
  向运行中的 DSH 安装插件后,请重启 DSH Desktop,或重启 DSH Web 服务后刷新页面,以加载
20
- 插件 Host。如果 Client 已加载而 Host 尚未挂载,原生 toast 会在每次 Client 加载期间提醒
21
- 一次。网络故障和 Workspace 错误不会触发重启提示。
21
+ 插件 Host 与权限配置。重启前请先结束正在运行的任务。如果 Client 已加载而 Host 尚未挂载,
22
+ 原生 toast 会在每次 Client 加载期间提醒一次。如果 Worktree Session 权限检查确认
23
+ **Worktree Full Access** 预设不可用并降级为 `workspace-write`,另一条每次加载至多一次的
24
+ toast 会提示在刚安装或更新插件后重启。toast 关闭后,权限修复说明仍保留重启指引。网络故障、
25
+ Workspace 错误、无法确认的权限与用户的显式权限限制不会触发预设缺失提醒。提醒不会重载服务
26
+ 或授予完全访问;若重启后预设仍不可用,请检查 DSH 的插件与权限配置。
22
27
 
23
28
  ### 从 npm 安装
24
29
 
@@ -68,12 +73,18 @@ dsh plugin --profile web add "github:Cerbur/clutch-dsh#path:/packages/clutch-dsh
68
73
  | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
69
74
  | **Worktree 导航** | <img src="assets/screenshots/screenshots-en.png" width="420" alt="包含 Workspace、Main、Worktree 和 Session 行的 DSH Worktree 导航"> | 在 DSH 原生 Sidebar 中增加 Worktree 模式。macOS desktop 下,面板共享 DSH 原生玻璃材质,避免叠加第二层底色或透出重复导航。其他平台保留主题底色;降低透明度时使用更强的底色。Workspace 展开与新 Session 行使用原生节奏的淡入和位移动画。每个 Workspace 下可以浏览 Local/Main 和 Git Worktree,再打开对应行绑定的 Session。 |
70
75
  | **创建和导入 Worktree** | <img src="assets/screenshots/screenshots-import.png" width="420" alt="Worktree 创建与导入弹窗"> | 从本地 branch 创建 Worktree,或原地登记已有的 branch-attached Worktree。导入不会移动、复制或编辑已有目录。 |
71
- | **Worktree Dashboard** | <img src="assets/screenshots/screenshots-dashboard.png" width="420" alt="显示 Session 和 Worktree 操作的 Worktree Dashboard 预览"> | 预览版 Dashboard 显示 Worktree 身份、路径、Session、Worktree/Main 指令、已连接操作、由 Host 提供的在应用中打开入口,以及受管理 Worktree 或 Main 的只读 Git 与变更视图。派生 Worktree、设置和其他未完成卡片仍标记为**即将推出**。 |
76
+ | **Worktree Dashboard** | <img src="assets/screenshots/screenshots-dashboard.png" width="420" alt="显示 Session 和 Worktree 操作的 Worktree Dashboard 预览"> | 预览版 Dashboard 显示 Worktree 身份、路径、Session、Worktree/Main 指令、已连接操作、由 Host 提供的在应用中打开入口,以及受管理 Worktree 或 Main 的只读 Git 与变更视图。派生 Worktree 和其他未完成卡片仍标记为**即将推出**。 |
77
+ | **Agent 工具设置(实验性)** | <img src="assets/screenshots/screenshots-worktree-tool.png" width="420" alt="Worktree 工具设置预览"> | 在通用设置中选择 `/cluworktree` 启用的能力,在 Local/Main 与各受管 Worktree 的 Dashboard 中独立配置自动注入。委派创建的 Session 默认仅获得结果回报。 |
72
78
 
73
79
  ## 使用
74
80
 
75
81
  ### 打开 Worktree 模式
76
82
 
83
+ Sidebar 滚动条悬浮在边缘,不会挤压行内容或改变边距。Workspace 文件夹图标和展开时旋转的
84
+ 三角标与 DSH 原生一致。包含当前 Session 且已展开的 Workspace 使用原生蓝色文件夹,其他
85
+ Workspace 文件夹使用原生灰色。悬浮在过长的 Session 标题或 Worktree 名称上时,文字以原生速度
86
+ 滚动到末尾;移出后恢复起点。启用减少动态效果时会直接显示末尾。
87
+
77
88
  1. 启动 DSH Web,在 DSH Sidebar 底部选择 **Worktree**。
78
89
  2. 在 Worktree 树中搜索或展开 Workspace。
79
90
  3. 选择 Local/Main 或某个 Worktree 浏览其 Session。这个视角是附加的,DSH 原生的 Workspace
@@ -86,9 +97,17 @@ dsh plugin --profile web add "github:Cerbur/clutch-dsh#path:/packages/clutch-dsh
86
97
  拖拽和首次加载时直接完成布局。
87
98
  Web 的 Worktree 导航从原生 DSH 品牌栏下方开始,保留可见且可点击的 Sidebar 按钮;
88
99
  新会话按钮显示快捷键时也不会遮挡顶部栏。
100
+ 如果无法安全识别原生 Sidebar 布局,插件会保留原生导航,不覆盖其控件;布局变化后会重新尝试定位。
101
+ Worktree 导航与 Dashboard 支持在原生栏目之前、之间或之后插入额外标题栏或壳层控件的 AppFrame
102
+ 布局,并保持这些控件可用。
89
103
 
90
104
  ### 创建 Worktree
91
105
 
106
+ 也可以通过 `/cluworktree` 启用 Agent 工具,见下一节。
107
+
108
+ 新建 Worktree 操作使用与 Worktree 行相同的分支图标。Workspace 行按钮在 hover、键盘聚焦
109
+ 或选项菜单打开时显示,与菜单按钮保持一致。
110
+
92
111
  1. 打开 Local/Main 或 active Worktree 的选项菜单,选择 **Create Worktree**。
93
112
  2. 选择本地 base branch,也可以填写新的 branch 名称。
94
113
  3. 确认弹窗。插件会创建 Git Worktree,记录获取事实;从该 Worktree 打开 Session 时继续执行
@@ -97,9 +116,124 @@ Web 的 Worktree 导航从原生 DSH 品牌栏下方开始,保留可见且可
97
116
  Git repository、本地 branch 和 initial commit 必须可用。如果仓库尚未准备好,DSH 会显示对应
98
117
  的 readiness 提示和可复制的 setup 指引。
99
118
 
119
+ 如果 Workspace 位于仓库子目录,其 Worktree 会保留相同的相对目录。例如,位于
120
+ `/repo/packages/app` 的 Workspace 使用 `<worktree-root>/packages/app` 作为新 Session 的
121
+ 运行目录、Dashboard 路径、复制地址和打开应用的目标;Git 操作仍针对整个 checkout。
122
+ 如果该目录缺失或解析到了 checkout 外部,Worktree 会显示需要修复,不会回退到 Git 根目录,
123
+ 也不会自动创建缺失目录。
124
+
125
+ 子目录机制升级后,已绑定且仍使用旧 Git 根目录 cwd 的 Session 可以继续使用,包括自动工具注入、
126
+ 会话发现、继续投递、结果回报,以及默认从自身 checkout 的 HEAD 创建 Worktree。原始 cwd 和历史保持不变;
127
+ 新的 Session 绑定仍必须匹配 checkout 内的 Workspace 工作目录。Git 文件预览对当前 Session
128
+ cwd 内的文件使用相对地址,对其余 checkout 文件使用绝对地址,并遵循 DSH 原生文件访问校验。
129
+
130
+ ### 启用 Agent Worktree 工具
131
+
132
+ 打开 **设置 → Worktree → 通用**,开启 **Worktree 工具**并选择需要的能力。两处工具开关默认关闭。
133
+ 在属于 Workspace 或已绑定受管 Worktree 的 Session 中执行 `/cluworktree`,即可启用所选能力。
134
+ 关闭通用开关后不再提供该指令;取消全部能力时会自动关闭总开关。
135
+
136
+ 若需自动注入,打开 Local/Main 或受管 Worktree 的 **Dashboard → 设置**,
137
+ 开启 **自动注入 Worktree 工具**并选择能力。Local/Main 配置仅适用于此 Workspace 根目录中
138
+ 未绑定 Worktree 的会话;Worktree 配置仅适用于绑定到该 Worktree 的会话,各自独立保存。
139
+ 所选工具在首个模型请求组装前启用,Agent 重启后也按对应配置恢复;普通提示词 preset 同时包含委派指导,PTC 模式下也包含 SDK。
140
+ 此选择与通用设置独立:通用选择 1、2、3,自动注入选择 2、3、4 时,输入 `/cluworktree`
141
+ 只补齐能力 1。已经启用的工具保留到当前 Agent 结束;配置修改影响后续注入。
142
+
143
+ 设置中的 Worktree 入口与侧边栏使用相同的分支图标。
144
+ 两处设置均使用分组卡片,总开关位于顶部。开启后在分割线下展开工具选择与说明;
145
+ 关闭后收起工具选项并保留选择。设置用功能名称与说明介绍每一项能力;
146
+ 注入与回报提示集中在工具选择说明下方。
147
+ 指令与自动注入设置均标有 DSH 原生的**实验性**标签。
148
+ 指令沿用 DSH 原生展示,简短提示新增与当前可用数量。
149
+ 新建会话中执行 `/cluworktree` 后立即进入对话页面并显示指令结果,无需先向模型发送消息。
150
+
151
+ 开启委派能力后,“新建 feature Worktree 并实现或修复问题”默认先创建 Worktree,
152
+ 再将任务交给其中的独立 Session,由它修改代码、安装依赖和完成验证;仅创建目录不代表任务已开始。
153
+ 指导优先使用本插件已启用的工具,并尊重用户“仅创建”、在当前会话执行或使用其他工具的明确要求。
154
+
155
+ 六项可选能力对应以下工具:
156
+
157
+ | 工具 | 参数 | 行为 |
158
+ | ----------------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
159
+ | `clutch_new_worktree` | `name`、可选 `baseBranch`、`instructions` | 默认从调用 Session 所在的健康 Worktree 分支创建新分支;Local/Main 使用根 checkout 当前分支。显式本地 `baseBranch` 覆盖默认值。返回获取事实 `baseBranch` 与 `baseCommit`。 |
160
+ | `clutch_list_worktrees` | 可选 `workspaceId` | 列出受管 Worktree 的 id、分支、路径、生命周期和健康状态,以及可用的本地基线分支。默认查询调用方 Workspace。 |
161
+ | `clutch_span_worktree` | `worktreeId` 或旧参数 `name`、`prompt`、可选 `model`、`title` | 创建新的原生 Session、建立绑定、配置初始模型并提交 prompt。返回 `sessionId` 和投递阶段状态。 |
162
+ | `clutch_list_models` | 可选 `provider` | 列出原生 provider/model、推理强度和 provider 错误,同时返回当前 Session 模型及部署默认模型。 |
163
+ | `clutch_list_sessions` | 可选 `workspaceId`、`worktreeId` | 查找已有 Session、绑定状态、运行状态和标题。不可用关系仅返回诊断,不读取其历史。 |
164
+ | `clutch_send_message` | `sessionId`、`prompt`、可选 `mode`、`requestId` | 继续已有 Session。默认 `queue`;`steer` 在原生 step 边界加入纠正指令。返回接收结果,不返回回复。 |
165
+
166
+ 例如,让 Agent 调用 `clutch_new_worktree({ name: "feature/demo", instructions: "Run tests before finishing." })`,
167
+ 再使用返回的 Worktree id 调用 `clutch_span_worktree({ worktreeId: created.worktreeId, prompt: "Implement the feature and report the result." })`。
168
+ 工具名按约定保留为 `clutch_span_worktree`。Worktree 名称是调用方 Workspace 内准确的
169
+ Git 分支名;指派时优先使用稳定的 `worktreeId`。单独创建 Worktree 不会创建 Session。
170
+ 仅继承已提交状态;不会复制 staged、unstaged 或 untracked 文件。
171
+ 绑定不健康时不会悄悄退回 Main。默认固定调用 checkout 的已提交 HEAD,包括根目录的
172
+ detached HEAD。Detached 来源返回 `baseCommit`,不虚构 `baseBranch`;
173
+ 仍可显式指定本地 `baseBranch` 覆盖默认值。
174
+
175
+ 新委派的 Session 默认仅自动获得
176
+ `clutch_report_result({ status, summary, evidence?, requestId? })`。Host 将回报目标固定为
177
+ 发起委派的 Session。`status` 为 `completed`、`blocked` 或 `failed`;`summary` 与
178
+ `evidence` 各限 2,000 字符。其余六项能力需通过 `/cluworktree` 或此 Worktree 显式配置的自动注入开启。
179
+ 报告作为普通原生消息排队投递,应核验其声明和证据再接受完成。
180
+ 回报由模型主动调用;进程崩溃、Agent 停止或等待用户审批时可能无法回报。`idle` 不代表成功。
181
+
182
+ 回报权限仅属于当前委派任务。`completed`、`blocked` 或 `failed` 报告成功接收一次后,
183
+ 即消耗并清空内存令牌。回报工具、SDK 与指导保持稳定,无令牌时调用会被拒绝。
184
+ 后续用户输入会清空残留令牌,不再向旧父 Session 回报。
185
+ 只有父方通过 `clutch_send_message` 明确派发新任务,且其 prompt 被消费后,才重新开启回报。
186
+ 回报接收状态不确定时,仅允许使用返回的 `requestId` 重试完全相同的报告。
187
+ 令牌不会持久化,Agent/插件重启后丢失。派发重试身份仅保留在有上限的内存缓存中,
188
+ 已过期的重试会明确失败,不会重新开启回报。
189
+ 插件拒绝向自身或祖先 Session 发送消息,并阻止仅由报告或普通插件消息触发的轮次继续
190
+ 发送消息或派发任务;新用户输入后才恢复派发。这些代码门禁适用于本插件的原生工具与 PTC 调用。
191
+
192
+ 模型工具列表已移除 `clutch_read_session` 和 `clutch_wait_sessions`。派发或后续投递成功后,
193
+ 简短说明已委派并结束当前轮,等待执行 Session 主动回报;仅继续用户已经要求的其他独立工作。
194
+ 不通过 agent 列表、终端、Git、文件或测试检查委派任务,也不自行修改或提交它。
195
+ 仅用户明确要求进度或调查、或存在具体投递失败时,才进行针对性操作。
196
+ 收到报告后评估其提供的证据,不自动重复运行检查;仅按用户要求或具体证据缺口、矛盾进一步核验。
197
+ **minimal** 等完整提示词 preset 会省略额外 section;关键交接与模型选择规则同时包含在原生工具描述中,保留 preset 的完整提示词。
198
+ 启用时加入当前 Agent 的提示词指导,根据普通任务描述选择委派,无需用户点名工具。
199
+ Schema 说明准确身份、默认值和目标互斥约束,不携带 `$schema`;报错包含原因、纠正办法和正确示例。
200
+ 单个 Session 历史损坏时仅返回该项 `unavailable` 诊断,其余列表结果仍可用。
201
+
202
+ PTC 模式生成的 SDK 提供明确参数类型,包括回报必填的 `status` 与 `summary`。
203
+ 长度限制保留在字段描述中,并在执行时严格校验;互斥的指派目标使用兼容 DSH schema 子集的 `oneOf`。
204
+
205
+ `model` 的结构是 `{ provider, model, reasoningEffort? }`。省略时继承调用 Session 的
206
+ 有效模型与推理强度,该默认路径无需查询模型列表。
207
+ 用户指定其他模型或要求按任务选模型时,若已启用 `clutch_list_models`,先发现可用路由再显式传入所选对象。
208
+ 未知路由需查询或向用户确认,不猜测模型 id,也不回退到部署默认模型。
209
+ 模型或推理强度不可用时,在创建 Session 前失败。初始模型路由不会保存部署
210
+ 默认模型。在 DSH 记录首个 request header 前,该覆盖仅存在于运行时;之后由 DSH 根据
211
+ 自己的历史恢复模型。首个请求前重启会丢失初始路由覆盖。原生 Session 模型切换优先。
212
+
213
+ 工具变更只刷新所属 Workspace 的 Worktree 列表与绑定,并保持已有 ready 内容可见。
214
+ 派发保留当前对话,使用 DSH 新 Session 的默认 preset 和权限;
215
+ 不会自动授予 Worktree Full Access。
216
+ Agent 或插件重启后,未配置自动注入的能力需要重新执行 `/cluworktree`。指令不接受额外参数。
217
+ 所有发现、回报和补充投递仅限调用方 Workspace;传入其他 `workspaceId` 不会获得额外访问权。
218
+ 这些 Session 是普通原生 Session,不是原生 subagent 子会话,也没有持久化的委派任务目录。
219
+ Detached 绑定需要先修复,再通过这些工具发送消息或回报。
220
+ 健康的已归档 Worktree 保留 active binding,允许继续其 Session;
221
+ Workspace 根目录缺失时仍拒绝消息投递。
222
+
223
+ 若创建后保存指令、绑定或提交 prompt 失败,工具会返回已创建的身份和错误
224
+ (`instructionsSaved: false`、`binding-failed`、`model-failed`、`title-failed`、`reporting-failed` 或
225
+ `prompt-failed`),保留 Worktree 和原生 Session。重试前先修复或打开返回的 Session;
226
+ 再次派发会创建另一个 Session。绑定与模型配置成功后,prompt 失败可使用
227
+ `clutch_send_message` 和返回的 `requestId` 重试。仅同一消息的重试复用 request id;
228
+ 新补充消息使用新 id。原生 admission 抛错时,`clutch_send_message` 也返回
229
+ `prompt-failed` 并保留该 id,包括无法确定是否已接收的情况。
230
+ 回报目标和启用状态只存在于运行时,重启会丢失目标;恢复后的 Session 可以启用
231
+ `/cluworktree`,再用 `clutch_send_message` 向已知的委派方 id 手动回报。
232
+ 没有自动合并、发布或磁盘清理工具。
233
+
100
234
  ### 导入已有 Worktree
101
235
 
102
- 1. 选择 Workspace,打开它的 `+` 操作,然后切换到 **Import**。
236
+ 1. 选择 Workspace,打开分支图标的 **新建 Worktree** 操作,然后切换到 **Import**。
103
237
  2. 从 branch 和 path 列表中选择候选项。
104
238
  3. 选择 **Import Worktree**。插件会原地登记已有目录,不移动、复制或修改其中的文件,随后
105
239
  使用与新建 Worktree 相同的 Session 流程。
@@ -108,8 +242,14 @@ Git repository、本地 branch 和 initial commit 必须可用。如果仓库尚
108
242
  Detached、bare、prunable、缺失或无效条目会被省略。导入的 Worktree 仍可在选择本地基线 branch 后
109
243
  使用 Git 与变更。
110
244
 
245
+ 导入遵循同样的 Workspace 相对目录规则,只提供该目录可用的候选项。原 Workspace 可用时,
246
+ 已有记录会投影为修正后的地址。已有 DSH Session 保留原始元数据;要从修正后的目录运行,
247
+ 请创建新的 Session。
248
+
111
249
  ### 创建并打开 Session
112
250
 
251
+ Local/Main 和 Worktree 行的新建 Session 按钮使用 DSH 原生的气泡加号图标。
252
+
113
253
  - 在 Local/Main 上使用 **+**,创建运行目录为 Workspace root 的普通 DSH Session。
114
254
  - 在 Worktree 上使用 **+**,创建运行目录为该 Worktree 的 Session。
115
255
  - 如果存在完全匹配目标目录的未归档空白 Session,插件会尽量复用它。
@@ -123,7 +263,7 @@ Detached、bare、prunable、缺失或无效条目会被省略。导入的 Workt
123
263
 
124
264
  可以从 Local/Main 或 Worktree 行菜单、悬浮操作,或 Session 标题行原生操作旁边的 Dashboard
125
265
  图标打开。Sidebar 收起时,标题行图标也可单击打开 Dashboard,不需要展开 Sidebar。
126
- 如果目标仍在加载,请求会保持,并在主区域显示加载状态或可重试错误。
266
+ 如果目标仍在加载,请求会保持,并在主区域显示加载状态;失败信息通过 toast 提示,重试在 Worktree 设置中提供。
127
267
  Dashboard 是与原生 Session 内容平级的页面,显示在 Sidebar 旁边的主区域;对于绑定 Session
128
268
  的目标,会保留已经打开的右侧栏。初始 Session list 处于 pending 时,Dashboard 会等待它变为 ready;如果
129
269
  当前 Session 已属于目标 Worktree,就保持当前 Session;否则切换到目标 Worktree 保留顺序中排在最前的
@@ -139,7 +279,7 @@ macOS desktop 下可拖动顶部栏空白区域移动窗口;左侧 Sidebar 收
139
279
  使用 **Back to session**、Escape、Sidebar 中的 Session 或退出 Worktree 模式关闭它。没有 Session 的
140
280
  Worktree 中,右上角操作会变为 **New Session**,直接在该 Worktree 中新建会话。当前 MVP 已连接的操作
141
281
  包括查看 Overview 和 Sessions、新建 Session 或 Worktree、归档 Worktree、编辑指令、复制路径、在 VS Code
142
- 中打开记录的目录以及查看 Git 与变更。派生 Worktree、设置和其他标记的快捷操作仍是占位内容。VS Code
282
+ 中打开记录的目录以及查看 Git 与变更。派生 Worktree 和其他标记的快捷操作仍是占位内容。VS Code
143
283
  必须安装在浏览器所在机器上且能够访问记录的路径;链接不会验证应用是否成功启动。
144
284
 
145
285
  ### 在应用中打开记录的目录
@@ -228,6 +368,21 @@ UTF-16 代码单元。下一次模型请求会通过 DSH pre-step hook 收到独
228
368
  指令保存在 plugin 自己的数据中,不会写入项目目录或 `AGENTS.md`。清空、解绑、清理或移出管理后,后续请求不再注入;
229
369
  归档会保留 active binding,因此 Worktree 指令仍然生效。指令消息仍可见时,不变的指令不会重复追加。
230
370
 
371
+ ### 处理错误
372
+
373
+ Worktree 列表、弹窗和 Dashboard 的失败统一通过原生 toast 显示,跟随 DSH 当前界面语言
374
+ (中文或英文)。提示会说明问题和解决办法。列表保留已有内容,顶部不再显示错误窗口或诊断抽屉。
375
+
376
+ 点击 toast 的**报错与修复**,或打开 **设置 → Worktree → 报错与修复**,可查看每次失败的问题说明,并展开原始诊断详情(包括
377
+ Git stderr)。读取重试、恢复中断操作、重试 Session 绑定和打开已保留 Session 的操作集中在同一个
378
+ Tab。toast 消失后记录仍然保留;列表和 Git 面板不再提供行内报错或重试按钮。原操作视图关闭后,
379
+ 对应恢复按钮会停用;重新打开该视图可加载当前状态。记录仅保留在页面内存中,刷新后清空;
380
+ **清除历史记录**保留仍待处理的操作。弹窗保留输入,指令和基线保存失败时保留草稿。
381
+ Git 初始化指引仍在创建弹窗中显示。同一 Git 故障只弹一次 toast,各受影响操作仍分别保留记录。
382
+
383
+ Worktree 设置采用 DSH 原生 Tab、状态标签和紧凑按钮。说明文字、操作按钮和诊断详情跟随
384
+ **设置 → 通用**中的字体大小设置。
385
+
231
386
  ### 归档或移除 Worktree
232
387
 
233
388
  - **Archive Worktree** 是非破坏性操作,会保留目录、binding、指令和运行时 Worktree 上下文。
@@ -278,15 +433,19 @@ UTF-16 代码单元。下一次模型请求会通过 DSH pre-step hook 收到独
278
433
  按请求启用时,这些 projection 会合并 staged、unstaged 和 untracked 文件,但不会写回 Git。
279
434
  Dashboard 不提供 commit、staging、reset、revert、cherry-pick、fetch、push、pull、pull request、
280
435
  graph lanes、pagination 或 syntax highlighting。
281
- - Session 行使用 DSH 原生的状态和相对时间展示。折叠的 Workspace、Main 和 Worktree 分组会
436
+ - Session 行和 Dashboard 卡片使用 DSH 原生的状态和相对时间展示。绿色完成 dot 是 DSH 对非当前
437
+ 主视图中停止的 Session 的未读提醒;打开该 Session 或再次运行时清除。冷启动时的 idle Session
438
+ 不视为已完成。提醒仍由 DSH 拥有,插件不会持久化该状态。折叠的 Workspace、Main 和 Worktree 分组会
282
439
  从完整且符合原生空白/归档可见性条件的成员中选择一个聚合 `StateDot`:等待审批(以及其他 pending interaction warning)
283
440
  优先于运行中,运行中优先于已完成。Idle Session 不会贡献分组 dot;Worktree 健康状态仍
284
441
  使用独立的前置指示器。视觉上的 Session 排序初始按最新的 `updatedAt` 值排列并只保存在浏览器本地;Main 固定为首行,Worktree 拖拽只
285
442
  更新这个本地排序投影,Main 拖拽只有在 DSH 接受后才更新原生 Workspace 顺序。
286
- - active Worktree Session 在明确确认后可以请求名为 `worktree-full-access` 的 preset。它将
443
+ - active Worktree Session 在明确确认后可以请求名为 `worktree-full-access` 的 preset。插件
444
+ 追加该 preset,保留 DSH 现有的权限列表、默认选择与官方 Auto review 集成。它将
287
445
  DSH `danger-full-access` 与 `ask` 组合,保留审批提示,不改变 network 或 process policy。
288
- 不可用时尽可能回退到 `workspace-write + ask`,否则显示未验证且可重试的状态;它不能突破
289
- DSH 宿主设置的 sandbox 上限。
446
+ 不可用时尽可能回退到 `workspace-write + ask`,否则显示未验证且可重试的状态。权限服务
447
+ 可以迟挂载或被替换:重试使用当前可用能力,不需要重启 Worktree Host。服务暂时缺失时
448
+ 绝不授予 Full Access,并保留用户的显式限制;它不能突破 DSH 宿主设置的 sandbox 上限。
290
449
  - Session 与 Worktree 绑定及权限检查在 Host 端基于物理文件系统身份(`stat`/`realpath`)进行比较,而非单纯依赖词法路径字符串。这确保了在 Windows 与 macOS 各种路径形态下的稳健兼容(包括盘符大小写、正反斜杠、UNC 路径以及 `\\?\\` 等长路径前缀)。在 Windows 平台上,sidecar 原子持久化采用可写文件句柄同步并对目录同步保持容错(best-effort),Git CLI 集成兼容 `NUL` 空设备路径与 CRLF 换行符。
291
450
  - Git 必须已安装且可在 PATH 中使用。Git 可执行文件缺失时显示安装提示且不显示命令块;插件
292
451
  不会执行 setup 或安装命令。
@@ -299,7 +458,8 @@ UTF-16 代码单元。下一次模型请求会通过 DSH pre-step hook 收到独
299
458
  ## 界面语言
300
459
 
301
460
  Worktree 模式跟随 DSH 当前界面语言。入口、树、菜单、弹窗、状态、Dashboard 标签和重试提示
302
- 提供英文和中文。Workspace 名称、Session 标题、branch、路径以及原始 DSH 或 Git 错误保留原值。
461
+ 提供英文和中文。Workspace 名称、Session 标题、branch 和路径保留原值。错误使用本地化的问题说明与恢复指引,
462
+ 未知错误附带可供排查的错误码。原始诊断信息可在 Worktree 设置中查看;插件不会将其写入 DSH 日志。
303
463
 
304
464
  ## 开发
305
465
 
@@ -314,11 +474,14 @@ Worktree 模式跟随 DSH 当前界面语言。入口、树、菜单、弹窗、
314
474
  常用的 package 检查命令:
315
475
 
316
476
  ```bash
477
+ pnpm --filter @cerbur/clutch-dsh-worktree lint
317
478
  pnpm --filter @cerbur/clutch-dsh-worktree typecheck
318
479
  pnpm --filter @cerbur/clutch-dsh-worktree build
319
480
  pnpm --filter @cerbur/clutch-dsh-worktree test
320
481
  ```
321
482
 
483
+ Lint 同时检查源码与测试文件。提交前必须修复 ESLint error。
484
+
322
485
  中英文 README 的结构通过以下测试校验:
323
486
 
324
487
  ```bash
package/cordis.patch.yml CHANGED
@@ -1,25 +1,12 @@
1
1
  - id: permission
2
- # DSH patch rows replace the whole config. Keep the upstream presets and add
3
- # one named bundle; the plugin applies it only after an active Worktree
4
- # binding is confirmed by the Host.
5
- config:
6
- presets:
7
- read-only:
8
- sandbox: read-only
9
- approval: ask
10
- workspace-write:
11
- sandbox: workspace-write
12
- approval: ask
13
- danger-full-access:
14
- sandbox: danger-full-access
15
- approval: never
16
- worktree-full-access:
17
- sandbox: danger-full-access
18
- approval: ask
19
- name: Worktree Full Access
20
- description: Full file access for Worktree metadata while keeping approval prompts enabled.
2
+ name: '@deepseek-ai/dsh-permission-presets'
3
+ # Gate native activation on the config contribution; never replace its config.
4
+ inject:
5
+ - clutchWorktreePermissionPresets
21
6
 
22
7
  - insert:
8
+ - id: clutch-dsh-worktree-permission-presets
9
+ name: '@cerbur/clutch-dsh-worktree/permission-presets'
23
10
  - id: clutch-dsh-worktree-host
24
11
  name: '@cerbur/clutch-dsh-worktree'
25
12
  config:
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreeSurface.d.ts","sourceRoot":"","sources":["../../src/client/WorktreeSurface.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAsB/D,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACxF,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,UAAU,EAAE,oBAAoB,sCA6d/D"}
1
+ {"version":3,"file":"WorktreeSurface.d.ts","sourceRoot":"","sources":["../../src/client/WorktreeSurface.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAsB/D,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACxF,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,UAAU,EAAE,oBAAoB,sCAme/D"}
@@ -1,9 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { AccessConfirmation } from './surface/components/AccessConfirmation.js';
3
3
  import { LifecycleDialogs } from './surface/components/LifecycleDialogs.js';
4
4
  import { NativeDialogs } from './surface/components/NativeDialogs.js';
5
5
  import { RegistrationDialog } from './surface/components/RegistrationDialog.js';
6
6
  import { SurfaceContent } from './surface/components/SurfaceContent.js';
7
+ import { NotificationProvider } from './surface/components/NotificationToasts.js';
7
8
  import { SurfaceHeader } from './surface/components/SurfaceHeader.js';
8
9
  import { useDragActions } from './surface/actions/useDragActions.js';
9
10
  import { useLifecycleActions } from './surface/actions/useLifecycleActions.js';
@@ -211,7 +212,7 @@ export function WorktreeSurface(inputProps) {
211
212
  : undefined;
212
213
  if (targetSessionId === undefined)
213
214
  return;
214
- const address = buildSessionFileAddress(targetSessionId, filePath);
215
+ const address = buildSessionFileAddress(targetSessionId, filePath, dashboardRecord.gitRootPath ?? dashboardRecord.absolutePath, source.sessions.byId[targetSessionId]?.cwd ?? dashboardRecord.absolutePath);
215
216
  props.openResource(address, options);
216
217
  }, [
217
218
  props.openResource,
@@ -228,7 +229,7 @@ export function WorktreeSurface(inputProps) {
228
229
  return null;
229
230
  const { ref, width, bounds, collapsed } = source;
230
231
  const { t } = props;
231
- return (_jsxs(_Fragment, { children: [_jsxs("aside", { ref: ref, className: styles.surface, "data-worktree-surface": true, "data-collapsed": collapsed || undefined, "data-native-sidebar-covered": source.nativeCovered || undefined, "aria-hidden": collapsed || undefined, "aria-label": t('mode.navigation'), style: {
232
+ return (_jsxs(NotificationProvider, { t: t, openSettings: props.openErrorSettings, children: [_jsxs("aside", { ref: ref, className: styles.surface, "data-worktree-surface": true, "data-collapsed": collapsed || undefined, "data-native-sidebar-covered": source.nativeCovered || undefined, "aria-hidden": collapsed || undefined, "aria-label": t('mode.navigation'), style: {
232
233
  width: `${width}px`,
233
234
  ...(bounds.ready
234
235
  ? { top: `${bounds.top}px`, height: `${bounds.height}px` }
@@ -237,7 +238,7 @@ export function WorktreeSurface(inputProps) {
237
238
  dashboardRecord === undefined &&
238
239
  dashboard.sessionId === source.currentSessionId &&
239
240
  source.workspaceIds.includes(dashboard.workspaceId) &&
240
- targetView === undefined && (_jsx(DashboardRequest, { t: t, error: read.readState.error ??
241
+ targetView === undefined && (_jsx(DashboardRequest, { context: targetWorkspace === undefined ? dashboard.workspaceId : targetWorkspace.title + ' · ' + targetWorkspace.path, t: t, error: read.readState.error ??
241
242
  (read.readState.targetError?.workspaceIds.includes(dashboard.workspaceId)
242
243
  ? read.readState.targetError.error
243
244
  : undefined), onClose: closeDashboard, onRetry: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreeSurface.js","sourceRoot":"","sources":["../../src/client/WorktreeSurface.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorktreeSurface.js","sourceRoot":"","sources":["../../src/client/WorktreeSurface.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /** Promote this plugin's native command row out of the blank-session Hero. */
2
+ import type { Context } from '@deepseek-ai/cordis';
3
+ import type { ConversationNodeDefinition, ConversationViewDefinition, ConversationViewNode } from '@deepseek-ai/dsh-client-ui-conversation/client';
4
+ export declare const WORKTREE_COMMAND_ACTIVITY = "clutch-dsh-worktree-command-activity";
5
+ /** Native Chat still owns the result row; this target supplies only shell activity. */
6
+ export declare const worktreeCommandActivityNode: ConversationNodeDefinition<boolean>;
7
+ /** A private activity target has no tab or duplicate command presentation. */
8
+ export declare const worktreeCommandActivityView: ConversationViewDefinition<ConversationViewNode, boolean>;
9
+ /** Activate only already retained bindings, including later generations and replay. */
10
+ export declare function installWorktreeCommandActivity(ctx: Context): void;
11
+ //# sourceMappingURL=command-activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-activity.d.ts","sourceRoot":"","sources":["../../src/client/command-activity.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,gDAAgD,CAAC;AAExD,eAAO,MAAM,yBAAyB,yCAAyC,CAAC;AAEhF,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,EAAE,0BAA0B,CAAC,OAAO,CAe3E,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,EAAE,0BAA0B,CAAC,oBAAoB,EAAE,OAAO,CAWjG,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAkCjE"}
@@ -0,0 +1,71 @@
1
+ export const WORKTREE_COMMAND_ACTIVITY = 'clutch-dsh-worktree-command-activity';
2
+ /** Native Chat still owns the result row; this target supplies only shell activity. */
3
+ export const worktreeCommandActivityNode = {
4
+ kind: WORKTREE_COMMAND_ACTIVITY,
5
+ target: WORKTREE_COMMAND_ACTIVITY,
6
+ match: (event) => event.type === 'command/run' && event.data.name === 'cluworktree'
7
+ ? { id: String(event.data.commandId), role: 'start' }
8
+ : null,
9
+ start: () => true,
10
+ update: () => true,
11
+ buildViewNode: (context) => context.start === undefined ? null : {
12
+ key: context.key,
13
+ kind: WORKTREE_COMMAND_ACTIVITY,
14
+ id: context.id,
15
+ target: WORKTREE_COMMAND_ACTIVITY,
16
+ data: true,
17
+ },
18
+ };
19
+ /** A private activity target has no tab or duplicate command presentation. */
20
+ export const worktreeCommandActivityView = {
21
+ target: WORKTREE_COMMAND_ACTIVITY,
22
+ create: () => {
23
+ let active = false;
24
+ return {
25
+ empty: false,
26
+ replace: ({ nodes }) => (active = nodes.length > 0),
27
+ apply: ({ upserts }) => (active ||= upserts.length > 0),
28
+ };
29
+ },
30
+ isActive: (active) => active,
31
+ };
32
+ /** Activate only already retained bindings, including later generations and replay. */
33
+ export function installWorktreeCommandActivity(ctx) {
34
+ ctx.effect(() => {
35
+ const node = ctx.uiConversation.events.register(worktreeCommandActivityNode);
36
+ const view = ctx.uiConversation.views.register(worktreeCommandActivityView);
37
+ const tracked = new WeakSet();
38
+ let disposed = false;
39
+ let queued = false;
40
+ const sync = () => {
41
+ if (disposed)
42
+ return;
43
+ for (const id of ctx.sessions.list.getSnapshot().ids ?? []) {
44
+ const binding = ctx.sessions.binding(id);
45
+ if (binding === undefined || tracked.has(binding))
46
+ continue;
47
+ ctx.uiConversation.binding(binding).activate(WORKTREE_COMMAND_ACTIVITY);
48
+ tracked.add(binding);
49
+ }
50
+ };
51
+ const schedule = () => {
52
+ if (disposed || queued)
53
+ return;
54
+ queued = true;
55
+ queueMicrotask(() => {
56
+ queued = false;
57
+ sync();
58
+ });
59
+ };
60
+ const unsubscribe = ctx.sessions.list.subscribe(schedule);
61
+ // Let Controller retention finish before borrowing a newly published binding.
62
+ schedule();
63
+ return () => {
64
+ disposed = true;
65
+ unsubscribe();
66
+ view();
67
+ node();
68
+ };
69
+ }, 'clutch-dsh-worktree: command activity');
70
+ }
71
+ //# sourceMappingURL=command-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-activity.js","sourceRoot":"","sources":["../../src/client/command-activity.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { WorktreeTranslate } from '../surface/types.js';
2
2
  import type { WorktreeViewError } from '../view/worktree-view.js';
3
3
  /** Present a header request while its target read settles, without expanding navigation. */
4
- export declare function DashboardRequest({ t, error, onRetry, onClose, }: {
4
+ export declare function DashboardRequest({ t, error, onRetry, onClose, context, }: {
5
5
  readonly t: WorktreeTranslate;
6
6
  readonly error?: WorktreeViewError;
7
7
  readonly onRetry: () => void;
8
8
  readonly onClose: () => void;
9
+ readonly context?: string;
9
10
  }): import("react").JSX.Element;
10
11
  //# sourceMappingURL=DashboardRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardRequest.d.ts","sourceRoot":"","sources":["../../../src/client/dashboard/DashboardRequest.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,+BAkEA"}
1
+ {"version":3,"file":"DashboardRequest.d.ts","sourceRoot":"","sources":["../../../src/client/dashboard/DashboardRequest.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,+BA8DA"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useLayoutEffect, useRef, useState } from 'react';
3
- import { formatWorktreeViewError } from '../view/worktree-error-copy.js';
4
3
  import { mountDashboardOverlay } from './dashboard-overlay.js';
5
4
  import styles from './dashboard.css';
5
+ import { ErrorToast } from '../surface/components/NotificationToasts.js';
6
6
  /** Present a header request while its target read settles, without expanding navigation. */
7
- export function DashboardRequest({ t, error, onRetry, onClose, }) {
7
+ export function DashboardRequest({ t, error, onRetry, onClose, context, }) {
8
8
  const ref = useRef(null);
9
9
  const [placement, setPlacement] = useState();
10
10
  useLayoutEffect(() => {
@@ -33,6 +33,6 @@ export function DashboardRequest({ t, error, onRetry, onClose, }) {
33
33
  }
34
34
  }, children: [_jsxs("header", { className: styles.dashboardTopline, "data-dashboard-topbar": true, "data-window-drag": true, children: [_jsx("span", { style: {
35
35
  marginInlineStart: `max(0px, calc(var(--dsh-frame-leading-clearance, 0px) - ${placement?.left ?? 0}px - 20px))`,
36
- }, children: t('dashboard.title') }), _jsx("div", { className: styles.dashboardToplineActions, children: _jsx("button", { type: "button", className: styles.dashboardButton, onClick: onClose, children: t('dashboard.back') }) })] }), _jsxs("div", { className: styles.dashboardPage, children: [_jsx("p", { role: error ? 'alert' : 'status', children: error ? formatWorktreeViewError(error, t) : t('status.loading') }), error && (_jsx("button", { type: "button", className: styles.dashboardButton, onClick: onRetry, children: t('action.retry') }))] })] }));
36
+ }, children: t('dashboard.title') }), _jsx("div", { className: styles.dashboardToplineActions, children: _jsx("button", { type: "button", className: styles.dashboardButton, onClick: onClose, children: t('dashboard.back') }) })] }), _jsxs("div", { className: styles.dashboardPage, children: [error === undefined && _jsx("p", { role: "status", children: t('status.loading') }), _jsx(ErrorToast, { error: error, t: t, scope: "dashboard-request", context: context ?? t('dashboard.title'), actions: [{ label: t('action.retry'), onClick: onRetry }] })] })] }));
37
37
  }
38
38
  //# sourceMappingURL=DashboardRequest.js.map