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.
- package/dist/mcp/http-client.d.ts +4 -1
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +2 -2
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/tools/workspaces.d.ts.map +1 -1
- package/dist/mcp/tools/workspaces.js +4 -1
- package/dist/mcp/tools/workspaces.js.map +1 -1
- package/dist/mcp/types.d.ts +3 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/routes/git.d.ts.map +1 -1
- package/dist/routes/git.js +6 -1
- package/dist/routes/git.js.map +1 -1
- package/dist/routes/system.d.ts.map +1 -1
- package/dist/routes/system.js +21 -5
- package/dist/routes/system.js.map +1 -1
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/routes/workspaces.js +11 -4
- package/dist/routes/workspaces.js.map +1 -1
- package/dist/services/__tests__/task.service.test.js +65 -1
- package/dist/services/__tests__/task.service.test.js.map +1 -1
- package/dist/services/__tests__/workspace.service.test.js +55 -0
- package/dist/services/__tests__/workspace.service.test.js.map +1 -1
- package/dist/services/commit-message.service.d.ts.map +1 -1
- package/dist/services/commit-message.service.js +3 -0
- package/dist/services/commit-message.service.js.map +1 -1
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +3 -2
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/session-manager.d.ts +8 -0
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +9 -6
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/task-cleanup.service.d.ts +2 -0
- package/dist/services/task-cleanup.service.d.ts.map +1 -1
- package/dist/services/task-cleanup.service.js +8 -1
- package/dist/services/task-cleanup.service.js.map +1 -1
- package/dist/services/task.service.d.ts +4 -0
- package/dist/services/task.service.d.ts.map +1 -1
- package/dist/services/task.service.js +3 -0
- package/dist/services/task.service.js.map +1 -1
- package/dist/services/workspace-kind.d.ts +13 -0
- package/dist/services/workspace-kind.d.ts.map +1 -0
- package/dist/services/workspace-kind.js +16 -0
- package/dist/services/workspace-kind.js.map +1 -0
- package/dist/services/workspace.service.d.ts +18 -0
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/services/workspace.service.js +104 -12
- package/dist/services/workspace.service.js.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -1
- package/dist/web/assets/{AgentDemoPage-CWcu7-P7.js → AgentDemoPage-CkhVcgZo.js} +1 -1
- package/dist/web/assets/{DemoPage-6hMli_sP.js → DemoPage-dkmp8Vvn.js} +1 -1
- package/dist/web/assets/{GeneralSettingsPage-DUaFSgCY.js → GeneralSettingsPage-B4DH6g3D.js} +1 -1
- package/dist/web/assets/{MemberAvatar-S-eJAdWH.js → MemberAvatar-pwugXGL4.js} +1 -1
- package/dist/web/assets/{NotificationSettingsPage-Cl5x8F4G.js → NotificationSettingsPage-C-bPU_ZE.js} +1 -1
- package/dist/web/assets/{ProfileSettingsPage-QFN9385l.js → ProfileSettingsPage-Dlr6BmHb.js} +1 -1
- package/dist/web/assets/ProjectKanbanPage-7oEfjjWV.js +89 -0
- package/dist/web/assets/{ProjectSettingsPage-Do3Q1_r4.js → ProjectSettingsPage-DZZksq5G.js} +1 -1
- package/dist/web/assets/{ProviderSettingsPage-DYOb33XQ.js → ProviderSettingsPage-BWN7CEG6.js} +14 -14
- package/dist/web/assets/{SettingsSection-D0Zzbbhp.js → SettingsSection-C-sMhXpf.js} +1 -1
- package/dist/web/assets/{TeamSettingsPage-Dq_DU1S8.js → TeamSettingsPage-924xpocx.js} +1 -1
- package/dist/web/assets/{arrow-left-D0xGRsQG.js → arrow-left-UHjQiY5K.js} +1 -1
- package/dist/web/assets/{button-C-IDw2d8.js → button-CUTjpRqw.js} +1 -1
- package/dist/web/assets/check-CPkZgPjx.js +1 -0
- package/dist/web/assets/{chevron-down-C735lPj9.js → chevron-down-Bby7sJEv.js} +1 -1
- package/dist/web/assets/{chevron-right-DfFiWY3R.js → chevron-right-DCC0lyoB.js} +1 -1
- package/dist/web/assets/{chevron-up-DqGc0SsZ.js → chevron-up-BnCoaejn.js} +1 -1
- package/dist/web/assets/{circle-check-CSlvn06a.js → circle-check-BscClK07.js} +1 -1
- package/dist/web/assets/{code-block-OCS4YCEC-BRT1Nrpy.js → code-block-OCS4YCEC-DkMlYSza.js} +1 -1
- package/dist/web/assets/{confirm-dialog-BtsxywSG.js → confirm-dialog-wsb35VpE.js} +1 -1
- package/dist/web/assets/{folder-picker-BuvfyaHB.js → folder-picker-B-X_nrS1.js} +1 -1
- package/dist/web/assets/index-4hNWw0yi.css +1 -0
- package/dist/web/assets/{index-BAz6UxmL.js → index-CUJoWIuo.js} +2 -2
- package/dist/web/assets/{loader-circle-BLO3w-ze.js → loader-circle-Cul4BuAa.js} +1 -1
- package/dist/web/assets/log-adapter-CtvxzS4j.js +1 -0
- package/dist/web/assets/{mermaid-NOHMQCX5-BLfGHrOE.js → mermaid-NOHMQCX5-DoPzf-UA.js} +3 -3
- package/dist/web/assets/{message-square-CIyucdyo.js → message-square-C7Q71jFj.js} +1 -1
- package/dist/web/assets/modal-25-qs8P5.js +1 -0
- package/dist/web/assets/{pencil-CdJXJig-.js → pencil-CaJR6Dqm.js} +1 -1
- package/dist/web/assets/{rotate-ccw-B42Jf1RW.js → rotate-ccw-Bvz7590n.js} +1 -1
- package/dist/web/assets/{select-kVmZCXo9.js → select-CzeTYLO4.js} +1 -1
- package/dist/web/assets/upload-_2T21rVP.js +1 -0
- package/dist/web/assets/{use-profiles-Bvj_EW-7.js → use-profiles-BaCwGP06.js} +1 -1
- package/dist/web/assets/{use-providers-CcFzAUyf.js → use-providers-Bwl7R5Ql.js} +1 -1
- package/dist/web/index.html +2 -2
- package/node_modules/@agent-tower/shared/dist/types.d.ts +10 -0
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js +6 -0
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/node_modules/@prisma/client/.prisma/client/edge.js +7 -5
- package/node_modules/@prisma/client/.prisma/client/index-browser.js +2 -0
- package/node_modules/@prisma/client/.prisma/client/index.d.ts +118 -0
- package/node_modules/@prisma/client/.prisma/client/index.js +7 -5
- package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
- package/node_modules/@prisma/client/.prisma/client/schema.prisma +6 -1
- package/node_modules/@prisma/client/.prisma/client/wasm.js +2 -0
- package/package.json +1 -1
- package/prisma/migrations/20260609000000_add_workspace_kind_working_dir/migration.sql +7 -0
- package/prisma/schema.prisma +6 -1
- package/dist/web/assets/ProjectKanbanPage-Dye8K5K1.js +0 -89
- package/dist/web/assets/check-KjbNKANU.js +0 -1
- package/dist/web/assets/index-r8en4dlI.css +0 -1
- package/dist/web/assets/log-adapter-i7kNXXup.js +0 -1
- 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: {
|
|
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
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
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, '
|
|
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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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/types/index.js
CHANGED
|
@@ -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) {
|
package/dist/types/index.js.map
CHANGED
|
@@ -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};
|