agent-tower 0.6.0-beta.11 → 0.6.0-beta.13
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/cli.js +39 -19
- package/dist/cli.js.map +1 -1
- package/dist/executors/__tests__/base.executor.test.js +133 -1
- package/dist/executors/__tests__/base.executor.test.js.map +1 -1
- package/dist/executors/__tests__/stdin-prompt.executors.test.js +18 -0
- package/dist/executors/__tests__/stdin-prompt.executors.test.js.map +1 -1
- package/dist/executors/base.executor.d.ts +8 -0
- package/dist/executors/base.executor.d.ts.map +1 -1
- package/dist/executors/base.executor.js +336 -56
- package/dist/executors/base.executor.js.map +1 -1
- package/dist/executors/index.d.ts +2 -1
- package/dist/executors/index.d.ts.map +1 -1
- package/dist/executors/index.js +1 -1
- package/dist/executors/index.js.map +1 -1
- package/dist/executors/start-error.d.ts +17 -0
- package/dist/executors/start-error.d.ts.map +1 -1
- package/dist/executors/start-error.js +36 -1
- package/dist/executors/start-error.js.map +1 -1
- package/dist/index.js +39 -29
- package/dist/index.js.map +1 -1
- package/dist/mcp/http-client.test.js +20 -0
- package/dist/mcp/http-client.test.js.map +1 -1
- package/dist/mcp/tools/__tests__/sessions.test.d.ts +2 -0
- package/dist/mcp/tools/__tests__/sessions.test.d.ts.map +1 -0
- package/dist/mcp/tools/__tests__/sessions.test.js +33 -0
- package/dist/mcp/tools/__tests__/sessions.test.js.map +1 -0
- package/dist/routes/__tests__/sessions-runtime.test.js +75 -3
- package/dist/routes/__tests__/sessions-runtime.test.js.map +1 -1
- package/dist/routes/conversations.d.ts.map +1 -1
- package/dist/routes/conversations.js +5 -1
- package/dist/routes/conversations.js.map +1 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +13 -2
- package/dist/routes/sessions.js.map +1 -1
- package/dist/routes/team-runs.d.ts.map +1 -1
- package/dist/routes/team-runs.js +13 -1
- package/dist/routes/team-runs.js.map +1 -1
- package/dist/runtime/__tests__/acp-driver-lifecycle.test.js +86 -0
- package/dist/runtime/__tests__/acp-driver-lifecycle.test.js.map +1 -1
- package/dist/runtime/__tests__/acp-process-manager.test.js +393 -6
- package/dist/runtime/__tests__/acp-process-manager.test.js.map +1 -1
- package/dist/runtime/__tests__/cli-driver-lifecycle.test.d.ts +2 -0
- package/dist/runtime/__tests__/cli-driver-lifecycle.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/cli-driver-lifecycle.test.js +244 -0
- package/dist/runtime/__tests__/cli-driver-lifecycle.test.js.map +1 -0
- package/dist/runtime/__tests__/launch-cleanup-registry.test.d.ts +2 -0
- package/dist/runtime/__tests__/launch-cleanup-registry.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/launch-cleanup-registry.test.js +154 -0
- package/dist/runtime/__tests__/launch-cleanup-registry.test.js.map +1 -0
- package/dist/runtime/__tests__/runtime-coordinator.test.js +117 -1
- package/dist/runtime/__tests__/runtime-coordinator.test.js.map +1 -1
- package/dist/runtime/__tests__/server-entry-shutdown.test.d.ts +2 -0
- package/dist/runtime/__tests__/server-entry-shutdown.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/server-entry-shutdown.test.js +38 -0
- package/dist/runtime/__tests__/server-entry-shutdown.test.js.map +1 -0
- package/dist/runtime/__tests__/shutdown-coordinator.test.d.ts +2 -0
- package/dist/runtime/__tests__/shutdown-coordinator.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/shutdown-coordinator.test.js +28 -0
- package/dist/runtime/__tests__/shutdown-coordinator.test.js.map +1 -0
- package/dist/runtime/acp/acp-driver.d.ts.map +1 -1
- package/dist/runtime/acp/acp-driver.js +108 -35
- package/dist/runtime/acp/acp-driver.js.map +1 -1
- package/dist/runtime/acp/agents/managed-directory.d.ts.map +1 -1
- package/dist/runtime/acp/agents/managed-directory.js +3 -1
- package/dist/runtime/acp/agents/managed-directory.js.map +1 -1
- package/dist/runtime/acp/agents/managed-directory.test.d.ts +2 -0
- package/dist/runtime/acp/agents/managed-directory.test.d.ts.map +1 -0
- package/dist/runtime/acp/agents/managed-directory.test.js +25 -0
- package/dist/runtime/acp/agents/managed-directory.test.js.map +1 -0
- package/dist/runtime/acp/launch-cleanup-registry.d.ts +32 -0
- package/dist/runtime/acp/launch-cleanup-registry.d.ts.map +1 -0
- package/dist/runtime/acp/launch-cleanup-registry.js +176 -0
- package/dist/runtime/acp/launch-cleanup-registry.js.map +1 -0
- package/dist/runtime/acp/process-manager.d.ts +58 -0
- package/dist/runtime/acp/process-manager.d.ts.map +1 -1
- package/dist/runtime/acp/process-manager.js +489 -33
- package/dist/runtime/acp/process-manager.js.map +1 -1
- package/dist/runtime/cli-driver.d.ts.map +1 -1
- package/dist/runtime/cli-driver.js +230 -46
- package/dist/runtime/cli-driver.js.map +1 -1
- package/dist/runtime/contracts.d.ts +21 -2
- package/dist/runtime/contracts.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/runtime-coordinator.d.ts +8 -1
- package/dist/runtime/runtime-coordinator.d.ts.map +1 -1
- package/dist/runtime/runtime-coordinator.js +118 -18
- package/dist/runtime/runtime-coordinator.js.map +1 -1
- package/dist/runtime/server-entry-shutdown.d.ts +12 -0
- package/dist/runtime/server-entry-shutdown.d.ts.map +1 -0
- package/dist/runtime/server-entry-shutdown.js +23 -0
- package/dist/runtime/server-entry-shutdown.js.map +1 -0
- package/dist/runtime/shutdown-coordinator.d.ts +17 -0
- package/dist/runtime/shutdown-coordinator.d.ts.map +1 -0
- package/dist/runtime/shutdown-coordinator.js +67 -0
- package/dist/runtime/shutdown-coordinator.js.map +1 -0
- package/dist/services/__tests__/conversation.service.test.js +160 -0
- package/dist/services/__tests__/conversation.service.test.js.map +1 -1
- package/dist/services/__tests__/database-maintenance.service.test.js +97 -0
- package/dist/services/__tests__/database-maintenance.service.test.js.map +1 -1
- package/dist/services/__tests__/member-heartbeat-scheduler.test.js +6 -0
- package/dist/services/__tests__/member-heartbeat-scheduler.test.js.map +1 -1
- package/dist/services/__tests__/member-heartbeat.test.js +7 -11
- package/dist/services/__tests__/member-heartbeat.test.js.map +1 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js +402 -12
- package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
- package/dist/services/__tests__/session-manager.team-run.test.js +422 -29
- package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
- package/dist/services/__tests__/team-queue-recovery.integration.test.js +1 -0
- package/dist/services/__tests__/team-queue-recovery.integration.test.js.map +1 -1
- package/dist/services/__tests__/team-reconciler.service.test.js +1282 -4
- package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
- package/dist/services/__tests__/team-run.service.test.js +161 -1
- package/dist/services/__tests__/team-run.service.test.js.map +1 -1
- package/dist/services/__tests__/team-scheduler.service.test.js +334 -6
- package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
- package/dist/services/conversation.service.d.ts.map +1 -1
- package/dist/services/conversation.service.js +21 -2
- package/dist/services/conversation.service.js.map +1 -1
- package/dist/services/database-maintenance.service.d.ts.map +1 -1
- package/dist/services/database-maintenance.service.js +68 -17
- package/dist/services/database-maintenance.service.js.map +1 -1
- package/dist/services/member-heartbeat-scheduler.d.ts +6 -5
- package/dist/services/member-heartbeat-scheduler.d.ts.map +1 -1
- package/dist/services/member-heartbeat-scheduler.js +7 -5
- package/dist/services/member-heartbeat-scheduler.js.map +1 -1
- package/dist/services/session-manager.d.ts +124 -14
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +1035 -116
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/session-runtime-cleanup-gate.d.ts +25 -0
- package/dist/services/session-runtime-cleanup-gate.d.ts.map +1 -0
- package/dist/services/session-runtime-cleanup-gate.js +284 -0
- package/dist/services/session-runtime-cleanup-gate.js.map +1 -0
- package/dist/services/task.service.d.ts +2 -2
- package/dist/services/team-member-admission-barrier.d.ts +3 -0
- package/dist/services/team-member-admission-barrier.d.ts.map +1 -0
- package/dist/services/team-member-admission-barrier.js +26 -0
- package/dist/services/team-member-admission-barrier.js.map +1 -0
- package/dist/services/team-reconciler.service.d.ts +30 -7
- package/dist/services/team-reconciler.service.d.ts.map +1 -1
- package/dist/services/team-reconciler.service.js +528 -111
- 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 +37 -13
- package/dist/services/team-run.service.js.map +1 -1
- package/dist/services/team-scheduler.service.d.ts +8 -6
- package/dist/services/team-scheduler.service.d.ts.map +1 -1
- package/dist/services/team-scheduler.service.js +323 -120
- package/dist/services/team-scheduler.service.js.map +1 -1
- package/dist/services/workspace-background-process-manager.d.ts.map +1 -1
- package/dist/services/workspace-background-process-manager.js +2 -5
- package/dist/services/workspace-background-process-manager.js.map +1 -1
- package/dist/services/workspace.service.d.ts +15 -8
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/socket/index.d.ts.map +1 -1
- package/dist/socket/index.js +27 -14
- package/dist/socket/index.js.map +1 -1
- package/dist/utils/__tests__/unix-process-identity.test.d.ts +2 -0
- package/dist/utils/__tests__/unix-process-identity.test.d.ts.map +1 -0
- package/dist/utils/__tests__/unix-process-identity.test.js +73 -0
- package/dist/utils/__tests__/unix-process-identity.test.js.map +1 -0
- package/dist/utils/error-log.d.ts +2 -0
- package/dist/utils/error-log.d.ts.map +1 -1
- package/dist/utils/error-log.js +40 -3
- package/dist/utils/error-log.js.map +1 -1
- package/dist/utils/error-log.test.js +14 -2
- package/dist/utils/error-log.test.js.map +1 -1
- package/dist/utils/process-launch.d.ts +2 -2
- package/dist/utils/process-launch.d.ts.map +1 -1
- package/dist/utils/process-launch.js +339 -79
- package/dist/utils/process-launch.js.map +1 -1
- package/dist/utils/process-launch.test.js +168 -10
- package/dist/utils/process-launch.test.js.map +1 -1
- package/dist/utils/spawned-process-identity.d.ts +7 -0
- package/dist/utils/spawned-process-identity.d.ts.map +1 -0
- package/dist/utils/spawned-process-identity.js +36 -0
- package/dist/utils/spawned-process-identity.js.map +1 -0
- package/dist/utils/tree-cleanup-channel.d.ts +18 -0
- package/dist/utils/tree-cleanup-channel.d.ts.map +1 -0
- package/dist/utils/tree-cleanup-channel.js +16 -0
- package/dist/utils/tree-cleanup-channel.js.map +1 -0
- package/dist/utils/tree-cleanup-channel.test.d.ts +2 -0
- package/dist/utils/tree-cleanup-channel.test.d.ts.map +1 -0
- package/dist/utils/tree-cleanup-channel.test.js +15 -0
- package/dist/utils/tree-cleanup-channel.test.js.map +1 -0
- package/dist/utils/unix-process-identity.d.ts +13 -1
- package/dist/utils/unix-process-identity.d.ts.map +1 -1
- package/dist/utils/unix-process-identity.js +146 -25
- package/dist/utils/unix-process-identity.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts +1 -0
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260824000000_add_execution_process_ownership/migration.sql +10 -0
- package/prisma/migrations/20260824010000_add_runtime_cleanup_recovery/migration.sql +10 -0
- package/prisma/migrations/20260824020000_add_runtime_launch_admission/migration.sql +72 -0
- package/prisma/migrations/20260826000000_add_conversation_turn_queue/migration.sql +19 -0
- package/prisma/schema.prisma +50 -7
|
@@ -157,7 +157,17 @@ export class ConversationService {
|
|
|
157
157
|
throw new ServiceError('Conversation session was not created', 'CONVERSATION_SESSION_MISSING', 500);
|
|
158
158
|
}
|
|
159
159
|
try {
|
|
160
|
-
|
|
160
|
+
// Initial prompts use the same durable queue as follow-up messages. The
|
|
161
|
+
// conversation resource is ready as soon as its directory/session/turn
|
|
162
|
+
// are persisted; ACP startup and model execution continue in the
|
|
163
|
+
// per-session worker so the create request never waits on initialize.
|
|
164
|
+
if (typeof this.sessionManager.enqueueConversationMessage === 'function') {
|
|
165
|
+
await this.sessionManager.enqueueConversationMessage(created.session.id, prompt, provider.id);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
// Keep lightweight test doubles and older embedders compatible.
|
|
169
|
+
await this.sessionManager.start(created.session.id);
|
|
170
|
+
}
|
|
161
171
|
}
|
|
162
172
|
catch (error) {
|
|
163
173
|
await prisma.session.update({
|
|
@@ -191,7 +201,16 @@ export class ConversationService {
|
|
|
191
201
|
throw new ServiceError('Conversation has no session', 'CONVERSATION_SESSION_MISSING', 409);
|
|
192
202
|
}
|
|
193
203
|
try {
|
|
194
|
-
|
|
204
|
+
// Queue conversation turns so the HTTP request only waits for durable
|
|
205
|
+
// persistence. SessionManager consumes the queue serially and reports
|
|
206
|
+
// runtime progress through the existing session events.
|
|
207
|
+
if (typeof this.sessionManager.enqueueConversationMessage === 'function') {
|
|
208
|
+
await this.sessionManager.enqueueConversationMessage(conversation.session.id, message, input.providerId);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
// Keep lightweight test doubles and older embedders compatible.
|
|
212
|
+
await this.sessionManager.sendMessage(conversation.session.id, message, input.providerId);
|
|
213
|
+
}
|
|
195
214
|
}
|
|
196
215
|
catch (error) {
|
|
197
216
|
if (error instanceof CommandBuildError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.service.js","sourceRoot":"","sources":["../../src/services/conversation.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"conversation.service.js","sourceRoot":"","sources":["../../src/services/conversation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-maintenance.service.d.ts","sourceRoot":"","sources":["../../src/services/database-maintenance.service.ts"],"names":[],"mappings":"AAKA,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"database-maintenance.service.d.ts","sourceRoot":"","sources":["../../src/services/database-maintenance.service.ts"],"names":[],"mappings":"AAKA,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsF9D;AAED,eAAO,MAAM,4BAA4B;;CAExC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { prisma } from '../utils/index.js';
|
|
2
2
|
const APP_SETTINGS_ID = 'singleton';
|
|
3
|
-
const CURRENT_DATA_MIGRATION_VERSION =
|
|
3
|
+
const CURRENT_DATA_MIGRATION_VERSION = 2;
|
|
4
4
|
export async function runStartupDataMigrations() {
|
|
5
5
|
await prisma.$transaction(async (tx) => {
|
|
6
6
|
const settings = await tx.appSettings.upsert({
|
|
@@ -12,22 +12,73 @@ export async function runStartupDataMigrations() {
|
|
|
12
12
|
if (settings.dataMigrationVersion >= CURRENT_DATA_MIGRATION_VERSION) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
if (settings.dataMigrationVersion < 1) {
|
|
16
|
+
// Historical clients could put pasted logs into Task.title. Preserve the exact
|
|
17
|
+
// body in description before shrinking the list-facing title.
|
|
18
|
+
await tx.$executeRawUnsafe(`
|
|
19
|
+
UPDATE "Task"
|
|
20
|
+
SET
|
|
21
|
+
"description" = CASE
|
|
22
|
+
WHEN "description" IS NULL OR trim("description") = '' THEN "title"
|
|
23
|
+
WHEN instr("description", "title") > 0 THEN "description"
|
|
24
|
+
ELSE "title" || char(10) || char(10) || "description"
|
|
25
|
+
END,
|
|
26
|
+
"title" = CASE
|
|
27
|
+
WHEN length(trim("title")) = 0 THEN 'Untitled task'
|
|
28
|
+
ELSE rtrim(substr(replace(replace(trim("title"), char(13), ' '), char(10), ' '), 1, 197)) || '...'
|
|
29
|
+
END
|
|
30
|
+
WHERE length("title") > 240
|
|
31
|
+
`);
|
|
32
|
+
}
|
|
33
|
+
if (settings.dataMigrationVersion < 2) {
|
|
34
|
+
await tx.$executeRawUnsafe(`
|
|
35
|
+
UPDATE "ExecutionProcess"
|
|
36
|
+
SET
|
|
37
|
+
"cleanupState" = 'QUARANTINED',
|
|
38
|
+
"cleanupError" = 'Runtime ownership identity is incomplete; automated signalling and cleanup confirmation are disabled',
|
|
39
|
+
"cleanupAttemptCount" = "cleanupAttemptCount" + 1,
|
|
40
|
+
"nextCleanupRetryAt" = CURRENT_TIMESTAMP
|
|
41
|
+
WHERE "cleanupState" <> 'CONFIRMED'
|
|
42
|
+
AND (
|
|
43
|
+
"runtimeInstanceId" IS NULL
|
|
44
|
+
OR "pid" IS NULL
|
|
45
|
+
OR "processGroupId" IS NULL
|
|
46
|
+
OR "birthMarker" IS NULL
|
|
47
|
+
OR "ownershipToken" IS NULL
|
|
48
|
+
)
|
|
49
|
+
`);
|
|
50
|
+
await tx.$executeRawUnsafe(`
|
|
51
|
+
UPDATE "Session"
|
|
52
|
+
SET
|
|
53
|
+
"runtimeLaunchState" = 'PROCESS_RECORDED',
|
|
54
|
+
"runtimeLaunchClaimCount" = (
|
|
55
|
+
SELECT COUNT(*) FROM "ExecutionProcess" ep WHERE ep."sessionId" = "Session"."id"
|
|
56
|
+
),
|
|
57
|
+
"runtimeLaunchResolvedCount" = (
|
|
58
|
+
SELECT COUNT(*) FROM "ExecutionProcess" ep WHERE ep."sessionId" = "Session"."id"
|
|
59
|
+
),
|
|
60
|
+
"runtimeLaunchProcessCount" = (
|
|
61
|
+
SELECT COUNT(*) FROM "ExecutionProcess" ep WHERE ep."sessionId" = "Session"."id"
|
|
62
|
+
)
|
|
63
|
+
WHERE EXISTS (
|
|
64
|
+
SELECT 1 FROM "ExecutionProcess" ep WHERE ep."sessionId" = "Session"."id"
|
|
65
|
+
)
|
|
66
|
+
`);
|
|
67
|
+
await tx.$executeRawUnsafe(`
|
|
68
|
+
UPDATE "Session"
|
|
69
|
+
SET
|
|
70
|
+
"runtimeLaunchState" = 'QUARANTINED',
|
|
71
|
+
"runtimeLaunchClaimCount" = 1,
|
|
72
|
+
"runtimeLaunchResolvedCount" = 0,
|
|
73
|
+
"runtimeLaunchDiagnostic" = 'Legacy session crossed logical start without durable process evidence',
|
|
74
|
+
"runtimeLaunchDiagnosticCount" = 1,
|
|
75
|
+
"runtimeLaunchNextDiagnosticAt" = CURRENT_TIMESTAMP
|
|
76
|
+
WHERE "status" <> 'PENDING'
|
|
77
|
+
AND NOT EXISTS (
|
|
78
|
+
SELECT 1 FROM "ExecutionProcess" ep WHERE ep."sessionId" = "Session"."id"
|
|
79
|
+
)
|
|
80
|
+
`);
|
|
81
|
+
}
|
|
31
82
|
await tx.appSettings.update({
|
|
32
83
|
where: { id: APP_SETTINGS_ID },
|
|
33
84
|
data: { dataMigrationVersion: CURRENT_DATA_MIGRATION_VERSION },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-maintenance.service.js","sourceRoot":"","sources":["../../src/services/database-maintenance.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,eAAe,GAAG,WAAW,CAAC;AACpC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;YAC9B,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;YAC/B,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACvC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,oBAAoB,IAAI,8BAA8B,EAAE,CAAC;YACpE,OAAO;QACT,CAAC;QAED,+EAA+E;
|
|
1
|
+
{"version":3,"file":"database-maintenance.service.js","sourceRoot":"","sources":["../../src/services/database-maintenance.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,eAAe,GAAG,WAAW,CAAC;AACpC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;YAC9B,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;YAC/B,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACvC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,oBAAoB,IAAI,8BAA8B,EAAE,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;YACtC,+EAA+E;YAC/E,8DAA8D;YAC9D,MAAM,EAAE,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;OAa1B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;OAe1B,CAAC,CAAC;YACH,MAAM,EAAE,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;OAgB1B,CAAC,CAAC;YACH,MAAM,EAAE,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;OAa1B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1B,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE;YAC9B,IAAI,EAAE,EAAE,oBAAoB,EAAE,8BAA8B,EAAE;SAC/D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,8BAA8B;CAC/B,CAAC"}
|
|
@@ -14,11 +14,12 @@ export interface MemberHeartbeatSchedulerDeps {
|
|
|
14
14
|
*
|
|
15
15
|
* 现有 TeamRun 调度完全事件驱动(依赖 PTY 退出事件),无法发现“进程仍在但无任何进展”的卡死成员,
|
|
16
16
|
* 也没有任何地方周期调用 reconcileDueRoomReplyReminders。该调度器以固定 tick 周期承担五件事:
|
|
17
|
-
* 1.
|
|
18
|
-
* 2.
|
|
19
|
-
* 3.
|
|
20
|
-
* 4.
|
|
21
|
-
* 5.
|
|
17
|
+
* 1. 重试并恢复持久化的 owned process cleanup;
|
|
18
|
+
* 2. 首扫回收 server 重启后脱管的 RUNNING invocation(reconcileOrphanInvocations);
|
|
19
|
+
* 3. 修复 Invocation 已终态、WorkRequest 仍为 STARTED 的运行期半完成状态;
|
|
20
|
+
* 4. 唤醒/释放长时间无 session:patch 进展的 RUNNING 成员(reconcileStalledInvocations);
|
|
21
|
+
* 5. 推进到期的 room reply 补催(reconcileDueRoomReplyReminders);
|
|
22
|
+
* 6. 恢复 AUTO 或已批准 CONFIRM TeamRun 中没有活跃 invocation 的 QUEUED 请求。
|
|
22
23
|
*
|
|
23
24
|
* 唤醒与补催复用同一 reconciler 状态机(统一计数/退避/释放闭环)。
|
|
24
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-heartbeat-scheduler.d.ts","sourceRoot":"","sources":["../../src/services/member-heartbeat-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;CAC/D;AAED
|
|
1
|
+
{"version":3,"file":"member-heartbeat-scheduler.d.ts","sourceRoot":"","sources":["../../src/services/member-heartbeat-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoD;gBAElE,IAAI,EAAE,4BAA4B;IAW9C,KAAK,IAAI,IAAI;IAuBb,IAAI,IAAI,IAAI;YAYE,IAAI;YAuCJ,QAAQ;CAYvB"}
|
|
@@ -8,11 +8,12 @@ const INITIAL_SCAN_DELAY_MS = 10_000;
|
|
|
8
8
|
*
|
|
9
9
|
* 现有 TeamRun 调度完全事件驱动(依赖 PTY 退出事件),无法发现“进程仍在但无任何进展”的卡死成员,
|
|
10
10
|
* 也没有任何地方周期调用 reconcileDueRoomReplyReminders。该调度器以固定 tick 周期承担五件事:
|
|
11
|
-
* 1.
|
|
12
|
-
* 2.
|
|
13
|
-
* 3.
|
|
14
|
-
* 4.
|
|
15
|
-
* 5.
|
|
11
|
+
* 1. 重试并恢复持久化的 owned process cleanup;
|
|
12
|
+
* 2. 首扫回收 server 重启后脱管的 RUNNING invocation(reconcileOrphanInvocations);
|
|
13
|
+
* 3. 修复 Invocation 已终态、WorkRequest 仍为 STARTED 的运行期半完成状态;
|
|
14
|
+
* 4. 唤醒/释放长时间无 session:patch 进展的 RUNNING 成员(reconcileStalledInvocations);
|
|
15
|
+
* 5. 推进到期的 room reply 补催(reconcileDueRoomReplyReminders);
|
|
16
|
+
* 6. 恢复 AUTO 或已批准 CONFIRM TeamRun 中没有活跃 invocation 的 QUEUED 请求。
|
|
16
17
|
*
|
|
17
18
|
* 唤醒与补催复用同一 reconciler 状态机(统一计数/退避/释放闭环)。
|
|
18
19
|
*/
|
|
@@ -71,6 +72,7 @@ export class MemberHeartbeatScheduler {
|
|
|
71
72
|
this.running = true;
|
|
72
73
|
try {
|
|
73
74
|
// 各阶段相互隔离,避免历史坏记录阻断后续队列恢复。
|
|
75
|
+
await this.runStage('runtime process cleanup reconciliation', () => this.reconciler.reconcilePendingRuntimeCleanup());
|
|
74
76
|
if (!this.orphanScanDone && await this.runStage('orphan invocation reconciliation', () => this.reconciler.reconcileOrphanInvocations())) {
|
|
75
77
|
this.orphanScanDone = true;
|
|
76
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-heartbeat-scheduler.js","sourceRoot":"","sources":["../../src/services/member-heartbeat-scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,uDAAuD;AACvD,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAUrC
|
|
1
|
+
{"version":3,"file":"member-heartbeat-scheduler.js","sourceRoot":"","sources":["../../src/services/member-heartbeat-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,14 @@ import type { EventBus } from '../core/event-bus.js';
|
|
|
3
3
|
import { TeamReconcilerService } from './team-reconciler.service.js';
|
|
4
4
|
import { RuntimeType, type RuntimeStateDto } from '@agent-tower/shared';
|
|
5
5
|
import { type RuntimeRegistry } from '../runtime/index.js';
|
|
6
|
+
import { type PersistedAcpProcessIdentity } from '../runtime/acp/process-manager.js';
|
|
6
7
|
interface StopSessionOptions {
|
|
7
8
|
skipTeamRunReconcile?: boolean;
|
|
8
9
|
}
|
|
10
|
+
interface SendMessageOptions {
|
|
11
|
+
/** User message was already appended while claiming a queued turn. */
|
|
12
|
+
userEntryId?: string;
|
|
13
|
+
}
|
|
9
14
|
export declare class SessionManager {
|
|
10
15
|
private readonly eventBus;
|
|
11
16
|
private snapshotFlushTimers;
|
|
@@ -32,9 +37,22 @@ export declare class SessionManager {
|
|
|
32
37
|
private heartbeatThrottle;
|
|
33
38
|
private readonly teamReconciler;
|
|
34
39
|
private readonly runtimeCoordinator;
|
|
40
|
+
/** In-memory process owners are generation-scoped, never runtime-id global. */
|
|
35
41
|
private readonly runtimeProcessIds;
|
|
42
|
+
/** Early exit/tree completion events can arrive before started-row persistence. */
|
|
43
|
+
private readonly pendingRuntimeProcessEvents;
|
|
44
|
+
private readonly pendingRuntimeEventExpiryTimers;
|
|
36
45
|
private readonly runtimePermissionStates;
|
|
37
46
|
private readonly externalSessionPersistence;
|
|
47
|
+
/** Durable conversation turns are consumed one at a time per Session. */
|
|
48
|
+
private readonly conversationQueueWorkers;
|
|
49
|
+
private conversationQueueStopping;
|
|
50
|
+
/** Admission boundary covering the short initial-start -> process-owning handoff. */
|
|
51
|
+
private readonly pendingInitialStarts;
|
|
52
|
+
private readonly initialStartResolvers;
|
|
53
|
+
/** Same boundary for follow-up/reply turns, which can race a direct stop. */
|
|
54
|
+
private readonly pendingProcessStarts;
|
|
55
|
+
private readonly processStartResolvers;
|
|
38
56
|
private readonly artifactService;
|
|
39
57
|
private static readonly SNAPSHOT_CHECKPOINT_MS;
|
|
40
58
|
private static readonly HEARTBEAT_THROTTLE_MS;
|
|
@@ -71,9 +89,18 @@ export declare class SessionManager {
|
|
|
71
89
|
id: string;
|
|
72
90
|
createdAt: Date;
|
|
73
91
|
updatedAt: Date;
|
|
74
|
-
exitCode: number | null;
|
|
75
92
|
pid: number | null;
|
|
93
|
+
ownershipToken: string | null;
|
|
94
|
+
birthMarker: string | null;
|
|
95
|
+
processGroupId: string | null;
|
|
96
|
+
exitCode: number | null;
|
|
76
97
|
sessionId: string;
|
|
98
|
+
runtimeInstanceId: string | null;
|
|
99
|
+
launchClaimNumber: number | null;
|
|
100
|
+
cleanupState: string;
|
|
101
|
+
cleanupError: string | null;
|
|
102
|
+
cleanupAttemptCount: number;
|
|
103
|
+
nextCleanupRetryAt: Date | null;
|
|
77
104
|
}[];
|
|
78
105
|
} & {
|
|
79
106
|
id: string;
|
|
@@ -82,8 +109,13 @@ export declare class SessionManager {
|
|
|
82
109
|
agentType: string;
|
|
83
110
|
runtimeType: string;
|
|
84
111
|
status: string;
|
|
85
|
-
|
|
86
|
-
|
|
112
|
+
runtimeLaunchState: string;
|
|
113
|
+
runtimeLaunchClaimCount: number;
|
|
114
|
+
runtimeLaunchResolvedCount: number;
|
|
115
|
+
runtimeLaunchProcessCount: number;
|
|
116
|
+
runtimeLaunchDiagnostic: string | null;
|
|
117
|
+
runtimeLaunchDiagnosticCount: number;
|
|
118
|
+
runtimeLaunchNextDiagnosticAt: Date | null;
|
|
87
119
|
context: string;
|
|
88
120
|
externalSessionId: string | null;
|
|
89
121
|
variant: string;
|
|
@@ -92,8 +124,33 @@ export declare class SessionManager {
|
|
|
92
124
|
purpose: string;
|
|
93
125
|
logSnapshot: string | null;
|
|
94
126
|
tokenUsage: string | null;
|
|
127
|
+
workspaceId: string | null;
|
|
128
|
+
conversationId: string | null;
|
|
95
129
|
}) | null>;
|
|
96
130
|
getRuntimeState(sessionId: string, runtimeType?: RuntimeType): RuntimeStateDto;
|
|
131
|
+
/**
|
|
132
|
+
* Persist a conversation message and schedule its runtime turn. The caller
|
|
133
|
+
* only waits for the SQLite insert; ACP startup and prompt delivery happen
|
|
134
|
+
* in the per-session queue worker.
|
|
135
|
+
*/
|
|
136
|
+
enqueueConversationMessage(sessionId: string, message: string, providerId?: string): Promise<{
|
|
137
|
+
turnId: string;
|
|
138
|
+
}>;
|
|
139
|
+
/** Recover turns left in RUNNING state by an interrupted server process. */
|
|
140
|
+
startConversationQueue(): Promise<void>;
|
|
141
|
+
/** Stop scheduling new work during the Fastify shutdown phase. */
|
|
142
|
+
stopConversationQueue(): void;
|
|
143
|
+
/** Dispose a TeamRun-owned runtime after its invocation reaches a terminal state. */
|
|
144
|
+
disposeRuntimeSession(sessionId: string, expectedRuntimeInstanceId?: string): Promise<void>;
|
|
145
|
+
retryRuntimeProcessCleanup(input: PersistedAcpProcessIdentity & {
|
|
146
|
+
sessionId: string;
|
|
147
|
+
runtimeInstanceId: string;
|
|
148
|
+
}): Promise<void>;
|
|
149
|
+
hasRuntimeProcessOwner(runtimeInstanceId: string, sessionId?: string, launchClaimNumber?: number | null): boolean;
|
|
150
|
+
private quarantinePersistedRuntimeProcess;
|
|
151
|
+
private runtimeProcessKeyFor;
|
|
152
|
+
private launchClaimFromRuntimeProcessKey;
|
|
153
|
+
isRuntimeCleanupConfirmed(sessionId: string): Promise<boolean>;
|
|
97
154
|
resolveRuntimePermission(sessionId: string, requestId: string, optionId: string): Promise<void>;
|
|
98
155
|
create(workspaceId: string, agentType: AgentType, prompt: string, variant?: string, providerId?: string): Promise<{
|
|
99
156
|
id: string;
|
|
@@ -102,8 +159,13 @@ export declare class SessionManager {
|
|
|
102
159
|
agentType: string;
|
|
103
160
|
runtimeType: string;
|
|
104
161
|
status: string;
|
|
105
|
-
|
|
106
|
-
|
|
162
|
+
runtimeLaunchState: string;
|
|
163
|
+
runtimeLaunchClaimCount: number;
|
|
164
|
+
runtimeLaunchResolvedCount: number;
|
|
165
|
+
runtimeLaunchProcessCount: number;
|
|
166
|
+
runtimeLaunchDiagnostic: string | null;
|
|
167
|
+
runtimeLaunchDiagnosticCount: number;
|
|
168
|
+
runtimeLaunchNextDiagnosticAt: Date | null;
|
|
107
169
|
context: string;
|
|
108
170
|
externalSessionId: string | null;
|
|
109
171
|
variant: string;
|
|
@@ -112,6 +174,8 @@ export declare class SessionManager {
|
|
|
112
174
|
purpose: string;
|
|
113
175
|
logSnapshot: string | null;
|
|
114
176
|
tokenUsage: string | null;
|
|
177
|
+
workspaceId: string | null;
|
|
178
|
+
conversationId: string | null;
|
|
115
179
|
}>;
|
|
116
180
|
start(id: string): Promise<({
|
|
117
181
|
workspace: ({
|
|
@@ -161,8 +225,13 @@ export declare class SessionManager {
|
|
|
161
225
|
agentType: string;
|
|
162
226
|
runtimeType: string;
|
|
163
227
|
status: string;
|
|
164
|
-
|
|
165
|
-
|
|
228
|
+
runtimeLaunchState: string;
|
|
229
|
+
runtimeLaunchClaimCount: number;
|
|
230
|
+
runtimeLaunchResolvedCount: number;
|
|
231
|
+
runtimeLaunchProcessCount: number;
|
|
232
|
+
runtimeLaunchDiagnostic: string | null;
|
|
233
|
+
runtimeLaunchDiagnosticCount: number;
|
|
234
|
+
runtimeLaunchNextDiagnosticAt: Date | null;
|
|
166
235
|
context: string;
|
|
167
236
|
externalSessionId: string | null;
|
|
168
237
|
variant: string;
|
|
@@ -171,6 +240,8 @@ export declare class SessionManager {
|
|
|
171
240
|
purpose: string;
|
|
172
241
|
logSnapshot: string | null;
|
|
173
242
|
tokenUsage: string | null;
|
|
243
|
+
workspaceId: string | null;
|
|
244
|
+
conversationId: string | null;
|
|
174
245
|
}) | null>;
|
|
175
246
|
startFollowUp(id: string, resumeFromSessionId: string): Promise<({
|
|
176
247
|
workspace: ({
|
|
@@ -220,8 +291,13 @@ export declare class SessionManager {
|
|
|
220
291
|
agentType: string;
|
|
221
292
|
runtimeType: string;
|
|
222
293
|
status: string;
|
|
223
|
-
|
|
224
|
-
|
|
294
|
+
runtimeLaunchState: string;
|
|
295
|
+
runtimeLaunchClaimCount: number;
|
|
296
|
+
runtimeLaunchResolvedCount: number;
|
|
297
|
+
runtimeLaunchProcessCount: number;
|
|
298
|
+
runtimeLaunchDiagnostic: string | null;
|
|
299
|
+
runtimeLaunchDiagnosticCount: number;
|
|
300
|
+
runtimeLaunchNextDiagnosticAt: Date | null;
|
|
225
301
|
context: string;
|
|
226
302
|
externalSessionId: string | null;
|
|
227
303
|
variant: string;
|
|
@@ -230,8 +306,10 @@ export declare class SessionManager {
|
|
|
230
306
|
purpose: string;
|
|
231
307
|
logSnapshot: string | null;
|
|
232
308
|
tokenUsage: string | null;
|
|
309
|
+
workspaceId: string | null;
|
|
310
|
+
conversationId: string | null;
|
|
233
311
|
}) | null>;
|
|
234
|
-
sendMessage(id: string, message: string, providerId?: string): Promise<({
|
|
312
|
+
sendMessage(id: string, message: string, providerId?: string, expectedTeamRunInvocationId?: string, options?: SendMessageOptions): Promise<({
|
|
235
313
|
workspace: ({
|
|
236
314
|
task: {
|
|
237
315
|
id: string;
|
|
@@ -279,8 +357,13 @@ export declare class SessionManager {
|
|
|
279
357
|
agentType: string;
|
|
280
358
|
runtimeType: string;
|
|
281
359
|
status: string;
|
|
282
|
-
|
|
283
|
-
|
|
360
|
+
runtimeLaunchState: string;
|
|
361
|
+
runtimeLaunchClaimCount: number;
|
|
362
|
+
runtimeLaunchResolvedCount: number;
|
|
363
|
+
runtimeLaunchProcessCount: number;
|
|
364
|
+
runtimeLaunchDiagnostic: string | null;
|
|
365
|
+
runtimeLaunchDiagnosticCount: number;
|
|
366
|
+
runtimeLaunchNextDiagnosticAt: Date | null;
|
|
284
367
|
context: string;
|
|
285
368
|
externalSessionId: string | null;
|
|
286
369
|
variant: string;
|
|
@@ -289,6 +372,8 @@ export declare class SessionManager {
|
|
|
289
372
|
purpose: string;
|
|
290
373
|
logSnapshot: string | null;
|
|
291
374
|
tokenUsage: string | null;
|
|
375
|
+
workspaceId: string | null;
|
|
376
|
+
conversationId: string | null;
|
|
292
377
|
}) | null>;
|
|
293
378
|
stop(id: string, options?: StopSessionOptions): Promise<{
|
|
294
379
|
id: string;
|
|
@@ -297,8 +382,13 @@ export declare class SessionManager {
|
|
|
297
382
|
agentType: string;
|
|
298
383
|
runtimeType: string;
|
|
299
384
|
status: string;
|
|
300
|
-
|
|
301
|
-
|
|
385
|
+
runtimeLaunchState: string;
|
|
386
|
+
runtimeLaunchClaimCount: number;
|
|
387
|
+
runtimeLaunchResolvedCount: number;
|
|
388
|
+
runtimeLaunchProcessCount: number;
|
|
389
|
+
runtimeLaunchDiagnostic: string | null;
|
|
390
|
+
runtimeLaunchDiagnosticCount: number;
|
|
391
|
+
runtimeLaunchNextDiagnosticAt: Date | null;
|
|
302
392
|
context: string;
|
|
303
393
|
externalSessionId: string | null;
|
|
304
394
|
variant: string;
|
|
@@ -307,6 +397,8 @@ export declare class SessionManager {
|
|
|
307
397
|
purpose: string;
|
|
308
398
|
logSnapshot: string | null;
|
|
309
399
|
tokenUsage: string | null;
|
|
400
|
+
workspaceId: string | null;
|
|
401
|
+
conversationId: string | null;
|
|
310
402
|
} | null>;
|
|
311
403
|
/** @deprecated Use hasActiveTurn(). */
|
|
312
404
|
hasActivePipeline(sessionId: string): boolean;
|
|
@@ -320,12 +412,29 @@ export declare class SessionManager {
|
|
|
320
412
|
resize(sessionId: string, cols: number, rows: number): void;
|
|
321
413
|
/** Close all runtime driver sessions during graceful server shutdown. */
|
|
322
414
|
destroyAll(): Promise<void>;
|
|
415
|
+
private kickConversationQueue;
|
|
416
|
+
private processConversationQueue;
|
|
417
|
+
private requeueConversationTurn;
|
|
323
418
|
private resolveAgentSessionId;
|
|
324
419
|
private startRuntimeTurn;
|
|
420
|
+
private claimRuntimeLaunch;
|
|
421
|
+
private resolveReusedRuntimeLaunch;
|
|
422
|
+
private resolvePreChildRuntimeLaunchFailure;
|
|
423
|
+
private quarantineRuntimeLaunch;
|
|
424
|
+
private reserveInitialStart;
|
|
425
|
+
private reserveProcessStart;
|
|
426
|
+
private assertTeamRunDispatchAdmitted;
|
|
325
427
|
private handleRuntimeTurnEvent;
|
|
326
428
|
private handleRuntimeState;
|
|
327
429
|
private invalidateTeamRunRuntimeState;
|
|
328
430
|
private handleRuntimeProcessEvent;
|
|
431
|
+
private pendingRuntimeEventCount;
|
|
432
|
+
private clearPendingRuntimeProcessEvents;
|
|
433
|
+
private clearPendingRuntimeEventExpiryTimer;
|
|
434
|
+
private prunePendingRuntimeProcessEvents;
|
|
435
|
+
private quarantineRuntimeProcessEvent;
|
|
436
|
+
private markRuntimeProcessCleanupPending;
|
|
437
|
+
private markRuntimeProcessCleanupState;
|
|
329
438
|
private normalizeRuntimeType;
|
|
330
439
|
private injectAgentTowerMcpServiceEnv;
|
|
331
440
|
private injectTeamRunInvocationEnv;
|
|
@@ -342,6 +451,7 @@ export declare class SessionManager {
|
|
|
342
451
|
private releaseSnapshotPersistenceState;
|
|
343
452
|
private extractTokenUsageFromSnapshot;
|
|
344
453
|
private findSessionExecutionRecord;
|
|
454
|
+
private appendUserMessageEntry;
|
|
345
455
|
private isConversationSession;
|
|
346
456
|
private ensureExecutionRecordIsLive;
|
|
347
457
|
private getExecutionWorkingDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/services/session-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAA6D,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/services/session-manager.ts"],"names":[],"mappings":"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"}
|