@memnexus-ai/mx-agent-cli 0.1.157 → 0.1.159

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.
@@ -4,10 +4,11 @@
4
4
  */
5
5
  import { chmodSync, existsSync, mkdirSync, readdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'fs';
6
6
  import { basename, join } from 'path';
7
- import { execSync, spawnSync } from 'child_process';
7
+ import { execSync, spawn, spawnSync } from 'child_process';
8
8
  import { homedir } from 'os';
9
9
  import chalk from 'chalk';
10
10
  import { BOOTSTRAP_SETTINGS_JSON } from './templates.js';
11
+ import { removeLock, updateChildPid } from './leader-lock.js';
11
12
  // ── Logging helpers ───────────────────────────────────────────────────
12
13
  export function logSuccess(msg) {
13
14
  console.log(chalk.green(' ✓ ' + msg));
@@ -639,10 +640,29 @@ function resetTerminalAppearance() {
639
640
  }
640
641
  // ── Session launch ────────────────────────────────────────────────────
641
642
  /**
642
- * Exec into a Claude session in the worktree with the given initial prompt.
643
- * Uses spawnSync so Claude replaces the current process cleanly.
643
+ * Launch a Claude session in the worktree with the given initial prompt.
644
+ *
645
+ * Uses async `spawn` (not `spawnSync`) with inherited stdio so the child pid is
646
+ * available immediately — required by the leader-session lock (#3946), which
647
+ * records both the wrapper (this process) and child pids. Behavior is preserved
648
+ * vs. the previous spawnSync:
649
+ * - stdio: 'inherit' → child shares the terminal exactly as before.
650
+ * - The parent awaits child exit before returning.
651
+ * - Exit code is propagated (non-zero → process.exit(code)); a signal-kill is
652
+ * reported as 128+signum, mirroring shell convention.
653
+ * - SIGINT/SIGTERM at the terminal reach the child directly (shared process
654
+ * group). We install no-op parent handlers for the child's lifetime so the
655
+ * parent does not die first — matching spawnSync, where the parent is blocked
656
+ * in native code and cannot process signals until the child exits.
657
+ *
658
+ * Lock lifecycle: the lock is ALREADY claimed atomically by the caller (start.ts
659
+ * guardAndClaimLeaderLock, before the rebase). Here we only patch the real
660
+ * childPid into it after spawn and remove it on every exit path. Because
661
+ * `process.exit` skips `finally`, each exit branch calls `removeLock` explicitly;
662
+ * `finally` covers the normal return, and start.ts registers a `process.on('exit')`
663
+ * backstop for any path that bypasses all of these.
644
664
  */
645
- export function launchClaudeSession(opts) {
665
+ export async function launchClaudeSession(opts) {
646
666
  const { worktreePath, worktreeName, branch, slot, initialPrompt, teamName } = opts;
647
667
  const env = {
648
668
  ...process.env,
@@ -657,20 +677,64 @@ export function launchClaudeSession(opts) {
657
677
  console.log(chalk.dim(' Press Ctrl+C to exit'));
658
678
  console.log();
659
679
  setTerminalAppearance(teamName);
660
- const result = spawnSync('claude', ['--model', 'claude-opus-4-6[1m]', initialPrompt], {
661
- cwd: worktreePath,
662
- env,
663
- stdio: 'inherit',
664
- });
665
- resetTerminalAppearance();
666
- if (result.error) {
667
- console.error(chalk.red(`Failed to launch claude: ${result.error.message}`));
668
- process.exit(1);
680
+ // Keep the parent alive while the child owns the terminal: ignore SIGINT/SIGTERM
681
+ // in the parent so it doesn't exit before the child (which handles them). This
682
+ // reproduces spawnSync's behavior, where the parent cannot act on signals until
683
+ // the child returns.
684
+ const noop = () => { };
685
+ process.on('SIGINT', noop);
686
+ process.on('SIGTERM', noop);
687
+ try {
688
+ const child = spawn('claude', ['--model', 'claude-opus-4-6[1m]', initialPrompt], {
689
+ cwd: worktreePath,
690
+ env,
691
+ stdio: 'inherit',
692
+ });
693
+ // The child pid is available synchronously after spawn — patch it into the
694
+ // already-claimed lock now, so a dead-wrapper/live-child orphan is probeable.
695
+ if (typeof child.pid === 'number') {
696
+ try {
697
+ updateChildPid(worktreePath, child.pid);
698
+ }
699
+ catch {
700
+ // Non-fatal — the wrapper pid alone still gates duplicate starts.
701
+ }
702
+ }
703
+ const { code, signal, error } = await new Promise((resolve) => {
704
+ child.once('error', (err) => resolve({ code: null, signal: null, error: err }));
705
+ child.once('exit', (exitCode, exitSignal) => resolve({ code: exitCode, signal: exitSignal }));
706
+ });
707
+ resetTerminalAppearance();
708
+ if (error) {
709
+ console.error(chalk.red(`Failed to launch claude: ${error.message}`));
710
+ removeLock(worktreePath); // process.exit skips finally — clean up explicitly.
711
+ process.exit(1);
712
+ }
713
+ // Propagate exit status. Signal-kills map to 128+signum (shell convention);
714
+ // a clean exit propagates its code (0 → return normally).
715
+ if (signal) {
716
+ const signum = SIGNAL_NUMBERS[signal] ?? 0;
717
+ removeLock(worktreePath); // process.exit skips finally — clean up explicitly.
718
+ process.exit(signum ? 128 + signum : 1);
719
+ }
720
+ const exitCode = code ?? 0;
721
+ if (exitCode !== 0) {
722
+ removeLock(worktreePath); // process.exit skips finally — clean up explicitly.
723
+ process.exit(exitCode);
724
+ }
669
725
  }
670
- // Propagate exit code
671
- const code = result.status ?? 0;
672
- if (code !== 0) {
673
- process.exit(code);
726
+ finally {
727
+ process.removeListener('SIGINT', noop);
728
+ process.removeListener('SIGTERM', noop);
729
+ removeLock(worktreePath);
674
730
  }
675
731
  }
732
+ /** Signal name → number, for mapping a signal-kill to a 128+signum exit code. */
733
+ const SIGNAL_NUMBERS = {
734
+ SIGINT: 2,
735
+ SIGQUIT: 3,
736
+ SIGKILL: 9,
737
+ SIGTERM: 15,
738
+ SIGHUP: 1,
739
+ };
676
740
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/lib/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * leader-lock.ts — leader-session start-time mutual exclusion (Platform v2.30, #3946).
3
+ *
4
+ * ── SCOPE STATEMENT (explicit) ────────────────────────────────────────────
5
+ * This module implements leader-session START-TIME mutual exclusion ONLY: it
6
+ * refuses to launch a second `mx-agent start` leader in a worktree that already
7
+ * has a live leader. It is a file-based advisory lock in the worktree root.
8
+ *
9
+ * It does NOT address the concurrent named-memory WRITE-RACE class — that is a
10
+ * separate, already-shipped fix (#3697 / #3713, compare-and-set on named-memory
11
+ * writes). Do not conflate the two: this lock guards process launch, CAS guards
12
+ * memory content. Sub-agent teammates are spawned via the Task tool INSIDE a
13
+ * leader session, never via `mx-agent start`, so they never touch this lock
14
+ * (asserted in leader-lock.test.ts).
15
+ *
16
+ * ── Liveness discriminator ─────────────────────────────────────────────────
17
+ * A recorded PID is a live match for THIS worktree iff `/proc/<pid>` exists AND
18
+ * either `/proc/<pid>/cwd` resolves to this worktree's realpath (worktree-unique)
19
+ * OR `/proc/<pid>/environ` contains `CLAUDE_WORKTREE_PATH=<this worktree>`. We do
20
+ * NOT use cmdline (identical across teams) or tty (headless sessions have none).
21
+ *
22
+ * ── Fail-open contract ─────────────────────────────────────────────────────
23
+ * Any ambiguity (no /proc, permission errors, malformed lock) resolves to
24
+ * FAIL OPEN with a loud warning — never brick a legitimate start.
25
+ */
26
+ export declare const LOCK_FILENAME = ".mx-leader.lock";
27
+ /**
28
+ * On-disk lock record. `childPid` is null between lock creation and the moment
29
+ * the claude child is spawned (spawn exposes the pid immediately; see
30
+ * launchClaudeSession).
31
+ */
32
+ export interface LeaderLock {
33
+ team: string;
34
+ worktreePath: string;
35
+ wrapperPid: number;
36
+ childPid: number | null;
37
+ startedAt: string;
38
+ version: string;
39
+ }
40
+ export declare function lockPath(worktreePath: string): string;
41
+ /**
42
+ * Result of reading a lock file. `present` distinguishes "no lock" (proceed
43
+ * silently) from "malformed lock" (fail open with a warning).
44
+ */
45
+ export interface LockReadResult {
46
+ present: boolean;
47
+ lock: LeaderLock | null;
48
+ parseError?: string;
49
+ }
50
+ /** Hard cap on lock file size. A well-formed lock is a few hundred bytes; a
51
+ * multi-megabyte file is either corruption or a crafted resource-exhaustion
52
+ * attempt. Oversize → treated as malformed (fail open), never read into memory. */
53
+ export declare const MAX_LOCK_BYTES: number;
54
+ export declare function readLock(worktreePath: string): LockReadResult;
55
+ /** Force-write (overwrite) the lock. Used to patch childPid into a lock we
56
+ * already own, and as the final fail-open path. For the mutual-exclusion
57
+ * decision use {@link claimLock}, not this. */
58
+ export declare function writeLock(worktreePath: string, lock: LeaderLock): void;
59
+ export type ClaimResult = {
60
+ ok: true;
61
+ } | {
62
+ ok: false;
63
+ reason: 'exists';
64
+ } | {
65
+ ok: false;
66
+ reason: 'error';
67
+ error: string;
68
+ };
69
+ /**
70
+ * Atomically claim the lock via an exclusive create (`O_CREAT | O_EXCL`, i.e.
71
+ * `writeFileSync(..., { flag: 'wx' })`). This single filesystem operation IS the
72
+ * mutual-exclusion decision: if two `mx-agent start` invocations race, exactly
73
+ * one exclusive-create succeeds and the other gets EEXIST. No check-then-write
74
+ * TOCTOU window (that was the pre-fix bug: liveness check and lock write were
75
+ * separated by the whole fetch/rebase sequence, so both racers passed).
76
+ *
77
+ * NOTE: scope is single-host. `O_EXCL` on a POSIX filesystem is atomic locally;
78
+ * it is NOT guaranteed atomic over some network filesystems (older NFS). Agents
79
+ * run one host per worktree, so this holds. The named-memory write-race across
80
+ * hosts is a separate, shipped concern (#3697/#3713 CAS).
81
+ */
82
+ export declare function claimLock(worktreePath: string, lock: LeaderLock): ClaimResult;
83
+ /** Read-modify-write to record the child PID once the child has spawned. */
84
+ export declare function updateChildPid(worktreePath: string, childPid: number): void;
85
+ export declare function removeLock(worktreePath: string): void;
86
+ /** Per-PID probe verdict. `dead` covers both "no process" and "alive but a
87
+ * different worktree" (a mismatch is not a live match for us). */
88
+ export type PidState = 'live' | 'dead' | 'indeterminate';
89
+ export interface PidProbe {
90
+ pid: number;
91
+ state: PidState;
92
+ matchedBy?: 'cwd' | 'environ';
93
+ cwd?: string;
94
+ reason?: string;
95
+ }
96
+ /**
97
+ * Probe a single PID against a worktree. See module header for the discriminator.
98
+ *
99
+ * Errors are classified: a missing `/proc/<pid>` (or ENOENT mid-read) means the
100
+ * process is gone → `dead`. A permission error (EACCES/EPERM) reading cwd/environ
101
+ * means we cannot verify → `indeterminate` (fail open). A live process whose
102
+ * cwd/environ point elsewhere → `dead` (not our leader).
103
+ */
104
+ export declare function probePid(pid: number, worktreeReal: string): PidProbe;
105
+ export type LivenessState = 'live' | 'stale' | 'indeterminate';
106
+ export interface LivenessResult {
107
+ state: LivenessState;
108
+ probes: PidProbe[];
109
+ livePids: number[];
110
+ /** Age of the lock file in seconds (mtime → now), or null if unavailable. */
111
+ lockAgeSeconds: number | null;
112
+ }
113
+ /**
114
+ * Heartbeat freshness window. The child refreshes the lock mtime on every Bash
115
+ * PostToolUse (see deploy-verification-reminder.sh). A lock touched within this
116
+ * window is evidence a child was recently alive; we use it only to STRENGTHEN
117
+ * the stale-lock warning, never to force a refusal (clock skew / idle sessions
118
+ * must not brick a start). Primary detection is always the both-PID probe.
119
+ */
120
+ export declare const HEARTBEAT_FRESH_SECONDS = 300;
121
+ /**
122
+ * Evaluate a lock's liveness by probing BOTH recorded PIDs (wrapper + child).
123
+ *
124
+ * - Any PID a live match for this worktree → `live` (refuse).
125
+ * - No live match, but at least one indeterminate probe → `indeterminate` (fail open).
126
+ * - All PIDs dead/mismatched → `stale` (replace).
127
+ */
128
+ export declare function checkLiveness(lock: LeaderLock, worktreePath: string): LivenessResult;
129
+ /**
130
+ * Sanitize a lock-derived string before printing it to a terminal.
131
+ *
132
+ * The lock file is attacker-influenceable (any process that can write the
133
+ * worktree can craft it). Its string fields (team, worktreePath, startedAt,
134
+ * version, and probe cwd) are echoed into the refusal/unlock evidence, which
135
+ * prints to a TTY. Without sanitization a crafted `team` could embed OSC/CSI
136
+ * escape sequences (erase-line, cursor moves, tab-title rewrite) — the reviewer
137
+ * demonstrated this. Strip C0 (0x00–0x1F) and DEL+C1 (0x7F–0x9F) control chars
138
+ * and cap the printed length.
139
+ */
140
+ export declare const MAX_EVIDENCE_FIELD_CHARS = 256;
141
+ export declare function sanitizeField(value: string, maxLen?: number): string;
142
+ /** Human-readable evidence block shared by the refusal message and `mx-agent unlock`. */
143
+ export declare function formatLockEvidence(lock: LeaderLock, result?: LivenessResult): string;
144
+ //# sourceMappingURL=leader-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leader-lock.d.ts","sourceRoot":"","sources":["../../src/lib/leader-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;mFAEmF;AACnF,eAAO,MAAM,cAAc,QAAY,CAAC;AAExC,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAkC7D;AAMD;;+CAE+C;AAC/C,wBAAgB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAEtE;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,GAC/B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAS7E;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3E;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED;kEACkE;AAClE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,CA0DpE;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,CAsBpF;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiC,GAAG,MAAM,CAM9F;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAuBpF"}