@jingyi0605/codingns 0.1.1 → 0.1.3

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 (251) hide show
  1. package/README.md +14 -0
  2. package/dist/public/assets/{TerminalPage-CVG1cGAJ.js → TerminalPage-Nq5sPc5c.js} +19 -19
  3. package/dist/public/assets/index-9hnprhO7.css +1 -0
  4. package/dist/public/assets/index-BTpmuKhG.js +108 -0
  5. package/dist/public/index.html +2 -2
  6. package/dist/server/config/env.js +24 -3
  7. package/dist/server/config/env.js.map +1 -1
  8. package/dist/server/config/opencode-base-url-resolver.d.ts +13 -8
  9. package/dist/server/config/opencode-base-url-resolver.js +117 -147
  10. package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
  11. package/dist/server/config/opencode-system-probe-helper-client.d.ts +18 -0
  12. package/dist/server/config/opencode-system-probe-helper-client.js +127 -0
  13. package/dist/server/config/opencode-system-probe-helper-client.js.map +1 -0
  14. package/dist/server/config/opencode-system-probe-helper-process.d.ts +1 -0
  15. package/dist/server/config/opencode-system-probe-helper-process.js +208 -0
  16. package/dist/server/config/opencode-system-probe-helper-process.js.map +1 -0
  17. package/dist/server/modules/git/git-command-helper-client.d.ts +25 -0
  18. package/dist/server/modules/git/git-command-helper-client.js +143 -0
  19. package/dist/server/modules/git/git-command-helper-client.js.map +1 -0
  20. package/dist/server/modules/git/git-command-helper-process.d.ts +1 -0
  21. package/dist/server/modules/git/git-command-helper-process.js +237 -0
  22. package/dist/server/modules/git/git-command-helper-process.js.map +1 -0
  23. package/dist/server/modules/git/git-command-runner.d.ts +8 -0
  24. package/dist/server/modules/git/git-command-runner.js +77 -6
  25. package/dist/server/modules/git/git-command-runner.js.map +1 -1
  26. package/dist/server/modules/git/git-controller.d.ts +4 -0
  27. package/dist/server/modules/git/git-controller.js +4 -1
  28. package/dist/server/modules/git/git-controller.js.map +1 -1
  29. package/dist/server/modules/git/git-read-service.d.ts +2 -1
  30. package/dist/server/modules/git/git-read-service.js +30 -0
  31. package/dist/server/modules/git/git-read-service.js.map +1 -1
  32. package/dist/server/modules/git/git-write-service.d.ts +1 -1
  33. package/dist/server/modules/git/git-write-service.js +8 -7
  34. package/dist/server/modules/git/git-write-service.js.map +1 -1
  35. package/dist/server/modules/git/types.d.ts +5 -0
  36. package/dist/server/modules/preferences/common.d.ts +2 -0
  37. package/dist/server/modules/preferences/common.js +13 -0
  38. package/dist/server/modules/preferences/common.js.map +1 -0
  39. package/dist/server/modules/preferences/profile-controller.d.ts +11 -0
  40. package/dist/server/modules/preferences/profile-controller.js +14 -0
  41. package/dist/server/modules/preferences/profile-controller.js.map +1 -0
  42. package/dist/server/modules/preferences/profile-service.d.ts +17 -0
  43. package/dist/server/modules/preferences/profile-service.js +213 -0
  44. package/dist/server/modules/preferences/profile-service.js.map +1 -0
  45. package/dist/server/modules/preferences/quick-phrase-controller.js +2 -12
  46. package/dist/server/modules/preferences/quick-phrase-controller.js.map +1 -1
  47. package/dist/server/modules/provider/codex-model-options.js +26 -165
  48. package/dist/server/modules/provider/codex-model-options.js.map +1 -1
  49. package/dist/server/modules/provider/opencode-model-options.js +6 -71
  50. package/dist/server/modules/provider/opencode-model-options.js.map +1 -1
  51. package/dist/server/modules/provider/provider-controller.d.ts +2 -0
  52. package/dist/server/modules/provider/provider-controller.js +21 -1
  53. package/dist/server/modules/provider/provider-controller.js.map +1 -1
  54. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +25 -0
  55. package/dist/server/modules/provider/provider-discovery-helper-client.js +114 -0
  56. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -0
  57. package/dist/server/modules/provider/provider-discovery-helper-process.d.ts +1 -0
  58. package/dist/server/modules/provider/provider-discovery-helper-process.js +296 -0
  59. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -0
  60. package/dist/server/modules/sessions/claude-runtime-helper-client.d.ts +28 -0
  61. package/dist/server/modules/sessions/claude-runtime-helper-client.js +221 -0
  62. package/dist/server/modules/sessions/claude-runtime-helper-client.js.map +1 -0
  63. package/dist/server/modules/sessions/claude-runtime-helper-process.d.ts +1 -0
  64. package/dist/server/modules/sessions/claude-runtime-helper-process.js +146 -0
  65. package/dist/server/modules/sessions/claude-runtime-helper-process.js.map +1 -0
  66. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +17 -0
  67. package/dist/server/modules/sessions/codex-app-server-helper-client.js +260 -0
  68. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -0
  69. package/dist/server/modules/sessions/codex-app-server-helper-process.d.ts +1 -0
  70. package/dist/server/modules/sessions/codex-app-server-helper-process.js +484 -0
  71. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -0
  72. package/dist/server/modules/sessions/session-activity-authority-service.d.ts +52 -0
  73. package/dist/server/modules/sessions/session-activity-authority-service.js +377 -0
  74. package/dist/server/modules/sessions/session-activity-authority-service.js.map +1 -0
  75. package/dist/server/modules/sessions/session-activity-inspector.js +80 -40
  76. package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
  77. package/dist/server/modules/sessions/session-controller.d.ts +15 -1
  78. package/dist/server/modules/sessions/session-controller.js +14 -1
  79. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  80. package/dist/server/modules/sessions/session-history-service.d.ts +4 -2
  81. package/dist/server/modules/sessions/session-history-service.js +167 -44
  82. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  83. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +42 -4
  84. package/dist/server/modules/sessions/session-live-runtime-service.js +343 -51
  85. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  86. package/dist/server/modules/sessions/session-permission-request-service.d.ts +175 -0
  87. package/dist/server/modules/sessions/session-permission-request-service.js +1615 -0
  88. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -0
  89. package/dist/server/modules/sessions/session-provider-error-mapper.js +14 -0
  90. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  91. package/dist/server/modules/terminal/command-template-service.d.ts +6 -2
  92. package/dist/server/modules/terminal/command-template-service.js +91 -5
  93. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  94. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-client.d.ts +24 -0
  95. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-client.js +104 -0
  96. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-client.js.map +1 -0
  97. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-process.d.ts +1 -0
  98. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-process.js +96 -0
  99. package/dist/server/modules/terminal/runtime/adapters/conpty-control-helper-process.js.map +1 -0
  100. package/dist/server/modules/terminal/runtime/adapters/conpty-runtime-adapter.d.ts +37 -0
  101. package/dist/server/modules/terminal/runtime/adapters/conpty-runtime-adapter.js +123 -0
  102. package/dist/server/modules/terminal/runtime/adapters/conpty-runtime-adapter.js.map +1 -0
  103. package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.d.ts +12 -5
  104. package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.js +44 -4
  105. package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.js.map +1 -1
  106. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-client.d.ts +14 -0
  107. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-client.js +105 -0
  108. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-client.js.map +1 -0
  109. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-process.d.ts +1 -0
  110. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-process.js +67 -0
  111. package/dist/server/modules/terminal/runtime/adapters/tmux-helper-process.js.map +1 -0
  112. package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.d.ts +8 -12
  113. package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.js +112 -21
  114. package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.js.map +1 -1
  115. package/dist/server/modules/terminal/runtime/conpty-runtime-shared.d.ts +25 -0
  116. package/dist/server/modules/terminal/runtime/conpty-runtime-shared.js +124 -0
  117. package/dist/server/modules/terminal/runtime/conpty-runtime-shared.js.map +1 -0
  118. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.d.ts +1 -0
  119. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js +205 -0
  120. package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js.map +1 -0
  121. package/dist/server/modules/terminal/runtime/conpty-session-attach-client.d.ts +1 -0
  122. package/dist/server/modules/terminal/runtime/conpty-session-attach-client.js +108 -0
  123. package/dist/server/modules/terminal/runtime/conpty-session-attach-client.js.map +1 -0
  124. package/dist/server/modules/terminal/runtime/conpty-session-control-client.d.ts +1 -0
  125. package/dist/server/modules/terminal/runtime/conpty-session-control-client.js +90 -0
  126. package/dist/server/modules/terminal/runtime/conpty-session-control-client.js.map +1 -0
  127. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.d.ts +1 -0
  128. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js +179 -0
  129. package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js.map +1 -0
  130. package/dist/server/modules/terminal/runtime/pty-broker-client.d.ts +29 -0
  131. package/dist/server/modules/terminal/runtime/pty-broker-client.js +169 -0
  132. package/dist/server/modules/terminal/runtime/pty-broker-client.js.map +1 -0
  133. package/dist/server/modules/terminal/runtime/pty-broker-shared.d.ts +22 -0
  134. package/dist/server/modules/terminal/runtime/pty-broker-shared.js +123 -0
  135. package/dist/server/modules/terminal/runtime/pty-broker-shared.js.map +1 -0
  136. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.d.ts +1 -0
  137. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js +11 -1
  138. package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js.map +1 -1
  139. package/dist/server/modules/terminal/runtime/terminal-log-file-store.d.ts +1 -0
  140. package/dist/server/modules/terminal/runtime/terminal-log-file-store.js +7 -1
  141. package/dist/server/modules/terminal/runtime/terminal-log-file-store.js.map +1 -1
  142. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +3 -2
  143. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
  144. package/dist/server/modules/terminal/runtime/terminal-runtime-adapter.d.ts +5 -3
  145. package/dist/server/modules/terminal/runtime/terminal-runtime-manager.d.ts +11 -5
  146. package/dist/server/modules/terminal/runtime/terminal-runtime-manager.js +110 -13
  147. package/dist/server/modules/terminal/runtime/terminal-runtime-manager.js.map +1 -1
  148. package/dist/server/modules/terminal/template-reverse-proxy-service.d.ts +10 -0
  149. package/dist/server/modules/terminal/template-reverse-proxy-service.js +320 -0
  150. package/dist/server/modules/terminal/template-reverse-proxy-service.js.map +1 -0
  151. package/dist/server/modules/terminal/terminal-controller.d.ts +1 -0
  152. package/dist/server/modules/terminal/terminal-controller.js +23 -7
  153. package/dist/server/modules/terminal/terminal-controller.js.map +1 -1
  154. package/dist/server/modules/terminal/terminal-service.d.ts +30 -14
  155. package/dist/server/modules/terminal/terminal-service.js +260 -51
  156. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  157. package/dist/server/modules/terminal/terminal-shell.d.ts +4 -0
  158. package/dist/server/modules/terminal/terminal-shell.js +165 -18
  159. package/dist/server/modules/terminal/terminal-shell.js.map +1 -1
  160. package/dist/server/modules/workbench/workspace-file-watcher.d.ts +30 -0
  161. package/dist/server/modules/workbench/workspace-file-watcher.js +137 -0
  162. package/dist/server/modules/workbench/workspace-file-watcher.js.map +1 -0
  163. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +48 -7
  164. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  165. package/dist/server/routes/git.js +1 -0
  166. package/dist/server/routes/git.js.map +1 -1
  167. package/dist/server/routes/preferences.d.ts +2 -1
  168. package/dist/server/routes/preferences.js +3 -1
  169. package/dist/server/routes/preferences.js.map +1 -1
  170. package/dist/server/routes/proxy.d.ts +3 -0
  171. package/dist/server/routes/proxy.js +24 -0
  172. package/dist/server/routes/proxy.js.map +1 -0
  173. package/dist/server/routes/sessions.js +2 -0
  174. package/dist/server/routes/sessions.js.map +1 -1
  175. package/dist/server/server/create-server.d.ts +4 -0
  176. package/dist/server/server/create-server.js +29 -5
  177. package/dist/server/server/create-server.js.map +1 -1
  178. package/dist/server/shared/utils/command-launch.d.ts +6 -0
  179. package/dist/server/shared/utils/command-launch.js +39 -0
  180. package/dist/server/shared/utils/command-launch.js.map +1 -0
  181. package/dist/server/shared/utils/perf-log.d.ts +1 -0
  182. package/dist/server/shared/utils/perf-log.js +8 -2
  183. package/dist/server/shared/utils/perf-log.js.map +1 -1
  184. package/dist/server/shared/utils/permission-debug-log.d.ts +2 -0
  185. package/dist/server/shared/utils/permission-debug-log.js +40 -0
  186. package/dist/server/shared/utils/permission-debug-log.js.map +1 -0
  187. package/dist/server/shared/utils/terminal-debug-log.d.ts +4 -0
  188. package/dist/server/shared/utils/terminal-debug-log.js +71 -0
  189. package/dist/server/shared/utils/terminal-debug-log.js.map +1 -0
  190. package/dist/server/storage/repositories/terminal-command-template-repository.d.ts +1 -0
  191. package/dist/server/storage/repositories/terminal-command-template-repository.js +34 -3
  192. package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
  193. package/dist/server/storage/repositories/user-preference-profile-repository.d.ts +8 -0
  194. package/dist/server/storage/repositories/user-preference-profile-repository.js +46 -0
  195. package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -0
  196. package/dist/server/storage/sqlite/client.js +27 -0
  197. package/dist/server/storage/sqlite/client.js.map +1 -1
  198. package/dist/server/storage/sqlite/schema.sql +15 -0
  199. package/dist/server/types/domain.d.ts +30 -1
  200. package/dist/server/ws/terminal-ws-hub.d.ts +2 -0
  201. package/dist/server/ws/terminal-ws-hub.js +42 -5
  202. package/dist/server/ws/terminal-ws-hub.js.map +1 -1
  203. package/dist/server/ws/workbench-ws-hub.d.ts +9 -1
  204. package/dist/server/ws/workbench-ws-hub.js +132 -21
  205. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  206. package/dist/server/ws/ws-server.d.ts +22 -1
  207. package/dist/server/ws/ws-server.js +82 -44
  208. package/dist/server/ws/ws-server.js.map +1 -1
  209. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +42 -0
  210. package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +1 -1
  211. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +30 -0
  212. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +103 -0
  213. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +1 -0
  214. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +1 -1
  215. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +167 -7
  216. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  217. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -1
  218. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +1 -1
  219. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  220. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.d.ts +1 -0
  221. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js +8 -0
  222. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-permissions.js.map +1 -0
  223. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +31 -0
  224. package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +1 -1
  225. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +1 -1
  226. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +8 -4
  227. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  228. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +1 -0
  229. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +15 -0
  230. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  231. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +5 -0
  232. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +85 -1
  233. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  234. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +25 -0
  235. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +718 -17
  236. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  237. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -0
  238. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +106 -23
  239. package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
  240. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +3 -0
  241. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +19 -0
  242. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  243. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +3 -0
  244. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +1 -1
  245. package/node_modules/@codingns/session-sync-core/dist/services.js +2 -2
  246. package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
  247. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +1 -1
  248. package/package.json +3 -2
  249. package/scripts/postinstall.mjs +15 -8
  250. package/dist/public/assets/index-BUPByQPG.css +0 -1
  251. package/dist/public/assets/index-D1CwTkI2.js +0 -106
@@ -1,19 +1,26 @@
1
1
  import { AppError } from "../shared/errors/app-error.js";
2
+ import { logTerminalDebug, terminalDebugNowMs } from "../shared/utils/terminal-debug-log.js";
2
3
  const WORKBENCH_REFRESH_INTERVAL_MS = 60_000;
3
4
  const SIDEBAR_REFRESH_INTERVAL_MS = 5_000;
4
5
  const GIT_SUBSCRIPTION_MIN_REFRESH_INTERVAL_MS = 15_000;
6
+ const WORKBENCH_REALTIME_BROADCAST_DEBOUNCE_MS = 120;
5
7
  export class WorkbenchWsHub {
6
8
  workbenchService;
7
9
  workspacePanelSnapshotService;
10
+ fileWatcher;
8
11
  clientUsers = new WeakMap();
9
12
  userChannels = new Map();
10
13
  clientFileTreeSubscriptions = new WeakMap();
11
14
  clientGitSubscriptions = new WeakMap();
12
15
  clientTerminalManagerSubscriptions = new WeakMap();
13
16
  clientWorkspaceManagementSubscriptions = new WeakMap();
14
- constructor(workbenchService, workspacePanelSnapshotService) {
17
+ constructor(workbenchService, workspacePanelSnapshotService, fileWatcher) {
15
18
  this.workbenchService = workbenchService;
16
19
  this.workspacePanelSnapshotService = workspacePanelSnapshotService;
20
+ this.fileWatcher = fileWatcher;
21
+ this.fileWatcher.setOnChange((workspaceId) => {
22
+ this.handleWorkspaceFileChange(workspaceId);
23
+ });
17
24
  }
18
25
  handleMessage(client, payload, authContext) {
19
26
  const message = parseWorkbenchMessage(payload);
@@ -28,7 +35,10 @@ export class WorkbenchWsHub {
28
35
  void this.sendWorkbenchSnapshotToClient(client, userId, channel);
29
36
  return true;
30
37
  case "workbench.refresh":
31
- void this.refreshAndBroadcast(userId, true);
38
+ void Promise.all([
39
+ this.syncTitlesAndBroadcast(userId),
40
+ this.refreshAndBroadcast(userId, true)
41
+ ]);
32
42
  return true;
33
43
  case "fileTree.subscribe":
34
44
  this.clientFileTreeSubscriptions.set(client, {
@@ -36,6 +46,7 @@ export class WorkbenchWsHub {
36
46
  paths: normalizePanelPaths(message.paths),
37
47
  lastPayloadByPath: new Map()
38
48
  });
49
+ this.fileWatcher.subscribe(message.workspaceId.trim());
39
50
  void this.refreshFileTreeSubscriptions(client);
40
51
  return true;
41
52
  case "fileTree.refresh":
@@ -52,6 +63,7 @@ export class WorkbenchWsHub {
52
63
  lastRequestedAt: 0,
53
64
  refreshTask: null
54
65
  });
66
+ this.fileWatcher.subscribe(message.workspaceId.trim());
55
67
  void this.refreshGitSubscription(client);
56
68
  return true;
57
69
  case "git.refresh":
@@ -110,6 +122,15 @@ export class WorkbenchWsHub {
110
122
  }
111
123
  channel.clients.delete(client);
112
124
  this.clientUsers.delete(client);
125
+ // 文件监听器引用计数递减
126
+ const fileTreeSub = this.clientFileTreeSubscriptions.get(client);
127
+ if (fileTreeSub) {
128
+ this.fileWatcher.unsubscribe(fileTreeSub.workspaceId);
129
+ }
130
+ const gitSub = this.clientGitSubscriptions.get(client);
131
+ if (gitSub) {
132
+ this.fileWatcher.unsubscribe(gitSub.workspaceId);
133
+ }
113
134
  this.clientFileTreeSubscriptions.delete(client);
114
135
  this.clientGitSubscriptions.delete(client);
115
136
  this.clientTerminalManagerSubscriptions.delete(client);
@@ -123,31 +144,86 @@ export class WorkbenchWsHub {
123
144
  if (channel.sidebarTimer) {
124
145
  clearInterval(channel.sidebarTimer);
125
146
  }
147
+ if (channel.realtimeBroadcastTimer) {
148
+ clearTimeout(channel.realtimeBroadcastTimer);
149
+ }
126
150
  this.userChannels.delete(userId);
127
151
  }
128
152
  async broadcastSnapshot(userId) {
129
- try {
130
- const channel = this.userChannels.get(userId);
131
- if (!channel) {
132
- return;
153
+ const channel = this.userChannels.get(userId);
154
+ if (!channel) {
155
+ return;
156
+ }
157
+ channel.realtimeBroadcastQueued = true;
158
+ this.scheduleRealtimeBroadcast(userId, channel);
159
+ }
160
+ scheduleRealtimeBroadcast(userId, channel) {
161
+ if (channel.realtimeBroadcastTimer ||
162
+ channel.realtimeBroadcastTask ||
163
+ channel.clients.size === 0) {
164
+ return;
165
+ }
166
+ channel.realtimeBroadcastTimer = setTimeout(() => {
167
+ channel.realtimeBroadcastTimer = null;
168
+ void this.flushRealtimeBroadcast(userId, channel);
169
+ }, WORKBENCH_REALTIME_BROADCAST_DEBOUNCE_MS);
170
+ }
171
+ async flushRealtimeBroadcast(userId, channel) {
172
+ if (channel.realtimeBroadcastTask || !channel.realtimeBroadcastQueued || channel.clients.size === 0) {
173
+ return;
174
+ }
175
+ channel.realtimeBroadcastQueued = false;
176
+ channel.realtimeBroadcastTask = (async () => {
177
+ const startedAtMs = terminalDebugNowMs();
178
+ try {
179
+ const payload = buildWorkbenchPayload(this.workbenchService.getSnapshot(userId));
180
+ if (payload === channel.lastWorkbenchPayload) {
181
+ return;
182
+ }
183
+ channel.lastWorkbenchPayload = payload;
184
+ for (const client of channel.clients) {
185
+ client.send(payload);
186
+ }
187
+ logTerminalDebug("workbench.realtime_broadcast.completed", {
188
+ userId,
189
+ clientCount: channel.clients.size,
190
+ durationMs: terminalDebugNowMs() - startedAtMs
191
+ });
133
192
  }
134
- const payload = buildWorkbenchPayload(this.workbenchService.getSnapshot(userId));
135
- if (payload === channel.lastWorkbenchPayload) {
136
- return;
193
+ catch (error) {
194
+ this.reportAsyncError("broadcastSnapshot", error, { userId });
137
195
  }
138
- channel.lastWorkbenchPayload = payload;
139
- for (const client of channel.clients) {
140
- client.send(payload);
196
+ })().finally(() => {
197
+ channel.realtimeBroadcastTask = null;
198
+ if (channel.realtimeBroadcastQueued && channel.clients.size > 0) {
199
+ this.scheduleRealtimeBroadcast(userId, channel);
141
200
  }
142
- }
143
- catch (error) {
144
- this.reportAsyncError("broadcastSnapshot", error, { userId });
145
- }
201
+ });
202
+ return channel.realtimeBroadcastTask;
146
203
  }
147
204
  attachClient(client, userId, channel) {
148
205
  channel.clients.add(client);
149
206
  this.clientUsers.set(client, userId);
150
207
  }
208
+ /**
209
+ * 文件变化回调:chokidar 检测到工作区文件变化后,失效缓存并推送更新给订阅了该工作区的客户端。
210
+ */
211
+ handleWorkspaceFileChange(workspaceId) {
212
+ this.workspacePanelSnapshotService.invalidateFileTree(workspaceId);
213
+ this.workspacePanelSnapshotService.invalidateGit(workspaceId);
214
+ for (const [, channel] of this.userChannels) {
215
+ for (const client of channel.clients) {
216
+ const fileTreeSub = this.clientFileTreeSubscriptions.get(client);
217
+ if (fileTreeSub && fileTreeSub.workspaceId === workspaceId) {
218
+ void this.refreshFileTreeSubscriptions(client, true);
219
+ }
220
+ const gitSub = this.clientGitSubscriptions.get(client);
221
+ if (gitSub && gitSub.workspaceId === workspaceId) {
222
+ void this.refreshGitSubscription(client, true);
223
+ }
224
+ }
225
+ }
226
+ }
151
227
  getOrCreateChannel(userId) {
152
228
  let channel = this.userChannels.get(userId);
153
229
  if (channel) {
@@ -158,6 +234,9 @@ export class WorkbenchWsHub {
158
234
  lastWorkbenchPayload: null,
159
235
  workbenchTimer: null,
160
236
  sidebarTimer: null,
237
+ realtimeBroadcastTimer: null,
238
+ realtimeBroadcastQueued: false,
239
+ realtimeBroadcastTask: null,
161
240
  refreshTask: null,
162
241
  titleSyncTask: null
163
242
  };
@@ -170,10 +249,7 @@ export class WorkbenchWsHub {
170
249
  });
171
250
  }, WORKBENCH_REFRESH_INTERVAL_MS);
172
251
  channel.sidebarTimer = setInterval(() => {
173
- void Promise.all([
174
- this.syncTitlesAndBroadcast(userId),
175
- this.refreshSidebarSubscriptions(userId)
176
- ]).catch((error) => {
252
+ void this.refreshSidebarSubscriptions(userId).catch((error) => {
177
253
  this.reportAsyncError("sidebarTimer", error, { userId });
178
254
  });
179
255
  }, SIDEBAR_REFRESH_INTERVAL_MS);
@@ -186,6 +262,7 @@ export class WorkbenchWsHub {
186
262
  return channel.titleSyncTask;
187
263
  }
188
264
  channel.titleSyncTask = (async () => {
265
+ const startedAtMs = terminalDebugNowMs();
189
266
  try {
190
267
  const payload = buildWorkbenchPayload(await this.workbenchService.syncSessionTitles(userId));
191
268
  if (payload === channel.lastWorkbenchPayload) {
@@ -195,6 +272,11 @@ export class WorkbenchWsHub {
195
272
  for (const client of channel.clients) {
196
273
  client.send(payload);
197
274
  }
275
+ logTerminalDebug("workbench.sync_titles.completed", {
276
+ userId,
277
+ clientCount: channel.clients.size,
278
+ durationMs: terminalDebugNowMs() - startedAtMs
279
+ });
198
280
  }
199
281
  catch (error) {
200
282
  this.reportAsyncError("syncTitlesAndBroadcast", error, { userId });
@@ -223,6 +305,7 @@ export class WorkbenchWsHub {
223
305
  await channel.refreshTask;
224
306
  }
225
307
  channel.refreshTask = (async () => {
308
+ const startedAtMs = terminalDebugNowMs();
226
309
  try {
227
310
  const snapshot = await this.workbenchService.refreshSnapshot(userId);
228
311
  const payload = buildWorkbenchPayload(snapshot);
@@ -233,6 +316,13 @@ export class WorkbenchWsHub {
233
316
  for (const client of channel.clients) {
234
317
  client.send(payload);
235
318
  }
319
+ logTerminalDebug("workbench.refresh.completed", {
320
+ userId,
321
+ force,
322
+ clientCount: channel.clients.size,
323
+ workspaceCount: snapshot.items.length,
324
+ durationMs: terminalDebugNowMs() - startedAtMs
325
+ });
236
326
  }
237
327
  catch (error) {
238
328
  this.reportAsyncError("refreshAndBroadcast", error, { userId });
@@ -247,14 +337,19 @@ export class WorkbenchWsHub {
247
337
  if (!channel) {
248
338
  return;
249
339
  }
340
+ const startedAtMs = terminalDebugNowMs();
250
341
  await Promise.all([...channel.clients].map(async (client) => {
251
342
  await Promise.allSettled([
252
- this.refreshFileTreeSubscriptions(client),
253
343
  this.refreshGitSubscription(client),
254
344
  this.refreshTerminalManagerSubscription(client),
255
345
  this.refreshWorkspaceManagementSubscription(client)
256
346
  ]);
257
347
  }));
348
+ logTerminalDebug("workbench.sidebar_refresh.completed", {
349
+ userId,
350
+ clientCount: channel.clients.size,
351
+ durationMs: terminalDebugNowMs() - startedAtMs
352
+ });
258
353
  }
259
354
  ensureFileTreeSubscription(client, workspaceId, paths) {
260
355
  const current = this.clientFileTreeSubscriptions.get(client);
@@ -319,6 +414,7 @@ export class WorkbenchWsHub {
319
414
  }
320
415
  subscription.lastRequestedAt = now;
321
416
  subscription.refreshTask = (async () => {
417
+ const startedAtMs = terminalDebugNowMs();
322
418
  try {
323
419
  const snapshot = await this.workspacePanelSnapshotService.getGitPanelSnapshot(subscription.workspaceId, { force });
324
420
  const payload = buildGitPayload(snapshot);
@@ -327,6 +423,13 @@ export class WorkbenchWsHub {
327
423
  }
328
424
  subscription.lastPayload = payload;
329
425
  client.send(payload);
426
+ logTerminalDebug("workbench.git_refresh.completed", {
427
+ workspaceId: subscription.workspaceId,
428
+ force,
429
+ changeCount: snapshot.status.changes.length,
430
+ historyCount: snapshot.history.length,
431
+ durationMs: terminalDebugNowMs() - startedAtMs
432
+ });
330
433
  }
331
434
  catch (error) {
332
435
  this.reportAsyncError("refreshGitSubscription", error, {
@@ -344,6 +447,7 @@ export class WorkbenchWsHub {
344
447
  return;
345
448
  }
346
449
  try {
450
+ const startedAtMs = terminalDebugNowMs();
347
451
  const snapshot = await this.workspacePanelSnapshotService.getTerminalManagerSnapshot(subscription.workspaceId, { force });
348
452
  const payload = buildTerminalManagerPayload(snapshot);
349
453
  if (payload === subscription.lastPayload) {
@@ -351,6 +455,13 @@ export class WorkbenchWsHub {
351
455
  }
352
456
  subscription.lastPayload = payload;
353
457
  client.send(payload);
458
+ logTerminalDebug("workbench.terminal_manager_refresh.completed", {
459
+ workspaceId: subscription.workspaceId,
460
+ force,
461
+ terminalCount: snapshot.terminals.length,
462
+ templateCount: snapshot.templates.length,
463
+ durationMs: terminalDebugNowMs() - startedAtMs
464
+ });
354
465
  }
355
466
  catch (error) {
356
467
  this.reportAsyncError("refreshTerminalManagerSubscription", error, {
@@ -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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"}
@@ -1,11 +1,32 @@
1
1
  import type { IncomingMessage, Server } from "node:http";
2
2
  import { type WebSocket } from "ws";
3
- import type { SessionHistoryService } from "../modules/sessions/session-history-service.js";
3
+ import type { SessionHistoryEnvelope, SessionHistoryService } from "../modules/sessions/session-history-service.js";
4
4
  import type { SessionLiveRuntimeService } from "../modules/sessions/session-live-runtime-service.js";
5
5
  import type { TerminalWsHub } from "./terminal-ws-hub.js";
6
6
  import type { WorkbenchWsHub } from "./workbench-ws-hub.js";
7
7
  import type { WsAuthGuard } from "./ws-auth-guard.js";
8
+ interface SeenMessageEntry {
9
+ signature: string;
10
+ source: "history" | "runtime";
11
+ timestamp: string;
12
+ contentLength: number;
13
+ contentPreview: string;
14
+ toolCallStatus: "running" | "completed" | "failed" | null;
15
+ }
8
16
  export declare function createWsServer(server: Server, wsAuthGuard: WsAuthGuard, sessionHistoryService: SessionHistoryService, sessionLiveRuntimeService: SessionLiveRuntimeService, terminalWsHub: TerminalWsHub, workbenchWsHub: WorkbenchWsHub): {
9
17
  wss: import("ws").Server<typeof WebSocket, typeof IncomingMessage>;
10
18
  close: () => Promise<void>;
11
19
  };
20
+ declare function shouldForwardMessage(message: SessionHistoryEnvelope["messages"][number], source: "history" | "runtime", seenMessages: Map<string, SeenMessageEntry>): boolean;
21
+ declare function buildMessageSignature(message: SessionHistoryEnvelope["messages"][number]): string;
22
+ declare function buildSeenMessageEntry(message: SessionHistoryEnvelope["messages"][number], source: "history" | "runtime"): SeenMessageEntry;
23
+ declare function isOlderMessageVersion(message: SessionHistoryEnvelope["messages"][number], previous: SeenMessageEntry): boolean;
24
+ export declare const __internal__: {
25
+ MAX_TRACKED_MESSAGES_PER_SUBSCRIPTION: number;
26
+ MAX_STORED_MESSAGE_PREVIEW_CHARS: number;
27
+ buildMessageSignature: typeof buildMessageSignature;
28
+ buildSeenMessageEntry: typeof buildSeenMessageEntry;
29
+ isOlderMessageVersion: typeof isOlderMessageVersion;
30
+ shouldForwardMessage: typeof shouldForwardMessage;
31
+ };
32
+ export {};
@@ -1,5 +1,8 @@
1
1
  import { WebSocketServer } from "ws";
2
2
  import { AppError } from "../shared/errors/app-error.js";
3
+ import { hashContent } from "../shared/utils/hash.js";
4
+ const MAX_TRACKED_MESSAGES_PER_SUBSCRIPTION = 2_048;
5
+ const MAX_STORED_MESSAGE_PREVIEW_CHARS = 2_048;
3
6
  export function createWsServer(server, wsAuthGuard, sessionHistoryService, sessionLiveRuntimeService, terminalWsHub, workbenchWsHub) {
4
7
  const wss = new WebSocketServer({
5
8
  noServer: true
@@ -7,7 +10,9 @@ export function createWsServer(server, wsAuthGuard, sessionHistoryService, sessi
7
10
  server.on("upgrade", (request, socket, head) => {
8
11
  const pathname = new URL(request.url ?? "/", "http://127.0.0.1").pathname;
9
12
  if (pathname !== "/ws") {
10
- socket.destroy();
13
+ if (!pathname.startsWith("/proxy/")) {
14
+ socket.destroy();
15
+ }
11
16
  return;
12
17
  }
13
18
  try {
@@ -99,6 +104,7 @@ export function createWsServer(server, wsAuthGuard, sessionHistoryService, sessi
99
104
  client.send(JSON.stringify(deduped));
100
105
  if (deduped.type === "session.backfill" ||
101
106
  deduped.type === "session.delta" ||
107
+ deduped.type === "session.activity" ||
102
108
  deduped.type === "session.runtime_message" ||
103
109
  deduped.type === "session.runtime_status" ||
104
110
  deduped.type === "session.runtime_error" ||
@@ -199,63 +205,87 @@ function dedupeEnvelopeMessages(envelope, seenMessages) {
199
205
  };
200
206
  }
201
207
  function shouldForwardMessage(message, source, seenMessages) {
202
- const signature = buildMessageSignature(message);
208
+ const nextEntry = buildSeenMessageEntry(message, source);
203
209
  const previous = seenMessages.get(message.messageId);
204
- if (previous && previous.signature === signature) {
210
+ if (previous && previous.signature === nextEntry.signature) {
205
211
  return false;
206
212
  }
207
213
  if (previous &&
208
214
  previous.source === "runtime" &&
209
215
  source === "history" &&
210
- isOlderMessageVersion(message, previous.signature)) {
216
+ isOlderMessageVersion(message, previous)) {
211
217
  return false;
212
218
  }
213
- seenMessages.set(message.messageId, {
214
- signature,
215
- source
216
- });
219
+ rememberSeenMessage(seenMessages, message.messageId, nextEntry);
217
220
  return true;
218
221
  }
219
222
  function buildMessageSignature(message) {
220
- return JSON.stringify({
221
- provider: message.provider,
222
- providerSessionId: message.providerSessionId,
223
- role: message.role,
224
- kind: message.kind ?? null,
225
- content: message.content,
223
+ const attachments = message.attachments ?? [];
224
+ const toolCall = message.toolCall;
225
+ return hashContent([
226
+ message.provider,
227
+ message.providerSessionId,
228
+ message.role,
229
+ message.kind ?? "",
230
+ message.timestamp,
231
+ message.rawRef,
232
+ hashContent(message.content),
233
+ String(message.content.length),
234
+ hashContent(JSON.stringify(attachments)),
235
+ String(attachments.length),
236
+ toolCall?.callId ?? "",
237
+ toolCall?.name ?? "",
238
+ toolCall?.status ?? "",
239
+ toolCall ? hashContent(toolCall.input) : "",
240
+ toolCall ? String(toolCall.input.length) : "0",
241
+ toolCall?.output === null || toolCall?.output === undefined ? "" : hashContent(toolCall.output),
242
+ toolCall?.output === null || toolCall?.output === undefined ? "0" : String(toolCall.output.length),
243
+ toolCall?.error === null || toolCall?.error === undefined ? "" : hashContent(toolCall.error),
244
+ toolCall?.error === null || toolCall?.error === undefined ? "0" : String(toolCall.error.length)
245
+ ].join("\u001f"));
246
+ }
247
+ function buildSeenMessageEntry(message, source) {
248
+ return {
249
+ signature: buildMessageSignature(message),
250
+ source,
226
251
  timestamp: message.timestamp,
227
- rawRef: message.rawRef,
228
- attachments: message.attachments ?? [],
229
- toolCall: message.toolCall
230
- ? {
231
- callId: message.toolCall.callId,
232
- status: message.toolCall.status,
233
- input: message.toolCall.input,
234
- output: message.toolCall.output,
235
- error: message.toolCall.error
236
- }
237
- : null
238
- });
252
+ contentLength: message.content.length,
253
+ contentPreview: createStoredPreview(message.content),
254
+ toolCallStatus: message.toolCall?.status ?? null
255
+ };
239
256
  }
240
- function isOlderMessageVersion(message, previousSignature) {
241
- try {
242
- const previous = JSON.parse(previousSignature);
243
- const previousContent = typeof previous.content === "string" ? previous.content : "";
244
- const nextContent = typeof message.content === "string" ? message.content : "";
245
- if (previousContent.length > nextContent.length && previousContent.includes(nextContent)) {
246
- return true;
247
- }
248
- const previousTimestamp = typeof previous.timestamp === "string" ? previous.timestamp : "";
249
- if (previousTimestamp && message.timestamp < previousTimestamp) {
250
- return true;
251
- }
252
- const previousStatus = previous.toolCall?.status ?? null;
253
- const nextStatus = message.toolCall?.status ?? null;
254
- return ((previousStatus === "completed" || previousStatus === "failed")
255
- && nextStatus === "running");
257
+ function isOlderMessageVersion(message, previous) {
258
+ const nextContent = message.content;
259
+ if (previous.contentLength > nextContent.length &&
260
+ nextContent.length > 0 &&
261
+ nextContent.length <= MAX_STORED_MESSAGE_PREVIEW_CHARS &&
262
+ previous.contentPreview.includes(nextContent)) {
263
+ return true;
256
264
  }
257
- catch {
258
- return false;
265
+ if (previous.timestamp && message.timestamp < previous.timestamp) {
266
+ return true;
267
+ }
268
+ const nextStatus = message.toolCall?.status ?? null;
269
+ return ((previous.toolCallStatus === "completed" || previous.toolCallStatus === "failed") &&
270
+ nextStatus === "running");
271
+ }
272
+ function createStoredPreview(value) {
273
+ if (value.length <= MAX_STORED_MESSAGE_PREVIEW_CHARS) {
274
+ return value;
275
+ }
276
+ return value.slice(0, MAX_STORED_MESSAGE_PREVIEW_CHARS);
277
+ }
278
+ function rememberSeenMessage(seenMessages, messageId, entry) {
279
+ if (seenMessages.has(messageId)) {
280
+ seenMessages.delete(messageId);
281
+ }
282
+ seenMessages.set(messageId, entry);
283
+ while (seenMessages.size > MAX_TRACKED_MESSAGES_PER_SUBSCRIPTION) {
284
+ const oldestMessageId = seenMessages.keys().next().value;
285
+ if (typeof oldestMessageId !== "string") {
286
+ break;
287
+ }
288
+ seenMessages.delete(oldestMessageId);
259
289
  }
260
290
  }
261
291
  function sendWsError(client, sessionId, errorCode, detail) {
@@ -267,4 +297,12 @@ function sendWsError(client, sessionId, errorCode, detail) {
267
297
  timestamp: new Date().toISOString()
268
298
  }));
269
299
  }
300
+ export const __internal__ = {
301
+ MAX_TRACKED_MESSAGES_PER_SUBSCRIPTION,
302
+ MAX_STORED_MESSAGE_PREVIEW_CHARS,
303
+ buildMessageSignature,
304
+ buildSeenMessageEntry,
305
+ isOlderMessageVersion,
306
+ shouldForwardMessage
307
+ };
270
308
  //# sourceMappingURL=ws-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-server.js","sourceRoot":"","sources":["../../../src/ws/ws-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-server.js","sourceRoot":"","sources":["../../../src/ws/ws-server.ts"],"names":[],"mappings":"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"}