zelari-code 2.22.0 → 2.23.0

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.
@@ -0,0 +1,147 @@
1
+ /**
2
+ * selfKillGuard — refuse shell/exec commands that would kill the agent host
3
+ * process itself (P0 anti-self-kill).
4
+ *
5
+ * Motivation: the agent runs as a `node` process; a well-meaning "stop the dev
6
+ * server" command like `taskkill /IM node.exe` (or `pkill node`,
7
+ * `Stop-Process -Name node`, a `ps | grep node | kill` pipeline) murders the
8
+ * agent's own process tree mid-turn. The safe alternative is always to kill by
9
+ * PORT (find the listener pid, kill that exact pid), never by image name.
10
+ *
11
+ * Pure detection: `inspectCommand(command, ctx)` returns a structured verdict
12
+ * and never throws. Wiring (rejection = typed tool error, same discipline as
13
+ * shellBlocklist): `src/cli/tools/execProcess.ts` (exec_process) and
14
+ * `wrapWithShellSafety` in `src/cli/toolRegistry.ts` (the CLI bash tool).
15
+ *
16
+ * Conservative by design (same policy as shellBlocklist): prefers a rare false
17
+ * positive over letting the agent destroy the host process.
18
+ */
19
+ /** Educational denial — teaches the per-port alternative. */
20
+ export const SELF_KILL_DENIAL_MESSAGE = 'Blocked: this command would kill the agent host process itself (node image / own process tree). ' +
21
+ 'To stop a dev server, kill by PORT instead: run `netstat -ano | findstr :<port>` to find the listener PID, ' +
22
+ 'then `taskkill //PID <listener-pid>` — never kill node by image name.';
23
+ /** Image names whose mass-kill equals suicide for the agent host. */
24
+ const PROTECTED_IMAGE_RE = /^(?:node(?:\.exe)?|zelari(?:-code)?(?:\.exe)?)$/i;
25
+ /** Drop quotes/commas around a captured image-name token. */
26
+ function cleanToken(raw) {
27
+ return raw.replace(/^["']+|["',]+\s*$/g, '').trim();
28
+ }
29
+ function isProtectedImage(name) {
30
+ return PROTECTED_IMAGE_RE.test(cleanToken(name));
31
+ }
32
+ /**
33
+ * Remove `$(…)`, `${…}` and backtick bodies so the per-port pattern
34
+ * `kill $(lsof -t -i:4173)` yields no literal PID to misjudge.
35
+ */
36
+ function stripSubstitutions(cmd) {
37
+ return cmd
38
+ .replace(/\$\([^)]*\)/g, ' ( ) ')
39
+ .replace(/\$\{[^}]*\}/g, ' ')
40
+ .replace(/`[^`]*`/g, ' ` ` ');
41
+ }
42
+ /** Kill-everything-of-a-protected-image shapes (Windows + POSIX). */
43
+ function findImageKill(cmd) {
44
+ // taskkill … /IM node.exe (also the Git Bash //IM form).
45
+ const im = cmd.match(/\/{1,2}im\s+["']?([a-z0-9_.-]+)/i);
46
+ if (im && /\btaskkill\b/i.test(cmd) && isProtectedImage(im[1])) {
47
+ return `taskkill /IM ${cleanToken(im[1])}`;
48
+ }
49
+ // taskkill /FI "IMAGENAME eq node.exe" — the filter form kills the same way.
50
+ const fi = cmd.match(/imagename\s+eq\s+["']?([a-z0-9_.-]+)/i);
51
+ if (fi && /\btaskkill\b/i.test(cmd) && isProtectedImage(fi[1])) {
52
+ return `taskkill /FI "IMAGENAME eq ${cleanToken(fi[1])}"`;
53
+ }
54
+ // PowerShell Stop-Process -Name node[-Force]; `kill -Name node` (PS alias).
55
+ const nm = cmd.match(/\b(?:stop-process|kill)\b[^|;&]*-name\s+["']?([a-z0-9_.-]+)/i);
56
+ if (nm && isProtectedImage(nm[1])) {
57
+ return `Stop-Process -Name ${cleanToken(nm[1])}`;
58
+ }
59
+ // Get-Process node | Stop-Process (also `| % { $_.Kill() }`).
60
+ if (/\bget-process\b[^|;&]*\bnode(?:\.exe)?\b/i.test(cmd) &&
61
+ /\|\s*[^|]*?(?:stop-process|\.\s*kill\s*\(|\bkill\b)/i.test(cmd)) {
62
+ return 'Get-Process node | Stop-Process';
63
+ }
64
+ // pkill node · pkill -f node · pkill -f node.exe · pkill -9 node
65
+ if (/\bpkill\b[^|;&]*\bnode(?:\.exe)?\b/i.test(cmd))
66
+ return 'pkill node';
67
+ // killall node / killall node.exe
68
+ if (/\bkillall\b[^|;&]*\bnode(?:\.exe)?\b/i.test(cmd))
69
+ return 'killall node';
70
+ // wmic process where name="node.exe" delete | … call terminate
71
+ if (/\bwmic\b[^|;&]*name\s*=\s*["']?node(?:\.exe)?["']?/i.test(cmd) &&
72
+ /\b(?:delete|terminate)\b/i.test(cmd)) {
73
+ return 'wmic process delete node.exe';
74
+ }
75
+ return null;
76
+ }
77
+ /** `ps -W | grep node | awk … | xargs kill` — the pids ride stdin. */
78
+ function findPsPipelineKill(cmd) {
79
+ if (!/\bps\b[^|;&]*\|\s*(?:grep|findstr|awk|sed)[^|;&]*\bnode(?:\.exe)?\b/i.test(cmd)) {
80
+ return null;
81
+ }
82
+ if (!/\b(?:xargs\s+)?(?:kill|taskkill|pkill|killall|stop-process)\b/i.test(cmd)) {
83
+ return null; // read-only `ps aux | grep node` — allowed
84
+ }
85
+ return 'ps | grep node | kill';
86
+ }
87
+ /** Kill-by-PID shapes targeting the agent's own process tree. */
88
+ function findProtectedPidKill(cmd, ctx) {
89
+ const protectedPids = new Set([
90
+ ctx.selfPid,
91
+ ...(ctx.parentPid !== undefined ? [ctx.parentPid] : []),
92
+ ...(ctx.extraProtectedPids ?? []),
93
+ ]);
94
+ const hit = (pid, shape) => protectedPids.has(pid) ? `${shape} ${pid}` : null;
95
+ const stripped = stripSubstitutions(cmd);
96
+ // taskkill //PID n / /PID a,b,c / /PIDLIST …
97
+ for (const m of stripped.matchAll(/\/{1,2}pid(?:list)?\s+([\d,\s]+)/gi)) {
98
+ for (const tok of m[1].split(/[\s,]+/)) {
99
+ const pid = Number.parseInt(tok, 10);
100
+ if (Number.isFinite(pid) && pid > 0) {
101
+ const h = hit(pid, 'taskkill /PID');
102
+ if (h)
103
+ return h;
104
+ }
105
+ }
106
+ }
107
+ // PowerShell Stop-Process -Id n (alias `kill -Id n`).
108
+ for (const m of stripped.matchAll(/\b(?:stop-process|kill)\b[^|;&]*?-(?:id|pid)\s+(\d+)/gi)) {
109
+ const h = hit(Number.parseInt(m[1], 10), 'Stop-Process -Id');
110
+ if (h)
111
+ return h;
112
+ }
113
+ // POSIX kill: bare decimal tokens in every kill argument list; signal flags
114
+ // like -9 are not `^\d+$` so they are skipped.
115
+ for (const m of stripped.matchAll(/\bkill\b([^|;&]*)/gi)) {
116
+ for (const tok of m[1].split(/\s+/)) {
117
+ if (!/^\d+$/.test(tok))
118
+ continue;
119
+ const h = hit(Number.parseInt(tok, 10), 'kill');
120
+ if (h)
121
+ return h;
122
+ }
123
+ }
124
+ return null;
125
+ }
126
+ function blockedVerdict(reason, match) {
127
+ return { blocked: true, reason, match, message: SELF_KILL_DENIAL_MESSAGE };
128
+ }
129
+ /**
130
+ * Inspect one command string (shell string, or program+argv joined) against
131
+ * the agent host process tree. Pure: no I/O, never throws.
132
+ */
133
+ export function inspectCommand(command, ctx) {
134
+ if (typeof command !== 'string' || command.length === 0)
135
+ return { blocked: false };
136
+ const imageMatch = findImageKill(command);
137
+ if (imageMatch)
138
+ return blockedVerdict('node-image', imageMatch);
139
+ const pipelineMatch = findPsPipelineKill(command);
140
+ if (pipelineMatch)
141
+ return blockedVerdict('ps-pipeline', pipelineMatch);
142
+ const pidMatch = findProtectedPidKill(command, ctx);
143
+ if (pidMatch)
144
+ return blockedVerdict('protected-pid', pidMatch);
145
+ return { blocked: false };
146
+ }
147
+ //# sourceMappingURL=selfKillGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfKillGuard.js","sourceRoot":"","sources":["../../../src/cli/safety/selfKillGuard.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ import { writeCompletionProofDetailed } from '../kraken/completionProof.js';
58
58
  import { setActiveProofPersistenceSurface } from '../kraken/completionProofPersist.js';
59
59
  import { checkStrictPolicyLoad } from '../headless/policyGate.js';
60
60
  import { activePolicyLoadMode, setActivePolicyLoadSurface } from '../safety/policyLoadMode.js';
61
+ import { sweepOrphanSpineLocks } from './spineLockSweep.js';
61
62
  /**
62
63
  * Real per-workspace services: one LspManager anchored to the workspace,
63
64
  * the strict policy-load snapshot (cached per root by the kernel), and the
@@ -350,6 +351,16 @@ export async function runHarnessServer() {
350
351
  // Same host registration runHeadless performs before any registry exists.
351
352
  setActivePolicyLoadSurface('headless');
352
353
  setActiveProofPersistenceSurface('headless');
354
+ // Boot sweep: a crashed host leaves writer.lock orphans behind; delete the
355
+ // provably-orphaned ones (dead pid / heartbeat-stale / >10 min stale) so
356
+ // the next resume acquires cleanly instead of silently degrading.
357
+ // Best-effort — a sweep failure NEVER blocks the sidecar boot.
358
+ try {
359
+ await sweepOrphanSpineLocks();
360
+ }
361
+ catch {
362
+ /* boot must not depend on the sweep */
363
+ }
353
364
  // runOneTurn checks this to keep its paws off stdin (transport-owned).
354
365
  process.env.ZELARI_SERVE_HARNESS = '1';
355
366
  const started = startHarnessServer();
@@ -1 +1 @@
1
- {"version":3,"file":"harnessServer.js","sourceRoot":"","sources":["../../../src/cli/serve/harnessServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAwB,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAoB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AA6B/F;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,aAAqB;IAC9D,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,2EAA2E;IAC3E,MAAM,WAAW,GAAG;QAClB,aAAa;QACb,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;QACpB,IAAI;QACJ,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC;IACF,OAAO;QACL,UAAU,EAAE,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;QAClD,WAAW;QACX,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,4BAA4B,CAChC,OAAO,CAAC,OAAwE,EAChF;gBACE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;aACjE,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA8B,EAC9B,aAAqB;IAErB,MAAM,SAAS,GAAG,KAAiC,CAAC;IACpD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,sEAAsE;IACtE,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/E,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAyC,CAAC;IACtF,OAAO;QACL,GAAI,KAA8E;QAClF,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI;QACJ,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,aAAa;QAClB,UAAU,EAAE,SAAS,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;KAChE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAuC;IAEvC,MAAM,SAAS,GAAY,QAAQ,EAAE,UAAU,CAAC;IAChD,OAAO,SAAS,YAAY,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,aAAa,GAAyE,IAAI,CAAC;IAC/F,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC1B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,uBAAuB,CAAC,EAAqB,CAAC,CAAC;gBAC3E,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBAC7E,MAAM,MAAM,GAAG,mBAAmB,CAAC;oBACjC,UAAU,EAAE,QAAiD;oBAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK;iBACN,CAAC,CAAC;gBACH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC;YACL,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvB,aAAa,GAAG,IAAI,CAAC,CAAC,2CAA2C;YACnE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAoD,EACpD,SAAS,EACT,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,sBAAsB,CAC7B,EAA0B,EAC1B,YAAqB;IAErB,OAAO;QACL,EAAE;QACF,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,EAAE;KAC1F,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAqC,EAAE;IAIxE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;QAClC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,0BAA0B;KACvF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAQ,EAAE;QACnC,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,QAA0B,EAAQ,EAAE;QACnD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAoB,EAA6B,EAAE;QACzE,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;QACtG,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAC9G,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YACnH,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC1I,CAAC;gBACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC;gBACrD,4DAA4D;gBAC5D,0DAA0D;gBAC1D,oEAAoE;gBACpE,uDAAuD;gBACvD,2DAA2D;gBAC3D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBACzD,IAAI,CAAC;wBACH,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC1C,CAAC;4BAAS,CAAC;wBACT,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAClD,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC1I,CAAC;gBACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YACtE,CAAC;YACD,sEAAsE;YACtE,gEAAgE;YAChE,KAAK,eAAe,CAAC;YACrB,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,gBAAgB,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,sBAAsB,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBACjE,CAAC,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC,QAAQ,UAAU,EAAE,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,iEAAiE;gBACjE,mEAAmE;gBACnE,+CAA+C;gBAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxE,OAAO;wBACL,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI;wBAClB,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kDAAkD,EAAE;qBAC5F,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,gEAAgE;oBAChE,iEAAiE;oBACjE,kEAAkE;oBAClE,OAAO;wBACL,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI;wBAClB,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE;qBACjF,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,4DAA4D;oBAC5D,kEAAkE;oBAClE,qCAAqC;oBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChC,IAAI,SAAS,EAAE,CAAC;wBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC5E,CAAC;oBACD,OAAO;wBACL,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI;wBAClB,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE;qBAC9D,CAAC;gBACJ,CAAC;gBACD,6DAA6D;gBAC7D,iEAAiE;gBACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAc,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3F,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChE,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI;oBAClB,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE;iBACzE,CAAC;YACJ,CAAC;YACD;gBACE,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI;oBAClB,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,uBAAuB,GAAG,CAAC,MAAM,GAAG,EAAE;iBACjF,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,wEAAwE;IACxE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAC3C,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO;QAC3B,IAAI,GAAoB,CAAC;QACzB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;YAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC;gBACN,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAC5F;aACF,CAAC,CAAC;YACH,OAAO,CAAC,+BAA+B;QACzC,CAAC;QACD,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CACrB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC/B,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,CAAC;YACN,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAA2B;YAC9C,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D;SACF,CAAC,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,KAAK;YACH,mEAAmE;YACnE,iDAAiD;YACjD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,0EAA0E;IAC1E,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACvC,gCAAgC,CAAC,UAAU,CAAC,CAAC;IAC7C,uEAAuE;IACvE,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"harnessServer.js","sourceRoot":"","sources":["../../../src/cli/serve/harnessServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * spineLockSweep — boot-time janitor for orphaned session-spine writer locks.
3
+ *
4
+ * A crashed/killed host leaves `<sessionsDir>/<sessionId>/writer.lock` behind;
5
+ * the next resume then hits SessionLogLockedError and silently degrades. At
6
+ * sidecar boot every lock is evaluated with the SAME takeover policy the
7
+ * writer itself uses (`evaluateLockTakeover` from @zelari/core/session):
8
+ * dead pid, heartbeat-stale ts or the legacy >10 min staleness ⇒ the lock is
9
+ * DELETED so the next resume acquires cleanly. A lock whose owner is alive
10
+ * and heartbeating is kept untouched.
11
+ *
12
+ * Best-effort by contract: the sweep never throws — the sidecar boot must
13
+ * never fail because of it. Visibility is one console.error per swept lock
14
+ * (an NDJSON note channel is not yet constructed at runHarnessServer boot —
15
+ * the transport `write` lives inside startHarnessServer).
16
+ */
17
+ import { promises as fs } from 'node:fs';
18
+ import path from 'node:path';
19
+ import { defaultLockLivenessProbe, evaluateLockTakeover, resolveHeartbeatStaleMs, resolveSessionsDir, } from '@zelari/core/session';
20
+ /**
21
+ * Evaluate every `<sessionsDir>/<sessionId>/writer.lock` and remove the
22
+ * provably-orphaned ones. Never throws; a missing sessions dir is a no-op.
23
+ */
24
+ export async function sweepOrphanSpineLocks(sessionsDir, options = {}) {
25
+ const dir = sessionsDir ?? resolveSessionsDir();
26
+ const onSwept = options.onSwept ??
27
+ ((sessionId, reason) => {
28
+ console.error(`[zelari] spine-lock sweep: removed orphan writer.lock for session ${sessionId} (${reason})`);
29
+ });
30
+ const now = options.now ?? Date.now;
31
+ const probe = options.probe ?? defaultLockLivenessProbe;
32
+ const result = { swept: 0, kept: 0, errors: 0 };
33
+ let entries;
34
+ try {
35
+ entries = await fs.readdir(dir);
36
+ }
37
+ catch {
38
+ return result; // no sessions dir yet — nothing to sweep
39
+ }
40
+ for (const sessionId of entries) {
41
+ const lockPath = path.join(dir, sessionId, 'writer.lock');
42
+ try {
43
+ const raw = await fs.readFile(lockPath, 'utf-8');
44
+ let lockInfo = {};
45
+ try {
46
+ lockInfo = JSON.parse(raw);
47
+ }
48
+ catch {
49
+ // Corrupt lock: no pid/ts for the liveness policy — leave it to the
50
+ // writer's legacy staleness rule rather than deleting blindly.
51
+ result.kept += 1;
52
+ continue;
53
+ }
54
+ const verdict = evaluateLockTakeover(lockInfo, {
55
+ now: now(),
56
+ probe,
57
+ heartbeatStaleMs: options.heartbeatStaleMs ?? resolveHeartbeatStaleMs(),
58
+ });
59
+ if (!verdict.takeover) {
60
+ result.kept += 1;
61
+ continue;
62
+ }
63
+ await fs.rm(lockPath, { force: true });
64
+ result.swept += 1;
65
+ onSwept(sessionId, verdict.reason);
66
+ }
67
+ catch (err) {
68
+ const code = err.code;
69
+ if (code === 'ENOENT' || code === 'ENOTDIR')
70
+ continue; // no lock / plain file entry
71
+ result.errors += 1;
72
+ }
73
+ }
74
+ return result;
75
+ }
76
+ //# sourceMappingURL=spineLockSweep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spineLockSweep.js","sourceRoot":"","sources":["../../../src/cli/serve/spineLockSweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAoB9B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAoB,EACpB,UAAiC,EAAE;IAEnC,MAAM,GAAG,GAAG,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChD,MAAM,OAAO,GACX,OAAO,CAAC,OAAO;QACf,CAAC,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE;YACrC,OAAO,CAAC,KAAK,CACX,qEAAqE,SAAS,KAAK,MAAM,GAAG,CAC7F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,wBAAwB,CAAC;IACxD,MAAM,MAAM,GAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtE,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,yCAAyC;IAC1D,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,QAAQ,GAAa,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;gBACpE,+DAA+D;gBAC/D,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE;gBAC7C,GAAG,EAAE,GAAG,EAAE;gBACV,KAAK;gBACL,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,uBAAuB,EAAE;aACxE,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS,CAAC,6BAA6B;YACpF,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -213,6 +213,14 @@ export class SessionSpineMirror {
213
213
  catch (err) {
214
214
  if (err instanceof SessionLogLockedError) {
215
215
  mirror.status = 'locked';
216
+ // Same visibility as the degraded branch: a locked resume IS a
217
+ // degraded resume. Same warnOnce helper + same stderr channel — the
218
+ // spine writer is null here, so no spine `note` event can land
219
+ // (sessionSpine owns no NDJSON emitter; the boot sweep in
220
+ // harnessServer.ts reclaims the provably-dead-owner locks, so a
221
+ // `locked` status here means a live-looking lock). Name the failure
222
+ // mode precisely so hosts/Desktop can surface it verbatim.
223
+ mirror.warnOnce(err, `session lock held by another (possibly dead) owner: ${err.message} — the turn resumed WITHOUT derived spine context`, 'locked');
216
224
  }
217
225
  else {
218
226
  mirror.status = 'degraded';
@@ -563,13 +571,13 @@ export class SessionSpineMirror {
563
571
  appendEvent(input) {
564
572
  return this.append(input);
565
573
  }
566
- warnOnce(err) {
574
+ warnOnce(err, message, label = 'degraded') {
567
575
  if (this.warned || this.options.quiet)
568
576
  return;
569
577
  this.warned = true;
570
- const msg = err instanceof Error ? err.message : String(err);
578
+ const msg = message ?? (err instanceof Error ? err.message : String(err));
571
579
  try {
572
- process.stderr.write(`[zelari] session spine degraded for ${this.sessionId.slice(0, 8)}…: ${msg} (transcript continues on the 1.x log)\n`);
580
+ process.stderr.write(`[zelari] session spine ${label} for ${this.sessionId.slice(0, 8)}…: ${msg} (transcript continues on the 1.x log)\n`);
573
581
  }
574
582
  catch {
575
583
  /* stderr gone — nothing more to do */
@@ -1 +1 @@
1
- {"version":3,"file":"sessionSpine.js","sourceRoot":"","sources":["../../src/cli/sessionSpine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionSpine.js","sourceRoot":"","sources":["../../src/cli/sessionSpine.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ import { describeResourceClaim, matchResourceClaimLayered, resourceClaimsFor, re
61
61
  // v2.17 (t28): OS jail (Pilastro A) — the ONLY spawn choke-point for exec/bash.
62
62
  import { buildJailSpec, jailAdvisoryNotice, jailAvailability, jailDenyReason, networkSpecFromClaimHosts, spawnJailed, } from './safety/osJail.js';
63
63
  import { withResultCache } from './toolResultCache.js';
64
+ import { inspectCommand } from './safety/selfKillGuard.js';
64
65
  import { typedErr } from '@zelari/core/harness/tools/toolTypes';
65
66
  import { cliToolToEnhanced, registerCustomTool } from '@zelari/core/skills';
66
67
  /**
@@ -1112,6 +1113,26 @@ function wrapWithShellSafety(original, audit, sessionId, root, jail) {
1112
1113
  }
1113
1114
  throw err;
1114
1115
  }
1116
+ // Anti-self-kill (P0): refuse commands that would terminate the agent
1117
+ // host itself (node image kills / own process tree). Same audited
1118
+ // typed-error discipline as the blocklist — BEFORE any spawn.
1119
+ const selfKill = inspectCommand(cmd, { selfPid: process.pid, parentPid: process.ppid });
1120
+ if (selfKill.blocked && selfKill.message) {
1121
+ await audit.append({
1122
+ ts: new Date().toISOString(),
1123
+ sessionId,
1124
+ tool: original.name,
1125
+ args: redactForAudit(args),
1126
+ ok: false,
1127
+ resultSummary: selfKill.match ?? 'self_kill',
1128
+ durationMs: 0,
1129
+ error: 'self_kill_blocked',
1130
+ });
1131
+ return {
1132
+ ok: false,
1133
+ error: `[self-kill] ${selfKill.message}`,
1134
+ };
1135
+ }
1115
1136
  }
1116
1137
  // v2.17 (t27): jail the bash cwd to the workspace root BEFORE the
1117
1138
  // builtin spawns — the same discipline wrapWithSandbox applies to