@cerbur/clutch-dsh-worktree 0.1.8 → 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 +18 -23
- package/README.zh.md +17 -21
- 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 +221 -45
- 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/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-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-surface-rows.d.ts.map +1 -1
- package/lib/client/worktree-surface-rows.js +1 -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 +1359 -169
- package/lib/client.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/manage/manager-worktrees.d.ts.map +1 -1
- package/lib/manage/manager-worktrees.js +5 -2
- package/lib/manage/manager-worktrees.js.map +1 -1
- package/lib/manage/manager.d.ts.map +1 -1
- package/lib/manage/manager.js +2 -0
- package/lib/manage/manager.js.map +1 -1
- package/lib/provider/git.d.ts.map +1 -1
- package/lib/provider/git.js +4 -0
- package/lib/provider/git.js.map +1 -1
- package/lib/provider/sidecar.js +1 -1
- package/lib/provider/sidecar.js.map +1 -1
- package/lib/provider/subprocess.d.ts.map +1 -1
- package/lib/provider/subprocess.js +8 -0
- package/lib/provider/subprocess.js.map +1 -1
- package/lib/provider/transaction.js +2 -2
- package/lib/provider/transaction.js.map +1 -1
- package/package.json +48 -34
|
@@ -8,6 +8,16 @@ export function mergeWorktreeView(views, nextView) {
|
|
|
8
8
|
merged[index] = nextView;
|
|
9
9
|
return merged;
|
|
10
10
|
}
|
|
11
|
+
/** Merge explicit Workspace updates while preserving current order and ready references. */
|
|
12
|
+
export function mergeWorktreeViews(existing, workspaceIds, updates) {
|
|
13
|
+
const byWorkspaceId = new Map(existing.map((view) => [view.workspaceId, view]));
|
|
14
|
+
for (const update of updates)
|
|
15
|
+
byWorkspaceId.set(update.workspaceId, update);
|
|
16
|
+
return [...new Set(workspaceIds)].flatMap((workspaceId) => {
|
|
17
|
+
const view = byWorkspaceId.get(workspaceId);
|
|
18
|
+
return view === undefined ? [] : [view];
|
|
19
|
+
});
|
|
20
|
+
}
|
|
11
21
|
/** Reuse the previous ID snapshot when DSH republishes equivalent Workspace items. */
|
|
12
22
|
export function stableWorkspaceIds(previous, next) {
|
|
13
23
|
if (previous.length !== next.length)
|
|
@@ -98,6 +108,65 @@ function readinessFromBranchError(error) {
|
|
|
98
108
|
}
|
|
99
109
|
return undefined;
|
|
100
110
|
}
|
|
111
|
+
/** Share complete Workspace reads without allowing stale generations to repopulate the cache. */
|
|
112
|
+
export function createWorktreeViewReader(manager) {
|
|
113
|
+
const entries = new Map();
|
|
114
|
+
let disposed = false;
|
|
115
|
+
const entryFor = (workspaceId) => {
|
|
116
|
+
const current = entries.get(workspaceId);
|
|
117
|
+
if (current !== undefined)
|
|
118
|
+
return current;
|
|
119
|
+
const created = { generation: 0, stale: false };
|
|
120
|
+
entries.set(workspaceId, created);
|
|
121
|
+
return created;
|
|
122
|
+
};
|
|
123
|
+
const read = (workspaceId) => {
|
|
124
|
+
if (disposed)
|
|
125
|
+
return Promise.reject(new Error('Worktree view reader disposed'));
|
|
126
|
+
const entry = entryFor(workspaceId);
|
|
127
|
+
if (!entry.stale && entry.view !== undefined)
|
|
128
|
+
return Promise.resolve(entry.view);
|
|
129
|
+
if (entry.inFlight?.generation === entry.generation)
|
|
130
|
+
return entry.inFlight.promise;
|
|
131
|
+
const generation = entry.generation;
|
|
132
|
+
const promise = loadWorktreeView(manager, workspaceId)
|
|
133
|
+
.then((data) => {
|
|
134
|
+
const view = { workspaceId, ...data };
|
|
135
|
+
if (!disposed && entries.get(workspaceId) === entry && entry.generation === generation) {
|
|
136
|
+
entry.view = view;
|
|
137
|
+
entry.stale = false;
|
|
138
|
+
}
|
|
139
|
+
return view;
|
|
140
|
+
})
|
|
141
|
+
.finally(() => {
|
|
142
|
+
if (entry.inFlight?.promise === promise)
|
|
143
|
+
entry.inFlight = undefined;
|
|
144
|
+
});
|
|
145
|
+
entry.inFlight = { generation, promise };
|
|
146
|
+
return promise;
|
|
147
|
+
};
|
|
148
|
+
return {
|
|
149
|
+
invalidate(workspaceId) {
|
|
150
|
+
if (disposed)
|
|
151
|
+
return;
|
|
152
|
+
const entry = entryFor(workspaceId);
|
|
153
|
+
entry.generation += 1;
|
|
154
|
+
entry.stale = true;
|
|
155
|
+
entry.view = undefined;
|
|
156
|
+
},
|
|
157
|
+
read,
|
|
158
|
+
readMany(workspaceIds) {
|
|
159
|
+
const uniqueIds = [...new Set(workspaceIds)];
|
|
160
|
+
return Promise.all(uniqueIds.map((workspaceId) => read(workspaceId)));
|
|
161
|
+
},
|
|
162
|
+
dispose() {
|
|
163
|
+
if (disposed)
|
|
164
|
+
return;
|
|
165
|
+
disposed = true;
|
|
166
|
+
entries.clear();
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
101
170
|
/** Read all three Worktree projections needed by the surface in one refresh. */
|
|
102
171
|
export async function loadWorktreeView(manager, workspaceId) {
|
|
103
172
|
const [worktreesResult, branchesResult, bindingsResult] = await Promise.allSettled([
|
|
@@ -130,26 +199,22 @@ export async function loadWorktreeView(manager, workspaceId) {
|
|
|
130
199
|
: { status: 'noLocalBranch' },
|
|
131
200
|
};
|
|
132
201
|
}
|
|
133
|
-
/** Isolate modal-target
|
|
134
|
-
export function createWorktreeModalViewLoader() {
|
|
202
|
+
/** Isolate modal-target callbacks while sharing the Client Workspace reader. */
|
|
203
|
+
export function createWorktreeModalViewLoader(reader) {
|
|
135
204
|
const guard = createWorktreeRefreshGuard();
|
|
136
205
|
return {
|
|
137
206
|
invalidate: guard.invalidate,
|
|
138
|
-
load(
|
|
139
|
-
return guard.run(() =>
|
|
207
|
+
load(workspaceId, onSuccess, onError) {
|
|
208
|
+
return guard.run(() => reader.read(workspaceId), onSuccess, (error) => onError(toWorktreeViewError(error)));
|
|
140
209
|
},
|
|
141
210
|
};
|
|
142
211
|
}
|
|
143
212
|
/** Load one independent projection per DSH Workspace for the flat sidebar hierarchy. */
|
|
144
|
-
export async function loadWorktreeViews(manager, workspaceIds
|
|
145
|
-
|
|
213
|
+
export async function loadWorktreeViews(manager, workspaceIds) {
|
|
214
|
+
return Promise.all(workspaceIds.map(async (workspaceId) => ({
|
|
146
215
|
workspaceId,
|
|
147
216
|
...(await loadWorktreeView(manager, workspaceId)),
|
|
148
217
|
})));
|
|
149
|
-
if (options.invalidateContext !== false) {
|
|
150
|
-
await options.invalidateWorktreeContext?.();
|
|
151
|
-
}
|
|
152
|
-
return views;
|
|
153
218
|
}
|
|
154
219
|
/** Hide DSH-archived Sessions from the browser-local Worktree projection. */
|
|
155
220
|
export function filterArchivedSessionIds(sessionIds, archivedSessionIds) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-view-read.js","sourceRoot":"","sources":["../../src/client/worktree-view-read.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAA0B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-view-read.js","sourceRoot":"","sources":["../../src/client/worktree-view-read.ts"],"names":[],"mappings":"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"}
|