instar 1.3.230 → 1.3.232
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +29 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +24 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/LlmCircuitBreaker.d.ts +15 -0
- package/dist/core/LlmCircuitBreaker.d.ts.map +1 -1
- package/dist/core/LlmCircuitBreaker.js +37 -1
- package/dist/core/LlmCircuitBreaker.js.map +1 -1
- package/dist/core/types.d.ts +16 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/McpProcessReaper.d.ts +135 -0
- package/dist/monitoring/McpProcessReaper.d.ts.map +1 -0
- package/dist/monitoring/McpProcessReaper.js +229 -0
- package/dist/monitoring/McpProcessReaper.js.map +1 -0
- package/dist/monitoring/ResourceLedger.d.ts +78 -0
- package/dist/monitoring/ResourceLedger.d.ts.map +1 -0
- package/dist/monitoring/ResourceLedger.js +163 -0
- package/dist/monitoring/ResourceLedger.js.map +1 -0
- package/dist/monitoring/ResourceLedgerPoller.d.ts +64 -0
- package/dist/monitoring/ResourceLedgerPoller.d.ts.map +1 -0
- package/dist/monitoring/ResourceLedgerPoller.js +83 -0
- package/dist/monitoring/ResourceLedgerPoller.js.map +1 -0
- package/dist/monitoring/mcpProcessReaperDeps.d.ts +22 -0
- package/dist/monitoring/mcpProcessReaperDeps.d.ts.map +1 -0
- package/dist/monitoring/mcpProcessReaperDeps.js +125 -0
- package/dist/monitoring/mcpProcessReaperDeps.js.map +1 -0
- package/dist/monitoring/mcpProcessSignatures.d.ts +38 -0
- package/dist/monitoring/mcpProcessSignatures.d.ts.map +1 -0
- package/dist/monitoring/mcpProcessSignatures.js +55 -0
- package/dist/monitoring/mcpProcessSignatures.js.map +1 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +5 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +5 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +50 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +12 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +4 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +31 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +47 -47
- package/src/scaffold/templates.ts +5 -0
- package/upgrades/1.3.231.md +39 -0
- package/upgrades/1.3.232.md +47 -0
- package/upgrades/side-effects/mcp-process-reaper.md +58 -0
- package/upgrades/side-effects/resource-ledger-phase-a.md +101 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ResourceLedgerPoller — feeds the ResourceLedger (Phase A: rate-limit events).
|
|
3
|
+
*
|
|
4
|
+
* Event-driven, not polled: subscribes to the LlmCircuitBreaker's trip/recover
|
|
5
|
+
* observer (the primary, account-level rate-limit signal) and, when wired, the
|
|
6
|
+
* RateLimitSentinel's session-scoped events. Each emission becomes one durable
|
|
7
|
+
* `rate_limit_events` row. A per-source monotonic sequence makes same-millisecond
|
|
8
|
+
* events distinct and lets the ledger dedupe replays idempotently.
|
|
9
|
+
*
|
|
10
|
+
* Strictly observation: it only reads signals that already fire and writes them
|
|
11
|
+
* down. It never gates, throttles, or reaches back into the breaker (and the
|
|
12
|
+
* breaker swallows observer errors, so this poller can never affect it).
|
|
13
|
+
*
|
|
14
|
+
* CPU/memory sampling (async, bounded) is Phase B and is not in this file yet.
|
|
15
|
+
*
|
|
16
|
+
* Spec: docs/specs/per-agent-resource-ledger.md.
|
|
17
|
+
*/
|
|
18
|
+
import type { ResourceLedger } from './ResourceLedger.js';
|
|
19
|
+
/** The minimal breaker surface this poller needs (avoids importing the class so
|
|
20
|
+
* monitoring/ stays decoupled from the concrete breaker). */
|
|
21
|
+
export interface TripObservableBreaker {
|
|
22
|
+
onTrip(cb: (e: {
|
|
23
|
+
reason: string;
|
|
24
|
+
retryAfterMs?: number;
|
|
25
|
+
ts: number;
|
|
26
|
+
tripCount: number;
|
|
27
|
+
}) => void): () => void;
|
|
28
|
+
onRecover(cb: (e: {
|
|
29
|
+
ts: number;
|
|
30
|
+
}) => void): () => void;
|
|
31
|
+
}
|
|
32
|
+
/** The minimal sentinel surface (EventEmitter-shaped). Optional. */
|
|
33
|
+
export interface RateLimitEventSentinel {
|
|
34
|
+
on(event: string, listener: (...args: any[]) => void): unknown;
|
|
35
|
+
off?(event: string, listener: (...args: any[]) => void): unknown;
|
|
36
|
+
}
|
|
37
|
+
export interface ResourceLedgerPollerOptions {
|
|
38
|
+
ledger: ResourceLedger;
|
|
39
|
+
breaker: TripObservableBreaker;
|
|
40
|
+
/** Optional — wired in commands/server.ts where the sentinel is constructed. */
|
|
41
|
+
rateLimitSentinel?: RateLimitEventSentinel | null;
|
|
42
|
+
/** Clock seam for tests. */
|
|
43
|
+
now?: () => number;
|
|
44
|
+
/** Account identifier (single shared key today; reserved for fleet roll-up). */
|
|
45
|
+
accountKey?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare class ResourceLedgerPoller {
|
|
48
|
+
private readonly ledger;
|
|
49
|
+
private readonly breaker;
|
|
50
|
+
private readonly sentinel;
|
|
51
|
+
private readonly now;
|
|
52
|
+
private readonly accountKey;
|
|
53
|
+
private breakerSeq;
|
|
54
|
+
private sentinelSeq;
|
|
55
|
+
private unsubs;
|
|
56
|
+
private started;
|
|
57
|
+
constructor(opts: ResourceLedgerPollerOptions);
|
|
58
|
+
start(): void;
|
|
59
|
+
/** Map a sentinel detection to a kind. Session-scoped server throttles are the
|
|
60
|
+
* common case; 529-overload is distinguished when the reason says so. */
|
|
61
|
+
private classifySentinel;
|
|
62
|
+
stop(): void;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ResourceLedgerPoller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceLedgerPoller.d.ts","sourceRoot":"","sources":["../../src/monitoring/ResourceLedgerPoller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AAE9E;8DAC8D;AAC9D,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC9G,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACxD;AAED,oEAAoE;AACpE,MAAM,WAAW,sBAAsB;IACrC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC;IAC/D,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC;CAClE;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAClD,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAMpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,2BAA2B;IAQ7C,KAAK,IAAI,IAAI;IA+Cb;8EAC0E;IAC1E,OAAO,CAAC,gBAAgB;IAOxB,IAAI,IAAI,IAAI;CAKb"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export class ResourceLedgerPoller {
|
|
2
|
+
ledger;
|
|
3
|
+
breaker;
|
|
4
|
+
sentinel;
|
|
5
|
+
now;
|
|
6
|
+
accountKey;
|
|
7
|
+
// Per-source monotonic sequence — combined with ts it forms the event id, so
|
|
8
|
+
// two events in the same millisecond stay distinct and a restart can't replay
|
|
9
|
+
// (the seq resets to 0 on restart, but the ledger row id is source:ts:seq and
|
|
10
|
+
// INSERT OR IGNORE — a genuinely new post-restart event has a new ts).
|
|
11
|
+
breakerSeq = 0;
|
|
12
|
+
sentinelSeq = 0;
|
|
13
|
+
unsubs = [];
|
|
14
|
+
started = false;
|
|
15
|
+
constructor(opts) {
|
|
16
|
+
this.ledger = opts.ledger;
|
|
17
|
+
this.breaker = opts.breaker;
|
|
18
|
+
this.sentinel = opts.rateLimitSentinel ?? null;
|
|
19
|
+
this.now = opts.now ?? (() => Date.now());
|
|
20
|
+
this.accountKey = opts.accountKey && opts.accountKey.trim() ? opts.accountKey.trim() : 'default';
|
|
21
|
+
}
|
|
22
|
+
start() {
|
|
23
|
+
if (this.started)
|
|
24
|
+
return;
|
|
25
|
+
this.started = true;
|
|
26
|
+
this.unsubs.push(this.breaker.onTrip((e) => {
|
|
27
|
+
this.ledger.recordRateLimitEvent({
|
|
28
|
+
ts: e.ts,
|
|
29
|
+
kind: 'circuit-open',
|
|
30
|
+
source: 'circuit-breaker',
|
|
31
|
+
seq: this.breakerSeq++,
|
|
32
|
+
accountKey: this.accountKey,
|
|
33
|
+
reason: e.reason,
|
|
34
|
+
detail: typeof e.retryAfterMs === 'number' ? `retryAfterMs=${e.retryAfterMs}` : undefined,
|
|
35
|
+
});
|
|
36
|
+
}));
|
|
37
|
+
this.unsubs.push(this.breaker.onRecover((e) => {
|
|
38
|
+
this.ledger.recordRateLimitEvent({
|
|
39
|
+
ts: e.ts,
|
|
40
|
+
kind: 'circuit-recover',
|
|
41
|
+
source: 'circuit-breaker',
|
|
42
|
+
seq: this.breakerSeq++,
|
|
43
|
+
accountKey: this.accountKey,
|
|
44
|
+
});
|
|
45
|
+
}));
|
|
46
|
+
if (this.sentinel) {
|
|
47
|
+
const onDetected = (state) => {
|
|
48
|
+
this.ledger.recordRateLimitEvent({
|
|
49
|
+
ts: this.now(),
|
|
50
|
+
kind: this.classifySentinel(state),
|
|
51
|
+
source: 'session-sentinel',
|
|
52
|
+
seq: this.sentinelSeq++,
|
|
53
|
+
accountKey: this.accountKey,
|
|
54
|
+
sessionName: typeof state?.sessionName === 'string' ? state.sessionName : undefined,
|
|
55
|
+
reason: typeof state?.reason === 'string' ? state.reason : undefined,
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
this.sentinel.on('rate-limit:detected', onDetected);
|
|
59
|
+
this.unsubs.push(() => this.sentinel?.off?.('rate-limit:detected', onDetected));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** Map a sentinel detection to a kind. Session-scoped server throttles are the
|
|
63
|
+
* common case; 529-overload is distinguished when the reason says so. */
|
|
64
|
+
classifySentinel(state) {
|
|
65
|
+
const reason = typeof state?.reason === 'string' ? state.reason.toLowerCase() : '';
|
|
66
|
+
if (/529|overloaded/.test(reason))
|
|
67
|
+
return '529';
|
|
68
|
+
if (/usage|quota|weekly|session limit/.test(reason))
|
|
69
|
+
return 'quota';
|
|
70
|
+
return 'throttle';
|
|
71
|
+
}
|
|
72
|
+
stop() {
|
|
73
|
+
for (const u of this.unsubs) {
|
|
74
|
+
try {
|
|
75
|
+
u();
|
|
76
|
+
}
|
|
77
|
+
catch { /* ignore */ }
|
|
78
|
+
}
|
|
79
|
+
this.unsubs = [];
|
|
80
|
+
this.started = false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=ResourceLedgerPoller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceLedgerPoller.js","sourceRoot":"","sources":["../../src/monitoring/ResourceLedgerPoller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mcpProcessReaperDeps — production signal sources for {@link McpProcessReaper}.
|
|
3
|
+
*
|
|
4
|
+
* Kept out of the reaper class so the classifier stays unit-testable without a
|
|
5
|
+
* real process table, tmux, or kill(2). This factory supplies the ps/tmux/
|
|
6
|
+
* SessionManager/kill/audit implementations.
|
|
7
|
+
*/
|
|
8
|
+
import type { McpProcessReaperDeps } from './McpProcessReaper.js';
|
|
9
|
+
interface SessionLister {
|
|
10
|
+
listRunningSessions: () => Array<{
|
|
11
|
+
tmuxSession: string;
|
|
12
|
+
}>;
|
|
13
|
+
listKnownTmuxSessions: () => Set<string>;
|
|
14
|
+
}
|
|
15
|
+
export declare function makeMcpProcessReaperDeps(opts: {
|
|
16
|
+
sessionManager: SessionLister;
|
|
17
|
+
tmuxPath: string;
|
|
18
|
+
auditPath: string;
|
|
19
|
+
now?: () => number;
|
|
20
|
+
}): McpProcessReaperDeps;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=mcpProcessReaperDeps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpProcessReaperDeps.d.ts","sourceRoot":"","sources":["../../src/monitoring/mcpProcessReaperDeps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,uBAAuB,CAAC;AA4B/B,UAAU,aAAa;IACrB,mBAAmB,EAAE,MAAM,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,qBAAqB,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,cAAc,EAAE,aAAa,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,oBAAoB,CAoFvB"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mcpProcessReaperDeps — production signal sources for {@link McpProcessReaper}.
|
|
3
|
+
*
|
|
4
|
+
* Kept out of the reaper class so the classifier stays unit-testable without a
|
|
5
|
+
* real process table, tmux, or kill(2). This factory supplies the ps/tmux/
|
|
6
|
+
* SessionManager/kill/audit implementations.
|
|
7
|
+
*/
|
|
8
|
+
import { execSync } from 'node:child_process';
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import path from 'node:path';
|
|
11
|
+
import { mcpGrepAlternation, matchMcpSignature, } from './mcpProcessSignatures.js';
|
|
12
|
+
function shellExec(cmd, timeout = 8000) {
|
|
13
|
+
try {
|
|
14
|
+
return execSync(cmd, { encoding: 'utf8', timeout, stdio: ['ignore', 'pipe', 'ignore'] });
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** Parse an `etime` field (`[[dd-]hh:]mm:ss`) into milliseconds. */
|
|
21
|
+
function parseElapsedMs(etime) {
|
|
22
|
+
const s = etime.trim();
|
|
23
|
+
let days = 0;
|
|
24
|
+
let rest = s;
|
|
25
|
+
if (rest.includes('-')) {
|
|
26
|
+
const [d, r] = rest.split('-');
|
|
27
|
+
days = parseInt(d, 10) || 0;
|
|
28
|
+
rest = r;
|
|
29
|
+
}
|
|
30
|
+
const parts = rest.split(':').map((p) => parseInt(p, 10) || 0);
|
|
31
|
+
let h = 0, m = 0, sec = 0;
|
|
32
|
+
if (parts.length === 3)
|
|
33
|
+
[h, m, sec] = parts;
|
|
34
|
+
else if (parts.length === 2)
|
|
35
|
+
[m, sec] = parts;
|
|
36
|
+
else if (parts.length === 1)
|
|
37
|
+
[sec] = parts;
|
|
38
|
+
return (((days * 24 + h) * 60 + m) * 60 + sec) * 1000;
|
|
39
|
+
}
|
|
40
|
+
export function makeMcpProcessReaperDeps(opts) {
|
|
41
|
+
const { sessionManager, tmuxPath, auditPath } = opts;
|
|
42
|
+
return {
|
|
43
|
+
listMcpProcesses() {
|
|
44
|
+
const uid = process.getuid?.() ?? 0;
|
|
45
|
+
const out = shellExec(`ps -u ${uid} -o pid=,ppid=,etime=,command= 2>/dev/null | egrep -i '${mcpGrepAlternation()}' | grep -v egrep`).trim();
|
|
46
|
+
if (!out)
|
|
47
|
+
return [];
|
|
48
|
+
const procs = [];
|
|
49
|
+
for (const line of out.split('\n')) {
|
|
50
|
+
const m = line.trim().match(/^(\d+)\s+(\d+)\s+([\d:.-]+)\s+(.+)$/);
|
|
51
|
+
if (!m)
|
|
52
|
+
continue;
|
|
53
|
+
const command = m[4];
|
|
54
|
+
const sig = matchMcpSignature(command);
|
|
55
|
+
if (!sig)
|
|
56
|
+
continue; // second-stage precise match — never a broad node/npm hit
|
|
57
|
+
procs.push({
|
|
58
|
+
pid: parseInt(m[1], 10),
|
|
59
|
+
ppid: parseInt(m[2], 10),
|
|
60
|
+
elapsedMs: parseElapsedMs(m[3]),
|
|
61
|
+
command: command.slice(0, 300),
|
|
62
|
+
signatureId: sig.id,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return procs;
|
|
66
|
+
},
|
|
67
|
+
getProcessTree() {
|
|
68
|
+
const tree = new Map();
|
|
69
|
+
const out = shellExec(`ps -axo pid=,ppid= 2>/dev/null`).trim();
|
|
70
|
+
if (!out)
|
|
71
|
+
return tree;
|
|
72
|
+
for (const line of out.split('\n')) {
|
|
73
|
+
const m = line.trim().match(/^(\d+)\s+(\d+)$/);
|
|
74
|
+
if (m)
|
|
75
|
+
tree.set(parseInt(m[1], 10), parseInt(m[2], 10));
|
|
76
|
+
}
|
|
77
|
+
return tree;
|
|
78
|
+
},
|
|
79
|
+
getTmuxPaneMap() {
|
|
80
|
+
const map = new Map();
|
|
81
|
+
const out = shellExec(`${tmuxPath} list-panes -a -F "#{session_name}||#{pane_pid}" 2>/dev/null`).trim();
|
|
82
|
+
if (!out)
|
|
83
|
+
return map;
|
|
84
|
+
for (const line of out.split('\n')) {
|
|
85
|
+
const [session, pidStr] = line.split('||');
|
|
86
|
+
const pid = parseInt(pidStr, 10);
|
|
87
|
+
if (session && !isNaN(pid))
|
|
88
|
+
map.set(pid, session);
|
|
89
|
+
}
|
|
90
|
+
return map;
|
|
91
|
+
},
|
|
92
|
+
getLiveSessions() {
|
|
93
|
+
try {
|
|
94
|
+
return new Set(sessionManager.listRunningSessions().map((s) => s.tmuxSession).filter(Boolean));
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return new Set();
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
getInstarSessions() {
|
|
101
|
+
try {
|
|
102
|
+
return sessionManager.listKnownTmuxSessions();
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return new Set();
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
killProcess(pid) {
|
|
109
|
+
// SIGTERM (graceful). The proc's session is already dead/stale, so there is
|
|
110
|
+
// nothing to coordinate with — a clean terminate is sufficient.
|
|
111
|
+
process.kill(pid, 'SIGTERM');
|
|
112
|
+
},
|
|
113
|
+
audit(entry) {
|
|
114
|
+
try {
|
|
115
|
+
fs.mkdirSync(path.dirname(auditPath), { recursive: true });
|
|
116
|
+
fs.appendFileSync(auditPath, JSON.stringify(entry) + '\n');
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// Audit must never break the reap loop.
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
now: opts.now,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=mcpProcessReaperDeps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpProcessReaperDeps.js","sourceRoot":"","sources":["../../src/monitoring/mcpProcessReaperDeps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mcpProcessSignatures — the precise, allow-listed signatures for MCP-server
|
|
3
|
+
* processes that the {@link McpProcessReaper} is permitted to consider.
|
|
4
|
+
*
|
|
5
|
+
* These are NOT framework (claude/codex/gemini) processes — they are the
|
|
6
|
+
* long-lived MCP-server children a session spawns (Playwright, mcp-remote,
|
|
7
|
+
* instar's own stdio MCP) that survive their owning session's death and
|
|
8
|
+
* accumulate for days (see `.instar/apprenticeship/codey-task-mcp-leak-reaper.md`).
|
|
9
|
+
*
|
|
10
|
+
* The reaper matches ONLY these exact signatures — never a broad `node`/`npm`
|
|
11
|
+
* match — so an unrelated node process can never be a reap candidate. Each
|
|
12
|
+
* `psGrepNeedle` is bracket-escaped so the discovery `ps … | egrep` does not
|
|
13
|
+
* match its own argv.
|
|
14
|
+
*/
|
|
15
|
+
export interface McpProcessSignature {
|
|
16
|
+
/** Stable id for audit trails + tests. */
|
|
17
|
+
readonly id: 'playwright-mcp' | 'mcp-remote' | 'instar-mcp-stdio';
|
|
18
|
+
/** Human-readable label. */
|
|
19
|
+
readonly label: string;
|
|
20
|
+
/**
|
|
21
|
+
* Substrings that must ALL appear in the process command for a match. A
|
|
22
|
+
* conjunction keeps the match tight (e.g. requires both `mcp-remote` AND
|
|
23
|
+
* the npm/exec shape rather than any line mentioning "mcp").
|
|
24
|
+
*/
|
|
25
|
+
readonly commandIncludesAll: ReadonlyArray<string>;
|
|
26
|
+
/** Bracket-escaped needle for the first-stage `ps … | egrep` discovery. */
|
|
27
|
+
readonly psGrepNeedle: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const MCP_PROCESS_SIGNATURES: ReadonlyArray<McpProcessSignature>;
|
|
30
|
+
/** The alternation passed to the discovery `egrep -i '<needle>'`. */
|
|
31
|
+
export declare function mcpGrepAlternation(): string;
|
|
32
|
+
/**
|
|
33
|
+
* Match a process command against the allow-list. Returns the matched
|
|
34
|
+
* signature, or null when the command is not a recognized MCP-server process.
|
|
35
|
+
* Pure — exported for unit tests of both the match and the non-match side.
|
|
36
|
+
*/
|
|
37
|
+
export declare function matchMcpSignature(command: string, signatures?: ReadonlyArray<McpProcessSignature>): McpProcessSignature | null;
|
|
38
|
+
//# sourceMappingURL=mcpProcessSignatures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpProcessSignatures.d.ts","sourceRoot":"","sources":["../../src/monitoring/mcpProcessSignatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,gBAAgB,GAAG,YAAY,GAAG,kBAAkB,CAAC;IAClE,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnD,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CAmBrE,CAAC;AAEF,qEAAqE;AACrE,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,aAAa,CAAC,mBAAmB,CAA0B,GACtE,mBAAmB,GAAG,IAAI,CAS5B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mcpProcessSignatures — the precise, allow-listed signatures for MCP-server
|
|
3
|
+
* processes that the {@link McpProcessReaper} is permitted to consider.
|
|
4
|
+
*
|
|
5
|
+
* These are NOT framework (claude/codex/gemini) processes — they are the
|
|
6
|
+
* long-lived MCP-server children a session spawns (Playwright, mcp-remote,
|
|
7
|
+
* instar's own stdio MCP) that survive their owning session's death and
|
|
8
|
+
* accumulate for days (see `.instar/apprenticeship/codey-task-mcp-leak-reaper.md`).
|
|
9
|
+
*
|
|
10
|
+
* The reaper matches ONLY these exact signatures — never a broad `node`/`npm`
|
|
11
|
+
* match — so an unrelated node process can never be a reap candidate. Each
|
|
12
|
+
* `psGrepNeedle` is bracket-escaped so the discovery `ps … | egrep` does not
|
|
13
|
+
* match its own argv.
|
|
14
|
+
*/
|
|
15
|
+
export const MCP_PROCESS_SIGNATURES = [
|
|
16
|
+
{
|
|
17
|
+
id: 'playwright-mcp',
|
|
18
|
+
label: 'Playwright MCP server',
|
|
19
|
+
commandIncludesAll: ['playwright', 'mcp'],
|
|
20
|
+
psGrepNeedle: '[p]laywright.*mcp|[m]cp.*playwright',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'mcp-remote',
|
|
24
|
+
label: 'mcp-remote bridge (e.g. Fathom)',
|
|
25
|
+
commandIncludesAll: ['mcp-remote'],
|
|
26
|
+
psGrepNeedle: '[m]cp-remote',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'instar-mcp-stdio',
|
|
30
|
+
label: 'instar stdio MCP server',
|
|
31
|
+
commandIncludesAll: ['mcp-stdio-entry'],
|
|
32
|
+
psGrepNeedle: '[m]cp-stdio-entry',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
/** The alternation passed to the discovery `egrep -i '<needle>'`. */
|
|
36
|
+
export function mcpGrepAlternation() {
|
|
37
|
+
return MCP_PROCESS_SIGNATURES.map((s) => s.psGrepNeedle).join('|');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Match a process command against the allow-list. Returns the matched
|
|
41
|
+
* signature, or null when the command is not a recognized MCP-server process.
|
|
42
|
+
* Pure — exported for unit tests of both the match and the non-match side.
|
|
43
|
+
*/
|
|
44
|
+
export function matchMcpSignature(command, signatures = MCP_PROCESS_SIGNATURES) {
|
|
45
|
+
if (!command)
|
|
46
|
+
return null;
|
|
47
|
+
const lower = command.toLowerCase();
|
|
48
|
+
for (const sig of signatures) {
|
|
49
|
+
if (sig.commandIncludesAll.every((needle) => lower.includes(needle.toLowerCase()))) {
|
|
50
|
+
return sig;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=mcpProcessSignatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpProcessSignatures.js","sourceRoot":"","sources":["../../src/monitoring/mcpProcessSignatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiBH,MAAM,CAAC,MAAM,sBAAsB,GAAuC;IACxE;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,uBAAuB;QAC9B,kBAAkB,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC;QACzC,YAAY,EAAE,qCAAqC;KACpD;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,iCAAiC;QACxC,kBAAkB,EAAE,CAAC,YAAY,CAAC;QAClC,YAAY,EAAE,cAAc;KAC7B;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,yBAAyB;QAChC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC;QACvC,YAAY,EAAE,mBAAmB;KAClC;CACF,CAAC;AAEF,qEAAqE;AACrE,MAAM,UAAU,kBAAkB;IAChC,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,aAAiD,sBAAsB;IAEvE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CA0vCR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CAuSR"}
|
|
@@ -630,6 +630,11 @@ This routes feedback to the Instar maintainers automatically. Valid types: \`bug
|
|
|
630
630
|
- Returns \`{ totals, features: [{ feature, calls, tokensIn, tokensOut, fired, noop, fireRate, p50LatencyMs, p95LatencyMs, ... }] }\` — one row per system (e.g. MessagingToneGate, CoherenceReviewer). Filter with \`?feature=<name>\`.
|
|
631
631
|
- **When to use**: when asked "which checks cost the most / fire the least?", "is this gate worth it?", or before tuning a sentinel/gate — read the numbers instead of guessing. (Spec: \`docs/specs/llm-feature-metrics-spec.md\`.)
|
|
632
632
|
|
|
633
|
+
**Resource Usage (rate-limit events)** — Durable per-agent record of rate-limit events, so they survive restarts instead of vanishing. Every circuit-breaker trip (the account got throttled) and session-sentinel detection is written down. Read-only observability — it never gates. (Phase A; CPU/memory tracking is a follow-up.)
|
|
634
|
+
- Check: \`curl -H "Authorization: Bearer $AUTH" "http://localhost:${port}/resources/rate-limits?sinceHours=24"\`
|
|
635
|
+
- Returns \`{ windowHours, summary: { circuitOpenCount, circuitRecoverCount, sentinelCount, tripsPerHour, ... }, byKind, events }\`. \`circuitOpenCount\` is the headline (breaker trips); \`sentinelCount\` is session-scoped detections, counted separately.
|
|
636
|
+
- **When to use**: when asked "how many times were we throttled today?", "is the rate-limit pressure getting worse?", or before/while tuning anything that reacts to rate limits — read the durable count instead of guessing. (Spec: \`docs/specs/per-agent-resource-ledger.md\`.)
|
|
637
|
+
|
|
633
638
|
**Session Clock** — How long have you been running, and how much time is left? For any active time-boxed (autonomous) session, this returns the computed elapsed + remaining so you never have to guess or compute it yourself. Read-only observability.
|
|
634
639
|
- Check: \`curl -H "Authorization: Bearer $AUTH" "http://localhost:${port}/session/clock"\` (optional \`?topic=<N>\` to bind to one session)
|
|
635
640
|
- Returns \`{ now, nowIso, sessions: [{ label, kind, startedAt, endsAt, elapsedSeconds, remainingSeconds, elapsedHuman, remainingHuman, percentElapsed, status }] }\`; \`{ sessions: [] }\` when nothing is time-boxed. Per-machine (the record is local).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,8 @@ export declare class AgentServer {
|
|
|
50
50
|
private tokenLedger;
|
|
51
51
|
private featureMetricsLedger;
|
|
52
52
|
private tokenLedgerPoller;
|
|
53
|
+
private resourceLedger;
|
|
54
|
+
private resourceLedgerPoller;
|
|
53
55
|
private frameworkIssueLedger;
|
|
54
56
|
private mentorRunner;
|
|
55
57
|
/** Wall-clock of the last mentor tick that ran, for the min-interval floor. */
|
|
@@ -311,6 +313,9 @@ export declare class AgentServer {
|
|
|
311
313
|
/** AgentWorktreeReaper — reclaims stale CLI worktrees. Powers
|
|
312
314
|
* GET /worktrees/agent-reaper. */
|
|
313
315
|
agentWorktreeReaper?: import('../monitoring/AgentWorktreeReaper.js').AgentWorktreeReaper;
|
|
316
|
+
/** McpProcessReaper — reclaims leaked MCP-server children of dead/stale
|
|
317
|
+
* sessions. Powers GET /processes/mcp-reaper. */
|
|
318
|
+
mcpProcessReaper?: import('../monitoring/McpProcessReaper.js').McpProcessReaper;
|
|
314
319
|
/** SleepController — agent hard-sleep decision (Stage B). Powers GET /sleep. */
|
|
315
320
|
sleepController?: import('../monitoring/SleepController.js').SleepController;
|
|
316
321
|
/** AgentActivityState — shared idle signal bumped at the inbound chokepoint. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentServer.d.ts","sourceRoot":"","sources":["../../src/server/AgentServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentServer.d.ts","sourceRoot":"","sources":["../../src/server/AgentServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,9 @@ import { TokenLedger } from '../monitoring/TokenLedger.js';
|
|
|
43
43
|
import { FeatureMetricsLedger } from '../monitoring/FeatureMetricsLedger.js';
|
|
44
44
|
import { setFeatureMetricsRecorder } from '../core/CircuitBreakingIntelligenceProvider.js';
|
|
45
45
|
import { TokenLedgerPoller } from '../monitoring/TokenLedgerPoller.js';
|
|
46
|
+
import { ResourceLedger } from '../monitoring/ResourceLedger.js';
|
|
47
|
+
import { ResourceLedgerPoller } from '../monitoring/ResourceLedgerPoller.js';
|
|
48
|
+
import { getLlmCircuitBreaker } from '../core/LlmCircuitBreaker.js';
|
|
46
49
|
import { FrameworkIssueLedger } from '../monitoring/FrameworkIssueLedger.js';
|
|
47
50
|
import { MentorOnboardingRunner, DEFAULT_MENTOR_CONFIG, resolveMentorDeliveryTopic } from '../scheduler/MentorOnboardingRunner.js';
|
|
48
51
|
import { buildAutoloopGoal } from '../scheduler/MentorAutonomousGuardian.js';
|
|
@@ -105,6 +108,8 @@ export class AgentServer {
|
|
|
105
108
|
tokenLedger = null;
|
|
106
109
|
featureMetricsLedger = null;
|
|
107
110
|
tokenLedgerPoller = null;
|
|
111
|
+
resourceLedger = null;
|
|
112
|
+
resourceLedgerPoller = null;
|
|
108
113
|
frameworkIssueLedger = null;
|
|
109
114
|
mentorRunner = null;
|
|
110
115
|
/** Wall-clock of the last mentor tick that ran, for the min-interval floor. */
|
|
@@ -389,6 +394,34 @@ export class AgentServer {
|
|
|
389
394
|
this.featureMetricsLedger = null;
|
|
390
395
|
}
|
|
391
396
|
}
|
|
397
|
+
// Per-agent ResourceLedger (Phase A: durable rate-limit-event capture). Its
|
|
398
|
+
// OWN try/catch, independent of the other ledgers (cascade-isolation — a
|
|
399
|
+
// chained init failure must not 503 the others). Read-only observability;
|
|
400
|
+
// never gates. The poller subscribes to the global LlmCircuitBreaker's
|
|
401
|
+
// trip/recover observer so breaker trips survive restart. Ships ON
|
|
402
|
+
// (negligible, event-driven cost); opt out with
|
|
403
|
+
// monitoring.resourceLedger.enabled:false. (CPU/mem sampling is Phase B.)
|
|
404
|
+
if (options.config.stateDir &&
|
|
405
|
+
options.config
|
|
406
|
+
.monitoring?.resourceLedger?.enabled !== false) {
|
|
407
|
+
try {
|
|
408
|
+
const serverDataDir = path.join(options.config.stateDir, 'server-data');
|
|
409
|
+
fs.mkdirSync(serverDataDir, { recursive: true });
|
|
410
|
+
this.resourceLedger = new ResourceLedger({
|
|
411
|
+
dbPath: path.join(serverDataDir, 'resource-ledger.db'),
|
|
412
|
+
});
|
|
413
|
+
this.resourceLedgerPoller = new ResourceLedgerPoller({
|
|
414
|
+
ledger: this.resourceLedger,
|
|
415
|
+
breaker: getLlmCircuitBreaker(),
|
|
416
|
+
});
|
|
417
|
+
this.resourceLedgerPoller.start();
|
|
418
|
+
}
|
|
419
|
+
catch (err) {
|
|
420
|
+
console.warn('[instar] resource-ledger init failed (non-fatal):', err);
|
|
421
|
+
this.resourceLedger = null;
|
|
422
|
+
this.resourceLedgerPoller = null;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
392
425
|
// Failure-Learning Loop (docs/specs/FAILURE-LEARNING-LOOP-SPEC.md) — instar
|
|
393
426
|
// self-hosting dev-process forensics. Ships OFF; constructed only when
|
|
394
427
|
// enabled (else the inline /failures routes 503-stub via the null ledger).
|
|
@@ -720,6 +753,7 @@ export class AgentServer {
|
|
|
720
753
|
machineHeartbeat: options.machineHeartbeat ?? null,
|
|
721
754
|
tokenLedger: this.tokenLedger,
|
|
722
755
|
featureMetricsLedger: this.featureMetricsLedger,
|
|
756
|
+
resourceLedger: this.resourceLedger,
|
|
723
757
|
frameworkIssueLedger: this.frameworkIssueLedger,
|
|
724
758
|
mentorRunner: this.mentorRunner,
|
|
725
759
|
failureLedger: this.failureLedger,
|
|
@@ -731,6 +765,7 @@ export class AgentServer {
|
|
|
731
765
|
geminiCapacityEscalationMonitor: this.geminiCapacityEscalationMonitor,
|
|
732
766
|
sessionReaper: options.sessionReaper ?? null,
|
|
733
767
|
agentWorktreeReaper: options.agentWorktreeReaper ?? null,
|
|
768
|
+
mcpProcessReaper: options.mcpProcessReaper ?? null,
|
|
734
769
|
sleepController: options.sleepController ?? null,
|
|
735
770
|
agentActivityState: options.agentActivityState ?? null,
|
|
736
771
|
reapLog: options.reapLog ?? null,
|
|
@@ -2089,6 +2124,21 @@ export class AgentServer {
|
|
|
2089
2124
|
}
|
|
2090
2125
|
this.tokenLedgerPoller = null;
|
|
2091
2126
|
}
|
|
2127
|
+
// Stop the resource-ledger poller (unsubscribes the breaker observer) + close.
|
|
2128
|
+
if (this.resourceLedgerPoller) {
|
|
2129
|
+
try {
|
|
2130
|
+
this.resourceLedgerPoller.stop();
|
|
2131
|
+
}
|
|
2132
|
+
catch { /* best-effort */ }
|
|
2133
|
+
this.resourceLedgerPoller = null;
|
|
2134
|
+
}
|
|
2135
|
+
if (this.resourceLedger) {
|
|
2136
|
+
try {
|
|
2137
|
+
this.resourceLedger.close();
|
|
2138
|
+
}
|
|
2139
|
+
catch { /* best-effort */ }
|
|
2140
|
+
this.resourceLedger = null;
|
|
2141
|
+
}
|
|
2092
2142
|
if (this.tokenLedger) {
|
|
2093
2143
|
try {
|
|
2094
2144
|
this.tokenLedger.close();
|