agent-tower 0.5.1 → 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/app.d.ts.map +1 -1
- package/dist/app.js +4 -0
- package/dist/app.js.map +1 -1
- package/dist/core/container.d.ts +2 -0
- package/dist/core/container.d.ts.map +1 -1
- package/dist/core/container.js +8 -0
- package/dist/core/container.js.map +1 -1
- package/dist/executors/__tests__/codex.executor.test.js +348 -7
- package/dist/executors/__tests__/codex.executor.test.js.map +1 -1
- package/dist/executors/codex.executor.d.ts +18 -1
- package/dist/executors/codex.executor.d.ts.map +1 -1
- package/dist/executors/codex.executor.js +75 -7
- package/dist/executors/codex.executor.js.map +1 -1
- 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/__tests__/tasks.test.js +37 -0
- package/dist/routes/__tests__/tasks.test.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/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +12 -0
- package/dist/routes/sessions.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/tasks.js +2 -2
- package/dist/routes/tasks.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__/project.service.test.d.ts +2 -0
- package/dist/services/__tests__/project.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/project.service.test.js +62 -0
- package/dist/services/__tests__/project.service.test.js.map +1 -0
- package/dist/services/__tests__/session-manager.team-run.test.js +98 -0
- package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
- package/dist/services/__tests__/task.service.test.js +416 -38
- package/dist/services/__tests__/task.service.test.js.map +1 -1
- package/dist/services/__tests__/team-reconciler.service.test.js +68 -0
- package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
- package/dist/services/__tests__/team-run.service.test.js +47 -1
- package/dist/services/__tests__/team-run.service.test.js.map +1 -1
- package/dist/services/__tests__/team-scheduler.service.test.js +49 -0
- package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
- package/dist/services/__tests__/workspace.service.test.js +157 -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/deleted-task-guard.d.ts +11 -0
- package/dist/services/deleted-task-guard.d.ts.map +1 -0
- package/dist/services/deleted-task-guard.js +10 -0
- package/dist/services/deleted-task-guard.js.map +1 -0
- package/dist/services/project.service.d.ts +1 -0
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +4 -3
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/session-manager.d.ts +55 -1
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +133 -41
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/task-cleanup.service.d.ts +48 -0
- package/dist/services/task-cleanup.service.d.ts.map +1 -0
- package/dist/services/task-cleanup.service.js +209 -0
- package/dist/services/task-cleanup.service.js.map +1 -0
- package/dist/services/task.service.d.ts +19 -7
- package/dist/services/task.service.d.ts.map +1 -1
- package/dist/services/task.service.js +139 -63
- package/dist/services/task.service.js.map +1 -1
- package/dist/services/team-reconciler.service.d.ts.map +1 -1
- package/dist/services/team-reconciler.service.js +21 -1
- package/dist/services/team-reconciler.service.js.map +1 -1
- package/dist/services/team-run.service.d.ts.map +1 -1
- package/dist/services/team-run.service.js +15 -1
- package/dist/services/team-run.service.js.map +1 -1
- package/dist/services/team-scheduler.service.d.ts +3 -1
- package/dist/services/team-scheduler.service.d.ts.map +1 -1
- package/dist/services/team-scheduler.service.js +16 -0
- package/dist/services/team-scheduler.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 +26 -0
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/services/workspace.service.js +173 -23
- 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-CkhVcgZo.js +1 -0
- package/dist/web/assets/{DemoPage-DeXHpe0f.js → DemoPage-dkmp8Vvn.js} +3 -3
- package/dist/web/assets/GeneralSettingsPage-B4DH6g3D.js +1 -0
- package/dist/web/assets/MemberAvatar-pwugXGL4.js +1 -0
- package/dist/web/assets/NotificationSettingsPage-C-bPU_ZE.js +1 -0
- package/dist/web/assets/ProfileSettingsPage-Dlr6BmHb.js +3 -0
- package/dist/web/assets/ProjectKanbanPage-7oEfjjWV.js +89 -0
- package/dist/web/assets/ProjectSettingsPage-DZZksq5G.js +2 -0
- package/dist/web/assets/ProviderSettingsPage-BWN7CEG6.js +54 -0
- package/dist/web/assets/SettingsSection-C-sMhXpf.js +1 -0
- package/dist/web/assets/TeamSettingsPage-924xpocx.js +1 -0
- package/dist/web/assets/arrow-left-UHjQiY5K.js +1 -0
- package/dist/web/assets/button-CUTjpRqw.js +1 -0
- package/dist/web/assets/check-CPkZgPjx.js +1 -0
- package/dist/web/assets/chevron-down-Bby7sJEv.js +1 -0
- package/dist/web/assets/chevron-right-DCC0lyoB.js +1 -0
- package/dist/web/assets/{chevron-up-xy9sRgGr.js → chevron-up-BnCoaejn.js} +1 -1
- package/dist/web/assets/{circle-check-D53Ur01f.js → circle-check-BscClK07.js} +1 -1
- package/dist/web/assets/{code-block-OCS4YCEC-BHTzJkrx.js → code-block-OCS4YCEC-DkMlYSza.js} +1 -1
- package/dist/web/assets/confirm-dialog-wsb35VpE.js +1 -0
- package/dist/web/assets/folder-picker-B-X_nrS1.js +1 -0
- package/dist/web/assets/index-4hNWw0yi.css +1 -0
- package/dist/web/assets/index-CUJoWIuo.js +13 -0
- package/dist/web/assets/loader-circle-Cul4BuAa.js +1 -0
- package/dist/web/assets/log-adapter-CtvxzS4j.js +1 -0
- package/dist/web/assets/{mermaid-NOHMQCX5-BSPQ7bmi.js → mermaid-NOHMQCX5-DoPzf-UA.js} +53 -53
- package/dist/web/assets/message-square-C7Q71jFj.js +1 -0
- package/dist/web/assets/modal-25-qs8P5.js +1 -0
- package/dist/web/assets/{pencil-zfyDXHtM.js → pencil-CaJR6Dqm.js} +1 -1
- package/dist/web/assets/rotate-ccw-Bvz7590n.js +1 -0
- package/dist/web/assets/{select-CEtSClHi.js → select-CzeTYLO4.js} +1 -1
- package/dist/web/assets/upload-_2T21rVP.js +1 -0
- package/dist/web/assets/{use-profiles-BrCaq-M0.js → use-profiles-BaCwGP06.js} +1 -1
- package/dist/web/assets/{use-providers-BmGR6zlI.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 +24 -5
- package/node_modules/@prisma/client/.prisma/client/index-browser.js +19 -0
- package/node_modules/@prisma/client/.prisma/client/index.d.ts +1652 -142
- package/node_modules/@prisma/client/.prisma/client/index.js +24 -5
- package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
- package/node_modules/@prisma/client/.prisma/client/schema.prisma +29 -1
- package/node_modules/@prisma/client/.prisma/client/wasm.js +19 -0
- package/package.json +1 -1
- package/prisma/migrations/20260603000000_add_task_cleanup_jobs/migration.sql +21 -0
- package/prisma/migrations/20260609000000_add_workspace_kind_working_dir/migration.sql +7 -0
- package/prisma/schema.prisma +29 -1
- package/dist/web/assets/AgentDemoPage-C41Npg-J.js +0 -1
- package/dist/web/assets/GeneralSettingsPage-ROIAXf_I.js +0 -1
- package/dist/web/assets/MemberAvatar-Bgb9cNkt.js +0 -1
- package/dist/web/assets/NotificationSettingsPage-BSFFB_Xk.js +0 -1
- package/dist/web/assets/ProfileSettingsPage-n6J_nKUb.js +0 -3
- package/dist/web/assets/ProjectKanbanPage-BUwfUX3X.js +0 -90
- package/dist/web/assets/ProjectSettingsPage-Dv5Ab2MY.js +0 -2
- package/dist/web/assets/ProviderSettingsPage-Ckp_pVCi.js +0 -54
- package/dist/web/assets/TeamSettingsPage-DjlyHMct.js +0 -1
- package/dist/web/assets/button-_UA8cNod.js +0 -1
- package/dist/web/assets/chevron-down-qLfxqOnz.js +0 -1
- package/dist/web/assets/chevron-right-SY4_v7-h.js +0 -1
- package/dist/web/assets/confirm-dialog-D9WQU47x.js +0 -1
- package/dist/web/assets/folder-picker-DPW13OyX.js +0 -1
- package/dist/web/assets/index-BjIvVVfi.css +0 -1
- package/dist/web/assets/index-BsrxN6e4.js +0 -13
- package/dist/web/assets/loader-circle-CPz4Agyr.js +0 -1
- package/dist/web/assets/log-adapter-i7kNXXup.js +0 -1
- package/dist/web/assets/modal-BLPS1r7Q.js +0 -1
- package/dist/web/assets/upload-hdDyQIIu.js +0 -1
- package/dist/web/assets/utils-CkSf8FUe.js +0 -1
|
@@ -6,10 +6,14 @@ import { AgentPipeline } from '../pipeline/agent-pipeline.js';
|
|
|
6
6
|
import { execGit } from '../git/git-cli.js';
|
|
7
7
|
import { getCommitMessageService } from '../core/container.js';
|
|
8
8
|
import { TeamReconcilerService } from './team-reconciler.service.js';
|
|
9
|
+
import { NotFoundError } from '../errors.js';
|
|
10
|
+
import { ensureTaskNotDeleted } from './deleted-task-guard.js';
|
|
11
|
+
import { getWorkspaceWorkingDir, isMainDirectoryWorkspace, } from './workspace-kind.js';
|
|
9
12
|
const DEBUG_SNAPSHOT = process.env.DEBUG_SNAPSHOT === 'true';
|
|
10
13
|
export class SessionManager {
|
|
11
14
|
eventBus;
|
|
12
15
|
pipelines = new Map();
|
|
16
|
+
pendingSpawns = new Map();
|
|
13
17
|
cancelTokens = new Map();
|
|
14
18
|
snapshotFlushTimers = new Map();
|
|
15
19
|
snapshotFlushChains = new Map();
|
|
@@ -62,6 +66,14 @@ export class SessionManager {
|
|
|
62
66
|
});
|
|
63
67
|
}
|
|
64
68
|
async create(workspaceId, agentType, prompt, variant = 'DEFAULT', providerId) {
|
|
69
|
+
const workspace = await prisma.workspace.findUnique({
|
|
70
|
+
where: { id: workspaceId },
|
|
71
|
+
include: { task: true },
|
|
72
|
+
});
|
|
73
|
+
if (!workspace) {
|
|
74
|
+
throw new NotFoundError('Workspace', workspaceId);
|
|
75
|
+
}
|
|
76
|
+
ensureTaskNotDeleted(workspace.task);
|
|
65
77
|
return prisma.session.create({
|
|
66
78
|
data: {
|
|
67
79
|
workspaceId,
|
|
@@ -77,19 +89,20 @@ export class SessionManager {
|
|
|
77
89
|
console.log('[SessionManager] 🚀 Starting session:', id);
|
|
78
90
|
const session = await prisma.session.findUnique({
|
|
79
91
|
where: { id },
|
|
80
|
-
include: { workspace: true },
|
|
92
|
+
include: { workspace: { include: { task: true } } },
|
|
81
93
|
});
|
|
82
94
|
if (!session) {
|
|
83
95
|
console.log('[SessionManager] ❌ Session not found:', id);
|
|
84
96
|
return null;
|
|
85
97
|
}
|
|
98
|
+
ensureTaskNotDeleted(session.workspace.task);
|
|
86
99
|
console.log('[SessionManager] Session details:', {
|
|
87
100
|
id: session.id,
|
|
88
101
|
agentType: session.agentType,
|
|
89
102
|
variant: session.variant,
|
|
90
103
|
promptLength: session.prompt.length,
|
|
91
104
|
promptPreview: session.prompt.substring(0, 200),
|
|
92
|
-
workingDir: session.workspace
|
|
105
|
+
workingDir: getWorkspaceWorkingDir(session.workspace),
|
|
93
106
|
});
|
|
94
107
|
const agentType = session.agentType;
|
|
95
108
|
const executor = session.providerId
|
|
@@ -99,7 +112,7 @@ export class SessionManager {
|
|
|
99
112
|
throw new Error(`Executor not found for agent type: ${session.agentType}${session.providerId ? ` (provider: ${session.providerId})` : ''}`);
|
|
100
113
|
}
|
|
101
114
|
console.log('[SessionManager] ✅ Executor found, spawning process...');
|
|
102
|
-
const workingDir = session.workspace
|
|
115
|
+
const workingDir = getWorkspaceWorkingDir(session.workspace);
|
|
103
116
|
const env = ExecutionEnv.default(workingDir);
|
|
104
117
|
// 如果有 provider,注入 provider 的环境变量
|
|
105
118
|
if (session.providerId) {
|
|
@@ -114,17 +127,9 @@ export class SessionManager {
|
|
|
114
127
|
prompt: session.prompt,
|
|
115
128
|
env,
|
|
116
129
|
});
|
|
117
|
-
await
|
|
118
|
-
data: {
|
|
119
|
-
sessionId: id,
|
|
120
|
-
pid: spawnResult.pid,
|
|
121
|
-
},
|
|
122
|
-
});
|
|
123
|
-
await prisma.session.update({
|
|
124
|
-
where: { id },
|
|
125
|
-
data: { status: SessionStatus.RUNNING },
|
|
126
|
-
});
|
|
130
|
+
await this.registerSpawnedSessionIfTaskLive(id, spawnResult);
|
|
127
131
|
this.attachPipeline(id, agentType, workingDir, spawnResult);
|
|
132
|
+
this.pendingSpawns.delete(id);
|
|
128
133
|
this.eventBus.emit('session:started', { sessionId: id });
|
|
129
134
|
await this.checkTaskAutoRevert(id);
|
|
130
135
|
return session;
|
|
@@ -134,12 +139,13 @@ export class SessionManager {
|
|
|
134
139
|
console.log('[SessionManager] Resume from Tower session:', resumeFromSessionId);
|
|
135
140
|
const session = await prisma.session.findUnique({
|
|
136
141
|
where: { id },
|
|
137
|
-
include: { workspace: true },
|
|
142
|
+
include: { workspace: { include: { task: true } } },
|
|
138
143
|
});
|
|
139
144
|
if (!session) {
|
|
140
145
|
console.log('[SessionManager] ❌ Session not found:', id);
|
|
141
146
|
return null;
|
|
142
147
|
}
|
|
148
|
+
ensureTaskNotDeleted(session.workspace.task);
|
|
143
149
|
const resumeFromSession = await prisma.session.findUnique({
|
|
144
150
|
where: { id: resumeFromSessionId },
|
|
145
151
|
select: { logSnapshot: true },
|
|
@@ -155,7 +161,7 @@ export class SessionManager {
|
|
|
155
161
|
variant: session.variant,
|
|
156
162
|
promptLength: session.prompt.length,
|
|
157
163
|
promptPreview: session.prompt.substring(0, 200),
|
|
158
|
-
workingDir: session.workspace
|
|
164
|
+
workingDir: getWorkspaceWorkingDir(session.workspace),
|
|
159
165
|
});
|
|
160
166
|
const agentType = session.agentType;
|
|
161
167
|
const executor = session.providerId
|
|
@@ -164,7 +170,7 @@ export class SessionManager {
|
|
|
164
170
|
if (!executor) {
|
|
165
171
|
throw new Error(`Executor not found for agent type: ${session.agentType}${session.providerId ? ` (provider: ${session.providerId})` : ''}`);
|
|
166
172
|
}
|
|
167
|
-
const workingDir = session.workspace
|
|
173
|
+
const workingDir = getWorkspaceWorkingDir(session.workspace);
|
|
168
174
|
const env = ExecutionEnv.default(workingDir);
|
|
169
175
|
if (session.providerId) {
|
|
170
176
|
const provider = getProviderById(session.providerId);
|
|
@@ -191,17 +197,9 @@ export class SessionManager {
|
|
|
191
197
|
else {
|
|
192
198
|
spawnResult = await executor.spawn(spawnConfig);
|
|
193
199
|
}
|
|
194
|
-
await
|
|
195
|
-
data: {
|
|
196
|
-
sessionId: id,
|
|
197
|
-
pid: spawnResult.pid,
|
|
198
|
-
},
|
|
199
|
-
});
|
|
200
|
-
await prisma.session.update({
|
|
201
|
-
where: { id },
|
|
202
|
-
data: { status: SessionStatus.RUNNING },
|
|
203
|
-
});
|
|
200
|
+
await this.registerSpawnedSessionIfTaskLive(id, spawnResult);
|
|
204
201
|
this.attachPipeline(id, agentType, workingDir, spawnResult);
|
|
202
|
+
this.pendingSpawns.delete(id);
|
|
205
203
|
this.eventBus.emit('session:started', { sessionId: id });
|
|
206
204
|
await this.checkTaskAutoRevert(id);
|
|
207
205
|
return session;
|
|
@@ -215,12 +213,13 @@ export class SessionManager {
|
|
|
215
213
|
}
|
|
216
214
|
const session = await prisma.session.findUnique({
|
|
217
215
|
where: { id },
|
|
218
|
-
include: { workspace: true },
|
|
216
|
+
include: { workspace: { include: { task: true } } },
|
|
219
217
|
});
|
|
220
218
|
if (!session) {
|
|
221
219
|
console.log('[SessionManager] ❌ Session not found:', id);
|
|
222
220
|
return null;
|
|
223
221
|
}
|
|
222
|
+
ensureTaskNotDeleted(session.workspace.task);
|
|
224
223
|
// 如果传入了新的 providerId,验证并切换
|
|
225
224
|
if (providerId && providerId !== session.providerId) {
|
|
226
225
|
const newProvider = getProviderById(providerId);
|
|
@@ -293,7 +292,7 @@ export class SessionManager {
|
|
|
293
292
|
if (!executor) {
|
|
294
293
|
throw new Error(`Executor not found for agent type: ${session.agentType}${effectiveProviderId ? ` (provider: ${effectiveProviderId})` : ''}`);
|
|
295
294
|
}
|
|
296
|
-
const workingDir = session.workspace
|
|
295
|
+
const workingDir = getWorkspaceWorkingDir(session.workspace);
|
|
297
296
|
const env = ExecutionEnv.default(workingDir);
|
|
298
297
|
// 如果有 provider,注入 provider 的环境变量
|
|
299
298
|
if (effectiveProviderId) {
|
|
@@ -320,25 +319,33 @@ export class SessionManager {
|
|
|
320
319
|
else {
|
|
321
320
|
spawnResult = await executor.spawn(spawnConfig);
|
|
322
321
|
}
|
|
323
|
-
await
|
|
324
|
-
data: {
|
|
325
|
-
sessionId: id,
|
|
326
|
-
pid: spawnResult.pid,
|
|
327
|
-
},
|
|
328
|
-
});
|
|
329
|
-
await prisma.session.update({
|
|
330
|
-
where: { id },
|
|
331
|
-
data: { status: SessionStatus.RUNNING },
|
|
332
|
-
});
|
|
322
|
+
await this.registerSpawnedSessionIfTaskLive(id, spawnResult);
|
|
333
323
|
this.attachPipeline(id, agentType, workingDir, spawnResult);
|
|
324
|
+
this.pendingSpawns.delete(id);
|
|
334
325
|
this.eventBus.emit('session:started', { sessionId: id });
|
|
335
326
|
await this.checkTaskAutoRevert(id);
|
|
336
327
|
return session;
|
|
337
328
|
}
|
|
338
|
-
async stop(id) {
|
|
329
|
+
async stop(id, options = {}) {
|
|
339
330
|
const session = await prisma.session.findUnique({ where: { id } });
|
|
340
331
|
if (!session)
|
|
341
332
|
return null;
|
|
333
|
+
const pendingSpawn = this.pendingSpawns.get(id);
|
|
334
|
+
if (pendingSpawn) {
|
|
335
|
+
this.pendingSpawns.delete(id);
|
|
336
|
+
try {
|
|
337
|
+
pendingSpawn.cancel?.cancel();
|
|
338
|
+
}
|
|
339
|
+
catch {
|
|
340
|
+
// ignore cancellation failures for pending spawns
|
|
341
|
+
}
|
|
342
|
+
try {
|
|
343
|
+
pendingSpawn.pty.kill();
|
|
344
|
+
}
|
|
345
|
+
catch {
|
|
346
|
+
// ignore kill errors for pending spawns
|
|
347
|
+
}
|
|
348
|
+
}
|
|
342
349
|
const pipeline = this.pipelines.get(id);
|
|
343
350
|
if (pipeline) {
|
|
344
351
|
// Try graceful shutdown via SIGINT first
|
|
@@ -370,7 +377,9 @@ export class SessionManager {
|
|
|
370
377
|
data: { status: SessionStatus.CANCELLED },
|
|
371
378
|
});
|
|
372
379
|
}
|
|
373
|
-
|
|
380
|
+
if (!options.skipTeamRunReconcile) {
|
|
381
|
+
await this.teamReconciler.handleSessionStopped(id);
|
|
382
|
+
}
|
|
374
383
|
this.eventBus.emit('session:stopped', { sessionId: id });
|
|
375
384
|
return session;
|
|
376
385
|
}
|
|
@@ -431,6 +440,83 @@ export class SessionManager {
|
|
|
431
440
|
this.cancelTokens.set(sessionId, spawnResult.cancel);
|
|
432
441
|
}
|
|
433
442
|
}
|
|
443
|
+
async registerSpawnedSessionIfTaskLive(sessionId, spawnResult) {
|
|
444
|
+
this.pendingSpawns.set(sessionId, spawnResult);
|
|
445
|
+
try {
|
|
446
|
+
await prisma.$transaction(async (tx) => {
|
|
447
|
+
const updateResult = await tx.session.updateMany({
|
|
448
|
+
where: { id: sessionId, workspace: { task: { deletedAt: null } } },
|
|
449
|
+
data: { status: SessionStatus.RUNNING },
|
|
450
|
+
});
|
|
451
|
+
if (updateResult.count === 0) {
|
|
452
|
+
const session = await tx.session.findUnique({
|
|
453
|
+
where: { id: sessionId },
|
|
454
|
+
include: { workspace: { include: { task: true } } },
|
|
455
|
+
});
|
|
456
|
+
if (!session) {
|
|
457
|
+
throw new NotFoundError('Session', sessionId);
|
|
458
|
+
}
|
|
459
|
+
ensureTaskNotDeleted(session.workspace.task);
|
|
460
|
+
throw new NotFoundError('Session', sessionId);
|
|
461
|
+
}
|
|
462
|
+
await tx.executionProcess.create({
|
|
463
|
+
data: {
|
|
464
|
+
sessionId,
|
|
465
|
+
pid: spawnResult.pid,
|
|
466
|
+
},
|
|
467
|
+
});
|
|
468
|
+
});
|
|
469
|
+
const session = await prisma.session.findUnique({
|
|
470
|
+
where: { id: sessionId },
|
|
471
|
+
include: { workspace: { include: { task: true } } },
|
|
472
|
+
});
|
|
473
|
+
if (!session) {
|
|
474
|
+
throw new NotFoundError('Session', sessionId);
|
|
475
|
+
}
|
|
476
|
+
ensureTaskNotDeleted(session.workspace.task);
|
|
477
|
+
if (this.pendingSpawns.get(sessionId) !== spawnResult) {
|
|
478
|
+
throw new NotFoundError('Task', session.workspace.task.id);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
catch (error) {
|
|
482
|
+
await this.cancelSpawnedSession(sessionId, spawnResult);
|
|
483
|
+
throw error;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
async cancelSpawnedSession(sessionId, spawnResult) {
|
|
487
|
+
if (this.pendingSpawns.get(sessionId) === spawnResult) {
|
|
488
|
+
this.pendingSpawns.delete(sessionId);
|
|
489
|
+
}
|
|
490
|
+
const pipeline = this.pipelines.get(sessionId);
|
|
491
|
+
if (pipeline) {
|
|
492
|
+
pipeline.destroy();
|
|
493
|
+
this.pipelines.delete(sessionId);
|
|
494
|
+
this.cancelTokens.delete(sessionId);
|
|
495
|
+
}
|
|
496
|
+
try {
|
|
497
|
+
spawnResult.cancel?.cancel();
|
|
498
|
+
}
|
|
499
|
+
catch {
|
|
500
|
+
// ignore cancellation failures while compensating a deleted task race
|
|
501
|
+
}
|
|
502
|
+
try {
|
|
503
|
+
spawnResult.pty.kill();
|
|
504
|
+
}
|
|
505
|
+
catch {
|
|
506
|
+
// ignore kill failures while compensating a deleted task race
|
|
507
|
+
}
|
|
508
|
+
await prisma.session.update({
|
|
509
|
+
where: { id: sessionId },
|
|
510
|
+
data: { status: SessionStatus.CANCELLED },
|
|
511
|
+
}).catch(() => {
|
|
512
|
+
// session may already have been removed by cleanup
|
|
513
|
+
});
|
|
514
|
+
await prisma.executionProcess.deleteMany({
|
|
515
|
+
where: { sessionId, pid: spawnResult.pid },
|
|
516
|
+
}).catch(() => {
|
|
517
|
+
// process row may not have been created yet
|
|
518
|
+
});
|
|
519
|
+
}
|
|
434
520
|
createParser(agentType, workingDir, msgStore) {
|
|
435
521
|
if (agentType === AgentType.CLAUDE_CODE) {
|
|
436
522
|
return createClaudeCodeParser(msgStore);
|
|
@@ -473,7 +559,9 @@ export class SessionManager {
|
|
|
473
559
|
where: { id: sessionId },
|
|
474
560
|
include: { workspace: true },
|
|
475
561
|
});
|
|
476
|
-
if (!session?.workspace
|
|
562
|
+
if (!session?.workspace || isMainDirectoryWorkspace(session.workspace))
|
|
563
|
+
return;
|
|
564
|
+
if (!session.workspace.worktreePath)
|
|
477
565
|
return;
|
|
478
566
|
const worktreePath = session.workspace.worktreePath;
|
|
479
567
|
const status = await execGit(worktreePath, ['status', '--porcelain']);
|
|
@@ -620,6 +708,8 @@ export class SessionManager {
|
|
|
620
708
|
if (!session?.workspace?.task)
|
|
621
709
|
return;
|
|
622
710
|
const task = session.workspace.task;
|
|
711
|
+
if (task.deletedAt)
|
|
712
|
+
return;
|
|
623
713
|
// 只对 IN_PROGRESS 的 Task 做自动推进
|
|
624
714
|
if (task.status !== TaskStatus.IN_PROGRESS)
|
|
625
715
|
return;
|
|
@@ -679,6 +769,8 @@ export class SessionManager {
|
|
|
679
769
|
if (session.purpose === SessionPurpose.COMMIT_MSG)
|
|
680
770
|
return;
|
|
681
771
|
const task = session.workspace.task;
|
|
772
|
+
if (task.deletedAt)
|
|
773
|
+
return;
|
|
682
774
|
// 如果任务已经是 IN_PROGRESS,无需更新
|
|
683
775
|
if (task.status === TaskStatus.IN_PROGRESS)
|
|
684
776
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/services/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/services/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SessionManager } from './session-manager.js';
|
|
2
|
+
export declare const TaskCleanupJobStatus: {
|
|
3
|
+
readonly PENDING: "PENDING";
|
|
4
|
+
readonly RUNNING: "RUNNING";
|
|
5
|
+
readonly COMPLETED: "COMPLETED";
|
|
6
|
+
readonly FAILED: "FAILED";
|
|
7
|
+
};
|
|
8
|
+
interface TaskCleanupSessionSnapshot {
|
|
9
|
+
id: string;
|
|
10
|
+
}
|
|
11
|
+
interface TaskCleanupWorkspaceSnapshot {
|
|
12
|
+
id: string;
|
|
13
|
+
worktreePath: string;
|
|
14
|
+
workingDir: string;
|
|
15
|
+
workspaceKind: string;
|
|
16
|
+
branchName: string;
|
|
17
|
+
baseBranch: string | null;
|
|
18
|
+
sessions: TaskCleanupSessionSnapshot[];
|
|
19
|
+
}
|
|
20
|
+
export interface TaskCleanupSnapshot {
|
|
21
|
+
taskId: string;
|
|
22
|
+
projectId: string;
|
|
23
|
+
project: {
|
|
24
|
+
repoPath: string;
|
|
25
|
+
mainBranch: string;
|
|
26
|
+
};
|
|
27
|
+
workspaces: TaskCleanupWorkspaceSnapshot[];
|
|
28
|
+
}
|
|
29
|
+
export declare function getTaskCleanupRetryDelayMs(attempts: number): number;
|
|
30
|
+
/**
|
|
31
|
+
* Persistent worker for resources left behind by fast task deletion.
|
|
32
|
+
*/
|
|
33
|
+
export declare class TaskCleanupService {
|
|
34
|
+
private readonly sessionManager;
|
|
35
|
+
private running;
|
|
36
|
+
private timer;
|
|
37
|
+
constructor(sessionManager: SessionManager);
|
|
38
|
+
start(intervalMs?: number): void;
|
|
39
|
+
stop(): void;
|
|
40
|
+
trigger(): void;
|
|
41
|
+
processDueJobs(limit?: number): Promise<number>;
|
|
42
|
+
processJob(jobId: string): Promise<void>;
|
|
43
|
+
private claimNextJob;
|
|
44
|
+
private cleanupSnapshot;
|
|
45
|
+
private recordFailure;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=task-cleanup.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/task-cleanup.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AAEX,UAAU,0BAA0B;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,0BAA0B,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,4BAA4B,EAAE,CAAC;CAC5C;AAmBD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE;AAeD;;GAEG;AACH,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAH3C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAA+C;gBAE/B,cAAc,EAAE,cAAc;IAE3D,KAAK,CAAC,UAAU,SAAS,GAAG,IAAI;IAYhC,IAAI,IAAI,IAAI;IAMZ,OAAO,IAAI,IAAI;IAMT,cAAc,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB1C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAyBhC,YAAY;YA6CZ,eAAe;YA2Cf,aAAa;CAW5B"}
|