@groundnuty/macf-channel-server 0.2.39 → 0.2.42
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/alive-ticker.d.ts +31 -0
- package/dist/alive-ticker.d.ts.map +1 -0
- package/dist/alive-ticker.js +36 -0
- package/dist/alive-ticker.js.map +1 -0
- package/dist/crash-handlers.d.ts +58 -0
- package/dist/crash-handlers.d.ts.map +1 -0
- package/dist/crash-handlers.js +97 -0
- package/dist/crash-handlers.js.map +1 -0
- package/dist/forensic-log.d.ts +36 -0
- package/dist/forensic-log.d.ts.map +1 -0
- package/dist/forensic-log.js +93 -0
- package/dist/forensic-log.js.map +1 -0
- package/dist/https.d.ts.map +1 -1
- package/dist/https.js +24 -2
- package/dist/https.js.map +1 -1
- package/dist/lifecycle.d.ts +30 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +28 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/notify-formatter.d.ts.map +1 -1
- package/dist/notify-formatter.js +17 -1
- package/dist/notify-formatter.js.map +1 -1
- package/dist/server.js +88 -5
- package/dist/server.js.map +1 -1
- package/dist/shutdown.d.ts +22 -2
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +35 -9
- package/dist/shutdown.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Periodic "alive" tick (groundnuty/macf#642).
|
|
3
|
+
*
|
|
4
|
+
* Writes a heartbeat line to the forensic log every 60s. The point is NOT the
|
|
5
|
+
* line itself but its absence: when the channel-server dies a SILENT death — an
|
|
6
|
+
* OOM-kill, SIGKILL, or power loss where no crash handler or shutdown handler
|
|
7
|
+
* ever runs — the forensic log simply stops. The last `alive` line then bounds
|
|
8
|
+
* the death to a ≤60s window, the difference between "we know roughly when it
|
|
9
|
+
* died" and "no signal at all".
|
|
10
|
+
*
|
|
11
|
+
* Lifecycle MIRRORS `createRegistryHeartbeat` / `createOtelReachabilityProbe`:
|
|
12
|
+
* an `unref()`'d `setInterval` that can never pin the event loop open, plus an
|
|
13
|
+
* idempotent `stop()`. The tick is wrapped best-effort so a logger throw (disk
|
|
14
|
+
* full) can never escape and crash the process via an uncaught timer exception.
|
|
15
|
+
*/
|
|
16
|
+
import type { Logger } from '@groundnuty/macf-core';
|
|
17
|
+
import type { LifecycleTracker } from './lifecycle.js';
|
|
18
|
+
export declare const DEFAULT_ALIVE_TICK_INTERVAL_MS = 60000;
|
|
19
|
+
export interface AliveTicker {
|
|
20
|
+
/** Start the periodic tick (no-op if already started). */
|
|
21
|
+
readonly start: () => void;
|
|
22
|
+
/** Clear the interval (idempotent; safe before start). */
|
|
23
|
+
readonly stop: () => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function createAliveTicker(opts: {
|
|
26
|
+
readonly logger: Logger;
|
|
27
|
+
readonly lifecycle: Pick<LifecycleTracker, 'snapshot'>;
|
|
28
|
+
/** Cadence in ms; default 60s. */
|
|
29
|
+
readonly intervalMs?: number;
|
|
30
|
+
}): AliveTicker;
|
|
31
|
+
//# sourceMappingURL=alive-ticker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alive-ticker.d.ts","sourceRoot":"","sources":["../src/alive-ticker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACvD,kCAAkC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,WAAW,CAiCd"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const DEFAULT_ALIVE_TICK_INTERVAL_MS = 60_000;
|
|
2
|
+
export function createAliveTicker(opts) {
|
|
3
|
+
const { logger, lifecycle } = opts;
|
|
4
|
+
const intervalMs = opts.intervalMs ?? DEFAULT_ALIVE_TICK_INTERVAL_MS;
|
|
5
|
+
let timer = null;
|
|
6
|
+
function tick() {
|
|
7
|
+
try {
|
|
8
|
+
const snap = lifecycle.snapshot();
|
|
9
|
+
logger.info('alive', {
|
|
10
|
+
phase: snap.phase,
|
|
11
|
+
uptime_ms: snap.uptime_ms,
|
|
12
|
+
pid: process.pid,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// Best-effort: a logger throw (e.g. disk full) must never escape a timer
|
|
17
|
+
// callback and become an uncaughtException. The next tick retries.
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
start() {
|
|
22
|
+
if (timer !== null)
|
|
23
|
+
return;
|
|
24
|
+
timer = setInterval(tick, intervalMs);
|
|
25
|
+
// Never let the alive-tick interval keep the process alive.
|
|
26
|
+
timer.unref();
|
|
27
|
+
},
|
|
28
|
+
stop() {
|
|
29
|
+
if (timer !== null) {
|
|
30
|
+
clearInterval(timer);
|
|
31
|
+
timer = null;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=alive-ticker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alive-ticker.js","sourceRoot":"","sources":["../src/alive-ticker.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AASrD,MAAM,UAAU,iBAAiB,CAAC,IAKjC;IACC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,8BAA8B,CAAC;IACrE,IAAI,KAAK,GAA0C,IAAI,CAAC;IAExD,SAAS,IAAI;QACX,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;YACH,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO;YAC3B,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACtC,4DAA4D;YAC5D,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,IAAI;YACF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Top-level crash handlers (groundnuty/macf#642).
|
|
3
|
+
*
|
|
4
|
+
* The channel-server previously had NO `uncaughtException` /
|
|
5
|
+
* `unhandledRejection` handlers — only `shutdown.ts`'s SIGTERM/SIGINT/stdin
|
|
6
|
+
* paths and the `main().catch` bootstrap guard. So an exception thrown outside
|
|
7
|
+
* an awaited boundary, or a rejected promise nobody awaited, would terminate
|
|
8
|
+
* the process via Node's default handler with (at best) an unformatted stderr
|
|
9
|
+
* dump — and stderr is exactly the channel Claude Code stops draining under
|
|
10
|
+
* load. The result: a silent death with no forensic trail.
|
|
11
|
+
*
|
|
12
|
+
* These handlers close that gap. On a fatal uncaught error they:
|
|
13
|
+
* 1. log the full error + stack + last-known lifecycle phase to the forensic
|
|
14
|
+
* FILE logger AND stderr (belt-and-suspenders — either may be the only
|
|
15
|
+
* surviving channel),
|
|
16
|
+
* 2. attempt a graceful registry deregister via the shutdown `cleanup`, but
|
|
17
|
+
* behind a HARD TIMEOUT so a wedged cleanup can never hang the handler,
|
|
18
|
+
* 3. `process.exit(1)`.
|
|
19
|
+
*
|
|
20
|
+
* Transport-independent: nothing here assumes the MCP stdio mount — it works
|
|
21
|
+
* identically for a future HTTP/SSE transport. Every dependency is injectable
|
|
22
|
+
* for tests; production wires `process.on` / `process.exit` / `process.stderr`.
|
|
23
|
+
*/
|
|
24
|
+
import type { Logger } from '@groundnuty/macf-core';
|
|
25
|
+
import type { LifecycleTracker } from './lifecycle.js';
|
|
26
|
+
/**
|
|
27
|
+
* Hard cap on the graceful-deregister attempt inside a crash handler. The
|
|
28
|
+
* process is already dying; we give the deregister a bounded best-effort window
|
|
29
|
+
* then exit regardless, so a wedged registry call can never strand the handler.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_CRASH_DEREGISTER_TIMEOUT_MS = 5000;
|
|
32
|
+
export type CrashKind = 'uncaught_exception' | 'unhandled_rejection';
|
|
33
|
+
export interface RegisterCrashHandlersDeps {
|
|
34
|
+
readonly logger: Logger;
|
|
35
|
+
readonly lifecycle: Pick<LifecycleTracker, 'snapshot'>;
|
|
36
|
+
/**
|
|
37
|
+
* Returns the shutdown `cleanup` (instance-id-guarded deregister + server
|
|
38
|
+
* stop) if it has been wired yet, else `undefined`. A getter — not the
|
|
39
|
+
* function directly — because a crash can fire during early startup BEFORE
|
|
40
|
+
* `registerShutdownHandler` has run, in which case there is nothing to
|
|
41
|
+
* deregister and the handler skips cleanup.
|
|
42
|
+
*/
|
|
43
|
+
readonly getCleanup?: () => (() => Promise<unknown>) | undefined;
|
|
44
|
+
/** Hard deregister timeout (ms); defaults to {@link DEFAULT_CRASH_DEREGISTER_TIMEOUT_MS}. */
|
|
45
|
+
readonly deregisterTimeoutMs?: number;
|
|
46
|
+
/** Injectable for tests; defaults to `process.exit`. */
|
|
47
|
+
readonly exit?: (code: number) => void;
|
|
48
|
+
/** Injectable for tests; defaults to `process.stderr.write`. */
|
|
49
|
+
readonly stderrWrite?: (msg: string) => void;
|
|
50
|
+
/** Injectable for tests; defaults to `process.on`. */
|
|
51
|
+
readonly register?: (event: 'uncaughtException' | 'unhandledRejection', handler: (err: unknown) => void) => void;
|
|
52
|
+
}
|
|
53
|
+
export interface CrashHandlers {
|
|
54
|
+
/** The shared handler — exported so tests can drive it deterministically. */
|
|
55
|
+
readonly handle: (kind: CrashKind, err: unknown) => Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
export declare function registerCrashHandlers(deps: RegisterCrashHandlersDeps): CrashHandlers;
|
|
58
|
+
//# sourceMappingURL=crash-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crash-handlers.d.ts","sourceRoot":"","sources":["../src/crash-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,OAAQ,CAAC;AAEzD,MAAM,MAAM,SAAS,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAErE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACvD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACjE,6FAA6F;IAC7F,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,EACjD,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAC5B,IAAI,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,aAAa,CA2GpF"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hard cap on the graceful-deregister attempt inside a crash handler. The
|
|
3
|
+
* process is already dying; we give the deregister a bounded best-effort window
|
|
4
|
+
* then exit regardless, so a wedged registry call can never strand the handler.
|
|
5
|
+
*/
|
|
6
|
+
export const DEFAULT_CRASH_DEREGISTER_TIMEOUT_MS = 5_000;
|
|
7
|
+
export function registerCrashHandlers(deps) {
|
|
8
|
+
const timeoutMs = deps.deregisterTimeoutMs ?? DEFAULT_CRASH_DEREGISTER_TIMEOUT_MS;
|
|
9
|
+
const exit = deps.exit ?? ((code) => { process.exit(code); });
|
|
10
|
+
const stderrWrite = deps.stderrWrite ?? ((msg) => { process.stderr.write(msg); });
|
|
11
|
+
const register = deps.register ??
|
|
12
|
+
((event, handler) => {
|
|
13
|
+
process.on(event, handler);
|
|
14
|
+
});
|
|
15
|
+
let handling = false;
|
|
16
|
+
function safeLogError(event, data) {
|
|
17
|
+
try {
|
|
18
|
+
deps.logger.error(event, data);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// The file sink itself failed (e.g. disk full) — stderr below is the
|
|
22
|
+
// backstop. Never let the diagnostic emitter mask the crash.
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function safeStderr(msg) {
|
|
26
|
+
try {
|
|
27
|
+
stderrWrite(msg);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Nothing left — stderr is gone too. Swallow so we still reach exit().
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function runCleanupWithTimeout(cleanup) {
|
|
34
|
+
let timer;
|
|
35
|
+
try {
|
|
36
|
+
const outcome = await Promise.race([
|
|
37
|
+
cleanup().then(() => ({ kind: 'done' }), (error) => ({ kind: 'failed', error })),
|
|
38
|
+
new Promise((resolve) => {
|
|
39
|
+
timer = setTimeout(() => resolve({ kind: 'timeout' }), timeoutMs);
|
|
40
|
+
timer.unref?.();
|
|
41
|
+
}),
|
|
42
|
+
]);
|
|
43
|
+
if (outcome.kind === 'timeout') {
|
|
44
|
+
safeLogError('crash_cleanup_timeout', { timeout_ms: timeoutMs });
|
|
45
|
+
safeStderr(`macf-channel-server: crash cleanup exceeded ${String(timeoutMs)}ms — ` +
|
|
46
|
+
'exiting without a confirmed clean deregister.\n');
|
|
47
|
+
}
|
|
48
|
+
else if (outcome.kind === 'failed') {
|
|
49
|
+
safeLogError('crash_cleanup_failed', {
|
|
50
|
+
error: outcome.error instanceof Error ? outcome.error.message : String(outcome.error),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
if (timer !== undefined)
|
|
56
|
+
clearTimeout(timer);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async function handle(kind, err) {
|
|
60
|
+
if (handling) {
|
|
61
|
+
// A crash WHILE handling a crash — don't loop or re-run cleanup; force exit.
|
|
62
|
+
safeStderr(`macf-channel-server: re-entrant ${kind} during crash handling — forcing exit.\n`);
|
|
63
|
+
exit(1);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
handling = true;
|
|
67
|
+
const error = err instanceof Error ? err.message : String(err);
|
|
68
|
+
const stack = err instanceof Error ? (err.stack ?? '') : '';
|
|
69
|
+
const snap = deps.lifecycle.snapshot();
|
|
70
|
+
// File-logger half (load-bearing — survives a non-draining stdout pipe).
|
|
71
|
+
safeLogError(kind, {
|
|
72
|
+
error,
|
|
73
|
+
stack,
|
|
74
|
+
lifecycle_phase: snap.phase,
|
|
75
|
+
uptime_ms: snap.uptime_ms,
|
|
76
|
+
pid: process.pid,
|
|
77
|
+
});
|
|
78
|
+
// stderr half (loud — the file sink may have failed; either may be the
|
|
79
|
+
// only surviving channel).
|
|
80
|
+
safeStderr(`macf-channel-server FATAL ${kind}: ${error}\n${stack}\n` +
|
|
81
|
+
` lifecycle=${snap.phase} uptime_ms=${String(snap.uptime_ms)} pid=${String(process.pid)}\n`);
|
|
82
|
+
// Best-effort graceful deregister, bounded by a hard timeout.
|
|
83
|
+
const cleanup = deps.getCleanup?.();
|
|
84
|
+
if (cleanup !== undefined) {
|
|
85
|
+
await runCleanupWithTimeout(cleanup);
|
|
86
|
+
}
|
|
87
|
+
exit(1);
|
|
88
|
+
}
|
|
89
|
+
register('uncaughtException', (err) => {
|
|
90
|
+
void handle('uncaught_exception', err);
|
|
91
|
+
});
|
|
92
|
+
register('unhandledRejection', (reason) => {
|
|
93
|
+
void handle('unhandled_rejection', reason);
|
|
94
|
+
});
|
|
95
|
+
return { handle };
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=crash-handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crash-handlers.js","sourceRoot":"","sources":["../src/crash-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Logger } from '@groundnuty/macf-core';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the effective forensic-log path.
|
|
4
|
+
*
|
|
5
|
+
* 1. explicit, non-empty `MACF_LOG_PATH` → used as-is (back-compat).
|
|
6
|
+
* 2. `$XDG_STATE_HOME/macf/<agentName>-channel.log`
|
|
7
|
+
* 3. `$HOME/.local/state/macf/<agentName>-channel.log`
|
|
8
|
+
* 4. `<os-tmpdir>/macf/<agentName>-channel.log` (last-ditch — always writable)
|
|
9
|
+
*
|
|
10
|
+
* Pure: no filesystem side effects (the caller's logger creates parent dirs).
|
|
11
|
+
* `env` is injectable for tests.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveForensicLogPath(opts: {
|
|
14
|
+
readonly agentName: string;
|
|
15
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
16
|
+
}): string;
|
|
17
|
+
export interface ForensicLogger {
|
|
18
|
+
/** The structured logger (file sink, or stderr-only if the file failed). */
|
|
19
|
+
readonly logger: Logger;
|
|
20
|
+
/** The resolved forensic-log path (even if the file sink failed to open). */
|
|
21
|
+
readonly logPath: string;
|
|
22
|
+
/** Whether the file sink is active (false → degraded to stderr-only). */
|
|
23
|
+
readonly fileActive: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build the channel-server's forensic logger. Resolves the path, then attempts
|
|
27
|
+
* a real file logger; on any failure to open the file sink (unwritable dir,
|
|
28
|
+
* etc.) it logs a LOUD stderr warning and degrades to a stderr-only logger so
|
|
29
|
+
* the server still starts and still produces *some* trail.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createForensicLogger(opts: {
|
|
32
|
+
readonly agentName: string;
|
|
33
|
+
readonly debug: boolean;
|
|
34
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
35
|
+
}): ForensicLogger;
|
|
36
|
+
//# sourceMappingURL=forensic-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forensic-log.d.ts","sourceRoot":"","sources":["../src/forensic-log.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC,GAAG,MAAM,CAOT;AAyBD,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC,GAAG,cAAc,CAoBjB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guaranteed forensic log (groundnuty/macf#642).
|
|
3
|
+
*
|
|
4
|
+
* The per-agent channel-server runs as the Claude TUI's MCP stdio child. Under
|
|
5
|
+
* load Claude Code stops draining the stdio pipe, so stderr is an unreliable
|
|
6
|
+
* failure channel — and the macf-core logger NO-OPS entirely when
|
|
7
|
+
* `MACF_LOG_PATH` is unset. The net effect: the channel-server can die with no
|
|
8
|
+
* trail at all.
|
|
9
|
+
*
|
|
10
|
+
* This module makes a file-based forensic log the always-on default — defense-
|
|
11
|
+
* in-depth, never relying on `claude.sh` to have exported `MACF_LOG_PATH`. An
|
|
12
|
+
* explicitly-set `MACF_LOG_PATH` still wins (back-compat); otherwise we resolve
|
|
13
|
+
* a deterministic path under `$XDG_STATE_HOME` (or `$HOME/.local/state`, or the
|
|
14
|
+
* OS tmpdir as a last-ditch) so a forensic trail exists regardless of the
|
|
15
|
+
* launch environment.
|
|
16
|
+
*
|
|
17
|
+
* The safety net must never itself become the crash cause: `createForensicLogger`
|
|
18
|
+
* degrades to a stderr-only logger if the file sink can't be created (e.g. an
|
|
19
|
+
* unwritable state dir), reporting `fileActive: false` rather than throwing.
|
|
20
|
+
*/
|
|
21
|
+
import { tmpdir } from 'node:os';
|
|
22
|
+
import { join } from 'node:path';
|
|
23
|
+
import { createLogger } from '@groundnuty/macf-core';
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the effective forensic-log path.
|
|
26
|
+
*
|
|
27
|
+
* 1. explicit, non-empty `MACF_LOG_PATH` → used as-is (back-compat).
|
|
28
|
+
* 2. `$XDG_STATE_HOME/macf/<agentName>-channel.log`
|
|
29
|
+
* 3. `$HOME/.local/state/macf/<agentName>-channel.log`
|
|
30
|
+
* 4. `<os-tmpdir>/macf/<agentName>-channel.log` (last-ditch — always writable)
|
|
31
|
+
*
|
|
32
|
+
* Pure: no filesystem side effects (the caller's logger creates parent dirs).
|
|
33
|
+
* `env` is injectable for tests.
|
|
34
|
+
*/
|
|
35
|
+
export function resolveForensicLogPath(opts) {
|
|
36
|
+
const env = opts.env ?? process.env;
|
|
37
|
+
const explicit = env['MACF_LOG_PATH'];
|
|
38
|
+
if (explicit !== undefined && explicit !== '')
|
|
39
|
+
return explicit;
|
|
40
|
+
const fileName = `${sanitizeAgentName(opts.agentName)}-channel.log`;
|
|
41
|
+
return join(forensicStateDir(env), 'macf', fileName);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The base state directory for the default forensic log, mirroring the XDG
|
|
45
|
+
* Base Directory spec (`$XDG_STATE_HOME`, else `$HOME/.local/state`). Falls back
|
|
46
|
+
* to the OS tmpdir so the path is always writable even in a degenerate
|
|
47
|
+
* environment (no HOME — e.g. some CI / container contexts).
|
|
48
|
+
*/
|
|
49
|
+
function forensicStateDir(env) {
|
|
50
|
+
const xdg = env['XDG_STATE_HOME'];
|
|
51
|
+
if (xdg !== undefined && xdg !== '')
|
|
52
|
+
return xdg;
|
|
53
|
+
const home = env['HOME'];
|
|
54
|
+
if (home !== undefined && home !== '')
|
|
55
|
+
return join(home, '.local', 'state');
|
|
56
|
+
return tmpdir();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Sanitize an agent name into a filesystem-safe single path segment — guards
|
|
60
|
+
* against path traversal / separators in an unexpected `MACF_AGENT_NAME`.
|
|
61
|
+
*/
|
|
62
|
+
function sanitizeAgentName(name) {
|
|
63
|
+
const cleaned = name.replace(/[^A-Za-z0-9._-]/g, '_');
|
|
64
|
+
return cleaned === '' ? 'agent' : cleaned;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Build the channel-server's forensic logger. Resolves the path, then attempts
|
|
68
|
+
* a real file logger; on any failure to open the file sink (unwritable dir,
|
|
69
|
+
* etc.) it logs a LOUD stderr warning and degrades to a stderr-only logger so
|
|
70
|
+
* the server still starts and still produces *some* trail.
|
|
71
|
+
*/
|
|
72
|
+
export function createForensicLogger(opts) {
|
|
73
|
+
const logPath = resolveForensicLogPath({ agentName: opts.agentName, env: opts.env });
|
|
74
|
+
try {
|
|
75
|
+
// createLogger creates parent dirs + the file synchronously in its
|
|
76
|
+
// constructor, so a throw here means the file sink is unusable.
|
|
77
|
+
const logger = createLogger({ logPath, debug: opts.debug });
|
|
78
|
+
return { logger, logPath, fileActive: true };
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
82
|
+
try {
|
|
83
|
+
process.stderr.write(`macf-channel-server: WARNING — could not open forensic log at ${logPath}: ${msg}. ` +
|
|
84
|
+
'Falling back to stderr-only logging (no durable crash trail). See macf#642.\n');
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
/* nothing left — stderr itself is gone */
|
|
88
|
+
}
|
|
89
|
+
// Force the stderr sink on (debug:true) so the degraded logger still emits.
|
|
90
|
+
return { logger: createLogger({ debug: true }), logPath, fileActive: false };
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=forensic-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forensic-log.js","sourceRoot":"","sources":["../src/forensic-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAGtC;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAE/D,MAAM,QAAQ,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;IACpE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAsB;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAChD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5C,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAIpC;IACC,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC;QACH,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iEAAiE,OAAO,KAAK,GAAG,IAAI;gBAClF,+EAA+E,CAClF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,4EAA4E;QAC5E,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC/E,CAAC;AACH,CAAC"}
|
package/dist/https.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"https.d.ts","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA+B7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAQpC,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,GAAG,OAAO,CAGV;AAUD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AA+ED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAoBzE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAYpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"https.d.ts","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA+B7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAQpC,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,GAAG,OAAO,CAGV;AAUD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AA+ED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAoBzE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAYpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,WAAW,CAq6Bd"}
|
package/dist/https.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createServer } from 'node:https';
|
|
|
2
2
|
import { readFileSync } from 'node:fs';
|
|
3
3
|
import { randomInt, randomUUID } from 'node:crypto';
|
|
4
4
|
import { context, propagation, SpanKind, SpanStatusCode } from '@opentelemetry/api';
|
|
5
|
-
import { NotifyPayloadSchema, SignRequestSchema } from '@groundnuty/macf-core';
|
|
5
|
+
import { NotifyPayloadSchema, SignRequestSchema, fromVariableSegment } from '@groundnuty/macf-core';
|
|
6
6
|
import { PortExhaustedError, PortUnavailableError, HttpsServerError, HttpError } from '@groundnuty/macf-core';
|
|
7
7
|
import { getTracer, SpanNames, Attr, GenAiAttr, operationNameForNotifyType } from './tracing.js';
|
|
8
8
|
import { getNotifyReceivedCounter, getSignCallsCounter, MetricAttr } from './metrics.js';
|
|
@@ -298,6 +298,20 @@ export function createHttpsServer(config) {
|
|
|
298
298
|
}
|
|
299
299
|
const result = NotifyPayloadSchema.safeParse(parsed);
|
|
300
300
|
if (!result.success) {
|
|
301
|
+
// macf#616 (silent-fallback Instance 14): loud-log the rejection so a
|
|
302
|
+
// malformed inbound payload — notably an anchorless `type:mention`, which
|
|
303
|
+
// would otherwise surface as a context-free "You were mentioned" and
|
|
304
|
+
// strand the recipient — is visible in operator logs rather than a silent
|
|
305
|
+
// 400. The refine's error message carries the macf#616 reference for the
|
|
306
|
+
// mention case; `attempted_type` aids triage when the body is otherwise
|
|
307
|
+
// unparseable as a NotifyPayload.
|
|
308
|
+
const attemptedType = parsed !== null && typeof parsed === 'object' && 'type' in parsed
|
|
309
|
+
? String(parsed.type)
|
|
310
|
+
: 'unknown';
|
|
311
|
+
logger.warn('notify_validation_failed', {
|
|
312
|
+
attempted_type: attemptedType,
|
|
313
|
+
error: result.error.message,
|
|
314
|
+
});
|
|
301
315
|
sendJson(res, 400, { error: `Validation failed: ${result.error.message}` });
|
|
302
316
|
return;
|
|
303
317
|
}
|
|
@@ -497,7 +511,15 @@ export function createHttpsServer(config) {
|
|
|
497
511
|
attributes: {
|
|
498
512
|
[GenAiAttr.System]: 'macf',
|
|
499
513
|
[Attr.RemoteCn]: signClientCn,
|
|
500
|
-
|
|
514
|
+
// macf#611: `gen_ai.agent.name` must carry the kebab
|
|
515
|
+
// routing-label (`code-agent`), never the SCREAMING_SNAKE
|
|
516
|
+
// registry-key form. The CSR `agent_name` can arrive in either
|
|
517
|
+
// form (registry-key callers send `CODE_AGENT`); normalize it
|
|
518
|
+
// here. `fromVariableSegment` is idempotent on already-kebab
|
|
519
|
+
// input, so an already-kebab `agent_name` passes through
|
|
520
|
+
// unchanged. Same macf#590 convention as the `invoke_agent`
|
|
521
|
+
// spans in notify-peer.ts + a2a-client.ts.
|
|
522
|
+
[GenAiAttr.AgentName]: fromVariableSegment(result.data.agent_name),
|
|
501
523
|
},
|
|
502
524
|
}, signParentCtx, async (span) => {
|
|
503
525
|
try {
|
package/dist/https.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"https.js","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"https.js","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle-phase tracker (groundnuty/macf#642).
|
|
3
|
+
*
|
|
4
|
+
* A tiny mutable holder for the channel-server's current startup/runtime phase
|
|
5
|
+
* plus process uptime. The crash handlers and the periodic alive-tick read its
|
|
6
|
+
* snapshot so the forensic log pinpoints WHERE the process was when it died —
|
|
7
|
+
* the difference between "crashed mid-boot" and "crashed while serving" is the
|
|
8
|
+
* first thing an operator needs.
|
|
9
|
+
*
|
|
10
|
+
* Free-form `phase` strings (not an enum) keep server.ts able to annotate any
|
|
11
|
+
* step without a schema round-trip; the canonical phases server.ts uses are
|
|
12
|
+
* boot → otel-bootstrapped → config-loaded → mcp-connected → port-bound →
|
|
13
|
+
* collision-checked → registered → serving.
|
|
14
|
+
*/
|
|
15
|
+
export interface LifecycleSnapshot {
|
|
16
|
+
readonly phase: string;
|
|
17
|
+
readonly uptime_ms: number;
|
|
18
|
+
}
|
|
19
|
+
export interface LifecycleTracker {
|
|
20
|
+
/** Advance the current phase. */
|
|
21
|
+
readonly set: (phase: string) => void;
|
|
22
|
+
/** Read the current phase + uptime (now − startedAt). */
|
|
23
|
+
readonly snapshot: () => LifecycleSnapshot;
|
|
24
|
+
}
|
|
25
|
+
export declare function createLifecycleTracker(opts?: {
|
|
26
|
+
readonly initial?: string;
|
|
27
|
+
/** Injectable epoch-ms clock for tests; defaults to `Date.now`. */
|
|
28
|
+
readonly now?: () => number;
|
|
29
|
+
}): LifecycleTracker;
|
|
30
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,iBAAiB,CAAC;CAC5C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B,GAAG,gBAAgB,CAanB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle-phase tracker (groundnuty/macf#642).
|
|
3
|
+
*
|
|
4
|
+
* A tiny mutable holder for the channel-server's current startup/runtime phase
|
|
5
|
+
* plus process uptime. The crash handlers and the periodic alive-tick read its
|
|
6
|
+
* snapshot so the forensic log pinpoints WHERE the process was when it died —
|
|
7
|
+
* the difference between "crashed mid-boot" and "crashed while serving" is the
|
|
8
|
+
* first thing an operator needs.
|
|
9
|
+
*
|
|
10
|
+
* Free-form `phase` strings (not an enum) keep server.ts able to annotate any
|
|
11
|
+
* step without a schema round-trip; the canonical phases server.ts uses are
|
|
12
|
+
* boot → otel-bootstrapped → config-loaded → mcp-connected → port-bound →
|
|
13
|
+
* collision-checked → registered → serving.
|
|
14
|
+
*/
|
|
15
|
+
export function createLifecycleTracker(opts) {
|
|
16
|
+
const now = opts?.now ?? (() => Date.now());
|
|
17
|
+
const startedAt = now();
|
|
18
|
+
let phase = opts?.initial ?? 'boot';
|
|
19
|
+
return {
|
|
20
|
+
set(next) {
|
|
21
|
+
phase = next;
|
|
22
|
+
},
|
|
23
|
+
snapshot() {
|
|
24
|
+
return { phase, uptime_ms: now() - startedAt };
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,MAAM,UAAU,sBAAsB,CAAC,IAItC;IACC,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC;IAEpC,OAAO;QACL,GAAG,CAAC,IAAY;YACd,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,QAAQ;YACN,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify-formatter.d.ts","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"notify-formatter.d.ts","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAiH3E"}
|
package/dist/notify-formatter.js
CHANGED
|
@@ -24,7 +24,23 @@ export function formatNotifyContent(payload) {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
if (payload.type === 'mention') {
|
|
27
|
-
|
|
27
|
+
if (payload.message) {
|
|
28
|
+
return { content: payload.message };
|
|
29
|
+
}
|
|
30
|
+
// macf#616: a message-less mention still carries its anchor (issue_number
|
|
31
|
+
// or pr_number — enforced by NotifyPayloadSchema's refine), so the fallback
|
|
32
|
+
// surfaces that anchor rather than a bare context-free "You were mentioned"
|
|
33
|
+
// that would strand the recipient (silent-fallback Instance 14). The truly
|
|
34
|
+
// anchorless bare string remains only as a last-resort defense for the
|
|
35
|
+
// diagnostic-probe path (which never reaches here) and direct callers that
|
|
36
|
+
// bypass the schema.
|
|
37
|
+
if (payload.issue_number !== undefined) {
|
|
38
|
+
return { content: `You were mentioned in #${payload.issue_number}` };
|
|
39
|
+
}
|
|
40
|
+
if (payload.pr_number !== undefined) {
|
|
41
|
+
return { content: `You were mentioned in PR #${payload.pr_number}` };
|
|
42
|
+
}
|
|
43
|
+
return { content: 'You were mentioned' };
|
|
28
44
|
}
|
|
29
45
|
if (payload.type === 'ci_completion') {
|
|
30
46
|
// Prefer the prebuilt `message` (producer has all context) but
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify-formatter.js","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACxD,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,wDAAwD;YACxD,gEAAgE;YAChE,8DAA8D;YAC9D,gEAAgE;YAChE,6DAA6D;YAC7D,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;gBAC7B,CAAC,CAAC,wBAAwB,OAAO,CAAC,YAAY,WAAW,OAAO,CAAC,IAAI,oCAAoC;gBACzG,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;gBACL,OAAO,EAAE,UAAU,OAAO,CAAC,YAAY,qBAAqB,MAAM,GAAG,UAAU,EAAE;gBACjF,WAAW,EAAE,OAAO,CAAC,YAAY;aAClC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,KAAK;gBACpB,CAAC,CAAC,+BAA+B,OAAO,CAAC,KAAK,EAAE;gBAChD,CAAC,CAAC,4BAA4B;SACjC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"notify-formatter.js","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACxD,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,wDAAwD;YACxD,gEAAgE;YAChE,8DAA8D;YAC9D,gEAAgE;YAChE,6DAA6D;YAC7D,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;gBAC7B,CAAC,CAAC,wBAAwB,OAAO,CAAC,YAAY,WAAW,OAAO,CAAC,IAAI,oCAAoC;gBACzG,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;gBACL,OAAO,EAAE,UAAU,OAAO,CAAC,YAAY,qBAAqB,MAAM,GAAG,UAAU,EAAE;gBACjF,WAAW,EAAE,OAAO,CAAC,YAAY;aAClC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,KAAK;gBACpB,CAAC,CAAC,+BAA+B,OAAO,CAAC,KAAK,EAAE;gBAChD,CAAC,CAAC,4BAA4B;SACjC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QACD,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,qBAAqB;QACrB,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,0BAA0B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,6BAA6B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,+DAA+D;QAC/D,8DAA8D;QAC9D,+DAA+D;QAC/D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,cAAc,EAAE,CAAC;YAC7C,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB;gBACxC,CAAC,CAAC,2BAA2B,OAAO,CAAC,kBAAkB,IAAI;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;gBACL,OAAO,EAAE,GAAG,KAAK,QAAQ,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,OAAO,EAAE;aACtE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACzC,6DAA6D;QAC7D,gEAAgE;QAChE,4DAA4D;QAC5D,4DAA4D;QAC5D,2DAA2D;QAC3D,gEAAgE;QAChE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;YACnF,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAC9F,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,GAAG,SAAS,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACvC,uEAAuE;QACvE,2DAA2D;QAC3D,gEAAgE;QAChE,kEAAkE;QAClE,gEAAgE;QAChE,gEAAgE;QAChE,kEAAkE;QAClE,uCAAuC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAI,YAAY,CAAC;QACxD,MAAM,IAAI,GACR,OAAO,CAAC,YAAY,KAAK,UAAU;YACjC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,mBAAmB;gBAC5C,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,UAAU,CAAC;QACnB,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,IAAI,IAAI,QAAQ,OAAO,CAAC,SAAS,GAAG,UAAU,EAAE,EAAE,CAAC;QAClF,CAAC;QACD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,MAAM;gBACrB,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,QAAQ,OAAO,CAAC,MAAM,EAAE;gBAC7C,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,OAAO;SAC/B,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,iCAAiC,EAAE,CAAC;AAC3E,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -9,7 +9,6 @@ import { bootstrapOtel } from './otel.js';
|
|
|
9
9
|
import { SpanKind, SpanStatusCode } from '@opentelemetry/api';
|
|
10
10
|
import { getTracer, SpanNames } from './tracing.js';
|
|
11
11
|
import { loadConfig } from '@groundnuty/macf-core';
|
|
12
|
-
import { createLogger } from '@groundnuty/macf-core';
|
|
13
12
|
import { createMcpChannel } from './mcp.js';
|
|
14
13
|
import { createHealthState } from './health.js';
|
|
15
14
|
import { createHttpsServer } from './https.js';
|
|
@@ -19,6 +18,10 @@ import { PACKAGE_VERSION } from './package-version.js';
|
|
|
19
18
|
import { createRegistry, createRegistryFromConfig } from '@groundnuty/macf-core';
|
|
20
19
|
import { checkCollision, CollisionError, RegisterRaceError } from './collision.js';
|
|
21
20
|
import { registerShutdownHandler } from './shutdown.js';
|
|
21
|
+
import { createForensicLogger } from './forensic-log.js';
|
|
22
|
+
import { createLifecycleTracker } from './lifecycle.js';
|
|
23
|
+
import { registerCrashHandlers } from './crash-handlers.js';
|
|
24
|
+
import { createAliveTicker } from './alive-ticker.js';
|
|
22
25
|
import { createRegistryHeartbeat, resolveHeartbeatIntervalMs } from './registry-heartbeat.js';
|
|
23
26
|
import { createTokenRefresher } from './token-refresh.js';
|
|
24
27
|
import { createRefreshAwareClient } from './refresh-aware-client.js';
|
|
@@ -40,10 +43,53 @@ async function main() {
|
|
|
40
43
|
// the SDK packages + registers the global provider. See macf#196.
|
|
41
44
|
await bootstrapOtel();
|
|
42
45
|
const config = loadConfig();
|
|
43
|
-
|
|
44
|
-
|
|
46
|
+
// macf#642: a GUARANTEED forensic file log. The macf-core logger NO-OPS when
|
|
47
|
+
// MACF_LOG_PATH is unset, and stderr is unreliable (Claude Code stops draining
|
|
48
|
+
// the stdio pipe under load) — so the channel-server could die with no trail.
|
|
49
|
+
// createForensicLogger defaults the path to $XDG_STATE_HOME / $HOME/.local/state
|
|
50
|
+
// when the launcher didn't export MACF_LOG_PATH (defense-in-depth; an explicit
|
|
51
|
+
// MACF_LOG_PATH still wins), and degrades to stderr-only rather than crashing if
|
|
52
|
+
// the file sink can't be opened.
|
|
53
|
+
const { logger, logPath: forensicLogPath, fileActive } = createForensicLogger({
|
|
54
|
+
agentName: config.agentName,
|
|
45
55
|
debug: config.debug,
|
|
46
56
|
});
|
|
57
|
+
// Loud startup forensic line — file AND stderr regardless of debug — so the
|
|
58
|
+
// resolved log path is discoverable + the first line bounds the process start.
|
|
59
|
+
logger.info('forensic_log_active', {
|
|
60
|
+
log_path: forensicLogPath,
|
|
61
|
+
file_active: fileActive,
|
|
62
|
+
pid: process.pid,
|
|
63
|
+
version: PACKAGE_VERSION,
|
|
64
|
+
});
|
|
65
|
+
process.stderr.write(`macf-channel-server: forensic log → ${forensicLogPath}` +
|
|
66
|
+
(fileActive ? '' : ' (file sink UNAVAILABLE — stderr only)') +
|
|
67
|
+
` [pid ${String(process.pid)}, v${PACKAGE_VERSION}]\n`);
|
|
68
|
+
// macf#642: lifecycle-phase tracker — the crash handlers + alive-tick read this
|
|
69
|
+
// so the forensic log pinpoints WHERE the process was when it died.
|
|
70
|
+
const lifecycle = createLifecycleTracker({ initial: 'boot' });
|
|
71
|
+
// macf#642: top-level crash handlers, registered EARLY (before the rest of
|
|
72
|
+
// startup) so an uncaughtException / unhandledRejection during boot still lands
|
|
73
|
+
// in the forensic log + attempts a bounded graceful deregister, then exits 1.
|
|
74
|
+
// The shutdown `cleanup` is wired later (it needs the registry + HTTPS server);
|
|
75
|
+
// the getter returns undefined until then, so an early crash logs + exits
|
|
76
|
+
// without a deregister it has nothing to perform.
|
|
77
|
+
let shutdownCleanup;
|
|
78
|
+
registerCrashHandlers({
|
|
79
|
+
logger,
|
|
80
|
+
lifecycle,
|
|
81
|
+
getCleanup: () => shutdownCleanup,
|
|
82
|
+
});
|
|
83
|
+
// macf#642: record the process exit code in the forensic log. The 'exit' event
|
|
84
|
+
// allows only synchronous work — logger.info uses appendFileSync (sync), so the
|
|
85
|
+
// line is durably written before the process is gone.
|
|
86
|
+
process.on('exit', (code) => {
|
|
87
|
+
logger.info('process_exit', {
|
|
88
|
+
code,
|
|
89
|
+
pid: process.pid,
|
|
90
|
+
lifecycle_phase: lifecycle.snapshot().phase,
|
|
91
|
+
});
|
|
92
|
+
});
|
|
47
93
|
// macf#473 piece 2 (DR-025): the authoritative write-ahead comms-ledger,
|
|
48
94
|
// a SIBLING of channel.log derived from MACF_LOG_PATH. A no-op when
|
|
49
95
|
// logPath is unset (mirrors `logger`). The `appendEdge` writer is
|
|
@@ -90,7 +136,27 @@ async function main() {
|
|
|
90
136
|
// DR-030 E1: read the comms-ledger (sibling of logPath) for last_processed.
|
|
91
137
|
logPath: config.logPath,
|
|
92
138
|
});
|
|
139
|
+
// macf#642: a boundary try/catch around the /notify delivery path. https.ts
|
|
140
|
+
// already catches at the request boundary (→ 500), but a dedicated catch here
|
|
141
|
+
// attributes the failure to the notify handler (payload type + stack) AND guards
|
|
142
|
+
// the fire-and-forget sub-calls (e.g. wakeViaTmux) so nothing can escape as an
|
|
143
|
+
// unhandledRejection. Re-thrown so the request boundary still returns 500 — the
|
|
144
|
+
// delivery genuinely failed; this only adds a louder, attributed log.
|
|
93
145
|
const onNotify = async (payload) => {
|
|
146
|
+
try {
|
|
147
|
+
await deliverNotification(payload);
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
logger.error('notify_handler_error', {
|
|
151
|
+
type: payload.type,
|
|
152
|
+
issue: payload.issue_number,
|
|
153
|
+
error: err instanceof Error ? err.message : String(err),
|
|
154
|
+
stack: err instanceof Error ? (err.stack ?? '') : '',
|
|
155
|
+
});
|
|
156
|
+
throw err;
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
async function deliverNotification(payload) {
|
|
94
160
|
const meta = { type: payload.type };
|
|
95
161
|
if (payload.issue_number !== undefined) {
|
|
96
162
|
meta['issue_number'] = String(payload.issue_number);
|
|
@@ -197,7 +263,7 @@ async function main() {
|
|
|
197
263
|
detail: 'MACF_WORKSPACE_DIR unset',
|
|
198
264
|
});
|
|
199
265
|
}
|
|
200
|
-
}
|
|
266
|
+
}
|
|
201
267
|
// P2: Build the project registry + (GitHub-mode only) /sign varsClient.
|
|
202
268
|
//
|
|
203
269
|
// Pre-macf#317 this section also called `await generateToken()` to
|
|
@@ -473,8 +539,10 @@ async function main() {
|
|
|
473
539
|
});
|
|
474
540
|
// P1: Connect MCP channel
|
|
475
541
|
await mcp.connect();
|
|
542
|
+
lifecycle.set('mcp-connected'); // macf#642 forensic phase marker
|
|
476
543
|
// P1: Bind port
|
|
477
544
|
const { actualPort } = await httpsServer.start(config.port, config.host);
|
|
545
|
+
lifecycle.set('port-bound'); // macf#642 forensic phase marker
|
|
478
546
|
// P2: Collision detection. The HTTPS server is already bound + serving
|
|
479
547
|
// (P1 above), so a version-aware takeover (groundnuty/macf#424) only fires
|
|
480
548
|
// for an instance that can actually serve — a crash-on-boot newer instance
|
|
@@ -489,6 +557,7 @@ async function main() {
|
|
|
489
557
|
agentCertPath: config.agentCertPath,
|
|
490
558
|
agentKeyPath: config.agentKeyPath,
|
|
491
559
|
}, PACKAGE_VERSION, logger);
|
|
560
|
+
lifecycle.set('collision-checked'); // macf#642 forensic phase marker
|
|
492
561
|
if (collisionResult.action === 'abort') {
|
|
493
562
|
await httpsServer.stop();
|
|
494
563
|
throw new CollisionError(config.routingLabel, collisionResult.existing.host, collisionResult.existing.port);
|
|
@@ -520,6 +589,7 @@ async function main() {
|
|
|
520
589
|
await httpsServer.stop();
|
|
521
590
|
throw new RegisterRaceError(config.routingLabel, registerResult.current);
|
|
522
591
|
}
|
|
592
|
+
lifecycle.set('registered'); // macf#642 forensic phase marker
|
|
523
593
|
logger.info('registered', {
|
|
524
594
|
agent: config.routingLabel,
|
|
525
595
|
host: config.advertiseHost,
|
|
@@ -548,7 +618,10 @@ async function main() {
|
|
|
548
618
|
// carries OUR instance_id, so a newer instance that took over the slot
|
|
549
619
|
// (groundnuty/macf#424) while we ran is never clobbered on our exit. Also
|
|
550
620
|
// clears the registry-heartbeat interval (DR-031) on the way out.
|
|
551
|
-
|
|
621
|
+
// macf#642: capture the returned cleanup so the top-level crash handlers can
|
|
622
|
+
// attempt the same instance-id-guarded graceful deregister (behind a hard
|
|
623
|
+
// timeout) on an uncaughtException / unhandledRejection.
|
|
624
|
+
shutdownCleanup = registerShutdownHandler({
|
|
552
625
|
agentName: config.routingLabel,
|
|
553
626
|
registry,
|
|
554
627
|
instanceId: config.instanceId,
|
|
@@ -559,13 +632,23 @@ async function main() {
|
|
|
559
632
|
});
|
|
560
633
|
// Start the periodic heartbeat now that its stop() is wired into shutdown.
|
|
561
634
|
registryHeartbeat.start();
|
|
635
|
+
lifecycle.set('serving'); // macf#642 forensic phase marker
|
|
562
636
|
logger.info('server_started', {
|
|
563
637
|
port: actualPort,
|
|
564
638
|
host: config.advertiseHost,
|
|
565
639
|
agent: config.agentName,
|
|
566
640
|
type: config.agentType,
|
|
567
641
|
instance_id: config.instanceId,
|
|
642
|
+
pid: process.pid,
|
|
643
|
+
version: PACKAGE_VERSION,
|
|
644
|
+
log_path: forensicLogPath,
|
|
568
645
|
});
|
|
646
|
+
// macf#642: periodic "alive" tick to the forensic log (every 60s, unref()'d so
|
|
647
|
+
// it can't pin the event loop). Its purpose is its ABSENCE — when the server
|
|
648
|
+
// dies a SILENT death (OOM / SIGKILL / power loss) no crash handler runs and
|
|
649
|
+
// the log just stops; the last `alive` line then bounds the death to a ≤60s
|
|
650
|
+
// window. Started last so the log shows the server reached steady state.
|
|
651
|
+
createAliveTicker({ logger, lifecycle }).start();
|
|
569
652
|
} // end runStartup
|
|
570
653
|
}
|
|
571
654
|
main().catch((err) => {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/shutdown.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import type { Registry } from '@groundnuty/macf-core';
|
|
2
2
|
import type { HttpsServer, HealthState, Logger } from '@groundnuty/macf-core';
|
|
3
3
|
/**
|
|
4
|
-
* Registers SIGTERM and
|
|
5
|
-
* registry variable and stop the HTTPS server.
|
|
4
|
+
* Registers SIGTERM, SIGINT, and MCP-stdin-close handlers that clean up
|
|
5
|
+
* the agent's registry variable and stop the HTTPS server.
|
|
6
|
+
*
|
|
7
|
+
* The channel-server runs as the Claude TUI's MCP stdio child. A normal TUI
|
|
8
|
+
* exit (`/exit`, or SIGTERM-to-the-TUI) does NOT deliver a SIGTERM/SIGINT to
|
|
9
|
+
* this process — it only sees its stdin reach EOF as the parent goes away.
|
|
10
|
+
* So the stdin `'end'`/`'close'` wiring (macf#627) is the graceful-deregister
|
|
11
|
+
* trigger on a normal TUI exit; the signal handlers cover direct kills; the
|
|
12
|
+
* DR-031 TTL heartbeat (#589) remains the backstop for hard kills (SIGKILL /
|
|
13
|
+
* OOM / power loss) where no handler runs at all.
|
|
6
14
|
*
|
|
7
15
|
* Returns a cleanup function that can also be called directly.
|
|
8
16
|
*/
|
|
@@ -33,5 +41,17 @@ export declare function registerShutdownHandler(config: {
|
|
|
33
41
|
readonly registryHeartbeat?: {
|
|
34
42
|
readonly stop: () => void;
|
|
35
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* The MCP stdio transport's input stream — defaults to `process.stdin`,
|
|
46
|
+
* injectable for tests. On a normal Claude-TUI exit this stream reaches EOF
|
|
47
|
+
* (`'end'`) / is destroyed (`'close'`); those events are wired to the same
|
|
48
|
+
* deregister handler so a graceful TUI exit deregisters instead of leaving a
|
|
49
|
+
* stale slot until the DR-031 TTL backstop (macf#627). We listen on
|
|
50
|
+
* `process.stdin` directly rather than the MCP transport's `onclose`: the
|
|
51
|
+
* SDK's `StdioServerTransport` only attaches `'data'`/`'error'` listeners and
|
|
52
|
+
* fires `onclose` solely on an explicit `transport.close()`, so it never
|
|
53
|
+
* surfaces stdin EOF.
|
|
54
|
+
*/
|
|
55
|
+
readonly stdin?: Pick<NodeJS.ReadStream, 'on'>;
|
|
36
56
|
}): () => Promise<boolean>;
|
|
37
57
|
//# sourceMappingURL=shutdown.d.ts.map
|
package/dist/shutdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE9E
|
|
1
|
+
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE9E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC3D;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;CAChD,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CA+HzB"}
|
package/dist/shutdown.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Registers SIGTERM and
|
|
3
|
-
* registry variable and stop the HTTPS server.
|
|
2
|
+
* Registers SIGTERM, SIGINT, and MCP-stdin-close handlers that clean up
|
|
3
|
+
* the agent's registry variable and stop the HTTPS server.
|
|
4
|
+
*
|
|
5
|
+
* The channel-server runs as the Claude TUI's MCP stdio child. A normal TUI
|
|
6
|
+
* exit (`/exit`, or SIGTERM-to-the-TUI) does NOT deliver a SIGTERM/SIGINT to
|
|
7
|
+
* this process — it only sees its stdin reach EOF as the parent goes away.
|
|
8
|
+
* So the stdin `'end'`/`'close'` wiring (macf#627) is the graceful-deregister
|
|
9
|
+
* trigger on a normal TUI exit; the signal handlers cover direct kills; the
|
|
10
|
+
* DR-031 TTL heartbeat (#589) remains the backstop for hard kills (SIGKILL /
|
|
11
|
+
* OOM / power loss) where no handler runs at all.
|
|
4
12
|
*
|
|
5
13
|
* Returns a cleanup function that can also be called directly.
|
|
6
14
|
*/
|
|
@@ -8,11 +16,14 @@ export function registerShutdownHandler(config) {
|
|
|
8
16
|
const { agentName, registry, instanceId, httpsServer, healthState, registryHeartbeat, logger } = config;
|
|
9
17
|
let shuttingDown = false;
|
|
10
18
|
let lastResult = true;
|
|
11
|
-
async function cleanup() {
|
|
19
|
+
async function cleanup(trigger) {
|
|
12
20
|
if (shuttingDown)
|
|
13
21
|
return lastResult;
|
|
14
22
|
shuttingDown = true;
|
|
15
|
-
logger.info('shutdown_start', {
|
|
23
|
+
logger.info('shutdown_start', {
|
|
24
|
+
agent: agentName,
|
|
25
|
+
...(trigger !== undefined ? { trigger } : {}),
|
|
26
|
+
});
|
|
16
27
|
let ok = true;
|
|
17
28
|
// Release the background OTLP-reachability probe interval (DR-030). Best-
|
|
18
29
|
// effort + never flips `ok`: a probe-cleanup hiccup must not mask a real
|
|
@@ -100,12 +111,27 @@ export function registerShutdownHandler(config) {
|
|
|
100
111
|
}
|
|
101
112
|
// Exit 1 when any cleanup step failed so external monitors (systemd,
|
|
102
113
|
// macf-actions heartbeat) surface the degraded state instead of
|
|
103
|
-
// silently absorbing it into a clean exit (#103 R2).
|
|
104
|
-
|
|
105
|
-
|
|
114
|
+
// silently absorbing it into a clean exit (#103 R2). The `trigger` is
|
|
115
|
+
// recorded once (in `shutdown_start`) by whichever path wins the once-guard.
|
|
116
|
+
const handlerFor = (trigger) => () => {
|
|
117
|
+
cleanup(trigger).then(ok => process.exit(ok ? 0 : 1), () => process.exit(1));
|
|
106
118
|
};
|
|
107
|
-
process.on('SIGTERM',
|
|
108
|
-
process.on('SIGINT',
|
|
119
|
+
process.on('SIGTERM', handlerFor('SIGTERM'));
|
|
120
|
+
process.on('SIGINT', handlerFor('SIGINT'));
|
|
121
|
+
// macf#627: a normal Claude-TUI exit does NOT signal this MCP-stdio child —
|
|
122
|
+
// it only sees stdin reach EOF ('end') / be destroyed ('close') as the parent
|
|
123
|
+
// departs. Wire the SAME deregister handler to both events so a graceful TUI
|
|
124
|
+
// exit deregisters rather than stranding the registry slot until the DR-031
|
|
125
|
+
// TTL backstop (#589). `cleanup()`'s once-guard (set synchronously before any
|
|
126
|
+
// await) makes a stdin-close racing a SIGTERM — or 'end' then 'close' — run
|
|
127
|
+
// the deregister exactly once. The child lingers ~8s after TUI exit
|
|
128
|
+
// (devops-observed), ample for the async deregister: the in-flight `cleanup()`
|
|
129
|
+
// promise plus the still-bound HTTPS server keep the event loop alive, and we
|
|
130
|
+
// exit only from `cleanup()`'s `.then()` — never mid-deregister.
|
|
131
|
+
const stdin = config.stdin ?? process.stdin;
|
|
132
|
+
const stdinCloseHandler = handlerFor('mcp-stdin-close');
|
|
133
|
+
stdin.on('end', stdinCloseHandler);
|
|
134
|
+
stdin.on('close', stdinCloseHandler);
|
|
109
135
|
return cleanup;
|
|
110
136
|
}
|
|
111
137
|
//# sourceMappingURL=shutdown.js.map
|
package/dist/shutdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@groundnuty/macf-channel-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.42",
|
|
4
4
|
"description": "MCP channel server for the Multi-Agent Coordination Framework. HTTPS + mTLS endpoint agents connect to for inter-agent messaging (notify), CI-completion routing, and /sign certificate issuance. Invoked by Claude Code's plugin via `npx -y @groundnuty/macf-channel-server` per DR-022.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"test:integration": "vitest run --config vitest.integration.config.ts"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@groundnuty/macf-core": "0.2.
|
|
36
|
+
"@groundnuty/macf-core": "0.2.42",
|
|
37
37
|
"@modelcontextprotocol/sdk": "~1.29.0",
|
|
38
38
|
"@opentelemetry/api": "1.9.1",
|
|
39
39
|
"@opentelemetry/core": "2.7.0",
|