agent-tower 0.5.2-beta.0 → 0.5.2-beta.1

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 (108) hide show
  1. package/dist/mcp/http-client.d.ts +4 -1
  2. package/dist/mcp/http-client.d.ts.map +1 -1
  3. package/dist/mcp/http-client.js +2 -2
  4. package/dist/mcp/http-client.js.map +1 -1
  5. package/dist/mcp/tools/workspaces.d.ts.map +1 -1
  6. package/dist/mcp/tools/workspaces.js +4 -1
  7. package/dist/mcp/tools/workspaces.js.map +1 -1
  8. package/dist/mcp/types.d.ts +3 -0
  9. package/dist/mcp/types.d.ts.map +1 -1
  10. package/dist/mcp/types.js +2 -0
  11. package/dist/mcp/types.js.map +1 -1
  12. package/dist/routes/git.d.ts.map +1 -1
  13. package/dist/routes/git.js +6 -1
  14. package/dist/routes/git.js.map +1 -1
  15. package/dist/routes/system.d.ts.map +1 -1
  16. package/dist/routes/system.js +21 -5
  17. package/dist/routes/system.js.map +1 -1
  18. package/dist/routes/workspaces.d.ts.map +1 -1
  19. package/dist/routes/workspaces.js +11 -4
  20. package/dist/routes/workspaces.js.map +1 -1
  21. package/dist/services/__tests__/task.service.test.js +65 -1
  22. package/dist/services/__tests__/task.service.test.js.map +1 -1
  23. package/dist/services/__tests__/workspace.service.test.js +55 -0
  24. package/dist/services/__tests__/workspace.service.test.js.map +1 -1
  25. package/dist/services/commit-message.service.d.ts.map +1 -1
  26. package/dist/services/commit-message.service.js +3 -0
  27. package/dist/services/commit-message.service.js.map +1 -1
  28. package/dist/services/project.service.d.ts.map +1 -1
  29. package/dist/services/project.service.js +3 -2
  30. package/dist/services/project.service.js.map +1 -1
  31. package/dist/services/session-manager.d.ts +8 -0
  32. package/dist/services/session-manager.d.ts.map +1 -1
  33. package/dist/services/session-manager.js +9 -6
  34. package/dist/services/session-manager.js.map +1 -1
  35. package/dist/services/task-cleanup.service.d.ts +2 -0
  36. package/dist/services/task-cleanup.service.d.ts.map +1 -1
  37. package/dist/services/task-cleanup.service.js +8 -1
  38. package/dist/services/task-cleanup.service.js.map +1 -1
  39. package/dist/services/task.service.d.ts +4 -0
  40. package/dist/services/task.service.d.ts.map +1 -1
  41. package/dist/services/task.service.js +3 -0
  42. package/dist/services/task.service.js.map +1 -1
  43. package/dist/services/workspace-kind.d.ts +13 -0
  44. package/dist/services/workspace-kind.d.ts.map +1 -0
  45. package/dist/services/workspace-kind.js +16 -0
  46. package/dist/services/workspace-kind.js.map +1 -0
  47. package/dist/services/workspace.service.d.ts +18 -0
  48. package/dist/services/workspace.service.d.ts.map +1 -1
  49. package/dist/services/workspace.service.js +104 -12
  50. package/dist/services/workspace.service.js.map +1 -1
  51. package/dist/types/index.d.ts +4 -0
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/dist/types/index.js +6 -0
  54. package/dist/types/index.js.map +1 -1
  55. package/dist/web/assets/{AgentDemoPage-CWcu7-P7.js → AgentDemoPage-CkhVcgZo.js} +1 -1
  56. package/dist/web/assets/{DemoPage-6hMli_sP.js → DemoPage-dkmp8Vvn.js} +1 -1
  57. package/dist/web/assets/{GeneralSettingsPage-DUaFSgCY.js → GeneralSettingsPage-B4DH6g3D.js} +1 -1
  58. package/dist/web/assets/{MemberAvatar-S-eJAdWH.js → MemberAvatar-pwugXGL4.js} +1 -1
  59. package/dist/web/assets/{NotificationSettingsPage-Cl5x8F4G.js → NotificationSettingsPage-C-bPU_ZE.js} +1 -1
  60. package/dist/web/assets/{ProfileSettingsPage-QFN9385l.js → ProfileSettingsPage-Dlr6BmHb.js} +1 -1
  61. package/dist/web/assets/ProjectKanbanPage-7oEfjjWV.js +89 -0
  62. package/dist/web/assets/{ProjectSettingsPage-Do3Q1_r4.js → ProjectSettingsPage-DZZksq5G.js} +1 -1
  63. package/dist/web/assets/{ProviderSettingsPage-DYOb33XQ.js → ProviderSettingsPage-BWN7CEG6.js} +14 -14
  64. package/dist/web/assets/{SettingsSection-D0Zzbbhp.js → SettingsSection-C-sMhXpf.js} +1 -1
  65. package/dist/web/assets/{TeamSettingsPage-Dq_DU1S8.js → TeamSettingsPage-924xpocx.js} +1 -1
  66. package/dist/web/assets/{arrow-left-D0xGRsQG.js → arrow-left-UHjQiY5K.js} +1 -1
  67. package/dist/web/assets/{button-C-IDw2d8.js → button-CUTjpRqw.js} +1 -1
  68. package/dist/web/assets/check-CPkZgPjx.js +1 -0
  69. package/dist/web/assets/{chevron-down-C735lPj9.js → chevron-down-Bby7sJEv.js} +1 -1
  70. package/dist/web/assets/{chevron-right-DfFiWY3R.js → chevron-right-DCC0lyoB.js} +1 -1
  71. package/dist/web/assets/{chevron-up-DqGc0SsZ.js → chevron-up-BnCoaejn.js} +1 -1
  72. package/dist/web/assets/{circle-check-CSlvn06a.js → circle-check-BscClK07.js} +1 -1
  73. package/dist/web/assets/{code-block-OCS4YCEC-BRT1Nrpy.js → code-block-OCS4YCEC-DkMlYSza.js} +1 -1
  74. package/dist/web/assets/{confirm-dialog-BtsxywSG.js → confirm-dialog-wsb35VpE.js} +1 -1
  75. package/dist/web/assets/{folder-picker-BuvfyaHB.js → folder-picker-B-X_nrS1.js} +1 -1
  76. package/dist/web/assets/index-4hNWw0yi.css +1 -0
  77. package/dist/web/assets/{index-BAz6UxmL.js → index-CUJoWIuo.js} +2 -2
  78. package/dist/web/assets/{loader-circle-BLO3w-ze.js → loader-circle-Cul4BuAa.js} +1 -1
  79. package/dist/web/assets/log-adapter-CtvxzS4j.js +1 -0
  80. package/dist/web/assets/{mermaid-NOHMQCX5-BLfGHrOE.js → mermaid-NOHMQCX5-DoPzf-UA.js} +3 -3
  81. package/dist/web/assets/{message-square-CIyucdyo.js → message-square-C7Q71jFj.js} +1 -1
  82. package/dist/web/assets/modal-25-qs8P5.js +1 -0
  83. package/dist/web/assets/{pencil-CdJXJig-.js → pencil-CaJR6Dqm.js} +1 -1
  84. package/dist/web/assets/{rotate-ccw-B42Jf1RW.js → rotate-ccw-Bvz7590n.js} +1 -1
  85. package/dist/web/assets/{select-kVmZCXo9.js → select-CzeTYLO4.js} +1 -1
  86. package/dist/web/assets/upload-_2T21rVP.js +1 -0
  87. package/dist/web/assets/{use-profiles-Bvj_EW-7.js → use-profiles-BaCwGP06.js} +1 -1
  88. package/dist/web/assets/{use-providers-CcFzAUyf.js → use-providers-Bwl7R5Ql.js} +1 -1
  89. package/dist/web/index.html +2 -2
  90. package/node_modules/@agent-tower/shared/dist/types.d.ts +10 -0
  91. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  92. package/node_modules/@agent-tower/shared/dist/types.js +6 -0
  93. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  94. package/node_modules/@prisma/client/.prisma/client/edge.js +7 -5
  95. package/node_modules/@prisma/client/.prisma/client/index-browser.js +2 -0
  96. package/node_modules/@prisma/client/.prisma/client/index.d.ts +118 -0
  97. package/node_modules/@prisma/client/.prisma/client/index.js +7 -5
  98. package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
  99. package/node_modules/@prisma/client/.prisma/client/schema.prisma +6 -1
  100. package/node_modules/@prisma/client/.prisma/client/wasm.js +2 -0
  101. package/package.json +1 -1
  102. package/prisma/migrations/20260609000000_add_workspace_kind_working_dir/migration.sql +7 -0
  103. package/prisma/schema.prisma +6 -1
  104. package/dist/web/assets/ProjectKanbanPage-Dye8K5K1.js +0 -89
  105. package/dist/web/assets/check-KjbNKANU.js +0 -1
  106. package/dist/web/assets/index-r8en4dlI.css +0 -1
  107. package/dist/web/assets/log-adapter-i7kNXXup.js +0 -1
  108. package/dist/web/assets/modal-D_VShm6D.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { prisma } from '../utils/index.js';
2
- import { WorkspaceStatus, TaskStatus, SessionStatus, SessionPurpose } from '../types/index.js';
2
+ import { WorkspaceKind, WorkspaceStatus, TaskStatus, SessionStatus, SessionPurpose } from '../types/index.js';
3
3
  import { WorktreeManager } from '../git/worktree.manager.js';
4
4
  import { execGit, MergeConflictError } from '../git/git-cli.js';
5
5
  import { NotFoundError, ServiceError } from '../errors.js';
@@ -13,6 +13,7 @@ import fs from 'node:fs/promises';
13
13
  import path from 'node:path';
14
14
  import { ensureProjectIsMutable } from './project-guards.js';
15
15
  import { ensureTaskNotDeleted } from './deleted-task-guard.js';
16
+ import { isMainDirectoryWorkspace, isWorktreeWorkspace, } from './workspace-kind.js';
16
17
  const DEFAULT_IDLE_THRESHOLD_HOURS = 24;
17
18
  const WORKSPACE_READY_RETRY_COUNT = 20;
18
19
  const WORKSPACE_READY_RETRY_DELAY_MS = 50;
@@ -30,6 +31,7 @@ function normalizeCreateOptions(input) {
30
31
  parentWorkspaceId: null,
31
32
  ownerMemberId: null,
32
33
  reuseInactive: true,
34
+ workspaceKind: WorkspaceKind.WORKTREE,
33
35
  };
34
36
  }
35
37
  return {
@@ -39,6 +41,7 @@ function normalizeCreateOptions(input) {
39
41
  parentWorkspaceId: input?.parentWorkspaceId ?? null,
40
42
  ownerMemberId: input?.ownerMemberId ?? null,
41
43
  reuseInactive: input?.reuseInactive ?? true,
44
+ workspaceKind: input?.workspaceKind ?? WorkspaceKind.WORKTREE,
42
45
  };
43
46
  }
44
47
  function isUniqueConstraintError(error) {
@@ -62,6 +65,18 @@ function teamRunBranchPrefix(teamRunId) {
62
65
  function sleep(ms) {
63
66
  return new Promise((resolve) => setTimeout(resolve, ms));
64
67
  }
68
+ function mainDirectoryGitStatus() {
69
+ return {
70
+ operation: 'idle',
71
+ conflictedFiles: [],
72
+ conflictOp: null,
73
+ ahead: 0,
74
+ behind: 0,
75
+ hasUncommittedChanges: false,
76
+ uncommittedCount: 0,
77
+ untrackedCount: 0,
78
+ };
79
+ }
65
80
  export class WorkspaceService {
66
81
  lockService;
67
82
  static mainWorkspaceClaims = new Map();
@@ -114,13 +129,16 @@ export class WorkspaceService {
114
129
  const options = normalizeCreateOptions(branchNameOrOptions);
115
130
  const task = await prisma.task.findUnique({
116
131
  where: { id: taskId },
117
- include: { project: true },
132
+ include: { project: true, teamRun: { select: { id: true } } },
118
133
  });
119
134
  if (!task) {
120
135
  throw new NotFoundError('Task', taskId);
121
136
  }
122
137
  ensureTaskNotDeleted(task);
123
138
  ensureProjectIsMutable(task.project, 'create workspaces');
139
+ if (options.workspaceKind === WorkspaceKind.MAIN_DIRECTORY) {
140
+ return this.createMainDirectoryWorkspace(taskId, task, options);
141
+ }
124
142
  const worktreeManager = new WorktreeManager(task.project.repoPath);
125
143
  // 查找可复用的 MERGED 或 HIBERNATED workspace
126
144
  if (!options.branchName && options.reuseInactive) {
@@ -129,6 +147,7 @@ export class WorkspaceService {
129
147
  taskId,
130
148
  parentWorkspaceId: options.parentWorkspaceId,
131
149
  ownerMemberId: options.ownerMemberId,
150
+ workspaceKind: WorkspaceKind.WORKTREE,
132
151
  status: { in: [WorkspaceStatus.MERGED, WorkspaceStatus.HIBERNATED] },
133
152
  },
134
153
  orderBy: { updatedAt: 'desc' },
@@ -148,6 +167,8 @@ export class WorkspaceService {
148
167
  ownerMemberId: options.ownerMemberId,
149
168
  branchName: '', // 占位,稍后更新
150
169
  worktreePath: '', // 占位,稍后更新
170
+ workspaceKind: WorkspaceKind.WORKTREE,
171
+ workingDir: '',
151
172
  status: WorkspaceStatus.ACTIVE,
152
173
  },
153
174
  });
@@ -170,7 +191,13 @@ export class WorkspaceService {
170
191
  const worktreePath = await worktreeManager.create(branch, startPoint ?? undefined);
171
192
  const updateResult = await prisma.workspace.updateMany({
172
193
  where: { id: workspace.id, task: { deletedAt: null } },
173
- data: { branchName: branch, baseBranch, worktreePath },
194
+ data: {
195
+ branchName: branch,
196
+ baseBranch,
197
+ worktreePath,
198
+ workingDir: worktreePath,
199
+ workspaceKind: WorkspaceKind.WORKTREE,
200
+ },
174
201
  });
175
202
  if (updateResult.count === 0) {
176
203
  await this.cleanupCreatedWorktree(worktreeManager, worktreePath, branch, [
@@ -196,6 +223,37 @@ export class WorkspaceService {
196
223
  throw err;
197
224
  }
198
225
  }
226
+ async createMainDirectoryWorkspace(taskId, task, options) {
227
+ if (task.teamRun) {
228
+ throw new ServiceError('Main-directory workspaces are not available for TeamRun tasks', 'MAIN_DIRECTORY_TEAM_RUN_UNSUPPORTED', 400);
229
+ }
230
+ if (options.branchName
231
+ || options.branchNamePrefix
232
+ || options.startPoint
233
+ || options.parentWorkspaceId
234
+ || options.ownerMemberId) {
235
+ throw new ServiceError('Main-directory workspaces cannot use branch, parent, owner, or startPoint options', 'MAIN_DIRECTORY_WORKSPACE_OPTIONS_UNSUPPORTED', 400);
236
+ }
237
+ const currentBranch = await execGit(task.project.repoPath, ['rev-parse', '--abbrev-ref', 'HEAD'])
238
+ .then((value) => {
239
+ const branch = value.trim();
240
+ return branch && branch !== 'HEAD' ? branch : null;
241
+ })
242
+ .catch(() => null);
243
+ const workspace = await prisma.workspace.create({
244
+ data: {
245
+ taskId,
246
+ branchName: '',
247
+ baseBranch: currentBranch ?? task.project.mainBranch,
248
+ worktreePath: '',
249
+ workspaceKind: WorkspaceKind.MAIN_DIRECTORY,
250
+ workingDir: task.project.repoPath,
251
+ status: WorkspaceStatus.ACTIVE,
252
+ },
253
+ include: { sessions: visibleSessionsFilter, task: { include: { project: true } } },
254
+ });
255
+ return workspace;
256
+ }
199
257
  async getOrCreateMainWorkspace(teamRunId) {
200
258
  const existingClaim = WorkspaceService.mainWorkspaceClaims.get(teamRunId);
201
259
  if (existingClaim) {
@@ -247,6 +305,7 @@ export class WorkspaceService {
247
305
  && teamRun.mainWorkspace.taskId === teamRun.taskId
248
306
  && teamRun.mainWorkspace.parentWorkspaceId == null
249
307
  && teamRun.mainWorkspace.ownerMemberId == null
308
+ && isWorktreeWorkspace(teamRun.mainWorkspace)
250
309
  && teamRun.mainWorkspace.status === WorkspaceStatus.ACTIVE) {
251
310
  return this.ensureActiveWorkspaceWorktree(teamRun.mainWorkspace);
252
311
  }
@@ -255,6 +314,7 @@ export class WorkspaceService {
255
314
  taskId: teamRun.taskId,
256
315
  parentWorkspaceId: null,
257
316
  ownerMemberId: null,
317
+ workspaceKind: WorkspaceKind.WORKTREE,
258
318
  status: WorkspaceStatus.ACTIVE,
259
319
  },
260
320
  orderBy: [{ createdAt: 'asc' }, { id: 'asc' }],
@@ -325,11 +385,13 @@ export class WorkspaceService {
325
385
  where: {
326
386
  parentWorkspaceId: mainWorkspaceId,
327
387
  ownerMemberId: memberId,
388
+ workspaceKind: WorkspaceKind.WORKTREE,
328
389
  },
329
390
  include: { task: { include: { project: true } } },
330
391
  });
331
392
  }
332
393
  async activateDedicatedWorkspace(workspace) {
394
+ this.assertWorktreeWorkspace(workspace);
333
395
  if (!workspace.branchName) {
334
396
  workspace = await this.waitForWorkspaceReady(workspace);
335
397
  }
@@ -362,6 +424,7 @@ export class WorkspaceService {
362
424
  }
363
425
  async ensureActiveWorkspaceWorktree(workspace) {
364
426
  ensureTaskNotDeleted(workspace.task);
427
+ this.assertWorktreeWorkspace(workspace);
365
428
  if (!workspace.branchName) {
366
429
  workspace = await this.waitForWorkspaceReady(workspace);
367
430
  }
@@ -381,6 +444,7 @@ export class WorkspaceService {
381
444
  }
382
445
  async restoreInactiveWorkspace(workspace) {
383
446
  ensureTaskNotDeleted(workspace.task);
447
+ this.assertWorktreeWorkspace(workspace);
384
448
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
385
449
  const worktreePath = await worktreeManager.ensureWorktreeExists(workspace.branchName);
386
450
  const updateResult = await prisma.workspace.updateMany({
@@ -388,6 +452,7 @@ export class WorkspaceService {
388
452
  data: {
389
453
  status: WorkspaceStatus.ACTIVE,
390
454
  worktreePath,
455
+ workingDir: worktreePath,
391
456
  hibernatedAt: null,
392
457
  },
393
458
  });
@@ -433,14 +498,16 @@ export class WorkspaceService {
433
498
  // 忽略停止失败
434
499
  }
435
500
  }
436
- // 清理 worktree
437
- try {
438
- const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
439
- await worktreeManager.remove(workspace.worktreePath);
440
- }
441
- catch (err) {
442
- // worktree 清理失败时记录警告但不阻断删除
443
- console.warn(`[WorkspaceService] Failed to remove worktree for workspace ${id}: ${err instanceof Error ? err.message : err}`);
501
+ if (isWorktreeWorkspace(workspace) && workspace.worktreePath) {
502
+ // 清理 worktree
503
+ try {
504
+ const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
505
+ await worktreeManager.remove(workspace.worktreePath);
506
+ }
507
+ catch (err) {
508
+ // worktree 清理失败时记录警告但不阻断删除
509
+ console.warn(`[WorkspaceService] Failed to remove worktree for workspace ${id}: ${err instanceof Error ? err.message : err}`);
510
+ }
444
511
  }
445
512
  // 删除数据库记录(级联删除 sessions)
446
513
  await prisma.workspace.delete({ where: { id } });
@@ -455,7 +522,8 @@ export class WorkspaceService {
455
522
  if (!workspace) {
456
523
  throw new NotFoundError('Workspace', id);
457
524
  }
458
- ensureProjectIsMutable(workspace.task.project, 'rebase workspaces');
525
+ ensureProjectIsMutable(workspace.task.project, 'read workspace diff');
526
+ this.assertWorktreeWorkspace(workspace);
459
527
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
460
528
  return worktreeManager.getDiff(workspace.worktreePath, this.getBaseBranch(workspace));
461
529
  }
@@ -473,6 +541,7 @@ export class WorkspaceService {
473
541
  throw new NotFoundError('Workspace', id);
474
542
  }
475
543
  ensureProjectIsMutable(workspace.task.project, 'abort workspace git operations');
544
+ this.assertWorktreeWorkspace(workspace);
476
545
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
477
546
  await worktreeManager.rebase(workspace.worktreePath, this.getBaseBranch(workspace));
478
547
  }
@@ -487,6 +556,9 @@ export class WorkspaceService {
487
556
  if (!workspace) {
488
557
  throw new NotFoundError('Workspace', id);
489
558
  }
559
+ if (isMainDirectoryWorkspace(workspace)) {
560
+ return mainDirectoryGitStatus();
561
+ }
490
562
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
491
563
  return worktreeManager.getGitOperationStatus(workspace.worktreePath, this.getBaseBranch(workspace));
492
564
  }
@@ -501,6 +573,7 @@ export class WorkspaceService {
501
573
  if (!workspace) {
502
574
  throw new NotFoundError('Workspace', id);
503
575
  }
576
+ this.assertWorktreeWorkspace(workspace);
504
577
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
505
578
  await worktreeManager.abortOperation(workspace.worktreePath);
506
579
  }
@@ -516,6 +589,7 @@ export class WorkspaceService {
516
589
  throw new NotFoundError('Workspace', id);
517
590
  }
518
591
  ensureProjectIsMutable(workspace.task.project, 'merge workspaces');
592
+ this.assertWorktreeWorkspace(workspace);
519
593
  return this.withProjectMergeLock(workspace.task.projectId, options.lockOwnerId, () => this.mergeWithLock(workspace, options.commitMessage));
520
594
  }
521
595
  async mergeWithLock(workspace, commitMessage) {
@@ -528,6 +602,7 @@ export class WorkspaceService {
528
602
  return this.mergeRootWorkspaceToMain(workspace, commitMessage);
529
603
  }
530
604
  async mergeChildIntoParent(workspace, commitMessage) {
605
+ this.assertWorktreeWorkspace(workspace);
531
606
  const parentWorkspace = await prisma.workspace.findUnique({
532
607
  where: { id: workspace.parentWorkspaceId ?? '' },
533
608
  include: { task: { include: { project: true } } },
@@ -541,6 +616,7 @@ export class WorkspaceService {
541
616
  if (parentWorkspace.status !== WorkspaceStatus.ACTIVE) {
542
617
  throw new ServiceError(`Cannot merge into parent workspace in ${parentWorkspace.status} status`, 'INVALID_PARENT_WORKSPACE_STATE', 409);
543
618
  }
619
+ this.assertWorktreeWorkspace(parentWorkspace);
544
620
  await this.assertNoActiveWriteSessions(parentWorkspace.id);
545
621
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
546
622
  let sha;
@@ -565,6 +641,7 @@ export class WorkspaceService {
565
641
  return sha;
566
642
  }
567
643
  async mergeRootWorkspaceToMain(workspace, commitMessage) {
644
+ this.assertWorktreeWorkspace(workspace);
568
645
  await this.assertTeamRunFinalMergeAllowed(workspace);
569
646
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
570
647
  let sha;
@@ -696,6 +773,7 @@ export class WorkspaceService {
696
773
  if (!workspace) {
697
774
  throw new NotFoundError('Workspace', id);
698
775
  }
776
+ this.assertWorktreeWorkspace(workspace);
699
777
  if (workspace.status !== WorkspaceStatus.ACTIVE) {
700
778
  throw new ServiceError(`Cannot hibernate workspace in ${workspace.status} status`, 'INVALID_WORKSPACE_STATE', 400);
701
779
  }
@@ -722,6 +800,7 @@ export class WorkspaceService {
722
800
  data: {
723
801
  status: WorkspaceStatus.HIBERNATED,
724
802
  worktreePath: '',
803
+ workingDir: '',
725
804
  hibernatedAt: new Date(),
726
805
  },
727
806
  });
@@ -744,6 +823,7 @@ export class WorkspaceService {
744
823
  throw new NotFoundError('Workspace', id);
745
824
  }
746
825
  ensureTaskNotDeleted(workspace.task);
826
+ this.assertWorktreeWorkspace(workspace);
747
827
  if (workspace.status !== WorkspaceStatus.HIBERNATED) {
748
828
  throw new ServiceError(`Cannot reactivate workspace in ${workspace.status} status`, 'INVALID_WORKSPACE_STATE', 400);
749
829
  }
@@ -754,6 +834,7 @@ export class WorkspaceService {
754
834
  data: {
755
835
  status: WorkspaceStatus.ACTIVE,
756
836
  worktreePath,
837
+ workingDir: worktreePath,
757
838
  hibernatedAt: null,
758
839
  },
759
840
  });
@@ -807,6 +888,7 @@ export class WorkspaceService {
807
888
  const candidates = await prisma.workspace.findMany({
808
889
  where: {
809
890
  status: WorkspaceStatus.ACTIVE,
891
+ workspaceKind: WorkspaceKind.WORKTREE,
810
892
  worktreePath: { not: '' },
811
893
  task: {
812
894
  status: { notIn: [TaskStatus.IN_PROGRESS, TaskStatus.IN_REVIEW] },
@@ -871,6 +953,11 @@ export class WorkspaceService {
871
953
  let cleaned = 0;
872
954
  for (const workspace of workspaces) {
873
955
  try {
956
+ if (isMainDirectoryWorkspace(workspace)) {
957
+ await prisma.workspace.delete({ where: { id: workspace.id } });
958
+ cleaned++;
959
+ continue;
960
+ }
874
961
  const worktreeManager = new WorktreeManager(workspace.task.project.repoPath);
875
962
  // 清理残留 worktree(如果还存在)
876
963
  if (workspace.worktreePath) {
@@ -901,6 +988,11 @@ export class WorkspaceService {
901
988
  return cleaned;
902
989
  }
903
990
  // ── Startup Prune ────────────────────────────────────────────────────────────
991
+ assertWorktreeWorkspace(workspace) {
992
+ if (isWorktreeWorkspace(workspace))
993
+ return;
994
+ throw new ServiceError('Workspace git lifecycle operations are unavailable for main-directory workspaces', 'WORKSPACE_GIT_UNAVAILABLE', 400);
995
+ }
904
996
  /**
905
997
  * 复制项目配置的文件到 worktree
906
998
  */
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../src/services/workspace.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../src/services/workspace.service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ export declare enum WorkspaceStatus {
11
11
  ABANDONED = "ABANDONED",
12
12
  HIBERNATED = "HIBERNATED"
13
13
  }
14
+ export declare enum WorkspaceKind {
15
+ WORKTREE = "WORKTREE",
16
+ MAIN_DIRECTORY = "MAIN_DIRECTORY"
17
+ }
14
18
  export declare enum AgentType {
15
19
  CLAUDE_CODE = "CLAUDE_CODE",
16
20
  GEMINI_CLI = "GEMINI_CLI",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAGD,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAGD,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;CAChB;AAGD,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAGD,oBAAY,cAAc;IACxB,eAAe;IACf,IAAI,SAAS;IACb,2BAA2B;IAC3B,UAAU,eAAe;CAC1B;AAGD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAGD,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAGD,oBAAY,aAAa;IACvB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;CAClC;AAGD,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;CAChB;AAGD,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAGD,oBAAY,cAAc;IACxB,eAAe;IACf,IAAI,SAAS;IACb,2BAA2B;IAC3B,UAAU,eAAe;CAC1B;AAGD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B"}
@@ -15,6 +15,12 @@ export var WorkspaceStatus;
15
15
  WorkspaceStatus["ABANDONED"] = "ABANDONED";
16
16
  WorkspaceStatus["HIBERNATED"] = "HIBERNATED";
17
17
  })(WorkspaceStatus || (WorkspaceStatus = {}));
18
+ // 工作空间存储模式
19
+ export var WorkspaceKind;
20
+ (function (WorkspaceKind) {
21
+ WorkspaceKind["WORKTREE"] = "WORKTREE";
22
+ WorkspaceKind["MAIN_DIRECTORY"] = "MAIN_DIRECTORY";
23
+ })(WorkspaceKind || (WorkspaceKind = {}));
18
24
  // AI 代理类型
19
25
  export var AgentType;
20
26
  (function (AgentType) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IACvB,2BAAa,CAAA;IACb,qCAAuB,CAAA;AACzB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,SAAS;AACT,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,UAAU;AACV,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,sCAAyB,CAAA;IACzB,0CAA6B,CAAA;IAC7B,4BAAe,CAAA;AACjB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,OAAO;AACP,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;AACzB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,OAAO;AACP,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,eAAe;IACf,+BAAa,CAAA;IACb,2BAA2B;IAC3B,2CAAyB,CAAA;AAC3B,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IACvB,2BAAa,CAAA;IACb,qCAAuB,CAAA;AACzB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,SAAS;AACT,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,WAAW;AACX,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,kDAAiC,CAAA;AACnC,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,UAAU;AACV,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,sCAAyB,CAAA;IACzB,0CAA6B,CAAA;IAC7B,4BAAe,CAAA;AACjB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,OAAO;AACP,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;AACzB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,OAAO;AACP,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,eAAe;IACf,+BAAa,CAAA;IACb,2BAA2B;IAC3B,2CAAyB,CAAA;AAC3B,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB"}
@@ -1 +1 @@
1
- import{e as H,u as Q,r as n,i as b,j as e,L as X,x as Y}from"./index-BAz6UxmL.js";import{u as Z,a as ee,b as L,c as te,d as se,e as ne,T as re,P as ae,A as le,G as ie,S as oe}from"./mermaid-NOHMQCX5-BLfGHrOE.js";import{B as y}from"./button-C-IDw2d8.js";import{d as ce}from"./use-profiles-Bvj_EW-7.js";import{C as de}from"./chevron-up-DqGc0SsZ.js";import{C as xe}from"./chevron-down-C735lPj9.js";import"./log-adapter-i7kNXXup.js";import"./chevron-right-DfFiWY3R.js";import"./check-KjbNKANU.js";const me=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],ue=H("hash",me);const pe=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],he=H("send",pe),ge=!0;function ke(){const{t:s}=Q(),[w,U]=n.useState([]),[i,S]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,k]=n.useState(""),[a,D]=n.useState(null),[l,c]=n.useState("idle"),[g,E]=n.useState(!1),[m,j]=n.useState(""),C=n.useRef(null),$=n.useRef(null),u=n.useRef(null),{data:p}=ce(i),F=p?Object.keys(p):["DEFAULT"],V=t=>{S(t),A("DEFAULT")},_=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),B=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,logs:v,entries:G,agentSessionId:I,attach:z,clearLogs:P}=Z({sessionId:a||"",onExit:_,onError:B}),{todos:R}=ee(G);n.useEffect(()=>{b.get("/demo/agents").then(t=>{U(t.agents);const r=t.agents.find(N=>N.available);r&&S(r.type)})},[]),n.useEffect(()=>{C.current?.scrollToBottom("smooth")},[v]),n.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),z())},[a,h,f,z]);const M=t=>{if(j(t.target.value),u.current){u.current.style.height="auto";const N=Math.min(u.current.scrollHeight,210);u.current.style.height=`${N}px`}},O=async()=>{if(!i||!o.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),P();try{const r=await b.post("/demo/start",{agentType:i,prompt:o.trim(),variant:x});ge&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),D(r.sessionId),c("running")}catch(r){console.error("Start failed:",r),c("error")}},T=async()=>{if(!a||!m.trim())return;const t=m.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},K=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},q=()=>{D(null),c("idle"),k(""),j(""),P()},J=l==="running",d=a!==null,W=w.find(t=>t.type===i);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?o.slice(0,50)+(o.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(te,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(se,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>E(!g),children:o}),e.jsx("button",{onClick:()=>E(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(de,{size:14}):e.jsx(xe,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:W?.name||i||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),I&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[I.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(y,{variant:"outline",size:"sm",onClick:q,className:"ml-auto",children:s("新会话")}),e.jsxs(X,{to:"/settings/profiles",className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(Y,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:$,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ne,{ref:C,logs:v,scrollElementRef:$})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(y,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>V(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:F.map(t=>e.jsx("button",{onClick:()=>A(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,r])=>`${t}: ${JSON.stringify(r)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:o,onChange:t=>k(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(y,{onClick:O,disabled:l==="starting"||!i||!o.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&R.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(re,{todos:R})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:u,value:m,onChange:M,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),T())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(ae,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(le,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(ue,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(ie,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[J&&e.jsxs("button",{onClick:K,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(oe,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:T,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(he,{size:14})]})]})]})]})})]})}export{ke as AgentDemoPage};
1
+ import{e as H,u as Q,r as n,i as b,j as e,L as X,x as Y}from"./index-CUJoWIuo.js";import{u as Z,a as ee,b as L,c as te,d as se,e as ne,T as re,P as ae,A as le,G as ie,S as oe}from"./mermaid-NOHMQCX5-DoPzf-UA.js";import{B as y}from"./button-CUTjpRqw.js";import{d as ce}from"./use-profiles-BaCwGP06.js";import{C as de}from"./chevron-up-BnCoaejn.js";import{C as xe}from"./chevron-down-Bby7sJEv.js";import"./log-adapter-CtvxzS4j.js";import"./chevron-right-DCC0lyoB.js";import"./check-CPkZgPjx.js";const me=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],ue=H("hash",me);const pe=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],he=H("send",pe),ge=!0;function ke(){const{t:s}=Q(),[w,U]=n.useState([]),[i,S]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,k]=n.useState(""),[a,D]=n.useState(null),[l,c]=n.useState("idle"),[g,E]=n.useState(!1),[m,j]=n.useState(""),C=n.useRef(null),$=n.useRef(null),u=n.useRef(null),{data:p}=ce(i),F=p?Object.keys(p):["DEFAULT"],V=t=>{S(t),A("DEFAULT")},_=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),B=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,logs:v,entries:G,agentSessionId:I,attach:z,clearLogs:P}=Z({sessionId:a||"",onExit:_,onError:B}),{todos:R}=ee(G);n.useEffect(()=>{b.get("/demo/agents").then(t=>{U(t.agents);const r=t.agents.find(N=>N.available);r&&S(r.type)})},[]),n.useEffect(()=>{C.current?.scrollToBottom("smooth")},[v]),n.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),z())},[a,h,f,z]);const M=t=>{if(j(t.target.value),u.current){u.current.style.height="auto";const N=Math.min(u.current.scrollHeight,210);u.current.style.height=`${N}px`}},O=async()=>{if(!i||!o.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),P();try{const r=await b.post("/demo/start",{agentType:i,prompt:o.trim(),variant:x});ge&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),D(r.sessionId),c("running")}catch(r){console.error("Start failed:",r),c("error")}},T=async()=>{if(!a||!m.trim())return;const t=m.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},K=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},q=()=>{D(null),c("idle"),k(""),j(""),P()},J=l==="running",d=a!==null,W=w.find(t=>t.type===i);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?o.slice(0,50)+(o.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(te,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(se,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>E(!g),children:o}),e.jsx("button",{onClick:()=>E(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(de,{size:14}):e.jsx(xe,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:W?.name||i||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),I&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[I.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(y,{variant:"outline",size:"sm",onClick:q,className:"ml-auto",children:s("新会话")}),e.jsxs(X,{to:"/settings/profiles",className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(Y,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:$,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ne,{ref:C,logs:v,scrollElementRef:$})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(y,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>V(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:F.map(t=>e.jsx("button",{onClick:()=>A(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,r])=>`${t}: ${JSON.stringify(r)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:o,onChange:t=>k(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(y,{onClick:O,disabled:l==="starting"||!i||!o.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&R.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(re,{todos:R})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:u,value:m,onChange:M,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),T())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(ae,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(le,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(ue,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(ie,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[J&&e.jsxs("button",{onClick:K,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(oe,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:T,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(he,{size:14})]})]})]})]})})]})}export{ke as AgentDemoPage};