@cerbur/clutch-dsh-worktree 0.1.21 → 0.1.23

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 (237) hide show
  1. package/README.md +49 -38
  2. package/README.zh.md +42 -28
  3. package/cordis.patch.yml +0 -8
  4. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  5. package/lib/client/WorktreeSurface.js +5 -8
  6. package/lib/client/WorktreeSurface.js.map +1 -1
  7. package/lib/client/dashboard/dashboard-sessions.d.ts +1 -1
  8. package/lib/client/dashboard/dashboard-sessions.d.ts.map +1 -1
  9. package/lib/client/dashboard/dashboard-sessions.js +3 -2
  10. package/lib/client/dashboard/dashboard-sessions.js.map +1 -1
  11. package/lib/client/entry.d.ts.map +1 -1
  12. package/lib/client/entry.js +33 -40
  13. package/lib/client/entry.js.map +1 -1
  14. package/lib/client/index.d.ts +0 -3
  15. package/lib/client/index.d.ts.map +1 -1
  16. package/lib/client/index.js +0 -2
  17. package/lib/client/index.js.map +1 -1
  18. package/lib/client/locales.d.ts +2 -26
  19. package/lib/client/locales.d.ts.map +1 -1
  20. package/lib/client/locales.js +2 -26
  21. package/lib/client/locales.js.map +1 -1
  22. package/lib/client/restart-notice.d.ts +1 -4
  23. package/lib/client/restart-notice.d.ts.map +1 -1
  24. package/lib/client/restart-notice.js +0 -20
  25. package/lib/client/restart-notice.js.map +1 -1
  26. package/lib/client/session/local-session.d.ts +27 -0
  27. package/lib/client/session/local-session.d.ts.map +1 -0
  28. package/lib/client/session/local-session.js +61 -0
  29. package/lib/client/session/local-session.js.map +1 -0
  30. package/lib/client/session/session-rename.d.ts.map +1 -1
  31. package/lib/client/session/session-rename.js.map +1 -1
  32. package/lib/client/session/virtual-workspace-membership.d.ts +1 -0
  33. package/lib/client/session/virtual-workspace-membership.d.ts.map +1 -1
  34. package/lib/client/session/virtual-workspace-membership.js +4 -0
  35. package/lib/client/session/virtual-workspace-membership.js.map +1 -1
  36. package/lib/client/session/worktree-session.d.ts +15 -36
  37. package/lib/client/session/worktree-session.d.ts.map +1 -1
  38. package/lib/client/session/worktree-session.js +124 -152
  39. package/lib/client/session/worktree-session.js.map +1 -1
  40. package/lib/client/steer/steer-activity.d.ts.map +1 -1
  41. package/lib/client/steer/steer-activity.js +2 -1
  42. package/lib/client/steer/steer-activity.js.map +1 -1
  43. package/lib/client/surface/actions/lifecycle-commands.d.ts.map +1 -1
  44. package/lib/client/surface/actions/lifecycle-commands.js +1 -28
  45. package/lib/client/surface/actions/lifecycle-commands.js.map +1 -1
  46. package/lib/client/surface/actions/useDashboardBatchManage.d.ts.map +1 -1
  47. package/lib/client/surface/actions/useDashboardBatchManage.js +0 -13
  48. package/lib/client/surface/actions/useDashboardBatchManage.js.map +1 -1
  49. package/lib/client/surface/actions/useLifecycleActions.d.ts +4 -6
  50. package/lib/client/surface/actions/useLifecycleActions.d.ts.map +1 -1
  51. package/lib/client/surface/actions/useLifecycleActions.js +4 -47
  52. package/lib/client/surface/actions/useLifecycleActions.js.map +1 -1
  53. package/lib/client/surface/actions/useSessionActions.d.ts +1 -1
  54. package/lib/client/surface/actions/useSessionActions.d.ts.map +1 -1
  55. package/lib/client/surface/actions/useSessionActions.js +11 -20
  56. package/lib/client/surface/actions/useSessionActions.js.map +1 -1
  57. package/lib/client/surface/actions/useWorktreeRegistration.d.ts.map +1 -1
  58. package/lib/client/surface/actions/useWorktreeRegistration.js +7 -14
  59. package/lib/client/surface/actions/useWorktreeRegistration.js.map +1 -1
  60. package/lib/client/surface/actions/worktree-cleanup-flow.d.ts +1 -2
  61. package/lib/client/surface/actions/worktree-cleanup-flow.d.ts.map +1 -1
  62. package/lib/client/surface/actions/worktree-cleanup-flow.js +1 -1
  63. package/lib/client/surface/actions/worktree-cleanup-flow.js.map +1 -1
  64. package/lib/client/surface/components/LifecycleDialogs.d.ts +1 -1
  65. package/lib/client/surface/components/LifecycleDialogs.d.ts.map +1 -1
  66. package/lib/client/surface/components/RestartToast.d.ts.map +1 -1
  67. package/lib/client/surface/components/RestartToast.js +1 -2
  68. package/lib/client/surface/components/RestartToast.js.map +1 -1
  69. package/lib/client/surface/components/SurfaceContent.d.ts +2 -2
  70. package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -1
  71. package/lib/client/surface/components/SurfaceContent.js +15 -28
  72. package/lib/client/surface/components/SurfaceContent.js.map +1 -1
  73. package/lib/client/surface/components/WorkspaceTree.d.ts +1 -1
  74. package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -1
  75. package/lib/client/surface/components/WorkspaceTree.js +3 -2
  76. package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
  77. package/lib/client/surface/selectors.d.ts +3 -1
  78. package/lib/client/surface/selectors.d.ts.map +1 -1
  79. package/lib/client/surface/selectors.js +15 -0
  80. package/lib/client/surface/selectors.js.map +1 -1
  81. package/lib/client/surface/shared.d.ts +1 -7
  82. package/lib/client/surface/shared.d.ts.map +1 -1
  83. package/lib/client/surface/shared.js +0 -5
  84. package/lib/client/surface/shared.js.map +1 -1
  85. package/lib/client/surface/state/useLifecycleState.d.ts +0 -1
  86. package/lib/client/surface/state/useLifecycleState.d.ts.map +1 -1
  87. package/lib/client/surface/state/useLifecycleState.js +0 -3
  88. package/lib/client/surface/state/useLifecycleState.js.map +1 -1
  89. package/lib/client/surface/state/useSessionOrdering.d.ts.map +1 -1
  90. package/lib/client/surface/state/useSessionOrdering.js +1 -1
  91. package/lib/client/surface/state/useSessionOrdering.js.map +1 -1
  92. package/lib/client/surface/state/useSurfaceRefresh.d.ts +4 -3
  93. package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -1
  94. package/lib/client/surface/state/useSurfaceRefresh.js +178 -98
  95. package/lib/client/surface/state/useSurfaceRefresh.js.map +1 -1
  96. package/lib/client/surface/state/useSurfaceSources.d.ts +1 -6
  97. package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -1
  98. package/lib/client/surface/state/useSurfaceSources.js +11 -23
  99. package/lib/client/surface/state/useSurfaceSources.js.map +1 -1
  100. package/lib/client/surface/types.d.ts +15 -36
  101. package/lib/client/surface/types.d.ts.map +1 -1
  102. package/lib/client/view/worktree-error-copy.d.ts +0 -2
  103. package/lib/client/view/worktree-error-copy.d.ts.map +1 -1
  104. package/lib/client/view/worktree-error-copy.js +0 -17
  105. package/lib/client/view/worktree-error-copy.js.map +1 -1
  106. package/lib/client/view/worktree-view-errors.d.ts +0 -10
  107. package/lib/client/view/worktree-view-errors.d.ts.map +1 -1
  108. package/lib/client/view/worktree-view-errors.js +1 -22
  109. package/lib/client/view/worktree-view-errors.js.map +1 -1
  110. package/lib/client/view/worktree-view-read.d.ts +12 -3
  111. package/lib/client/view/worktree-view-read.d.ts.map +1 -1
  112. package/lib/client/view/worktree-view-read.js +137 -6
  113. package/lib/client/view/worktree-view-read.js.map +1 -1
  114. package/lib/client/worktree-connection.d.ts +6 -4
  115. package/lib/client/worktree-connection.d.ts.map +1 -1
  116. package/lib/client/worktree-connection.js +24 -4
  117. package/lib/client/worktree-connection.js.map +1 -1
  118. package/lib/client.js +3752 -3822
  119. package/lib/client.js.map +1 -1
  120. package/lib/contract/index.contract.js +4 -2
  121. package/lib/contract/index.contract.js.map +1 -1
  122. package/lib/contract/index.d.ts +27 -6
  123. package/lib/contract/index.d.ts.map +1 -1
  124. package/lib/contract/index.js +5 -4
  125. package/lib/contract/index.js.map +1 -1
  126. package/lib/contract/session-flow.d.ts +29 -0
  127. package/lib/contract/session-flow.d.ts.map +1 -0
  128. package/lib/contract/session-flow.js +2 -0
  129. package/lib/contract/session-flow.js.map +1 -0
  130. package/lib/host/dsh-read-adapter.d.ts +14 -0
  131. package/lib/host/dsh-read-adapter.d.ts.map +1 -1
  132. package/lib/host/dsh-read-adapter.js +30 -3
  133. package/lib/host/dsh-read-adapter.js.map +1 -1
  134. package/lib/host/index.d.ts +0 -4
  135. package/lib/host/index.d.ts.map +1 -1
  136. package/lib/host/index.js +0 -2
  137. package/lib/host/index.js.map +1 -1
  138. package/lib/host/remote.d.ts +2 -2
  139. package/lib/host/remote.d.ts.map +1 -1
  140. package/lib/host/remote.js +11 -7
  141. package/lib/host/remote.js.map +1 -1
  142. package/lib/host/service.d.ts +15 -3
  143. package/lib/host/service.d.ts.map +1 -1
  144. package/lib/host/service.js +69 -37
  145. package/lib/host/service.js.map +1 -1
  146. package/lib/host/session-creation.d.ts +12 -0
  147. package/lib/host/session-creation.d.ts.map +1 -0
  148. package/lib/host/session-creation.js +56 -0
  149. package/lib/host/session-creation.js.map +1 -0
  150. package/lib/index.d.ts +4 -4
  151. package/lib/index.d.ts.map +1 -1
  152. package/lib/index.js +2 -2
  153. package/lib/index.js.map +1 -1
  154. package/lib/manage/manager-navigation.d.ts +11 -0
  155. package/lib/manage/manager-navigation.d.ts.map +1 -0
  156. package/lib/manage/manager-navigation.js +88 -0
  157. package/lib/manage/manager-navigation.js.map +1 -0
  158. package/lib/manage/manager-sessions.d.ts +2 -2
  159. package/lib/manage/manager-sessions.d.ts.map +1 -1
  160. package/lib/manage/manager-sessions.js +30 -16
  161. package/lib/manage/manager-sessions.js.map +1 -1
  162. package/lib/manage/manager-support.d.ts +2 -1
  163. package/lib/manage/manager-support.d.ts.map +1 -1
  164. package/lib/manage/manager-support.js +21 -37
  165. package/lib/manage/manager-support.js.map +1 -1
  166. package/lib/manage/manager-worktrees.d.ts +3 -1
  167. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  168. package/lib/manage/manager-worktrees.js +41 -19
  169. package/lib/manage/manager-worktrees.js.map +1 -1
  170. package/lib/manage/manager.d.ts +8 -1
  171. package/lib/manage/manager.d.ts.map +1 -1
  172. package/lib/manage/manager.js +35 -37
  173. package/lib/manage/manager.js.map +1 -1
  174. package/lib/provider/generated-path.d.ts +7 -0
  175. package/lib/provider/generated-path.d.ts.map +1 -0
  176. package/lib/provider/generated-path.js +57 -0
  177. package/lib/provider/generated-path.js.map +1 -0
  178. package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -1
  179. package/lib/provider/sidecar/sidecar-schema.js +7 -1
  180. package/lib/provider/sidecar/sidecar-schema.js.map +1 -1
  181. package/lib/provider/transaction/operations/create.d.ts.map +1 -1
  182. package/lib/provider/transaction/operations/create.js +2 -0
  183. package/lib/provider/transaction/operations/create.js.map +1 -1
  184. package/lib/provider/transaction/support/path-safety.d.ts.map +1 -1
  185. package/lib/provider/transaction/support/path-safety.js +5 -43
  186. package/lib/provider/transaction/support/path-safety.js.map +1 -1
  187. package/lib/provider/types.d.ts +2 -0
  188. package/lib/provider/types.d.ts.map +1 -1
  189. package/lib/provider/types.js.map +1 -1
  190. package/lib/tool/create-session.d.ts +11 -0
  191. package/lib/tool/create-session.d.ts.map +1 -0
  192. package/lib/tool/create-session.js +19 -0
  193. package/lib/tool/create-session.js.map +1 -0
  194. package/lib/tool/dispatch-session.d.ts.map +1 -1
  195. package/lib/tool/dispatch-session.js +9 -5
  196. package/lib/tool/dispatch-session.js.map +1 -1
  197. package/lib/tool/native-session.d.ts +9 -0
  198. package/lib/tool/native-session.d.ts.map +1 -1
  199. package/lib/tool/native-session.js +47 -1
  200. package/lib/tool/native-session.js.map +1 -1
  201. package/lib/typert.host.js +338 -120
  202. package/lib/typert.remote-client.d.ts +9 -5
  203. package/lib/typert.remote-client.d.ts.map +1 -1
  204. package/lib/typert.remote-client.js +338 -120
  205. package/package.json +1 -5
  206. package/lib/client/permission/worktree-permission-icon.d.ts +0 -7
  207. package/lib/client/permission/worktree-permission-icon.d.ts.map +0 -1
  208. package/lib/client/permission/worktree-permission-icon.js +0 -119
  209. package/lib/client/permission/worktree-permission-icon.js.map +0 -1
  210. package/lib/client/permission/worktree-permission.d.ts +0 -21
  211. package/lib/client/permission/worktree-permission.d.ts.map +0 -1
  212. package/lib/client/permission/worktree-permission.js +0 -78
  213. package/lib/client/permission/worktree-permission.js.map +0 -1
  214. package/lib/client/surface/components/AccessConfirmation.d.ts +0 -9
  215. package/lib/client/surface/components/AccessConfirmation.d.ts.map +0 -1
  216. package/lib/client/surface/components/AccessConfirmation.js +0 -18
  217. package/lib/client/surface/components/AccessConfirmation.js.map +0 -1
  218. package/lib/contract/worktree-permission.d.ts +0 -75
  219. package/lib/contract/worktree-permission.d.ts.map +0 -1
  220. package/lib/contract/worktree-permission.js +0 -32
  221. package/lib/contract/worktree-permission.js.map +0 -1
  222. package/lib/host/permission-preset-append.d.ts +0 -15
  223. package/lib/host/permission-preset-append.d.ts.map +0 -1
  224. package/lib/host/permission-preset-append.js +0 -63
  225. package/lib/host/permission-preset-append.js.map +0 -1
  226. package/lib/host/worktree-permission-manager.d.ts +0 -14
  227. package/lib/host/worktree-permission-manager.d.ts.map +0 -1
  228. package/lib/host/worktree-permission-manager.js +0 -115
  229. package/lib/host/worktree-permission-manager.js.map +0 -1
  230. package/lib/host/worktree-permission.d.ts +0 -51
  231. package/lib/host/worktree-permission.d.ts.map +0 -1
  232. package/lib/host/worktree-permission.js +0 -251
  233. package/lib/host/worktree-permission.js.map +0 -1
  234. package/lib/manage/worktree-permission.d.ts +0 -3
  235. package/lib/manage/worktree-permission.d.ts.map +0 -1
  236. package/lib/manage/worktree-permission.js +0 -3
  237. package/lib/manage/worktree-permission.js.map +0 -1
@@ -39,9 +39,10 @@ import { createWorktreeManager } from '../manage/index.js';
39
39
  import { DshHostReadAdapter } from './dsh-read-adapter.js';
40
40
  import { createWorktreeRemoteProjection, project } from './remote.js';
41
41
  import { createBaselineSync } from './baseline-sync.js';
42
- import { createDshWorktreePermissionAdapter, } from './worktree-permission.js';
43
- import { createWorktreePermissionManager } from './worktree-permission-manager.js';
42
+ import { createWorktreeSessionCreation } from './session-creation.js';
43
+ import { createWorktreeError } from '../contract/index.js';
44
44
  import { registerWorktreeTools, createWorktreeToolSessionPort } from '../tool/index.js';
45
+ import { createNativeWorktreeSessionDirectoryPort } from '../tool/native-session.js';
45
46
  import { WorktreeToolChanges } from './worktree-tool-changes.js';
46
47
  import { WorktreeToolSettings } from './tool-settings.js';
47
48
  /**
@@ -59,6 +60,8 @@ import { WorktreeToolSettings } from './tool-settings.js';
59
60
  let WorktreeRemoteService = (() => {
60
61
  let _classSuper = TypertRemoteService;
61
62
  let _instanceExtraInitializers = [];
63
+ let _canReuseLocalSession_decorators;
64
+ let _createWorktreeSession_decorators;
62
65
  let _syncWorktreeBaseline_decorators;
63
66
  let _getToolSettings_decorators;
64
67
  let _updateToolSettings_decorators;
@@ -67,7 +70,9 @@ let WorktreeRemoteService = (() => {
67
70
  let _updateWorktreeInstructions_decorators;
68
71
  let _updateWorktreeBaseBranch_decorators;
69
72
  let _getWorkspaceGitState_decorators;
73
+ let _readWorkspaceNavigation_decorators;
70
74
  let _listWorktrees_decorators;
75
+ let _readWorktreeSessionState_decorators;
71
76
  let _listWorktreeCommits_decorators;
72
77
  let _listWorktreeCommitFiles_decorators;
73
78
  let _getWorktreeCommitFileDiff_decorators;
@@ -86,11 +91,11 @@ let WorktreeRemoteService = (() => {
86
91
  let _insertWorktreeBefore_decorators;
87
92
  let _listBindings_decorators;
88
93
  let _bindSession_decorators;
89
- let _ensureWorktreePermission_decorators;
90
- let _normalizeDetachedWorktreePermissions_decorators;
91
94
  return class WorktreeRemoteService extends _classSuper {
92
95
  static {
93
96
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
97
+ _canReuseLocalSession_decorators = [Remote];
98
+ _createWorktreeSession_decorators = [Remote];
94
99
  _syncWorktreeBaseline_decorators = [Remote];
95
100
  _getToolSettings_decorators = [Remote];
96
101
  _updateToolSettings_decorators = [Remote];
@@ -99,7 +104,9 @@ let WorktreeRemoteService = (() => {
99
104
  _updateWorktreeInstructions_decorators = [Remote];
100
105
  _updateWorktreeBaseBranch_decorators = [Remote];
101
106
  _getWorkspaceGitState_decorators = [Remote];
107
+ _readWorkspaceNavigation_decorators = [Remote];
102
108
  _listWorktrees_decorators = [Remote];
109
+ _readWorktreeSessionState_decorators = [Remote];
103
110
  _listWorktreeCommits_decorators = [Remote];
104
111
  _listWorktreeCommitFiles_decorators = [Remote];
105
112
  _getWorktreeCommitFileDiff_decorators = [Remote];
@@ -118,8 +125,8 @@ let WorktreeRemoteService = (() => {
118
125
  _insertWorktreeBefore_decorators = [Remote];
119
126
  _listBindings_decorators = [Remote];
120
127
  _bindSession_decorators = [Remote];
121
- _ensureWorktreePermission_decorators = [Remote];
122
- _normalizeDetachedWorktreePermissions_decorators = [Remote];
128
+ __esDecorate(this, null, _canReuseLocalSession_decorators, { kind: "method", name: "canReuseLocalSession", static: false, private: false, access: { has: obj => "canReuseLocalSession" in obj, get: obj => obj.canReuseLocalSession }, metadata: _metadata }, null, _instanceExtraInitializers);
129
+ __esDecorate(this, null, _createWorktreeSession_decorators, { kind: "method", name: "createWorktreeSession", static: false, private: false, access: { has: obj => "createWorktreeSession" in obj, get: obj => obj.createWorktreeSession }, metadata: _metadata }, null, _instanceExtraInitializers);
123
130
  __esDecorate(this, null, _syncWorktreeBaseline_decorators, { kind: "method", name: "syncWorktreeBaseline", static: false, private: false, access: { has: obj => "syncWorktreeBaseline" in obj, get: obj => obj.syncWorktreeBaseline }, metadata: _metadata }, null, _instanceExtraInitializers);
124
131
  __esDecorate(this, null, _getToolSettings_decorators, { kind: "method", name: "getToolSettings", static: false, private: false, access: { has: obj => "getToolSettings" in obj, get: obj => obj.getToolSettings }, metadata: _metadata }, null, _instanceExtraInitializers);
125
132
  __esDecorate(this, null, _updateToolSettings_decorators, { kind: "method", name: "updateToolSettings", static: false, private: false, access: { has: obj => "updateToolSettings" in obj, get: obj => obj.updateToolSettings }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -128,7 +135,9 @@ let WorktreeRemoteService = (() => {
128
135
  __esDecorate(this, null, _updateWorktreeInstructions_decorators, { kind: "method", name: "updateWorktreeInstructions", static: false, private: false, access: { has: obj => "updateWorktreeInstructions" in obj, get: obj => obj.updateWorktreeInstructions }, metadata: _metadata }, null, _instanceExtraInitializers);
129
136
  __esDecorate(this, null, _updateWorktreeBaseBranch_decorators, { kind: "method", name: "updateWorktreeBaseBranch", static: false, private: false, access: { has: obj => "updateWorktreeBaseBranch" in obj, get: obj => obj.updateWorktreeBaseBranch }, metadata: _metadata }, null, _instanceExtraInitializers);
130
137
  __esDecorate(this, null, _getWorkspaceGitState_decorators, { kind: "method", name: "getWorkspaceGitState", static: false, private: false, access: { has: obj => "getWorkspaceGitState" in obj, get: obj => obj.getWorkspaceGitState }, metadata: _metadata }, null, _instanceExtraInitializers);
138
+ __esDecorate(this, null, _readWorkspaceNavigation_decorators, { kind: "method", name: "readWorkspaceNavigation", static: false, private: false, access: { has: obj => "readWorkspaceNavigation" in obj, get: obj => obj.readWorkspaceNavigation }, metadata: _metadata }, null, _instanceExtraInitializers);
131
139
  __esDecorate(this, null, _listWorktrees_decorators, { kind: "method", name: "listWorktrees", static: false, private: false, access: { has: obj => "listWorktrees" in obj, get: obj => obj.listWorktrees }, metadata: _metadata }, null, _instanceExtraInitializers);
140
+ __esDecorate(this, null, _readWorktreeSessionState_decorators, { kind: "method", name: "readWorktreeSessionState", static: false, private: false, access: { has: obj => "readWorktreeSessionState" in obj, get: obj => obj.readWorktreeSessionState }, metadata: _metadata }, null, _instanceExtraInitializers);
132
141
  __esDecorate(this, null, _listWorktreeCommits_decorators, { kind: "method", name: "listWorktreeCommits", static: false, private: false, access: { has: obj => "listWorktreeCommits" in obj, get: obj => obj.listWorktreeCommits }, metadata: _metadata }, null, _instanceExtraInitializers);
133
142
  __esDecorate(this, null, _listWorktreeCommitFiles_decorators, { kind: "method", name: "listWorktreeCommitFiles", static: false, private: false, access: { has: obj => "listWorktreeCommitFiles" in obj, get: obj => obj.listWorktreeCommitFiles }, metadata: _metadata }, null, _instanceExtraInitializers);
134
143
  __esDecorate(this, null, _getWorktreeCommitFileDiff_decorators, { kind: "method", name: "getWorktreeCommitFileDiff", static: false, private: false, access: { has: obj => "getWorktreeCommitFileDiff" in obj, get: obj => obj.getWorktreeCommitFileDiff }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -147,8 +156,6 @@ let WorktreeRemoteService = (() => {
147
156
  __esDecorate(this, null, _insertWorktreeBefore_decorators, { kind: "method", name: "insertWorktreeBefore", static: false, private: false, access: { has: obj => "insertWorktreeBefore" in obj, get: obj => obj.insertWorktreeBefore }, metadata: _metadata }, null, _instanceExtraInitializers);
148
157
  __esDecorate(this, null, _listBindings_decorators, { kind: "method", name: "listBindings", static: false, private: false, access: { has: obj => "listBindings" in obj, get: obj => obj.listBindings }, metadata: _metadata }, null, _instanceExtraInitializers);
149
158
  __esDecorate(this, null, _bindSession_decorators, { kind: "method", name: "bindSession", static: false, private: false, access: { has: obj => "bindSession" in obj, get: obj => obj.bindSession }, metadata: _metadata }, null, _instanceExtraInitializers);
150
- __esDecorate(this, null, _ensureWorktreePermission_decorators, { kind: "method", name: "ensureWorktreePermission", static: false, private: false, access: { has: obj => "ensureWorktreePermission" in obj, get: obj => obj.ensureWorktreePermission }, metadata: _metadata }, null, _instanceExtraInitializers);
151
- __esDecorate(this, null, _normalizeDetachedWorktreePermissions_decorators, { kind: "method", name: "normalizeDetachedWorktreePermissions", static: false, private: false, access: { has: obj => "normalizeDetachedWorktreePermissions" in obj, get: obj => obj.normalizeDetachedWorktreePermissions }, metadata: _metadata }, null, _instanceExtraInitializers);
152
159
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
153
160
  }
154
161
  // Cordis 在实例化前保证这三个只读 Host 服务可用;这里不注入任何 DSH mutation API。
@@ -161,6 +168,7 @@ let WorktreeRemoteService = (() => {
161
168
  toolChanges = new WorktreeToolChanges();
162
169
  toolSettings;
163
170
  baselineSync;
171
+ sessionCreation;
164
172
  /**
165
173
  * 为当前 Cordis fiber 建立一次 Host 组合,并复用同一个 Remote projection 处理调用。
166
174
  * Builds the Host composition once for the current Cordis fiber and reuses one Remote
@@ -174,7 +182,20 @@ let WorktreeRemoteService = (() => {
174
182
  disposed = true;
175
183
  }, 'clutch-dsh-worktree: activity reader disposal');
176
184
  const activitySource = ctx.get('activitySource');
177
- const dsh = new DshHostReadAdapter(ctx, {
185
+ const native = ctx;
186
+ const dsh = new DshHostReadAdapter({
187
+ workspaceRegistry: native.workspaceRegistry,
188
+ sessions: native.sessions,
189
+ sessionPersistence: native.sessionPersistence,
190
+ // Optional sibling services must use get(); undeclared Context property reads throw.
191
+ // Resolve on each call so late mounting and replacement remain visible.
192
+ get workingDirectory() {
193
+ return ctx.get('workingDirectory');
194
+ },
195
+ get sessionQuery() {
196
+ return ctx.get('sessionQuery');
197
+ },
198
+ }, {
178
199
  activitySource,
179
200
  isDisposed: () => disposed,
180
201
  });
@@ -187,6 +208,17 @@ let WorktreeRemoteService = (() => {
187
208
  });
188
209
  this.manager = manager;
189
210
  ctx.effect(() => () => this.toolChanges.dispose(), 'clutch-dsh-worktree: tool change cleanup');
211
+ ctx.inject(['sessionController', 'agents'], (sessionCtx) => {
212
+ const sessions = createNativeWorktreeSessionDirectoryPort(sessionCtx);
213
+ const creation = createWorktreeSessionCreation({ manager, sessions,
214
+ changed: (workspaceId, worktreeId, requestId) => this.toolChanges.changed(workspaceId, worktreeId, requestId) });
215
+ this.sessionCreation = creation;
216
+ sessionCtx.effect(() => () => {
217
+ creation.dispose();
218
+ if (this.sessionCreation === creation)
219
+ this.sessionCreation = undefined;
220
+ });
221
+ });
190
222
  // Optional command composition keeps the read-only Provider adapter unchanged.
191
223
  ctx.inject(['commands', 'tools', 'sessionController', 'sessionQuery', 'agents', 'llm', 'systemPrompt'], (toolCtx) => {
192
224
  const sessions = createWorktreeToolSessionPort(toolCtx);
@@ -211,34 +243,34 @@ let WorktreeRemoteService = (() => {
211
243
  });
212
244
  registerWorktreeInstructions(ctx, (sessionId) => manager.resolveSessionInstructions(sessionId), () => disposed);
213
245
  ctx.effect(() => () => this.manager.close(), 'clutch-dsh-worktree: Host manager cleanup');
214
- // Optional capabilities can mount late, disappear or be replaced without
215
- // remounting this Host. Read the owning Context at call time, never capture
216
- // a provider instance; older profiles remain loadable and fail closed.
217
- const permissionAdapter = createDshWorktreePermissionAdapter({
218
- sessions: {
219
- get: (sessionId) => ctx.sessions.get(sessionId),
220
- },
221
- get permissionPresets() {
222
- return ctx.get('permissionPresets');
223
- },
224
- get sandboxPolicy() {
225
- return ctx.get('sandboxPolicy');
226
- },
227
- get approval() {
228
- return ctx.get('approval');
229
- },
230
- });
231
- this.remote = createWorktreeRemoteProjection(manager, createWorktreePermissionManager({
232
- manager,
233
- dsh,
234
- permissions: permissionAdapter,
235
- }));
246
+ this.remote = createWorktreeRemoteProjection(manager);
236
247
  }
237
248
  // 这些方法保持为薄边界,生成的 Typert 描述符只看到 contract-safe 签名;错误归一化
238
249
  // 和 JSON 投影集中由 `createWorktreeRemoteProjection` 负责。
239
250
  // These methods stay deliberately thin so generated Typert descriptors see only
240
251
  // contract-safe signatures; error normalization and JSON projection remain centralized
241
252
  // in `createWorktreeRemoteProjection`.
253
+ canReuseLocalSession(input) {
254
+ return project(async () => {
255
+ const workspace = await this.dsh.getWorkspace(input.workspaceId);
256
+ const bindings = await this.manager.listBindings(input);
257
+ const session = await this.dsh.getSession(input.sessionId);
258
+ if (session && session.originalCwd === undefined) {
259
+ throw createWorktreeError('SESSION_CWD_MISMATCH', 'Native execution directory is unavailable.');
260
+ }
261
+ return !!workspace && !!session && session.sessionId === input.sessionId &&
262
+ session.workspaceId === input.workspaceId &&
263
+ !bindings.some((binding) => binding.sessionId === input.sessionId) &&
264
+ await samePhysicalPath(session.cwd, workspace.rootPath);
265
+ });
266
+ }
267
+ createWorktreeSession(input, signal) {
268
+ return project(() => {
269
+ if (!this.sessionCreation)
270
+ throw createWorktreeError('WORKTREE_STATE_CONFLICT', 'Native Session creation capability is unavailable.');
271
+ return this.sessionCreation.create(input, signal);
272
+ });
273
+ }
242
274
  syncWorktreeBaseline(input, signal) {
243
275
  return project(() => {
244
276
  if (!this.baselineSync)
@@ -283,9 +315,15 @@ let WorktreeRemoteService = (() => {
283
315
  getWorkspaceGitState(input) {
284
316
  return this.remote.getWorkspaceGitState(input);
285
317
  }
318
+ readWorkspaceNavigation(input) {
319
+ return this.remote.readWorkspaceNavigation(input);
320
+ }
286
321
  listWorktrees(input) {
287
322
  return this.remote.listWorktrees(input);
288
323
  }
324
+ readWorktreeSessionState(input) {
325
+ return this.remote.readWorktreeSessionState(input);
326
+ }
289
327
  listWorktreeCommits(input) {
290
328
  return this.remote.listWorktreeCommits(input);
291
329
  }
@@ -340,12 +378,6 @@ let WorktreeRemoteService = (() => {
340
378
  bindSession(input) {
341
379
  return this.remote.bindSession(input);
342
380
  }
343
- ensureWorktreePermission(input) {
344
- return this.remote.ensureWorktreePermission(input);
345
- }
346
- normalizeDetachedWorktreePermissions(input) {
347
- return this.remote.normalizeDetachedWorktreePermissions(input);
348
- }
349
381
  };
350
382
  })();
351
383
  export { WorktreeRemoteService };
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/host/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/host/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { WorktreeManager, WorktreeSessionCreationRequest, WorktreeSessionCreationResult } from '../contract/index.js';
2
+ import { type WorktreeToolSessionPort } from '../tool/native-session.js';
3
+ /** One native admission identity per browser action, without persistent task/message state. */
4
+ export declare function createWorktreeSessionCreation(options: {
5
+ manager: Pick<WorktreeManager, 'listWorktrees' | 'bindSession' | 'readWorktreeSessionState'>;
6
+ sessions: Pick<WorktreeToolSessionPort, 'create' | 'enterWorkingDirectory'>;
7
+ changed(workspaceId: string, worktreeId: string, requestId: string): void;
8
+ }): {
9
+ dispose(): void;
10
+ create(input: WorktreeSessionCreationRequest, signal: AbortSignal): Promise<WorktreeSessionCreationResult>;
11
+ };
12
+ //# sourceMappingURL=session-creation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-creation.d.ts","sourceRoot":"","sources":["../../src/host/session-creation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE3H,OAAO,EAAuC,KAAK,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE9G,+FAA+F;AAC/F,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa,GAAG,0BAA0B,CAAC,CAAC;IAC7F,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,GAAG,uBAAuB,CAAC,CAAC;IAC5E,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3E;;kBAKiB,8BAA8B,UAAU,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC;EA2C7G"}
@@ -0,0 +1,56 @@
1
+ import { createWorktreeError } from '../contract/index.js';
2
+ import { createBoundWorktreeSession } from '../tool/create-session.js';
3
+ import { NativeSessionCreationPreflightError } from '../tool/native-session.js';
4
+ /** One native admission identity per browser action, without persistent task/message state. */
5
+ export function createWorktreeSessionCreation(options) {
6
+ const lifetime = new AbortController();
7
+ const requests = new Map();
8
+ return {
9
+ dispose() { lifetime.abort(); requests.clear(); },
10
+ create(input, signal) {
11
+ const conflict = (text) => createWorktreeError('WORKTREE_STATE_CONFLICT', text);
12
+ if (!input || typeof input.workspaceId !== 'string' || typeof input.worktreeId !== 'string' ||
13
+ typeof input.requestId !== 'string' || !/^[A-Za-z0-9:_-]{1,160}$/u.test(input.requestId))
14
+ return Promise.reject(conflict('Invalid Worktree Session creation request.'));
15
+ const payload = JSON.stringify([input.workspaceId, input.worktreeId]);
16
+ const known = requests.get(input.requestId);
17
+ if (known)
18
+ return known.payload === payload ? known.promise : Promise.reject(conflict('Request id belongs to another Worktree.'));
19
+ if (requests.size >= 512)
20
+ return Promise.reject(conflict('Session creation capacity reached; reload the plugin.'));
21
+ const combined = AbortSignal.any([signal, lifetime.signal]);
22
+ const check = () => combined.throwIfAborted();
23
+ let creationAttempted = false;
24
+ const promise = (async () => {
25
+ check();
26
+ const record = options.manager.readWorktreeSessionState
27
+ ? (await options.manager.readWorktreeSessionState(input)).target
28
+ : (await options.manager.listWorktrees(input)).find((item) => item.worktreeId === input.worktreeId);
29
+ if (!record || record.workspaceId !== input.workspaceId || record.status !== 'active' ||
30
+ record.diskCleanup === 'completed' || (record.health !== undefined && record.health !== 'ready'))
31
+ throw conflict('Worktree is unavailable; refresh or repair it before creating a Session.');
32
+ check();
33
+ // From this boundary onward, even a rejected create can have an uncertain native result.
34
+ creationAttempted = true;
35
+ const result = await createBoundWorktreeSession({ record, manager: options.manager, sessions: options.sessions, signal: combined, check });
36
+ // A post-commit snapshot also detects deletion/rebinding during native creation.
37
+ // Do not turn a projection failure into an uncertain native creation failure.
38
+ const state = result.bound && options.manager.readWorktreeSessionState
39
+ ? await options.manager.readWorktreeSessionState(input).catch(() => undefined) : undefined;
40
+ // Other connected Clients may refresh Git on notification. Prepare this
41
+ // response first so those reads do not compete with its post-commit read.
42
+ // Projection failure still notifies and keeps the successful native result.
43
+ options.changed(input.workspaceId, input.worktreeId, input.requestId);
44
+ return { ...result, ...(state === undefined ? {} : { state }) };
45
+ })().catch((error) => {
46
+ if ((!creationAttempted || error instanceof NativeSessionCreationPreflightError) &&
47
+ requests.get(input.requestId)?.promise === promise)
48
+ requests.delete(input.requestId);
49
+ throw error;
50
+ });
51
+ requests.set(input.requestId, { payload, promise });
52
+ return promise;
53
+ },
54
+ };
55
+ }
56
+ //# sourceMappingURL=session-creation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-creation.js","sourceRoot":"","sources":["../../src/host/session-creation.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -10,8 +10,8 @@
10
10
  * @packageDocumentation
11
11
  */
12
12
  export { WORKTREE_ERROR_CODES, WORKTREE_REMOTE_METHODS, createWorktreeError, } from './contract/index.js';
13
- export { WORKTREE_FULL_ACCESS_PRESET, WORKTREE_GIT_SUMMARY, WORKTREE_GIT_WORKING_TREE } from './contract/index.js';
14
- export type { AdoptWorktreeBranchInput, BranchRecord, BindingStatus, JsonPrimitive, JsonValue, SessionBinding, WorktreeError, WorktreeErrorCode, WorktreeErrorDetails, WorktreeManager, WorktreeBaselineSyncRequest, WorktreeSessionDispatchResult, WorktreeSyncStrategy, WorktreeBaselineSyncManager, WorktreeGitBaseline, WorktreeGitChangedFile, WorktreeGitCommit, WorktreeGitCommitFiles, WorktreeGitCommitFilesRequest, WorktreeGitCommitKind, WorktreeGitDiffRequest, WorktreeGitDiffSegment, WorktreeGitDiffSelection, WorktreeGitFileDiff, WorktreeGitFileDiffRequest, WorktreeGitFileStatus, WorktreeGitHistory, WorktreeGitRequestContext, WorktreeImportCandidate, WorktreeRemoteManager, WorktreeRemoteMethod, WorktreeRemoteResult, WorktreeRecord, WorktreeStatus, WorktreeSource, WorktreeId, WorkspaceId, SessionId, WorktreePermissionApprovalPolicy, WorktreePermissionBinding, WorktreePermissionCapability, WorktreePermissionCurrentState, WorktreePermissionDecision, WorktreePermissionDecisionInput, WorktreePermissionManager, WorktreePermissionNormalizationRequest, WorktreePermissionPort, WorktreePermissionRequest, WorktreePermissionResult, WorktreePermissionSandboxMode, WorktreePermissionStatus, } from './contract/index.js';
13
+ export { WORKTREE_GIT_SUMMARY, WORKTREE_GIT_WORKING_TREE } from './contract/index.js';
14
+ export type { AdoptWorktreeBranchInput, BranchRecord, BindingStatus, JsonPrimitive, JsonValue, SessionBinding, WorktreeError, WorktreeErrorCode, WorktreeErrorDetails, WorktreeManager, WorktreeBaselineSyncRequest, WorktreeSessionDispatchResult, WorktreeSyncStrategy, WorktreeBaselineSyncManager, WorktreeGitBaseline, WorktreeGitChangedFile, WorktreeGitCommit, WorktreeGitCommitFiles, WorktreeGitCommitFilesRequest, WorktreeGitCommitKind, WorktreeGitDiffRequest, WorktreeGitDiffSegment, WorktreeGitDiffSelection, WorktreeGitFileDiff, WorktreeGitFileDiffRequest, WorktreeGitFileStatus, WorktreeGitHistory, WorktreeGitRequestContext, WorktreeImportCandidate, WorktreeRemoteManager, WorktreeRemoteMethod, WorktreeRemoteResult, WorktreeRecord, WorktreeStatus, WorktreeSource, WorktreeId, WorkspaceId, SessionId, } from './contract/index.js';
15
15
  export { LocalGitAdapter } from './provider/git/adapter.js';
16
16
  export { CrossProcessMutationLock, WorktreeMutationTransaction, createWorktreeMutationToken, createRepositoryFingerprint, } from './provider/index.js';
17
17
  export { SUPPORTED_SIDECAR_SCHEMA_VERSIONS, WorkspaceShardedSidecarRepository, migrateSidecarSnapshot, validateSidecarSnapshot, } from './provider/sidecar/repository.js';
@@ -19,7 +19,7 @@ export { LEGACY_SIDECAR_SCHEMA_VERSION, SIDECAR_SCHEMA_VERSION, WorktreeProvider
19
19
  export type { DshReadAdapter, DshSessionSummary, DshWorkspaceSummary, GitBranchWorktreeInfo, GitCommandOptions, GitRepositoryInspection, GitSubprocessRuntime, GitWorktreeAdapter, GitWorktreeInfo, LockedSidecarStore, PendingOperation, RecoveryIssue, RepositoryIdentity, SidecarMutation, SidecarSnapshot, SidecarStore, } from './provider/types.js';
20
20
  export { WorktreeManagerImpl, createWorktreeManager } from './manage/index.js';
21
21
  export type { RuntimeCwdInput, WorktreeManagerOptions, WorktreeManagerService, } from './manage/index.js';
22
- export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, createDshWorktreePermissionAdapter, createWorktreePermissionManager, } from './host/index.js';
23
- export type { DshHostReadContext, DshWorktreePermissionAdapterOptions, WorktreeHostConfig, WorktreePermissionManagerOptions, } from './host/index.js';
22
+ export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, } from './host/index.js';
23
+ export type { DshHostReadContext, WorktreeHostConfig, } from './host/index.js';
24
24
  export { WorktreeRemoteService as default } from './host/index.js';
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACnH,YAAY,EACV,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,+BAA+B,EAC/B,yBAAyB,EACzB,sCAAsC,EACtC,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,mCAAmC,EACnC,kBAAkB,EAClB,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACtF,YAAY,EACV,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
package/lib/index.js CHANGED
@@ -10,13 +10,13 @@
10
10
  * @packageDocumentation
11
11
  */
12
12
  export { WORKTREE_ERROR_CODES, WORKTREE_REMOTE_METHODS, createWorktreeError, } from './contract/index.js';
13
- export { WORKTREE_FULL_ACCESS_PRESET, WORKTREE_GIT_SUMMARY, WORKTREE_GIT_WORKING_TREE } from './contract/index.js';
13
+ export { WORKTREE_GIT_SUMMARY, WORKTREE_GIT_WORKING_TREE } from './contract/index.js';
14
14
  export { LocalGitAdapter } from './provider/git/adapter.js';
15
15
  export { CrossProcessMutationLock, WorktreeMutationTransaction, createWorktreeMutationToken, createRepositoryFingerprint, } from './provider/index.js';
16
16
  export { SUPPORTED_SIDECAR_SCHEMA_VERSIONS, WorkspaceShardedSidecarRepository, migrateSidecarSnapshot, validateSidecarSnapshot, } from './provider/sidecar/repository.js';
17
17
  export { LEGACY_SIDECAR_SCHEMA_VERSION, SIDECAR_SCHEMA_VERSION, WorktreeProviderError, isWorktreeProviderError, providerError, } from './provider/types.js';
18
18
  export { WorktreeManagerImpl, createWorktreeManager } from './manage/index.js';
19
- export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, createDshWorktreePermissionAdapter, createWorktreePermissionManager, } from './host/index.js';
19
+ export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, } from './host/index.js';
20
20
  // bundle patch 以默认导出装载同一个 Cordis 服务;命名导出保留给显式 Host 组合。
21
21
  // The bundle patch loads the same Cordis service through the default export; the named
22
22
  // export remains available to explicit Host compositions.
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAsDnH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAmB7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM/E,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AAQzB,uDAAuD;AACvD,uFAAuF;AACvF,0DAA0D;AAC1D,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAyCtF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAmB7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM/E,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAMzB,uDAAuD;AACvD,uFAAuF;AACvF,0DAA0D;AAC1D,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type WorkspaceNavigation } from '../contract/index.js';
2
+ import type { WorkspaceCheckout, WorkspaceId } from '../contract/index.js';
3
+ import type { WorktreeManagerContext } from './manager-context.js';
4
+ /** Request-local facts only. Never passed to transactions or retained after this read. */
5
+ export declare function readWorkspaceNavigation(context: WorktreeManagerContext, input: {
6
+ workspaceId: WorkspaceId;
7
+ }): Promise<WorkspaceNavigation>;
8
+ export declare function getWorkspaceCheckout(context: WorktreeManagerContext, input: {
9
+ workspaceId: WorkspaceId;
10
+ }): Promise<WorkspaceCheckout>;
11
+ //# sourceMappingURL=manager-navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager-navigation.d.ts","sourceRoot":"","sources":["../../src/manage/manager-navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE1G,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,0FAA0F;AAC1F,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,GAClC,OAAO,CAAC,mBAAmB,CAAC,CA8C9B;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8B3I"}
@@ -0,0 +1,88 @@
1
+ import { realpath } from 'node:fs/promises';
2
+ import { WORKTREE_ERROR_CODES } from '../contract/index.js';
3
+ import { getWorkspaceGitState, listWorktrees } from './manager-worktrees.js';
4
+ import { requireWorkspaceForRead, requireWorkspaceRoot, samePhysicalPath } from './manager-support.js';
5
+ /** Request-local facts only. Never passed to transactions or retained after this read. */
6
+ export async function readWorkspaceNavigation(context, input) {
7
+ await requireWorkspaceForRead(context, input.workspaceId);
8
+ const snapshot = await context.sidecar.read(input.workspaceId);
9
+ const facts = new Map();
10
+ const sharedMethods = new Set(['validateRepository', 'resolveRepositoryRoot', 'listWorktrees', 'resolveCheckoutHead']);
11
+ const git = new Proxy(context.git, {
12
+ get(target, property) {
13
+ const value = Reflect.get(target, property);
14
+ if (typeof value !== 'function')
15
+ return value;
16
+ if (!sharedMethods.has(String(property)))
17
+ return value.bind(target);
18
+ return (...args) => {
19
+ // Options carry the same lifecycle signal throughout this request.
20
+ const key = String(property) + JSON.stringify(property === 'resolveCheckoutHead' ? args.slice(0, 2) : args.slice(0, 1));
21
+ let pending = facts.get(key);
22
+ if (!pending) {
23
+ const optionsIndex = property === 'resolveCheckoutHead' ? 2 : 1;
24
+ const options = args[optionsIndex];
25
+ args[optionsIndex] = { ...options, signal: context.signal };
26
+ pending = Promise.resolve().then(() => value.apply(target, args));
27
+ facts.set(key, pending);
28
+ }
29
+ return pending;
30
+ };
31
+ },
32
+ });
33
+ const scoped = { ...context, git };
34
+ const [records, state, checkout] = await Promise.allSettled([
35
+ listWorktrees(scoped, input, snapshot),
36
+ getWorkspaceGitState(scoped, input),
37
+ getWorkspaceCheckout(scoped, input),
38
+ ]);
39
+ if (records.status === 'rejected')
40
+ throw records.reason;
41
+ let gitState;
42
+ if (state.status === 'fulfilled')
43
+ gitState = { ok: true, value: state.value };
44
+ else {
45
+ const error = state.reason;
46
+ if (!error || typeof error !== 'object' || Array.isArray(error) ||
47
+ !WORKTREE_ERROR_CODES.includes(error.code) || typeof error.message !== 'string' ||
48
+ !error.details || typeof error.details !== 'object' || Array.isArray(error.details))
49
+ throw state.reason;
50
+ gitState = { ok: false, error: { code: error.code, message: error.message, details: error.details } };
51
+ }
52
+ return { worktrees: records.value, bindings: snapshot.bindings,
53
+ mainInstructions: snapshot.mainInstructions ?? '', gitState,
54
+ ...(checkout.status === 'fulfilled' ? { checkout: checkout.value } : {}) };
55
+ }
56
+ export async function getWorkspaceCheckout(context, input) {
57
+ const workspace = await requireWorkspaceForRead(context, input.workspaceId);
58
+ await requireWorkspaceRoot(workspace);
59
+ const options = { signal: context.signal };
60
+ await context.git.validateRepository(workspace.rootPath, options);
61
+ const gitRootPath = context.git.resolveRepositoryRoot
62
+ ? await context.git.resolveRepositoryRoot(workspace.rootPath, options)
63
+ : workspace.rootPath;
64
+ const worktrees = await context.git.listWorktrees(gitRootPath, options);
65
+ const workspacePath = await realpath(workspace.rootPath);
66
+ for (const worktree of worktrees) {
67
+ if (await samePhysicalPath(worktree.absolutePath, gitRootPath)) {
68
+ let currentHead = worktree.currentHead;
69
+ try {
70
+ currentHead = context.git.resolveCheckoutHead
71
+ ? await context.git.resolveCheckoutHead(gitRootPath, worktree, options)
72
+ : currentHead ?? (worktree.headCommit && worktree.branch && !worktree.detached
73
+ ? { kind: 'branch', name: worktree.branch, commit: worktree.headCommit }
74
+ : undefined);
75
+ }
76
+ catch {
77
+ currentHead = undefined;
78
+ }
79
+ return {
80
+ gitRootPath,
81
+ workspacePath,
82
+ ...(currentHead === undefined ? {} : { currentHead }),
83
+ };
84
+ }
85
+ }
86
+ return { gitRootPath, workspacePath };
87
+ }
88
+ //# sourceMappingURL=manager-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager-navigation.js","sourceRoot":"","sources":["../../src/manage/manager-navigation.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { WorktreeManagerContext } from './manager-context.js';
4
4
  export declare function listBindings(context: WorktreeManagerContext, input: {
5
5
  readonly workspaceId: WorkspaceId;
6
6
  }): Promise<readonly SessionBinding[]>;
7
- /** Bind a DSH-created Session whose cwd already targets the Worktree. */
7
+ /** Bind only after DSH has published the target effective directory. */
8
8
  export declare function bindSession(context: WorktreeManagerContext, input: {
9
9
  readonly workspaceId: WorkspaceId;
10
10
  readonly worktreeId: string;
@@ -15,7 +15,7 @@ export declare function readSessionHead(context: WorktreeManagerContext, input:
15
15
  readonly workspaceId: WorkspaceId;
16
16
  readonly sessionId: string;
17
17
  }): Promise<string>;
18
- /** Derive one execution cwd from the current Workspace and binding projection. */
18
+ /** Read native execution cwd, or derive it only for legacy adapters without directory facts. */
19
19
  export declare function resolveRuntimeCwd(context: WorktreeManagerContext, input: {
20
20
  readonly workspaceId: WorkspaceId;
21
21
  readonly sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"manager-sessions.d.ts","sourceRoot":"","sources":["../../src/manage/manager-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,kEAAkE;AAClE,wBAAsB,YAAY,CAChC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GAC3C,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAGpC;AAED,yEAAyE;AACzE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACpG,OAAO,CAAC,cAAc,CAAC,CAuDzB;AAED,6EAA6E;AAC7E,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,kFAAkF;AAClF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
1
+ {"version":3,"file":"manager-sessions.d.ts","sourceRoot":"","sources":["../../src/manage/manager-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,kEAAkE;AAClE,wBAAsB,YAAY,CAChC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GAC3C,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAGpC;AAED,wEAAwE;AACxE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACpG,OAAO,CAAC,cAAc,CAAC,CA0DzB;AAED,6EAA6E;AAC7E,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,gGAAgG;AAChG,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,MAAM,CAAC,CAsCjB"}