@jingyi0605/codingns 0.5.1 → 0.6.0

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 (196) hide show
  1. package/dist/public/assets/{AdaptiveButlerPage-SffCV4Vb.js → AdaptiveButlerPage-uFwDdN-F.js} +3 -3
  2. package/dist/public/assets/App-BZvapsi8.js +30 -0
  3. package/dist/public/assets/App-CcDXqFl1.css +1 -0
  4. package/dist/public/assets/{BootstrapPage--zExdgfM.js → BootstrapPage-gHSoa4JN.js} +1 -1
  5. package/dist/public/assets/ConversationPage-z3sXtKZ7.js +4 -0
  6. package/dist/public/assets/{DesktopDetachPreviewPage-DvI9CIKi.js → DesktopDetachPreviewPage-4eMRxiBW.js} +1 -1
  7. package/dist/public/assets/DesktopWindowPage-CZcoGApB.js +2 -0
  8. package/dist/public/assets/FileContextPanel-C3qex8bb.js +1 -0
  9. package/dist/public/assets/GitSidebar-BK6H16XU.js +6 -0
  10. package/dist/public/assets/{MobileCreateSessionSheet-CXSKMnYn.js → MobileCreateSessionSheet-BYfbvK8o.js} +1 -1
  11. package/dist/public/assets/MobileSheet-Ckug8hTb.js +1 -0
  12. package/dist/public/assets/{MobileTopHeaderFrame-BWorAJ1C.js → MobileTopHeaderFrame-Bwv8Ovm_.js} +1 -1
  13. package/dist/public/assets/MobileWorkspaceSwitcherHeader-RqWrBdn2.js +1 -0
  14. package/dist/public/assets/RelayConnectEntryPage-D_4YL-YH.js +1 -0
  15. package/dist/public/assets/ServerSettingsModal-CMSm3BZU.js +1 -0
  16. package/dist/public/assets/SessionIndexPage-DuK10DL5.js +1 -0
  17. package/dist/public/assets/SettingsPage-fyD-xaHL.js +1 -0
  18. package/dist/public/assets/TerminalManagerPanel-CCLr1Ypk.js +1 -0
  19. package/dist/public/assets/{TerminalPage-CvnHXBhw.js → TerminalPage-DaooFaJ4.js} +19 -19
  20. package/dist/public/assets/{TerminalRuntimeFallbackModal-D7Aq186N.js → TerminalRuntimeFallbackModal-aUzjEBwP.js} +1 -1
  21. package/dist/public/assets/ToolFilesPage-CGxBvYG0.js +1 -0
  22. package/dist/public/assets/ToolGitPage-C264yjS9.js +1 -0
  23. package/dist/public/assets/ToolProcessesPage-BOP4A1cb.js +1 -0
  24. package/dist/public/assets/ToolsHomePage-CQxGiKQA.js +1 -0
  25. package/dist/public/assets/WorkbenchLandingPage-CvAY68ca.js +1 -0
  26. package/dist/public/assets/WorkbenchLayout-DGm8Tc5M.js +3 -0
  27. package/dist/public/assets/{WorkbenchModal-B09hC9b5.js → WorkbenchModal-0tPIIhca.js} +1 -1
  28. package/dist/public/assets/{WorkbenchShellRoute-DsW4mBTX.css → WorkbenchShellRoute-BF0nHWOk.css} +1 -1
  29. package/dist/public/assets/WorkbenchShellRoute-DBBOsJo9.js +1 -0
  30. package/dist/public/assets/WorkspaceDebugDetailPage-CDerFYd2.js +1 -0
  31. package/dist/public/assets/WorkspaceDetailPage-BlJc1CHE.js +1 -0
  32. package/dist/public/assets/WorkspaceHomePage-BUsKJ3lv.js +1 -0
  33. package/dist/public/assets/client-runtime-manager-BZpL17fc.js +1 -0
  34. package/dist/public/assets/{default-session-permission-mode-D0wZ9Jek.js → default-session-permission-mode-DT4SGiwp.js} +1 -1
  35. package/dist/public/assets/file-tree-icon-Db5LXC8h.js +31 -0
  36. package/dist/public/assets/index-BZLcEHW3.js +42 -0
  37. package/dist/public/assets/index-BbspQPC2.css +1 -0
  38. package/dist/public/assets/login-direct-candidate-resolver-1mxe_Oh8.js +1 -0
  39. package/dist/public/assets/{preferences-service-gOt2ZjKZ.js → preferences-service-DWnzl5a0.js} +1 -1
  40. package/dist/public/assets/relay-entry-C5_Iay0I.js +1 -0
  41. package/dist/public/assets/session-runtime-machine-DdLeDqQr.js +17 -0
  42. package/dist/public/assets/{styles-BWPBZvze.css → styles-CsEMfdaS.css} +1 -1
  43. package/dist/public/assets/{terminal-runtime-meta-BMT-rSEe.js → terminal-runtime-meta-cdtWVfCm.js} +1 -1
  44. package/dist/public/assets/{useRegisteredDebugTemplates-zMcEOGca.js → useRegisteredDebugTemplates-oFAQNIqh.js} +1 -1
  45. package/dist/public/assets/window-BVUB8gMK.js +1 -0
  46. package/dist/public/index.html +2 -2
  47. package/dist/server/config/env.d.ts +2 -0
  48. package/dist/server/config/env.js +39 -0
  49. package/dist/server/config/env.js.map +1 -1
  50. package/dist/server/modules/client/npm-global-package-service.d.ts +7 -1
  51. package/dist/server/modules/client/npm-global-package-service.js +149 -43
  52. package/dist/server/modules/client/npm-global-package-service.js.map +1 -1
  53. package/dist/server/modules/client/service-update-task-service.js +6 -2
  54. package/dist/server/modules/client/service-update-task-service.js.map +1 -1
  55. package/dist/server/modules/client/service-update-types.d.ts +2 -0
  56. package/dist/server/modules/git/git-controller.d.ts +3 -0
  57. package/dist/server/modules/git/git-controller.js +3 -0
  58. package/dist/server/modules/git/git-controller.js.map +1 -1
  59. package/dist/server/modules/git/git-read-service.js +47 -1
  60. package/dist/server/modules/git/git-read-service.js.map +1 -1
  61. package/dist/server/modules/git/git-write-service.d.ts +4 -0
  62. package/dist/server/modules/git/git-write-service.js +24 -0
  63. package/dist/server/modules/git/git-write-service.js.map +1 -1
  64. package/dist/server/modules/git/types.d.ts +1 -0
  65. package/dist/server/modules/git/workspace-repo-guard.d.ts +2 -0
  66. package/dist/server/modules/git/workspace-repo-guard.js +24 -10
  67. package/dist/server/modules/git/workspace-repo-guard.js.map +1 -1
  68. package/dist/server/modules/parallel-sessions/parallel-session-controller.d.ts +53 -0
  69. package/dist/server/modules/parallel-sessions/parallel-session-controller.js +70 -0
  70. package/dist/server/modules/parallel-sessions/parallel-session-controller.js.map +1 -0
  71. package/dist/server/modules/parallel-sessions/parallel-session-group-service.d.ts +83 -0
  72. package/dist/server/modules/parallel-sessions/parallel-session-group-service.js +591 -0
  73. package/dist/server/modules/parallel-sessions/parallel-session-group-service.js.map +1 -0
  74. package/dist/server/modules/parallel-sessions/session-isolated-workspace-service.d.ts +56 -0
  75. package/dist/server/modules/parallel-sessions/session-isolated-workspace-service.js +483 -0
  76. package/dist/server/modules/parallel-sessions/session-isolated-workspace-service.js.map +1 -0
  77. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.d.ts +16 -1
  78. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js.map +1 -1
  79. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.d.ts +2 -1
  80. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js +18 -0
  81. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js.map +1 -1
  82. package/dist/server/modules/relay-tunnel/relay-tunnel-candidate-endpoints.d.ts +2 -0
  83. package/dist/server/modules/relay-tunnel/relay-tunnel-candidate-endpoints.js +129 -0
  84. package/dist/server/modules/relay-tunnel/relay-tunnel-candidate-endpoints.js.map +1 -0
  85. package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.d.ts +13 -0
  86. package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.js +2 -0
  87. package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.js.map +1 -0
  88. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.d.ts +6 -0
  89. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +110 -10
  90. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -1
  91. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.d.ts +16 -4
  92. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js +220 -102
  93. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js.map +1 -1
  94. package/dist/server/modules/relay-tunnel/relay-tunnel-service.d.ts +4 -1
  95. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +257 -162
  96. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
  97. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +3 -0
  98. package/dist/server/modules/sessions/codex-app-server-helper-client.js +56 -45
  99. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  100. package/dist/server/modules/sessions/codex-app-server-helper-process.js +21 -2
  101. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  102. package/dist/server/modules/sessions/session-activity-inspector.js +6 -8
  103. package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
  104. package/dist/server/modules/sessions/session-history-service.d.ts +11 -1
  105. package/dist/server/modules/sessions/session-history-service.js +204 -21
  106. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  107. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +8 -0
  108. package/dist/server/modules/sessions/session-live-runtime-service.js +208 -25
  109. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  110. package/dist/server/modules/workbench/codex-archive-watcher.d.ts +16 -0
  111. package/dist/server/modules/workbench/codex-archive-watcher.js +50 -0
  112. package/dist/server/modules/workbench/codex-archive-watcher.js.map +1 -0
  113. package/dist/server/modules/workbench/workbench-service.d.ts +43 -4
  114. package/dist/server/modules/workbench/workbench-service.js +72 -9
  115. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  116. package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +1 -1
  117. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +26 -3
  118. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  119. package/dist/server/modules/workspace/workspace-service.d.ts +3 -1
  120. package/dist/server/modules/workspace/workspace-service.js +10 -2
  121. package/dist/server/modules/workspace/workspace-service.js.map +1 -1
  122. package/dist/server/modules/worktree/worktree-base-ref-resolver.d.ts +20 -0
  123. package/dist/server/modules/worktree/worktree-base-ref-resolver.js +111 -0
  124. package/dist/server/modules/worktree/worktree-base-ref-resolver.js.map +1 -0
  125. package/dist/server/modules/worktree/worktree-cleanup-service.js +9 -3
  126. package/dist/server/modules/worktree/worktree-cleanup-service.js.map +1 -1
  127. package/dist/server/modules/worktree/worktree-manager.d.ts +0 -1
  128. package/dist/server/modules/worktree/worktree-manager.js +14 -20
  129. package/dist/server/modules/worktree/worktree-manager.js.map +1 -1
  130. package/dist/server/routes/git.js +1 -0
  131. package/dist/server/routes/git.js.map +1 -1
  132. package/dist/server/routes/parallel-groups.d.ts +3 -0
  133. package/dist/server/routes/parallel-groups.js +9 -0
  134. package/dist/server/routes/parallel-groups.js.map +1 -0
  135. package/dist/server/server/create-server.d.ts +8 -0
  136. package/dist/server/server/create-server.js +48 -9
  137. package/dist/server/server/create-server.js.map +1 -1
  138. package/dist/server/server/workbench-runtime-terminal-sync.d.ts +14 -0
  139. package/dist/server/server/workbench-runtime-terminal-sync.js +17 -0
  140. package/dist/server/server/workbench-runtime-terminal-sync.js.map +1 -0
  141. package/dist/server/storage/repositories/parallel-session-group-repository.d.ts +11 -0
  142. package/dist/server/storage/repositories/parallel-session-group-repository.js +131 -0
  143. package/dist/server/storage/repositories/parallel-session-group-repository.js.map +1 -0
  144. package/dist/server/storage/repositories/parallel-session-member-repository.d.ts +12 -0
  145. package/dist/server/storage/repositories/parallel-session-member-repository.js +150 -0
  146. package/dist/server/storage/repositories/parallel-session-member-repository.js.map +1 -0
  147. package/dist/server/storage/repositories/session-isolated-workspace-repository.d.ts +15 -0
  148. package/dist/server/storage/repositories/session-isolated-workspace-repository.js +230 -0
  149. package/dist/server/storage/repositories/session-isolated-workspace-repository.js.map +1 -0
  150. package/dist/server/storage/sqlite/schema.sql +73 -0
  151. package/dist/server/types/domain.d.ts +72 -0
  152. package/dist/server/ws/workbench-ws-hub.d.ts +3 -1
  153. package/dist/server/ws/workbench-ws-hub.js +189 -20
  154. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  155. package/dist/server/ws/ws-server.js +141 -8
  156. package/dist/server/ws/ws-server.js.map +1 -1
  157. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -0
  158. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +67 -6
  159. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  160. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +3 -0
  161. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +46 -22
  162. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  163. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +558 -309
  164. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  165. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +29 -5
  166. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
  167. package/package.json +1 -1
  168. package/dist/public/assets/App-DUAg5urj.css +0 -1
  169. package/dist/public/assets/App-WOLwMld_.js +0 -30
  170. package/dist/public/assets/ConversationPage-D9pzRmOg.js +0 -2
  171. package/dist/public/assets/DesktopWindowPage-D8FpOSLE.js +0 -2
  172. package/dist/public/assets/FileContextPanel-C8T7oqRN.js +0 -1
  173. package/dist/public/assets/GitSidebar-Bze7DNnc.js +0 -6
  174. package/dist/public/assets/MobileSheet-Gzc14EpR.js +0 -1
  175. package/dist/public/assets/MobileWorkspaceSwitcherHeader-DOr4pTUq.js +0 -1
  176. package/dist/public/assets/ServerSettingsModal-BYB0GvTl.js +0 -1
  177. package/dist/public/assets/SessionIndexPage-CR3IARXX.js +0 -1
  178. package/dist/public/assets/SettingsPage-B_BQtnwE.js +0 -1
  179. package/dist/public/assets/TerminalManagerPanel-PQ-EM64j.js +0 -1
  180. package/dist/public/assets/ToolFilesPage-Qzkc6K2I.js +0 -1
  181. package/dist/public/assets/ToolGitPage-BdNDN-cV.js +0 -1
  182. package/dist/public/assets/ToolProcessesPage-EXJ9DHWI.js +0 -1
  183. package/dist/public/assets/ToolsHomePage-CjF3CWzR.js +0 -1
  184. package/dist/public/assets/WorkbenchLandingPage-DZPk4SmX.js +0 -1
  185. package/dist/public/assets/WorkbenchLayout-rwQib5In.js +0 -3
  186. package/dist/public/assets/WorkbenchShellRoute-Cerk5uK7.js +0 -1
  187. package/dist/public/assets/WorkspaceDebugDetailPage-Bcq8s-Ma.js +0 -1
  188. package/dist/public/assets/WorkspaceDetailPage-DNAa8pKr.js +0 -1
  189. package/dist/public/assets/WorkspaceHomePage-BoiLuACV.js +0 -1
  190. package/dist/public/assets/client-runtime-manager-CRQ-F5d2.js +0 -1
  191. package/dist/public/assets/file-tree-icon-Dp_xhVfD.js +0 -31
  192. package/dist/public/assets/index-C2G8Gmf1.js +0 -42
  193. package/dist/public/assets/index-CpPTUeA3.css +0 -1
  194. package/dist/public/assets/session-runtime-machine-Dq3pW-UF.js +0 -17
  195. package/dist/public/assets/window-BWqRixxq.js +0 -1
  196. /package/dist/public/assets/{styles-CSUx5LGe.js → styles-DRVvx_kv.js} +0 -0
@@ -1,4 +1,5 @@
1
1
  import { AppError } from "../shared/errors/app-error.js";
2
+ import { logPerformance } from "../shared/utils/perf-log.js";
2
3
  import { logTerminalDebug, terminalDebugNowMs } from "../shared/utils/terminal-debug-log.js";
3
4
  const WORKBENCH_REFRESH_INTERVAL_MS = 60_000;
4
5
  const GIT_SUBSCRIPTION_MIN_REFRESH_INTERVAL_MS = 15_000;
@@ -17,13 +18,16 @@ export class WorkbenchWsHub {
17
18
  clientGitSubscriptions = new WeakMap();
18
19
  clientTerminalManagerSubscriptions = new WeakMap();
19
20
  clientWorkspaceManagementSubscriptions = new WeakMap();
20
- constructor(workbenchService, workspacePanelSnapshotService, fileWatcher, terminalService) {
21
+ constructor(workbenchService, workspacePanelSnapshotService, fileWatcher, terminalService, codexArchiveWatcher) {
21
22
  this.workbenchService = workbenchService;
22
23
  this.workspacePanelSnapshotService = workspacePanelSnapshotService;
23
24
  this.fileWatcher = fileWatcher;
24
25
  this.fileWatcher.setOnChange((event) => {
25
26
  this.handleWorkspaceWatcherChange(event);
26
27
  });
28
+ codexArchiveWatcher?.setOnChange(() => {
29
+ this.handleCodexArchiveChange();
30
+ });
27
31
  terminalService?.on("status", (terminal) => {
28
32
  this.handleTerminalManagerChange(terminal.workspaceId);
29
33
  });
@@ -48,7 +52,9 @@ export class WorkbenchWsHub {
48
52
  }
49
53
  return true;
50
54
  case "workbench.refresh":
51
- void this.refreshAndBroadcast(userId, true);
55
+ void this.refreshAndBroadcast(userId, true, {
56
+ awaitDiscovery: true
57
+ });
52
58
  return true;
53
59
  case "fileTree.subscribe":
54
60
  this.replaceFileTreeSubscription(client, message.workspaceId, message.paths, message.knownRevisions);
@@ -187,21 +193,42 @@ export class WorkbenchWsHub {
187
193
  }
188
194
  channel.realtimeBroadcastQueued = false;
189
195
  channel.realtimeBroadcastTask = (async () => {
196
+ const startedAt = Date.now();
190
197
  const startedAtMs = terminalDebugNowMs();
191
198
  try {
199
+ const snapshotStartedAt = Date.now();
192
200
  const snapshot = this.workbenchService.getSnapshot(userId);
193
- const payload = buildWorkbenchPayload(snapshot);
194
- if (payload === channel.lastWorkbenchPayload) {
201
+ const snapshotMs = Date.now() - snapshotStartedAt;
202
+ const serializeStartedAt = Date.now();
203
+ const payload = buildWorkbenchBroadcastPayload(channel.lastWorkbenchSnapshot, snapshot);
204
+ const serializeMs = Date.now() - serializeStartedAt;
205
+ if (snapshot.revision === channel.lastWorkbenchRevision) {
195
206
  return;
196
207
  }
197
208
  channel.lastWorkbenchPayload = payload;
198
209
  channel.lastWorkbenchRevision = snapshot.revision;
199
- for (const client of channel.clients) {
200
- client.send(payload);
201
- }
210
+ channel.lastWorkbenchSnapshot = snapshot;
211
+ const sessionCount = snapshot.items.reduce((total, item) => total + countWorkbenchSessions(item), 0);
212
+ const broadcastMetric = broadcastSerializedPayload(channel.clients, payload);
213
+ logPerformance("ws.workbench.realtime_broadcast", Date.now() - startedAt, {
214
+ userId,
215
+ clientCount: channel.clients.size,
216
+ workspaceCount: snapshot.items.length,
217
+ sessionCount,
218
+ snapshotMs,
219
+ serializeMs,
220
+ payloadBytes: broadcastMetric.payloadBytes,
221
+ sendMs: broadcastMetric.sendMs,
222
+ maxBufferedAmount: broadcastMetric.maxBufferedAmount
223
+ }, {
224
+ thresholdMs: 0,
225
+ force: true
226
+ });
202
227
  logTerminalDebug("workbench.realtime_broadcast.completed", {
203
228
  userId,
204
229
  clientCount: channel.clients.size,
230
+ payloadBytes: broadcastMetric.payloadBytes,
231
+ maxBufferedAmount: broadcastMetric.maxBufferedAmount,
205
232
  durationMs: terminalDebugNowMs() - startedAtMs
206
233
  });
207
234
  }
@@ -245,6 +272,15 @@ export class WorkbenchWsHub {
245
272
  }
246
273
  }
247
274
  }
275
+ handleCodexArchiveChange() {
276
+ for (const userId of this.userChannels.keys()) {
277
+ void this.refreshAndBroadcast(userId, true, {
278
+ awaitDiscovery: true
279
+ }).catch((error) => {
280
+ this.reportAsyncError("handleCodexArchiveChange", error, { userId });
281
+ });
282
+ }
283
+ }
248
284
  handleTerminalManagerChange(workspaceId) {
249
285
  this.workspacePanelSnapshotService.invalidateTerminalManager(workspaceId);
250
286
  for (const [, channel] of this.userChannels) {
@@ -268,6 +304,7 @@ export class WorkbenchWsHub {
268
304
  clients: new Set(),
269
305
  lastWorkbenchPayload: null,
270
306
  lastWorkbenchRevision: null,
307
+ lastWorkbenchSnapshot: null,
271
308
  workbenchTimer: null,
272
309
  workspaceManagementTimer: null,
273
310
  realtimeBroadcastTimer: null,
@@ -294,17 +331,47 @@ export class WorkbenchWsHub {
294
331
  return channel;
295
332
  }
296
333
  async sendWorkbenchSnapshotToClient(client, userId, channel, knownRevision) {
334
+ const startedAt = Date.now();
297
335
  try {
336
+ const snapshotStartedAt = Date.now();
298
337
  const snapshot = this.workbenchService.getSnapshot(userId);
299
- channel.lastWorkbenchPayload = buildWorkbenchPayload(snapshot);
338
+ const snapshotMs = Date.now() - snapshotStartedAt;
339
+ const fullPayloadStartedAt = Date.now();
340
+ const fullPayload = buildWorkbenchPayload(snapshot);
341
+ const fullPayloadBuildMs = Date.now() - fullPayloadStartedAt;
342
+ const unchanged = Boolean(knownRevision && knownRevision === snapshot.revision);
343
+ let clientPayload = fullPayload;
344
+ let clientPayloadBuildMs = 0;
345
+ if (unchanged) {
346
+ const clientPayloadStartedAt = Date.now();
347
+ clientPayload = buildWorkbenchPayload(snapshot, knownRevision);
348
+ clientPayloadBuildMs = Date.now() - clientPayloadStartedAt;
349
+ }
350
+ channel.lastWorkbenchPayload = fullPayload;
300
351
  channel.lastWorkbenchRevision = snapshot.revision;
301
- client.send(buildWorkbenchPayload(snapshot, knownRevision));
352
+ channel.lastWorkbenchSnapshot = snapshot;
353
+ const sendMetric = sendSerializedPayload(client, clientPayload);
354
+ logPerformance("ws.workbench.subscribe", Date.now() - startedAt, {
355
+ userId,
356
+ snapshotMs,
357
+ fullPayloadBuildMs,
358
+ clientPayloadBuildMs,
359
+ payloadBytes: sendMetric.payloadBytes,
360
+ sendMs: sendMetric.sendMs,
361
+ bufferedAmount: sendMetric.bufferedAmount,
362
+ workspaceCount: snapshot.items.length,
363
+ sessionCount: snapshot.items.reduce((total, item) => total + countWorkbenchSessions(item), 0),
364
+ unchanged
365
+ }, {
366
+ thresholdMs: 0,
367
+ force: true
368
+ });
302
369
  }
303
370
  catch (error) {
304
371
  this.reportAsyncError("sendWorkbenchSnapshotToClient", error, { userId });
305
372
  }
306
373
  }
307
- async refreshAndBroadcast(userId, force = false) {
374
+ async refreshAndBroadcast(userId, force = false, options) {
308
375
  const channel = this.getOrCreateChannel(userId);
309
376
  if (channel.refreshTask) {
310
377
  if (!force) {
@@ -313,23 +380,50 @@ export class WorkbenchWsHub {
313
380
  await channel.refreshTask;
314
381
  }
315
382
  channel.refreshTask = (async () => {
383
+ const startedAt = Date.now();
316
384
  const startedAtMs = terminalDebugNowMs();
317
385
  try {
318
- const snapshot = await this.workbenchService.refreshSnapshot(userId);
319
- const payload = buildWorkbenchPayload(snapshot);
320
- if (payload === channel.lastWorkbenchPayload) {
386
+ const snapshotStartedAt = Date.now();
387
+ const snapshot = await this.workbenchService.refreshSnapshot(userId, {
388
+ force,
389
+ awaitDiscovery: options?.awaitDiscovery ?? false
390
+ });
391
+ const snapshotMs = Date.now() - snapshotStartedAt;
392
+ const serializeStartedAt = Date.now();
393
+ const payload = buildWorkbenchBroadcastPayload(channel.lastWorkbenchSnapshot, snapshot);
394
+ const serializeMs = Date.now() - serializeStartedAt;
395
+ if (snapshot.revision === channel.lastWorkbenchRevision) {
321
396
  return;
322
397
  }
323
398
  channel.lastWorkbenchPayload = payload;
324
399
  channel.lastWorkbenchRevision = snapshot.revision;
325
- for (const client of channel.clients) {
326
- client.send(payload);
327
- }
400
+ channel.lastWorkbenchSnapshot = snapshot;
401
+ const sessionCount = snapshot.items.reduce((total, item) => total + countWorkbenchSessions(item), 0);
402
+ const broadcastMetric = broadcastSerializedPayload(channel.clients, payload);
403
+ logPerformance("ws.workbench.refresh", Date.now() - startedAt, {
404
+ userId,
405
+ force,
406
+ awaitDiscovery: options?.awaitDiscovery ?? false,
407
+ clientCount: channel.clients.size,
408
+ snapshotMs,
409
+ serializeMs,
410
+ payloadBytes: broadcastMetric.payloadBytes,
411
+ sendMs: broadcastMetric.sendMs,
412
+ maxBufferedAmount: broadcastMetric.maxBufferedAmount,
413
+ workspaceCount: snapshot.items.length,
414
+ sessionCount
415
+ }, {
416
+ thresholdMs: 0,
417
+ force: true
418
+ });
328
419
  logTerminalDebug("workbench.refresh.completed", {
329
420
  userId,
330
421
  force,
422
+ awaitDiscovery: options?.awaitDiscovery ?? false,
331
423
  clientCount: channel.clients.size,
332
424
  workspaceCount: snapshot.items.length,
425
+ payloadBytes: broadcastMetric.payloadBytes,
426
+ maxBufferedAmount: broadcastMetric.maxBufferedAmount,
333
427
  durationMs: terminalDebugNowMs() - startedAtMs
334
428
  });
335
429
  }
@@ -433,8 +527,10 @@ export class WorkbenchWsHub {
433
527
  if (controller.signal.aborted) {
434
528
  return;
435
529
  }
436
- const payload = buildGitPayload(snapshot, subscription.knownRevision);
437
- if (payload === subscription.lastPayload && !options?.deliverIfUnchanged) {
530
+ const payload = buildGitPayload(snapshot, subscription.knownRevision, {
531
+ includeSnapshotWhenUnchanged: force || options?.deliverIfUnchanged === true
532
+ });
533
+ if (payload === subscription.lastPayload && !options?.deliverIfUnchanged && !force) {
438
534
  return;
439
535
  }
440
536
  subscription.knownRevision = snapshot.revision;
@@ -788,6 +884,28 @@ function areStringArraysEqual(left, right) {
788
884
  }
789
885
  return left.every((value, index) => value === right[index]);
790
886
  }
887
+ function sendSerializedPayload(client, payload) {
888
+ const sendStartedAt = Date.now();
889
+ client.send(payload);
890
+ return {
891
+ payloadBytes: Buffer.byteLength(payload),
892
+ sendMs: Date.now() - sendStartedAt,
893
+ bufferedAmount: client.bufferedAmount
894
+ };
895
+ }
896
+ function broadcastSerializedPayload(clients, payload) {
897
+ const sendStartedAt = Date.now();
898
+ let maxBufferedAmount = 0;
899
+ for (const client of clients) {
900
+ client.send(payload);
901
+ maxBufferedAmount = Math.max(maxBufferedAmount, client.bufferedAmount);
902
+ }
903
+ return {
904
+ payloadBytes: Buffer.byteLength(payload),
905
+ sendMs: Date.now() - sendStartedAt,
906
+ maxBufferedAmount
907
+ };
908
+ }
791
909
  function buildWorkbenchPayload(snapshot, knownRevision) {
792
910
  if (knownRevision && knownRevision === snapshot.revision) {
793
911
  return JSON.stringify({
@@ -804,6 +922,37 @@ function buildWorkbenchPayload(snapshot, knownRevision) {
804
922
  snapshot
805
923
  });
806
924
  }
925
+ function buildWorkbenchBroadcastPayload(previousSnapshot, nextSnapshot) {
926
+ if (!previousSnapshot || previousSnapshot.revision === nextSnapshot.revision) {
927
+ return buildWorkbenchPayload(nextSnapshot);
928
+ }
929
+ const fullPayload = buildWorkbenchPayload(nextSnapshot);
930
+ const deltaPayload = JSON.stringify(buildWorkbenchDeltaPayload(previousSnapshot, nextSnapshot));
931
+ return Buffer.byteLength(deltaPayload, "utf8") < Buffer.byteLength(fullPayload, "utf8")
932
+ ? deltaPayload
933
+ : fullPayload;
934
+ }
935
+ function buildWorkbenchDeltaPayload(previousSnapshot, nextSnapshot) {
936
+ const previousByWorkspaceId = new Map(previousSnapshot.items.map((item) => [item.workspace.id, item]));
937
+ const nextByWorkspaceId = new Map(nextSnapshot.items.map((item) => [item.workspace.id, item]));
938
+ const changedItems = [];
939
+ for (const item of nextSnapshot.items) {
940
+ const previous = previousByWorkspaceId.get(item.workspace.id);
941
+ if (!previous || JSON.stringify(previous) !== JSON.stringify(item)) {
942
+ changedItems.push(item);
943
+ }
944
+ }
945
+ return {
946
+ type: "workbench.delta",
947
+ baseRevision: previousSnapshot.revision,
948
+ revision: nextSnapshot.revision,
949
+ orderedWorkspaceIds: nextSnapshot.items.map((item) => item.workspace.id),
950
+ removedWorkspaceIds: previousSnapshot.items
951
+ .map((item) => item.workspace.id)
952
+ .filter((workspaceId) => !nextByWorkspaceId.has(workspaceId)),
953
+ changedItems
954
+ };
955
+ }
807
956
  function buildFileTreePayload(snapshot, knownRevision) {
808
957
  if (knownRevision && knownRevision === snapshot.revision) {
809
958
  return JSON.stringify({
@@ -820,8 +969,10 @@ function buildFileTreePayload(snapshot, knownRevision) {
820
969
  snapshot
821
970
  });
822
971
  }
823
- function buildGitPayload(snapshot, knownRevision) {
824
- if (knownRevision && knownRevision === snapshot.revision) {
972
+ function buildGitPayload(snapshot, knownRevision, options) {
973
+ if (knownRevision
974
+ && knownRevision === snapshot.revision
975
+ && options?.includeSnapshotWhenUnchanged !== true) {
825
976
  return JSON.stringify({
826
977
  type: "git.snapshot",
827
978
  revision: snapshot.revision,
@@ -896,4 +1047,22 @@ function buildKnownRevisionByPathMap(paths, knownRevisions) {
896
1047
  }
897
1048
  return map;
898
1049
  }
1050
+ function countWorkbenchSessions(item) {
1051
+ const childNodes = Array.isArray(item.childWorktrees)
1052
+ ? item.childWorktrees
1053
+ : Array.isArray(item.children)
1054
+ ? item.children
1055
+ : [];
1056
+ return item.sessions.length + childNodes.reduce((total, child) => {
1057
+ if (typeof child !== "object" || child === null) {
1058
+ return total;
1059
+ }
1060
+ const candidate = child;
1061
+ return total + countWorkbenchSessions({
1062
+ sessions: Array.isArray(candidate.sessions) ? candidate.sessions : [],
1063
+ childWorktrees: candidate.childWorktrees,
1064
+ children: candidate.children
1065
+ });
1066
+ }, 0);
1067
+ }
899
1068
  //# sourceMappingURL=workbench-ws-hub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-ws-hub.js","sourceRoot":"","sources":["../../../src/ws/workbench-ws-hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workbench-ws-hub.js","sourceRoot":"","sources":["../../../src/ws/workbench-ws-hub.ts"],"names":[],"mappings":"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"}