@cerbur/clutch-dsh-worktree 0.1.7 → 0.1.9
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.
- package/README.md +47 -32
- package/README.zh.md +39 -25
- package/lib/client/WorktreeContext.d.ts +1 -1
- package/lib/client/WorktreeContext.d.ts.map +1 -1
- package/lib/client/WorktreeContext.js +1 -1
- package/lib/client/WorktreeContext.js.map +1 -1
- package/lib/client/WorktreeHeroContext.d.ts.map +1 -1
- package/lib/client/WorktreeHeroContext.js +1 -1
- package/lib/client/WorktreeHeroContext.js.map +1 -1
- package/lib/client/WorktreeModeAction.d.ts.map +1 -1
- package/lib/client/WorktreeModeAction.js.map +1 -1
- package/lib/client/WorktreeSurface.d.ts +1 -1
- package/lib/client/WorktreeSurface.d.ts.map +1 -1
- package/lib/client/WorktreeSurface.js +245 -53
- package/lib/client/WorktreeSurface.js.map +1 -1
- package/lib/client/dsh-rc1-slot-contract.d.ts +43 -0
- package/lib/client/dsh-rc1-slot-contract.d.ts.map +1 -0
- package/lib/client/dsh-rc1-slot-contract.js +2 -0
- package/lib/client/dsh-rc1-slot-contract.js.map +1 -0
- package/lib/client/dsh-slot-contract.d.ts +43 -0
- package/lib/client/dsh-slot-contract.d.ts.map +1 -0
- package/lib/client/dsh-slot-contract.js +2 -0
- package/lib/client/dsh-slot-contract.js.map +1 -0
- package/lib/client/entry.d.ts +2 -2
- package/lib/client/entry.d.ts.map +1 -1
- package/lib/client/entry.js +144 -26
- package/lib/client/entry.js.map +1 -1
- package/lib/client/locales.d.ts +12 -0
- package/lib/client/locales.d.ts.map +1 -1
- package/lib/client/locales.js +12 -0
- package/lib/client/locales.js.map +1 -1
- package/lib/client/view-mode-store.d.ts +1 -1
- package/lib/client/view-mode-store.d.ts.map +1 -1
- package/lib/client/view-mode-store.js +1 -1
- package/lib/client/view-mode-store.js.map +1 -1
- package/lib/client/view-mode.d.ts +20 -6
- package/lib/client/view-mode.d.ts.map +1 -1
- package/lib/client/view-mode.js +35 -10
- package/lib/client/view-mode.js.map +1 -1
- package/lib/client/virtual-workspace-membership.d.ts +12 -10
- package/lib/client/virtual-workspace-membership.d.ts.map +1 -1
- package/lib/client/virtual-workspace-membership.js +82 -57
- package/lib/client/virtual-workspace-membership.js.map +1 -1
- package/lib/client/worktree-context-store.d.ts +7 -15
- package/lib/client/worktree-context-store.d.ts.map +1 -1
- package/lib/client/worktree-context-store.js +20 -13
- package/lib/client/worktree-context-store.js.map +1 -1
- package/lib/client/worktree-context.js +1 -1
- package/lib/client/worktree-context.js.map +1 -1
- package/lib/client/worktree-error-copy.d.ts.map +1 -1
- package/lib/client/worktree-error-copy.js +8 -0
- package/lib/client/worktree-error-copy.js.map +1 -1
- package/lib/client/worktree-expand-state.d.ts +5 -4
- package/lib/client/worktree-expand-state.d.ts.map +1 -1
- package/lib/client/worktree-expand-state.js.map +1 -1
- package/lib/client/worktree-session-fork.d.ts +18 -3
- package/lib/client/worktree-session-fork.d.ts.map +1 -1
- package/lib/client/worktree-session-fork.js +125 -36
- package/lib/client/worktree-session-fork.js.map +1 -1
- package/lib/client/worktree-session-order.d.ts +2 -2
- package/lib/client/worktree-session-order.d.ts.map +1 -1
- package/lib/client/worktree-session.d.ts.map +1 -1
- package/lib/client/worktree-session.js +3 -1
- package/lib/client/worktree-session.js.map +1 -1
- package/lib/client/worktree-surface-rows.d.ts.map +1 -1
- package/lib/client/worktree-surface-rows.js +8 -1
- package/lib/client/worktree-surface-rows.js.map +1 -1
- package/lib/client/worktree-surface-types.d.ts +19 -1
- package/lib/client/worktree-surface-types.d.ts.map +1 -1
- package/lib/client/worktree-view-read.d.ts +18 -8
- package/lib/client/worktree-view-read.d.ts.map +1 -1
- package/lib/client/worktree-view-read.js +75 -10
- package/lib/client/worktree-view-read.js.map +1 -1
- package/lib/client.js +1404 -178
- package/lib/client.js.map +1 -1
- package/lib/contract/index.d.ts +6 -2
- package/lib/contract/index.d.ts.map +1 -1
- package/lib/contract/index.js +4 -0
- package/lib/contract/index.js.map +1 -1
- package/lib/host/dsh-read-adapter.d.ts +1 -0
- package/lib/host/dsh-read-adapter.d.ts.map +1 -1
- package/lib/host/dsh-read-adapter.js +6 -0
- package/lib/host/dsh-read-adapter.js.map +1 -1
- package/lib/host/service.d.ts +2 -0
- package/lib/host/service.d.ts.map +1 -1
- package/lib/host/service.js +6 -1
- package/lib/host/service.js.map +1 -1
- package/lib/host/worktree-permission-manager.d.ts.map +1 -1
- package/lib/host/worktree-permission-manager.js +3 -1
- package/lib/host/worktree-permission-manager.js.map +1 -1
- package/lib/host/worktree-permission.d.ts +3 -2
- package/lib/host/worktree-permission.d.ts.map +1 -1
- package/lib/host/worktree-permission.js +29 -5
- package/lib/host/worktree-permission.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/manage/manager-context.d.ts +2 -0
- package/lib/manage/manager-context.d.ts.map +1 -1
- package/lib/manage/manager-worktrees.d.ts +5 -0
- package/lib/manage/manager-worktrees.d.ts.map +1 -1
- package/lib/manage/manager-worktrees.js +130 -39
- package/lib/manage/manager-worktrees.js.map +1 -1
- package/lib/manage/manager.d.ts +20 -0
- package/lib/manage/manager.d.ts.map +1 -1
- package/lib/manage/manager.js +93 -13
- package/lib/manage/manager.js.map +1 -1
- package/lib/manage/types.d.ts +9 -1
- package/lib/manage/types.d.ts.map +1 -1
- package/lib/provider/git.d.ts +37 -9
- package/lib/provider/git.d.ts.map +1 -1
- package/lib/provider/git.js +166 -61
- package/lib/provider/git.js.map +1 -1
- package/lib/provider/index.d.ts +5 -1
- package/lib/provider/index.d.ts.map +1 -1
- package/lib/provider/index.js +4 -0
- package/lib/provider/index.js.map +1 -1
- package/lib/provider/mutation-lock.d.ts +37 -0
- package/lib/provider/mutation-lock.d.ts.map +1 -0
- package/lib/provider/mutation-lock.js +270 -0
- package/lib/provider/mutation-lock.js.map +1 -0
- package/lib/provider/mutation-token.d.ts +8 -0
- package/lib/provider/mutation-token.d.ts.map +1 -0
- package/lib/provider/mutation-token.js +20 -0
- package/lib/provider/mutation-token.js.map +1 -0
- package/lib/provider/repository-fingerprint.d.ts +8 -0
- package/lib/provider/repository-fingerprint.d.ts.map +1 -0
- package/lib/provider/repository-fingerprint.js +13 -0
- package/lib/provider/repository-fingerprint.js.map +1 -0
- package/lib/provider/sidecar-persistence.d.ts +7 -3
- package/lib/provider/sidecar-persistence.d.ts.map +1 -1
- package/lib/provider/sidecar-persistence.js +118 -44
- package/lib/provider/sidecar-persistence.js.map +1 -1
- package/lib/provider/sidecar-schema.d.ts +1 -1
- package/lib/provider/sidecar-schema.d.ts.map +1 -1
- package/lib/provider/sidecar-schema.js +140 -8
- package/lib/provider/sidecar-schema.js.map +1 -1
- package/lib/provider/sidecar.d.ts +3 -1
- package/lib/provider/sidecar.d.ts.map +1 -1
- package/lib/provider/sidecar.js +7 -2
- package/lib/provider/sidecar.js.map +1 -1
- package/lib/provider/subprocess.d.ts +37 -0
- package/lib/provider/subprocess.d.ts.map +1 -0
- package/lib/provider/subprocess.js +327 -0
- package/lib/provider/subprocess.js.map +1 -0
- package/lib/provider/transaction.d.ts +65 -0
- package/lib/provider/transaction.d.ts.map +1 -0
- package/lib/provider/transaction.js +1011 -0
- package/lib/provider/transaction.js.map +1 -0
- package/lib/provider/types.d.ts +98 -7
- package/lib/provider/types.d.ts.map +1 -1
- package/lib/provider/types.js +1 -1
- package/lib/provider/types.js.map +1 -1
- package/lib/typert.host.js +29 -25
- package/lib/typert.remote-client.d.ts +2 -2
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +29 -25
- package/package.json +48 -32
|
@@ -1,29 +1,56 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
+
import { createWorktreeMutationToken } from '../provider/mutation-token.js';
|
|
2
3
|
import { providerError } from '../provider/types.js';
|
|
3
4
|
import { asGitError, asSidecarError, canonicalPath, describeError, generatedId, isDirectory, pathExists, requireWorkspace, samePhysicalPath, validateGeneratedPath, validatePhysicalGeneratedPath, } from './manager-support.js';
|
|
5
|
+
function projectRuntimeRecord(snapshot, record, health) {
|
|
6
|
+
const { health: _health, mutationToken: _mutationToken, ...durableRecord } = record;
|
|
7
|
+
void _health;
|
|
8
|
+
void _mutationToken;
|
|
9
|
+
if (record.status !== 'active')
|
|
10
|
+
return durableRecord;
|
|
11
|
+
return {
|
|
12
|
+
...durableRecord,
|
|
13
|
+
mutationToken: createWorktreeMutationToken(snapshot, record),
|
|
14
|
+
...(health === undefined ? {} : { health }),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function assertMutationToken(snapshot, record, token) {
|
|
18
|
+
const expected = createWorktreeMutationToken(snapshot, record);
|
|
19
|
+
if (token === undefined || token !== expected) {
|
|
20
|
+
throw providerError('WORKTREE_STATE_CONFLICT', 'Worktree state changed after it was loaded', {
|
|
21
|
+
workspaceId: record.workspaceId,
|
|
22
|
+
worktreeId: record.worktreeId,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
4
26
|
/** Return the sidecar Worktree projection with runtime Git health attached. */
|
|
5
27
|
export async function listWorktrees(context, input) {
|
|
6
28
|
const workspace = await requireWorkspace(context, input.workspaceId);
|
|
7
|
-
const
|
|
29
|
+
const snapshot = await context.sidecar.read(input.workspaceId);
|
|
30
|
+
const records = snapshot.worktrees;
|
|
31
|
+
const recoveryNeeded = snapshot.pendingOperation !== undefined || (snapshot.recoveryIssues?.length ?? 0) > 0;
|
|
32
|
+
if (recoveryNeeded && records.length === 0) {
|
|
33
|
+
throw providerError('WORKTREE_RECOVERY_REQUIRED', `Workspace Worktree state needs recovery: ${input.workspaceId}`, {
|
|
34
|
+
workspaceId: input.workspaceId,
|
|
35
|
+
...(snapshot.pendingOperation ? { operationId: snapshot.pendingOperation.id } : {}),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
8
38
|
let gitWorktrees;
|
|
9
39
|
try {
|
|
10
|
-
|
|
40
|
+
const gitRoot = context.git.resolveRepositoryRoot
|
|
41
|
+
? await context.git.resolveRepositoryRoot(workspace.rootPath)
|
|
42
|
+
: workspace.rootPath;
|
|
43
|
+
gitWorktrees = await context.git.listWorktrees(gitRoot);
|
|
11
44
|
}
|
|
12
45
|
catch {
|
|
13
|
-
return records.map((record) =>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return record.status === 'active'
|
|
17
|
-
? { ...durableRecord, health: 'repair' }
|
|
18
|
-
: durableRecord;
|
|
19
|
-
});
|
|
46
|
+
return records.map((record) => projectRuntimeRecord(snapshot, record, record.status === 'active'
|
|
47
|
+
? recoveryNeeded ? 'recovery-needed' : 'repair'
|
|
48
|
+
: undefined));
|
|
20
49
|
}
|
|
21
50
|
const nextRecords = [];
|
|
22
51
|
for (const record of records) {
|
|
23
|
-
const { health: _health, ...durableRecord } = record;
|
|
24
|
-
void _health;
|
|
25
52
|
if (record.status !== 'active') {
|
|
26
|
-
nextRecords.push(
|
|
53
|
+
nextRecords.push(projectRuntimeRecord(snapshot, record));
|
|
27
54
|
continue;
|
|
28
55
|
}
|
|
29
56
|
let ready = false;
|
|
@@ -34,7 +61,9 @@ export async function listWorktrees(context, input) {
|
|
|
34
61
|
break;
|
|
35
62
|
}
|
|
36
63
|
}
|
|
37
|
-
nextRecords.push({
|
|
64
|
+
nextRecords.push({
|
|
65
|
+
...projectRuntimeRecord(snapshot, record, recoveryNeeded ? 'recovery-needed' : ready ? 'ready' : 'repair'),
|
|
66
|
+
});
|
|
38
67
|
}
|
|
39
68
|
return nextRecords;
|
|
40
69
|
}
|
|
@@ -42,13 +71,16 @@ export async function listWorktrees(context, input) {
|
|
|
42
71
|
export async function listImportCandidates(context, input) {
|
|
43
72
|
const workspace = await requireWorkspace(context, input.workspaceId);
|
|
44
73
|
await context.git.validateRepository(workspace.rootPath);
|
|
74
|
+
const gitRoot = context.git.resolveRepositoryRoot
|
|
75
|
+
? await context.git.resolveRepositoryRoot(workspace.rootPath)
|
|
76
|
+
: workspace.rootPath;
|
|
45
77
|
const [gitWorktrees, snapshot] = await Promise.all([
|
|
46
|
-
context.git.listWorktrees(
|
|
78
|
+
context.git.listWorktrees(gitRoot),
|
|
47
79
|
context.sidecar.read(input.workspaceId),
|
|
48
80
|
]);
|
|
49
81
|
const candidates = [];
|
|
50
82
|
for (const worktree of gitWorktrees) {
|
|
51
|
-
if (!worktree.branch || await samePhysicalPath(worktree.absolutePath,
|
|
83
|
+
if (!worktree.branch || await samePhysicalPath(worktree.absolutePath, gitRoot))
|
|
52
84
|
continue;
|
|
53
85
|
let managed = false;
|
|
54
86
|
for (const record of snapshot.worktrees) {
|
|
@@ -70,6 +102,18 @@ export async function listBranches(context, input) {
|
|
|
70
102
|
const gitRoot = context.git.resolveRepositoryRoot
|
|
71
103
|
? await context.git.resolveRepositoryRoot(workspace.rootPath)
|
|
72
104
|
: workspace.rootPath;
|
|
105
|
+
if (context.git.listBranchesWithWorktreePaths) {
|
|
106
|
+
const branchFacts = await context.git.listBranchesWithWorktreePaths(gitRoot);
|
|
107
|
+
const rows = [];
|
|
108
|
+
for (const branch of branchFacts) {
|
|
109
|
+
rows.push({
|
|
110
|
+
name: branch.name,
|
|
111
|
+
isCurrent: branch.worktreePath !== undefined && await samePhysicalPath(branch.worktreePath, gitRoot),
|
|
112
|
+
checkedOut: branch.worktreePath !== undefined,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return rows;
|
|
116
|
+
}
|
|
73
117
|
const [branches, worktrees] = await Promise.all([
|
|
74
118
|
context.git.listBranches(gitRoot),
|
|
75
119
|
context.git.listWorktrees(gitRoot),
|
|
@@ -92,7 +136,9 @@ export async function listBranches(context, input) {
|
|
|
92
136
|
/** Create a Git Worktree first, then commit its external relation to the sidecar. */
|
|
93
137
|
export async function createWorktree(context, input) {
|
|
94
138
|
const workspace = await requireWorkspace(context, input.workspaceId);
|
|
95
|
-
|
|
139
|
+
const transactional = context.sidecar.runExclusive !== undefined;
|
|
140
|
+
if (!transactional)
|
|
141
|
+
await context.git.validateRepository(workspace.rootPath);
|
|
96
142
|
if (typeof input.branch !== 'string' || input.branch.length === 0) {
|
|
97
143
|
throw providerError('GIT_OPERATION_FAILED', 'A local branch is required', {
|
|
98
144
|
workspaceRoot: workspace.rootPath,
|
|
@@ -118,28 +164,30 @@ export async function createWorktree(context, input) {
|
|
|
118
164
|
newBranch: input.newBranch,
|
|
119
165
|
});
|
|
120
166
|
}
|
|
121
|
-
const branches = await context.git.listBranches(workspace.rootPath);
|
|
122
|
-
if (!branches.includes(baseBranch)) {
|
|
123
|
-
throw providerError('GIT_OPERATION_FAILED', `Local branch does not exist: ${baseBranch}`, {
|
|
124
|
-
workspaceRoot: workspace.rootPath,
|
|
125
|
-
branch: baseBranch,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
167
|
const targetBranch = newBranch ?? baseBranch;
|
|
129
|
-
if (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
branch:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
168
|
+
if (!transactional) {
|
|
169
|
+
const branches = await context.git.listBranches(workspace.rootPath);
|
|
170
|
+
if (!branches.includes(baseBranch)) {
|
|
171
|
+
throw providerError('GIT_OPERATION_FAILED', `Local branch does not exist: ${baseBranch}`, {
|
|
172
|
+
workspaceRoot: workspace.rootPath,
|
|
173
|
+
branch: baseBranch,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
if (newBranch !== undefined && branches.includes(newBranch)) {
|
|
177
|
+
throw providerError('WORKTREE_BRANCH_CONFLICT', `New branch already exists: ${newBranch}`, {
|
|
178
|
+
workspaceRoot: workspace.rootPath,
|
|
179
|
+
branch: newBranch,
|
|
180
|
+
baseBranch,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
const existingGitWorktrees = await context.git.listWorktrees(workspace.rootPath);
|
|
184
|
+
if (existingGitWorktrees.some((worktree) => worktree.branch === targetBranch)) {
|
|
185
|
+
throw providerError('WORKTREE_BRANCH_CONFLICT', `Branch is already checked out: ${targetBranch}`, {
|
|
186
|
+
workspaceRoot: workspace.rootPath,
|
|
187
|
+
branch: targetBranch,
|
|
188
|
+
baseBranch,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
143
191
|
}
|
|
144
192
|
const worktreeId = generatedId(context.idFactory);
|
|
145
193
|
const targetPath = path.resolve(context.dshHome, 'clutch-dsh-worktree', 'worktree', worktreeId);
|
|
@@ -154,6 +202,20 @@ export async function createWorktree(context, input) {
|
|
|
154
202
|
worktreeId,
|
|
155
203
|
});
|
|
156
204
|
}
|
|
205
|
+
// The default Workspace-sharded sidecar exposes the transaction seam. Legacy
|
|
206
|
+
// injected stores keep the previous path below for compatibility with older
|
|
207
|
+
// Host compositions and failure-injection tests.
|
|
208
|
+
if (transactional) {
|
|
209
|
+
return context.transaction.create({
|
|
210
|
+
workspaceId: input.workspaceId,
|
|
211
|
+
workspaceRoot: workspace.rootPath,
|
|
212
|
+
targetPath,
|
|
213
|
+
worktreeId,
|
|
214
|
+
baseBranch,
|
|
215
|
+
newBranch,
|
|
216
|
+
targetBranch,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
157
219
|
// Git is the first external side effect; the sidecar mutation below is the relation commit point.
|
|
158
220
|
try {
|
|
159
221
|
await context.git.createWorktree(workspace.rootPath, targetPath, baseBranch, newBranch);
|
|
@@ -188,7 +250,7 @@ export async function createWorktree(context, input) {
|
|
|
188
250
|
}
|
|
189
251
|
const next = {
|
|
190
252
|
...snapshot,
|
|
191
|
-
worktrees: [...snapshot.worktrees
|
|
253
|
+
worktrees: [record, ...snapshot.worktrees],
|
|
192
254
|
};
|
|
193
255
|
return { result: record, snapshot: next };
|
|
194
256
|
});
|
|
@@ -227,6 +289,14 @@ export async function importWorktree(context, input) {
|
|
|
227
289
|
absolutePath: requestedPath,
|
|
228
290
|
});
|
|
229
291
|
}
|
|
292
|
+
if (context.sidecar.runExclusive) {
|
|
293
|
+
return context.transaction.import({
|
|
294
|
+
workspaceId: input.workspaceId,
|
|
295
|
+
workspaceRoot: workspace.rootPath,
|
|
296
|
+
absolutePath: requestedPath,
|
|
297
|
+
worktreeId: generatedId(context.idFactory),
|
|
298
|
+
});
|
|
299
|
+
}
|
|
230
300
|
await context.git.validateRepository(workspace.rootPath);
|
|
231
301
|
const gitWorktrees = await context.git.listWorktrees(workspace.rootPath);
|
|
232
302
|
const gitWorktree = await findGitWorktreeByPhysicalPath(gitWorktrees, requestedPath);
|
|
@@ -269,7 +339,10 @@ export async function importWorktree(context, input) {
|
|
|
269
339
|
source: 'external',
|
|
270
340
|
status: 'active',
|
|
271
341
|
};
|
|
272
|
-
return {
|
|
342
|
+
return {
|
|
343
|
+
result: record,
|
|
344
|
+
snapshot: { ...snapshot, worktrees: [record, ...snapshot.worktrees] },
|
|
345
|
+
};
|
|
273
346
|
});
|
|
274
347
|
}
|
|
275
348
|
catch (error) {
|
|
@@ -301,6 +374,15 @@ function importConflictOrExisting(existing, workspaceId, absolutePath) {
|
|
|
301
374
|
/** Remove Git state first, then mark the relation removed while preserving detached bindings. */
|
|
302
375
|
export async function removeWorktree(context, input) {
|
|
303
376
|
const workspace = await requireWorkspace(context, input.workspaceId);
|
|
377
|
+
if (context.sidecar.runExclusive) {
|
|
378
|
+
await context.transaction.remove({
|
|
379
|
+
workspaceId: input.workspaceId,
|
|
380
|
+
workspaceRoot: workspace.rootPath,
|
|
381
|
+
worktreeId: input.worktreeId,
|
|
382
|
+
mutationToken: input.mutationToken,
|
|
383
|
+
});
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
304
386
|
let gitRemoved = false;
|
|
305
387
|
try {
|
|
306
388
|
await context.sidecar.mutate(input.workspaceId, async (snapshot) => {
|
|
@@ -316,6 +398,7 @@ export async function removeWorktree(context, input) {
|
|
|
316
398
|
worktreeId: input.worktreeId,
|
|
317
399
|
});
|
|
318
400
|
}
|
|
401
|
+
assertMutationToken(snapshot, record, input.mutationToken);
|
|
319
402
|
try {
|
|
320
403
|
await context.git.removeWorktree(workspace.rootPath, record.absolutePath);
|
|
321
404
|
}
|
|
@@ -363,6 +446,14 @@ export async function removeWorktree(context, input) {
|
|
|
363
446
|
throw error;
|
|
364
447
|
}
|
|
365
448
|
}
|
|
449
|
+
/** Reconcile one Workspace's durable Git/sidecar operation marker. */
|
|
450
|
+
export async function recoverWorktrees(context, input) {
|
|
451
|
+
const workspace = await requireWorkspace(context, input.workspaceId);
|
|
452
|
+
await context.transaction.recover({
|
|
453
|
+
workspaceId: input.workspaceId,
|
|
454
|
+
workspaceRoot: workspace.rootPath,
|
|
455
|
+
});
|
|
456
|
+
}
|
|
366
457
|
export async function insertWorktreeBefore(context, input) {
|
|
367
458
|
await requireWorkspace(context, input.workspaceId);
|
|
368
459
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager-worktrees.js","sourceRoot":"","sources":["../../src/manage/manager-worktrees.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager-worktrees.js","sourceRoot":"","sources":["../../src/manage/manager-worktrees.ts"],"names":[],"mappings":"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"}
|
package/lib/manage/manager.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ import type { WorktreeManagerOptions, WorktreeManagerService } from './types.js'
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class WorktreeManagerImpl implements WorktreeManagerService {
|
|
11
11
|
private readonly context;
|
|
12
|
+
private readonly recoveryReady;
|
|
13
|
+
private readonly lifecycleController;
|
|
14
|
+
private readonly activeOperations;
|
|
15
|
+
private closeTask;
|
|
16
|
+
private closed;
|
|
12
17
|
/** Compose the Manager from injectable ports while keeping local defaults. */
|
|
13
18
|
constructor(options: WorktreeManagerOptions);
|
|
14
19
|
listWorktrees(input: {
|
|
@@ -32,6 +37,7 @@ export declare class WorktreeManagerImpl implements WorktreeManagerService {
|
|
|
32
37
|
removeWorktree(input: {
|
|
33
38
|
readonly workspaceId: WorkspaceId;
|
|
34
39
|
readonly worktreeId: string;
|
|
40
|
+
readonly mutationToken: string;
|
|
35
41
|
}): Promise<void>;
|
|
36
42
|
insertWorktreeBefore(input: {
|
|
37
43
|
readonly workspaceId: WorkspaceId;
|
|
@@ -50,6 +56,20 @@ export declare class WorktreeManagerImpl implements WorktreeManagerService {
|
|
|
50
56
|
readonly workspaceId: WorkspaceId;
|
|
51
57
|
readonly sessionId: string;
|
|
52
58
|
}): Promise<string>;
|
|
59
|
+
recoverWorktrees(input: {
|
|
60
|
+
readonly workspaceId: WorkspaceId;
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
private afterRecovery;
|
|
63
|
+
/**
|
|
64
|
+
* Stop accepting work, cancel the shared Git signal, and wait for every
|
|
65
|
+
* operation already admitted by this Manager to settle.
|
|
66
|
+
*
|
|
67
|
+
* This is intentionally idempotent: Cordis disposal and explicit test/Host
|
|
68
|
+
* teardown may both reach the same Manager.
|
|
69
|
+
*/
|
|
70
|
+
close(): Promise<void>;
|
|
71
|
+
private track;
|
|
72
|
+
private startupRecovery;
|
|
53
73
|
}
|
|
54
74
|
/** Create the default WorktreeManagerService while preserving low-level port injection. */
|
|
55
75
|
export declare function createWorktreeManager(options: WorktreeManagerOptions): WorktreeManagerService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manage/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,WAAW,EACZ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manage/manager.ts"],"names":[],"mappings":"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"}
|
package/lib/manage/manager.js
CHANGED
|
@@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { LocalGitAdapter } from '../provider/git.js';
|
|
4
4
|
import { WorkspaceShardedSidecarRepository } from '../provider/sidecar.js';
|
|
5
|
+
import { WorktreeMutationTransaction } from '../provider/transaction.js';
|
|
5
6
|
import { providerError } from '../provider/types.js';
|
|
6
7
|
import { bindSession, listBindings, resolveRuntimeCwd, } from './manager-sessions.js';
|
|
7
|
-
import { createWorktree, importWorktree, insertWorktreeBefore, listBranches, listImportCandidates, listWorktrees, removeWorktree, } from './manager-worktrees.js';
|
|
8
|
+
import { createWorktree, importWorktree, insertWorktreeBefore, listBranches, listImportCandidates, listWorktrees, removeWorktree, recoverWorktrees, } from './manager-worktrees.js';
|
|
8
9
|
/**
|
|
9
10
|
* Worktree/Session 用例编排器:DSH 只提供权威只读事实,Git 承担 worktree 副作用,sidecar 只保存外部关系。
|
|
10
11
|
* Worktree/Session use-case orchestrator: DSH supplies authoritative read-only facts, Git owns worktree side effects, and the sidecar stores only external relations.
|
|
@@ -14,6 +15,11 @@ import { createWorktree, importWorktree, insertWorktreeBefore, listBranches, lis
|
|
|
14
15
|
*/
|
|
15
16
|
export class WorktreeManagerImpl {
|
|
16
17
|
context;
|
|
18
|
+
recoveryReady;
|
|
19
|
+
lifecycleController = new AbortController();
|
|
20
|
+
activeOperations = new Set();
|
|
21
|
+
closeTask;
|
|
22
|
+
closed = false;
|
|
17
23
|
/** Compose the Manager from injectable ports while keeping local defaults. */
|
|
18
24
|
constructor(options) {
|
|
19
25
|
if (!path.isAbsolute(options.dshHome)) {
|
|
@@ -22,43 +28,117 @@ export class WorktreeManagerImpl {
|
|
|
22
28
|
});
|
|
23
29
|
}
|
|
24
30
|
const dshHome = path.resolve(options.dshHome);
|
|
31
|
+
const git = options.git ?? new LocalGitAdapter({
|
|
32
|
+
subprocess: options.subprocess,
|
|
33
|
+
signal: this.lifecycleController.signal,
|
|
34
|
+
});
|
|
35
|
+
const sidecar = options.sidecar ?? new WorkspaceShardedSidecarRepository({ dshHome });
|
|
25
36
|
this.context = {
|
|
26
37
|
dsh: options.dsh,
|
|
27
38
|
dshHome,
|
|
28
|
-
git
|
|
29
|
-
sidecar
|
|
39
|
+
git,
|
|
40
|
+
sidecar,
|
|
41
|
+
transaction: new WorktreeMutationTransaction({ dshHome, git, sidecar }),
|
|
30
42
|
idFactory: options.idFactory ?? (() => `wt_${randomUUID()}`),
|
|
31
43
|
};
|
|
44
|
+
this.recoveryReady = this.startupRecovery();
|
|
32
45
|
}
|
|
33
46
|
listWorktrees(input) {
|
|
34
|
-
return listWorktrees(this.context, input);
|
|
47
|
+
return this.afterRecovery(() => listWorktrees(this.context, input));
|
|
35
48
|
}
|
|
36
49
|
listImportCandidates(input) {
|
|
37
|
-
return listImportCandidates(this.context, input);
|
|
50
|
+
return this.afterRecovery(() => listImportCandidates(this.context, input));
|
|
38
51
|
}
|
|
39
52
|
listBranches(input) {
|
|
40
|
-
return listBranches(this.context, input);
|
|
53
|
+
return this.afterRecovery(() => listBranches(this.context, input));
|
|
41
54
|
}
|
|
42
55
|
createWorktree(input) {
|
|
43
|
-
return createWorktree(this.context, input);
|
|
56
|
+
return this.afterRecovery(() => createWorktree(this.context, input));
|
|
44
57
|
}
|
|
45
58
|
importWorktree(input) {
|
|
46
|
-
return importWorktree(this.context, input);
|
|
59
|
+
return this.afterRecovery(() => importWorktree(this.context, input));
|
|
47
60
|
}
|
|
48
61
|
removeWorktree(input) {
|
|
49
|
-
return removeWorktree(this.context, input);
|
|
62
|
+
return this.afterRecovery(() => removeWorktree(this.context, input));
|
|
50
63
|
}
|
|
51
64
|
insertWorktreeBefore(input) {
|
|
52
|
-
return insertWorktreeBefore(this.context, input);
|
|
65
|
+
return this.afterRecovery(() => insertWorktreeBefore(this.context, input));
|
|
53
66
|
}
|
|
54
67
|
listBindings(input) {
|
|
55
|
-
return listBindings(this.context, input);
|
|
68
|
+
return this.afterRecovery(() => listBindings(this.context, input));
|
|
56
69
|
}
|
|
57
70
|
bindSession(input) {
|
|
58
|
-
return bindSession(this.context, input);
|
|
71
|
+
return this.afterRecovery(() => bindSession(this.context, input));
|
|
59
72
|
}
|
|
60
73
|
resolveRuntimeCwd(input) {
|
|
61
|
-
return resolveRuntimeCwd(this.context, input);
|
|
74
|
+
return this.afterRecovery(() => resolveRuntimeCwd(this.context, input));
|
|
75
|
+
}
|
|
76
|
+
recoverWorktrees(input) {
|
|
77
|
+
return this.afterRecovery(() => recoverWorktrees(this.context, input));
|
|
78
|
+
}
|
|
79
|
+
async afterRecovery(operation) {
|
|
80
|
+
return this.track(async () => {
|
|
81
|
+
await this.recoveryReady;
|
|
82
|
+
return operation();
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Stop accepting work, cancel the shared Git signal, and wait for every
|
|
87
|
+
* operation already admitted by this Manager to settle.
|
|
88
|
+
*
|
|
89
|
+
* This is intentionally idempotent: Cordis disposal and explicit test/Host
|
|
90
|
+
* teardown may both reach the same Manager.
|
|
91
|
+
*/
|
|
92
|
+
close() {
|
|
93
|
+
if (this.closeTask)
|
|
94
|
+
return this.closeTask;
|
|
95
|
+
this.closed = true;
|
|
96
|
+
this.lifecycleController.abort(new Error('Worktree manager is closing'));
|
|
97
|
+
const active = [...this.activeOperations];
|
|
98
|
+
this.closeTask = Promise.allSettled([this.recoveryReady, ...active]).then(() => undefined);
|
|
99
|
+
return this.closeTask;
|
|
100
|
+
}
|
|
101
|
+
track(operation) {
|
|
102
|
+
if (this.closed)
|
|
103
|
+
return Promise.reject(new Error('Worktree manager is closed'));
|
|
104
|
+
let task;
|
|
105
|
+
try {
|
|
106
|
+
task = operation();
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
return Promise.reject(error);
|
|
110
|
+
}
|
|
111
|
+
const settled = task.then(() => undefined, () => undefined);
|
|
112
|
+
this.activeOperations.add(settled);
|
|
113
|
+
void settled.then(() => this.activeOperations.delete(settled));
|
|
114
|
+
return task;
|
|
115
|
+
}
|
|
116
|
+
async startupRecovery() {
|
|
117
|
+
const listWorkspaces = this.context.dsh.listWorkspaces;
|
|
118
|
+
if (!listWorkspaces)
|
|
119
|
+
return;
|
|
120
|
+
let workspaces;
|
|
121
|
+
try {
|
|
122
|
+
workspaces = await listWorkspaces.call(this.context.dsh);
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// Workspace enumeration is a startup hint, not a reason to make the
|
|
126
|
+
// Host unavailable. The next explicit read still reports its own DSH or
|
|
127
|
+
// sidecar failure instead of resetting any state.
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
for (const workspace of workspaces) {
|
|
131
|
+
if (this.closed || this.lifecycleController.signal.aborted)
|
|
132
|
+
return;
|
|
133
|
+
try {
|
|
134
|
+
await recoverWorktrees(this.context, { workspaceId: workspace.workspaceId });
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
// Recovery is deliberately best-effort at startup. Pending markers and
|
|
138
|
+
// recovery issues remain durable, so later reads/mutations can surface
|
|
139
|
+
// WORKTREE_RECOVERY_REQUIRED without guessing destructive actions.
|
|
140
|
+
}
|
|
141
|
+
}
|
|
62
142
|
}
|
|
63
143
|
}
|
|
64
144
|
/** Create the default WorktreeManagerService while preserving low-level port injection. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manage/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAU7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manage/manager.ts"],"names":[],"mappings":"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"}
|
package/lib/manage/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WorktreeManager } from '../contract/index.js';
|
|
2
|
-
import type { DshReadAdapter, GitWorktreeAdapter, SidecarStore } from '../provider/types.js';
|
|
2
|
+
import type { DshReadAdapter, GitWorktreeAdapter, GitSubprocessRuntime, SidecarStore } from '../provider/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* 单次执行的 cwd 解析键;解析结果是临时 runtime context,不会写回 DSH Session 或 sidecar。
|
|
5
5
|
* Lookup key for one execution's cwd; the result is transient runtime context and is never written back to the DSH Session or sidecar.
|
|
@@ -15,6 +15,8 @@ export interface RuntimeCwdInput {
|
|
|
15
15
|
export interface WorktreeManagerOptions {
|
|
16
16
|
readonly dsh: DshReadAdapter;
|
|
17
17
|
readonly dshHome: string;
|
|
18
|
+
/** Optional DSH process capability used by the default local Git adapter. */
|
|
19
|
+
readonly subprocess?: GitSubprocessRuntime;
|
|
18
20
|
/**
|
|
19
21
|
* 可替换的底层端口主要用于 Host 组合与确定性测试;缺省时使用本地实现。
|
|
20
22
|
* Replaceable low-level ports for Host composition and deterministic tests; local implementations are used by default.
|
|
@@ -37,5 +39,11 @@ export interface WorktreeManagerService extends WorktreeManager {
|
|
|
37
39
|
* Re-derives cwd from the DSH Workspace and sidecar on every call; a broken active relation fails explicitly instead of silently falling back.
|
|
38
40
|
*/
|
|
39
41
|
resolveRuntimeCwd(input: RuntimeCwdInput): Promise<string>;
|
|
42
|
+
/** Reconcile durable Git/sidecar operation markers for one Workspace. */
|
|
43
|
+
recoverWorktrees(input: {
|
|
44
|
+
workspaceId: string;
|
|
45
|
+
}): Promise<void>;
|
|
46
|
+
/** Abort new work and wait for in-flight provider work before Host disposal completes. */
|
|
47
|
+
close(): Promise<void>;
|
|
40
48
|
}
|
|
41
49
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/manage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/manage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,yEAAyE;IACzE,gBAAgB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE,0FAA0F;IAC1F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|