sensorium-mcp 2.16.204 → 2.16.210

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 (41) hide show
  1. package/dist/claude-keeper.d.ts.map +1 -1
  2. package/dist/claude-keeper.js +69 -0
  3. package/dist/claude-keeper.js.map +1 -1
  4. package/dist/daily-session.js +1 -1
  5. package/dist/daily-session.js.map +1 -1
  6. package/dist/dashboard/routes/threads.d.ts +2 -0
  7. package/dist/dashboard/routes/threads.d.ts.map +1 -1
  8. package/dist/dashboard/routes/threads.js +7 -0
  9. package/dist/dashboard/routes/threads.js.map +1 -1
  10. package/dist/dashboard/routes.d.ts.map +1 -1
  11. package/dist/dashboard/routes.js +5 -1
  12. package/dist/dashboard/routes.js.map +1 -1
  13. package/dist/data/file-storage.d.ts +4 -0
  14. package/dist/data/file-storage.d.ts.map +1 -1
  15. package/dist/data/file-storage.js +21 -0
  16. package/dist/data/file-storage.js.map +1 -1
  17. package/dist/data/memory/schema.d.ts.map +1 -1
  18. package/dist/data/memory/schema.js +60 -51
  19. package/dist/data/memory/schema.js.map +1 -1
  20. package/dist/http-server.d.ts.map +1 -1
  21. package/dist/http-server.js +39 -18
  22. package/dist/http-server.js.map +1 -1
  23. package/dist/server/factory.js +7 -1
  24. package/dist/server/factory.js.map +1 -1
  25. package/dist/services/dispatcher/broker.d.ts.map +1 -1
  26. package/dist/services/dispatcher/broker.js +51 -14
  27. package/dist/services/dispatcher/broker.js.map +1 -1
  28. package/dist/services/dispatcher/poller.d.ts.map +1 -1
  29. package/dist/services/dispatcher/poller.js +8 -2
  30. package/dist/services/dispatcher/poller.js.map +1 -1
  31. package/dist/tools/delegate-tool.d.ts.map +1 -1
  32. package/dist/tools/delegate-tool.js +1 -0
  33. package/dist/tools/delegate-tool.js.map +1 -1
  34. package/dist/tools/thread-lifecycle.d.ts +2 -0
  35. package/dist/tools/thread-lifecycle.d.ts.map +1 -1
  36. package/dist/tools/thread-lifecycle.js +81 -37
  37. package/dist/tools/thread-lifecycle.js.map +1 -1
  38. package/dist/watcher-service.d.ts.map +1 -1
  39. package/dist/watcher-service.js +99 -13
  40. package/dist/watcher-service.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"claude-keeper.d.ts","sourceRoot":"","sources":["../src/claude-keeper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AA2LD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA0DnF"}
1
+ {"version":3,"file":"claude-keeper.d.ts","sourceRoot":"","sources":["../src/claude-keeper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAqOD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA6EnF"}
@@ -6,6 +6,9 @@
6
6
  * all lifecycle concerns (PID tracking, registry updates, MCP config).
7
7
  */
8
8
  import { LATEST_PROTOCOL_VERSION } from "@modelcontextprotocol/sdk/types.js";
9
+ import { readFileSync } from "node:fs";
10
+ import { homedir } from "node:os";
11
+ import { join } from "node:path";
9
12
  // ─── Constants ───────────────────────────────────────────────────────────────
10
13
  const BASE_BACKOFF_MS = 5_000;
11
14
  const MAX_BACKOFF_MS = 5 * 60_000;
@@ -83,6 +86,46 @@ async function isThreadRunning(port, secret, threadId) {
83
86
  return false;
84
87
  }
85
88
  }
89
+ const STUCK_THRESHOLD_MS = 10 * 60_000; // 10 minutes without MCP activity = stuck
90
+ async function isThreadStuck(port, secret, threadId) {
91
+ try {
92
+ const res = await fetch(`http://127.0.0.1:${port}/api/threads/${threadId}/heartbeat`, {
93
+ headers: authHeaders(secret),
94
+ signal: AbortSignal.timeout(5_000),
95
+ });
96
+ if (!res.ok)
97
+ return false;
98
+ const data = await res.json();
99
+ if (data.lastActivity == null)
100
+ return false; // no heartbeat yet, just started
101
+ return Date.now() - data.lastActivity > STUCK_THRESHOLD_MS;
102
+ }
103
+ catch {
104
+ return false;
105
+ }
106
+ }
107
+ async function killThread(port, secret, threadId) {
108
+ // Read PID file and kill the process directly
109
+ try {
110
+ const pidFile = join(homedir(), ".remote-copilot-mcp", "pids", `${threadId}.pid`);
111
+ const raw = readFileSync(pidFile, "utf-8").trim();
112
+ let pid;
113
+ try {
114
+ pid = JSON.parse(raw).pid;
115
+ }
116
+ catch {
117
+ pid = Number(raw);
118
+ }
119
+ if (Number.isFinite(pid)) {
120
+ try {
121
+ process.kill(pid, "SIGKILL");
122
+ }
123
+ catch { /* already dead */ }
124
+ keeperLog("INFO", `Killed stuck process PID=${pid} for thread ${threadId}`);
125
+ }
126
+ }
127
+ catch { /* PID file missing or unreadable */ }
128
+ }
86
129
  async function openMcpSession(port, secret) {
87
130
  try {
88
131
  const res = await fetch(`http://127.0.0.1:${port}/mcp`, {
@@ -184,7 +227,15 @@ async function callStartThread(config) {
184
227
  return false;
185
228
  }
186
229
  const result = await parseJsonOrSse(res);
230
+ if (result.error) {
231
+ keeperLog("WARN", `start_thread RPC error ${result.error.code ?? "unknown"}: ${result.error.message ?? "unknown error"}`);
232
+ return false;
233
+ }
187
234
  const text = result?.result?.content?.[0]?.text ?? "";
235
+ if (!text.trim()) {
236
+ keeperLog("WARN", "start_thread returned an empty response");
237
+ return false;
238
+ }
188
239
  keeperLog("INFO", `start_thread response: ${text.slice(0, 200)}`);
189
240
  return !text.toLowerCase().includes("error");
190
241
  }
@@ -203,6 +254,7 @@ export async function startClaudeKeeper(config) {
203
254
  keeperLog("INFO", `Starting keeper for thread ${config.threadId} ('${config.sessionName}') [client=${config.client}]`);
204
255
  let stopped = false;
205
256
  let retryCount = 0;
257
+ let consecutiveNotRunning = 0;
206
258
  let timer = null;
207
259
  keeperLog("INFO", "Waiting for MCP server to be ready...");
208
260
  const ready = await waitForMcpReady(config.mcpHttpPort, config.mcpHttpSecret);
@@ -215,9 +267,25 @@ export async function startClaudeKeeper(config) {
215
267
  return;
216
268
  const running = await isThreadRunning(config.mcpHttpPort, config.mcpHttpSecret, config.threadId);
217
269
  if (running) {
270
+ consecutiveNotRunning = 0;
271
+ // Check for stuck process (alive but no MCP activity for 10+ min)
272
+ const stuck = await isThreadStuck(config.mcpHttpPort, config.mcpHttpSecret, config.threadId);
273
+ if (stuck) {
274
+ keeperLog("WARN", `Thread ${config.threadId} is stuck (no MCP activity for ${STUCK_THRESHOLD_MS / 60_000}+ min) — killing process`);
275
+ await killThread(config.mcpHttpPort, config.mcpHttpSecret, config.threadId);
276
+ // Fall through to restart logic on next check
277
+ timer = setTimeout(() => void checkAndStart(), 5_000);
278
+ return;
279
+ }
218
280
  scheduleCheck();
219
281
  return;
220
282
  }
283
+ consecutiveNotRunning++;
284
+ if (consecutiveNotRunning < 2) {
285
+ // Single failure may be a timeout; recheck quickly before restarting
286
+ timer = setTimeout(() => void checkAndStart(), 10_000);
287
+ return;
288
+ }
221
289
  if (retryCount >= maxRetries) {
222
290
  keeperLog("WARN", `Max retries (${maxRetries}) exceeded — cooling down for ${Math.round(cooldownMs / 1000)}s`);
223
291
  retryCount = 0;
@@ -229,6 +297,7 @@ export async function startClaudeKeeper(config) {
229
297
  const ok = await callStartThread(config);
230
298
  if (ok) {
231
299
  retryCount = 0;
300
+ consecutiveNotRunning = 0;
232
301
  scheduleCheck();
233
302
  }
234
303
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-keeper.js","sourceRoot":"","sources":["../src/claude-keeper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-keeper.js","sourceRoot":"","sources":["../src/claude-keeper.ts"],"names":[],"mappings":"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"}
@@ -161,7 +161,7 @@ export async function rotateAllDailySessions() {
161
161
  });
162
162
  await notifyTelegram(`🔄 <b>Daily rotation complete</b>\n${lines.join("\n")}`);
163
163
  }
164
- const allSucceeded = results.every(r => !r.error);
164
+ const allSucceeded = results.length > 0 && results.every(r => !r.error);
165
165
  if (allSucceeded)
166
166
  _lastRotationDate = todayDate;
167
167
  return results;
@@ -1 +1 @@
1
- {"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrC,gFAAgF;AAEhF,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,QAAiB;IAC3D,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IACpD,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB;QAAE,OAAO;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,QAAQ,CAAC;QACvB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBAAC,OAAO,GAAG,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,IAAI,GAA4B;YACpC,OAAO,EAAE,gBAAgB;YACzB,IAAI;YACJ,UAAU,EAAE,MAAM;SACnB,CAAC;QACF,IAAI,OAAO;YAAE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QAC9C,MAAM,KAAK,CAAC,+BAA+B,cAAc,cAAc,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAoB;IAEpB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,MAAM,GAAwB;QAClC,YAAY;QACZ,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,GAAG;QACtB,YAAY,EAAE,KAAK;KACpB,CAAC;IAEF,IAAI,CAAC;QACH,sDAAsD;QACtD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,GAAG,UAAU,YAAY,YAAY,CAAC;YAClD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,cAAc,CAAC;QAEtD,4EAA4E;QAC5E,IAAI,CAAC;YACH,MAAM,2BAA2B,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACpD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,oDAAoD,YAAY,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpI,CAAC;QACD,IAAI,CAAC;YACH,MAAM,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,8DAA8D,YAAY,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9I,CAAC;QAED,yEAAyE;QACzE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,iBAAiB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACpC,MAAM,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,gCAAgC,YAAY,OAAO,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC1F,CAAC;IAEH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,kCAAkC,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAExD,wCAAwC;IACxC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,wCAAwC,SAAS,YAAY,CAAC,CAAC;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qDAAqD;IACrD,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,SAAS,GAAG,IAAI,CAAC;IAEjB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,qCAAqC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,aAAa;gBAAE,OAAO,KAAK,CAAC;YACtC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,kCAAkC,CAAC,CAAC;oBAClE,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,MAAM,cAAc,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC5B,IAAI,CAAC,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAC,CAAC,YAAY,kBAAkB,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,MAAM,cAAc,CAAC,sCAAsC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,YAAY;YAAE,iBAAiB,GAAG,SAAS,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;YAAS,CAAC;QACT,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -10,6 +10,8 @@ export declare const handleCreateThread: RouteHandler;
10
10
  export declare function handleGetThread(args: RouteArgs, threadId: number): boolean;
11
11
  /** GET /api/threads/:threadId/running — check if an agent process is alive for this thread */
12
12
  export declare function handleGetThreadRunning(args: RouteArgs, threadId: number): boolean;
13
+ /** GET /api/threads/:threadId/heartbeat — last MCP activity timestamp for stuck-process detection */
14
+ export declare function handleGetThreadHeartbeat(args: RouteArgs, threadId: number): boolean;
13
15
  /** GET /api/threads/:threadId/children — get children of a root */
14
16
  export declare function handleGetThreadChildren(args: RouteArgs, rootThreadId: number): boolean;
15
17
  /** PATCH /api/threads/:threadId — update a thread */
@@ -1 +1 @@
1
- {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/threads.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH,OAAO,EAA2B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AA+ExF,eAAO,MAAM,gBAAgB,EAAE,YAI9B,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,YAGlC,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,YA+DhC,CAAC;AAIF,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ1E;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAIjF;AAED,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAItF;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAwC7E;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAyB7E"}
1
+ {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/threads.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH,OAAO,EAA2B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAgFxF,eAAO,MAAM,gBAAgB,EAAE,YAI9B,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,YAGlC,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,YA+DhC,CAAC;AAIF,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ1E;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAIjF;AAED,qGAAqG;AACrG,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAInF;AAED,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAItF;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAwC7E;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAyB7E"}
@@ -6,6 +6,7 @@ import { registerThread, getThread, getRootThreads, getActiveThreads, getThreads
6
6
  import { setKeepAliveEnabled, setKeepAliveThreadId, setKeepAliveClient, setKeepAliveMaxRetries, setKeepAliveCooldownMs, setThreadKeepAlive, removeThreadKeepAlive, } from "../../config.js";
7
7
  import { readBody, safeParseJSON } from "./types.js";
8
8
  import { isThreadRunning } from "../../tools/thread-lifecycle.js";
9
+ import { readThreadHeartbeat } from "../../data/file-storage.js";
9
10
  import { resolveTelegramTopicId } from "../../data/memory/thread-registry.js";
10
11
  import { config } from "../../config.js";
11
12
  // ─── Helpers ────────────────────────────────────────────────────────────────
@@ -168,6 +169,12 @@ export function handleGetThreadRunning(args, threadId) {
168
169
  args.json({ threadId, running });
169
170
  return true;
170
171
  }
172
+ /** GET /api/threads/:threadId/heartbeat — last MCP activity timestamp for stuck-process detection */
173
+ export function handleGetThreadHeartbeat(args, threadId) {
174
+ const lastActivity = readThreadHeartbeat(threadId);
175
+ args.json({ threadId, lastActivity });
176
+ return true;
177
+ }
171
178
  /** GET /api/threads/:threadId/children — get children of a root */
172
179
  export function handleGetThreadChildren(args, rootThreadId) {
173
180
  const children = getThreadsByRoot(args.db, rootThreadId);
@@ -1 +1 @@
1
- {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/dashboard/routes/threads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/dashboard/routes/threads.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,cAAc,EACd,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,YAAY,GAEf,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,+EAA+E;AAE/E,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAC5E,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,CAAU,CAAC;AAE3H,sGAAsG;AACtG,SAAS,kBAAkB,CACvB,IAA6B;IAE7B,MAAM,OAAO,GAAmL,EAAE,CAAC;IACnM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACvF,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO,0BAA0B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAuC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5E,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACxF,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3F,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,OAAO,0BAA0B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACjG,OAAO,2CAA2C,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACjG,OAAO,2CAA2C,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/D,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC1F,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAChE,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,EAAY,EAAE,OAA8B;IACnE,MAAM,cAAc,GAAG,eAAe,CAAC;IACvC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEjD,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACnB,4CAA4C,CAC/C,CAAC,GAAG,EAA2C,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;YAC3C,uDAAuD;YACvD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChG,IAAI,SAAS;gBAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,OAAO,CAAC,CAAC,iCAAiC;IACrD,CAAC;AACL,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/D,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,kBAAkB,GAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;IAClE,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAmC,CAAC;YAClE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAC7G,IAAI,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC5D,OAAO;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG,CAAC,CAAC;gBACzC,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;YAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAE,UAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChF,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBACtE,OAAO;YACX,CAAC;YAED,MAAM,MAAM,GACR,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzF,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,SAAS,CAAC;YACpB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnF,sBAAsB;YACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,QAAQ,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC1D,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE;gBAC7B,QAAQ;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,IAAI,EAAE,IAAmC;gBACzC,YAAY,EAAE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBACnF,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC9D,MAAM;gBACN,SAAS;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEjB,qEAAqE;YACrE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,+EAA+E;AAE/E,qDAAqD;AACrD,MAAM,UAAU,eAAe,CAAC,IAAe,EAAE,QAAgB;IAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,QAAQ,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,sBAAsB,CAAC,IAAe,EAAE,QAAgB;IACpE,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,wBAAwB,CAAC,IAAe,EAAE,QAAgB;IACtE,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,uBAAuB,CAAC,IAAe,EAAE,YAAoB;IACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAAC,IAAe,EAAE,QAAgB;IAChE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAmC,CAAC;YAClE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7C,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,QAAQ,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;gBACrD,OAAO;YACX,CAAC;YAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC9B,OAAO;YACX,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3C,OAAO;YACX,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;YAE9B,qEAAqE;YACrE,IAAI,WAAW,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;gBACtG,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,kBAAkB,CAAC,IAAe,EAAE,QAAgB;IAChE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IAErD,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,QAAQ,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACP,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAElC,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,mEAAmE;AACnE,SAAS,mBAAmB,CAAC,EAAY,EAAE,QAAgB;IACvD,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IACpD,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB;QAAE,OAAO;IACjD,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC,+BAA+B,cAAc,mBAAmB,EAAE;gBAC1E,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;gBAC/E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACtC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,uBAAuB,CAAC,EAAY;IACzC,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,eAAe,EAAE,CAAC;YAClB,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/C,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3C,sBAAsB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACnD,sBAAsB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC9B,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC9B,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,6CAA6C;IACjD,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/dashboard/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA+G1D;;GAEG;AACH,wBAAsB,sBAAsB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,gBAAgB,EACrB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAmClB"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/dashboard/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAgH1D;;GAEG;AACH,wBAAsB,sBAAsB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,gBAAgB,EACrB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAmClB"}
@@ -26,7 +26,7 @@ import { handleGetStatus, handleGetSessions, handleGetNotes, handleGetEpisodes,
26
26
  // Domain handlers — skills
27
27
  import { handleGetSkills, handleSkillDelete, handleSkillPut, } from "./routes/skills.js";
28
28
  // Domain handlers — threads
29
- import { handleGetThreads, handleGetRootThreads, handleCreateThread, handleGetThread, handleGetThreadChildren, handleGetThreadRunning, handleUpdateThread, handleDeleteThread, } from "./routes/threads.js";
29
+ import { handleGetThreads, handleGetRootThreads, handleCreateThread, handleGetThread, handleGetThreadChildren, handleGetThreadRunning, handleGetThreadHeartbeat, handleUpdateThread, handleDeleteThread, } from "./routes/threads.js";
30
30
  // ─── Route table ────────────────────────────────────────────────────────────
31
31
  const routeTable = {
32
32
  // Data
@@ -153,6 +153,10 @@ async function dispatchApiRoute(req, path, url, res, ctx) {
153
153
  if (threadRunningMatch) {
154
154
  return handleGetThreadRunning(args, Number.parseInt(threadRunningMatch[1], 10));
155
155
  }
156
+ const threadHeartbeatMatch = /^\/api\/threads\/(\d+)\/heartbeat$/.exec(path);
157
+ if (threadHeartbeatMatch) {
158
+ return handleGetThreadHeartbeat(args, Number.parseInt(threadHeartbeatMatch[1], 10));
159
+ }
156
160
  const threadMatch = /^\/api\/threads\/(\d+)$/.exec(path);
157
161
  if (threadMatch) {
158
162
  const tid = Number.parseInt(threadMatch[1], 10);
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/dashboard/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/dashboard/routes.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,10 @@ export declare function saveFileToDisk(buffer: Buffer, filename: string): string
16
16
  * if a tool call happened recently, the kill is deferred.
17
17
  */
18
18
  export declare function writeActivityHeartbeat(): void;
19
+ /** Write epoch timestamp for a specific thread. Called on every MCP tool call. */
20
+ export declare function writeThreadHeartbeat(threadId: number): void;
21
+ /** Read the last heartbeat epoch for a thread. Returns null if no heartbeat. */
22
+ export declare function readThreadHeartbeat(threadId: number): number | null;
19
23
  /**
20
24
  * Check if a maintenance/update is pending.
21
25
  * The update watcher writes this file before restarting the server.
@@ -1 +1 @@
1
- {"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,eAAO,MAAM,SAAS,QAAkD,CAAC;AAGzE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqBvE;AAOD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AASD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAuBpD"}
1
+ {"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,eAAO,MAAM,SAAS,QAAkD,CAAC;AAGzE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqBvE;AAOD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAOD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnE;AASD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAuBpD"}
@@ -53,6 +53,27 @@ export function writeActivityHeartbeat() {
53
53
  }
54
54
  catch { /* non-fatal — watcher just won't see activity */ }
55
55
  }
56
+ // ── Per-thread heartbeat ────────────────────────────────────────────────
57
+ const HEARTBEATS_DIR = join(DATA_DIR, "heartbeats");
58
+ mkdirSync(HEARTBEATS_DIR, { recursive: true });
59
+ /** Write epoch timestamp for a specific thread. Called on every MCP tool call. */
60
+ export function writeThreadHeartbeat(threadId) {
61
+ try {
62
+ writeFileSync(join(HEARTBEATS_DIR, `${threadId}`), String(Date.now()), "utf-8");
63
+ }
64
+ catch { /* non-fatal */ }
65
+ }
66
+ /** Read the last heartbeat epoch for a thread. Returns null if no heartbeat. */
67
+ export function readThreadHeartbeat(threadId) {
68
+ try {
69
+ const raw = readFileSync(join(HEARTBEATS_DIR, `${threadId}`), "utf-8").trim();
70
+ const ts = parseInt(raw, 10);
71
+ return Number.isFinite(ts) ? ts : null;
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ }
56
77
  // ─── Maintenance flag ───────────────────────────────────────────────────────
57
78
  const MAINTENANCE_FLAG_PATH = join(DATA_DIR, "maintenance.flag");
58
79
  /** Maximum age of a maintenance flag before it is considered stale (5 minutes). */
@@ -1 +1 @@
1
- {"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/data/memory/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAQ3C,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAq0B9C,wBAAgB,YAAY,IAAI,QAAQ,CAkDvC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAWzD"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/data/memory/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAQ3C,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAm1B9C,wBAAgB,YAAY,IAAI,QAAQ,CAkDvC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAWzD"}
@@ -234,30 +234,11 @@ const MIGRATIONS = {
234
234
  15: (db) => {
235
235
  // Widen thread_registry status CHECK to include 'exited'.
236
236
  // SQLite doesn't support ALTER CONSTRAINT, so recreate the table.
237
- db.exec(`
238
- CREATE TABLE IF NOT EXISTS thread_registry_new (
239
- id INTEGER PRIMARY KEY AUTOINCREMENT,
240
- thread_id INTEGER NOT NULL UNIQUE,
241
- name TEXT NOT NULL,
242
- type TEXT NOT NULL CHECK(type IN ('root','daily','branch','worker')),
243
- root_thread_id INTEGER,
244
- badge TEXT NOT NULL DEFAULT 'root',
245
- client TEXT DEFAULT 'claude',
246
- max_retries INTEGER DEFAULT 5,
247
- cooldown_ms INTEGER DEFAULT 300000,
248
- keep_alive INTEGER DEFAULT 0,
249
- created_at TEXT NOT NULL,
250
- last_active_at TEXT,
251
- session_reset_at TEXT,
252
- status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','archived','expired','exited'))
253
- );
254
- INSERT OR IGNORE INTO thread_registry_new SELECT * FROM thread_registry;
255
- DROP TABLE thread_registry;
256
- ALTER TABLE thread_registry_new RENAME TO thread_registry;
257
- CREATE INDEX IF NOT EXISTS idx_thread_reg_type ON thread_registry(type);
258
- CREATE INDEX IF NOT EXISTS idx_thread_reg_root ON thread_registry(root_thread_id);
259
- CREATE INDEX IF NOT EXISTS idx_thread_reg_status ON thread_registry(status);
260
- `);
237
+ const existingColumns = db
238
+ .prepare("PRAGMA table_info(thread_registry)")
239
+ .all()
240
+ .map((r) => r.name);
241
+ rebuildThreadRegistryWithExitedStatus(db, existingColumns);
261
242
  log.info("[migration-15] Widened thread_registry status CHECK to include 'exited'");
262
243
  },
263
244
  16: (db) => {
@@ -362,6 +343,60 @@ function getCurrentSchemaVersion(db) {
362
343
  return 0;
363
344
  }
364
345
  }
346
+ function rebuildThreadRegistryWithExitedStatus(db, existingColumns) {
347
+ const selectSessionResetAt = existingColumns.includes("session_reset_at")
348
+ ? "session_reset_at"
349
+ : "NULL";
350
+ const selectDailyRotation = existingColumns.includes("daily_rotation")
351
+ ? "daily_rotation"
352
+ : "0";
353
+ const selectAutonomousMode = existingColumns.includes("autonomous_mode")
354
+ ? "autonomous_mode"
355
+ : "0";
356
+ const selectTelegramTopicId = existingColumns.includes("telegram_topic_id")
357
+ ? "telegram_topic_id"
358
+ : "NULL";
359
+ const selectIdentityPrompt = existingColumns.includes("identity_prompt")
360
+ ? "identity_prompt"
361
+ : "NULL";
362
+ db.exec(`
363
+ CREATE TABLE IF NOT EXISTS thread_registry_new (
364
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
365
+ thread_id INTEGER NOT NULL UNIQUE,
366
+ name TEXT NOT NULL,
367
+ type TEXT NOT NULL CHECK(type IN ('root','daily','branch','worker')),
368
+ root_thread_id INTEGER,
369
+ badge TEXT NOT NULL DEFAULT 'root',
370
+ client TEXT DEFAULT 'claude',
371
+ max_retries INTEGER DEFAULT 5,
372
+ cooldown_ms INTEGER DEFAULT 300000,
373
+ keep_alive INTEGER DEFAULT 0,
374
+ created_at TEXT NOT NULL,
375
+ last_active_at TEXT,
376
+ session_reset_at TEXT,
377
+ status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','archived','expired','exited')),
378
+ daily_rotation INTEGER NOT NULL DEFAULT 0,
379
+ autonomous_mode INTEGER NOT NULL DEFAULT 0,
380
+ telegram_topic_id INTEGER,
381
+ identity_prompt TEXT
382
+ );
383
+ INSERT OR IGNORE INTO thread_registry_new (
384
+ id, thread_id, name, type, root_thread_id, badge, client, max_retries,
385
+ cooldown_ms, keep_alive, created_at, last_active_at, session_reset_at,
386
+ status, daily_rotation, autonomous_mode, telegram_topic_id, identity_prompt
387
+ )
388
+ SELECT
389
+ id, thread_id, name, type, root_thread_id, badge, client, max_retries,
390
+ cooldown_ms, keep_alive, created_at, last_active_at, ${selectSessionResetAt},
391
+ status, ${selectDailyRotation}, ${selectAutonomousMode}, ${selectTelegramTopicId}, ${selectIdentityPrompt}
392
+ FROM thread_registry;
393
+ DROP TABLE thread_registry;
394
+ ALTER TABLE thread_registry_new RENAME TO thread_registry;
395
+ CREATE INDEX IF NOT EXISTS idx_thread_reg_type ON thread_registry(type);
396
+ CREATE INDEX IF NOT EXISTS idx_thread_reg_root ON thread_registry(root_thread_id);
397
+ CREATE INDEX IF NOT EXISTS idx_thread_reg_status ON thread_registry(status);
398
+ `);
399
+ }
365
400
  /**
366
401
  * Run any pending migrations sequentially from the current stored version
367
402
  * up to SCHEMA_VERSION. Each migration runs inside a transaction.
@@ -548,33 +583,7 @@ function ensureSchemaIntegrity(db) {
548
583
  const threadRegistrySql = getTableSql("thread_registry");
549
584
  if (!threadRegistrySql.includes("'exited'")) {
550
585
  log.info("[memory] Self-heal: widening thread_registry status CHECK");
551
- db.exec(`
552
- CREATE TABLE IF NOT EXISTS thread_registry_new (
553
- id INTEGER PRIMARY KEY AUTOINCREMENT,
554
- thread_id INTEGER NOT NULL UNIQUE,
555
- name TEXT NOT NULL,
556
- type TEXT NOT NULL CHECK(type IN ('root','daily','branch','worker')),
557
- root_thread_id INTEGER,
558
- badge TEXT NOT NULL DEFAULT 'root',
559
- client TEXT DEFAULT 'claude',
560
- max_retries INTEGER DEFAULT 5,
561
- cooldown_ms INTEGER DEFAULT 300000,
562
- keep_alive INTEGER DEFAULT 0,
563
- created_at TEXT NOT NULL,
564
- last_active_at TEXT,
565
- session_reset_at TEXT,
566
- status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','archived','expired','exited')),
567
- daily_rotation INTEGER NOT NULL DEFAULT 0,
568
- autonomous_mode INTEGER NOT NULL DEFAULT 0,
569
- telegram_topic_id INTEGER
570
- );
571
- INSERT OR IGNORE INTO thread_registry_new SELECT * FROM thread_registry;
572
- DROP TABLE thread_registry;
573
- ALTER TABLE thread_registry_new RENAME TO thread_registry;
574
- CREATE INDEX IF NOT EXISTS idx_thread_reg_type ON thread_registry(type);
575
- CREATE INDEX IF NOT EXISTS idx_thread_reg_root ON thread_registry(root_thread_id);
576
- CREATE INDEX IF NOT EXISTS idx_thread_reg_status ON thread_registry(status);
577
- `);
586
+ rebuildThreadRegistryWithExitedStatus(db, threadRegistryCols);
578
587
  stampVersion(15);
579
588
  }
580
589
  if (!threadRegistryCols.includes("daily_rotation")) {