@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.
Files changed (159) hide show
  1. package/README.md +47 -32
  2. package/README.zh.md +39 -25
  3. package/lib/client/WorktreeContext.d.ts +1 -1
  4. package/lib/client/WorktreeContext.d.ts.map +1 -1
  5. package/lib/client/WorktreeContext.js +1 -1
  6. package/lib/client/WorktreeContext.js.map +1 -1
  7. package/lib/client/WorktreeHeroContext.d.ts.map +1 -1
  8. package/lib/client/WorktreeHeroContext.js +1 -1
  9. package/lib/client/WorktreeHeroContext.js.map +1 -1
  10. package/lib/client/WorktreeModeAction.d.ts.map +1 -1
  11. package/lib/client/WorktreeModeAction.js.map +1 -1
  12. package/lib/client/WorktreeSurface.d.ts +1 -1
  13. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  14. package/lib/client/WorktreeSurface.js +245 -53
  15. package/lib/client/WorktreeSurface.js.map +1 -1
  16. package/lib/client/dsh-rc1-slot-contract.d.ts +43 -0
  17. package/lib/client/dsh-rc1-slot-contract.d.ts.map +1 -0
  18. package/lib/client/dsh-rc1-slot-contract.js +2 -0
  19. package/lib/client/dsh-rc1-slot-contract.js.map +1 -0
  20. package/lib/client/dsh-slot-contract.d.ts +43 -0
  21. package/lib/client/dsh-slot-contract.d.ts.map +1 -0
  22. package/lib/client/dsh-slot-contract.js +2 -0
  23. package/lib/client/dsh-slot-contract.js.map +1 -0
  24. package/lib/client/entry.d.ts +2 -2
  25. package/lib/client/entry.d.ts.map +1 -1
  26. package/lib/client/entry.js +144 -26
  27. package/lib/client/entry.js.map +1 -1
  28. package/lib/client/locales.d.ts +12 -0
  29. package/lib/client/locales.d.ts.map +1 -1
  30. package/lib/client/locales.js +12 -0
  31. package/lib/client/locales.js.map +1 -1
  32. package/lib/client/view-mode-store.d.ts +1 -1
  33. package/lib/client/view-mode-store.d.ts.map +1 -1
  34. package/lib/client/view-mode-store.js +1 -1
  35. package/lib/client/view-mode-store.js.map +1 -1
  36. package/lib/client/view-mode.d.ts +20 -6
  37. package/lib/client/view-mode.d.ts.map +1 -1
  38. package/lib/client/view-mode.js +35 -10
  39. package/lib/client/view-mode.js.map +1 -1
  40. package/lib/client/virtual-workspace-membership.d.ts +12 -10
  41. package/lib/client/virtual-workspace-membership.d.ts.map +1 -1
  42. package/lib/client/virtual-workspace-membership.js +82 -57
  43. package/lib/client/virtual-workspace-membership.js.map +1 -1
  44. package/lib/client/worktree-context-store.d.ts +7 -15
  45. package/lib/client/worktree-context-store.d.ts.map +1 -1
  46. package/lib/client/worktree-context-store.js +20 -13
  47. package/lib/client/worktree-context-store.js.map +1 -1
  48. package/lib/client/worktree-context.js +1 -1
  49. package/lib/client/worktree-context.js.map +1 -1
  50. package/lib/client/worktree-error-copy.d.ts.map +1 -1
  51. package/lib/client/worktree-error-copy.js +8 -0
  52. package/lib/client/worktree-error-copy.js.map +1 -1
  53. package/lib/client/worktree-expand-state.d.ts +5 -4
  54. package/lib/client/worktree-expand-state.d.ts.map +1 -1
  55. package/lib/client/worktree-expand-state.js.map +1 -1
  56. package/lib/client/worktree-session-fork.d.ts +18 -3
  57. package/lib/client/worktree-session-fork.d.ts.map +1 -1
  58. package/lib/client/worktree-session-fork.js +125 -36
  59. package/lib/client/worktree-session-fork.js.map +1 -1
  60. package/lib/client/worktree-session-order.d.ts +2 -2
  61. package/lib/client/worktree-session-order.d.ts.map +1 -1
  62. package/lib/client/worktree-session.d.ts.map +1 -1
  63. package/lib/client/worktree-session.js +3 -1
  64. package/lib/client/worktree-session.js.map +1 -1
  65. package/lib/client/worktree-surface-rows.d.ts.map +1 -1
  66. package/lib/client/worktree-surface-rows.js +8 -1
  67. package/lib/client/worktree-surface-rows.js.map +1 -1
  68. package/lib/client/worktree-surface-types.d.ts +19 -1
  69. package/lib/client/worktree-surface-types.d.ts.map +1 -1
  70. package/lib/client/worktree-view-read.d.ts +18 -8
  71. package/lib/client/worktree-view-read.d.ts.map +1 -1
  72. package/lib/client/worktree-view-read.js +75 -10
  73. package/lib/client/worktree-view-read.js.map +1 -1
  74. package/lib/client.js +1404 -178
  75. package/lib/client.js.map +1 -1
  76. package/lib/contract/index.d.ts +6 -2
  77. package/lib/contract/index.d.ts.map +1 -1
  78. package/lib/contract/index.js +4 -0
  79. package/lib/contract/index.js.map +1 -1
  80. package/lib/host/dsh-read-adapter.d.ts +1 -0
  81. package/lib/host/dsh-read-adapter.d.ts.map +1 -1
  82. package/lib/host/dsh-read-adapter.js +6 -0
  83. package/lib/host/dsh-read-adapter.js.map +1 -1
  84. package/lib/host/service.d.ts +2 -0
  85. package/lib/host/service.d.ts.map +1 -1
  86. package/lib/host/service.js +6 -1
  87. package/lib/host/service.js.map +1 -1
  88. package/lib/host/worktree-permission-manager.d.ts.map +1 -1
  89. package/lib/host/worktree-permission-manager.js +3 -1
  90. package/lib/host/worktree-permission-manager.js.map +1 -1
  91. package/lib/host/worktree-permission.d.ts +3 -2
  92. package/lib/host/worktree-permission.d.ts.map +1 -1
  93. package/lib/host/worktree-permission.js +29 -5
  94. package/lib/host/worktree-permission.js.map +1 -1
  95. package/lib/index.d.ts +2 -1
  96. package/lib/index.d.ts.map +1 -1
  97. package/lib/index.js +1 -0
  98. package/lib/index.js.map +1 -1
  99. package/lib/manage/manager-context.d.ts +2 -0
  100. package/lib/manage/manager-context.d.ts.map +1 -1
  101. package/lib/manage/manager-worktrees.d.ts +5 -0
  102. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  103. package/lib/manage/manager-worktrees.js +130 -39
  104. package/lib/manage/manager-worktrees.js.map +1 -1
  105. package/lib/manage/manager.d.ts +20 -0
  106. package/lib/manage/manager.d.ts.map +1 -1
  107. package/lib/manage/manager.js +93 -13
  108. package/lib/manage/manager.js.map +1 -1
  109. package/lib/manage/types.d.ts +9 -1
  110. package/lib/manage/types.d.ts.map +1 -1
  111. package/lib/provider/git.d.ts +37 -9
  112. package/lib/provider/git.d.ts.map +1 -1
  113. package/lib/provider/git.js +166 -61
  114. package/lib/provider/git.js.map +1 -1
  115. package/lib/provider/index.d.ts +5 -1
  116. package/lib/provider/index.d.ts.map +1 -1
  117. package/lib/provider/index.js +4 -0
  118. package/lib/provider/index.js.map +1 -1
  119. package/lib/provider/mutation-lock.d.ts +37 -0
  120. package/lib/provider/mutation-lock.d.ts.map +1 -0
  121. package/lib/provider/mutation-lock.js +270 -0
  122. package/lib/provider/mutation-lock.js.map +1 -0
  123. package/lib/provider/mutation-token.d.ts +8 -0
  124. package/lib/provider/mutation-token.d.ts.map +1 -0
  125. package/lib/provider/mutation-token.js +20 -0
  126. package/lib/provider/mutation-token.js.map +1 -0
  127. package/lib/provider/repository-fingerprint.d.ts +8 -0
  128. package/lib/provider/repository-fingerprint.d.ts.map +1 -0
  129. package/lib/provider/repository-fingerprint.js +13 -0
  130. package/lib/provider/repository-fingerprint.js.map +1 -0
  131. package/lib/provider/sidecar-persistence.d.ts +7 -3
  132. package/lib/provider/sidecar-persistence.d.ts.map +1 -1
  133. package/lib/provider/sidecar-persistence.js +118 -44
  134. package/lib/provider/sidecar-persistence.js.map +1 -1
  135. package/lib/provider/sidecar-schema.d.ts +1 -1
  136. package/lib/provider/sidecar-schema.d.ts.map +1 -1
  137. package/lib/provider/sidecar-schema.js +140 -8
  138. package/lib/provider/sidecar-schema.js.map +1 -1
  139. package/lib/provider/sidecar.d.ts +3 -1
  140. package/lib/provider/sidecar.d.ts.map +1 -1
  141. package/lib/provider/sidecar.js +7 -2
  142. package/lib/provider/sidecar.js.map +1 -1
  143. package/lib/provider/subprocess.d.ts +37 -0
  144. package/lib/provider/subprocess.d.ts.map +1 -0
  145. package/lib/provider/subprocess.js +327 -0
  146. package/lib/provider/subprocess.js.map +1 -0
  147. package/lib/provider/transaction.d.ts +65 -0
  148. package/lib/provider/transaction.d.ts.map +1 -0
  149. package/lib/provider/transaction.js +1011 -0
  150. package/lib/provider/transaction.js.map +1 -0
  151. package/lib/provider/types.d.ts +98 -7
  152. package/lib/provider/types.d.ts.map +1 -1
  153. package/lib/provider/types.js +1 -1
  154. package/lib/provider/types.js.map +1 -1
  155. package/lib/typert.host.js +29 -25
  156. package/lib/typert.remote-client.d.ts +2 -2
  157. package/lib/typert.remote-client.d.ts.map +1 -1
  158. package/lib/typert.remote-client.js +29 -25
  159. package/package.json +48 -32
@@ -1,4 +1,4 @@
1
- import { createSnapshotStore, } from '@deepseek-ai/dsh-client-runtime/client';
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(() => ctx.locale.register(WORKTREE_NS, { zh, en }), 'clutch-dsh-worktree: locale dictionaries');
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
- manager,
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 findWorktreeSessionBinding = async (sessionId) => {
64
- const workspaceIds = ctx.workspaces.list.getSnapshot().items.map((workspace) => workspace.workspaceId);
65
- const results = await Promise.allSettled(workspaceIds.map(async (workspaceId) => {
66
- const bindings = await manager.listBindings({ workspaceId });
67
- return bindings.find((binding) => binding.sessionId === sessionId && binding.status === 'active');
68
- }));
69
- const found = results.find((result) => result.status === 'fulfilled' && result.value !== undefined);
70
- if (found !== undefined)
71
- return found.value;
72
- const failed = results.find((result) => result.status === 'rejected');
73
- if (failed !== undefined)
74
- throw failed.reason;
75
- return undefined;
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
- findBinding: findWorktreeSessionBinding,
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(reconcileForkChildren);
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
- ctx.slots.inject('conversation.session.header.actions', () => ctx.slots.register({
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
- ctx.slots.inject('sidebar.footer.action', () => ctx.slots.register({
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
- ctx.slots.inject('shell.overlay', () => ctx.slots.register({
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.workspaces.pickDirectory();
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.workspaces.startSession(workspaceId);
278
+ ctx.uiWorkspace.startSession(workspaceId);
161
279
  },
162
280
  renameWorkspace: async (workspaceId, title) => {
163
281
  await ctx.workspaces.rename(workspaceId, title);
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/client/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/client/entry.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare const zh: {
25
25
  'worktree.mainWithBranch': string;
26
26
  'worktree.detached': string;
27
27
  'worktree.repair': string;
28
+ 'worktree.recovery': string;
28
29
  'worktree.ready': string;
29
30
  'worktree.expand': string;
30
31
  'worktree.collapse': string;
@@ -61,6 +62,7 @@ export declare const zh: {
61
62
  'session.rename': string;
62
63
  'session.fork': string;
63
64
  'session.archive': string;
65
+ 'session.copyId': string;
64
66
  'session.expandMore': string;
65
67
  'session.collapse': string;
66
68
  'session.name': string;
@@ -114,6 +116,10 @@ export declare const zh: {
114
116
  'error.worktreeRecordMissing': string;
115
117
  'error.worktreeImportInvalid': string;
116
118
  'error.worktreeAlreadyManaged': string;
119
+ 'error.worktreeMutationBusy': string;
120
+ 'error.worktreeStateConflict': string;
121
+ 'error.worktreeRecoveryRequired': string;
122
+ 'error.worktreeIdentityChanged': string;
117
123
  'error.worktreeRegistrationSessionUnavailable': string;
118
124
  'error.workspaceRenameUnavailable': string;
119
125
  'error.workspaceDeleteUnavailable': string;
@@ -157,6 +163,7 @@ export declare const en: {
157
163
  'worktree.mainWithBranch': string;
158
164
  'worktree.detached': string;
159
165
  'worktree.repair': string;
166
+ 'worktree.recovery': string;
160
167
  'worktree.ready': string;
161
168
  'worktree.expand': string;
162
169
  'worktree.collapse': string;
@@ -193,6 +200,7 @@ export declare const en: {
193
200
  'session.rename': string;
194
201
  'session.fork': string;
195
202
  'session.archive': string;
203
+ 'session.copyId': string;
196
204
  'session.expandMore': string;
197
205
  'session.collapse': string;
198
206
  'session.name': string;
@@ -246,6 +254,10 @@ export declare const en: {
246
254
  'error.worktreeRecordMissing': string;
247
255
  'error.worktreeImportInvalid': string;
248
256
  'error.worktreeAlreadyManaged': string;
257
+ 'error.worktreeMutationBusy': string;
258
+ 'error.worktreeStateConflict': string;
259
+ 'error.worktreeRecoveryRequired': string;
260
+ 'error.worktreeIdentityChanged': string;
249
261
  'error.worktreeRegistrationSessionUnavailable': string;
250
262
  'error.workspaceRenameUnavailable': string;
251
263
  'error.workspaceDeleteUnavailable': string;
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAG,UAAmB,CAAC;AAE/C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwImB,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAC;AAEhD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuJ8B,CAAC"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAG,UAAmB,CAAC;AAE/C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ImB,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAC;AAEhD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6J8B,CAAC"}
@@ -25,6 +25,7 @@ export const zh = {
25
25
  'worktree.mainWithBranch': '本地({branch})',
26
26
  'worktree.detached': '已分离 Worktree',
27
27
  'worktree.repair': 'Worktree 需要修复',
28
+ 'worktree.recovery': 'Worktree 需要恢复',
28
29
  'worktree.ready': '活动 Worktree 已就绪',
29
30
  'worktree.expand': '展开 {name}',
30
31
  'worktree.collapse': '收起 {name}',
@@ -61,6 +62,7 @@ export const zh = {
61
62
  'session.rename': '重命名会话',
62
63
  'session.fork': 'Fork 会话',
63
64
  'session.archive': '归档会话',
65
+ 'session.copyId': '复制 Session ID',
64
66
  'session.expandMore': '展开其余 {count} 个会话',
65
67
  'session.collapse': '收起',
66
68
  'session.name': '会话名称',
@@ -114,6 +116,10 @@ export const zh = {
114
116
  'error.worktreeRecordMissing': 'Worktree 注册未返回 Worktree 记录,请重试请求。',
115
117
  'error.worktreeImportInvalid': '这个 Worktree 无法导入,请选择同一 Workspace 中有效的绝对路径。',
116
118
  'error.worktreeAlreadyManaged': '这个 Worktree 已由插件管理。',
119
+ 'error.worktreeMutationBusy': '另一个 DSH 实例正在修改 Worktree 状态,请稍后重试。',
120
+ 'error.worktreeStateConflict': 'Worktree 状态已经变化,请刷新后重试。',
121
+ 'error.worktreeRecoveryRequired': 'Worktree 状态需要恢复;请先完成恢复后再重试破坏性操作。',
122
+ 'error.worktreeIdentityChanged': 'Worktree 或 repository 身份已经变化,需要恢复后再操作。',
117
123
  'error.worktreeRegistrationSessionUnavailable': 'Worktree 已注册,但 Session 创建不可用,请重新连接后重试。',
118
124
  'error.workspaceRenameUnavailable': '工作区重命名不可用,请重新连接后重试。',
119
125
  'error.workspaceDeleteUnavailable': '工作区删除不可用,请重新连接后重试。',
@@ -156,6 +162,7 @@ export const en = {
156
162
  'worktree.mainWithBranch': 'Local ({branch})',
157
163
  'worktree.detached': 'Detached Worktree',
158
164
  'worktree.repair': 'Worktree needs repair',
165
+ 'worktree.recovery': 'Worktree requires recovery',
159
166
  'worktree.ready': 'Active Worktree ready',
160
167
  'worktree.expand': 'Expand {name}',
161
168
  'worktree.collapse': 'Collapse {name}',
@@ -192,6 +199,7 @@ export const en = {
192
199
  'session.rename': 'Rename session',
193
200
  'session.fork': 'Fork session',
194
201
  'session.archive': 'Archive session',
202
+ 'session.copyId': 'Copy session ID',
195
203
  'session.expandMore': 'Expand {count} more',
196
204
  'session.collapse': 'Collapse',
197
205
  'session.name': 'Session name',
@@ -245,6 +253,10 @@ export const en = {
245
253
  'error.worktreeRecordMissing': 'Worktree registration returned no Worktree record; retry the request.',
246
254
  'error.worktreeImportInvalid': 'This Worktree cannot be imported. Choose a valid absolute path in this Workspace.',
247
255
  'error.worktreeAlreadyManaged': 'This Worktree is already managed by the plugin.',
256
+ 'error.worktreeMutationBusy': 'Another DSH instance is mutating Worktree state; retry shortly.',
257
+ 'error.worktreeStateConflict': 'The Worktree state changed; refresh and retry the request.',
258
+ 'error.worktreeRecoveryRequired': 'Worktree state requires recovery; resolve it before retrying destructive actions.',
259
+ 'error.worktreeIdentityChanged': 'The Worktree or repository identity changed; recovery is required before acting.',
248
260
  'error.worktreeRegistrationSessionUnavailable': 'The Worktree was registered, but Session creation is unavailable; retry after reconnecting.',
249
261
  'error.workspaceRenameUnavailable': 'Workspace rename is unavailable; retry after reconnecting.',
250
262
  'error.workspaceDeleteUnavailable': 'Workspace delete is unavailable; retry after reconnecting.',
@@ -1 +1 @@
1
- {"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,UAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,UAAU;IACxB,iBAAiB,EAAE,aAAa;IAChC,cAAc,EAAE,aAAa;IAC7B,kBAAkB,EAAE,iBAAiB;IACrC,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,WAAW;IAC/B,oBAAoB,EAAE,WAAW;IACjC,mBAAmB,EAAE,cAAc;IACnC,uBAAuB,EAAE,sBAAsB;IAC/C,eAAe,EAAE,OAAO;IACxB,kBAAkB,EAAE,UAAU;IAC9B,qBAAqB,EAAE,UAAU;IACjC,uBAAuB,EAAE,QAAQ;IACjC,gBAAgB,EAAE,OAAO;IACzB,qBAAqB,EAAE,WAAW;IAClC,uBAAuB,EAAE,OAAO;IAChC,6BAA6B,EAC3B,qDAAqD;IACvD,gBAAgB,EAAE,UAAU;IAC5B,eAAe,EAAE,IAAI;IACrB,yBAAyB,EAAE,cAAc;IACzC,mBAAmB,EAAE,cAAc;IACnC,iBAAiB,EAAE,eAAe;IAClC,mBAAmB,EAAE,eAAe;IACpC,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,WAAW;IAC9B,mBAAmB,EAAE,WAAW;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,MAAM;IAC3B,oBAAoB,EAAE,eAAe;IACrC,iBAAiB,EAAE,aAAa;IAChC,4BAA4B,EAAE,6CAA6C;IAC3E,oCAAoC,EAClC,mEAAmE;IACrE,qBAAqB,EAAE,eAAe;IACtC,sBAAsB,EAAE,aAAa;IACrC,sBAAsB,EAAE,aAAa;IACrC,4BAA4B,EAAE,iCAAiC;IAC/D,oBAAoB,EAAE,IAAI;IAC1B,oBAAoB,EAAE,IAAI;IAC1B,4BAA4B,EAC1B,0DAA0D;IAC5D,wBAAwB,EAAE,oBAAoB;IAC9C,sBAAsB,EAAE,kBAAkB;IAC1C,4BAA4B,EAAE,kBAAkB;IAChD,yBAAyB,EAAE,KAAK;IAChC,qBAAqB,EAAE,eAAe;IACtC,wBAAwB,EAAE,QAAQ;IAClC,qBAAqB,EAAE,gBAAgB;IACvC,gCAAgC,EAAE,0CAA0C;IAC5E,6BAA6B,EAAE,8CAA8C;IAC7E,gCAAgC,EAAE,gCAAgC;IAClE,8BAA8B,EAAE,4BAA4B;IAC5D,yBAAyB,EAAE,QAAQ;IACnC,eAAe,EAAE,aAAa;IAC9B,iBAAiB,EAAE,aAAa;IAChC,iBAAiB,EAAE,aAAa;IAChC,iBAAiB,EAAE,aAAa;IAChC,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,OAAO;IACzB,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,MAAM;IACzB,gBAAgB,EAAE,eAAe;IACjC,oBAAoB,EAAE,kBAAkB;IACxC,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,MAAM;IACtB,wBAAwB,EAAE,KAAK;IAC/B,qCAAqC,EAAE,aAAa;IACpD,uCAAuC,EAAE,aAAa;IACtD,qBAAqB,EAAE,IAAI;IAC3B,gCAAgC,EAAE,MAAM;IACxC,2BAA2B,EAAE,MAAM;IACnC,8BAA8B,EAAE,MAAM;IACtC,0BAA0B,EAAE,KAAK;IACjC,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,KAAK;IACrB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,OAAO;IAC/B,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,OAAO;IAC9B,oBAAoB,EAAE,MAAM;IAC5B,kBAAkB,EAAE,MAAM;IAC1B,cAAc,EAAE,IAAI;IACpB,6BAA6B,EAAE,aAAa;IAC5C,6BAA6B,EAAE,YAAY;IAC3C,4BAA4B,EAAE,mBAAmB;IACjD,4BAA4B,EAAE,mBAAmB;IACjD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,MAAM;IAC7B,2BAA2B,EAAE,gBAAgB;IAC7C,mCAAmC,EAAE,mDAAmD;IACxF,2BAA2B,EAAE,gDAAgD;IAC7E,uBAAuB,EAAE,qDAAqD;IAC9E,wBAAwB,EAAE,iCAAiC;IAC3D,4BAA4B,EAAE,4BAA4B;IAC1D,kCAAkC,EAChC,6IAA6I;IAC/I,kCAAkC,EAAE,cAAc;IAClD,6BAA6B,EAAE,yBAAyB;IACxD,gBAAgB,EAAE,UAAU;IAC5B,+BAA+B,EAAE,qBAAqB;IACtD,uBAAuB,EAAE,0BAA0B;IACnD,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,qDAAqD;IAC/E,qBAAqB,EAAE,6CAA6C;IACpE,oCAAoC,EAAE,oBAAoB;IAC1D,kCAAkC,EAAE,mBAAmB;IACvD,mCAAmC,EAAE,0BAA0B;IAC/D,yCAAyC,EACvC,wCAAwC;IAC1C,kCAAkC,EAAE,yBAAyB;IAC7D,6BAA6B,EAAE,mCAAmC;IAClE,6BAA6B,EAAE,4CAA4C;IAC3E,8BAA8B,EAAE,qBAAqB;IACrD,4BAA4B,EAAE,mCAAmC;IACjE,6BAA6B,EAAE,yBAAyB;IACxD,gCAAgC,EAAE,kCAAkC;IACpE,+BAA+B,EAAE,wCAAwC;IACzE,8CAA8C,EAC5C,wCAAwC;IAC1C,kCAAkC,EAAE,qBAAqB;IACzD,kCAAkC,EAAE,oBAAoB;IACxD,gCAAgC,EAAE,oBAAoB;IACtD,4BAA4B,EAAE,kDAAkD;IAChF,2BAA2B,EAAE,wCAAwC;IACrE,8CAA8C,EAAE,uCAAuC;IACvF,gCAAgC,EAAE,sCAAsC;IACxE,2BAA2B,EAAE,qBAAqB;IAClD,8BAA8B,EAAE,qBAAqB;IACrD,qCAAqC,EAAE,mCAAmC;IAC1E,kCAAkC,EAAE,sBAAsB;IAC1D,uBAAuB,EAAE,uBAAuB;IAChD,gBAAgB,EAAE,MAAM;IACxB,mBAAmB,EAAE,OAAO;CACI,CAAC;AAInC,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,UAAU;IACxB,iBAAiB,EAAE,qBAAqB;IACxC,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,kBAAkB;IACtC,kBAAkB,EAAE,QAAQ;IAC5B,kBAAkB,EAAE,QAAQ;IAC5B,kBAAkB,EAAE,eAAe;IACnC,oBAAoB,EAAE,iBAAiB;IACvC,mBAAmB,EAAE,8BAA8B;IACnD,uBAAuB,EAAE,wBAAwB;IACjD,eAAe,EAAE,eAAe;IAChC,kBAAkB,EAAE,gCAAgC;IACpD,qBAAqB,EAAE,wBAAwB;IAC/C,uBAAuB,EAAE,kBAAkB;IAC3C,gBAAgB,EAAE,gBAAgB;IAClC,qBAAqB,EAAE,4CAA4C;IACnE,uBAAuB,EAAE,kBAAkB;IAC3C,6BAA6B,EAC3B,+HAA+H;IACjI,gBAAgB,EAAE,WAAW;IAC7B,eAAe,EAAE,OAAO;IACxB,yBAAyB,EAAE,kBAAkB;IAC7C,mBAAmB,EAAE,mBAAmB;IACxC,iBAAiB,EAAE,uBAAuB;IAC1C,mBAAmB,EAAE,4BAA4B;IACjD,gBAAgB,EAAE,uBAAuB;IACzC,iBAAiB,EAAE,eAAe;IAClC,mBAAmB,EAAE,iBAAiB;IACtC,kBAAkB,EAAE,6BAA6B;IACjD,mBAAmB,EAAE,WAAW;IAChC,oBAAoB,EAAE,qBAAqB;IAC3C,iBAAiB,EAAE,iBAAiB;IACpC,4BAA4B,EAC1B,gFAAgF;IAClF,oCAAoC,EAClC,qIAAqI;IACvI,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,cAAc;IACtC,sBAAsB,EAAE,cAAc;IACtC,4BAA4B,EAAE,+CAA+C;IAC7E,oBAAoB,EAAE,QAAQ;IAC9B,oBAAoB,EAAE,QAAQ;IAC9B,4BAA4B,EAC1B,gJAAgJ;IAClJ,wBAAwB,EAAE,+BAA+B;IACzD,sBAAsB,EAAE,gCAAgC;IACxD,4BAA4B,EAAE,6BAA6B;IAC3D,yBAAyB,EAAE,UAAU;IACrC,qBAAqB,EAAE,sBAAsB;IAC7C,wBAAwB,EAAE,iBAAiB;IAC3C,qBAAqB,EAAE,4CAA4C;IACnE,gCAAgC,EAC9B,wFAAwF;IAC1F,6BAA6B,EAC3B,wFAAwF;IAC1F,gCAAgC,EAC9B,sEAAsE;IACxE,8BAA8B,EAAE,4DAA4D;IAC5F,yBAAyB,EAAE,mBAAmB;IAC9C,eAAe,EAAE,eAAe;IAChC,iBAAiB,EAAE,iBAAiB;IACpC,iBAAiB,EAAE,iBAAiB;IACpC,iBAAiB,EAAE,4BAA4B;IAC/C,aAAa,EAAE,aAAa;IAC5B,gBAAgB,EAAE,gBAAgB;IAClC,cAAc,EAAE,cAAc;IAC9B,iBAAiB,EAAE,iBAAiB;IACpC,gBAAgB,EAAE,iBAAiB;IACnC,oBAAoB,EAAE,qBAAqB;IAC3C,kBAAkB,EAAE,UAAU;IAC9B,cAAc,EAAE,cAAc;IAC9B,wBAAwB,EAAE,SAAS;IACnC,qCAAqC,EAAE,sBAAsB;IAC7D,uCAAuC,EAAE,uBAAuB;IAChE,qBAAqB,EAAE,MAAM;IAC7B,gCAAgC,EAAE,sBAAsB;IACxD,2BAA2B,EAAE,sBAAsB;IACnD,8BAA8B,EAAE,oBAAoB;IACpD,0BAA0B,EAAE,WAAW;IACvC,IAAI,EAAE,MAAM;IACZ,cAAc,EAAE,QAAQ;IACxB,kBAAkB,EAAE,KAAK;IACzB,sBAAsB,EAAE,QAAQ;IAChC,oBAAoB,EAAE,MAAM;IAC5B,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,OAAO;IAC9B,oBAAoB,EAAE,MAAM;IAC5B,kBAAkB,EAAE,SAAS;IAC7B,cAAc,EAAE,OAAO;IACvB,6BAA6B,EAAE,+BAA+B;IAC9D,6BAA6B,EAAE,+BAA+B;IAC9D,4BAA4B,EAAE,8BAA8B;IAC5D,4BAA4B,EAAE,8BAA8B;IAC5D,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,cAAc,EAAE,OAAO;IACvB,qBAAqB,EAAE,eAAe;IACtC,2BAA2B,EAAE,sBAAsB;IACnD,mCAAmC,EAAE,6GAA6G;IAClJ,2BAA2B,EAAE,+GAA+G;IAC5I,uBAAuB,EAAE,4HAA4H;IACrJ,wBAAwB,EAAE,sFAAsF;IAChH,4BAA4B,EAAE,8BAA8B;IAC5D,kCAAkC,EAChC,kRAAkR;IACpR,kCAAkC,EAAE,6CAA6C;IACjF,6BAA6B,EAAE,6BAA6B;IAC5D,gBAAgB,EAAE,qBAAqB;IACvC,+BAA+B,EAAE,kDAAkD;IACnF,uBAAuB,EAAE,6DAA6D;IACtF,0BAA0B,EAAE,+DAA+D;IAC3F,wBAAwB,EACtB,2EAA2E;IAC7E,qBAAqB,EACnB,6EAA6E;IAC/E,oCAAoC,EAClC,8DAA8D;IAChE,kCAAkC,EAAE,4DAA4D;IAChG,mCAAmC,EACjC,6DAA6D;IAC/D,yCAAyC,EACvC,kFAAkF;IACpF,kCAAkC,EAAE,4DAA4D;IAChG,6BAA6B,EAC3B,uEAAuE;IACzE,6BAA6B,EAC3B,mFAAmF;IACrF,8BAA8B,EAAE,iDAAiD;IACjF,4BAA4B,EAAE,iEAAiE;IAC/F,6BAA6B,EAAE,4DAA4D;IAC3F,gCAAgC,EAAE,mFAAmF;IACrH,+BAA+B,EAAE,kFAAkF;IACnH,8CAA8C,EAC5C,6FAA6F;IAC/F,kCAAkC,EAAE,4DAA4D;IAChG,kCAAkC,EAAE,4DAA4D;IAChG,gCAAgC,EAAE,0DAA0D;IAC5F,4BAA4B,EAC1B,wEAAwE;IAC1E,2BAA2B,EACzB,+EAA+E;IACjF,8CAA8C,EAC5C,mGAAmG;IACrG,gCAAgC,EAC9B,qEAAqE;IACvE,2BAA2B,EAAE,uDAAuD;IACpF,8BAA8B,EAAE,kDAAkD;IAClF,qCAAqC,EACnC,uEAAuE;IACzE,kCAAkC,EAAE,yDAAyD;IAC7F,uBAAuB,EAAE,6DAA6D;IACtF,gBAAgB,EAAE,YAAY;IAC9B,mBAAmB,EAAE,gBAAgB;CACM,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type EngineStoreHandle } from '@deepseek-ai/dsh-client-runtime/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,wCAAwC,CAAC;AAC7F,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
+ {"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-runtime/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,wCAAwC,CAAC;AAC7F,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"}
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 WorkspaceLike[];
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 SessionListLike {
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,aAAa,EAAE,CAAA;CAAE,EAEtD,QAAQ,EAAE,CAAC,EACX,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,EACpD,YAAY,EAAE,SAAS,uBAAuB,EAAE,GAC/C,CAAC,CA6BH;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,eAAe,GACxB,MAAM,GAAG,SAAS,CAepB"}
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"}
@@ -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
- if (workspaces.recentWorkspaceId !== undefined &&
71
- workspaces.items.some((workspace) => workspace.workspaceId === workspaces.recentWorkspaceId)) {
72
- return workspaces.recentWorkspaceId;
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