@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
@@ -26,7 +26,8 @@ export class WorktreeCleanupService {
26
26
  const activeChildren = this.workspaceWorktreeRepository
27
27
  .listByParentWorkspaceId(meta.workspaceId)
28
28
  .filter((record) => record.lifecycleStatus !== "removed");
29
- const deleteBranchRequested = options.deleteBranch === true;
29
+ const deleteBranchRequestedByUser = options.deleteBranch === true;
30
+ const shouldAutoDeleteParallelBranch = isParallelTemporaryBranch(meta.branchName) && meta.lifecycleStatus === "merged";
30
31
  if (activeChildren.length > 0) {
31
32
  throw new AppError({
32
33
  statusCode: 409,
@@ -62,10 +63,12 @@ export class WorktreeCleanupService {
62
63
  detail: "当前工作树还有活跃终端,先关闭再清理"
63
64
  });
64
65
  }
65
- const branchMergedIntoParent = deleteBranchRequested
66
+ const branchMergedIntoParent = (deleteBranchRequestedByUser || shouldAutoDeleteParallelBranch)
66
67
  ? await this.isBranchMergedIntoParent(workspace, targetWorkspace, signal)
67
68
  : false;
68
- if (deleteBranchRequested && !branchMergedIntoParent) {
69
+ const deleteBranchRequested = deleteBranchRequestedByUser
70
+ || (shouldAutoDeleteParallelBranch && branchMergedIntoParent);
71
+ if (deleteBranchRequestedByUser && !branchMergedIntoParent) {
69
72
  throw new AppError({
70
73
  statusCode: 409,
71
74
  errorCode: "WORKTREE_CLEANUP_BRANCH_NOT_MERGED",
@@ -212,4 +215,7 @@ export class WorktreeCleanupService {
212
215
  return nextMeta;
213
216
  }
214
217
  }
218
+ function isParallelTemporaryBranch(branchName) {
219
+ return branchName.trim().startsWith("parallel/");
220
+ }
215
221
  //# sourceMappingURL=worktree-cleanup-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-cleanup-service.js","sourceRoot":"","sources":["../../../../src/modules/worktree/worktree-cleanup-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-cleanup-service.js","sourceRoot":"","sources":["../../../../src/modules/worktree/worktree-cleanup-service.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,6 @@ export declare class WorktreeManager {
36
36
  getTree(rootWorkspaceId: string): WorktreeNodeView[];
37
37
  private ensureBranchNameValid;
38
38
  private ensureBranchDoesNotExist;
39
- private resolveBaseCommit;
40
39
  private resolveHeadCommit;
41
40
  private rollbackCreate;
42
41
  }
@@ -2,6 +2,7 @@ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { AppError } from "../../shared/errors/app-error.js";
4
4
  import { nowIso } from "../../shared/utils/time.js";
5
+ import { resolveWorktreeBaseRef } from "./worktree-base-ref-resolver.js";
5
6
  const WORKTREE_CREATE_TIMEOUT_MS = 30_000;
6
7
  export class WorktreeManager {
7
8
  workspaceService;
@@ -40,8 +41,19 @@ export class WorktreeManager {
40
41
  }
41
42
  await this.ensureBranchNameValid(sourceStatus.snapshot.repoRoot, sourceWorkspaceId, branchName, signal);
42
43
  await this.ensureBranchDoesNotExist(sourceStatus.snapshot.repoRoot, sourceWorkspaceId, branchName, signal);
43
- const baseRef = (input.baseRef?.trim() || sourceStatus.snapshot.branch || "HEAD").trim();
44
- const baseCommit = await this.resolveBaseCommit(sourceStatus.snapshot.repoRoot, sourceWorkspaceId, baseRef, signal);
44
+ const baseResolution = await resolveWorktreeBaseRef({
45
+ gitCommandRunner: this.gitCommandRunner,
46
+ repoRoot: sourceStatus.snapshot.repoRoot,
47
+ workspaceId: sourceWorkspaceId,
48
+ currentBranch: sourceStatus.snapshot.branch,
49
+ preferredBaseRef: input.baseRef,
50
+ resolveBaseRefOperation: "worktree.create.resolveBaseRef",
51
+ inspectCommitCountOperation: "worktree.create.inspectCommitCount",
52
+ bootstrapInitialCommitOperation: "worktree.create.bootstrapInitialCommit",
53
+ notFoundDetail: "指定的 baseRef 不存在,不能创建工作树",
54
+ signal
55
+ });
56
+ const { baseRef, baseCommit } = baseResolution;
45
57
  const targetPath = buildTargetPath(rootWorkspace.path, branchName);
46
58
  ensureTargetPathSafe(rootWorkspace.path, targetPath);
47
59
  if (fs.existsSync(targetPath)) {
@@ -176,24 +188,6 @@ export class WorktreeManager {
176
188
  detail: "目标分支已经存在,不能重复创建工作树"
177
189
  });
178
190
  }
179
- async resolveBaseCommit(repoRoot, workspaceId, baseRef, signal) {
180
- const result = await this.gitCommandRunner.run(repoRoot, ["rev-parse", "--verify", baseRef], {
181
- allowNonZeroExit: true,
182
- workspaceId,
183
- operation: "worktree.create.resolveBaseRef",
184
- signal
185
- });
186
- const baseCommit = result.stdout.trim();
187
- if (result.exitCode === 0 && baseCommit) {
188
- return baseCommit;
189
- }
190
- throw new AppError({
191
- statusCode: 404,
192
- errorCode: "WORKTREE_BASE_REF_NOT_FOUND",
193
- detail: "指定的 baseRef 不存在,不能创建工作树",
194
- field: "baseRef"
195
- });
196
- }
197
191
  async resolveHeadCommit(targetPath, workspaceId, signal) {
198
192
  const result = await this.gitCommandRunner.run(targetPath, ["rev-parse", "HEAD"], {
199
193
  workspaceId,
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-manager.js","sourceRoot":"","sources":["../../../../src/modules/worktree/worktree-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-manager.js","sourceRoot":"","sources":["../../../../src/modules/worktree/worktree-manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export async function registerGitRoutes(app, gitController) {
2
2
  app.get("/api/git/status", gitController.getStatus);
3
+ app.post("/api/git/init", gitController.initializeRepository);
3
4
  app.get("/api/git/diff", gitController.getDiff);
4
5
  app.get("/api/git/commit-detail", gitController.getCommitDetail);
5
6
  app.post("/api/git/stage", gitController.stage);
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/routes/git.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAoB,EACpB,aAA4B;IAE5B,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACjE,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACnE,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACnE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACxD,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACjE,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/routes/git.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAoB,EACpB,aAA4B;IAE5B,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACjE,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACnE,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACnE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/D,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACxD,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACjE,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FastifyInstance } from "fastify";
2
+ import type { ParallelSessionController } from "../modules/parallel-sessions/parallel-session-controller.js";
3
+ export declare function registerParallelGroupRoutes(app: FastifyInstance, parallelSessionController: ParallelSessionController): Promise<void>;
@@ -0,0 +1,9 @@
1
+ export async function registerParallelGroupRoutes(app, parallelSessionController) {
2
+ app.post("/api/sessions/:sessionId/parallel-groups", parallelSessionController.createFromSession);
3
+ app.post("/api/workspaces/:workspaceId/parallel-groups", parallelSessionController.createFromWorkspace);
4
+ app.post("/api/parallel-groups/:groupId/members", parallelSessionController.appendMembers);
5
+ app.get("/api/parallel-groups/:groupId", parallelSessionController.getDetail);
6
+ app.delete("/api/parallel-groups/:groupId", parallelSessionController.deleteGroup);
7
+ app.post("/api/session-isolated-workspaces/:id/promote", parallelSessionController.promoteIsolatedWorkspace);
8
+ }
9
+ //# sourceMappingURL=parallel-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-groups.js","sourceRoot":"","sources":["../../../src/routes/parallel-groups.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,GAAoB,EACpB,yBAAoD;IAEpD,GAAG,CAAC,IAAI,CACN,0CAA0C,EAC1C,yBAAyB,CAAC,iBAAiB,CAC5C,CAAC;IACF,GAAG,CAAC,IAAI,CACN,8CAA8C,EAC9C,yBAAyB,CAAC,mBAAmB,CAC9C,CAAC;IACF,GAAG,CAAC,IAAI,CACN,uCAAuC,EACvC,yBAAyB,CAAC,aAAa,CACxC,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,+BAA+B,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC9E,GAAG,CAAC,MAAM,CAAC,+BAA+B,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACnF,GAAG,CAAC,IAAI,CACN,8CAA8C,EAC9C,yBAAyB,CAAC,wBAAwB,CACnD,CAAC;AACJ,CAAC"}
@@ -33,6 +33,7 @@ import { GitWriteService } from "../modules/git/git-write-service.js";
33
33
  import { PreferenceProfileService } from "../modules/preferences/profile-service.js";
34
34
  import { QuickPhraseService } from "../modules/preferences/quick-phrase-service.js";
35
35
  import { ModelSwitchService } from "../modules/model-switch/model-switch-service.js";
36
+ import { ParallelSessionGroupService } from "../modules/parallel-sessions/parallel-session-group-service.js";
36
37
  import { SkillManagerService } from "../modules/skills/skill-manager-service.js";
37
38
  import { TailscaleManager } from "../modules/tailscale/tailscale-manager.js";
38
39
  import { TailscaleService } from "../modules/tailscale/tailscale-service.js";
@@ -84,6 +85,8 @@ import { FrameworkAnalysisResultRepository } from "../storage/repositories/frame
84
85
  import { GitRemoteCredentialRepository } from "../storage/repositories/git-remote-credential-repository.js";
85
86
  import { ManagedSkillRepository } from "../storage/repositories/managed-skill-repository.js";
86
87
  import { PortLeaseRepository } from "../storage/repositories/port-lease-repository.js";
88
+ import { ParallelSessionGroupRepository } from "../storage/repositories/parallel-session-group-repository.js";
89
+ import { ParallelSessionMemberRepository } from "../storage/repositories/parallel-session-member-repository.js";
87
90
  import { RecentFileRepository } from "../storage/repositories/recent-file-repository.js";
88
91
  import { RuntimeBindingRepository } from "../storage/repositories/runtime-binding-repository.js";
89
92
  import { SessionBindingRepository } from "../storage/repositories/session-binding-repository.js";
@@ -96,6 +99,7 @@ import { SessionMessageOriginRepository } from "../storage/repositories/session-
96
99
  import { SessionSendQueueRepository } from "../storage/repositories/session-send-queue-repository.js";
97
100
  import { SessionStateRepository } from "../storage/repositories/session-state-repository.js";
98
101
  import { SessionStatusSnapshotRepository } from "../storage/repositories/session-status-snapshot-repository.js";
102
+ import { SessionIsolatedWorkspaceRepository } from "../storage/repositories/session-isolated-workspace-repository.js";
99
103
  import { InstanceTailscaleRepository } from "../storage/repositories/instance-tailscale-repository.js";
100
104
  import { InstanceRelayTunnelIdentityRepository } from "../storage/repositories/instance-relay-tunnel-identity-repository.js";
101
105
  import { InstanceRelayTunnelRepository } from "../storage/repositories/instance-relay-tunnel-repository.js";
@@ -131,6 +135,9 @@ export declare function createServer(config: HostConfig): {
131
135
  workspaceRepository: WorkspaceRepository;
132
136
  workspaceWorktreeRepository: WorkspaceWorktreeRepository;
133
137
  workspaceNavigationStateRepository: WorkspaceNavigationStateRepository;
138
+ parallelSessionGroupRepository: ParallelSessionGroupRepository;
139
+ parallelSessionMemberRepository: ParallelSessionMemberRepository;
140
+ sessionIsolatedWorkspaceRepository: SessionIsolatedWorkspaceRepository;
134
141
  debugTargetRepository: DebugTargetRepository;
135
142
  debugServiceRepository: DebugServiceRepository;
136
143
  frameworkAnalysisResultRepository: FrameworkAnalysisResultRepository;
@@ -229,6 +236,7 @@ export declare function createServer(config: HostConfig): {
229
236
  sessionChangedFileService: SessionChangedFileService;
230
237
  sessionMessageAttachmentService: SessionMessageAttachmentService;
231
238
  sessionLiveRuntimeService: SessionLiveRuntimeService;
239
+ parallelSessionGroupService: ParallelSessionGroupService;
232
240
  terminalService: TerminalService;
233
241
  commandTemplateService: CommandTemplateService;
234
242
  };
@@ -77,6 +77,9 @@ import { RelayTunnelService } from "../modules/relay-tunnel/relay-tunnel-service
77
77
  import { CcSwitchAdapter } from "../modules/model-switch/cc-switch-adapter.js";
78
78
  import { ModelSwitchController } from "../modules/model-switch/model-switch-controller.js";
79
79
  import { ModelSwitchService } from "../modules/model-switch/model-switch-service.js";
80
+ import { ParallelSessionController } from "../modules/parallel-sessions/parallel-session-controller.js";
81
+ import { ParallelSessionGroupService } from "../modules/parallel-sessions/parallel-session-group-service.js";
82
+ import { SessionIsolatedWorkspaceService } from "../modules/parallel-sessions/session-isolated-workspace-service.js";
80
83
  import { ProviderController } from "../modules/provider/provider-controller.js";
81
84
  import { disposeSharedProviderDiscoveryHelperClient } from "../modules/provider/provider-discovery-helper-client.js";
82
85
  import { SkillController } from "../modules/skills/skill-controller.js";
@@ -108,6 +111,7 @@ import { CommandTemplateService } from "../modules/terminal/command-template-ser
108
111
  import { TerminalController } from "../modules/terminal/terminal-controller.js";
109
112
  import { TemplateReverseProxyService } from "../modules/terminal/template-reverse-proxy-service.js";
110
113
  import { TerminalService } from "../modules/terminal/terminal-service.js";
114
+ import { CodexArchiveWatcher } from "../modules/workbench/codex-archive-watcher.js";
111
115
  import { WorkbenchController } from "../modules/workbench/workbench-controller.js";
112
116
  import { WorkbenchService } from "../modules/workbench/workbench-service.js";
113
117
  import { WorkspacePanelSnapshotService } from "../modules/workbench/workspace-panel-snapshot-service.js";
@@ -127,6 +131,7 @@ import { registerDebugTargetRoutes } from "../routes/debug-targets.js";
127
131
  import { registerFileRoutes } from "../routes/files.js";
128
132
  import { registerGitRoutes } from "../routes/git.js";
129
133
  import { registerObservabilityRoutes } from "../routes/observability.js";
134
+ import { registerParallelGroupRoutes } from "../routes/parallel-groups.js";
130
135
  import { registerPreferenceRoutes } from "../routes/preferences.js";
131
136
  import { registerProviderRoutes } from "../routes/providers.js";
132
137
  import { registerPublicRoutes } from "../routes/public.js";
@@ -176,6 +181,8 @@ import { FrameworkAnalysisResultRepository } from "../storage/repositories/frame
176
181
  import { GitRemoteCredentialRepository } from "../storage/repositories/git-remote-credential-repository.js";
177
182
  import { ManagedSkillRepository } from "../storage/repositories/managed-skill-repository.js";
178
183
  import { PortLeaseRepository } from "../storage/repositories/port-lease-repository.js";
184
+ import { ParallelSessionGroupRepository } from "../storage/repositories/parallel-session-group-repository.js";
185
+ import { ParallelSessionMemberRepository } from "../storage/repositories/parallel-session-member-repository.js";
179
186
  import { RecentFileRepository } from "../storage/repositories/recent-file-repository.js";
180
187
  import { RuntimeBindingRepository } from "../storage/repositories/runtime-binding-repository.js";
181
188
  import { SessionBindingRepository } from "../storage/repositories/session-binding-repository.js";
@@ -188,6 +195,7 @@ import { SessionMessageOriginRepository } from "../storage/repositories/session-
188
195
  import { SessionSendQueueRepository } from "../storage/repositories/session-send-queue-repository.js";
189
196
  import { SessionStateRepository } from "../storage/repositories/session-state-repository.js";
190
197
  import { SessionStatusSnapshotRepository } from "../storage/repositories/session-status-snapshot-repository.js";
198
+ import { SessionIsolatedWorkspaceRepository } from "../storage/repositories/session-isolated-workspace-repository.js";
191
199
  import { InstanceTailscaleRepository } from "../storage/repositories/instance-tailscale-repository.js";
192
200
  import { InstanceRelayTunnelIdentityRepository } from "../storage/repositories/instance-relay-tunnel-identity-repository.js";
193
201
  import { InstanceRelayTunnelRepository } from "../storage/repositories/instance-relay-tunnel-repository.js";
@@ -208,6 +216,7 @@ import { WorkbenchWsHub } from "../ws/workbench-ws-hub.js";
208
216
  import { createWsServer } from "../ws/ws-server.js";
209
217
  import { WsAuthGuard } from "../ws/ws-auth-guard.js";
210
218
  import { registerStaticWebRoutes } from "./static-web.js";
219
+ import { registerWorkbenchRuntimeTerminalSync } from "./workbench-runtime-terminal-sync.js";
211
220
  export function createServer(config) {
212
221
  // Demo 模式下覆盖 token TTL 为 15 分钟
213
222
  const effectiveConfig = config.demoMode
@@ -233,6 +242,9 @@ export function createServer(config) {
233
242
  workspaceRepository: new WorkspaceRepository(database.db),
234
243
  workspaceWorktreeRepository: new WorkspaceWorktreeRepository(database.db),
235
244
  workspaceNavigationStateRepository: new WorkspaceNavigationStateRepository(database.db),
245
+ parallelSessionGroupRepository: new ParallelSessionGroupRepository(database.db),
246
+ parallelSessionMemberRepository: new ParallelSessionMemberRepository(database.db),
247
+ sessionIsolatedWorkspaceRepository: new SessionIsolatedWorkspaceRepository(database.db),
236
248
  debugTargetRepository: new DebugTargetRepository(database.db),
237
249
  debugServiceRepository: new DebugServiceRepository(database.db),
238
250
  frameworkAnalysisResultRepository: new FrameworkAnalysisResultRepository(database.db),
@@ -304,7 +316,7 @@ export function createServer(config) {
304
316
  const taskManager = createTaskManager(taskActivityLog, createHostTaskLaneExecutors());
305
317
  const npmGlobalPackageService = new NpmGlobalPackageService(config);
306
318
  const serviceUpdateTaskService = new ServiceUpdateTaskService(taskManager, npmGlobalPackageService);
307
- const workspaceService = new WorkspaceService(repositories.workspaceRepository, gitCommandRunner, repositories.workspaceNavigationStateRepository, butlerProfileService, repositories.workspaceWorktreeRepository, taskManager);
319
+ const workspaceService = new WorkspaceService(repositories.workspaceRepository, gitCommandRunner, repositories.workspaceNavigationStateRepository, butlerProfileService, repositories.workspaceWorktreeRepository, taskManager, repositories.sessionIsolatedWorkspaceRepository);
308
320
  const fileAccessGuard = new FileAccessGuard(workspaceService, app.log);
309
321
  const recentFileService = new RecentFileService(repositories.recentFileRepository);
310
322
  const fileVersionChecker = new FileVersionChecker();
@@ -329,6 +341,8 @@ export function createServer(config) {
329
341
  databasePath: config.databasePath
330
342
  });
331
343
  const relayTunnelService = new RelayTunnelService(database.db, repositories.bootstrapStateRepository, repositories.instanceRelayTunnelIdentityRepository, repositories.instanceRelayTunnelRepository, {
344
+ // 开发态默认回源到 user-app Vite 入口,由它继续代理 /api 和 /ws 到 Host。
345
+ // 正式 npm 包由 Host 自己托管前端,此时 webUiPort 会和 --port 一致。
332
346
  defaultLocalTargetBaseUrl: `http://127.0.0.1:${config.webUiPort}`,
333
347
  legacyLocalTargetBaseUrl: config.webUiPort !== config.port
334
348
  ? `http://127.0.0.1:${config.port}`
@@ -368,7 +382,7 @@ export function createServer(config) {
368
382
  const sessionMessageAttachmentService = new SessionMessageAttachmentService(repositories.sessionMessageAttachmentRepository, config);
369
383
  const sessionChangedFileService = new SessionChangedFileService(repositories.sessionChangedFileRepository);
370
384
  const sessionActivityAuthorityService = new SessionActivityAuthorityService();
371
- const sessionHistoryService = new SessionHistoryService(database.db, repositories.workspaceRepository, repositories.sessionBindingRepository, sessionChangedFileService, repositories.sessionIndexRepository, sessionMessageAttachmentService, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, config, sessionActivityAuthorityService, repositories.sessionMessageOriginRepository, repositories.sessionForkRepository, {}, taskManager);
385
+ const sessionHistoryService = new SessionHistoryService(database.db, repositories.workspaceRepository, repositories.sessionBindingRepository, sessionChangedFileService, repositories.sessionIndexRepository, sessionMessageAttachmentService, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, config, sessionActivityAuthorityService, repositories.sessionMessageOriginRepository, repositories.sessionForkRepository, {}, taskManager, repositories.parallelSessionGroupRepository, repositories.parallelSessionMemberRepository, repositories.sessionIsolatedWorkspaceRepository);
372
386
  runtimeObservabilityService = new RuntimeObservabilityService(() => sessionHistoryService.observeBackgroundTaskMetrics(), () => schedulerMetrics.observe(), eventLoopMonitor, taskActivityLog);
373
387
  const sessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, config, sessionActivityAuthorityService);
374
388
  sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => sessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
@@ -400,7 +414,8 @@ export function createServer(config) {
400
414
  butlerFollowUpSessionLiveRuntimeService
401
415
  ]);
402
416
  const sessionProviderUsageLimitGuardService = new SessionProviderUsageLimitGuardService(sessionHistoryService);
403
- const workbenchService = new WorkbenchService(repositories.workspaceRepository, repositories.workspaceNavigationStateRepository, sessionHistoryService, butlerProfileService, repositories.butlerControlSessionRepository, repositories.workspaceWorktreeRepository, taskManager);
417
+ let parallelSessionGroupService;
418
+ const workbenchService = new WorkbenchService(repositories.workspaceRepository, repositories.workspaceNavigationStateRepository, sessionHistoryService, butlerProfileService, repositories.butlerControlSessionRepository, repositories.workspaceWorktreeRepository, taskManager, repositories.sessionIsolatedWorkspaceRepository);
404
419
  const butlerProjectService = new ButlerProjectService(repositories.butlerProjectRepository, repositories.butlerSessionRepository, repositories.workspaceRepository, butlerProfileService, repositories.assistantSandboxWorkspaceRepository);
405
420
  const assistantSandboxService = new AssistantSandboxService(repositories.assistantSandboxWorkspaceRepository, butlerProfileService, workspaceService, butlerProjectService, taskManager);
406
421
  sessionHistoryService.registerSessionDeletedObserver(async ({ workspaceId, userId, remainingWorkspaceSessionCount }) => {
@@ -492,9 +507,12 @@ export function createServer(config) {
492
507
  const worktreeSyncService = new WorktreeSyncService(workspaceService, repositories.workspaceWorktreeRepository, gitCommandRunner);
493
508
  const worktreeMergeService = new WorktreeMergeService(workspaceService, repositories.workspaceWorktreeRepository, gitReadService, gitCommandRunner, worktreeSyncService);
494
509
  const worktreeCleanupService = new WorktreeCleanupService(workspaceService, repositories.workspaceWorktreeRepository, repositories.sessionIndexRepository, repositories.terminalInstanceRepository, gitReadService, gitCommandRunner, worktreeSyncService);
510
+ const sessionIsolatedWorkspaceService = new SessionIsolatedWorkspaceService(repositories.sessionIsolatedWorkspaceRepository, repositories.workspaceWorktreeRepository, workspaceService, gitReadService, gitCommandRunner, commandTemplateService);
511
+ parallelSessionGroupService = new ParallelSessionGroupService(repositories.parallelSessionGroupRepository, repositories.parallelSessionMemberRepository, repositories.sessionIsolatedWorkspaceRepository, sessionHistoryService, sessionLiveRuntimeService, sessionIsolatedWorkspaceService);
495
512
  const templateReverseProxyService = new TemplateReverseProxyService(commandTemplateService);
496
513
  const workspacePanelSnapshotService = new WorkspacePanelSnapshotService(fileTreeService, gitReadService, terminalService, commandTemplateService, workspaceService, taskManager);
497
514
  const fileWatcher = new WorkspaceFileWatcher(workspaceService);
515
+ const codexArchiveWatcher = new CodexArchiveWatcher(config.codexHomeDir);
498
516
  const bootstrapController = new BootstrapController(bootstrapService);
499
517
  const clientController = new ClientController(clientService);
500
518
  const debugTargetController = new DebugTargetController(debugTargetService);
@@ -508,6 +526,7 @@ export function createServer(config) {
508
526
  const workbenchController = new WorkbenchController(workbenchService);
509
527
  const butlerController = new ButlerController(butlerProfileService, butlerControlSessionService, butlerControlActionService, butlerContextAggregator, butlerFollowUpService, butlerInboxService, butlerNotificationService, butlerProjectService, butlerSessionService, projectMemoryService, patrolPlanService, patrolRunService, patrolExecutionService, verificationRunService, butlerActionContextService, butlerControlTimerService);
510
528
  const sessionController = new SessionController(sessionHistoryService, routedSessionLiveRuntimeService, repositories.butlerControlSessionRepository);
529
+ const parallelSessionController = new ParallelSessionController(parallelSessionGroupService, sessionIsolatedWorkspaceService);
511
530
  const assistantCapabilityController = new AssistantCapabilityController(new AssistantCapabilityService(butlerProjectService, butlerSessionService, butlerControlSessionService, assistantAutomationService, assistantSandboxService, butlerControlTimerService, sessionHistoryService, sessionLiveRuntimeService, terminalService, debugTargetService, workspaceService, worktreeManager, worktreeSyncService, worktreeMergeService, worktreeCleanupService, repositories.sessionMessageOriginRepository, butlerFollowUpService));
512
531
  const providerController = new ProviderController(sessionHistoryService, routedSessionLiveRuntimeService, config);
513
532
  const skillController = new SkillController(skillManagerService);
@@ -521,12 +540,24 @@ export function createServer(config) {
521
540
  const gitController = new GitController(gitReadService, gitWriteService, commitOrchestrator);
522
541
  const terminalController = new TerminalController(terminalService, commandTemplateService);
523
542
  const observabilityController = new ObservabilityController(runtimeObservabilityService);
524
- const wsHandle = createWsServer(app.server, new WsAuthGuard(authService), sessionHistoryService, routedSessionLiveRuntimeService, new TerminalWsHub(terminalService), new WorkbenchWsHub(workbenchService, workspacePanelSnapshotService, fileWatcher, terminalService), butlerActionContextService);
543
+ const workbenchWsHub = new WorkbenchWsHub(workbenchService, workspacePanelSnapshotService, fileWatcher, terminalService, codexArchiveWatcher);
544
+ const wsHandle = createWsServer(app.server, new WsAuthGuard(authService), sessionHistoryService, routedSessionLiveRuntimeService, new TerminalWsHub(terminalService), workbenchWsHub, butlerActionContextService);
545
+ const workbenchRuntimeTerminalSync = registerWorkbenchRuntimeTerminalSync({
546
+ authUserRepository: repositories.authUserRepository,
547
+ sessionHistoryService,
548
+ workbenchWsHub,
549
+ runtimeServices: [
550
+ sessionLiveRuntimeService,
551
+ butlerSessionLiveRuntimeService,
552
+ butlerSummarySessionLiveRuntimeService,
553
+ butlerFollowUpSessionLiveRuntimeService
554
+ ]
555
+ });
525
556
  app.server.on("upgrade", (request, socket, head) => {
526
557
  templateReverseProxyService.handleWebSocketUpgrade(request, socket, head);
527
558
  });
528
559
  app.addHook("onRequest", async (request, reply) => {
529
- applyCorsHeaders(request.headers.origin, reply, config.demoMode);
560
+ applyCorsHeaders(request.headers.origin, reply, config.demoMode, config.allowedCorsOrigins);
530
561
  if (request.method === "OPTIONS") {
531
562
  reply.code(204).send();
532
563
  return reply;
@@ -556,7 +587,7 @@ export function createServer(config) {
556
587
  if (shuttingDown) {
557
588
  return;
558
589
  }
559
- console.error("[startup-recovery] 公共隧道启动恢复失败", {
590
+ console.error("[startup-recovery] CodingNS Connect 启动恢复失败", {
560
591
  error: error instanceof Error ? error.message : String(error)
561
592
  });
562
593
  });
@@ -580,6 +611,7 @@ export function createServer(config) {
580
611
  void registerWorkbenchRoutes(app, workbenchController);
581
612
  void registerButlerRoutes(app, butlerController);
582
613
  void registerSessionRoutes(app, sessionController);
614
+ void registerParallelGroupRoutes(app, parallelSessionController);
583
615
  void registerPreferenceRoutes(app, quickPhraseController, profileController);
584
616
  void registerSkillRoutes(app, skillController);
585
617
  void registerSystemRoutes(app, tailscaleController, relayTunnelController, modelSwitchController);
@@ -614,7 +646,10 @@ export function createServer(config) {
614
646
  await butlerSummarySessionLiveRuntimeService.dispose();
615
647
  await butlerSessionLiveRuntimeService.dispose();
616
648
  await sessionLiveRuntimeService.dispose();
649
+ workbenchRuntimeTerminalSync.close();
617
650
  await wsHandle.close();
651
+ codexArchiveWatcher.dispose();
652
+ fileWatcher.dispose();
618
653
  config.opencodeBaseUrlResolver?.dispose?.();
619
654
  gitCommandRunner.dispose();
620
655
  tailscaleHelperClient.dispose();
@@ -679,6 +714,7 @@ export function createServer(config) {
679
714
  sessionChangedFileService,
680
715
  sessionMessageAttachmentService,
681
716
  sessionLiveRuntimeService,
717
+ parallelSessionGroupService,
682
718
  terminalService,
683
719
  commandTemplateService
684
720
  }
@@ -686,8 +722,8 @@ export function createServer(config) {
686
722
  startWs: () => wsHandle
687
723
  };
688
724
  }
689
- function applyCorsHeaders(origin, reply, demoMode) {
690
- const allowedOrigin = resolveAllowedCorsOrigin(origin, demoMode);
725
+ function applyCorsHeaders(origin, reply, demoMode, extraAllowedOrigins) {
726
+ const allowedOrigin = resolveAllowedCorsOrigin(origin, demoMode, extraAllowedOrigins);
691
727
  if (!allowedOrigin) {
692
728
  return;
693
729
  }
@@ -705,7 +741,7 @@ const CORS_ALLOWED_HEADERS = [
705
741
  "x-codingns-assistant-source",
706
742
  "x-codingns-hook-token"
707
743
  ].join(", ");
708
- function resolveAllowedCorsOrigin(origin, demoMode) {
744
+ function resolveAllowedCorsOrigin(origin, demoMode, extraAllowedOrigins) {
709
745
  if (!origin) {
710
746
  return null;
711
747
  }
@@ -730,6 +766,9 @@ function resolveAllowedCorsOrigin(origin, demoMode) {
730
766
  hostname === "tauri.localhost")) {
731
767
  return origin;
732
768
  }
769
+ if (extraAllowedOrigins.includes(parsed.origin)) {
770
+ return parsed.origin;
771
+ }
733
772
  return null;
734
773
  }
735
774
  catch {