sensorium-mcp 3.1.0-refactor.15 → 3.1.0-refactor.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/agent-settings.d.ts +6 -0
- package/dist/config/agent-settings.d.ts.map +1 -1
- package/dist/config/agent-settings.js +22 -0
- package/dist/config/agent-settings.js.map +1 -1
- package/dist/config/detail-grant.d.ts +39 -0
- package/dist/config/detail-grant.d.ts.map +1 -0
- package/dist/config/detail-grant.js +61 -0
- package/dist/config/detail-grant.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/misc-settings.d.ts +2 -0
- package/dist/config/misc-settings.d.ts.map +1 -1
- package/dist/config/misc-settings.js +22 -0
- package/dist/config/misc-settings.js.map +1 -1
- package/dist/dashboard/routes/copilot.d.ts.map +1 -1
- package/dist/dashboard/routes/copilot.js +17 -1
- package/dist/dashboard/routes/copilot.js.map +1 -1
- package/dist/dashboard/routes/settings.d.ts +2 -0
- package/dist/dashboard/routes/settings.d.ts.map +1 -1
- package/dist/dashboard/routes/settings.js +25 -1
- package/dist/dashboard/routes/settings.js.map +1 -1
- package/dist/dashboard/routes/threads-read.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-read.js +9 -2
- package/dist/dashboard/routes/threads-read.js.map +1 -1
- package/dist/dashboard/routes/threads.js +3 -3
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +14 -5
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +11 -11
- package/dist/index.js +48 -13
- package/dist/index.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +21 -2
- package/dist/lib/logger.js.map +1 -1
- package/dist/server/factory.js +16 -6
- package/dist/server/factory.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +10 -7
- package/dist/server/http-server.js.map +1 -1
- package/dist/services/agent-spawn.service.d.ts +3 -3
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +14 -8
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/background-runner.d.ts.map +1 -1
- package/dist/services/background-runner.js +6 -12
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/broker-client.d.ts +181 -0
- package/dist/services/broker-client.d.ts.map +1 -0
- package/dist/services/broker-client.js +323 -0
- package/dist/services/broker-client.js.map +1 -0
- package/dist/services/claude-spawn.service.d.ts +1 -1
- package/dist/services/claude-spawn.service.d.ts.map +1 -1
- package/dist/services/claude-spawn.service.js +25 -25
- package/dist/services/claude-spawn.service.js.map +1 -1
- package/dist/services/codex-spawn.service.d.ts +1 -1
- package/dist/services/codex-spawn.service.d.ts.map +1 -1
- package/dist/services/codex-spawn.service.js +19 -24
- package/dist/services/codex-spawn.service.js.map +1 -1
- package/dist/services/copilot-spawn.service.d.ts +1 -1
- package/dist/services/copilot-spawn.service.d.ts.map +1 -1
- package/dist/services/copilot-spawn.service.js +45 -36
- package/dist/services/copilot-spawn.service.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +24 -5
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/flight-recorder.service.d.ts.map +1 -1
- package/dist/services/flight-recorder.service.js +41 -2
- package/dist/services/flight-recorder.service.js.map +1 -1
- package/dist/services/keeper.service.d.ts +9 -0
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +147 -31
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/process.service.d.ts +40 -62
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +118 -613
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/scheduler.d.ts +1 -0
- package/dist/services/scheduler.d.ts.map +1 -1
- package/dist/services/scheduler.js +58 -11
- package/dist/services/scheduler.js.map +1 -1
- package/dist/services/self-update.service.d.ts +14 -3
- package/dist/services/self-update.service.d.ts.map +1 -1
- package/dist/services/self-update.service.js +141 -72
- package/dist/services/self-update.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +49 -23
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +262 -47
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/spawn-exit-watcher.d.ts +32 -0
- package/dist/services/spawn-exit-watcher.d.ts.map +1 -0
- package/dist/services/spawn-exit-watcher.js +102 -0
- package/dist/services/spawn-exit-watcher.js.map +1 -0
- package/dist/services/thread-health.service.d.ts +1 -1
- package/dist/services/thread-health.service.d.ts.map +1 -1
- package/dist/services/thread-health.service.js +6 -6
- package/dist/services/thread-health.service.js.map +1 -1
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +9 -92
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/tools/defs/session-defs.js +1 -1
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/defs/utility-defs.d.ts.map +1 -1
- package/dist/tools/defs/utility-defs.js +4 -3
- package/dist/tools/defs/utility-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts +1 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +5 -5
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +34 -20
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/utility-tools.js +1 -1
- package/dist/tools/utility-tools.js.map +1 -1
- package/dist/tools/wait/message-delivery.js +2 -2
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exit watching for broker-spawned agents (Phase 3).
|
|
3
|
+
*
|
|
4
|
+
* A locally-spawned child reports its death through `child.on("exit")`; a
|
|
5
|
+
* broker-spawned process is the SUPERVISOR's child, so the MCP has no handle to
|
|
6
|
+
* wait on. Communication is strictly one-way (MCP → supervisor — hard
|
|
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.
|
|
12
|
+
*
|
|
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.
|
|
16
|
+
*/
|
|
17
|
+
export interface WatchedSpawn {
|
|
18
|
+
pid: number;
|
|
19
|
+
threadId: number;
|
|
20
|
+
/** Broker-reported creation time (ms) — identity for the alive checks. */
|
|
21
|
+
startedAtMs: number;
|
|
22
|
+
/** Native creation FILETIME when known — exact identity. */
|
|
23
|
+
startTimeTicks?: number;
|
|
24
|
+
onExit: (exitCode: number | null) => void;
|
|
25
|
+
}
|
|
26
|
+
/** Register a broker-spawned pid for exit detection. */
|
|
27
|
+
export declare function watchBrokerSpawnExit(entry: WatchedSpawn): void;
|
|
28
|
+
/** Test hooks. */
|
|
29
|
+
export declare function stopExitWatcher(): void;
|
|
30
|
+
export declare function sweepOnceForTest(): Promise<void>;
|
|
31
|
+
export declare function watchedCountForTest(): number;
|
|
32
|
+
//# sourceMappingURL=spawn-exit-watcher.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exit watching for broker-spawned agents (Phase 3).
|
|
3
|
+
*
|
|
4
|
+
* A locally-spawned child reports its death through `child.on("exit")`; a
|
|
5
|
+
* broker-spawned process is the SUPERVISOR's child, so the MCP has no handle to
|
|
6
|
+
* wait on. Communication is strictly one-way (MCP → supervisor — hard
|
|
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.
|
|
12
|
+
*
|
|
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.
|
|
16
|
+
*/
|
|
17
|
+
import { log } from "../lib/logger.js";
|
|
18
|
+
import { errorMessage } from "../lib/utils.js";
|
|
19
|
+
import { brokerCheckAlive } from "./broker-client.js";
|
|
20
|
+
const SWEEP_INTERVAL_MS = 20_000;
|
|
21
|
+
const watched = new Map();
|
|
22
|
+
let timer = null;
|
|
23
|
+
let sweepInFlight = false;
|
|
24
|
+
/** Register a broker-spawned pid for exit detection. */
|
|
25
|
+
export function watchBrokerSpawnExit(entry) {
|
|
26
|
+
watched.set(entry.pid, entry);
|
|
27
|
+
if (timer === null) {
|
|
28
|
+
timer = setInterval(() => void sweep(), SWEEP_INTERVAL_MS);
|
|
29
|
+
timer.unref();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function sweep() {
|
|
33
|
+
if (sweepInFlight)
|
|
34
|
+
return; // a slow broker must not stack sweeps
|
|
35
|
+
sweepInFlight = true;
|
|
36
|
+
try {
|
|
37
|
+
for (const entry of [...watched.values()]) {
|
|
38
|
+
try {
|
|
39
|
+
await checkOne(entry);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
log.warn(`[exit-watch] sweep failed for pid ${entry.pid} (thread ${entry.threadId}): ${errorMessage(err)}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
sweepInFlight = false;
|
|
48
|
+
if (watched.size === 0 && timer !== null) {
|
|
49
|
+
clearInterval(timer);
|
|
50
|
+
timer = null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
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);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
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
|
+
}
|
|
77
|
+
function resolveExit(entry, exitCode, source) {
|
|
78
|
+
if (!watched.delete(entry.pid))
|
|
79
|
+
return; // already resolved
|
|
80
|
+
log.info(`[exit-watch] broker-spawned PID=${entry.pid} (thread ${entry.threadId}) exited: code ${exitCode ?? "unknown"}${source ? ` (${source})` : ""}`);
|
|
81
|
+
try {
|
|
82
|
+
entry.onExit(exitCode);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
log.warn(`[exit-watch] onExit handler failed for thread ${entry.threadId}: ${errorMessage(err)}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** Test hooks. */
|
|
89
|
+
export function stopExitWatcher() {
|
|
90
|
+
if (timer !== null) {
|
|
91
|
+
clearInterval(timer);
|
|
92
|
+
timer = null;
|
|
93
|
+
}
|
|
94
|
+
watched.clear();
|
|
95
|
+
}
|
|
96
|
+
export function sweepOnceForTest() {
|
|
97
|
+
return sweep();
|
|
98
|
+
}
|
|
99
|
+
export function watchedCountForTest() {
|
|
100
|
+
return watched.size;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=spawn-exit-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn-exit-watcher.js","sourceRoot":"","sources":["../../src/services/spawn-exit-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,6 @@ export interface ThreadsHealthOptions {
|
|
|
32
32
|
* Hidden threads are still counted in a roll-up line, so nothing is silently
|
|
33
33
|
* dropped; pass `status: "all"` or `includeDead: true` to see them.
|
|
34
34
|
*/
|
|
35
|
-
export declare function getThreadsHealth(getMemoryDb: () => ReturnType<typeof initMemoryDb>, options?: ThreadsHealthOptions): string
|
|
35
|
+
export declare function getThreadsHealth(getMemoryDb: () => ReturnType<typeof initMemoryDb>, options?: ThreadsHealthOptions): Promise<string>;
|
|
36
36
|
export {};
|
|
37
37
|
//# sourceMappingURL=thread-health.service.d.ts.map
|
|
@@ -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;
|
|
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"}
|
|
@@ -22,7 +22,7 @@ const formatUptime = (startedAt) => {
|
|
|
22
22
|
const hours = Math.floor(minutes / 60);
|
|
23
23
|
return hours < 24 ? `${hours}h ${minutes % 60}m` : `${Math.floor(hours / 24)}d ${hours % 24}h`;
|
|
24
24
|
};
|
|
25
|
-
function collectThreadData(getMemoryDb) {
|
|
25
|
+
async function collectThreadData(getMemoryDb) {
|
|
26
26
|
const topicsByChat = getAllRegisteredTopics();
|
|
27
27
|
const sessions = getDashboardSessions();
|
|
28
28
|
const pidFiles = readPidFiles();
|
|
@@ -65,7 +65,7 @@ function collectThreadData(getMemoryDb) {
|
|
|
65
65
|
arr.push(session);
|
|
66
66
|
sessionsByThread.set(session.threadId, arr);
|
|
67
67
|
}
|
|
68
|
-
return [...allThreadIds].map((threadId) => {
|
|
68
|
+
return Promise.all([...allThreadIds].map(async (threadId) => {
|
|
69
69
|
const spawnedEntry = spawnedByThread.get(threadId);
|
|
70
70
|
const pidFileEntry = pidFileByThread.get(threadId);
|
|
71
71
|
const pid = spawnedEntry?.pid ?? pidFileEntry?.pid;
|
|
@@ -78,7 +78,7 @@ function collectThreadData(getMemoryDb) {
|
|
|
78
78
|
name: threadNames.get(threadId) ?? regEntry?.name ?? "unnamed",
|
|
79
79
|
pid,
|
|
80
80
|
alive: pid !== undefined &&
|
|
81
|
-
isProcessAlive(pid, spawnedEntry?.startedAt ?? pidFileEntry?.startedAt),
|
|
81
|
+
(await isProcessAlive(pid, spawnedEntry?.startedAt ?? pidFileEntry?.startedAt)),
|
|
82
82
|
hasActiveSession: !!activeSession,
|
|
83
83
|
hasRecentWait: anySession?.lastWaitCallAt != null && now - anySession.lastWaitCallAt < WAIT_LIVENESS_MS,
|
|
84
84
|
sessionCount: threadSessions.length,
|
|
@@ -88,7 +88,7 @@ function collectThreadData(getMemoryDb) {
|
|
|
88
88
|
registryStatus: regEntry?.status,
|
|
89
89
|
keepAlive: regEntry?.keepAlive ?? false,
|
|
90
90
|
};
|
|
91
|
-
});
|
|
91
|
+
}));
|
|
92
92
|
}
|
|
93
93
|
export function classifyThreadHealth(t) {
|
|
94
94
|
if ((t.alive && t.hasActiveSession && t.hasRecentWait) || (t.hasActiveSession && t.hasRecentWait))
|
|
@@ -142,8 +142,8 @@ function resolveStatus(raw) {
|
|
|
142
142
|
* Hidden threads are still counted in a roll-up line, so nothing is silently
|
|
143
143
|
* dropped; pass `status: "all"` or `includeDead: true` to see them.
|
|
144
144
|
*/
|
|
145
|
-
export function getThreadsHealth(getMemoryDb, options = {}) {
|
|
146
|
-
const threads = collectThreadData(getMemoryDb);
|
|
145
|
+
export async function getThreadsHealth(getMemoryDb, options = {}) {
|
|
146
|
+
const threads = await collectThreadData(getMemoryDb);
|
|
147
147
|
if (threads.length === 0)
|
|
148
148
|
return "No threads found. No topics registered, no active sessions, no PID files.";
|
|
149
149
|
const now = Date.now();
|
|
@@ -1 +1 @@
|
|
|
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,cAAc,EACd,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,
|
|
1
|
+
{"version":3,"file":"thread-health.service.js","sourceRoot":"","sources":["../../src/services/thread-health.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,
|
|
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"}
|
|
@@ -68,14 +68,11 @@ export async function decommissionWorker(thread, deps) {
|
|
|
68
68
|
// agent we could NOT kill (EPERM on a server's own Windows child) does NOT
|
|
69
69
|
// make a mid-task agent self-exit — it just ORPHANS it: alive, but with no
|
|
70
70
|
// MCP connection → wedged forever. So kill, then close only if confirmed dead.
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
// the very starvation the breaker exists to stop. Skipping the kill lands on
|
|
75
|
-
// the identical "still alive" branch below as a failed kill would.
|
|
76
|
-
let killIssued = false;
|
|
71
|
+
// (The old kill-retry circuit breaker is gone with the taskkill machinery:
|
|
72
|
+
// a kill is now one localhost HTTP call to the broker, so re-issuing it each
|
|
73
|
+
// sweep can no longer starve anything.)
|
|
77
74
|
if (thread.pid !== undefined) {
|
|
78
|
-
|
|
75
|
+
await killProcessTree(thread.pid, thread.threadId, "decommission", thread.startedAt);
|
|
79
76
|
}
|
|
80
77
|
// 2. Tear down MCP transport(s) ONLY once the process is confirmed dead. A dead
|
|
81
78
|
// process's socket is already gone, so this is bookkeeping (and marks the
|
|
@@ -83,7 +80,7 @@ export async function decommissionWorker(thread, deps) {
|
|
|
83
80
|
// EPERM-failed and the agent is still alive, LEAVE the transport OPEN so the
|
|
84
81
|
// live agent stays connected and functional instead of being orphaned — an
|
|
85
82
|
// idle unkillable worker simply stays parked in wait, which is harmless.
|
|
86
|
-
const processGone = thread.pid === undefined || !isProcessAlive(thread.pid, thread.startedAt);
|
|
83
|
+
const processGone = thread.pid === undefined || !(await isProcessAlive(thread.pid, thread.startedAt));
|
|
87
84
|
if (processGone) {
|
|
88
85
|
// Process confirmed gone — drop the unkillable anchor and the breaker entry so
|
|
89
86
|
// neither outlives the thread (and a future thread reusing this id starts clean).
|
|
@@ -105,9 +102,6 @@ export async function decommissionWorker(thread, deps) {
|
|
|
105
102
|
// later sweep re-runs decommission and completes it once the process is dead
|
|
106
103
|
// (the keeper escalates a truly unkillable process in the meantime).
|
|
107
104
|
log.warn(`[decommission] Worker thread ${thread.threadId} survived kill (still alive) — aborting teardown; topic, notes, DB row and tracking preserved until the process is confirmed dead.`);
|
|
108
|
-
// Charge the breaker only for a kill this call actually issued.
|
|
109
|
-
if (thread.pid !== undefined && killIssued)
|
|
110
|
-
recordKillFailure(thread.pid, thread.threadId);
|
|
111
105
|
return;
|
|
112
106
|
}
|
|
113
107
|
// 3. Delete Telegram topic (reached only when the process is confirmed dead).
|
|
@@ -265,85 +259,13 @@ function recordFirstUnkillableAttempt(threadId, now) {
|
|
|
265
259
|
* reuses the id starts its clock fresh. */
|
|
266
260
|
function clearUnkillableAttempt(threadId) {
|
|
267
261
|
unkillableNotifiedAt.delete(threadId);
|
|
268
|
-
killBackoff.delete(threadId);
|
|
269
262
|
const store = loadUnkillableStore();
|
|
270
263
|
if (store.delete(threadId))
|
|
271
264
|
persistUnkillableStore();
|
|
272
265
|
}
|
|
273
|
-
// ── Kill-retry circuit breaker ─────────────────────────────────────────────
|
|
274
|
-
// A process that EPERMs is not going to yield to the same taskkill five minutes
|
|
275
|
-
// later, but the sweep used to re-issue it every single cycle regardless. Each
|
|
276
|
-
// attempt is a spawned taskkill plus a process-tree walk, and with a couple of
|
|
277
|
-
// wedged workers that was enough to starve the sweep itself — the scheduler went
|
|
278
|
-
// quiet for hours while the loop did nothing but re-kill the unkillable.
|
|
279
|
-
//
|
|
280
|
-
// So: try hard a few times (most wedged workers thaw and die within minutes),
|
|
281
|
-
// then back off to an occasional retry. Liveness is still checked every sweep —
|
|
282
|
-
// only the kill is throttled — so a worker that thaws and exits on its own is
|
|
283
|
-
// still reaped promptly.
|
|
284
|
-
const UNKILLABLE_MAX_FAST_ATTEMPTS = 5;
|
|
285
|
-
const UNKILLABLE_RETRY_BACKOFF_MS = 30 * 60 * 1000;
|
|
286
|
-
// An entry in real backoff is retried at least every UNKILLABLE_RETRY_BACKOFF_MS,
|
|
287
|
-
// so its lastAttemptAt is never more than ~30m stale. Anything older belongs to a
|
|
288
|
-
// thread that left by a path which never observes its death (pid file removed by
|
|
289
|
-
// hand, exit handler that skips decommission) and would otherwise sit in the map
|
|
290
|
-
// for the life of the process.
|
|
291
|
-
const KILL_BACKOFF_TTL_MS = 24 * 60 * 60 * 1000;
|
|
292
|
-
/** threadId → the pid we have been failing to kill, how many times, and when last. */
|
|
293
|
-
const killBackoff = new Map();
|
|
294
|
-
/** Drop entries no sweep has touched in a day — see {@link KILL_BACKOFF_TTL_MS}. */
|
|
295
|
-
function pruneKillBackoff(now) {
|
|
296
|
-
for (const [threadId, state] of killBackoff)
|
|
297
|
-
if (now - state.lastAttemptAt > KILL_BACKOFF_TTL_MS)
|
|
298
|
-
killBackoff.delete(threadId);
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Kill a worker's process tree unless the circuit breaker says to sit this sweep
|
|
302
|
-
* out. Returns true when a kill was actually issued — the caller MUST pass that
|
|
303
|
-
* back to {@link recordKillFailure} if the process survives, and must NOT infer
|
|
304
|
-
* it from timestamps: sweeps can overlap (setInterval does not wait for the
|
|
305
|
-
* previous run), so "the recorded attempt is mine" is not something a shared
|
|
306
|
-
* clock can answer.
|
|
307
|
-
*/
|
|
308
|
-
async function killWorkerWithBackoff(pid, threadId, caller, startedAt, now) {
|
|
309
|
-
const state = killBackoff.get(threadId);
|
|
310
|
-
// The failure history belongs to a PID, not to a thread id. A thread that is
|
|
311
|
-
// torn down and respawned gets a brand-new process which has resisted nothing
|
|
312
|
-
// and deserves the full fast-attempt budget — otherwise it inherits its
|
|
313
|
-
// predecessor's 30-minute skip and lingers for no reason.
|
|
314
|
-
const staleEntry = state !== undefined && state.pid !== pid;
|
|
315
|
-
if (state !== undefined &&
|
|
316
|
-
!staleEntry &&
|
|
317
|
-
state.failures >= UNKILLABLE_MAX_FAST_ATTEMPTS &&
|
|
318
|
-
now - state.lastAttemptAt < UNKILLABLE_RETRY_BACKOFF_MS) {
|
|
319
|
-
log.debug(`[worker-cleanup] Worker pid=${pid} thread=${threadId} in kill backoff (${state.failures} failures, last attempt ${Math.round((now - state.lastAttemptAt) / 60000)}m ago) — skipping kill this sweep (caller=${caller}).`);
|
|
320
|
-
return false;
|
|
321
|
-
}
|
|
322
|
-
killBackoff.set(threadId, {
|
|
323
|
-
pid,
|
|
324
|
-
failures: staleEntry ? 0 : (state?.failures ?? 0),
|
|
325
|
-
lastAttemptAt: now,
|
|
326
|
-
});
|
|
327
|
-
await killProcessTree(pid, threadId, caller, startedAt);
|
|
328
|
-
return true;
|
|
329
|
-
}
|
|
330
|
-
/** Count a survived kill against the breaker. Call ONLY when a kill was issued
|
|
331
|
-
* (i.e. {@link killWorkerWithBackoff} returned true) and the pid is still alive. */
|
|
332
|
-
function recordKillFailure(pid, threadId) {
|
|
333
|
-
const state = killBackoff.get(threadId);
|
|
334
|
-
// A concurrent sweep may have re-keyed the entry onto a different pid; that
|
|
335
|
-
// process's budget is not ours to spend.
|
|
336
|
-
if (state === undefined || state.pid !== pid)
|
|
337
|
-
return;
|
|
338
|
-
state.failures += 1;
|
|
339
|
-
if (state.failures === UNKILLABLE_MAX_FAST_ATTEMPTS) {
|
|
340
|
-
log.warn(`[worker-cleanup] Worker pid=${pid} thread=${threadId} survived ${state.failures} kills — backing off to one retry per ${UNKILLABLE_RETRY_BACKOFF_MS / 60000}m so the sweep is not starved.`);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
266
|
export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycle, ttlMs = DEFAULT_WORKER_TTL_MS) {
|
|
344
267
|
const result = { cleaned: 0, errors: [] };
|
|
345
268
|
const now = Date.now();
|
|
346
|
-
pruneKillBackoff(now);
|
|
347
269
|
for (const thread of spawnedThreads.filter((t) => t.threadType === "worker" && now - t.createdAt > ttlMs)) {
|
|
348
270
|
try {
|
|
349
271
|
// Two-phase teardown: only counts as "cleaned" once the worker is actually
|
|
@@ -394,7 +316,7 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
394
316
|
// gone. If the kill left it alive (EPERM on a wedged child), defer topic
|
|
395
317
|
// deletion to the backstop reaper below, which re-checks liveness — deleting
|
|
396
318
|
// here would orphan the topic of a still-running worker.
|
|
397
|
-
const processGone = !killPid || !isProcessAlive(killPid, killStartedAt);
|
|
319
|
+
const processGone = !killPid || !(await isProcessAlive(killPid, killStartedAt));
|
|
398
320
|
if (processGone) {
|
|
399
321
|
// Confirmed dead — its socket is already gone, so closing the transport
|
|
400
322
|
// is bookkeeping (and marks the close expected). Safe now.
|
|
@@ -525,7 +447,7 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
525
447
|
const runnable = row?.status === "active" && !pastTtl;
|
|
526
448
|
if (runnable)
|
|
527
449
|
continue;
|
|
528
|
-
if (!isProcessAlive(entry.pid, entry.startedAt)) {
|
|
450
|
+
if (!(await isProcessAlive(entry.pid, entry.startedAt))) {
|
|
529
451
|
clearUnkillableAttempt(entry.threadId);
|
|
530
452
|
// Process is confirmed dead but its topic/registry can still linger (a
|
|
531
453
|
// zombie whose exit handler never ran). This is the invariant-safe point
|
|
@@ -540,16 +462,14 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
540
462
|
// not kill does not make a mid-task agent self-exit — it ORPHANS it (alive,
|
|
541
463
|
// but with no MCP connection → wedged forever). So kill first; only once the
|
|
542
464
|
// process is confirmed dead (below) do we tear the transport down.
|
|
543
|
-
|
|
544
|
-
// see the circuit-breaker note above.
|
|
545
|
-
const killIssued = await killWorkerWithBackoff(entry.pid, entry.threadId, "worker-cleanup-reap", entry.startedAt, now);
|
|
465
|
+
await killProcessTree(entry.pid, entry.threadId, "worker-cleanup-reap", entry.startedAt);
|
|
546
466
|
// killProcessTree resolves even when the kill FAILS (e.g. EPERM on a
|
|
547
467
|
// Windows claude.exe whose wedged bash.exe child makes taskkill /T a
|
|
548
468
|
// no-op). Re-check liveness before claiming success — otherwise we log a
|
|
549
469
|
// phantom "Reaped", drop the tracking entry, and count it as cleaned,
|
|
550
470
|
// hiding a zombie that then reappears and "reaps" forever. If it survived,
|
|
551
471
|
// surface it to the operator (rate-limited) so it gets a manual kill.
|
|
552
|
-
if (isProcessAlive(entry.pid, entry.startedAt)) {
|
|
472
|
+
if (await isProcessAlive(entry.pid, entry.startedAt)) {
|
|
553
473
|
// Still alive after an EPERM kill — LEAVE its MCP transport OPEN so the
|
|
554
474
|
// agent stays connected rather than being orphaned (closing a live agent's
|
|
555
475
|
// socket does not make it self-exit if it is mid-task). An idle unkillable
|
|
@@ -561,9 +481,6 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
561
481
|
// worker has resisted for the full threshold do we escalate to Telegram.
|
|
562
482
|
const firstAttempt = recordFirstUnkillableAttempt(entry.threadId, now);
|
|
563
483
|
const stuckMs = now - firstAttempt;
|
|
564
|
-
// Only count a failure for a kill we actually issued.
|
|
565
|
-
if (killIssued)
|
|
566
|
-
recordKillFailure(entry.pid, entry.threadId);
|
|
567
484
|
if (stuckMs < UNKILLABLE_ALERT_THRESHOLD_MS) {
|
|
568
485
|
log.debug(`[worker-cleanup] Worker pid=${entry.pid} thread=${entry.threadId} ('${name}') survived kill — stuck ${Math.round(stuckMs / 60000)}m, below alert threshold; retrying silently.`);
|
|
569
486
|
continue;
|
|
@@ -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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"}
|
|
@@ -143,7 +143,7 @@ export const sessionToolDefs = [
|
|
|
143
143
|
},
|
|
144
144
|
cron: {
|
|
145
145
|
type: "string",
|
|
146
|
-
description: "5-field cron expression for recurring tasks (e.g. '0 9 * * *' = every day at 9am). Cron expressions are evaluated against server-local time (not UTC).",
|
|
146
|
+
description: "5-field cron expression for recurring tasks (e.g. '0 9 * * *' = every day at 9am). Supports *, numbers, comma lists, ranges (1-5), and steps (*/3, 10-19/3). Cron expressions are evaluated against server-local time (not UTC).",
|
|
147
147
|
},
|
|
148
148
|
afterIdleMinutes: {
|
|
149
149
|
type: "number",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-defs.js","sourceRoot":"","sources":["../../../src/tools/defs/session-defs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAU,CAAC;AAEzF,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAExF,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,4CAA4C;YAC5C,wEAAwE;YACxE,sFAAsF;YACtF,qEAAqE;YACrE,0EAA0E;YAC1E,4EAA4E;YAC5E,iCAAiC;YACjC,gGAAgG;YAChG,2EAA2E;YAC3E,2EAA2E;YAC3E,6EAA6E;YAC7E,sEAAsE;QACxE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kFAAkF;wBAClF,qHAAqH;iBACxH;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2EAA2E;wBAC3E,6FAA6F;iBAChG;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6FAA6F;wBAC7F,qFAAqF;oBACvF,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC;iBAC3B;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,gEAAgE;YAChE,uFAAuF;YACvF,+CAA+C;YAC/C,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mFAAmF;wBACnF,2EAA2E;iBAC9E;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kFAAkF;iBACrF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0EAA0E;wBAC1E,mFAAmF;iBACtF;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gDAAgD;wBAChD,yDAAyD;iBAC5D;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,qDAAqD;YACrD,yFAAyF;YACzF,oCAAoC;QACtC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B,oBAAoB,iCAAiC;iBACjG;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0DAA0D;wBAC1D,2DAA2D;wBAC3D,uEAAuE;wBACvE,8CAA8C;oBAChD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;iBAC5D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gDAAgD;wBAChD,yDAAyD;iBAC5D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,uHAAuH;YACvH,gHAAgH;YAChH,uEAAuE;YACvE,gFAAgF;YAChF,sEAAsE;YACtE,4EAA4E;YAC5E,iGAAiG;QACnG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;oBACvE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;iBAChC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sDAAsD;iBACpE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oEAAoE;iBAClF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yEAAyE;iBACvF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0EAA0E;iBACxF;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"session-defs.js","sourceRoot":"","sources":["../../../src/tools/defs/session-defs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility-defs.d.ts","sourceRoot":"","sources":["../../../src/tools/defs/utility-defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"utility-defs.d.ts","sourceRoot":"","sources":["../../../src/tools/defs/utility-defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,cAAc,EAyC3C,CAAC"}
|
|
@@ -21,9 +21,10 @@ export const utilityToolDefs = [
|
|
|
21
21
|
},
|
|
22
22
|
detailed: {
|
|
23
23
|
type: "boolean",
|
|
24
|
-
description: "
|
|
25
|
-
"
|
|
26
|
-
"
|
|
24
|
+
description: "Request permission to exceed the mobile-bubble length cap. Honored ONLY while the " +
|
|
25
|
+
"operator has an active /detail grant (a command the server sees); without one it is " +
|
|
26
|
+
"ignored and the length limit still applies. Keep normal messages to a short bubble; " +
|
|
27
|
+
"for long-form without a grant, prefer send_voice or send_file.",
|
|
27
28
|
},
|
|
28
29
|
},
|
|
29
30
|
required: ["message"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility-defs.js","sourceRoot":"","sources":["../../../src/tools/defs/utility-defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yEAAyE;YACzE,2FAA2F;YAC3F,uEAAuE;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gFAAgF;iBACnF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gDAAgD;wBAChD,yDAAyD;iBAC5D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"utility-defs.js","sourceRoot":"","sources":["../../../src/tools/defs/utility-defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yEAAyE;YACzE,2FAA2F;YAC3F,uEAAuE;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gFAAgF;iBACnF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gDAAgD;wBAChD,yDAAyD;iBAC5D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,oFAAoF;wBACpF,sFAAsF;wBACtF,sFAAsF;wBACtF,gEAAgE;iBACnE;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;CACF,CAAC"}
|
|
@@ -21,5 +21,5 @@ export interface DelegateToolContext {
|
|
|
21
21
|
threadLifecycle: ThreadLifecycleService;
|
|
22
22
|
}
|
|
23
23
|
export declare function handleStartThread(args: Record<string, unknown>, ctx: DelegateToolContext): Promise<ToolResult>;
|
|
24
|
-
export declare function handleSendMessageToThread(args: Record<string, unknown>): ToolResult
|
|
24
|
+
export declare function handleSendMessageToThread(args: Record<string, unknown>): Promise<ToolResult>;
|
|
25
25
|
//# sourceMappingURL=delegate-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate-tool.d.ts","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAuBtF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,eAAe,EAAE,sBAAsB,CAAC;CACzC;AA+BD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC,CAmarB;AAMD,
|
|
1
|
+
{"version":3,"file":"delegate-tool.d.ts","sourceRoot":"","sources":["../../src/tools/delegate-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAuBtF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,eAAe,EAAE,sBAAsB,CAAC;CACzC;AA+BD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,UAAU,CAAC,CAmarB;AAMD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CA2JrB"}
|