@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
package/lib/client/entry.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSnapshotStore
|
|
1
|
+
import { createSnapshotStore } from '@deepseek-ai/dsh-client-store';
|
|
2
2
|
import { WORKTREE_NS, en, zh } from './locales.js';
|
|
3
3
|
import { createWorktreeConnectionAdapter } from './worktree-connection.js';
|
|
4
4
|
import { WorktreeHeaderContext } from './WorktreeContext.js';
|
|
@@ -8,24 +8,83 @@ import { createWorktreeContextProjection } from './worktree-context-store.js';
|
|
|
8
8
|
import { createWorktreeExpandStateStore } from './worktree-expand-state.js';
|
|
9
9
|
import { createWorktreeSessionOrderStore } from './worktree-session-order.js';
|
|
10
10
|
import { createWorktreeViewStore } from './view-mode-store.js';
|
|
11
|
+
import { createWorktreeViewReader } from './worktree-view-read.js';
|
|
11
12
|
import { createVirtualWorkspaceMembership, } from './virtual-workspace-membership.js';
|
|
12
13
|
import { createWorktreeSessionConnector, } from './worktree-session.js';
|
|
13
14
|
import { createWorktreeFullAccessConfirmationController, } from './worktree-permission.js';
|
|
14
15
|
import { installWorktreePermissionIcon } from './worktree-permission-icon.js';
|
|
15
16
|
import { createWorktreeSessionForkCoordinator, } from './worktree-session-fork.js';
|
|
16
17
|
export { WORKTREE_CONNECTION_CHANNEL, WORKTREE_CONNECTION_ENDPOINTS, WorktreeConnectionError, createWorktreeConnectionAdapter, } from './worktree-connection.js';
|
|
18
|
+
function forkRelatedSessionIds(snapshot) {
|
|
19
|
+
if (typeof snapshot !== 'object' ||
|
|
20
|
+
snapshot === null ||
|
|
21
|
+
!Array.isArray(snapshot.ids) ||
|
|
22
|
+
typeof snapshot.byId !== 'object' ||
|
|
23
|
+
snapshot.byId === null ||
|
|
24
|
+
Array.isArray(snapshot.byId)) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
const related = new Set();
|
|
28
|
+
for (const childSessionId of snapshot.ids) {
|
|
29
|
+
if (typeof childSessionId !== 'string')
|
|
30
|
+
return undefined;
|
|
31
|
+
const summary = snapshot.byId[childSessionId];
|
|
32
|
+
if (summary !== undefined &&
|
|
33
|
+
(typeof summary !== 'object' || summary === null || Array.isArray(summary))) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
const parentSessionId = summary?.parentId;
|
|
37
|
+
if (parentSessionId === undefined ||
|
|
38
|
+
parentSessionId === childSessionId ||
|
|
39
|
+
summary?.blank === true ||
|
|
40
|
+
summary?.origin === 'subagent' ||
|
|
41
|
+
snapshot.byId[parentSessionId] === undefined) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
related.add(childSessionId);
|
|
45
|
+
related.add(parentSessionId);
|
|
46
|
+
}
|
|
47
|
+
return related;
|
|
48
|
+
}
|
|
49
|
+
function workspaceMembershipSignature(snapshot, sessions) {
|
|
50
|
+
const relatedSessionIds = forkRelatedSessionIds(sessions);
|
|
51
|
+
if (relatedSessionIds === undefined)
|
|
52
|
+
return undefined;
|
|
53
|
+
if (typeof snapshot !== 'object' || snapshot === null || !Array.isArray(snapshot.items)) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const facts = [];
|
|
57
|
+
for (const workspace of snapshot.items) {
|
|
58
|
+
if (typeof workspace !== 'object' ||
|
|
59
|
+
workspace === null ||
|
|
60
|
+
typeof workspace.workspaceId !== 'string' ||
|
|
61
|
+
!Array.isArray(workspace.sessionIds) ||
|
|
62
|
+
workspace.sessionIds.some((sessionId) => typeof sessionId !== 'string')) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
facts.push([
|
|
66
|
+
workspace.workspaceId,
|
|
67
|
+
workspace.sessionIds.filter((sessionId) => relatedSessionIds.has(sessionId)).sort(),
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
// This signature tracks membership, not presentation order.
|
|
71
|
+
facts.sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0));
|
|
72
|
+
return JSON.stringify(facts);
|
|
73
|
+
}
|
|
17
74
|
/** Required DSH Client services; Connection is the sole Worktree wire dependency. */
|
|
18
|
-
export const inject = ['connection', 'locale', 'slots', 'sessions', 'workspaces'];
|
|
75
|
+
export const inject = ['connection', 'locale', 'slots', 'sessions', 'workspaces', 'uiWorkspace'];
|
|
19
76
|
/**
|
|
20
77
|
* DSH Client entry. The adapter is composed once per plugin fiber and is disposed
|
|
21
78
|
* with that fiber, so slot consumers share one manager and one request lifetime.
|
|
22
79
|
*/
|
|
23
80
|
export function apply(ctx) {
|
|
81
|
+
const locale = ctx.locale;
|
|
24
82
|
if (typeof document !== 'undefined') {
|
|
25
83
|
ctx.effect(() => installWorktreePermissionIcon(document), 'clutch-dsh-worktree: permission icon cleanup');
|
|
26
84
|
}
|
|
27
|
-
ctx.effect(() =>
|
|
85
|
+
ctx.effect(() => locale.register(WORKTREE_NS, { zh, en }), 'clutch-dsh-worktree: locale dictionaries');
|
|
28
86
|
const manager = createWorktreeConnectionAdapter(ctx.connection.rpc);
|
|
87
|
+
const viewReader = createWorktreeViewReader(manager);
|
|
29
88
|
const fullAccessConfirmation = createWorktreeFullAccessConfirmationController();
|
|
30
89
|
const permissionNotice = createSnapshotStore(undefined);
|
|
31
90
|
const permissionManager = typeof document !== 'undefined' ? manager : undefined;
|
|
@@ -36,14 +95,16 @@ export function apply(ctx) {
|
|
|
36
95
|
permissionNotice.set(visible ? { ...input, result } : undefined);
|
|
37
96
|
};
|
|
38
97
|
const sessions = ctx.sessions;
|
|
98
|
+
const slots = ctx.slots;
|
|
39
99
|
const virtualWorkspaceMembership = createVirtualWorkspaceMembership(ctx.workspaces.list);
|
|
40
100
|
const contextProjection = createWorktreeContextProjection({
|
|
41
101
|
sessions: ctx.sessions.list,
|
|
42
102
|
workspaces: ctx.workspaces.list,
|
|
43
|
-
|
|
103
|
+
viewReader,
|
|
44
104
|
storeFactory: createSnapshotStore,
|
|
45
105
|
});
|
|
46
106
|
ctx.effect(() => () => manager.dispose(), 'clutch-dsh-worktree: connection cleanup');
|
|
107
|
+
ctx.effect(() => () => viewReader.dispose(), 'clutch-dsh-worktree: view reader cleanup');
|
|
47
108
|
ctx.effect(() => () => fullAccessConfirmation.dispose(), 'clutch-dsh-worktree: Full Access confirmation cleanup');
|
|
48
109
|
ctx.effect(() => () => virtualWorkspaceMembership.dispose(), 'clutch-dsh-worktree: Workspace membership cleanup');
|
|
49
110
|
ctx.effect(() => () => contextProjection.dispose(), 'clutch-dsh-worktree: Session context cleanup');
|
|
@@ -60,25 +121,74 @@ export function apply(ctx) {
|
|
|
60
121
|
};
|
|
61
122
|
const forkableSessions = ctx.sessions;
|
|
62
123
|
const nativeFork = forkableSessions.fork;
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
return
|
|
68
|
-
}))
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
124
|
+
const workspaceBindingReads = new Map();
|
|
125
|
+
const readWorkspaceBindings = (workspaceId) => {
|
|
126
|
+
const current = workspaceBindingReads.get(workspaceId);
|
|
127
|
+
if (current !== undefined)
|
|
128
|
+
return current;
|
|
129
|
+
const promise = manager.listBindings({ workspaceId }).finally(() => {
|
|
130
|
+
if (workspaceBindingReads.get(workspaceId) === promise) {
|
|
131
|
+
workspaceBindingReads.delete(workspaceId);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
workspaceBindingReads.set(workspaceId, promise);
|
|
135
|
+
return promise;
|
|
136
|
+
};
|
|
137
|
+
const findWorktreeSessionBindings = async (sessionIds) => {
|
|
138
|
+
const requested = [...new Set(sessionIds)];
|
|
139
|
+
const requestedSet = new Set(requested);
|
|
140
|
+
const workspaces = ctx.workspaces.list.getSnapshot().items;
|
|
141
|
+
const workspaceIds = [
|
|
142
|
+
...new Set(workspaces.map((workspace) => workspace.workspaceId)),
|
|
143
|
+
];
|
|
144
|
+
const owners = new Map();
|
|
145
|
+
for (const workspace of workspaces) {
|
|
146
|
+
for (const sessionId of workspace.sessionIds) {
|
|
147
|
+
if (!requestedSet.has(sessionId))
|
|
148
|
+
continue;
|
|
149
|
+
const workspaceOwners = owners.get(sessionId) ?? [];
|
|
150
|
+
if (!workspaceOwners.includes(workspace.workspaceId)) {
|
|
151
|
+
workspaceOwners.push(workspace.workspaceId);
|
|
152
|
+
owners.set(sessionId, workspaceOwners);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const unknownScope = requested.some((sessionId) => (owners.get(sessionId)?.length ?? 0) === 0);
|
|
157
|
+
const selectedWorkspaceIds = unknownScope
|
|
158
|
+
? workspaceIds
|
|
159
|
+
: workspaceIds.filter((workspaceId) => requested.some((sessionId) => owners.get(sessionId)?.includes(workspaceId) === true));
|
|
160
|
+
const results = await Promise.allSettled(selectedWorkspaceIds.map((workspaceId) => readWorkspaceBindings(workspaceId)));
|
|
161
|
+
const resultByWorkspaceId = new Map(selectedWorkspaceIds.map((workspaceId, index) => [workspaceId, results[index]]));
|
|
162
|
+
const bySessionId = new Map();
|
|
163
|
+
for (const sessionId of requested) {
|
|
164
|
+
const relevantWorkspaceIds = owners.get(sessionId) ?? selectedWorkspaceIds;
|
|
165
|
+
let found;
|
|
166
|
+
let failed;
|
|
167
|
+
for (const workspaceId of relevantWorkspaceIds) {
|
|
168
|
+
const result = resultByWorkspaceId.get(workspaceId);
|
|
169
|
+
if (result === undefined)
|
|
170
|
+
continue;
|
|
171
|
+
if (result.status === 'rejected') {
|
|
172
|
+
failed ??= result.reason;
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
const binding = result.value.find((candidate) => candidate.sessionId === sessionId && candidate.status === 'active');
|
|
176
|
+
if (binding !== undefined) {
|
|
177
|
+
found = binding;
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
bySessionId.set(sessionId, found === undefined
|
|
182
|
+
? failed === undefined ? { status: 'missing' } : { status: 'error', error: failed }
|
|
183
|
+
: { status: 'found', binding: found });
|
|
184
|
+
}
|
|
185
|
+
return { bySessionId };
|
|
76
186
|
};
|
|
77
187
|
const forkCoordinator = typeof nativeFork !== 'function'
|
|
78
188
|
? undefined
|
|
79
189
|
: createWorktreeSessionForkCoordinator({
|
|
80
190
|
fork: (input) => nativeFork.call(ctx.sessions, input),
|
|
81
|
-
|
|
191
|
+
findBindings: findWorktreeSessionBindings,
|
|
82
192
|
bindSession: (input) => manager.bindSession(input),
|
|
83
193
|
sessions: ctx.sessions.list,
|
|
84
194
|
});
|
|
@@ -87,8 +197,16 @@ export function apply(ctx) {
|
|
|
87
197
|
const reconcileForkChildren = () => {
|
|
88
198
|
void forkCoordinator.reconcile();
|
|
89
199
|
};
|
|
200
|
+
let lastWorkspaceMembershipSignature = workspaceMembershipSignature(ctx.workspaces.list.getSnapshot(), ctx.sessions.list.getSnapshot());
|
|
201
|
+
const reconcileForkChildrenForWorkspace = () => {
|
|
202
|
+
const nextSignature = workspaceMembershipSignature(ctx.workspaces.list.getSnapshot(), ctx.sessions.list.getSnapshot());
|
|
203
|
+
const changed = nextSignature !== undefined && nextSignature !== lastWorkspaceMembershipSignature;
|
|
204
|
+
if (nextSignature !== undefined)
|
|
205
|
+
lastWorkspaceMembershipSignature = nextSignature;
|
|
206
|
+
void forkCoordinator.reconcile({ force: changed });
|
|
207
|
+
};
|
|
90
208
|
const unsubscribeSessionList = ctx.sessions.list.subscribe(reconcileForkChildren);
|
|
91
|
-
const unsubscribeWorkspaceList = ctx.workspaces.list.subscribe(
|
|
209
|
+
const unsubscribeWorkspaceList = ctx.workspaces.list.subscribe(reconcileForkChildrenForWorkspace);
|
|
92
210
|
ctx.effect(() => () => {
|
|
93
211
|
unsubscribeSessionList();
|
|
94
212
|
unsubscribeWorkspaceList();
|
|
@@ -100,8 +218,7 @@ export function apply(ctx) {
|
|
|
100
218
|
const worktreeSessionConnector = createWorktreeSessionConnector({
|
|
101
219
|
manager,
|
|
102
220
|
sessions: ctx.sessions.list,
|
|
103
|
-
archivedSessionIds: () => ctx.workspaces.list.getSnapshot().archivedSessionIds
|
|
104
|
-
[],
|
|
221
|
+
archivedSessionIds: () => ctx.workspaces.list.getSnapshot().archivedSessionIds,
|
|
105
222
|
createSession: async (input) => String(await sessions.create(input)),
|
|
106
223
|
ensureSessionWorkspace,
|
|
107
224
|
permission: permissionManager,
|
|
@@ -114,21 +231,21 @@ export function apply(ctx) {
|
|
|
114
231
|
},
|
|
115
232
|
});
|
|
116
233
|
ctx.effect(() => () => worktreeSessionConnector.dispose(), 'clutch-dsh-worktree: Worktree Session connector cleanup');
|
|
117
|
-
|
|
234
|
+
slots.inject('conversation.session.header.actions', () => slots.register({
|
|
118
235
|
name: 'conversation.session.header.actions',
|
|
119
236
|
id: 'clutch-dsh-worktree-context-header',
|
|
120
237
|
order: -5,
|
|
121
238
|
locale: WORKTREE_NS,
|
|
122
239
|
inject: () => ({ hooks: { worktreeContext: contextProjection.store } }),
|
|
123
240
|
}, WorktreeHeaderContext));
|
|
124
|
-
|
|
241
|
+
slots.inject('sidebar.footer.action', () => slots.register({
|
|
125
242
|
name: 'sidebar.footer.action',
|
|
126
243
|
id: 'clutch-dsh-worktree-mode-action',
|
|
127
244
|
store: viewStore,
|
|
128
245
|
locale: WORKTREE_NS,
|
|
129
246
|
inject: () => ({ available: true }),
|
|
130
247
|
}, WorktreeModeAction));
|
|
131
|
-
|
|
248
|
+
slots.inject('shell.overlay', () => slots.register({
|
|
132
249
|
name: 'shell.overlay',
|
|
133
250
|
id: 'clutch-dsh-worktree-navigation',
|
|
134
251
|
store: viewStore,
|
|
@@ -139,6 +256,7 @@ export function apply(ctx) {
|
|
|
139
256
|
sessionOrder,
|
|
140
257
|
hooks: { worktreeContext: contextProjection.store },
|
|
141
258
|
manager,
|
|
259
|
+
viewReader,
|
|
142
260
|
permission: permissionManager,
|
|
143
261
|
confirmFullAccess: permissionManager === undefined
|
|
144
262
|
? undefined
|
|
@@ -150,14 +268,14 @@ export function apply(ctx) {
|
|
|
150
268
|
onPermissionNotice: reportPermissionNotice,
|
|
151
269
|
permissionNotice,
|
|
152
270
|
createWorkspace: async () => {
|
|
153
|
-
const workspacePath = await ctx.
|
|
271
|
+
const workspacePath = await ctx.uiWorkspace.pickDirectory();
|
|
154
272
|
if (workspacePath !== null)
|
|
155
273
|
await ctx.workspaces.create({ path: workspacePath });
|
|
156
274
|
},
|
|
157
275
|
createSessionForWorktree: (input) => worktreeSessionConnector.create(input),
|
|
158
276
|
invalidateWorktreeContext: (workspaceId) => contextProjection.invalidate(workspaceId),
|
|
159
277
|
createMainSession: (workspaceId) => {
|
|
160
|
-
ctx.
|
|
278
|
+
ctx.uiWorkspace.startSession(workspaceId);
|
|
161
279
|
},
|
|
162
280
|
renameWorkspace: async (workspaceId, title) => {
|
|
163
281
|
await ctx.workspaces.rename(workspaceId, title);
|
package/lib/client/entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/client/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACL,gCAAgC,GAEjC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,8BAA8B,GAE/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8CAA8C,GAC/C,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAO9E,OAAO,EACL,oCAAoC,GAGrC,MAAM,4BAA4B,CAAC;AAepC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AA4BlC,qFAAqF;AACrF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAElF;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,GAAkB;IACtC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAC7C,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAClD,0CAA0C,CAC3C,CAAC;IACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,sBAAsB,GAAG,8CAA8C,EAAE,CAAC;IAChF,MAAM,gBAAgB,GAAG,mBAAmB,CAAuC,SAAS,CAAC,CAAC;IAC9F,MAAM,iBAAiB,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,sBAAsB,GAAG,CAC7B,KAIC,EACD,MAAgC,EAC1B,EAAE;QACR,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,0BAA0B;YAC1D,MAAM,CAAC,MAAM,KAAK,iBAAiB;YACnC,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC;QACjC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAwD,CAAC;IAC9E,MAAM,0BAA0B,GAAG,gCAAgC,CACjE,GAAG,CAAC,UAAU,CAAC,IAA+D,CAC/E,CAAC;IACF,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;QACxD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;QAC3B,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;QAC/B,OAAO;QACP,YAAY,EAAE,mBAAmB;KAClC,CAAC,CAAC;IACH,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,yCAAyC,CAAC,CAAC;IACrF,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,EAC5C,uDAAuD,CACxD,CAAC;IACF,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,OAAO,EAAE,EAChD,mDAAmD,CACpD,CAAC;IACF,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EACvC,8CAA8C,CAC/C,CAAC;IACF,KAAK,iBAAiB,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,8BAA8B,CAAC,mBAAmB,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;IAC1E,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,4CAA4C,CAAC,CAAC;IAE7F,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAQ,EAAE;QAC9E,0BAA0B,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,qBAAqB,GAAG,CAAC,QAA4C,EAAQ,EAAE;QACnF,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAuC,CAAC;IACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;IACzC,MAAM,0BAA0B,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;QAC7D,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAC9D,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CACrC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7D,OAAO,QAAQ,CAAC,IAAI,CAClB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAC5E,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,CAAC,MAAM,EAA0G,EAAE,CACjH,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAC9D,CAAC;QACF,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QACvG,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,OAAO,UAAU,KAAK,UAAU;QACtD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,oCAAoC,CAAC;YACnC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;YACrD,WAAW,EAAE,0BAA0B;YACvC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;YAClD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAgD;SACxE,CAAC,CAAC;IACP,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,gBAAgB,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,qBAAqB,GAAG,GAAS,EAAE;YACvC,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,sBAAsB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAClF,MAAM,wBAAwB,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACtF,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,GAAG,EAAE;YACT,sBAAsB,EAAE,CAAC;YACzB,wBAAwB,EAAE,CAAC;YAC3B,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1B,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC;QACrC,CAAC,EACD,2CAA2C,CAC5C,CAAC;QACF,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IACD,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;QAC9D,OAAO;QACP,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAgD;QACvE,kBAAkB,EAAE,GAAG,EAAE,CACtB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAuC,CAAC,kBAAkB;YAC1F,EAAE;QACJ,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpE,sBAAsB;QACtB,UAAU,EAAE,iBAAiB;QAC7B,iBAAiB,EAAE,iBAAiB,KAAK,SAAS;YAChD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,sBAAsB,CAAC,OAAO;QAClC,kBAAkB,EAAE,sBAAsB;QAC1C,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;YACzB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAsB,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;IACH,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAC9C,yDAAyD,CAC1D,CAAC;IAEF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAC3D,GAAG,CAAC,KAAK,CAAC,QAAQ,CAChB;QACE,IAAI,EAAE,qCAAqC;QAC3C,EAAE,EAAE,oCAAoC;QACxC,KAAK,EAAE,CAAC,CAAC;QACT,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;KACxE,EACD,qBAAqB,CACtB,CACF,CAAC;IAEF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC,QAAQ,CAChB;QACE,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,iCAAiC;QACrC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACpC,EACD,kBAAkB,CACnB,CACF,CAAC;IAEF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE,CACrC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAChB;QACE,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACb,SAAS,EAAE,IAAI;YACf,WAAW;YACX,YAAY;YACZ,KAAK,EAAE,EAAE,eAAe,EAAE,iBAAiB,CAAC,KAAK,EAAE;YACnD,OAAO;YACP,UAAU,EAAE,iBAAiB;YAC7B,iBAAiB,EAAE,iBAAiB,KAAK,SAAS;gBAChD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,sBAAsB,CAAC,OAAO;YAClC,sBAAsB,EAAE,OAAO,QAAQ,KAAK,WAAW;gBACrD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,sBAAsB;YAC1B,kBAAkB,EAAE,sBAAsB;YAC1C,kBAAkB,EAAE,sBAAsB;YAC1C,gBAAgB;YAChB,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC3D,IAAI,aAAa,KAAK,IAAI;oBAAE,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3E,yBAAyB,EAAE,CAAC,WAAoB,EAAE,EAAE,CAClD,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC;YAC3C,iBAAiB,EAAE,CAAC,WAAmB,EAAE,EAAE;gBACzC,GAAG,CAAC,UAAU,CAAC,YAAY,CACzB,WAAgE,CACjE,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,WAAmB,EAAE,KAAa,EAAE,EAAE;gBAC5D,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CACzB,WAA0D,EAC1D,KAAK,CACN,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE;gBAC7C,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAA0D,CAAC,CAAC;YAC1F,CAAC;YACD,qBAAqB,EAAE,KAAK,EAAE,WAAmB,EAAE,iBAA0B,EAAE,EAAE;gBAC/E,MAAM,GAAG,CAAC,UAAU,CAAC,YAAY,CAC/B,WAAgE,EAChE,iBAAsE,CACvE,CAAC;YACJ,CAAC;YACD,mBAAmB,EAAE,KAAK,EACxB,WAAmB,EACnB,SAAiB,EACjB,eAAwB,EACxB,EAAE;gBACF,MAAM,GAAG,CAAC,UAAU,CAAC,mBAAmB,CACtC,WAAuE,EACvE,SAAqE,EACrE,eAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,oBAAoB,EAAE,CACpB,WAAmB,EACnB,UAAkB,EAClB,gBAAyB,EACzB,EAAE,CACF,OAAO,CAAC,oBAAoB,CAAC;gBAC3B,WAAW;gBACX,UAAU;gBACV,gBAAgB;aACjB,CAAC;YACJ,aAAa,EAAE,KAAK,EAAE,SAAiB,EAAE,KAAa,EAAE,EAAE;gBACxD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAsB,CAAC,EAAE,OAAO,CAAC;gBACtE,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC;gBAC7E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;YACD,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE;gBACjC,IAAI,gBAAgB,CAAC,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAChD,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrB,SAAS,EAAE,SAAsB;oBACjC,aAAa,EAAE,IAAI;iBACpB,CAAC;qBACC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;oBAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE;oBACV,6EAA6E;gBAC/E,CAAC,CAAC,CAAC;YACP,CAAC;YACD,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CACpC,GAAG,CAAC,UAAU,CAAC,cAAc,CAC3B,SAAgE,CACjE;YACH,sBAAsB;YACtB,qBAAqB;YACrB,YAAY,EAAE,eAAe,EAAE,QAAQ;YACvC,gBAAgB,EAAE,eAAe,KAAK,SAAS;gBAC7C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;oBACpB,MAAM,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;YACL,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE;gBACjC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAsB,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC;KACH,EACD,eAAe,CAChB,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/client/entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EngineStoreHandle } from '@deepseek-ai/dsh-client-
|
|
1
|
+
import { type EngineStoreHandle } from '@deepseek-ai/dsh-client-store';
|
|
2
2
|
import { type WorktreeViewActions, type WorktreeViewState } from './view-mode.js';
|
|
3
3
|
/** Create one root-scoped, browser-local view-mode store for the two slot entries. */
|
|
4
4
|
export declare function createWorktreeViewStore(): EngineStoreHandle<WorktreeViewState, WorktreeViewActions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-mode-store.d.ts","sourceRoot":"","sources":["../../src/client/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"view-mode-store.d.ts","sourceRoot":"","sources":["../../src/client/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAExB,sFAAsF;AACtF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAC1D,iBAAiB,EACjB,mBAAmB,CACpB,CAUA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineStore } from '@deepseek-ai/dsh-client-
|
|
1
|
+
import { defineStore } from '@deepseek-ai/dsh-client-store';
|
|
2
2
|
import { WORKTREE_VIEW_MODE_STORAGE_KEY, } from './view-mode.js';
|
|
3
3
|
/** Create one root-scoped, browser-local view-mode store for the two slot entries. */
|
|
4
4
|
export function createWorktreeViewStore() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-mode-store.js","sourceRoot":"","sources":["../../src/client/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,
|
|
1
|
+
{"version":3,"file":"view-mode-store.js","sourceRoot":"","sources":["../../src/client/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,+BAA+B,CAAC;AACpF,OAAO,EACL,8BAA8B,GAG/B,MAAM,gBAAgB,CAAC;AAExB,sFAAsF;AACtF,MAAM,UAAU,uBAAuB;IAIrC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAClE,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,KAAK,EAAE,IAAmC,EAAE,EAAE;gBAC1D,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -28,23 +28,37 @@ export declare function unboundSessionIds(sessionIds: readonly string[], boundSe
|
|
|
28
28
|
* `previousBindings` are removed first so the same function can also undo a
|
|
29
29
|
* projection after a binding is deleted or the plugin is disposed.
|
|
30
30
|
*/
|
|
31
|
+
interface WorkspaceMembershipLike {
|
|
32
|
+
readonly workspaceId: string;
|
|
33
|
+
readonly sessionIds: readonly string[];
|
|
34
|
+
}
|
|
31
35
|
export declare function projectVirtualWorkspaceMembership<T extends {
|
|
32
|
-
readonly items: readonly
|
|
36
|
+
readonly items: readonly WorkspaceMembershipLike[];
|
|
33
37
|
}>(snapshot: T, previousBindings: readonly VirtualWorkspaceBinding[], nextBindings: readonly VirtualWorkspaceBinding[]): T;
|
|
34
|
-
interface WorkspaceLike {
|
|
38
|
+
export interface WorkspaceLike {
|
|
35
39
|
readonly workspaceId: string;
|
|
36
40
|
readonly sessionIds: readonly string[];
|
|
41
|
+
readonly createdAt: string;
|
|
37
42
|
}
|
|
38
|
-
interface WorkspaceListLike {
|
|
43
|
+
export interface WorkspaceListLike {
|
|
39
44
|
readonly items: readonly WorkspaceLike[];
|
|
40
|
-
readonly recentWorkspaceId?: string;
|
|
41
45
|
}
|
|
42
|
-
interface
|
|
46
|
+
export interface SessionLike {
|
|
47
|
+
readonly updatedAt?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface SessionListLike {
|
|
43
50
|
readonly current?: string;
|
|
51
|
+
readonly byId: Readonly<Record<string, SessionLike | undefined>>;
|
|
44
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Derive the most recent Workspace from rc.1 Session/Workspace metadata.
|
|
55
|
+
* Host order is retained when timestamps tie, so equal activity never causes
|
|
56
|
+
* the native Workspace order to oscillate.
|
|
57
|
+
*/
|
|
58
|
+
export declare function deriveRecentWorkspaceId(workspaces: WorkspaceListLike, sessionsById: Readonly<Record<string, SessionLike | undefined>>): string | undefined;
|
|
45
59
|
/**
|
|
46
60
|
* Select the initial Worktree surface Workspace without navigating DSH:
|
|
47
|
-
* current Session membership wins, then DSH recency, then the first available
|
|
61
|
+
* current Session membership wins, then derived DSH recency, then the first available
|
|
48
62
|
* Workspace keeps the surface usable in an empty/reconnecting fixture.
|
|
49
63
|
*/
|
|
50
64
|
export declare function initialWorkspaceId(workspaces: WorkspaceListLike, sessions: SessionListLike): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-mode.d.ts","sourceRoot":"","sources":["../../src/client/view-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEhE,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAE9E,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG;IACjE,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzE,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,OAAO,EAClB,wBAAwB,EAAE,OAAO,GAChC,gBAAgB,CAGlB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,SAAS,MAAM,EAAE,CAMnB;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,eAAe,EAAE,SAAS,MAAM,EAAE,GACjC,SAAS,MAAM,EAAE,CAGnB;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"view-mode.d.ts","sourceRoot":"","sources":["../../src/client/view-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEhE,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAE9E,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG;IACjE,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzE,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,OAAO,EAClB,wBAAwB,EAAE,OAAO,GAChC,gBAAgB,CAGlB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,SAAS,MAAM,EAAE,CAMnB;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,eAAe,EAAE,SAAS,MAAM,EAAE,GACjC,SAAS,MAAM,EAAE,CAGnB;AAED;;;;GAIG;AACH,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wBAAgB,iCAAiC,CAC/C,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAA;CAAE,EAEhE,QAAQ,EAAE,CAAC,EACX,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,EACpD,YAAY,EAAE,SAAS,uBAAuB,EAAE,GAC/C,CAAC,CA6BH;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC;CAClE;AAWD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,GAC9D,MAAM,GAAG,SAAS,CAiBpB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,eAAe,GACxB,MAAM,GAAG,SAAS,CAWpB"}
|
package/lib/client/view-mode.js
CHANGED
|
@@ -24,11 +24,6 @@ export function unboundSessionIds(sessionIds, boundSessionIds) {
|
|
|
24
24
|
const bound = new Set(boundSessionIds);
|
|
25
25
|
return sessionIds.filter((sessionId) => !bound.has(sessionId));
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Apply a browser-only membership delta to a DSH Workspace list snapshot.
|
|
29
|
-
* `previousBindings` are removed first so the same function can also undo a
|
|
30
|
-
* projection after a binding is deleted or the plugin is disposed.
|
|
31
|
-
*/
|
|
32
27
|
export function projectVirtualWorkspaceMembership(snapshot, previousBindings, nextBindings) {
|
|
33
28
|
const previousSessionIds = new Set(previousBindings.map((binding) => binding.sessionId));
|
|
34
29
|
const nextByWorkspace = new Map();
|
|
@@ -55,9 +50,40 @@ export function projectVirtualWorkspaceMembership(snapshot, previousBindings, ne
|
|
|
55
50
|
return snapshot;
|
|
56
51
|
return { ...snapshot, items };
|
|
57
52
|
}
|
|
53
|
+
function validTimestamp(value) {
|
|
54
|
+
return typeof value === 'number' && Number.isFinite(value);
|
|
55
|
+
}
|
|
56
|
+
function createdAtTimestamp(createdAt) {
|
|
57
|
+
const timestamp = Date.parse(createdAt);
|
|
58
|
+
return Number.isFinite(timestamp) ? timestamp : undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Derive the most recent Workspace from rc.1 Session/Workspace metadata.
|
|
62
|
+
* Host order is retained when timestamps tie, so equal activity never causes
|
|
63
|
+
* the native Workspace order to oscillate.
|
|
64
|
+
*/
|
|
65
|
+
export function deriveRecentWorkspaceId(workspaces, sessionsById) {
|
|
66
|
+
let recentWorkspaceId;
|
|
67
|
+
let recentTimestamp = Number.NEGATIVE_INFINITY;
|
|
68
|
+
for (const workspace of workspaces.items) {
|
|
69
|
+
let workspaceTimestamp;
|
|
70
|
+
for (const sessionId of workspace.sessionIds) {
|
|
71
|
+
const updatedAt = sessionsById[sessionId]?.updatedAt;
|
|
72
|
+
if (validTimestamp(updatedAt)) {
|
|
73
|
+
workspaceTimestamp = Math.max(workspaceTimestamp ?? updatedAt, updatedAt);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
workspaceTimestamp ??= createdAtTimestamp(workspace.createdAt);
|
|
77
|
+
if (workspaceTimestamp === undefined || workspaceTimestamp <= recentTimestamp)
|
|
78
|
+
continue;
|
|
79
|
+
recentWorkspaceId = workspace.workspaceId;
|
|
80
|
+
recentTimestamp = workspaceTimestamp;
|
|
81
|
+
}
|
|
82
|
+
return recentWorkspaceId;
|
|
83
|
+
}
|
|
58
84
|
/**
|
|
59
85
|
* Select the initial Worktree surface Workspace without navigating DSH:
|
|
60
|
-
* current Session membership wins, then DSH recency, then the first available
|
|
86
|
+
* current Session membership wins, then derived DSH recency, then the first available
|
|
61
87
|
* Workspace keeps the surface usable in an empty/reconnecting fixture.
|
|
62
88
|
*/
|
|
63
89
|
export function initialWorkspaceId(workspaces, sessions) {
|
|
@@ -67,10 +93,9 @@ export function initialWorkspaceId(workspaces, sessions) {
|
|
|
67
93
|
if (currentWorkspace !== undefined)
|
|
68
94
|
return currentWorkspace.workspaceId;
|
|
69
95
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return
|
|
73
|
-
}
|
|
96
|
+
const recentWorkspaceId = deriveRecentWorkspaceId(workspaces, sessions.byId);
|
|
97
|
+
if (recentWorkspaceId !== undefined)
|
|
98
|
+
return recentWorkspaceId;
|
|
74
99
|
return workspaces.items[0]?.workspaceId;
|
|
75
100
|
}
|
|
76
101
|
//# sourceMappingURL=view-mode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-mode.js","sourceRoot":"","sources":["../../src/client/view-mode.ts"],"names":[],"mappings":"AAKA,yEAAyE;AACzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,+BAA+B,CAAC;AAkB9E,gEAAgE;AAChE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,UAAU,CAAC;AAC/D,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAC/B,SAAkB,EAClB,wBAAiC;IAEjC,IAAI,CAAC,wBAAwB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAC5F,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB,CACjC,UAA6B,EAC7B,WAA+B,EAC/B,UAA6B;IAE7B,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAC9F,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAA6B,EAC7B,eAAkC;IAElC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACjE,CAAC;
|
|
1
|
+
{"version":3,"file":"view-mode.js","sourceRoot":"","sources":["../../src/client/view-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { type VirtualWorkspaceBinding } from './view-mode.js';
|
|
2
|
-
/** The
|
|
3
|
-
export interface
|
|
2
|
+
/** The read-only snapshot face published by DSH's Workspace Controller. */
|
|
3
|
+
export interface WorkspaceSnapshotSource<T extends {
|
|
4
4
|
readonly items: readonly unknown[];
|
|
5
5
|
}> {
|
|
6
6
|
getSnapshot(): T;
|
|
7
|
-
set(next: T): void;
|
|
8
7
|
subscribe(listener: () => void): () => void;
|
|
9
8
|
}
|
|
10
9
|
export interface VirtualWorkspaceMembership {
|
|
@@ -13,15 +12,18 @@ export interface VirtualWorkspaceMembership {
|
|
|
13
12
|
removeSession(sessionId: string): void;
|
|
14
13
|
dispose(): void;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
* Maintains a re-playable in-memory overlay over DSH's Workspace list. Native
|
|
18
|
-
* refreshes are observed and the current sidecar bindings are applied again;
|
|
19
|
-
* no DSH Host mutation or persistence is involved.
|
|
20
|
-
*/
|
|
21
|
-
export declare function createVirtualWorkspaceMembership<T extends {
|
|
15
|
+
type WorkspaceSnapshotWithItems = {
|
|
22
16
|
readonly items: readonly {
|
|
23
17
|
readonly workspaceId: string;
|
|
24
18
|
readonly sessionIds: readonly string[];
|
|
25
19
|
}[];
|
|
26
|
-
}
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Decorate DSH's read-only WorkspaceSource with a browser-local membership
|
|
23
|
+
* projection. The source's native model is never written: the wrapper keeps
|
|
24
|
+
* the current sidecar bindings in memory, reprojects every native snapshot,
|
|
25
|
+
* and publishes only the projected view to subscribers.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createVirtualWorkspaceMembership<T extends WorkspaceSnapshotWithItems>(list: WorkspaceSnapshotSource<T>): VirtualWorkspaceMembership;
|
|
28
|
+
export {};
|
|
27
29
|
//# sourceMappingURL=virtual-workspace-membership.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-workspace-membership.d.ts","sourceRoot":"","sources":["../../src/client/virtual-workspace-membership.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"virtual-workspace-membership.d.ts","sourceRoot":"","sources":["../../src/client/virtual-workspace-membership.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAExB,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE;IAEhD,WAAW,IAAI,CAAC,CAAC;IACjB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAAC;IACzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAqBD,KAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;KACxC,EAAE,CAAC;CACL,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,CAAC,SAAS,0BAA0B,EACpC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CA4H9D"}
|