sensorium-mcp 3.1.0-refactor.1 → 3.1.0-refactor.3

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 (79) hide show
  1. package/Install-Sensorium.ps1 +19 -5
  2. package/dist/config/agent-settings.d.ts +7 -0
  3. package/dist/config/agent-settings.d.ts.map +1 -1
  4. package/dist/config/agent-settings.js +14 -0
  5. package/dist/config/agent-settings.js.map +1 -1
  6. package/dist/dashboard/routes/claude.d.ts.map +1 -1
  7. package/dist/dashboard/routes/claude.js +9 -1
  8. package/dist/dashboard/routes/claude.js.map +1 -1
  9. package/dist/dashboard/spa.html +11 -11
  10. package/dist/index.js +19 -9
  11. package/dist/index.js.map +1 -1
  12. package/dist/integrations/openai/chat.d.ts +2 -0
  13. package/dist/integrations/openai/chat.d.ts.map +1 -1
  14. package/dist/integrations/openai/chat.js +14 -1
  15. package/dist/integrations/openai/chat.js.map +1 -1
  16. package/dist/integrations/openai/speech.d.ts +3 -1
  17. package/dist/integrations/openai/speech.d.ts.map +1 -1
  18. package/dist/integrations/openai/speech.js +5 -1
  19. package/dist/integrations/openai/speech.js.map +1 -1
  20. package/dist/server/factory.js +6 -7
  21. package/dist/server/factory.js.map +1 -1
  22. package/dist/server/http-server.d.ts +1 -0
  23. package/dist/server/http-server.d.ts.map +1 -1
  24. package/dist/server/http-server.js +45 -3
  25. package/dist/server/http-server.js.map +1 -1
  26. package/dist/services/claude-spawn.service.d.ts.map +1 -1
  27. package/dist/services/claude-spawn.service.js +70 -4
  28. package/dist/services/claude-spawn.service.js.map +1 -1
  29. package/dist/services/consolidation.service.d.ts.map +1 -1
  30. package/dist/services/consolidation.service.js +3 -0
  31. package/dist/services/consolidation.service.js.map +1 -1
  32. package/dist/services/dispatcher/poller.d.ts.map +1 -1
  33. package/dist/services/dispatcher/poller.js +12 -0
  34. package/dist/services/dispatcher/poller.js.map +1 -1
  35. package/dist/services/keeper.service.d.ts.map +1 -1
  36. package/dist/services/keeper.service.js +97 -1
  37. package/dist/services/keeper.service.js.map +1 -1
  38. package/dist/services/process.service.d.ts.map +1 -1
  39. package/dist/services/process.service.js +30 -0
  40. package/dist/services/process.service.js.map +1 -1
  41. package/dist/services/spawn-common.d.ts.map +1 -1
  42. package/dist/services/spawn-common.js +9 -2
  43. package/dist/services/spawn-common.js.map +1 -1
  44. package/dist/services/thread-lifecycle.service.d.ts.map +1 -1
  45. package/dist/services/thread-lifecycle.service.js +5 -0
  46. package/dist/services/thread-lifecycle.service.js.map +1 -1
  47. package/dist/services/usage-metering/index.d.ts +13 -0
  48. package/dist/services/usage-metering/index.d.ts.map +1 -0
  49. package/dist/services/usage-metering/index.js +10 -0
  50. package/dist/services/usage-metering/index.js.map +1 -0
  51. package/dist/services/usage-metering/meter.d.ts +34 -0
  52. package/dist/services/usage-metering/meter.d.ts.map +1 -0
  53. package/dist/services/usage-metering/meter.js +28 -0
  54. package/dist/services/usage-metering/meter.js.map +1 -0
  55. package/dist/services/usage-metering/pricing.d.ts +39 -0
  56. package/dist/services/usage-metering/pricing.d.ts.map +1 -0
  57. package/dist/services/usage-metering/pricing.js +49 -0
  58. package/dist/services/usage-metering/pricing.js.map +1 -0
  59. package/dist/services/usage-metering/sink.d.ts +24 -0
  60. package/dist/services/usage-metering/sink.d.ts.map +1 -0
  61. package/dist/services/usage-metering/sink.js +56 -0
  62. package/dist/services/usage-metering/sink.js.map +1 -0
  63. package/dist/services/worker-cleanup.service.d.ts +12 -0
  64. package/dist/services/worker-cleanup.service.d.ts.map +1 -1
  65. package/dist/services/worker-cleanup.service.js +188 -66
  66. package/dist/services/worker-cleanup.service.js.map +1 -1
  67. package/dist/sessions/mcp-registry.d.ts +6 -0
  68. package/dist/sessions/mcp-registry.d.ts.map +1 -1
  69. package/dist/sessions/mcp-registry.js +8 -0
  70. package/dist/sessions/mcp-registry.js.map +1 -1
  71. package/dist/tools/delegate-tool.d.ts.map +1 -1
  72. package/dist/tools/delegate-tool.js +84 -4
  73. package/dist/tools/delegate-tool.js.map +1 -1
  74. package/dist/tools/wait/media-processor.js +2 -2
  75. package/dist/tools/wait/media-processor.js.map +1 -1
  76. package/dist/tools/wait/poll-loop.d.ts.map +1 -1
  77. package/dist/tools/wait/poll-loop.js +18 -0
  78. package/dist/tools/wait/poll-loop.js.map +1 -1
  79. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { unlinkSync, readFileSync, writeFileSync, renameSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { archiveNotesForThread } from "../data/memory/note-archival.js";
4
4
  import { closeThreadSessions } from "../sessions/mcp-registry.js";
5
- import { getExplicitTelegramTopicId } from "../data/memory/thread-registry.js";
5
+ import { getExplicitTelegramTopicId, updateThread } from "../data/memory/thread-registry.js";
6
6
  import { errorMessage } from "../lib/utils.js";
7
7
  import { spawnedThreads, readPidFiles, killProcessTree, isProcessAlive, clearTaskConsumed, deletePendingTaskMailbox, PROCESS_BASE_DIR, } from "./process.service.js";
8
8
  import { ThreadState } from "./thread-lifecycle.service.js";
@@ -12,7 +12,50 @@ import { log } from "../lib/logger.js";
12
12
  function topicAlreadyGone(msg) {
13
13
  return /TOPIC_ID_INVALID|message thread not found/i.test(msg);
14
14
  }
15
+ // ── Worker TTL grace window ─────────────────────────────────────────────────
16
+ // When a worker crosses its 1h TTL we do NOT force-kill it on the spot. The
17
+ // first sweep that finds it past-TTL instead puts it into a GRACE window: its
18
+ // MCP socket is left OPEN so the worker can finish its current turn and deliver
19
+ // its final result to the orchestrator (via send_message_to_thread). A LATER
20
+ // sweep, once the grace deadline has passed, runs the full teardown.
21
+ //
22
+ // WORKER_GRACE_MS is a MINIMUM, not a precise teardown deadline. Phase 1 (enter
23
+ // grace) and Phase 2 (teardown) each require a separate cleanup sweep, and the
24
+ // sweep runs on a fixed cadence (WORKER_CLEANUP_INTERVAL_MS in background-runner,
25
+ // ~5 min). So the grace window is quantized up to the next sweep boundary: the
26
+ // effective teardown of a worker that never delivers is bounded by TTL + grace
27
+ // rounded up to ~1–2 sweep intervals — worst case on the order of 5–10 min past
28
+ // TTL, never unbounded. A well-behaved worker self-exits within seconds of the
29
+ // wrap-up signal and never waits for Phase 2. The TTL itself is unchanged; grace
30
+ // only adds a bounded clean-shutdown tail. Override 60s via WORKER_GRACE_SECONDS.
31
+ export const WORKER_GRACE_MS = (() => {
32
+ const s = Number(process.env.WORKER_GRACE_SECONDS);
33
+ return Number.isFinite(s) && s > 0 ? s * 1000 : 60_000;
34
+ })();
35
+ // threadId → absolute ms deadline after which the full teardown runs. In-memory
36
+ // only: on a server restart the map is empty, so a still-past-TTL worker simply
37
+ // re-enters grace on the next sweep and is cleaned up then — it can never get
38
+ // stuck un-cleaned. The hard TTL+grace cap resets at worst once per restart.
39
+ const workerGraceDeadlines = new Map();
40
+ /** True while a worker is inside its TTL grace window (winding down, but its MCP
41
+ * socket is still open so it can deliver a final result). Read by the poll loop
42
+ * (to tell the worker to wrap up) and by send_message_to_thread (to honestly
43
+ * reject new orchestrator work rather than silently queue it to a dying worker). */
44
+ export function isWorkerInGrace(threadId) {
45
+ return workerGraceDeadlines.has(threadId);
46
+ }
47
+ /** Drop a worker's grace-map entry without running teardown. Used by the terminal
48
+ * self-exit path in handleProcessExit, which returns without calling
49
+ * decommissionWorker (the DB row is already Archived/Expired) and would otherwise
50
+ * leak the in-memory deadline forever. Best-effort and safe if no entry exists. */
51
+ export function clearWorkerGrace(threadId) {
52
+ workerGraceDeadlines.delete(threadId);
53
+ }
15
54
  export async function decommissionWorker(thread, deps) {
55
+ // Grace is over the moment full teardown begins — drop any deadline so the map
56
+ // never retains a stale entry (also covers the self-exit path where the worker
57
+ // exited during grace and handleProcessExit decommissions it directly).
58
+ workerGraceDeadlines.delete(thread.threadId);
16
59
  // 0. Mark thread as Exiting so the state machine reflects teardown-in-progress
17
60
  try {
18
61
  deps.threadLifecycle.transitionThread(deps.db, thread.threadId, ThreadState.Exiting);
@@ -20,23 +63,42 @@ export async function decommissionWorker(thread, deps) {
20
63
  catch (err) {
21
64
  log.warn(`[decommission] transitionThread failed for ${thread.threadId}: ${errorMessage(err)}`);
22
65
  }
23
- // 1. Close MCP transport(s) so the agent's event loop drains and its process
24
- // exits ON ITS OWN. A server's own child cannot be reliably force-killed on
25
- // Windows (parent→child EPERM), but the server owns the socket — closing it
26
- // is the reliable teardown. The kill below stays as a fast-path backstop.
27
- try {
28
- const closed = closeThreadSessions(thread.threadId);
29
- if (closed > 0)
30
- log.info(`[decommission] Closed ${closed} MCP transport(s) for thread ${thread.threadId}.`);
31
- }
32
- catch (err) {
33
- log.warn(`[decommission] closeThreadSessions failed for ${thread.threadId}: ${errorMessage(err)}`);
34
- }
35
- // 2. Kill process (no-op if already dead)
66
+ // 1. Kill the process FIRST (no-op if already dead). We must confirm the agent
67
+ // is gone before touching its MCP transport. Closing the socket of a LIVE
68
+ // agent we could NOT kill (EPERM on a server's own Windows child) does NOT
69
+ // make a mid-task agent self-exit — it just ORPHANS it: alive, but with no
70
+ // MCP connection → wedged forever. So kill, then close only if confirmed dead.
36
71
  if (thread.pid !== undefined) {
37
72
  await killProcessTree(thread.pid, thread.threadId, "decommission", thread.startedAt);
38
73
  }
39
- // 3. Delete Telegram topic
74
+ // 2. Tear down MCP transport(s) ONLY once the process is confirmed dead. A dead
75
+ // process's socket is already gone, so this is bookkeeping (and marks the
76
+ // close expected so http-server's onclose does not re-kill). If the kill
77
+ // EPERM-failed and the agent is still alive, LEAVE the transport OPEN so the
78
+ // live agent stays connected and functional instead of being orphaned — an
79
+ // idle unkillable worker simply stays parked in wait, which is harmless.
80
+ const processGone = thread.pid === undefined || !isProcessAlive(thread.pid, thread.startedAt);
81
+ if (processGone) {
82
+ try {
83
+ const closed = closeThreadSessions(thread.threadId);
84
+ if (closed > 0)
85
+ log.info(`[decommission] Closed ${closed} MCP transport(s) for thread ${thread.threadId}.`);
86
+ }
87
+ catch (err) {
88
+ log.warn(`[decommission] closeThreadSessions failed for ${thread.threadId}: ${errorMessage(err)}`);
89
+ }
90
+ }
91
+ else {
92
+ // Kill EPERM-failed and the agent is still alive. Abort teardown entirely:
93
+ // deleting the topic, archiving notes/DB, or dropping in-memory tracking now
94
+ // would erase a RUNNING worker's topic and untrack it while it keeps going.
95
+ // Leave everything intact (transport already left open above) and return — a
96
+ // later sweep re-runs decommission and completes it once the process is dead
97
+ // (the keeper escalates a truly unkillable process in the meantime).
98
+ log.warn(`[decommission] Worker thread ${thread.threadId} survived kill (still alive) — aborting teardown; topic, notes, DB row and tracking preserved until the process is confirmed dead.`);
99
+ return;
100
+ }
101
+ // 3. Delete Telegram topic (reached only when the process is confirmed dead).
40
102
  try {
41
103
  const topicId = getExplicitTelegramTopicId(deps.db, thread.threadId) ?? thread.threadId;
42
104
  await deps.telegram.deleteForumTopic(deps.chatId, topicId);
@@ -129,9 +191,8 @@ async function finalizeDeadWorker(threadId, pidFilePath, db, telegram, chatId, t
129
191
  }
130
192
  }
131
193
  }
132
- const DEFAULT_WORKER_TTL_MS = 60 * 60 * 1000;
194
+ export const DEFAULT_WORKER_TTL_MS = 60 * 60 * 1000;
133
195
  const UNKILLABLE_RENOTIFY_MS = 60 * 60 * 1000; // re-ping the operator at most hourly once the alert threshold is crossed
134
- let orphanSweepDone = false;
135
196
  // How long a worker must resist every kill before we bother the operator. Wedged
136
197
  // workers almost always self-thaw and die within seconds-to-minutes (Windows S0
137
198
  // Modern Standby freezes background processes; taskkill EPERMs until they wake),
@@ -201,8 +262,10 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
201
262
  const now = Date.now();
202
263
  for (const thread of spawnedThreads.filter((t) => t.threadType === "worker" && now - t.createdAt > ttlMs)) {
203
264
  try {
204
- await cleanupSingleWorker(thread, db, telegram, chatId, threadLifecycle);
205
- result.cleaned++;
265
+ // Two-phase teardown: only counts as "cleaned" once the worker is actually
266
+ // torn down (Phase 2). Phase 1 just opens the grace window and returns false.
267
+ if (await cleanupSingleWorker(thread, db, telegram, chatId, threadLifecycle))
268
+ result.cleaned++;
206
269
  }
207
270
  catch (err) {
208
271
  result.errors.push(`Thread ${thread.threadId}: ${errorMessage(err)}`);
@@ -236,17 +299,11 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
236
299
  const inMemEntry = spawnedThreads.find((t) => t.threadId === row.thread_id);
237
300
  const killPid = pidEntry?.pid ?? inMemEntry?.pid;
238
301
  const killStartedAt = pidEntry?.startedAt ?? inMemEntry?.startedAt;
239
- // Close the MCP transport first so the agent process drains and exits on
240
- // its own (the reliable teardown; force-kill of a server child is racy on
241
- // Windows). killProcessTree below is a best-effort fast-path backstop.
242
- try {
243
- const closed = closeThreadSessions(row.thread_id);
244
- if (closed > 0)
245
- log.info(`[worker-cleanup] Closed ${closed} MCP transport(s) for stale worker thread ${row.thread_id}.`);
246
- }
247
- catch (err) {
248
- log.warn(`[worker-cleanup] closeThreadSessions failed for stale thread ${row.thread_id}: ${errorMessage(err)}`);
249
- }
302
+ // Kill the process FIRST (best-effort). Do NOT close the MCP transport of
303
+ // a still-live agent: closing a mid-task agent's socket does not make it
304
+ // self-exit — it orphans it (alive, but no MCP connection → wedged). So
305
+ // confirm death via the kill, then tear the transport down only in the
306
+ // confirmed-dead branch below.
250
307
  if (killPid)
251
308
  await killProcessTree(killPid, row.thread_id, "worker-cleanup-expired", killStartedAt);
252
309
  // Invariant: a worker's topic is deleted ONLY when its process is confirmed
@@ -255,6 +312,16 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
255
312
  // here would orphan the topic of a still-running worker.
256
313
  const processGone = !killPid || !isProcessAlive(killPid, killStartedAt);
257
314
  if (processGone) {
315
+ // Confirmed dead — its socket is already gone, so closing the transport
316
+ // is bookkeeping (and marks the close expected). Safe now.
317
+ try {
318
+ const closed = closeThreadSessions(row.thread_id);
319
+ if (closed > 0)
320
+ log.info(`[worker-cleanup] Closed ${closed} MCP transport(s) for stale worker thread ${row.thread_id}.`);
321
+ }
322
+ catch (err) {
323
+ log.warn(`[worker-cleanup] closeThreadSessions failed for stale thread ${row.thread_id}: ${errorMessage(err)}`);
324
+ }
258
325
  try {
259
326
  // For workers, thread_id IS the Telegram topic ID (created via createManagedTopic).
260
327
  // Use explicit telegram_topic_id if set, otherwise fall back to thread_id.
@@ -275,7 +342,9 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
275
342
  clearUnkillableAttempt(row.thread_id);
276
343
  }
277
344
  else {
278
- log.warn(`[worker-cleanup] Stale worker thread ${row.thread_id} survived kill — deferring topic deletion to reaper (process still alive).`);
345
+ // Left alive by an EPERM kill — leave the MCP transport OPEN (closing it
346
+ // would orphan the live agent) and defer topic deletion to the reaper.
347
+ log.warn(`[worker-cleanup] Stale worker thread ${row.thread_id} survived kill — leaving its MCP transport open and deferring topic deletion to reaper (process still alive).`);
279
348
  }
280
349
  threadLifecycle.archiveThread(db, row.thread_id);
281
350
  try {
@@ -300,30 +369,51 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
300
369
  catch (err) {
301
370
  log.warn(`[worker-cleanup] Failed to query stale DB workers: ${errorMessage(err)}`);
302
371
  }
303
- // One-time sweep: delete orphan Telegram topics for already-archived workers
304
- // (legacy bug: telegram_topic_id was not set at registration time).
305
- if (!orphanSweepDone)
306
- try {
307
- orphanSweepDone = true;
308
- const orphanRows = db
309
- .prepare(`SELECT thread_id, telegram_topic_id FROM thread_registry
310
- WHERE type = 'worker' AND status = 'archived'`)
311
- .all();
312
- for (const row of orphanRows) {
313
- const topicId = row.telegram_topic_id ?? row.thread_id;
314
- try {
315
- await telegram.deleteForumTopic(chatId, topicId);
316
- result.cleaned++;
317
- log.info(`[worker-cleanup] Deleted orphan topic ${topicId} for archived worker ${row.thread_id}`);
372
+ // Periodic self-clearing sweep: delete leftover Telegram topics for workers that
373
+ // are already archived but whose topic was never deleted (e.g. archived via a raw
374
+ // status update that bypassed the normal decommission/topic-delete path). Safe to
375
+ // run every cycle: it selects ONLY rows that still carry a topic id, and nulls the
376
+ // id after a successful (or already-gone) delete, so each orphan is handled once
377
+ // and the query converges to empty. The `IS NOT NULL` gate guarantees we delete
378
+ // the EXPLICIT topic id — never the thread_id fallback that once removed a root
379
+ // topic (see topic-deletion-bug).
380
+ try {
381
+ const orphanRows = db
382
+ .prepare(`SELECT thread_id, telegram_topic_id FROM thread_registry
383
+ WHERE type = 'worker' AND status = 'archived' AND telegram_topic_id IS NOT NULL`)
384
+ .all();
385
+ for (const row of orphanRows) {
386
+ // Guard against a concurrent unarchive between snapshot and delete: re-read
387
+ // the row and skip if it is no longer an archived worker still carrying this
388
+ // exact topic id — otherwise we could delete a just-reactivated worker's topic.
389
+ const cur = db
390
+ .prepare(`SELECT status, telegram_topic_id FROM thread_registry WHERE thread_id = ?`)
391
+ .get(row.thread_id);
392
+ if (!cur || cur.status !== "archived" || cur.telegram_topic_id !== row.telegram_topic_id)
393
+ continue;
394
+ try {
395
+ await telegram.deleteForumTopic(chatId, row.telegram_topic_id);
396
+ updateThread(db, row.thread_id, { telegramTopicId: null });
397
+ result.cleaned++;
398
+ log.info(`[worker-cleanup] Deleted orphan topic ${row.telegram_topic_id} for archived worker ${row.thread_id}`);
399
+ }
400
+ catch (err) {
401
+ const msg = errorMessage(err);
402
+ if (topicAlreadyGone(msg)) {
403
+ // Already gone IS the desired end state — clear the id so we stop revisiting it.
404
+ updateThread(db, row.thread_id, { telegramTopicId: null });
405
+ log.info(`[worker-cleanup] Orphan topic for archived worker ${row.thread_id} already gone (${msg}) — cleared.`);
318
406
  }
319
- catch {
320
- // Topic already deleted or invalid — ignore
407
+ else {
408
+ // Genuine transient Telegram failure — leave the id set to retry next cycle.
409
+ log.warn(`[worker-cleanup] deleteForumTopic failed for archived worker ${row.thread_id} — will retry next cycle: ${msg}`);
321
410
  }
322
411
  }
323
412
  }
324
- catch (err) {
325
- log.warn(`[worker-cleanup] Failed to sweep orphan topics: ${errorMessage(err)}`);
326
- }
413
+ }
414
+ catch (err) {
415
+ log.warn(`[worker-cleanup] Failed to sweep orphan topics: ${errorMessage(err)}`);
416
+ }
327
417
  // Backstop process reaper: a worker process must be stopped in ANY case once
328
418
  // it should no longer be running. The stale-rows path above skips already-
329
419
  // archived rows, and the archived-topic sweep never killed the
@@ -339,6 +429,12 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
339
429
  const isWorker = entry.threadType === "worker" || row?.type === "worker";
340
430
  if (!isWorker)
341
431
  continue;
432
+ // Respect the TTL grace window: a worker mid-grace is INTENTIONALLY left
433
+ // alive with its MCP socket open so it can deliver a final result. The
434
+ // two-phase teardown in cleanupSingleWorker owns killing it once grace
435
+ // expires — reaping it here would defeat the grace and drop its result.
436
+ if (isWorkerInGrace(entry.threadId))
437
+ continue;
342
438
  // HARD lifetime cap from created_at (see staleRows above): an idle worker
343
439
  // refreshing last_active_at must still die once it outlives ttlMs.
344
440
  const pastTtl = row?.ts ? now - new Date(row.ts).getTime() > ttlMs : true;
@@ -354,15 +450,12 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
354
450
  result.cleaned++;
355
451
  continue;
356
452
  }
357
- // Reliable teardown for the EPERM-unkillable case: an agent that outlived
358
- // its thread is still holding an open MCP socket to this server, which is
359
- // what keeps its Node event loop alive. Close that socket — the client
360
- // gets a FIN, drains, and the process exits ON ITS OWN. This is the fix
361
- // for exactly the wedged-child case where killProcessTree hits EPERM.
362
- const closedTransports = closeThreadSessions(entry.threadId);
363
- if (closedTransports > 0) {
364
- log.info(`[worker-cleanup] Closed ${closedTransports} MCP transport(s) for lingering worker thread ${entry.threadId} — awaiting self-exit.`);
365
- }
453
+ // Attempt to reap the lingering process. Do NOT close its MCP transport
454
+ // first: for a BUSY agent the kill can EPERM-fail (a server cannot reliably
455
+ // kill its own Windows child), and closing the socket of an agent we could
456
+ // not kill does not make a mid-task agent self-exit — it ORPHANS it (alive,
457
+ // but with no MCP connection → wedged forever). So kill first; only once the
458
+ // process is confirmed dead (below) do we tear the transport down.
366
459
  await killProcessTree(entry.pid, entry.threadId, "worker-cleanup-reap", entry.startedAt);
367
460
  // killProcessTree resolves even when the kill FAILS (e.g. EPERM on a
368
461
  // Windows claude.exe whose wedged bash.exe child makes taskkill /T a
@@ -371,11 +464,11 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
371
464
  // hiding a zombie that then reappears and "reaps" forever. If it survived,
372
465
  // surface it to the operator (rate-limited) so it gets a manual kill.
373
466
  if (isProcessAlive(entry.pid, entry.startedAt)) {
374
- // If we JUST closed its socket this pass, the self-exit is still
375
- // draining — don't cry "unkillable" yet. Give it until the next sweep;
376
- // by then it has either exited (caught above) or is genuinely wedged.
377
- if (closedTransports > 0)
378
- continue;
467
+ // Still alive after an EPERM kill — LEAVE its MCP transport OPEN so the
468
+ // agent stays connected rather than being orphaned (closing a live agent's
469
+ // socket does not make it self-exit if it is mid-task). An idle unkillable
470
+ // worker simply stays parked in wait, which is harmless; it is escalated
471
+ // to the operator below once it has resisted for the full threshold.
379
472
  const name = row?.name ?? `thread ${entry.threadId}`;
380
473
  // Anchor the clock at the first survived kill (persisted). Keep retrying
381
474
  // silently — most wedged workers thaw and die within minutes. Only once a
@@ -408,8 +501,15 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
408
501
  continue;
409
502
  }
410
503
  clearUnkillableAttempt(entry.threadId);
504
+ // Confirmed dead after kill — its socket is already gone, so closing the
505
+ // transport is bookkeeping (and marks the close expected). Do it now, then
506
+ // delete the topic (invariant-safe) and finalize.
507
+ const closedTransports = closeThreadSessions(entry.threadId);
508
+ if (closedTransports > 0) {
509
+ log.info(`[worker-cleanup] Closed ${closedTransports} MCP transport(s) for reaped worker thread ${entry.threadId}.`);
510
+ }
411
511
  log.info(`[worker-cleanup] Reaped lingering worker pid=${entry.pid} thread=${entry.threadId} (status=${row?.status ?? "unknown"}, pastTtl=${pastTtl})`);
412
- // Confirmed dead after kill — delete the topic (invariant-safe) and finalize.
512
+ // Delete the topic (invariant-safe) and finalize.
413
513
  await finalizeDeadWorker(entry.threadId, entry.filePath, db, telegram, chatId, threadLifecycle);
414
514
  result.cleaned++;
415
515
  }
@@ -419,7 +519,29 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
419
519
  }
420
520
  return result;
421
521
  }
522
+ /** Two-phase TTL teardown for a past-TTL worker still tracked in spawnedThreads.
523
+ * Phase 1 (first past-TTL sweep): enter the grace window and return WITHOUT
524
+ * closing the MCP socket or killing the process, so the worker can finish its
525
+ * turn and deliver a final result. Phase 2 (a later sweep, once the grace
526
+ * deadline passes): run the full teardown. Returns true only when Phase 2
527
+ * actually tore the worker down, so the caller only counts real cleanups. */
422
528
  async function cleanupSingleWorker(thread, db, telegram, chatId, threadLifecycle) {
529
+ const now = Date.now();
530
+ const deadline = workerGraceDeadlines.get(thread.threadId);
531
+ if (deadline === undefined) {
532
+ // Phase 1: enter grace. Do NOT closeThreadSessions and do NOT killProcessTree
533
+ // — the MCP socket MUST stay open so the worker can still deliver its result.
534
+ // The poll loop surfaces the "wrap up" message to the worker via isWorkerInGrace.
535
+ workerGraceDeadlines.set(thread.threadId, now + WORKER_GRACE_MS);
536
+ log.info(`[worker-cleanup] Worker ${thread.threadId} ('${thread.name}') past TTL — entering grace (min ${Math.round(WORKER_GRACE_MS / 1000)}s) to deliver its final result. Teardown happens on a later sweep, so effective kill of a non-delivering worker is bounded by the sweep cadence (~5–10 min past TTL), not exactly ${Math.round(WORKER_GRACE_MS / 1000)}s.`);
537
+ return false;
538
+ }
539
+ if (now <= deadline) {
540
+ // Still inside grace — keep the socket open and let the worker finish.
541
+ return false;
542
+ }
543
+ // Phase 2: grace elapsed — full teardown (decommissionWorker clears the deadline).
423
544
  await decommissionWorker(thread, { db, telegram, chatId, threadLifecycle });
545
+ return true;
424
546
  }
425
547
  //# sourceMappingURL=worker-cleanup.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-cleanup.service.js","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-cleanup.service.js","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,12 @@ export declare function reconcileThreadOwnership(mcpSessionId: string | undefine
33
33
  export declare function setThreadOwnerSession(threadId: number, mcpSessionId: string): void;
34
34
  export declare function registerMcpSession(threadId: number, mcpSessionId: string, closeTransport: () => void): void;
35
35
  export declare function getThreadIdForMcpSession(mcpSessionId: string): number | undefined;
36
+ /**
37
+ * DIAGNOSTIC (read-only): number of MCP transports currently registered for a
38
+ * thread. 0 means the agent is no longer MCP-connected to this server (orphaned
39
+ * / transport gone). Used by the keeper's stuck-thread forensic snapshot.
40
+ */
41
+ export declare function getThreadSessionCount(threadId: number): number;
36
42
  export declare function registerSessionCloseFlush(mcpSessionId: string, flush: () => Promise<void>): void;
37
43
  /** Run and remove a session's close-flush handler. No-op if none registered. */
38
44
  export declare function runSessionCloseFlush(mcpSessionId: string): Promise<void> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-registry.d.ts","sourceRoot":"","sources":["../../src/sessions/mcp-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAepF;AAaD,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAwBhG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CA2CT;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAiBlF;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CASN;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjF;AAYD,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEhG;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAKpF;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAI5E;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAiB/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAwCtF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB5D"}
1
+ {"version":3,"file":"mcp-registry.d.ts","sourceRoot":"","sources":["../../src/sessions/mcp-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAepF;AAaD,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAwBhG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CA2CT;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAiBlF;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CASN;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAYD,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEhG;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAKpF;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAI5E;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAiB/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAwCtF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB5D"}
@@ -168,6 +168,14 @@ export function registerMcpSession(threadId, mcpSessionId, closeTransport) {
168
168
  export function getThreadIdForMcpSession(mcpSessionId) {
169
169
  return sessionThreadRegistry.get(mcpSessionId);
170
170
  }
171
+ /**
172
+ * DIAGNOSTIC (read-only): number of MCP transports currently registered for a
173
+ * thread. 0 means the agent is no longer MCP-connected to this server (orphaned
174
+ * / transport gone). Used by the keeper's stuck-thread forensic snapshot.
175
+ */
176
+ export function getThreadSessionCount(threadId) {
177
+ return (threadSessionRegistry.get(threadId) ?? []).length;
178
+ }
171
179
  /**
172
180
  * Per-session "flush final text on close" handlers, keyed by MCP session id.
173
181
  * The factory registers a closure that forwards the agent's final assistant
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../../src/sessions/mcp-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../../src/sessions/mcp-registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delegate-tool.d.ts","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAsBtF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,eAAe,EAAE,sBAAsB,CAAC;CACzC;AA+BD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC,CAwWrB;AAMD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CA8HnF"}
1
+ {"version":3,"file":"delegate-tool.d.ts","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAuBtF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,eAAe,EAAE,sBAAsB,CAAC;CACzC;AA+BD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC,CAmarB;AAMD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CA2JnF"}