sensorium-mcp 3.0.92 → 3.0.95

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 (98) hide show
  1. package/dist/config.d.ts +27 -1
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +98 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/dashboard/presets.d.ts.map +1 -1
  6. package/dist/dashboard/presets.js +3 -0
  7. package/dist/dashboard/presets.js.map +1 -1
  8. package/dist/dashboard/routes/claude.d.ts.map +1 -1
  9. package/dist/dashboard/routes/claude.js +30 -1
  10. package/dist/dashboard/routes/claude.js.map +1 -1
  11. package/dist/dashboard/routes/copilot.d.ts.map +1 -1
  12. package/dist/dashboard/routes/copilot.js +30 -1
  13. package/dist/dashboard/routes/copilot.js.map +1 -1
  14. package/dist/dashboard/routes/env-vars.d.ts +21 -0
  15. package/dist/dashboard/routes/env-vars.d.ts.map +1 -0
  16. package/dist/dashboard/routes/env-vars.js +23 -0
  17. package/dist/dashboard/routes/env-vars.js.map +1 -0
  18. package/dist/dashboard/routes/prompts.d.ts +19 -0
  19. package/dist/dashboard/routes/prompts.d.ts.map +1 -0
  20. package/dist/dashboard/routes/prompts.js +118 -0
  21. package/dist/dashboard/routes/prompts.js.map +1 -0
  22. package/dist/dashboard/routes/skills.d.ts +3 -0
  23. package/dist/dashboard/routes/skills.d.ts.map +1 -1
  24. package/dist/dashboard/routes/skills.js +63 -0
  25. package/dist/dashboard/routes/skills.js.map +1 -1
  26. package/dist/dashboard/routes.d.ts.map +1 -1
  27. package/dist/dashboard/routes.js +13 -1
  28. package/dist/dashboard/routes.js.map +1 -1
  29. package/dist/dashboard/spa.html +11 -11
  30. package/dist/data/memory/bootstrap.d.ts +0 -1
  31. package/dist/data/memory/bootstrap.d.ts.map +1 -1
  32. package/dist/data/memory/bootstrap.js +0 -15
  33. package/dist/data/memory/bootstrap.js.map +1 -1
  34. package/dist/http-server.d.ts.map +1 -1
  35. package/dist/http-server.js +14 -1
  36. package/dist/http-server.js.map +1 -1
  37. package/dist/integrations/openai/speech.d.ts +8 -2
  38. package/dist/integrations/openai/speech.d.ts.map +1 -1
  39. package/dist/integrations/openai/speech.js +15 -6
  40. package/dist/integrations/openai/speech.js.map +1 -1
  41. package/dist/intent.d.ts.map +1 -1
  42. package/dist/intent.js +38 -2
  43. package/dist/intent.js.map +1 -1
  44. package/dist/services/agent-spawn.service.d.ts.map +1 -1
  45. package/dist/services/agent-spawn.service.js +4 -2
  46. package/dist/services/agent-spawn.service.js.map +1 -1
  47. package/dist/services/claude-spawn.service.d.ts +1 -1
  48. package/dist/services/claude-spawn.service.d.ts.map +1 -1
  49. package/dist/services/claude-spawn.service.js +12 -7
  50. package/dist/services/claude-spawn.service.js.map +1 -1
  51. package/dist/services/copilot-spawn.service.d.ts.map +1 -1
  52. package/dist/services/copilot-spawn.service.js +6 -2
  53. package/dist/services/copilot-spawn.service.js.map +1 -1
  54. package/dist/services/keeper.service.d.ts.map +1 -1
  55. package/dist/services/keeper.service.js +7 -6
  56. package/dist/services/keeper.service.js.map +1 -1
  57. package/dist/services/memory-briefing.service.d.ts.map +1 -1
  58. package/dist/services/memory-briefing.service.js +3 -8
  59. package/dist/services/memory-briefing.service.js.map +1 -1
  60. package/dist/services/process.service.d.ts +6 -0
  61. package/dist/services/process.service.d.ts.map +1 -1
  62. package/dist/services/process.service.js +112 -2
  63. package/dist/services/process.service.js.map +1 -1
  64. package/dist/services/spawn-common.d.ts +9 -0
  65. package/dist/services/spawn-common.d.ts.map +1 -1
  66. package/dist/services/spawn-common.js +94 -4
  67. package/dist/services/spawn-common.js.map +1 -1
  68. package/dist/services/worker-cleanup.service.d.ts +1 -0
  69. package/dist/services/worker-cleanup.service.d.ts.map +1 -1
  70. package/dist/services/worker-cleanup.service.js +159 -19
  71. package/dist/services/worker-cleanup.service.js.map +1 -1
  72. package/dist/sessions.d.ts +16 -0
  73. package/dist/sessions.d.ts.map +1 -1
  74. package/dist/sessions.js +32 -0
  75. package/dist/sessions.js.map +1 -1
  76. package/dist/tools/defs/session-defs.d.ts.map +1 -1
  77. package/dist/tools/defs/session-defs.js +2 -1
  78. package/dist/tools/defs/session-defs.js.map +1 -1
  79. package/dist/tools/defs/utility-defs.d.ts.map +1 -1
  80. package/dist/tools/defs/utility-defs.js +6 -0
  81. package/dist/tools/defs/utility-defs.js.map +1 -1
  82. package/dist/tools/delegate-tool.d.ts.map +1 -1
  83. package/dist/tools/delegate-tool.js +4 -0
  84. package/dist/tools/delegate-tool.js.map +1 -1
  85. package/dist/tools/session-tools.d.ts.map +1 -1
  86. package/dist/tools/session-tools.js +14 -1
  87. package/dist/tools/session-tools.js.map +1 -1
  88. package/dist/tools/start-session-tool.js +5 -5
  89. package/dist/tools/start-session-tool.js.map +1 -1
  90. package/dist/tools/wait/message-delivery.d.ts.map +1 -1
  91. package/dist/tools/wait/message-delivery.js +10 -3
  92. package/dist/tools/wait/message-delivery.js.map +1 -1
  93. package/dist/tools/wait/poll-loop.d.ts.map +1 -1
  94. package/dist/tools/wait/poll-loop.js +5 -1
  95. package/dist/tools/wait/poll-loop.js.map +1 -1
  96. package/package.json +1 -1
  97. package/templates/offload.default.md +33 -0
  98. package/templates/swarm.default.md +24 -16
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-spawn.service.js","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-spawn.service.js","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keeper.service.d.ts","sourceRoot":"","sources":["../../src/services/keeper.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8CjD,qBAAa,aAAa;IAIZ,OAAO,CAAC,IAAI;IAHxB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAA+C;gBAE5C,IAAI,EAAE;QACxB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;QACnD,eAAe,EAAE,sBAAsB,CAAC;QACxC,QAAQ,EAAE;YAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC;QAC9G,MAAM,EAAE,MAAM,CAAC;KAChB;IAED,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,WAAW;YA0DL,eAAe;YAsLf,WAAW;CAgB1B"}
1
+ {"version":3,"file":"keeper.service.d.ts","sourceRoot":"","sources":["../../src/services/keeper.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA+CjD,qBAAa,aAAa;IAIZ,OAAO,CAAC,IAAI;IAHxB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAA+C;gBAE5C,IAAI,EAAE;QACxB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;QACnD,eAAe,EAAE,sBAAsB,CAAC;QACxC,QAAQ,EAAE;YAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC;QAC9G,MAAM,EAAE,MAAM,CAAC;KAChB;IAED,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,WAAW;YA0DL,eAAe;YAsLf,WAAW;CAgB1B"}
@@ -15,6 +15,7 @@ const FAST_EXIT_MAX_COOLDOWN_MS = 14_400_000; // 4 hours
15
15
  const STUCK_THRESHOLD_MS = 3_600_000; // 1 hour (matches worker TTL)
16
16
  const SURVIVED_KILL_MAX = 3; // consecutive failed kills before escalating
17
17
  const SURVIVED_KILL_COOLDOWN_MS = 600_000; // 10 min — back off after escalating an unkillable process
18
+ const UNKILLABLE_RENOTIFY_MS = 3_600_000; // 1 hour — re-ping the operator at most hourly while a process stays unkillable
18
19
  // Approximate this server process's start time (module load ≈ startup). A
19
20
  // heartbeat older than this was written by a PREVIOUS server generation and
20
21
  // cannot be evidence that a worker is actively serving a thread under THIS
@@ -81,7 +82,7 @@ export class KeeperService {
81
82
  checking: false,
82
83
  limboWarned: false,
83
84
  survivedKillCount: 0,
84
- unkillableNotified: false,
85
+ lastUnkillableNotifyMs: 0,
85
86
  });
86
87
  log.info(`[keeper] Started keeper for thread ${thread.threadId} ('${thread.name}')`);
87
88
  }
@@ -130,7 +131,7 @@ export class KeeperService {
130
131
  }
131
132
  // Process is genuinely gone — any prior survived-kill episode is over.
132
133
  entry.survivedKillCount = 0;
133
- entry.unkillableNotified = false;
134
+ entry.lastUnkillableNotifyMs = 0;
134
135
  }
135
136
  // Not in limbo (PID alive, or heartbeat stale/absent) — clear the flag so a
136
137
  // future episode logs afresh.
@@ -177,9 +178,9 @@ export class KeeperService {
177
178
  if (entry.survivedKillCount >= SURVIVED_KILL_MAX) {
178
179
  entry.cooldownUntil = now + SURVIVED_KILL_COOLDOWN_MS;
179
180
  log.error(`[keeper] Thread ${entry.threadId} PID=${alivePid} is UNKILLABLE after ${entry.survivedKillCount} attempts — operator intervention required (manual kill). Backing off ${Math.round(SURVIVED_KILL_COOLDOWN_MS / 60000)}m.`);
180
- if (!entry.unkillableNotified) {
181
+ if (now - entry.lastUnkillableNotifyMs >= UNKILLABLE_RENOTIFY_MS) {
181
182
  await this.notifyDeath(entry.threadId, `process PID=${alivePid} is stuck and won't terminate — needs a manual kill`, SURVIVED_KILL_COOLDOWN_MS);
182
- entry.unkillableNotified = true;
183
+ entry.lastUnkillableNotifyMs = now;
183
184
  }
184
185
  entry.survivedKillCount = 0;
185
186
  }
@@ -187,14 +188,14 @@ export class KeeperService {
187
188
  }
188
189
  // Kill succeeded — clear the escalation counter and fall through to restart.
189
190
  entry.survivedKillCount = 0;
190
- entry.unkillableNotified = false;
191
+ entry.lastUnkillableNotifyMs = 0;
191
192
  entry.retryCount = 0;
192
193
  // Fall through to restart
193
194
  }
194
195
  else {
195
196
  // Healthy — reset counters
196
197
  entry.survivedKillCount = 0;
197
- entry.unkillableNotified = false;
198
+ entry.lastUnkillableNotifyMs = 0;
198
199
  if (entry.retryCount > 0) {
199
200
  log.info(`[keeper] Thread ${entry.threadId} is healthy again (was at retry ${entry.retryCount})`);
200
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keeper.service.js","sourceRoot":"","sources":["../../src/services/keeper.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keeper.service.js","sourceRoot":"","sources":["../../src/services/keeper.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-briefing.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAoBzD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CA8IvG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7E"}
1
+ {"version":3,"file":"memory-briefing.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAoBzD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAyIvG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7E"}
@@ -32,15 +32,10 @@ export function assembleBootstrap(db, threadId, memorySourceThreadId) {
32
32
  }
33
33
  }
34
34
  lines.push("");
35
- if (context.interrupted) {
36
- lines.push("## ⚠️ Possible Interrupted Session");
37
- lines.push("The previous agent session on this thread did **not** shut down cleanly — it may have been killed mid-task by a crash, an error, or an abrupt turn end. This flag does **not** guarantee a task was in flight.");
38
- lines.push("");
39
- lines.push("1. **Judge first.** From the Recent Conversation below, decide whether you were terminated abruptly in the middle of an *active task*. If it was idle chat or a task that had already finished, ignore this notice and proceed normally.");
40
- lines.push("2. **If a task was in flight — reconstruct before resuming.** Do not guess at the remaining work. Iteratively read episodes going backward in time (use the memory/episode tools — cover the last few days, up to a week) and keep reading until you have **fully** reconstructed the task context: the goal, decisions made, files touched, what was done, and what remained. Only then continue the task.");
41
- lines.push("");
42
- }
43
35
  if (context.recentEpisodes.length > 0) {
36
+ lines.push("## ⚠️ Resuming — Check for an Interrupted Task");
37
+ lines.push("Read the latest episode in the Recent Conversation below. If it looks like the current task was terminated abruptly (cut off mid-work, an error, an abrupt turn end), read episodes recursively backward in time (use the memory/episode tools — cover the last few days, up to a week) until you have **fully** reconstructed the task context: the goal, decisions made, files touched, what was done, and what remained. Then continue the task. If the latest episode looks like idle chat or a task that had already finished, ignore this notice and proceed normally.");
38
+ lines.push("");
44
39
  lines.push("## Recent Conversation");
45
40
  const conversationLines = [];
46
41
  let totalChars = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-briefing.service.js","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-briefing.service.js","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,12 @@ interface PidFileEntry {
24
24
  startedAt?: number;
25
25
  }
26
26
  export declare const spawnedThreads: SpawnedThread[];
27
+ export declare const markTaskConsumed: (threadId: number) => void;
28
+ export declare const wasTaskConsumed: (threadId: number) => boolean;
29
+ export declare const clearTaskConsumed: (threadId: number) => void;
30
+ /** Delete a worker's pending-task mailbox (and any in-flight .processing temp)
31
+ * so a retired worker can never be re-fed a late append. */
32
+ export declare function deletePendingTaskMailbox(threadId: number): void;
27
33
  export declare function isProcessAlive(pid: number): boolean;
28
34
  export declare function readPidFiles(): PidFileEntry[];
29
35
  export declare function findAliveThread(threadId: number): SpawnedThread | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"process.service.d.ts","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAoB5E,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AACjE,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,eAAe,QAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,QAAW,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,aAAa,EAAO,CAAC;AAElD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAuBnD;AAwFD,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAuB7C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAc3E;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,OAAkD,CAAC;AAEtG,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAW7C;AAED,wBAAgB,UAAU,IAAI,IAAI,CAMjC;AAED;;;;;;;uCAOuC;AACvC,wBAAgB,kBAAkB,IAAI,IAAI,CAczC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ9E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,sBAAsB,GAAG,IAAI,CA8D1F;AAUD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE7F"}
1
+ {"version":3,"file":"process.service.d.ts","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAoB5E,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AACjE,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,gBAAgB,QAAW,CAAC;AACzC,eAAO,MAAM,eAAe,QAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,QAAW,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,aAAa,EAAO,CAAC;AAYlD,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,IAA8C,CAAC;AACnG,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,OAA4C,CAAC;AAChG,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,IAAiD,CAAC;AAEvG;6DAC6D;AAC7D,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAuBnD;AAkKD,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAuB7C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAc3E;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,OAAkD,CAAC;AAEtG,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAW7C;AAED,wBAAgB,UAAU,IAAI,IAAI,CAMjC;AAED;;;;;;;uCAOuC;AACvC,wBAAgB,kBAAkB,IAAI,IAAI,CAczC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ9E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,sBAAsB,GAAG,IAAI,CA8D1F;AAUD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF7F"}
@@ -1,4 +1,4 @@
1
- import { execFile, execFileSync } from "node:child_process";
1
+ import { execFile, execFileSync, spawn } from "node:child_process";
2
2
  import { mkdirSync, readdirSync, readFileSync, statSync, unlinkSync } from "node:fs";
3
3
  import { homedir } from "node:os";
4
4
  import { join } from "node:path";
@@ -30,6 +30,29 @@ export const PROCESS_LOGS_DIR = LOGS_DIR;
30
30
  export const THREAD_LOGS_DIR = join(LOGS_DIR, "threads");
31
31
  export const PROCESS_PIDS_DIR = PIDS_DIR;
32
32
  export const spawnedThreads = [];
33
+ // ── Worker single-use signal ────────────────────────────────────────────────
34
+ // A swarm worker must run its pre-queued task exactly once. The pending-task
35
+ // file `<threadId>.txt` is NOT a safe "did no work" signal: it is a shared,
36
+ // append-only mailbox that report_progress parent-forwards and cross-thread
37
+ // sends can RECREATE after the worker already consumed and acted on its task.
38
+ // Respawning on "file present" therefore re-ran finished workers → duplicate
39
+ // posts. Instead we record, in memory, the threads whose task was actually
40
+ // consumed (both consume and process-exit run in THIS server process, so a Set
41
+ // is sufficient — workers are never resumed across a server restart anyway).
42
+ const consumedTaskThreads = new Set();
43
+ export const markTaskConsumed = (threadId) => { consumedTaskThreads.add(threadId); };
44
+ export const wasTaskConsumed = (threadId) => consumedTaskThreads.has(threadId);
45
+ export const clearTaskConsumed = (threadId) => { consumedTaskThreads.delete(threadId); };
46
+ /** Delete a worker's pending-task mailbox (and any in-flight .processing temp)
47
+ * so a retired worker can never be re-fed a late append. */
48
+ export function deletePendingTaskMailbox(threadId) {
49
+ for (const suffix of [".txt", ".txt.processing"]) {
50
+ try {
51
+ unlinkSync(join(PENDING_TASKS_DIR, `${threadId}${suffix}`));
52
+ }
53
+ catch { /* already gone */ }
54
+ }
55
+ }
33
56
  export function isProcessAlive(pid) {
34
57
  try {
35
58
  process.kill(pid, 0);
@@ -138,6 +161,82 @@ function isSameProcess(pid, startedAt) {
138
161
  return true; // can't read start time — keep prior behavior
139
162
  return Math.abs(actual - startedAt) < PID_IDENTITY_TOLERANCE_MS;
140
163
  }
164
+ /** Descendants of rootPid (including root), ordered leaves-first (post-order),
165
+ * from one process-table snapshot. Fallback for when `taskkill /T` fails to
166
+ * tear the whole tree down: a single wedged descendant can make taskkill abort
167
+ * the tree, so killing each PID individually lets the still-killable relatives
168
+ * (often including the root) go down anyway. */
169
+ function getWindowsProcessTreeLeafFirst(rootPid) {
170
+ let out;
171
+ try {
172
+ out = execFileSync("powershell", ["-NoProfile", "-Command", "Get-CimInstance Win32_Process | ForEach-Object { \"$($_.ProcessId) $($_.ParentProcessId)\" }"], { encoding: "utf-8", windowsHide: true, timeout: 5000 });
173
+ }
174
+ catch (err) {
175
+ log.debug(`[process] process-tree snapshot failed: ${errorMessage(err)} — falling back to root only`);
176
+ return [rootPid];
177
+ }
178
+ const children = new Map();
179
+ for (const m of out.matchAll(/^(\d+) (\d+)$/gm)) {
180
+ const pid = Number(m[1]);
181
+ const ppid = Number(m[2]);
182
+ const list = children.get(ppid);
183
+ if (list)
184
+ list.push(pid);
185
+ else
186
+ children.set(ppid, [pid]);
187
+ }
188
+ const ordered = [];
189
+ const seen = new Set();
190
+ const visit = (pid) => {
191
+ if (seen.has(pid))
192
+ return; // guard against cycles / PID-reuse loops
193
+ seen.add(pid);
194
+ for (const child of children.get(pid) ?? [])
195
+ visit(child);
196
+ ordered.push(pid); // post-order → leaves first, root last
197
+ };
198
+ visit(rootPid);
199
+ return ordered;
200
+ }
201
+ /** Force-kill each PID in order, one at a time, tolerating any that refuse (a
202
+ * wedged leaf must not block the ones after it). Async so a sweep over a deep
203
+ * tree never blocks the server event loop. */
204
+ function killPidsSequentiallyWin(pids, done) {
205
+ let i = 0;
206
+ const next = () => {
207
+ if (i >= pids.length) {
208
+ done();
209
+ return;
210
+ }
211
+ const pid = pids[i++];
212
+ execFile("taskkill", ["/F", "/PID", String(pid)], { timeout: TASKKILL_TIMEOUT_MS, windowsHide: true }, () => next());
213
+ };
214
+ next();
215
+ }
216
+ /** Last-resort escalation for EPERM-wedged trees: spawn taskkill as a DETACHED,
217
+ * FRESH process so it does NOT inherit the server's wedged tree handles. When
218
+ * the server's own process tree is job-object-constrained / I/O-wedged, an
219
+ * in-process `taskkill /F /T` returns EPERM — but a sibling process spawned
220
+ * with its own handles (detached, own stdio) killed the exact same zombie trees
221
+ * instantly in this session's experiment. Nested securevault contexts (which
222
+ * once made detached killers cross-context Access-Denied, commit 1b7ded6) are
223
+ * gone — there is a single context now — so a detached killer in the server's
224
+ * own context is safe. Fire-and-forget: unref'd so the server never waits. */
225
+ function spawnDetachedKillerWin(pid) {
226
+ try {
227
+ const child = spawn("taskkill", ["/F", "/T", "/PID", String(pid)], {
228
+ detached: true,
229
+ windowsHide: true,
230
+ stdio: "ignore",
231
+ });
232
+ child.on("error", (err) => log.warn(`[process] detached killer for PID ${pid} errored: ${errorMessage(err)}`));
233
+ child.unref();
234
+ log.warn(`[process] ESCALATION: spawned DETACHED fresh taskkill /F /T /PID ${pid} (bypasses server's EPERM-wedged tree)`);
235
+ }
236
+ catch (err) {
237
+ log.warn(`[process] detached killer spawn for PID ${pid} failed: ${errorMessage(err)}`);
238
+ }
239
+ }
141
240
  export function readPidFiles() {
142
241
  const entries = [];
143
242
  try {
@@ -382,6 +481,12 @@ export function killProcessTree(pid, threadId, caller) {
382
481
  // Retry kill after a short delay
383
482
  log.warn(`[process] PID ${pid} (thread ${threadId}) still alive after kill attempt ${attempt} — retrying`);
384
483
  if (process.platform === "win32") {
484
+ // Escalation, retry-path only: the happy-path in-process `taskkill /F /T`
485
+ // already failed to verify-dead. If the failure was EPERM because the
486
+ // server's own tree is job-object-constrained / I/O-wedged, no in-process
487
+ // kill will ever succeed — so first spawn a DETACHED, fresh sibling
488
+ // taskkill that does not inherit our wedged handles.
489
+ spawnDetachedKillerWin(pid);
385
490
  // Native TerminateProcess (via libuv) as well as taskkill — they take
386
491
  // different paths (taskkill is an external process with its own token;
387
492
  // process.kill issues the syscall directly from this process), so one
@@ -392,7 +497,12 @@ export function killProcessTree(pid, threadId, caller) {
392
497
  catch (err) {
393
498
  log.debug(`[process] native kill PID ${pid} failed: ${errorMessage(err)}`);
394
499
  }
395
- execFile("taskkill", ["/F", "/T", "/PID", String(pid)], { timeout: TASKKILL_TIMEOUT_MS, windowsHide: true }, () => {
500
+ // `taskkill /T` walks the tree top-down and can stall when a hung child
501
+ // blocks the parent's termination — the exact case where the root sat
502
+ // alive for hours. Kill each descendant leaves-first so a wedged child is
503
+ // reaped before its parent, freeing the root to die.
504
+ const tree = getWindowsProcessTreeLeafFirst(pid);
505
+ killPidsSequentiallyWin(tree, () => {
396
506
  setTimeout(() => verifyDead(attempt + 1), 1000);
397
507
  });
398
508
  }
@@ -1 +1 @@
1
- {"version":3,"file":"process.service.js","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.service.js","sourceRoot":"","sources":["../../src/services/process.service.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,15 @@ export type SpawnResult = {
19
19
  error: string;
20
20
  };
21
21
  export declare const sanitizeSpawnEnv: (extra?: Record<string, string | undefined>) => NodeJS.ProcessEnv;
22
+ /**
23
+ * Drop any operator-supplied custom env var whose key the denylist blocks. Custom
24
+ * vars are applied as an explicit override (not from process.env) so they would
25
+ * otherwise bypass sanitizeSpawnEnv's denylist — this keeps a custom entry from
26
+ * smuggling a secret (e.g. CLAUDE_CODE_OAUTH_TOKEN) or a cross-agent BYOK key into
27
+ * a child. The locked built-ins that legitimately carry those keys are injected
28
+ * separately and are unaffected.
29
+ */
30
+ export declare const stripDenylistedEnvVars: (vars: Record<string, string>) => Record<string, string>;
22
31
  export declare const resolveCliPath: (name: string, prefer?: RegExp) => string | null;
23
32
  /** On Windows: prefer .exe, fall back to .cmd, refuse extensionless shims (e.g. Volta). */
24
33
  export declare function resolveWindowsCliPath(name: string): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-common.d.ts","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWlE,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAgB/E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAG,MAAM,CAAC,UAKpF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,IASvE,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWjE;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,IAAI,kBAAkB,GAAG,IAAI,CAInE;AAED,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,GAAG,SAK9E,CAAC;AAOF,eAAO,MAAM,0BAA0B,QAAO,OAAmC,CAAC;AAClF,eAAO,MAAM,2BAA2B,GAAI,GAAG,OAAO,KAAG,IAAyC,CAAC;AAEnG;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIhE;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AA+DD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAa7J"}
1
+ {"version":3,"file":"spawn-common.d.ts","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAalE,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA6BlE,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAgB/E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAG,MAAM,CAAC,UAKpF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1F,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,IASvE,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWjE;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,IAAI,kBAAkB,GAAG,IAAI,CAInE;AAED,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,GAAG,SAK9E,CAAC;AAOF,eAAO,MAAM,0BAA0B,QAAO,OAAmC,CAAC;AAClF,eAAO,MAAM,2BAA2B,GAAI,GAAG,OAAO,KAAG,IAAyC,CAAC;AAEnG;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIhE;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AA2GD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAa7J"}
@@ -13,14 +13,40 @@ import { closeSync, existsSync, fstatSync, openSync, readSync, unlinkSync, write
13
13
  import { tmpdir } from "node:os";
14
14
  import { join } from "node:path";
15
15
  import { log } from "../logger.js";
16
- import { getMaxConcurrentThreads } from "../config.js";
16
+ import { getMaxConcurrentThreads, getAgentType } from "../config.js";
17
17
  import { initMemoryDb } from "../data/memory/schema.js";
18
+ import { getThread } from "../data/memory/thread-registry.js";
19
+ import { sendTelegramMessage } from "../telegram.js";
18
20
  import { errorMessage } from "../utils.js";
19
21
  import { deleteTelegramTopicByBotApi } from "./topic.service.js";
20
- import { PROCESS_PIDS_DIR, spawnedThreads } from "./process.service.js";
22
+ import { PROCESS_PIDS_DIR, PENDING_TASKS_DIR, spawnedThreads, wasTaskConsumed, clearTaskConsumed } from "./process.service.js";
21
23
  import { ThreadState } from "./thread-lifecycle.service.js";
22
24
  import { decommissionWorker } from "./worker-cleanup.service.js";
23
25
  import { writeThreadHeartbeatSync, clearThreadHeartbeat } from "../data/file-storage.js";
26
+ // ── Worker respawn (failed MCP-handshake recovery) ──────────────────────────
27
+ // A swarm worker is a headless `claude -p` process whose only useful tools come
28
+ // from this server's MCP HTTP transport. Claude does NOT block its turn until MCP
29
+ // servers finish connecting; under concurrent swarm spawns the handshake can
30
+ // still be pending when the turn starts, so the worker boots with only built-in
31
+ // tools, has no start_session/wait_for_instructions, answers "I don't have those
32
+ // tools" into invisible stdout, and exits code 0 in ~25-35s — never consuming its
33
+ // pre-queued task. The reliable "did no work" signal is that the worker NEVER
34
+ // consumed a task (wasTaskConsumed === false) — NOT merely that the pending-task
35
+ // file is present, because that file is a shared append-only mailbox that
36
+ // report_progress and cross-thread sends can recreate AFTER a worker already did
37
+ // its work. Respawning on "file present" re-ran finished workers → duplicate posts.
38
+ // We respawn the same threadId (reusing its existing topic) up to
39
+ // MAX_WORKER_RESPAWNS times ONLY for the never-consumed handshake race; a worker
40
+ // that consumed its task is strictly single-use and is never respawned.
41
+ const MAX_WORKER_RESPAWNS = 3;
42
+ // Only respawn a task-unstarted worker whose life was short enough to match the
43
+ // handshake-race signature — a long-lived worker that merely has a late second
44
+ // task queued should not be blindly relaunched.
45
+ const WORKER_RESPAWN_UPTIME_MS = 180_000;
46
+ // Per-threadId respawn counter, cleared when the worker finally reaches
47
+ // decommission (normal completion or give-up). In-memory only: after a server
48
+ // restart workers are not resumed anyway, so a persisted counter buys nothing.
49
+ const workerRespawnAttempts = new Map();
24
50
  /**
25
51
  * Env vars that must never leak from the server's ambient environment into
26
52
  * spawned agent children. The COPILOT_PROVIDER_* keys carry the BYOK endpoint
@@ -43,6 +69,21 @@ export const sanitizeSpawnEnv = (extra) => {
43
69
  Object.assign(env, extra);
44
70
  return env;
45
71
  };
72
+ /**
73
+ * Drop any operator-supplied custom env var whose key the denylist blocks. Custom
74
+ * vars are applied as an explicit override (not from process.env) so they would
75
+ * otherwise bypass sanitizeSpawnEnv's denylist — this keeps a custom entry from
76
+ * smuggling a secret (e.g. CLAUDE_CODE_OAUTH_TOKEN) or a cross-agent BYOK key into
77
+ * a child. The locked built-ins that legitimately carry those keys are injected
78
+ * separately and are unaffected.
79
+ */
80
+ export const stripDenylistedEnvVars = (vars) => {
81
+ const out = {};
82
+ for (const [k, v] of Object.entries(vars))
83
+ if (!ENV_DENYLIST.has(k))
84
+ out[k] = v;
85
+ return out;
86
+ };
46
87
  export const resolveCliPath = (name, prefer) => {
47
88
  const envCmd = process.env[`${name.toUpperCase()}_CLI_CMD`];
48
89
  if (envCmd)
@@ -138,9 +179,55 @@ async function handleProcessExit(code, threadId, pid, pidFilePath, entry, proces
138
179
  const isTerminal = currentState === ThreadState.Archived || currentState === ThreadState.Expired;
139
180
  if (!isTerminal) {
140
181
  if (entry.threadType === "worker") {
141
- // Worker: fully decommission (delete topic, archive notes & DB entry, remove from registry)
142
182
  const token = process.env.TELEGRAM_TOKEN || "";
143
183
  const chatId = process.env.TELEGRAM_CHAT_ID || "";
184
+ // Handshake-race recovery: relaunch ONLY a worker that NEVER consumed a
185
+ // task (wasTaskConsumed === false) and exited fast enough to match the
186
+ // toolless-startup signature. A worker that already consumed its task is
187
+ // single-use — never respawned — so a late mailbox append can't cause it
188
+ // to re-run and duplicate its output.
189
+ const uptimeMs = Date.now() - entry.startedAt;
190
+ const taskFile = join(PENDING_TASKS_DIR, `${threadId}.txt`);
191
+ const taskPresent = existsSync(taskFile);
192
+ const consumed = wasTaskConsumed(threadId);
193
+ if (taskPresent && !consumed && uptimeMs < WORKER_RESPAWN_UPTIME_MS) {
194
+ const attempts = (workerRespawnAttempts.get(threadId) ?? 0) + 1;
195
+ if (attempts <= MAX_WORKER_RESPAWNS) {
196
+ workerRespawnAttempts.set(threadId, attempts);
197
+ log.warn(`[respawn] worker thread ${threadId} ("${entry.name}") exited (code ${code}) after ${Math.round(uptimeMs / 1000)}s with task never consumed — respawn attempt ${attempts}/${MAX_WORKER_RESPAWNS}`);
198
+ const reg = getThread(db, threadId);
199
+ const agentType = (reg?.client ?? getAgentType());
200
+ const { dispatchSpawn } = await import("./agent-spawn.service.js");
201
+ const res = dispatchSpawn(agentType, entry.name, threadId, threadLifecycle, reg?.workingDirectory ?? undefined, entry.memorySourceThreadId ?? reg?.rootThreadId ?? undefined, "worker", db);
202
+ if ("pid" in res) {
203
+ log.info(`[respawn] worker thread ${threadId} relaunched as PID=${res.pid}`);
204
+ return; // task file preserved for the new process — skip decommission
205
+ }
206
+ log.warn(`[respawn] worker thread ${threadId} relaunch failed: ${res.error} — decommissioning`);
207
+ }
208
+ else {
209
+ log.error(`[respawn] worker thread ${threadId} ("${entry.name}") exhausted ${MAX_WORKER_RESPAWNS} respawn attempts — giving up`);
210
+ if (token) {
211
+ const safeName = entry.name.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
212
+ try {
213
+ await sendTelegramMessage(token, chatId, `⚠️ Worker <b>${safeName}</b> (thread ${threadId}) failed to start its task after ${MAX_WORKER_RESPAWNS} respawns and was decommissioned.`, { parseMode: "HTML" });
214
+ }
215
+ catch (err) {
216
+ log.warn(`[respawn] give-up alert failed for thread ${threadId}: ${errorMessage(err)}`);
217
+ }
218
+ }
219
+ }
220
+ }
221
+ else if (taskPresent && consumed) {
222
+ // A single-use worker exited with content still in its mailbox — a late
223
+ // append (report_progress parent-forward / cross-thread send) after the
224
+ // task was already done. Do NOT re-run it; warn so the reuse attempt is
225
+ // visible instead of silently duplicating work. The mailbox is deleted
226
+ // by decommissionWorker below.
227
+ log.warn(`[respawn] worker thread ${threadId} ("${entry.name}") exited with a non-empty mailbox after already consuming its task — NOT respawning (single-use); discarding late mailbox content.`);
228
+ }
229
+ workerRespawnAttempts.delete(threadId);
230
+ // Worker: fully decommission (delete topic, archive notes & DB entry, remove from registry)
144
231
  const telegramAdapter = {
145
232
  deleteForumTopic: async (cId, topicId) => {
146
233
  if (token && cId)
@@ -150,8 +237,11 @@ async function handleProcessExit(code, threadId, pid, pidFilePath, entry, proces
150
237
  await decommissionWorker(entry, { db, telegram: telegramAdapter, chatId, threadLifecycle });
151
238
  }
152
239
  else {
153
- // Non-worker (e.g., keepAlive thread): mark exited so KeeperService can restart
240
+ // Non-worker (e.g., keepAlive thread): mark exited so KeeperService can restart.
241
+ // Clear the consumed-task signal too so the in-memory Set stays bounded to
242
+ // currently-live threads (a restarted thread re-marks it on next consume).
154
243
  threadLifecycle.markExited(db, threadId);
244
+ clearTaskConsumed(threadId);
155
245
  }
156
246
  }
157
247
  }