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.
Files changed (172) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +4 -0
  3. package/dist/app.js.map +1 -1
  4. package/dist/core/container.d.ts +2 -0
  5. package/dist/core/container.d.ts.map +1 -1
  6. package/dist/core/container.js +8 -0
  7. package/dist/core/container.js.map +1 -1
  8. package/dist/executors/__tests__/codex.executor.test.js +348 -7
  9. package/dist/executors/__tests__/codex.executor.test.js.map +1 -1
  10. package/dist/executors/codex.executor.d.ts +18 -1
  11. package/dist/executors/codex.executor.d.ts.map +1 -1
  12. package/dist/executors/codex.executor.js +75 -7
  13. package/dist/executors/codex.executor.js.map +1 -1
  14. package/dist/mcp/http-client.d.ts +4 -1
  15. package/dist/mcp/http-client.d.ts.map +1 -1
  16. package/dist/mcp/http-client.js +2 -2
  17. package/dist/mcp/http-client.js.map +1 -1
  18. package/dist/mcp/tools/workspaces.d.ts.map +1 -1
  19. package/dist/mcp/tools/workspaces.js +4 -1
  20. package/dist/mcp/tools/workspaces.js.map +1 -1
  21. package/dist/mcp/types.d.ts +3 -0
  22. package/dist/mcp/types.d.ts.map +1 -1
  23. package/dist/mcp/types.js +2 -0
  24. package/dist/mcp/types.js.map +1 -1
  25. package/dist/routes/__tests__/tasks.test.js +37 -0
  26. package/dist/routes/__tests__/tasks.test.js.map +1 -1
  27. package/dist/routes/git.d.ts.map +1 -1
  28. package/dist/routes/git.js +6 -1
  29. package/dist/routes/git.js.map +1 -1
  30. package/dist/routes/sessions.d.ts.map +1 -1
  31. package/dist/routes/sessions.js +12 -0
  32. package/dist/routes/sessions.js.map +1 -1
  33. package/dist/routes/system.d.ts.map +1 -1
  34. package/dist/routes/system.js +21 -5
  35. package/dist/routes/system.js.map +1 -1
  36. package/dist/routes/tasks.js +2 -2
  37. package/dist/routes/tasks.js.map +1 -1
  38. package/dist/routes/workspaces.d.ts.map +1 -1
  39. package/dist/routes/workspaces.js +11 -4
  40. package/dist/routes/workspaces.js.map +1 -1
  41. package/dist/services/__tests__/project.service.test.d.ts +2 -0
  42. package/dist/services/__tests__/project.service.test.d.ts.map +1 -0
  43. package/dist/services/__tests__/project.service.test.js +62 -0
  44. package/dist/services/__tests__/project.service.test.js.map +1 -0
  45. package/dist/services/__tests__/session-manager.team-run.test.js +98 -0
  46. package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
  47. package/dist/services/__tests__/task.service.test.js +416 -38
  48. package/dist/services/__tests__/task.service.test.js.map +1 -1
  49. package/dist/services/__tests__/team-reconciler.service.test.js +68 -0
  50. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
  51. package/dist/services/__tests__/team-run.service.test.js +47 -1
  52. package/dist/services/__tests__/team-run.service.test.js.map +1 -1
  53. package/dist/services/__tests__/team-scheduler.service.test.js +49 -0
  54. package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
  55. package/dist/services/__tests__/workspace.service.test.js +157 -0
  56. package/dist/services/__tests__/workspace.service.test.js.map +1 -1
  57. package/dist/services/commit-message.service.d.ts.map +1 -1
  58. package/dist/services/commit-message.service.js +3 -0
  59. package/dist/services/commit-message.service.js.map +1 -1
  60. package/dist/services/deleted-task-guard.d.ts +11 -0
  61. package/dist/services/deleted-task-guard.d.ts.map +1 -0
  62. package/dist/services/deleted-task-guard.js +10 -0
  63. package/dist/services/deleted-task-guard.js.map +1 -0
  64. package/dist/services/project.service.d.ts +1 -0
  65. package/dist/services/project.service.d.ts.map +1 -1
  66. package/dist/services/project.service.js +4 -3
  67. package/dist/services/project.service.js.map +1 -1
  68. package/dist/services/session-manager.d.ts +55 -1
  69. package/dist/services/session-manager.d.ts.map +1 -1
  70. package/dist/services/session-manager.js +133 -41
  71. package/dist/services/session-manager.js.map +1 -1
  72. package/dist/services/task-cleanup.service.d.ts +48 -0
  73. package/dist/services/task-cleanup.service.d.ts.map +1 -0
  74. package/dist/services/task-cleanup.service.js +209 -0
  75. package/dist/services/task-cleanup.service.js.map +1 -0
  76. package/dist/services/task.service.d.ts +19 -7
  77. package/dist/services/task.service.d.ts.map +1 -1
  78. package/dist/services/task.service.js +139 -63
  79. package/dist/services/task.service.js.map +1 -1
  80. package/dist/services/team-reconciler.service.d.ts.map +1 -1
  81. package/dist/services/team-reconciler.service.js +21 -1
  82. package/dist/services/team-reconciler.service.js.map +1 -1
  83. package/dist/services/team-run.service.d.ts.map +1 -1
  84. package/dist/services/team-run.service.js +15 -1
  85. package/dist/services/team-run.service.js.map +1 -1
  86. package/dist/services/team-scheduler.service.d.ts +3 -1
  87. package/dist/services/team-scheduler.service.d.ts.map +1 -1
  88. package/dist/services/team-scheduler.service.js +16 -0
  89. package/dist/services/team-scheduler.service.js.map +1 -1
  90. package/dist/services/workspace-kind.d.ts +13 -0
  91. package/dist/services/workspace-kind.d.ts.map +1 -0
  92. package/dist/services/workspace-kind.js +16 -0
  93. package/dist/services/workspace-kind.js.map +1 -0
  94. package/dist/services/workspace.service.d.ts +26 -0
  95. package/dist/services/workspace.service.d.ts.map +1 -1
  96. package/dist/services/workspace.service.js +173 -23
  97. package/dist/services/workspace.service.js.map +1 -1
  98. package/dist/types/index.d.ts +4 -0
  99. package/dist/types/index.d.ts.map +1 -1
  100. package/dist/types/index.js +6 -0
  101. package/dist/types/index.js.map +1 -1
  102. package/dist/web/assets/AgentDemoPage-CkhVcgZo.js +1 -0
  103. package/dist/web/assets/{DemoPage-DeXHpe0f.js → DemoPage-dkmp8Vvn.js} +3 -3
  104. package/dist/web/assets/GeneralSettingsPage-B4DH6g3D.js +1 -0
  105. package/dist/web/assets/MemberAvatar-pwugXGL4.js +1 -0
  106. package/dist/web/assets/NotificationSettingsPage-C-bPU_ZE.js +1 -0
  107. package/dist/web/assets/ProfileSettingsPage-Dlr6BmHb.js +3 -0
  108. package/dist/web/assets/ProjectKanbanPage-7oEfjjWV.js +89 -0
  109. package/dist/web/assets/ProjectSettingsPage-DZZksq5G.js +2 -0
  110. package/dist/web/assets/ProviderSettingsPage-BWN7CEG6.js +54 -0
  111. package/dist/web/assets/SettingsSection-C-sMhXpf.js +1 -0
  112. package/dist/web/assets/TeamSettingsPage-924xpocx.js +1 -0
  113. package/dist/web/assets/arrow-left-UHjQiY5K.js +1 -0
  114. package/dist/web/assets/button-CUTjpRqw.js +1 -0
  115. package/dist/web/assets/check-CPkZgPjx.js +1 -0
  116. package/dist/web/assets/chevron-down-Bby7sJEv.js +1 -0
  117. package/dist/web/assets/chevron-right-DCC0lyoB.js +1 -0
  118. package/dist/web/assets/{chevron-up-xy9sRgGr.js → chevron-up-BnCoaejn.js} +1 -1
  119. package/dist/web/assets/{circle-check-D53Ur01f.js → circle-check-BscClK07.js} +1 -1
  120. package/dist/web/assets/{code-block-OCS4YCEC-BHTzJkrx.js → code-block-OCS4YCEC-DkMlYSza.js} +1 -1
  121. package/dist/web/assets/confirm-dialog-wsb35VpE.js +1 -0
  122. package/dist/web/assets/folder-picker-B-X_nrS1.js +1 -0
  123. package/dist/web/assets/index-4hNWw0yi.css +1 -0
  124. package/dist/web/assets/index-CUJoWIuo.js +13 -0
  125. package/dist/web/assets/loader-circle-Cul4BuAa.js +1 -0
  126. package/dist/web/assets/log-adapter-CtvxzS4j.js +1 -0
  127. package/dist/web/assets/{mermaid-NOHMQCX5-BSPQ7bmi.js → mermaid-NOHMQCX5-DoPzf-UA.js} +53 -53
  128. package/dist/web/assets/message-square-C7Q71jFj.js +1 -0
  129. package/dist/web/assets/modal-25-qs8P5.js +1 -0
  130. package/dist/web/assets/{pencil-zfyDXHtM.js → pencil-CaJR6Dqm.js} +1 -1
  131. package/dist/web/assets/rotate-ccw-Bvz7590n.js +1 -0
  132. package/dist/web/assets/{select-CEtSClHi.js → select-CzeTYLO4.js} +1 -1
  133. package/dist/web/assets/upload-_2T21rVP.js +1 -0
  134. package/dist/web/assets/{use-profiles-BrCaq-M0.js → use-profiles-BaCwGP06.js} +1 -1
  135. package/dist/web/assets/{use-providers-BmGR6zlI.js → use-providers-Bwl7R5Ql.js} +1 -1
  136. package/dist/web/index.html +2 -2
  137. package/node_modules/@agent-tower/shared/dist/types.d.ts +10 -0
  138. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  139. package/node_modules/@agent-tower/shared/dist/types.js +6 -0
  140. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  141. package/node_modules/@prisma/client/.prisma/client/edge.js +24 -5
  142. package/node_modules/@prisma/client/.prisma/client/index-browser.js +19 -0
  143. package/node_modules/@prisma/client/.prisma/client/index.d.ts +1652 -142
  144. package/node_modules/@prisma/client/.prisma/client/index.js +24 -5
  145. package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
  146. package/node_modules/@prisma/client/.prisma/client/schema.prisma +29 -1
  147. package/node_modules/@prisma/client/.prisma/client/wasm.js +19 -0
  148. package/package.json +1 -1
  149. package/prisma/migrations/20260603000000_add_task_cleanup_jobs/migration.sql +21 -0
  150. package/prisma/migrations/20260609000000_add_workspace_kind_working_dir/migration.sql +7 -0
  151. package/prisma/schema.prisma +29 -1
  152. package/dist/web/assets/AgentDemoPage-C41Npg-J.js +0 -1
  153. package/dist/web/assets/GeneralSettingsPage-ROIAXf_I.js +0 -1
  154. package/dist/web/assets/MemberAvatar-Bgb9cNkt.js +0 -1
  155. package/dist/web/assets/NotificationSettingsPage-BSFFB_Xk.js +0 -1
  156. package/dist/web/assets/ProfileSettingsPage-n6J_nKUb.js +0 -3
  157. package/dist/web/assets/ProjectKanbanPage-BUwfUX3X.js +0 -90
  158. package/dist/web/assets/ProjectSettingsPage-Dv5Ab2MY.js +0 -2
  159. package/dist/web/assets/ProviderSettingsPage-Ckp_pVCi.js +0 -54
  160. package/dist/web/assets/TeamSettingsPage-DjlyHMct.js +0 -1
  161. package/dist/web/assets/button-_UA8cNod.js +0 -1
  162. package/dist/web/assets/chevron-down-qLfxqOnz.js +0 -1
  163. package/dist/web/assets/chevron-right-SY4_v7-h.js +0 -1
  164. package/dist/web/assets/confirm-dialog-D9WQU47x.js +0 -1
  165. package/dist/web/assets/folder-picker-DPW13OyX.js +0 -1
  166. package/dist/web/assets/index-BjIvVVfi.css +0 -1
  167. package/dist/web/assets/index-BsrxN6e4.js +0 -13
  168. package/dist/web/assets/loader-circle-CPz4Agyr.js +0 -1
  169. package/dist/web/assets/log-adapter-i7kNXXup.js +0 -1
  170. package/dist/web/assets/modal-BLPS1r7Q.js +0 -1
  171. package/dist/web/assets/upload-hdDyQIIu.js +0 -1
  172. 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.worktreePath,
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.worktreePath;
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 prisma.executionProcess.create({
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.worktreePath,
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.worktreePath;
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 prisma.executionProcess.create({
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.worktreePath;
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 prisma.executionProcess.create({
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
- await this.teamReconciler.handleSessionStopped(id);
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?.worktreePath)
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAqB,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;AAM7D,MAAM,OAAO,cAAc;IAUI;IATrB,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IAChD,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,mBAAmB,GAAG,IAAI,GAAG,EAAyC,CAAC;IACvE,mBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;IACvD,qBAAqB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,cAAc,CAAwB;IAC/C,MAAM,CAAU,oBAAoB,GAAG,IAAI,CAAC;IAEpD,YAA6B,QAAkB,EAAE,cAAsC;QAA1D,aAAQ,GAAR,QAAQ,CAAU;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,qBAAqB,CAAC;YAChE,QAAQ;YACR,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,+EAA+E;QAC/E,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YACzD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAI,KAA+C,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;qBAC7C,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,6CAA6C,SAAS,QAAS,KAAmB,CAAC,MAAM,KAAK,GAAG,GAAG,CACrG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,SAAS,aAAa,QAAQ,gBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrI,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,wEAAwE;gBACxE,uEAAuE;gBACvE,+DAA+D;gBAC/D,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1D,OAAO,CAAC,KAAK,CAAC,kDAAkD,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,kCAAkC;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC/B,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,SAAoB,EAAE,MAAc,EAAE,UAAkB,SAAS,EAAE,UAAmB;QACtH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;YAClD,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;YAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC3B,IAAI,EAAE;gBACJ,WAAW;gBACX,SAAS;gBACT,OAAO;gBACP,UAAU,EAAE,UAAU,IAAI,IAAI;gBAC9B,MAAM;gBACN,MAAM,EAAE,aAAa,CAAC,OAAO;aAC9B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;YAC/C,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;YACnC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/C,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC;SACtD,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAsB,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU;YACjC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3C,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9I,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7C,iCAAiC;QACjC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;YACvC,UAAU;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG;SACJ,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,gCAAgC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,mBAA2B;QACzD,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,mBAAmB,CAAC,CAAC;QAEhF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YACxD,KAAK,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE;YAClC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAC9B,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,iBAAiB;YACtC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,WAAW,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC;QAET,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE;YACzD,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,mBAAmB;YACnB,cAAc;YACd,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;YACnC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/C,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC;SACtD,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAsB,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU;YACjC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3C,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9I,CAAC;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG;YAClB,UAAU;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG;SACJ,CAAC;QAEF,IAAI,WAAyB,CAAC;QAC9B,IAAI,cAAc,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,+CAA+C,EAAE,wCAAwC,EACzF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;gBACF,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,CAAC,gCAAgC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,OAAe,EAAE,UAAmB;QAChE,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE7C,2BAA2B;QAC3B,IAAI,UAAU,IAAI,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,2DAA2D;YAC3D,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CACb,6DAA6D,OAAO,CAAC,SAAS,oBAAoB,WAAW,CAAC,IAAI,aAAa,WAAW,CAAC,SAAS,GAAG,CACxJ,CAAC;YACJ,CAAC;YACD,qBAAqB;YACrB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1B,KAAK,EAAE,EAAE,EAAE,EAAE;gBACb,IAAI,EAAE,EAAE,UAAU,EAAE;aACrB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,4CAA4C,WAAW,CAAC,IAAI,KAAK,UAAU,GAAG,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,qDAAqD;YACrD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,sFAAsF,EAAE,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACpC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAExD,IAAI,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAA2B,CAAC;gBAC3E,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2DAA2D,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,mDAAmD;QACnD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;QACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CACV,yDAAyD,EAAE,iBAAiB,YAAY,kBAAkB,aAAa,EAAE,CAC1H,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CACT,6DAA6D,EAAE,UAAU,SAAS,iBAAiB,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CACnI,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnD,wEAAwE;QACxE,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QAE5F,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAsB,CAAC;QACjD,gDAAgD;QAChD,MAAM,mBAAmB,GAAG,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC;QAC1E,MAAM,QAAQ,GAAG,mBAAmB;YAClC,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;YAC5C,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,eAAe,mBAAmB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChJ,CAAC;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7C,iCAAiC;QACjC,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;YACtD,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG;YAClB,UAAU;YACV,MAAM,EAAE,OAAO;YACf,GAAG;SACJ,CAAC;QAEF,IAAI,WAAyB,CAAC;QAC9B,IAAI,cAAc,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,CAAC,gCAAgC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,UAA8B,EAAE;QACrD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC;gBACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;YACD,IAAI,CAAC;gBACH,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,yCAAyC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;YACD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6DAA6D,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC1B,KAAK,EAAE,EAAE,EAAE,EAAE;oBACb,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE;iBAC1C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1B,KAAK,EAAE,EAAE,EAAE,EAAE;gBACb,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,IAAY;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAY;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QACtC,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,CAAC;QACvF,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;YACD,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEO,qBAAqB,CAAC,SAAiB,EAAE,WAA0B;QACzE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,SAAS;gBAAE,OAAO,QAAQ,CAAC,SAAS,CAAC;QACpD,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA2B,CAAC;gBACjE,IAAI,MAAM,CAAC,SAAS;oBAAE,OAAO,MAAM,CAAC,SAAS,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CACpB,SAAiB,EACjB,SAAoB,EACpB,UAAkB,EAClB,WAAyB;QAEzB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAC5C,SAAiB,EACjB,WAAyB;QAEzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACrC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC/C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;oBAClE,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE;iBACxC,CAAC,CAAC;gBACH,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;wBAC1C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;wBACxB,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;qBACpD,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAChD,CAAC;oBACD,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAChD,CAAC;gBAED,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;oBAC/B,IAAI,EAAE;wBACJ,SAAS;wBACT,GAAG,EAAE,WAAW,CAAC,GAAG;qBACrB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;aACpD,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;gBACtD,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,SAAiB,EACjB,WAAyB;QAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC;YACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;QACD,IAAI,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;QACD,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE;SAC1C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,mDAAmD;QACrD,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;YACvC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE;SAC3C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,4CAA4C;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,SAAoB,EAAE,UAAkB,EAAE,QAA+D;QAC5H,IAAI,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACxC,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;YACzC,OAAO,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,SAAiB,EAAE,GAAiB;QAC3E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC;YACxD,KAAK,EAAE,EAAE,SAAS,EAAE;YACpB,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;gBACR,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,KAAK,CAAC;YACR,sBAAsB,EAAE,SAAS;YACjC,yBAAyB,EAAE,UAAU,CAAC,EAAE;YACxC,uBAAuB,EAAE,UAAU,CAAC,SAAS;YAC7C,qBAAqB,EAAE,UAAU,CAAC,QAAQ;SAC3C,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC;gBAAE,OAAO;YAC/E,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY;gBAAE,OAAO;YAE5C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;YAEpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO;YAE3B,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3C,MAAM,OAAO,CAAC,YAAY,EAAE;gBAC1B,QAAQ,EAAE,IAAI;gBACd,iDAAiD,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;aACzE,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,uDAAuD,SAAS,EAAE,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yBAAyB;YACzB,OAAO,CAAC,IAAI,CACV,mDAAmD,SAAS,GAAG,EAC/D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;IAEO,uBAAuB,CAAC,SAAiB,EAAE,MAAsB;QACvE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,qDAAqD,SAAS,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnD,OAAO,CAAC,KAAK,CAAC,0DAA0D,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACxC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CACT,0DAA0D,SAAS,OAAO,cAAc,CAAC,oBAAoB,WAAW,MAAM,IAAI,MAAM,EAAE,CAC3I,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,MAAsB;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9E,MAAM,OAAO,GAAG,QAAQ;aACrB,KAAK,CAAC,GAAG,EAAE;YACV,sDAAsD;QACxD,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CACT,mDAAmD,SAAS,kBAAkB,aAAa,IAAI,MAAM,EAAE,CACxG,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,yDAAyD,SAAS,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC1B,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;wBACxB,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;qBAChC,CAAC,CAAC;oBACH,IAAI,cAAc,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,CACT,mEAAmE,SAAS,WAAW,aAAa,EAAE,CACvG,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;gBAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CACT,sDAAsD,SAAS,YAAY,QAAQ,CAAC,OAAO,CAAC,MAAM,aAAa,QAAQ,cAAc,SAAS,eAAe,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACzL,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC1B,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;oBACxB,IAAI,EAAE;wBACJ,MAAM,EAAE,aAAa;wBACrB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;wBACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAClE;iBACF,CAAC,CAAC;gBACH,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CACT,uDAAuD,SAAS,WAAW,aAAa,YAAY,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAC9H,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1B,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,IAAI,EAAE;oBACJ,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE;aACF,CAAC,CAAC;YACH,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CACT,uDAAuD,SAAS,6BAA6B,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CACvH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE,CAAC;gBACxD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,6BAA6B,CAAC,QAAgC;QACpE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,IAAI,IAAI,EAAE,CAAC;gBAC9F,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAkE,CAAC;YAC3F,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;aACpD,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI;gBAAE,OAAO;YAEtC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YACpC,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC3B,8BAA8B;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,WAAW;gBAAE,OAAO;YAEnD,2CAA2C;YAC3C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAChD,KAAK,EAAE;oBACL,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;oBAC9B,OAAO,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,UAAU,EAAE;iBAC5C;gBACD,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACzB,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAa,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5G,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAE9E,IAAI,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBACvB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;oBACtB,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;iBACvC,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;oBACjC,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,UAAU,CAAC,SAAS;iBAC7B,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,EAAE,sDAAsD,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4DAA4D,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED;;OAEG;IACK,8BAA8B,CAAC,WAAmB;QACxD,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;QACvD,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAClE,OAAO,CAAC,IAAI,CACV,8EAA8E,WAAW,GAAG,EAC5F,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;aACpD,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI;gBAAE,OAAO;YAEtC,6BAA6B;YAC7B,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,CAAC,UAAU;gBAAE,OAAO;YAE1D,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YACpC,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAE3B,2BAA2B;YAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,WAAW;gBAAE,OAAO;YAEnD,wCAAwC;YACxC,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAoB,CAAC,CAAC;YAClH,IAAI,CAAC,YAAY;gBAAE,OAAO;YAE1B,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBACvB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE;aACzC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;gBACjC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,UAAU,CAAC,WAAW;aAC/B,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CACT,yBAAyB,IAAI,CAAC,EAAE,wBAAwB,IAAI,CAAC,MAAM,4BAA4B,SAAS,WAAW,CACpH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2DAA2D,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,QAAiB;QAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC1B,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,QAAQ,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,SAAS,qBAAqB,QAAQ,qBAAqB,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;YACnD,kDAAkD;YAClD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;oBACvD,MAAM,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CACV,kEAAkE,SAAS,GAAG,EAC9E,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,4BAA4B;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACxD,4BAA4B;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAE5E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEhF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC;gBAED,4CAA4C;gBAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;oBACxB,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;iBAC9B,CAAC,CAAC;gBACH,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;oBACtB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC"}
@@ -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"}