sensorium-mcp 3.1.0-refactor.19 → 3.1.0-refactor.21

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 (94) hide show
  1. package/dist/config/index.d.ts.map +1 -1
  2. package/dist/config/index.js +2 -3
  3. package/dist/config/index.js.map +1 -1
  4. package/dist/config/settings-store.d.ts.map +1 -1
  5. package/dist/config/settings-store.js +2 -3
  6. package/dist/config/settings-store.js.map +1 -1
  7. package/dist/dashboard/routes/threads-read.d.ts.map +1 -1
  8. package/dist/dashboard/routes/threads-read.js +7 -2
  9. package/dist/dashboard/routes/threads-read.js.map +1 -1
  10. package/dist/dashboard/routes/threads.d.ts.map +1 -1
  11. package/dist/dashboard/routes/threads.js +12 -3
  12. package/dist/dashboard/routes/threads.js.map +1 -1
  13. package/dist/data/daily-marker.js +3 -3
  14. package/dist/data/daily-marker.js.map +1 -1
  15. package/dist/data/file-storage.d.ts.map +1 -1
  16. package/dist/data/file-storage.js +3 -3
  17. package/dist/data/file-storage.js.map +1 -1
  18. package/dist/data/memory/bootstrap.d.ts.map +1 -1
  19. package/dist/data/memory/bootstrap.js +2 -3
  20. package/dist/data/memory/bootstrap.js.map +1 -1
  21. package/dist/data/memory/migration-runner.d.ts.map +1 -1
  22. package/dist/data/memory/migration-runner.js +2 -3
  23. package/dist/data/memory/migration-runner.js.map +1 -1
  24. package/dist/data/memory/schema.js +2 -2
  25. package/dist/data/memory/schema.js.map +1 -1
  26. package/dist/index.js +7 -9
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/paths.d.ts +29 -0
  29. package/dist/lib/paths.d.ts.map +1 -0
  30. package/dist/lib/paths.js +36 -0
  31. package/dist/lib/paths.js.map +1 -0
  32. package/dist/server/http-server.d.ts.map +1 -1
  33. package/dist/server/http-server.js +44 -15
  34. package/dist/server/http-server.js.map +1 -1
  35. package/dist/services/agent-spawn.service.d.ts.map +1 -1
  36. package/dist/services/agent-spawn.service.js +18 -3
  37. package/dist/services/agent-spawn.service.js.map +1 -1
  38. package/dist/services/background-runner.d.ts.map +1 -1
  39. package/dist/services/background-runner.js +18 -2
  40. package/dist/services/background-runner.js.map +1 -1
  41. package/dist/services/broker-client.d.ts +29 -1
  42. package/dist/services/broker-client.d.ts.map +1 -1
  43. package/dist/services/broker-client.js +36 -0
  44. package/dist/services/broker-client.js.map +1 -1
  45. package/dist/services/dispatcher/broker.js +2 -2
  46. package/dist/services/dispatcher/broker.js.map +1 -1
  47. package/dist/services/dispatcher/lock.js +2 -2
  48. package/dist/services/dispatcher/lock.js.map +1 -1
  49. package/dist/services/flight-recorder.service.d.ts.map +1 -1
  50. package/dist/services/flight-recorder.service.js +2 -3
  51. package/dist/services/flight-recorder.service.js.map +1 -1
  52. package/dist/services/keeper.service.d.ts.map +1 -1
  53. package/dist/services/keeper.service.js +15 -7
  54. package/dist/services/keeper.service.js.map +1 -1
  55. package/dist/services/maintenance-signal.d.ts.map +1 -1
  56. package/dist/services/maintenance-signal.js +2 -3
  57. package/dist/services/maintenance-signal.js.map +1 -1
  58. package/dist/services/process.service.d.ts +38 -1
  59. package/dist/services/process.service.d.ts.map +1 -1
  60. package/dist/services/process.service.js +122 -11
  61. package/dist/services/process.service.js.map +1 -1
  62. package/dist/services/reconnect-snapshot.service.js +2 -2
  63. package/dist/services/reconnect-snapshot.service.js.map +1 -1
  64. package/dist/services/scheduler.d.ts.map +1 -1
  65. package/dist/services/scheduler.js +2 -2
  66. package/dist/services/scheduler.js.map +1 -1
  67. package/dist/services/self-update.service.js +2 -2
  68. package/dist/services/self-update.service.js.map +1 -1
  69. package/dist/services/spawn-common.d.ts.map +1 -1
  70. package/dist/services/spawn-common.js +3 -3
  71. package/dist/services/spawn-common.js.map +1 -1
  72. package/dist/services/spawn-exit-watcher.d.ts +23 -12
  73. package/dist/services/spawn-exit-watcher.d.ts.map +1 -1
  74. package/dist/services/spawn-exit-watcher.js +57 -32
  75. package/dist/services/spawn-exit-watcher.js.map +1 -1
  76. package/dist/services/thread-health.service.d.ts.map +1 -1
  77. package/dist/services/thread-health.service.js +6 -2
  78. package/dist/services/thread-health.service.js.map +1 -1
  79. package/dist/services/thread-lifecycle.service.js +2 -2
  80. package/dist/services/thread-lifecycle.service.js.map +1 -1
  81. package/dist/services/worker-cleanup.service.d.ts.map +1 -1
  82. package/dist/services/worker-cleanup.service.js +22 -13
  83. package/dist/services/worker-cleanup.service.js.map +1 -1
  84. package/dist/test-bootstrap.d.ts +39 -0
  85. package/dist/test-bootstrap.d.ts.map +1 -0
  86. package/dist/test-bootstrap.js +78 -0
  87. package/dist/test-bootstrap.js.map +1 -0
  88. package/dist/tools/delegate-tool.d.ts.map +1 -1
  89. package/dist/tools/delegate-tool.js +34 -3
  90. package/dist/tools/delegate-tool.js.map +1 -1
  91. package/dist/tools/wait/message-delivery.d.ts.map +1 -1
  92. package/dist/tools/wait/message-delivery.js +1 -2
  93. package/dist/tools/wait/message-delivery.js.map +1 -1
  94. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-exit-watcher.d.ts","sourceRoot":"","sources":["../../src/services/spawn-exit-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3C;AAMD,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM9D;AAyDD,kBAAkB;AAClB,wBAAgB,eAAe,IAAI,IAAI,CAMtC;AACD,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhD;AACD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
1
+ {"version":3,"file":"spawn-exit-watcher.d.ts","sourceRoot":"","sources":["../../src/services/spawn-exit-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAqBH,MAAM,WAAW,YAAY;IAC3B;+EAC2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3C;AAUD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM9D;AA4DD,kBAAkB;AAClB,wBAAgB,eAAe,IAAI,IAAI,CAMtC;AACD,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhD;AACD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AACD;sBACsB;AACtB,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEhE"}
@@ -5,25 +5,46 @@
5
5
  * broker-spawned process is the SUPERVISOR's child, so the MCP has no handle to
6
6
  * wait on. Communication is strictly one-way (MCP → supervisor — hard
7
7
  * criterion), so the supervisor cannot push the event either. Instead this
8
- * watcher polls: a cheap local `process.kill(pid, 0)` syscall first (no broker
9
- * traffic while the child is alive and no child process ever spawned), then the
10
- * broker for the identity-checked verdict + the exit code its handle-wait
11
- * recorded in the registry.
8
+ * watcher polls.
12
9
  *
13
- * Degradation: broker unreachable → the local syscall still detects "pid gone"
14
- * (exit code then unknown → null), and a locally-alive pid is treated as alive
15
- * (the audited-safe direction). A watched pid is only resolved ONCE.
10
+ * Liveness is JOB-based, keyed on the THREAD — never the raw pid the broker
11
+ * returned at spawn. On Windows both claude.exe and copilot.exe are LAUNCHERS:
12
+ * they fork the real agent (a node child with a different pid) into the thread's
13
+ * job, then the launcher exits. Watching the launcher pid is the liveness
14
+ * regression this replaces — it fired a bogus "exited" the moment the launcher
15
+ * died, decommissioning the still-working child. The worker is "exited" only
16
+ * when its JOB has drained (`/proc/alive?threadId=`), which the broker confirms
17
+ * by recording a terminal ledger row once no member remains.
18
+ *
19
+ * Degradation: broker unreachable → "cannot confirm → treat alive" (the
20
+ * audited-safe direction); the watch is kept, never resolved. A slow cold start
21
+ * (~50s for Copilot) keeps its launcher as a live job member, so it reports
22
+ * alive throughout; a first-connect grace additionally refuses to resolve an
23
+ * UNCONFIRMED "gone" until it elapses, so the degraded no-job path can't misfire
24
+ * during a slow start. A broker-CONFIRMED exit resolves immediately regardless.
25
+ * A watched thread is only resolved ONCE.
16
26
  */
17
27
  import { log } from "../lib/logger.js";
18
28
  import { errorMessage } from "../lib/utils.js";
19
- import { brokerCheckAlive } from "./broker-client.js";
29
+ import { brokerCheckAliveByThread } from "./broker-client.js";
20
30
  const SWEEP_INTERVAL_MS = 20_000;
31
+ /** Cold start can be ~50s (Copilot); hold any UNCONFIRMED "gone" until this
32
+ * elapses so a slow start is never judged dead. A broker-confirmed terminal
33
+ * exit bypasses it — fast-exit respawn depends on prompt, accurate reporting. */
34
+ let firstConnectGraceMs = 90_000;
35
+ /** Ledger states that mean the worker is truly, confirmedly gone. NOTE:
36
+ * "kill-failed" is deliberately excluded — it means the kill FAILED and the
37
+ * process may still be ALIVE (e.g. the uncontained Avecto jobAssignFailed path).
38
+ * Treating it as terminal would confirm the death of a live worker and orphan it;
39
+ * instead it falls through to the first-connect grace path. Only a broker-recorded
40
+ * "exited"/"killed" is proof the worker is gone. */
41
+ const CONFIRMED_EXIT_STATES = new Set(["exited", "killed"]);
21
42
  const watched = new Map();
22
43
  let timer = null;
23
44
  let sweepInFlight = false;
24
- /** Register a broker-spawned pid for exit detection. */
45
+ /** Register a broker-spawned thread for exit detection. Keyed by threadId. */
25
46
  export function watchBrokerSpawnExit(entry) {
26
- watched.set(entry.pid, entry);
47
+ watched.set(entry.threadId, { ...entry, watchedSince: Date.now() });
27
48
  if (timer === null) {
28
49
  timer = setInterval(() => void sweep(), SWEEP_INTERVAL_MS);
29
50
  timer.unref();
@@ -39,7 +60,7 @@ async function sweep() {
39
60
  await checkOne(entry);
40
61
  }
41
62
  catch (err) {
42
- log.warn(`[exit-watch] sweep failed for pid ${entry.pid} (thread ${entry.threadId}): ${errorMessage(err)}`);
63
+ log.warn(`[exit-watch] sweep failed for thread ${entry.threadId} (pid ${entry.pid}): ${errorMessage(err)}`);
43
64
  }
44
65
  }
45
66
  }
@@ -52,32 +73,31 @@ async function sweep() {
52
73
  }
53
74
  }
54
75
  async function checkOne(entry) {
55
- // 1. Local syscall: ESRCH is a definitive "gone" even with the broker down.
56
- let locallyDead = false;
57
- try {
58
- process.kill(entry.pid, 0);
59
- }
60
- catch (err) {
61
- if (err.code !== "EPERM")
62
- locallyDead = true;
63
- }
64
- // 2. Broker verdict — identity-checked, and carries the recorded exit code.
65
- const verdict = await brokerCheckAlive(entry.pid, entry.startedAtMs, entry.startTimeTicks);
66
- if (verdict !== null) {
67
- if (verdict.alive)
68
- return; // definitely alive (kill(0) can lie on Windows; this can't)
69
- resolveExit(entry, verdict.exitCode ?? null, verdict.registryState ?? undefined);
76
+ const verdict = await brokerCheckAliveByThread(entry.threadId);
77
+ // Broker unreachable → cannot confirm the job is empty → treat as alive. A dead
78
+ // launcher pid is NEVER, on its own, evidence the worker died (that was the bug).
79
+ if (verdict === null)
70
80
  return;
81
+ if (verdict.known && verdict.alive)
82
+ return; // job still has a live member
83
+ // Not alive. Resolve immediately only when the broker has CONFIRMED the worker is
84
+ // gone — its handle-wait recorded a terminal row once the job drained. Otherwise
85
+ // (a 'running'/'superseded' row still pending, an unknown thread, or the degraded
86
+ // no-job path) hold until the first-connect grace elapses, so a slow cold start is
87
+ // never mistaken for a death.
88
+ const confirmed = verdict.registryState != null && CONFIRMED_EXIT_STATES.has(verdict.registryState);
89
+ const graceElapsed = Date.now() - entry.watchedSince >= firstConnectGraceMs;
90
+ if (confirmed) {
91
+ resolveExit(entry, verdict.exitCode ?? null, verdict.registryState ?? undefined);
92
+ }
93
+ else if (graceElapsed) {
94
+ resolveExit(entry, verdict.exitCode ?? null, "grace-window-elapsed");
71
95
  }
72
- // Broker unreachable: only the local definitive signal may resolve the watch —
73
- // "cannot confirm" must never count as an exit.
74
- if (locallyDead)
75
- resolveExit(entry, null, "broker-unreachable");
76
96
  }
77
97
  function resolveExit(entry, exitCode, source) {
78
- if (!watched.delete(entry.pid))
98
+ if (!watched.delete(entry.threadId))
79
99
  return; // already resolved
80
- log.info(`[exit-watch] broker-spawned PID=${entry.pid} (thread ${entry.threadId}) exited: code ${exitCode ?? "unknown"}${source ? ` (${source})` : ""}`);
100
+ log.info(`[exit-watch] broker-spawned thread ${entry.threadId} (pid ${entry.pid}) exited: code ${exitCode ?? "unknown"}${source ? ` (${source})` : ""}`);
81
101
  try {
82
102
  entry.onExit(exitCode);
83
103
  }
@@ -99,4 +119,9 @@ export function sweepOnceForTest() {
99
119
  export function watchedCountForTest() {
100
120
  return watched.size;
101
121
  }
122
+ /** Shrink (or restore, with null) the first-connect grace so grace-path tests
123
+ * don't wait 90s. */
124
+ export function setExitWatchGraceForTest(ms) {
125
+ firstConnectGraceMs = ms ?? 90_000;
126
+ }
102
127
  //# sourceMappingURL=spawn-exit-watcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-exit-watcher.js","sourceRoot":"","sources":["../../src/services/spawn-exit-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-exit-watcher.js","sourceRoot":"","sources":["../../src/services/spawn-exit-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC;;kFAEkF;AAClF,IAAI,mBAAmB,GAAG,MAAM,CAAC;AAEjC;;;;;qDAKqD;AACrD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAc5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;AAC9C,IAAI,KAAK,GAA0B,IAAI,CAAC;AACxC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAC,KAAmB;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAC3D,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK;IAClB,IAAI,aAAa;QAAE,OAAO,CAAC,sCAAsC;IACjE,aAAa,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,wCAAwC,KAAK,CAAC,QAAQ,SAAS,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACzC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAiB;IACvC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,gFAAgF;IAChF,kFAAkF;IAClF,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO;IAC7B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,8BAA8B;IAE1E,kFAAkF;IAClF,iFAAiF;IACjF,kFAAkF;IAClF,mFAAmF;IACnF,8BAA8B;IAC9B,MAAM,SAAS,GACb,OAAO,CAAC,aAAa,IAAI,IAAI,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAC5E,IAAI,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC;IACnF,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB,EAAE,QAAuB,EAAE,MAAe;IAC9E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,mBAAmB;IAChE,GAAG,CAAC,IAAI,CACN,sCAAsC,KAAK,CAAC,QAAQ,SAAS,KAAK,CAAC,GAAG,kBAAkB,QAAQ,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/I,CAAC;IACF,IAAI,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,iDAAiD,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,eAAe;IAC7B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AACD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,EAAE,CAAC;AACjB,CAAC;AACD,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AACD;sBACsB;AACtB,MAAM,UAAU,wBAAwB,CAAC,EAAiB;IACxD,mBAAmB,GAAG,EAAE,IAAI,MAAM,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"thread-health.service.d.ts","sourceRoot":"","sources":["../../src/services/thread-health.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAS7D,KAAK,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/D,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;CACpB;AA2FD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,GAAG,YAAY,CAarE;AAED,0FAA0F;AAC1F,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA+BD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,EAClD,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAmEjB"}
1
+ {"version":3,"file":"thread-health.service.d.ts","sourceRoot":"","sources":["../../src/services/thread-health.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAS7D,KAAK,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/D,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;CACpB;AA+FD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,GAAG,YAAY,CAarE;AAED,0FAA0F;AAC1F,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA+BD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,EAClD,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAmEjB"}
@@ -1,7 +1,7 @@
1
1
  import { getAllRegisteredTopics } from "../sessions/topic-registry.js";
2
2
  import { getDashboardSessions, WAIT_LIVENESS_MS } from "../sessions/dashboard-registry.js";
3
3
  import { getAllThreads } from "../data/memory/thread-registry.js";
4
- import { isProcessAlive, readPidFiles, spawnedThreads, } from "./process.service.js";
4
+ import { isThreadAlive, readPidFiles, spawnedThreads, } from "./process.service.js";
5
5
  import { log } from "../lib/logger.js";
6
6
  const formatRelativeTime = (ms) => ms < 0
7
7
  ? "just now"
@@ -77,8 +77,12 @@ async function collectThreadData(getMemoryDb) {
77
77
  threadId,
78
78
  name: threadNames.get(threadId) ?? regEntry?.name ?? "unnamed",
79
79
  pid,
80
+ // THREAD-scoped so a broker-spawned worker isn't shown dead ~20s after
81
+ // spawn (its launcher pid exits while the forked child keeps running in the
82
+ // job). Only consult the broker for threads that actually have a pid, so a
83
+ // pid-less topic/session row costs no broker round-trip.
80
84
  alive: pid !== undefined &&
81
- (await isProcessAlive(pid, spawnedEntry?.startedAt ?? pidFileEntry?.startedAt)),
85
+ (await isThreadAlive(threadId, pid, spawnedEntry?.startedAt ?? pidFileEntry?.startedAt)),
82
86
  hasActiveSession: !!activeSession,
83
87
  hasRecentWait: anySession?.lastWaitCallAt != null && now - anySession.lastWaitCallAt < WAIT_LIVENESS_MS,
84
88
  sessionCount: threadSessions.length,
@@ -1 +1 @@
1
- {"version":3,"file":"thread-health.service.js","sourceRoot":"","sources":["../../src/services/thread-health.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-health.service.js","sourceRoot":"","sources":["../../src/services/thread-health.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,aAAa,EAA4B,MAAM,mCAAmC,CAAC;AAE5F,OAAO,EACL,aAAa,EACb,YAAY,EACZ,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAkBvC,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,EAAE,CACxC,EAAE,GAAG,CAAC;IACJ,CAAC,CAAC,UAAU;IACZ,CAAC,CAAC,EAAE,GAAG,MAAM;QACX,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO;QACjC,CAAC,CAAC,EAAE,GAAG,SAAS;YACd,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO;YACnC,CAAC,CAAC,EAAE,GAAG,UAAU;gBACf,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,OAAO;gBACtC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;AAClD,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC;AACjG,CAAC,CAAC;AAEF,KAAK,UAAU,iBAAiB,CAC9B,WAAkD;IAElD,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAChE,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;YAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAC3C,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI;YAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjG,KAAK,MAAM,CAAC,IAAI,cAAc;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC3C,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS;QACvC,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClB,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,YAAY,EAAE,GAAG,IAAI,YAAY,EAAE,GAAG,CAAC;QACnD,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO;YACL,QAAQ;YACR,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS;YAC9D,GAAG;YACH,uEAAuE;YACvE,4EAA4E;YAC5E,2EAA2E;YAC3E,yDAAyD;YACzD,KAAK,EACH,GAAG,KAAK,SAAS;gBACjB,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,IAAI,YAAY,EAAE,SAAS,CAAC,CAAC;YAC1F,gBAAgB,EAAE,CAAC,CAAC,aAAa;YACjC,aAAa,EACX,UAAU,EAAE,cAAc,IAAI,IAAI,IAAI,GAAG,GAAG,UAAU,CAAC,cAAc,GAAG,gBAAgB;YAC1F,YAAY,EAAE,cAAc,CAAC,MAAM;YACnC,YAAY,EACV,UAAU,EAAE,YAAY;gBACxB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,gBAAgB,EAAE,YAAY,EAAE,SAAS;YACzC,cAAc,EAAE,QAAQ,EAAE,MAAM;YAChC,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,KAAK;SACxC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAkB;IACrD,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,CAAC;QAC/F,OAAO,SAAS,CAAC;IACnB,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IACnD,IACE,CAAC,CAAC,cAAc,KAAK,UAAU;QAC/B,CAAC,CAAC,cAAc,KAAK,SAAS;QAC9B,CAAC,CAAC,cAAc,KAAK,QAAQ;QAE7B,OAAO,MAAM,CAAC;IAChB,IAAI,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,SAAS,CAAC;AACnB,CAAC;AAYD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,YAAY,GAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC/E,MAAM,aAAa,GAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE7D;;;sFAGsF;AACtF,SAAS,YAAY,CAAC,GAAuB;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,oBAAoB,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;kFACkF;AAClF,SAAS,WAAW,CAAC,GAAwB;IAC3C,OAAO,GAAG,KAAK,IAAI,IAAK,GAAe,KAAK,MAAM,CAAC;AACrD,CAAC;AAED;kFACkF;AAClF,SAAS,aAAa,CAAC,GAAmC;IACxD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,GAAG,KAAK,KAAK,IAAK,YAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1E,GAAG,CAAC,KAAK,CAAC,mDAAmD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAkD,EAClD,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,2EAA2E,CAAC;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QAClC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC/B,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;QAC9C,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;QAC7E,OAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG;QAClF,MAAM,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG;KAC/E,CAAC,CAAC,CAAC;IACJ,MAAM,WAAW,GAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpF,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK;QACtC,CAAC,CAAC,CAAC,MAAM,CAAC;QACV,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,WAAW;YAC/B,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,aAAa,CAAC;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAU,CAClE,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,CAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACxD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM;aACrB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACzD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,uEAAuE;QACvE,4EAA4E;QAC5E,qDAAqD;QACrD,MAAM,IAAI,GACR,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK;YACtC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,uCAAuC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,eAAe,SAAS,OAAO,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,aAAa,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,gCAAgC,KAAK,EAAE,CAAC,CAAC;IAE3F,OAAO;QACL,yBAAyB;QACzB,EAAE;QACF,wEAAwE;QACxE,wEAAwE;QACxE,GAAG,IAAI,CAAC,GAAG,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,IAAI,CAC5G;QACD,EAAE;QACF,gBAAgB,OAAO,CAAC,MAAM,qBAAqB,OAAO,CAAC,SAAS,CAAC,aAAa,OAAO,CAAC,SAAS,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,UAAU,OAAO,CAAC,SAAS,CAAC,UAAU;QACtK,6EAA6E;QAC7E,oEAAoE;QACpE,aAAa,IAAI,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;KACpG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { unlinkSync } from "node:fs";
2
- import { homedir } from "node:os";
3
2
  import { join } from "node:path";
3
+ import { dataDir } from "../lib/paths.js";
4
4
  export var ThreadState;
5
5
  (function (ThreadState) {
6
6
  ThreadState["Created"] = "created";
@@ -37,7 +37,7 @@ const VALID_TRANSITIONS = {
37
37
  [ThreadState.Expired]: new Set([ThreadState.Archived]),
38
38
  };
39
39
  function cleanupThreadFiles(threadId) {
40
- const base = join(homedir(), ".remote-copilot-mcp");
40
+ const base = dataDir();
41
41
  for (const filePath of [
42
42
  join(base, "heartbeats", `${threadId}`),
43
43
  join(base, "schedules", `${threadId}.json`),
@@ -1 +1 @@
1
- {"version":3,"file":"thread-lifecycle.service.js","sourceRoot":"","sources":["../../src/services/thread-lifecycle.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-lifecycle.service.js","sourceRoot":"","sources":["../../src/services/thread-lifecycle.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAyBzF,eAAO,MAAM,eAAe,QAGxB,CAAC;AAQL;;;qFAGqF;AACrF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;oFAGoF;AACpF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,IAAI,EAAE;IACJ,EAAE,EAAE,UAAU,CAAC,cAAc,yBAAyB,EAAE,YAAY,CAAC,CAAC;IACtE,QAAQ,EAAE;QAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,sBAAsB,CAAC;CACzC,GACA,OAAO,CAAC,IAAI,CAAC,CA4Ff;AAoED,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAqEpD,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,UAAU,CAAC,cAAc,yBAAyB,EAAE,YAAY,CAAC,EACrE,QAAQ,EAAE;IACR,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,CACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,EACD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,sBAAsB,EACvC,KAAK,GAAE,MAA8B,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA6ShD"}
1
+ {"version":3,"file":"worker-cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAyBzF,eAAO,MAAM,eAAe,QAGxB,CAAC;AAQL;;;qFAGqF;AACrF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;oFAGoF;AACpF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,IAAI,EAAE;IACJ,EAAE,EAAE,UAAU,CAAC,cAAc,yBAAyB,EAAE,YAAY,CAAC,CAAC;IACtE,QAAQ,EAAE;QAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,sBAAsB,CAAC;CACzC,GACA,OAAO,CAAC,IAAI,CAAC,CA+Ff;AAoED,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAqEpD,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,UAAU,CAAC,cAAc,yBAAyB,EAAE,YAAY,CAAC,EACrE,QAAQ,EAAE;IACR,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,CACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,EACD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,sBAAsB,EACvC,KAAK,GAAE,MAA8B,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkThD"}
@@ -4,7 +4,7 @@ import { archiveNotesForThread } from "../data/memory/note-archival.js";
4
4
  import { closeThreadSessions } from "../sessions/mcp-registry.js";
5
5
  import { getExplicitTelegramTopicId, updateThread } from "../data/memory/thread-registry.js";
6
6
  import { errorMessage } from "../lib/utils.js";
7
- import { spawnedThreads, readPidFiles, killProcessTree, isProcessAlive, clearTaskConsumed, deletePendingTaskMailbox, PROCESS_BASE_DIR, } from "./process.service.js";
7
+ import { spawnedThreads, readPidFiles, killThreadTree, isThreadAlive, clearTaskConsumed, deletePendingTaskMailbox, PROCESS_BASE_DIR, } from "./process.service.js";
8
8
  import { ThreadState } from "./thread-lifecycle.service.js";
9
9
  import { log } from "../lib/logger.js";
10
10
  /** True when a deleteForumTopic error means the topic is already gone — which is
@@ -71,16 +71,20 @@ export async function decommissionWorker(thread, deps) {
71
71
  // (The old kill-retry circuit breaker is gone with the taskkill machinery:
72
72
  // a kill is now one localhost HTTP call to the broker, so re-issuing it each
73
73
  // sweep can no longer starve anything.)
74
- if (thread.pid !== undefined) {
75
- await killProcessTree(thread.pid, thread.threadId, "decommission", thread.startedAt);
76
- }
74
+ // Kill by THREAD, not by the recorded pid: a launcher-forked worker's pid is the
75
+ // already-exited launcher, and KillByPid(launcher) hits the broker's AlreadyDead
76
+ // fast-path without ever touching the live forked child. Routing by threadId
77
+ // job-kills the real agent. (No-op if already gone.)
78
+ await killThreadTree(thread.threadId, "decommission", thread.pid, thread.startedAt);
77
79
  // 2. Tear down MCP transport(s) ONLY once the process is confirmed dead. A dead
78
80
  // process's socket is already gone, so this is bookkeeping (and marks the
79
81
  // close expected so http-server's onclose does not re-kill). If the kill
80
82
  // EPERM-failed and the agent is still alive, LEAVE the transport OPEN so the
81
83
  // live agent stays connected and functional instead of being orphaned — an
82
84
  // idle unkillable worker simply stays parked in wait, which is harmless.
83
- const processGone = thread.pid === undefined || !(await isProcessAlive(thread.pid, thread.startedAt));
85
+ // THREAD-scoped liveness: gate teardown on the broker's job verdict, never on the
86
+ // stale launcher pid (which reads dead ~20s post-spawn and would orphan a live child).
87
+ const processGone = !(await isThreadAlive(thread.threadId, thread.pid, thread.startedAt));
84
88
  if (processGone) {
85
89
  // Process confirmed gone — drop the unkillable anchor and the breaker entry so
86
90
  // neither outlives the thread (and a future thread reusing this id starts clean).
@@ -310,13 +314,15 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
310
314
  // self-exit — it orphans it (alive, but no MCP connection → wedged). So
311
315
  // confirm death via the kill, then tear the transport down only in the
312
316
  // confirmed-dead branch below.
313
- if (killPid)
314
- await killProcessTree(killPid, row.thread_id, "worker-cleanup-expired", killStartedAt);
317
+ // Kill by THREAD (job kill of the real forked child); the recorded pid is
318
+ // only a degraded-path fallback when the broker is unreachable.
319
+ await killThreadTree(row.thread_id, "worker-cleanup-expired", killPid, killStartedAt);
315
320
  // Invariant: a worker's topic is deleted ONLY when its process is confirmed
316
321
  // gone. If the kill left it alive (EPERM on a wedged child), defer topic
317
322
  // deletion to the backstop reaper below, which re-checks liveness — deleting
318
- // here would orphan the topic of a still-running worker.
319
- const processGone = !killPid || !(await isProcessAlive(killPid, killStartedAt));
323
+ // here would orphan the topic of a still-running worker. Gate on the broker's
324
+ // thread verdict, not the launcher pid.
325
+ const processGone = !(await isThreadAlive(row.thread_id, killPid, killStartedAt));
320
326
  if (processGone) {
321
327
  // Confirmed dead — its socket is already gone, so closing the transport
322
328
  // is bookkeeping (and marks the close expected). Safe now.
@@ -447,7 +453,9 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
447
453
  const runnable = row?.status === "active" && !pastTtl;
448
454
  if (runnable)
449
455
  continue;
450
- if (!(await isProcessAlive(entry.pid, entry.startedAt))) {
456
+ // THREAD-scoped: the launcher pid reads dead while the forked child lives, so
457
+ // a pid-first check here would finalize (topic-delete + archive) a live worker.
458
+ if (!(await isThreadAlive(entry.threadId, entry.pid, entry.startedAt))) {
451
459
  clearUnkillableAttempt(entry.threadId);
452
460
  // Process is confirmed dead but its topic/registry can still linger (a
453
461
  // zombie whose exit handler never ran). This is the invariant-safe point
@@ -462,14 +470,15 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
462
470
  // not kill does not make a mid-task agent self-exit — it ORPHANS it (alive,
463
471
  // but with no MCP connection → wedged forever). So kill first; only once the
464
472
  // process is confirmed dead (below) do we tear the transport down.
465
- await killProcessTree(entry.pid, entry.threadId, "worker-cleanup-reap", entry.startedAt);
466
- // killProcessTree resolves even when the kill FAILS (e.g. EPERM on a
473
+ await killThreadTree(entry.threadId, "worker-cleanup-reap", entry.pid, entry.startedAt);
474
+ // killThreadTree resolves even when the kill FAILS (e.g. EPERM on a
467
475
  // Windows claude.exe whose wedged bash.exe child makes taskkill /T a
468
476
  // no-op). Re-check liveness before claiming success — otherwise we log a
469
477
  // phantom "Reaped", drop the tracking entry, and count it as cleaned,
470
478
  // hiding a zombie that then reappears and "reaps" forever. If it survived,
471
479
  // surface it to the operator (rate-limited) so it gets a manual kill.
472
- if (await isProcessAlive(entry.pid, entry.startedAt)) {
480
+ // THREAD-scoped so a live forked child (dead launcher pid) is not falsely reaped.
481
+ if (await isThreadAlive(entry.threadId, entry.pid, entry.startedAt)) {
473
482
  // Still alive after an EPERM kill — LEAVE its MCP transport OPEN so the
474
483
  // agent stays connected rather than being orphaned (closing a live agent's
475
484
  // socket does not make it self-exit if it is mid-task). An idle unkillable
@@ -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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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * GLOBAL TEST ISOLATION GUARD — preloaded before every test file.
3
+ *
4
+ * Wired in package.json as an `--import` hook that runs BEFORE the test module
5
+ * (and therefore before its first import of config / schema / scheduler / any
6
+ * module that resolves a path from the data dir):
7
+ *
8
+ * node --import tsx --import ./src/test-bootstrap.ts --test "src/**\/*.test.ts"
9
+ *
10
+ * Node's test runner re-spawns each test FILE in its own child process, passing
11
+ * the parent's `--import` flags through to every child. So this runs once per
12
+ * child, before any product code — isolation is STRUCTURAL, not per-file opt-in.
13
+ * (Before this, only 7 of 21 test files set up a temp HOME by hand; a new test
14
+ * that forgot the dance hit the live data dir.)
15
+ *
16
+ * WHY (2026-07-28 live-host incident): running the suite on the machine hosting
17
+ * the live server let test children resolve `os.homedir()` to the REAL
18
+ * `~/.remote-copilot-mcp` and open the production memory.db (WAL), rewrite
19
+ * settings.json, and race server.log rotation — freezing the live MCP for ~20
20
+ * min until the supervisor restarted it. The earlier mitigation only redirected
21
+ * LOGS (SENSORIUM_LOG_DIR); every other real path stayed exposed.
22
+ *
23
+ * This guard closes the whole hole three ways:
24
+ * 1. SENSORIUM_BASE_DIR → a fresh per-run temp dir (the durable follow-up):
25
+ * relocates memory.db, settings.json, schedules, heartbeats, pids,
26
+ * active-sessions.json, files — see src/lib/paths.ts.
27
+ * 2. HOME + USERPROFILE → the same temp dir (belt-and-suspenders): any path
28
+ * that still reaches os.homedir() directly (session-store sibling file,
29
+ * external-tool dirs, a call site not yet routed through paths.ts) also
30
+ * lands in the throwaway dir. os.homedir() reads USERPROFILE on Windows and
31
+ * HOME on POSIX, so both are set.
32
+ * 3. A HARD REFUSAL: if the data dir still resolves to the real one, THROW
33
+ * before a single test runs. The suite can never run against live state.
34
+ *
35
+ * Ports are already safe (the two HTTP tests bind port 0); nothing here needs to
36
+ * touch them.
37
+ */
38
+ export {};
39
+ //# sourceMappingURL=test-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-bootstrap.d.ts","sourceRoot":"","sources":["../src/test-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * GLOBAL TEST ISOLATION GUARD — preloaded before every test file.
3
+ *
4
+ * Wired in package.json as an `--import` hook that runs BEFORE the test module
5
+ * (and therefore before its first import of config / schema / scheduler / any
6
+ * module that resolves a path from the data dir):
7
+ *
8
+ * node --import tsx --import ./src/test-bootstrap.ts --test "src/**\/*.test.ts"
9
+ *
10
+ * Node's test runner re-spawns each test FILE in its own child process, passing
11
+ * the parent's `--import` flags through to every child. So this runs once per
12
+ * child, before any product code — isolation is STRUCTURAL, not per-file opt-in.
13
+ * (Before this, only 7 of 21 test files set up a temp HOME by hand; a new test
14
+ * that forgot the dance hit the live data dir.)
15
+ *
16
+ * WHY (2026-07-28 live-host incident): running the suite on the machine hosting
17
+ * the live server let test children resolve `os.homedir()` to the REAL
18
+ * `~/.remote-copilot-mcp` and open the production memory.db (WAL), rewrite
19
+ * settings.json, and race server.log rotation — freezing the live MCP for ~20
20
+ * min until the supervisor restarted it. The earlier mitigation only redirected
21
+ * LOGS (SENSORIUM_LOG_DIR); every other real path stayed exposed.
22
+ *
23
+ * This guard closes the whole hole three ways:
24
+ * 1. SENSORIUM_BASE_DIR → a fresh per-run temp dir (the durable follow-up):
25
+ * relocates memory.db, settings.json, schedules, heartbeats, pids,
26
+ * active-sessions.json, files — see src/lib/paths.ts.
27
+ * 2. HOME + USERPROFILE → the same temp dir (belt-and-suspenders): any path
28
+ * that still reaches os.homedir() directly (session-store sibling file,
29
+ * external-tool dirs, a call site not yet routed through paths.ts) also
30
+ * lands in the throwaway dir. os.homedir() reads USERPROFILE on Windows and
31
+ * HOME on POSIX, so both are set.
32
+ * 3. A HARD REFUSAL: if the data dir still resolves to the real one, THROW
33
+ * before a single test runs. The suite can never run against live state.
34
+ *
35
+ * Ports are already safe (the two HTTP tests bind port 0); nothing here needs to
36
+ * touch them.
37
+ */
38
+ import { homedir, tmpdir } from "node:os";
39
+ import { mkdtempSync, rmSync } from "node:fs";
40
+ import { join } from "node:path";
41
+ // Snapshot the REAL data dir BEFORE we override anything, so the refusal check
42
+ // below compares against ground truth.
43
+ const REAL_DATA_DIR = join(homedir(), ".remote-copilot-mcp");
44
+ // One throwaway home per test child. Not cleaned between files (each child gets
45
+ // its own), but removed on this child's exit below.
46
+ const TEST_HOME = mkdtempSync(join(tmpdir(), "sensorium-test-home-"));
47
+ const TEST_BASE_DIR = join(TEST_HOME, ".remote-copilot-mcp");
48
+ process.env.SENSORIUM_BASE_DIR = TEST_BASE_DIR;
49
+ process.env.SENSORIUM_LOG_DIR = join(TEST_BASE_DIR, "logs", "mcp");
50
+ process.env.USERPROFILE = TEST_HOME;
51
+ process.env.HOME = TEST_HOME;
52
+ // config/index.ts calls process.exit(1) at import when these are unset — seed
53
+ // dummies so importing config in any test can never kill the runner. Only fill
54
+ // blanks; never clobber a value a test set on purpose.
55
+ process.env.TELEGRAM_TOKEN ||= "test-token";
56
+ process.env.TELEGRAM_CHAT_ID ||= "test-chat-id";
57
+ // ── HARD REFUSAL ────────────────────────────────────────────────────────────
58
+ // If, after the overrides, the data dir STILL points at the live one, abort the
59
+ // entire process. This can only happen if the override mechanism itself failed
60
+ // (e.g. a future runtime where os.homedir() ignores env); running on would risk
61
+ // the live server, so we refuse rather than proceed.
62
+ const activeBaseDir = process.env.SENSORIUM_BASE_DIR;
63
+ if (!activeBaseDir ||
64
+ activeBaseDir === REAL_DATA_DIR ||
65
+ join(homedir(), ".remote-copilot-mcp") === REAL_DATA_DIR) {
66
+ throw new Error(`[test-isolation] REFUSING TO RUN: the data dir still resolves to the live ` +
67
+ `"${REAL_DATA_DIR}". Isolation overrides did not take effect; running the ` +
68
+ `suite would corrupt the live Sensorium server. Aborting.`);
69
+ }
70
+ process.on("exit", () => {
71
+ try {
72
+ rmSync(TEST_HOME, { recursive: true, force: true });
73
+ }
74
+ catch {
75
+ /* best-effort — open log handles on Windows may block removal */
76
+ }
77
+ });
78
+ //# sourceMappingURL=test-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-bootstrap.js","sourceRoot":"","sources":["../src/test-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+EAA+E;AAC/E,uCAAuC;AACvC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAE7D,gFAAgF;AAChF,oDAAoD;AACpD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;AACtE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAE7D,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,aAAa,CAAC;AAC/C,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACnE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;AACpC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;AAE7B,8EAA8E;AAC9E,+EAA+E;AAC/E,uDAAuD;AACvD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,YAAY,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,cAAc,CAAC;AAEhD,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,qDAAqD;AACrD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACrD,IACE,CAAC,aAAa;IACd,aAAa,KAAK,aAAa;IAC/B,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,KAAK,aAAa,EACxD,CAAC;IACD,MAAM,IAAI,KAAK,CACb,4EAA4E;QAC1E,IAAI,aAAa,0DAA0D;QAC3E,0DAA0D,CAC7D,CAAC;AACJ,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC,CAAC,CAAC"}