@cerbur/clutch-dsh-worktree 0.1.12 → 0.1.14

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 (286) hide show
  1. package/README.md +312 -433
  2. package/README.zh.md +265 -348
  3. package/assets/screenshots/screenshots-dashboard.png +0 -0
  4. package/assets/screenshots/screenshots-git-reviewer.png +0 -0
  5. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  6. package/lib/client/WorktreeSurface.js +140 -18
  7. package/lib/client/WorktreeSurface.js.map +1 -1
  8. package/lib/client/context/WorktreeHeroContext.d.ts +4 -3
  9. package/lib/client/context/WorktreeHeroContext.d.ts.map +1 -1
  10. package/lib/client/context/WorktreeHeroContext.js +29 -11
  11. package/lib/client/context/WorktreeHeroContext.js.map +1 -1
  12. package/lib/client/dashboard/WorktreeDashboard.d.ts +9 -2
  13. package/lib/client/dashboard/WorktreeDashboard.d.ts.map +1 -1
  14. package/lib/client/dashboard/WorktreeDashboard.js +165 -14
  15. package/lib/client/dashboard/WorktreeDashboard.js.map +1 -1
  16. package/lib/client/dashboard/dashboard-navigation.d.ts +35 -0
  17. package/lib/client/dashboard/dashboard-navigation.d.ts.map +1 -0
  18. package/lib/client/dashboard/dashboard-navigation.js +48 -0
  19. package/lib/client/dashboard/dashboard-navigation.js.map +1 -0
  20. package/lib/client/dashboard/dashboard-overlay.d.ts +7 -2
  21. package/lib/client/dashboard/dashboard-overlay.d.ts.map +1 -1
  22. package/lib/client/dashboard/dashboard-overlay.js +81 -16
  23. package/lib/client/dashboard/dashboard-overlay.js.map +1 -1
  24. package/lib/client/dashboard/dashboard-selection.d.ts +5 -3
  25. package/lib/client/dashboard/dashboard-selection.d.ts.map +1 -1
  26. package/lib/client/dashboard/dashboard-selection.js +3 -2
  27. package/lib/client/dashboard/dashboard-selection.js.map +1 -1
  28. package/lib/client/dashboard/git/GitChangedFiles.d.ts +11 -0
  29. package/lib/client/dashboard/git/GitChangedFiles.d.ts.map +1 -0
  30. package/lib/client/dashboard/git/GitChangedFiles.js +101 -0
  31. package/lib/client/dashboard/git/GitChangedFiles.js.map +1 -0
  32. package/lib/client/dashboard/git/GitCommitList.d.ts +15 -0
  33. package/lib/client/dashboard/git/GitCommitList.d.ts.map +1 -0
  34. package/lib/client/dashboard/git/GitCommitList.js +55 -0
  35. package/lib/client/dashboard/git/GitCommitList.js.map +1 -0
  36. package/lib/client/dashboard/git/GitDiffView.d.ts +10 -0
  37. package/lib/client/dashboard/git/GitDiffView.d.ts.map +1 -0
  38. package/lib/client/dashboard/git/GitDiffView.js +65 -0
  39. package/lib/client/dashboard/git/GitDiffView.js.map +1 -0
  40. package/lib/client/dashboard/git/GitFileTypeIcon.d.ts +8 -0
  41. package/lib/client/dashboard/git/GitFileTypeIcon.d.ts.map +1 -0
  42. package/lib/client/dashboard/git/GitFileTypeIcon.js +24 -0
  43. package/lib/client/dashboard/git/GitFileTypeIcon.js.map +1 -0
  44. package/lib/client/dashboard/git/GitLineStats.d.ts +10 -0
  45. package/lib/client/dashboard/git/GitLineStats.d.ts.map +1 -0
  46. package/lib/client/dashboard/git/GitLineStats.js +9 -0
  47. package/lib/client/dashboard/git/GitLineStats.js.map +1 -0
  48. package/lib/client/dashboard/git/WorktreeGitOverview.d.ts +31 -0
  49. package/lib/client/dashboard/git/WorktreeGitOverview.d.ts.map +1 -0
  50. package/lib/client/dashboard/git/WorktreeGitOverview.js +89 -0
  51. package/lib/client/dashboard/git/WorktreeGitOverview.js.map +1 -0
  52. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts +16 -0
  53. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts.map +1 -0
  54. package/lib/client/dashboard/git/WorktreeGitPanel.js +126 -0
  55. package/lib/client/dashboard/git/WorktreeGitPanel.js.map +1 -0
  56. package/lib/client/dashboard/git/file-address.d.ts +2 -0
  57. package/lib/client/dashboard/git/file-address.d.ts.map +1 -0
  58. package/lib/client/dashboard/git/file-address.js +16 -0
  59. package/lib/client/dashboard/git/file-address.js.map +1 -0
  60. package/lib/client/dashboard/git/git-column-split.d.ts +34 -0
  61. package/lib/client/dashboard/git/git-column-split.d.ts.map +1 -0
  62. package/lib/client/dashboard/git/git-column-split.js +41 -0
  63. package/lib/client/dashboard/git/git-column-split.js.map +1 -0
  64. package/lib/client/dashboard/git/git-diff-parser.d.ts +24 -0
  65. package/lib/client/dashboard/git/git-diff-parser.d.ts.map +1 -0
  66. package/lib/client/dashboard/git/git-diff-parser.js +56 -0
  67. package/lib/client/dashboard/git/git-diff-parser.js.map +1 -0
  68. package/lib/client/dashboard/git/git-facts.d.ts +22 -0
  69. package/lib/client/dashboard/git/git-facts.d.ts.map +1 -0
  70. package/lib/client/dashboard/git/git-facts.js +37 -0
  71. package/lib/client/dashboard/git/git-facts.js.map +1 -0
  72. package/lib/client/dashboard/git/git-file-tree.d.ts +16 -0
  73. package/lib/client/dashboard/git/git-file-tree.d.ts.map +1 -0
  74. package/lib/client/dashboard/git/git-file-tree.js +52 -0
  75. package/lib/client/dashboard/git/git-file-tree.js.map +1 -0
  76. package/lib/client/dashboard/git/git-state-cache.d.ts +49 -0
  77. package/lib/client/dashboard/git/git-state-cache.d.ts.map +1 -0
  78. package/lib/client/dashboard/git/git-state-cache.js +80 -0
  79. package/lib/client/dashboard/git/git-state-cache.js.map +1 -0
  80. package/lib/client/dashboard/git/useGitPaneSplit.d.ts +33 -0
  81. package/lib/client/dashboard/git/useGitPaneSplit.d.ts.map +1 -0
  82. package/lib/client/dashboard/git/useGitPaneSplit.js +119 -0
  83. package/lib/client/dashboard/git/useGitPaneSplit.js.map +1 -0
  84. package/lib/client/dashboard/git/useWorktreeGitState.d.ts +60 -0
  85. package/lib/client/dashboard/git/useWorktreeGitState.d.ts.map +1 -0
  86. package/lib/client/dashboard/git/useWorktreeGitState.js +650 -0
  87. package/lib/client/dashboard/git/useWorktreeGitState.js.map +1 -0
  88. package/lib/client/dashboard/open-in-app-controller.d.ts +1 -0
  89. package/lib/client/dashboard/open-in-app-controller.d.ts.map +1 -1
  90. package/lib/client/dashboard/open-in-app-controller.js +6 -24
  91. package/lib/client/dashboard/open-in-app-controller.js.map +1 -1
  92. package/lib/client/dashboard/vscode-url.d.ts.map +1 -1
  93. package/lib/client/dashboard/vscode-url.js +6 -3
  94. package/lib/client/dashboard/vscode-url.js.map +1 -1
  95. package/lib/client/entry.d.ts.map +1 -1
  96. package/lib/client/entry.js +28 -0
  97. package/lib/client/entry.js.map +1 -1
  98. package/lib/client/locales.d.ts +158 -0
  99. package/lib/client/locales.d.ts.map +1 -1
  100. package/lib/client/locales.js +172 -14
  101. package/lib/client/locales.js.map +1 -1
  102. package/lib/client/session/session-view.d.ts +10 -0
  103. package/lib/client/session/session-view.d.ts.map +1 -1
  104. package/lib/client/session/session-view.js +57 -0
  105. package/lib/client/session/session-view.js.map +1 -1
  106. package/lib/client/session/worktree-session-order.d.ts +2 -5
  107. package/lib/client/session/worktree-session-order.d.ts.map +1 -1
  108. package/lib/client/session/worktree-session-order.js +35 -10
  109. package/lib/client/session/worktree-session-order.js.map +1 -1
  110. package/lib/client/session/worktree-session-position.d.ts +2 -1
  111. package/lib/client/session/worktree-session-position.d.ts.map +1 -1
  112. package/lib/client/session/worktree-session-position.js +10 -3
  113. package/lib/client/session/worktree-session-position.js.map +1 -1
  114. package/lib/client/session/worktree-session.d.ts +2 -0
  115. package/lib/client/session/worktree-session.d.ts.map +1 -1
  116. package/lib/client/session/worktree-session.js +15 -3
  117. package/lib/client/session/worktree-session.js.map +1 -1
  118. package/lib/client/surface/actions/useDragActions.d.ts +33 -2
  119. package/lib/client/surface/actions/useDragActions.d.ts.map +1 -1
  120. package/lib/client/surface/actions/useDragActions.js +66 -18
  121. package/lib/client/surface/actions/useDragActions.js.map +1 -1
  122. package/lib/client/surface/components/ActiveWorktree.js +2 -2
  123. package/lib/client/surface/components/ActiveWorktree.js.map +1 -1
  124. package/lib/client/surface/components/ArchivedWorktree.js +2 -2
  125. package/lib/client/surface/components/ArchivedWorktree.js.map +1 -1
  126. package/lib/client/surface/components/ArchivedWorktrees.js +2 -2
  127. package/lib/client/surface/components/ArchivedWorktrees.js.map +1 -1
  128. package/lib/client/surface/components/SurfaceContent.d.ts +1 -1
  129. package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -1
  130. package/lib/client/surface/components/SurfaceContent.js +1 -1
  131. package/lib/client/surface/components/SurfaceContent.js.map +1 -1
  132. package/lib/client/surface/components/SurfaceHeader.d.ts +1 -1
  133. package/lib/client/surface/components/SurfaceHeader.d.ts.map +1 -1
  134. package/lib/client/surface/components/SurfaceHeader.js +12 -3
  135. package/lib/client/surface/components/SurfaceHeader.js.map +1 -1
  136. package/lib/client/surface/components/WorkspaceTree.js +4 -4
  137. package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
  138. package/lib/client/surface/components/rows.d.ts +2 -2
  139. package/lib/client/surface/components/rows.d.ts.map +1 -1
  140. package/lib/client/surface/components/rows.js +14 -9
  141. package/lib/client/surface/components/rows.js.map +1 -1
  142. package/lib/client/surface/selectors.d.ts +10 -0
  143. package/lib/client/surface/selectors.d.ts.map +1 -1
  144. package/lib/client/surface/selectors.js +14 -0
  145. package/lib/client/surface/selectors.js.map +1 -1
  146. package/lib/client/surface/state/useSessionExpansion.d.ts +2 -1
  147. package/lib/client/surface/state/useSessionExpansion.d.ts.map +1 -1
  148. package/lib/client/surface/state/useSessionExpansion.js +26 -13
  149. package/lib/client/surface/state/useSessionExpansion.js.map +1 -1
  150. package/lib/client/surface/state/useSessionOrdering.d.ts +1 -1
  151. package/lib/client/surface/state/useSessionOrdering.d.ts.map +1 -1
  152. package/lib/client/surface/state/useSessionOrdering.js +23 -8
  153. package/lib/client/surface/state/useSessionOrdering.js.map +1 -1
  154. package/lib/client/surface/types.d.ts +15 -3
  155. package/lib/client/surface/types.d.ts.map +1 -1
  156. package/lib/client/view/worktree-expand-state.d.ts +1 -1
  157. package/lib/client/view/worktree-expand-state.d.ts.map +1 -1
  158. package/lib/client/view/worktree-expand-state.js +8 -1
  159. package/lib/client/view/worktree-expand-state.js.map +1 -1
  160. package/lib/client/view/worktree-view-read.d.ts +3 -1
  161. package/lib/client/view/worktree-view-read.d.ts.map +1 -1
  162. package/lib/client/view/worktree-view-read.js +9 -2
  163. package/lib/client/view/worktree-view-read.js.map +1 -1
  164. package/lib/client/worktree-connection.d.ts +5 -0
  165. package/lib/client/worktree-connection.d.ts.map +1 -1
  166. package/lib/client/worktree-connection.js +14 -0
  167. package/lib/client/worktree-connection.js.map +1 -1
  168. package/lib/client.js +3520 -321
  169. package/lib/client.js.map +1 -1
  170. package/lib/contract/index.contract.js +10 -0
  171. package/lib/contract/index.contract.js.map +1 -1
  172. package/lib/contract/index.d.ts +155 -1
  173. package/lib/contract/index.d.ts.map +1 -1
  174. package/lib/contract/index.js +20 -0
  175. package/lib/contract/index.js.map +1 -1
  176. package/lib/contract/windows-path.d.ts +11 -0
  177. package/lib/contract/windows-path.d.ts.map +1 -0
  178. package/lib/contract/windows-path.js +41 -0
  179. package/lib/contract/windows-path.js.map +1 -0
  180. package/lib/host/remote.d.ts.map +1 -1
  181. package/lib/host/remote.js +5 -0
  182. package/lib/host/remote.js.map +1 -1
  183. package/lib/host/service.d.ts +18 -1
  184. package/lib/host/service.d.ts.map +1 -1
  185. package/lib/host/service.js +30 -0
  186. package/lib/host/service.js.map +1 -1
  187. package/lib/host/worktree-instructions.js +2 -2
  188. package/lib/host/worktree-instructions.js.map +1 -1
  189. package/lib/host/worktree-permission-manager.d.ts.map +1 -1
  190. package/lib/host/worktree-permission-manager.js +5 -1
  191. package/lib/host/worktree-permission-manager.js.map +1 -1
  192. package/lib/index.d.ts +4 -4
  193. package/lib/index.d.ts.map +1 -1
  194. package/lib/index.js +3 -3
  195. package/lib/index.js.map +1 -1
  196. package/lib/manage/manager-git-history.d.ts +17 -0
  197. package/lib/manage/manager-git-history.d.ts.map +1 -0
  198. package/lib/manage/manager-git-history.js +884 -0
  199. package/lib/manage/manager-git-history.js.map +1 -0
  200. package/lib/manage/manager-sessions.js +1 -1
  201. package/lib/manage/manager-sessions.js.map +1 -1
  202. package/lib/manage/manager-support.d.ts +3 -2
  203. package/lib/manage/manager-support.d.ts.map +1 -1
  204. package/lib/manage/manager-support.js +5 -13
  205. package/lib/manage/manager-support.js.map +1 -1
  206. package/lib/manage/manager-worktree-lifecycle.d.ts.map +1 -1
  207. package/lib/manage/manager-worktree-lifecycle.js +11 -3
  208. package/lib/manage/manager-worktree-lifecycle.js.map +1 -1
  209. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  210. package/lib/manage/manager-worktrees.js +24 -0
  211. package/lib/manage/manager-worktrees.js.map +1 -1
  212. package/lib/manage/manager.d.ts +18 -1
  213. package/lib/manage/manager.d.ts.map +1 -1
  214. package/lib/manage/manager.js +74 -16
  215. package/lib/manage/manager.js.map +1 -1
  216. package/lib/provider/git/adapter.d.ts +54 -1
  217. package/lib/provider/git/adapter.d.ts.map +1 -1
  218. package/lib/provider/git/adapter.js +824 -2
  219. package/lib/provider/git/adapter.js.map +1 -1
  220. package/lib/provider/index.d.ts +2 -2
  221. package/lib/provider/index.d.ts.map +1 -1
  222. package/lib/provider/index.js +1 -1
  223. package/lib/provider/index.js.map +1 -1
  224. package/lib/provider/mutation-token.d.ts +1 -1
  225. package/lib/provider/mutation-token.d.ts.map +1 -1
  226. package/lib/provider/mutation-token.js +1 -0
  227. package/lib/provider/mutation-token.js.map +1 -1
  228. package/lib/provider/path-identity.d.ts +8 -0
  229. package/lib/provider/path-identity.d.ts.map +1 -0
  230. package/lib/provider/path-identity.js +62 -0
  231. package/lib/provider/path-identity.js.map +1 -0
  232. package/lib/provider/sidecar/mutation-lock.d.ts +4 -1
  233. package/lib/provider/sidecar/mutation-lock.d.ts.map +1 -1
  234. package/lib/provider/sidecar/mutation-lock.js +5 -11
  235. package/lib/provider/sidecar/mutation-lock.js.map +1 -1
  236. package/lib/provider/sidecar/process-liveness.d.ts +12 -0
  237. package/lib/provider/sidecar/process-liveness.d.ts.map +1 -0
  238. package/lib/provider/sidecar/process-liveness.js +39 -0
  239. package/lib/provider/sidecar/process-liveness.js.map +1 -0
  240. package/lib/provider/sidecar/repository.d.ts +1 -1
  241. package/lib/provider/sidecar/repository.d.ts.map +1 -1
  242. package/lib/provider/sidecar/repository.js +3 -2
  243. package/lib/provider/sidecar/repository.js.map +1 -1
  244. package/lib/provider/sidecar/sidecar-durability.d.ts +9 -0
  245. package/lib/provider/sidecar/sidecar-durability.d.ts.map +1 -0
  246. package/lib/provider/sidecar/sidecar-durability.js +36 -0
  247. package/lib/provider/sidecar/sidecar-durability.js.map +1 -0
  248. package/lib/provider/sidecar/sidecar-persistence.d.ts.map +1 -1
  249. package/lib/provider/sidecar/sidecar-persistence.js +2 -27
  250. package/lib/provider/sidecar/sidecar-persistence.js.map +1 -1
  251. package/lib/provider/sidecar/sidecar-schema.d.ts +16 -3
  252. package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -1
  253. package/lib/provider/sidecar/sidecar-schema.js +124 -25
  254. package/lib/provider/sidecar/sidecar-schema.js.map +1 -1
  255. package/lib/provider/transaction/operations/create.d.ts.map +1 -1
  256. package/lib/provider/transaction/operations/create.js +21 -6
  257. package/lib/provider/transaction/operations/create.js.map +1 -1
  258. package/lib/provider/transaction/recovery/failure-recovery.d.ts.map +1 -1
  259. package/lib/provider/transaction/recovery/failure-recovery.js +11 -4
  260. package/lib/provider/transaction/recovery/failure-recovery.js.map +1 -1
  261. package/lib/provider/transaction/recovery/recover.d.ts.map +1 -1
  262. package/lib/provider/transaction/recovery/recover.js +9 -11
  263. package/lib/provider/transaction/recovery/recover.js.map +1 -1
  264. package/lib/provider/transaction/support/inspection.d.ts +0 -2
  265. package/lib/provider/transaction/support/inspection.d.ts.map +1 -1
  266. package/lib/provider/transaction/support/inspection.js +0 -4
  267. package/lib/provider/transaction/support/inspection.js.map +1 -1
  268. package/lib/provider/transaction/support/journal.d.ts.map +1 -1
  269. package/lib/provider/transaction/support/journal.js +2 -0
  270. package/lib/provider/transaction/support/journal.js.map +1 -1
  271. package/lib/provider/transaction/support/paths.d.ts +2 -1
  272. package/lib/provider/transaction/support/paths.d.ts.map +1 -1
  273. package/lib/provider/transaction/support/paths.js +2 -12
  274. package/lib/provider/transaction/support/paths.js.map +1 -1
  275. package/lib/provider/transaction/types.d.ts +1 -0
  276. package/lib/provider/transaction/types.d.ts.map +1 -1
  277. package/lib/provider/types.d.ts +58 -8
  278. package/lib/provider/types.d.ts.map +1 -1
  279. package/lib/provider/types.js +1 -1
  280. package/lib/provider/types.js.map +1 -1
  281. package/lib/typert.host.js +337 -35
  282. package/lib/typert.remote-client.d.ts +11 -1
  283. package/lib/typert.remote-client.d.ts.map +1 -1
  284. package/lib/typert.remote-client.js +337 -35
  285. package/package.json +3 -1
  286. package/assets/screenshots/screenshots-dashboard.webp +0 -0
@@ -6,7 +6,13 @@ import { WorktreeMutationTransaction } from '../provider/transaction/index.js';
6
6
  import { providerError } from '../provider/types.js';
7
7
  import { bindSession, listBindings, resolveRuntimeCwd, } from './manager-sessions.js';
8
8
  import { cleanWorktree, createWorktree, forgetWorktree, importWorktree, insertWorktreeBefore, listBranches, listImportCandidates, listWorktrees, removeWorktree, unarchiveWorktree, recoverWorktrees, } from './manager-worktrees.js';
9
+ import { getWorktreeCommitFileDiff, listWorktreeCommitFiles, listWorktreeCommits, updateWorktreeBaseBranch, } from './manager-git-history.js';
9
10
  import { requireWorkspace } from './manager-support.js';
11
+ function isMainWorktreeId(worktreeId, workspaceId) {
12
+ // `main` is retained for legacy browser callers; the canonical synthetic ID is
13
+ // workspace-scoped so one Workspace cannot address another Workspace's Main shard.
14
+ return worktreeId === 'main' || worktreeId === `main:${workspaceId}`;
15
+ }
10
16
  /**
11
17
  * Worktree/Session 用例编排器:DSH 只提供权威只读事实,Git 承担 worktree 副作用,sidecar 只保存外部关系。
12
18
  * Worktree/Session use-case orchestrator: DSH supplies authoritative read-only facts, Git owns worktree side effects, and the sidecar stores only external relations.
@@ -51,6 +57,18 @@ export class WorktreeManagerImpl {
51
57
  await this.context.transaction.adoptBranch({ ...input, workspaceRoot: workspace.rootPath });
52
58
  });
53
59
  }
60
+ getWorktreeInstructions(input) {
61
+ return this.afterRecovery(async () => {
62
+ await requireWorkspace(this.context, input.workspaceId);
63
+ const snapshot = await this.context.sidecar.read(input.workspaceId);
64
+ if (isMainWorktreeId(input.worktreeId, input.workspaceId))
65
+ return snapshot.mainInstructions ?? '';
66
+ const record = snapshot.worktrees.find((item) => item.worktreeId === input.worktreeId);
67
+ if (!record)
68
+ throw providerError('WORKTREE_NOT_FOUND', 'Worktree not found', {});
69
+ return record.instructions ?? '';
70
+ });
71
+ }
54
72
  updateWorktreeInstructions(input) {
55
73
  return this.afterRecovery(async () => {
56
74
  await requireWorkspace(this.context, input.workspaceId);
@@ -60,40 +78,71 @@ export class WorktreeManagerImpl {
60
78
  throw providerError('WORKTREE_STATE_CONFLICT', 'Instructions must be text of at most 32000 characters', {});
61
79
  }
62
80
  return this.context.sidecar.mutate(input.workspaceId, (snapshot) => {
63
- const record = snapshot.worktrees.find((item) => item.worktreeId === input.worktreeId);
64
- if (!record)
65
- throw providerError('WORKTREE_NOT_FOUND', 'Worktree not found', {});
66
81
  if (snapshot.pendingOperation || snapshot.recoveryIssues?.length) {
67
82
  throw providerError('WORKTREE_RECOVERY_REQUIRED', 'Resolve Worktree recovery before editing instructions', {});
68
83
  }
69
- const current = record.instructions ?? '';
84
+ const main = isMainWorktreeId(input.worktreeId, input.workspaceId);
85
+ const record = main
86
+ ? undefined
87
+ : snapshot.worktrees.find((item) => item.worktreeId === input.worktreeId);
88
+ if (!main && !record)
89
+ throw providerError('WORKTREE_NOT_FOUND', 'Worktree not found', {});
90
+ const current = main ? snapshot.mainInstructions ?? '' : record?.instructions ?? '';
70
91
  if (current === input.instructions)
71
92
  return { snapshot, result: current, changed: false };
72
93
  if (current !== input.expectedInstructions) {
73
94
  throw providerError('WORKTREE_STATE_CONFLICT', 'Instructions changed; reopen the editor before saving', {});
74
95
  }
75
96
  return {
76
- snapshot: {
77
- ...snapshot,
78
- worktrees: snapshot.worktrees.map((item) => item === record ? { ...item, instructions: input.instructions } : item),
79
- },
97
+ snapshot: main
98
+ ? { ...snapshot, mainInstructions: input.instructions }
99
+ : {
100
+ ...snapshot,
101
+ worktrees: snapshot.worktrees.map((item) => item === record ? { ...item, instructions: input.instructions } : item),
102
+ },
80
103
  result: input.instructions,
81
104
  };
82
105
  });
83
106
  });
84
107
  }
108
+ updateWorktreeBaseBranch(input) {
109
+ return this.afterRecovery(() => updateWorktreeBaseBranch(this.context, input));
110
+ }
85
111
  resolveSessionInstructions(sessionId) {
86
112
  return this.afterRecovery(async () => {
113
+ const session = await this.context.dsh.getSession(sessionId);
114
+ const readWorkspace = async (workspaceId) => {
115
+ const snapshot = await this.context.sidecar.read(workspaceId);
116
+ const binding = snapshot.bindings.find((item) => item.sessionId === sessionId && item.status === 'active');
117
+ if (binding) {
118
+ const record = snapshot.worktrees.find((item) => item.worktreeId === binding.worktreeId);
119
+ return {
120
+ snapshot,
121
+ instructions: !record || record.diskCleanup === 'completed' ? '' : record.instructions ?? '',
122
+ };
123
+ }
124
+ return { snapshot };
125
+ };
126
+ // DSH owns the Session-to-Workspace identity. Never let a duplicate or
127
+ // stale sidecar entry in another shard win over that authoritative key.
128
+ if (session?.workspaceId !== undefined) {
129
+ const workspace = await this.context.dsh.getWorkspace(session.workspaceId);
130
+ const result = await readWorkspace(session.workspaceId);
131
+ if (workspace !== undefined)
132
+ return result.instructions ?? result.snapshot.mainInstructions ?? '';
133
+ // A stale Session may retain a Workspace id after DSH removes that
134
+ // Workspace. An active binding can still identify Worktree guidance,
135
+ // but an orphaned shard must never supply Main instructions by guess.
136
+ return result.instructions ?? '';
137
+ }
138
+ // Older DSH projections may not expose a Workspace id. In that degraded
139
+ // case only an active sidecar binding can identify the target; without one
140
+ // we must not guess that the Session belongs to Main.
87
141
  const workspaces = (await this.context.dsh.listWorkspaces?.()) ?? [];
88
142
  for (const workspace of workspaces) {
89
- const snapshot = await this.context.sidecar.read(workspace.workspaceId);
90
- const binding = snapshot.bindings.find((item) => item.sessionId === sessionId && item.status === 'active');
91
- if (!binding)
92
- continue;
93
- const record = snapshot.worktrees.find((item) => item.worktreeId === binding.worktreeId);
94
- if (!record || record.diskCleanup === 'completed')
95
- return '';
96
- return record.instructions ?? '';
143
+ const result = await readWorkspace(workspace.workspaceId);
144
+ if (result.instructions !== undefined)
145
+ return result.instructions;
97
146
  }
98
147
  return '';
99
148
  });
@@ -101,6 +150,15 @@ export class WorktreeManagerImpl {
101
150
  listWorktrees(input) {
102
151
  return this.afterRecovery(() => listWorktrees(this.context, input));
103
152
  }
153
+ listWorktreeCommits(input) {
154
+ return this.afterRecovery(() => listWorktreeCommits(this.context, input));
155
+ }
156
+ listWorktreeCommitFiles(input) {
157
+ return this.afterRecovery(() => listWorktreeCommitFiles(this.context, input));
158
+ }
159
+ getWorktreeCommitFileDiff(input) {
160
+ return this.afterRecovery(() => getWorktreeCommitFileDiff(this.context, input));
161
+ }
104
162
  listImportCandidates(input) {
105
163
  return this.afterRecovery(() => listImportCandidates(this.context, input));
106
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manage/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manage/manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { GitCommandOptions, GitBranchWorktreeInfo, GitSubprocessRuntime, GitWorktreeAdapter, GitWorktreeInfo } from '../types.js';
1
+ import type { GitCommitHistoryRead, GitChangedFileRead, GitCommandOptions, GitBranchWorktreeInfo, GitSubprocessRuntime, GitWorktreeAdapter, GitWorktreeInfo } from '../types.js';
2
+ import type { WorktreeGitFileDiff } from '../../contract/index.js';
2
3
  export interface LocalGitAdapterOptions extends GitCommandOptions {
3
4
  readonly executable?: string;
4
5
  /** Test/embedded-runtime prefix; the normal Git executable needs no prefix. */
@@ -45,6 +46,58 @@ export declare class LocalGitAdapter implements GitWorktreeAdapter {
45
46
  };
46
47
  headCommit: string;
47
48
  }>;
49
+ /** Resolve a ref to one canonical commit object for a bounded Manage operation. */
50
+ resolveCommit(workspaceRoot: string, ref: string, options?: GitCommandOptions): Promise<string>;
51
+ /** Resolve a common ancestor for two branch heads. */
52
+ findMergeBase(workspaceRoot: string, left: string, right: string, options?: GitCommandOptions): Promise<string | undefined>;
53
+ /** Count commits that exist only on either branch head. */
54
+ getCommitDivergence(worktreeRoot: string, baselineCommit: string, headCommit: string, options?: GitCommandOptions): Promise<{
55
+ readonly ahead: number;
56
+ readonly behind: number;
57
+ }>;
58
+ /** Read at most 201 commits after a boundary, or the complete reachable HEAD history when omitted. */
59
+ listCommits(worktreeRoot: string, baseCommit?: string, options?: GitCommandOptions): Promise<GitCommitHistoryRead>;
60
+ private isTrackedWorkingTreeFile;
61
+ private isPresentInCommit;
62
+ private isPresentOnDisk;
63
+ private readRestoredWorkingTreeFileDiff;
64
+ private readRestoredWorkingTreeFileStats;
65
+ private normalizeWorkingTreeDiffFiles;
66
+ private readNumstat;
67
+ private listUntrackedFileStats;
68
+ /**
69
+ * Bound one changed-file projection. Output past the adapter's byte limit is
70
+ * reported as an explicit truncated read rather than an unbounded payload or a
71
+ * generic Git failure, and path authorization over a truncated read fails
72
+ * closed because the authorized set is empty.
73
+ */
74
+ private boundedChangedFileRead;
75
+ private runDiffAllowingChanges;
76
+ /** Read the tracked and untracked changed-path projection for one revision. */
77
+ private readChangedFiles;
78
+ /**
79
+ * Read the live working-tree changed paths without line statistics. Path
80
+ * authorization only needs the projection, so callers that must confirm one
81
+ * path avoid the per-untracked-file statistics probe.
82
+ */
83
+ listWorkingTreeChangedPaths(worktreeRoot: string, options?: GitCommandOptions): Promise<GitChangedFileRead>;
84
+ /** Read tracked and untracked changes relative to the current HEAD. */
85
+ listWorkingTreeFiles(worktreeRoot: string, options?: GitCommandOptions): Promise<GitChangedFileRead>;
86
+ /** Read one tracked or untracked working-tree file diff against HEAD. */
87
+ readWorkingTreeFileDiff(worktreeRoot: string, filePath: string, options?: GitCommandOptions): Promise<WorktreeGitFileDiff>;
88
+ private resolveCommitParents;
89
+ /** Read one net baseline-to-HEAD tree diff using NUL-safe output. */
90
+ listDiffFiles(worktreeRoot: string, baseCommit: string, targetCommit: string, options?: GitCommandOptions): Promise<GitChangedFileRead>;
91
+ /** Read net tracked and untracked changes from an arbitrary committed base to the live tree. */
92
+ listWorkingTreeDiffFiles(worktreeRoot: string, baseCommit: string, options?: GitCommandOptions): Promise<GitChangedFileRead>;
93
+ /** Read first-parent (or root) changed-file metadata using NUL-safe output. */
94
+ listCommitFiles(worktreeRoot: string, commit: string, options?: GitCommandOptions): Promise<GitChangedFileRead>;
95
+ /** Read one live working-tree file from an arbitrary committed base. */
96
+ readWorkingTreeDiffFileDiff(worktreeRoot: string, baseCommit: string, filePath: string, options?: GitCommandOptions): Promise<WorktreeGitFileDiff>;
97
+ /** Read one file from a net baseline-to-HEAD tree diff. */
98
+ readDiffFileDiff(worktreeRoot: string, baseCommit: string, targetCommit: string, filePath: string, options?: GitCommandOptions): Promise<WorktreeGitFileDiff>;
99
+ /** Read one authorized file patch with external diff and textconv disabled. */
100
+ readCommitFileDiff(worktreeRoot: string, commit: string, filePath: string, options?: GitCommandOptions): Promise<WorktreeGitFileDiff>;
48
101
  /**
49
102
  * 仅列出 `refs/heads/` 下的本地分支;NUL 分隔避免依赖面向人的展示格式或空白切分。
50
103
  * Lists local branches under `refs/heads/` only; NUL delimiting avoids
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/provider/git/adapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;CAC5C;AA6KD;;;;;;;GAOG;AACH,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAuB;gBAEvC,OAAO,GAAE,sBAA2B;IAsBhD,OAAO,CAAC,GAAG;IAqBX;;;;OAIG;IACG,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiD/F,0EAA0E;IACpE,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBpG,8EAA8E;IACxE,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;;;;;;;IA+BtF;;;;OAIG;IACG,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IAgBtG;;;OAGG;IACG,6BAA6B,CACjC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC;IA4B5C;;;;OAIG;IACG,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAahH;;;;OAIG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;OAIG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAOhH"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/provider/git/adapter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAA0B,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAwU3F,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;CAC5C;AA6KD;;;;;;;GAOG;AACH,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAuB;gBAEvC,OAAO,GAAE,sBAA2B;IAsBhD,OAAO,CAAC,GAAG;IAqBX;;;;OAIG;IACG,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiD/F,0EAA0E;IACpE,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBpG,8EAA8E;IACxE,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;;;;;;;IA+BtF,mFAAmF;IAC7E,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAczG,sDAAsD;IAChD,aAAa,CACjB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAmB9B,2DAA2D;IACrD,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA+B/D,sGAAsG;IAChG,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;YAgClB,wBAAwB;YAuBxB,iBAAiB;YAoBjB,eAAe;YAaf,+BAA+B;YA0C/B,gCAAgC;YAgDhC,6BAA6B;YAiD7B,WAAW;YAUX,sBAAsB;IAkCpC;;;;;OAKG;YACW,sBAAsB;YAiBtB,sBAAsB;IAsBpC,+EAA+E;YACjE,gBAAgB;IA0B9B;;;;OAIG;IACG,2BAA2B,CAC/B,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAY9B,uEAAuE;IACjE,oBAAoB,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAmB9B,yEAAyE;IACnE,uBAAuB,CAC3B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;YA6CjB,oBAAoB;IA2BlC,qEAAqE;IAC/D,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IA0B9B,gGAAgG;IAC1F,wBAAwB,CAC5B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IA4C9B,+EAA+E;IACzE,eAAe,CACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAiB9B,wEAAwE;IAClE,2BAA2B,CAC/B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IA6C/B,2DAA2D;IACrD,gBAAgB,CACpB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IAqB/B,+EAA+E;IACzE,kBAAkB,CACtB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IAqC/B;;;;OAIG;IACG,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IAgBtG;;;OAGG;IACG,6BAA6B,CACjC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC;IA4B5C;;;;OAIG;IACG,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAahH;;;;OAIG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;OAIG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAOhH"}