@sentropic/h2a-runtime 0.90.1 → 0.90.3

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.
@@ -16,6 +16,27 @@ export type ProcEntry = {
16
16
  readonly pid: number;
17
17
  readonly ppid: number;
18
18
  readonly cpuMs: number;
19
+ /** /proc stat field 22: ticks since boot, preserved as a string. */
20
+ readonly startTime: string;
21
+ };
22
+ export type WorkerAttribution = {
23
+ readonly pid: number;
24
+ readonly startTime: string;
25
+ readonly bootId: string;
26
+ };
27
+ export type ProcIdentity = {
28
+ readonly pid: number;
29
+ readonly startTime: string;
30
+ };
31
+ /** One fleet-wide /proc view, suitable for pure lease projections. */
32
+ export type ProcView = {
33
+ readonly currentBootId: string;
34
+ readonly processes: ReadonlyMap<number, {
35
+ readonly startTime: string;
36
+ }> | ReadonlyArray<ProcIdentity>;
37
+ /** The parsed snapshot is retained so a pane worker can be resolved without
38
+ * another /proc walk during a supervising pass. */
39
+ readonly entries?: ReadonlyArray<ProcEntry>;
19
40
  };
20
41
  /**
21
42
  * Parse one /proc/<pid>/stat line. `comm` may contain spaces and parentheses,
@@ -25,6 +46,7 @@ export type ProcEntry = {
25
46
  export declare function parseProcStat(content: string, clockTicksPerSecond?: number): {
26
47
  readonly ppid: number;
27
48
  readonly cpuMs: number;
49
+ readonly startTime: string;
28
50
  } | undefined;
29
51
  /**
30
52
  * Total CPU of `rootPid` plus every live descendant. Returns undefined when the
@@ -44,10 +66,32 @@ export declare function busiestDescendant(rootPid: number, entries: Iterable<Pro
44
66
  export type ProcReaderDeps = {
45
67
  readonly listPids: () => ReadonlyArray<number>;
46
68
  readonly readStat: (pid: number) => string | undefined;
69
+ /** Optional injection point for tests; the default reads kernel boot_id. */
70
+ readonly readBootId?: () => string | undefined;
47
71
  readonly clockTicksPerSecond?: number;
48
72
  };
49
73
  /** Snapshot /proc once, parsed into entries. */
50
74
  export declare function snapshotProc(deps: ProcReaderDeps): ProcEntry[];
75
+ /** Snapshot /proc once and retain both CPU/process-tree and identity facts. */
76
+ export declare function snapshotProcView(deps: ProcReaderDeps): {
77
+ readonly entries: ProcEntry[];
78
+ readonly view: ProcView;
79
+ };
80
+ /** Snapshot /proc once for the liveness predicate. */
81
+ export declare function readProcView(deps: ProcReaderDeps): ProcView;
82
+ /** Resolve a worker from an already captured snapshot; performs no syscalls. */
83
+ export declare function resolveWorkerAttributionFromView(rootPid: number, view: ProcView): WorkerAttribution | undefined;
84
+ /** Resolve the worker once from a pane pid, including its composite identity. */
85
+ export declare function readWorkerAttribution(rootPid: number, deps: ProcReaderDeps): WorkerAttribution | undefined;
86
+ /** Descriptive alias for callers that prefer resolver terminology. */
87
+ export declare const resolveWorkerAttribution: typeof readWorkerAttribution;
88
+ export type ProcessObservation = {
89
+ readonly cpuMs: number | undefined;
90
+ readonly worker: WorkerAttribution | undefined;
91
+ readonly procView: ProcView;
92
+ };
93
+ /** CPU + worker observation sharing exactly one /proc snapshot. */
94
+ export declare function readProcessObservation(rootPid: number, deps: ProcReaderDeps): ProcessObservation;
51
95
  /** Snapshot /proc and total the tree rooted at `rootPid`. */
52
96
  export declare function readProcessTreeCpuMs(rootPid: number, deps: ProcReaderDeps): number | undefined;
53
97
  /** Snapshot /proc and name the process actually doing the work. */
@@ -1 +1 @@
1
- {"version":3,"file":"proc-cpu.d.ts","sourceRoot":"","sources":["../src/proc-cpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,mBAAmB,SAAiC,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAe/D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC3B,MAAM,GAAG,SAAS,CAsBpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC3B,MAAM,GAAG,SAAS,CA4BpB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,CAU9D;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,cAAc,GACnB,MAAM,GAAG,SAAS,CAEpB;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,cAAc,GACnB,MAAM,GAAG,SAAS,CAEpB"}
1
+ {"version":3,"file":"proc-cpu.d.ts","sourceRoot":"","sources":["../src/proc-cpu.ts"],"names":[],"mappings":"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"}
package/dist/proc-cpu.js CHANGED
@@ -11,6 +11,7 @@
11
11
  * finished child's time is not reclaimed here). Callers compare deltas well
12
12
  * above that noise, so the approximation never decides anything on its own.
13
13
  */
14
+ import { readFileSync } from "node:fs";
14
15
  export const DEFAULT_CLOCK_TICKS_PER_SECOND = 100;
15
16
  /**
16
17
  * Parse one /proc/<pid>/stat line. `comm` may contain spaces and parentheses,
@@ -26,12 +27,18 @@ export function parseProcStat(content, clockTicksPerSecond = DEFAULT_CLOCK_TICKS
26
27
  const ppid = Number.parseInt(fields[1] ?? "", 10);
27
28
  const utime = Number.parseInt(fields[11] ?? "", 10);
28
29
  const stime = Number.parseInt(fields[12] ?? "", 10);
29
- if (!Number.isInteger(ppid) || !Number.isInteger(utime) || !Number.isInteger(stime)) {
30
+ const startTime = fields[19];
31
+ if (!Number.isInteger(ppid) ||
32
+ !Number.isInteger(utime) ||
33
+ !Number.isInteger(stime) ||
34
+ startTime === undefined ||
35
+ !/^\d+$/.test(startTime)) {
30
36
  return undefined;
31
37
  }
32
38
  return {
33
39
  ppid,
34
40
  cpuMs: ((utime + stime) / clockTicksPerSecond) * 1000,
41
+ startTime,
35
42
  };
36
43
  }
37
44
  /**
@@ -118,10 +125,85 @@ export function snapshotProc(deps) {
118
125
  const parsed = parseProcStat(raw, deps.clockTicksPerSecond);
119
126
  if (!parsed)
120
127
  continue;
121
- entries.push({ pid, ppid: parsed.ppid, cpuMs: parsed.cpuMs });
128
+ entries.push({
129
+ pid,
130
+ ppid: parsed.ppid,
131
+ cpuMs: parsed.cpuMs,
132
+ startTime: parsed.startTime,
133
+ });
122
134
  }
123
135
  return entries;
124
136
  }
137
+ const DEFAULT_BOOT_ID_READER = () => {
138
+ try {
139
+ return readFileSync("/proc/sys/kernel/random/boot_id", "utf8").trim() || undefined;
140
+ }
141
+ catch {
142
+ return undefined;
143
+ }
144
+ };
145
+ // A reader function is stable for the lifetime of a process. WeakMap keeps
146
+ // injected readers isolated in tests while preserving the production contract:
147
+ // boot_id is read once per process, regardless of how many lease passes run.
148
+ const bootIdCache = new WeakMap();
149
+ function cachedBootId(reader) {
150
+ if (bootIdCache.has(reader))
151
+ return bootIdCache.get(reader);
152
+ const value = reader();
153
+ bootIdCache.set(reader, value);
154
+ return value;
155
+ }
156
+ function bootIdReader(deps) {
157
+ return deps.readBootId ?? DEFAULT_BOOT_ID_READER;
158
+ }
159
+ /** Snapshot /proc once and retain both CPU/process-tree and identity facts. */
160
+ export function snapshotProcView(deps) {
161
+ const entries = snapshotProc(deps);
162
+ const processes = new Map();
163
+ for (const entry of entries)
164
+ processes.set(entry.pid, { startTime: entry.startTime });
165
+ const currentBootId = cachedBootId(bootIdReader(deps));
166
+ return {
167
+ entries,
168
+ view: {
169
+ currentBootId: currentBootId ?? "",
170
+ processes,
171
+ entries,
172
+ },
173
+ };
174
+ }
175
+ /** Snapshot /proc once for the liveness predicate. */
176
+ export function readProcView(deps) {
177
+ return snapshotProcView(deps).view;
178
+ }
179
+ /** Resolve a worker from an already captured snapshot; performs no syscalls. */
180
+ export function resolveWorkerAttributionFromView(rootPid, view) {
181
+ if (!view.entries)
182
+ return undefined;
183
+ const workerPid = busiestDescendant(rootPid, view.entries);
184
+ if (workerPid === undefined)
185
+ return undefined;
186
+ const worker = view.entries.find((entry) => entry.pid === workerPid);
187
+ if (!worker || !view.currentBootId)
188
+ return undefined;
189
+ return { pid: worker.pid, startTime: worker.startTime, bootId: view.currentBootId };
190
+ }
191
+ /** Resolve the worker once from a pane pid, including its composite identity. */
192
+ export function readWorkerAttribution(rootPid, deps) {
193
+ const { view } = snapshotProcView(deps);
194
+ return resolveWorkerAttributionFromView(rootPid, view);
195
+ }
196
+ /** Descriptive alias for callers that prefer resolver terminology. */
197
+ export const resolveWorkerAttribution = readWorkerAttribution;
198
+ /** CPU + worker observation sharing exactly one /proc snapshot. */
199
+ export function readProcessObservation(rootPid, deps) {
200
+ const { entries, view } = snapshotProcView(deps);
201
+ return {
202
+ cpuMs: sumTreeCpuMs(rootPid, entries),
203
+ worker: resolveWorkerAttributionFromView(rootPid, view),
204
+ procView: view,
205
+ };
206
+ }
125
207
  /** Snapshot /proc and total the tree rooted at `rootPid`. */
126
208
  export function readProcessTreeCpuMs(rootPid, deps) {
127
209
  return sumTreeCpuMs(rootPid, snapshotProc(deps));
@@ -1 +1 @@
1
- {"version":3,"file":"proc-cpu.js","sourceRoot":"","sources":["../src/proc-cpu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proc-cpu.js","sourceRoot":"","sources":["../src/proc-cpu.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export type HostModal = {
30
30
  readonly reason: string;
31
31
  readonly hint: string;
32
32
  };
33
+ export declare const CLAUDE_LONG_CONTEXT_CONFIRM_REASON = "Claude is waiting for the exact stale-session summary confirmation";
34
+ export declare function isClaudeLongContextConfirm(capture: string): boolean;
33
35
  /**
34
36
  * Is the pane sitting on a host modal that consumes the brief? Returns the
35
37
  * exact reason so the launch can FAIL LOUDLY instead of waiting forever.
@@ -81,6 +83,13 @@ export declare function countOccurrences(capture: string, probe: string): number
81
83
  * "the composer holds my brief" from "the terminal echoed my keystrokes".
82
84
  */
83
85
  export declare function paneHasDrawnUi(capture: string, minLines?: number): boolean;
86
+ /**
87
+ * A drawn composer is not necessarily ready: after stale-session confirmation
88
+ * Claude renders a composer while summary compaction is still running, and a
89
+ * submitted prompt is only queued. That work must never count as the resumed
90
+ * objective's activity proof.
91
+ */
92
+ export declare function paneHasBlockingActivity(capture: string): boolean;
84
93
  export type PromptDeliveryDeps = {
85
94
  /** Visible text of the pane, or undefined when tmux cannot be read. */
86
95
  readonly capturePane: (pane: string) => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-delivery.d.ts","sourceRoot":"","sources":["../src/prompt-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-delivery.d.ts","sourceRoot":"","sources":["../src/prompt-delivery.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,26 @@
31
31
  * wordings would only ever list the ones that already bit us. What they share is
32
32
  * the shape — `› 1.` choices plus an explicit "press enter to …".
33
33
  */
34
- const MODAL_CHOICE = /(^|\n)\s*[›>]?\s*1\.\s+\S/;
35
- const MODAL_CONFIRM = /press (?:enter|return) to (?:continue|confirm|select)/i;
34
+ const MODAL_CHOICE = /(^|\n)\s*[›>❯]?\s*1\.\s+\S/;
35
+ const MODAL_CONFIRM = /(?:press\s+)?(?:enter|return) to (?:continue|confirm|select)/i;
36
+ /**
37
+ * Claude Code's stale-session resume gate. This is deliberately narrower than
38
+ * the generic modal detector: relaunch may auto-confirm this one safe choice,
39
+ * but must leave every other host decision to a human.
40
+ */
41
+ const CLAUDE_LONG_CONTEXT_CONFIRM = /this session is\s+\d+(?:d|h)(?:\s+\d+(?:h|m))?\s+old and\s+\d+(?:\.\d+)?[kmg]?\s+tokens\.[\s\S]*?resuming the full session will consume a substantial portion of your usage limits\.\s+we recommend resuming from a summary\.[\s\S]*?❯\s*1\.\s*resume from summary\s*\(recommended\)[\s\S]*?2\.\s*resume full session as-is[\s\S]*?3\.\s*don't ask me again[\s\S]*?enter to confirm/i;
42
+ export const CLAUDE_LONG_CONTEXT_CONFIRM_REASON = "Claude is waiting for the exact stale-session summary confirmation";
43
+ export function isClaudeLongContextConfirm(capture) {
44
+ return CLAUDE_LONG_CONTEXT_CONFIRM.test(capture);
45
+ }
36
46
  const NAMED_MODALS = [
47
+ {
48
+ match: CLAUDE_LONG_CONTEXT_CONFIRM,
49
+ modal: {
50
+ reason: CLAUDE_LONG_CONTEXT_CONFIRM_REASON,
51
+ hint: "h2a relaunch may confirm this exact summary-resume choice once before re-injecting the continuation objective",
52
+ },
53
+ },
37
54
  {
38
55
  // Recorded per repository root, so a workspace outside an approved repo
39
56
  // blocks here — and nobody will ever answer it in a background lane.
@@ -164,6 +181,15 @@ export function paneHasDrawnUi(capture, minLines = 3) {
164
181
  return (capture.split("\n").filter((line) => line.trim().length > 0).length >=
165
182
  minLines);
166
183
  }
184
+ /**
185
+ * A drawn composer is not necessarily ready: after stale-session confirmation
186
+ * Claude renders a composer while summary compaction is still running, and a
187
+ * submitted prompt is only queued. That work must never count as the resumed
188
+ * objective's activity proof.
189
+ */
190
+ export function paneHasBlockingActivity(capture) {
191
+ return /compacting conversation|press up to edit queued messages/i.test(capture);
192
+ }
167
193
  const DEFAULTS = {
168
194
  timeoutMs: 90_000,
169
195
  pollMs: 750,
@@ -227,7 +253,8 @@ function waitUntilReady(pane, deps, options) {
227
253
  if (unreadable >= 3)
228
254
  return { ok: false, unreadable: true };
229
255
  }
230
- else if (paneHasDrawnUi(capture)) {
256
+ else if (paneHasDrawnUi(capture) &&
257
+ !paneHasBlockingActivity(capture)) {
231
258
  unreadable = 0;
232
259
  const before = deps.cpuMs(pane);
233
260
  const startedAt = deps.now();
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-delivery.js","sourceRoot":"","sources":["../src/prompt-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-delivery.js","sourceRoot":"","sources":["../src/prompt-delivery.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,92 @@
10
10
  * convId (from the registry), never "most recent", so the N sessions that share
11
11
  * a cwd never collide on one .jsonl.
12
12
  */
13
+ import { type PromptDeliveryResult } from "./prompt-delivery.js";
13
14
  export type ResumeLaunch = {
14
15
  command: string;
15
16
  args: string[];
16
17
  display: string;
17
18
  };
19
+ export type RelaunchSafety = {
20
+ /** True only when the shell has no live CLI worker descendant. */
21
+ dead: boolean;
22
+ /** A live worker is present, whether parked or actively working. Never kill it. */
23
+ activatable: boolean;
24
+ /** Missing or changing evidence is never permission to kill. */
25
+ indeterminate: boolean;
26
+ /** The hard floor: true while a live worker crosses the CPU threshold. */
27
+ activelyWorking: boolean;
28
+ reason: string;
29
+ rateMsPerSecond?: number;
30
+ /** Present only for a proven-dead pane that can be compare-and-swapped before kill. */
31
+ identity?: RelaunchKillIdentity;
32
+ };
33
+ /** The tmux pane generation observed while proving a session has no worker. */
34
+ export type RelaunchKillIdentity = {
35
+ pane: string;
36
+ panePid: number;
37
+ };
38
+ export type RelaunchSafetySample = {
39
+ pane?: string | undefined;
40
+ paneCommand?: string | undefined;
41
+ panePid?: number | undefined;
42
+ firstWorkerPid?: number | undefined;
43
+ secondWorkerPid?: number | undefined;
44
+ firstCpuMs?: number | undefined;
45
+ secondCpuMs?: number | undefined;
46
+ elapsedMs?: number | undefined;
47
+ };
48
+ /**
49
+ * Pure relaunch liveness projection.
50
+ *
51
+ * The relaunch path must never turn missing evidence into permission to kill.
52
+ * A complete pair of observations is required: the pane must be a wrapper
53
+ * shell, both observations must resolve the same worker/root, and CPU must
54
+ * produce a non-negative rate. Anything else is indeterminate and therefore
55
+ * receives the hard working floor.
56
+ */
57
+ export declare function decideRelaunchSafety(sample: RelaunchSafetySample): RelaunchSafety;
58
+ export declare const RELAUNCH_CONTINUATION_PROMPT = "Continue working autonomously on the standing objective in this resumed conversation. Re-read the latest user request, identify the next incomplete step, and act on it now. Do not stop at the input prompt or wait for another nudge.";
59
+ /**
60
+ * Prefer a durable delegated task when the registry has one; otherwise the
61
+ * resumed conversation remains the authority for its standing objective.
62
+ */
63
+ export declare function relaunchContinuationPrompt(task?: string): string;
64
+ export type RelaunchWakeDeps = {
65
+ /** The existing paste/submit/activity proof, bound to the relaunched pane. */
66
+ deliverContinuation: (prompt: string) => PromptDeliveryResult;
67
+ /** One Enter key event; called only after the exact Claude prompt was seen. */
68
+ submitConfirmation: () => boolean;
69
+ /** Full visible pane used to prove that the confirmation actually cleared. */
70
+ capturePane: () => string | undefined;
71
+ sleep: (ms: number) => void;
72
+ now: () => number;
73
+ };
74
+ export type RelaunchWakeResult = {
75
+ state: "working";
76
+ confirmation: "not-present" | "auto-passed";
77
+ delivery: Extract<PromptDeliveryResult, {
78
+ state: "working";
79
+ }>;
80
+ } | {
81
+ state: "failed";
82
+ confirmation: "not-present" | "auto-passed" | "send-failed";
83
+ reason: string;
84
+ capture: string;
85
+ delivery?: Exclude<PromptDeliveryResult, {
86
+ state: "working";
87
+ }>;
88
+ };
89
+ export type RelaunchWakeOptions = {
90
+ confirmationClearMs?: number;
91
+ pollMs?: number;
92
+ };
93
+ /**
94
+ * Turn a resumed TUI into proved work. The first delivery attempt doubles as a
95
+ * settled-host/modal observation. Only Claude's exact stale-session prompt may
96
+ * consume an automatic Enter, exactly once; every other modal fails closed.
97
+ */
98
+ export declare function wakeRelaunchedSession(prompt: string, deps: RelaunchWakeDeps, options?: RelaunchWakeOptions): RelaunchWakeResult;
18
99
  /** Structured argv for resuming a conversation, safe to hand to a new tmux session. */
19
100
  export declare function resumeLaunchFor(profile: string, convId: string): ResumeLaunch | undefined;
20
101
  /** The shell command that resumes `convId` for `profile`, or undefined if the */
@@ -26,8 +107,16 @@ export type RelaunchCandidate = {
26
107
  /** full tmux session name, e.g. `h2a-sentropic#2` */
27
108
  name: string;
28
109
  profile: string;
29
- /** true when the pane is an idle shell (CLI gone) — only these are relaunched */
30
- idle: boolean;
110
+ /** True only when the shell has no live CLI worker descendant. */
111
+ dead: boolean;
112
+ /** A live worker exists and can be woken, but must never be force-killed. */
113
+ activatable: boolean;
114
+ /** Missing or ambiguous liveness evidence; fail closed toward alive. */
115
+ indeterminate: boolean;
116
+ /** Hard safety floor while a worker is actively using CPU. */
117
+ activelyWorking: boolean;
118
+ /** Diagnostic reason for the hard floor or liveness projection. */
119
+ livenessReason?: string;
31
120
  /** this session's own conversation id, from the registry */
32
121
  convId?: string;
33
122
  /** why its registry row cannot safely produce a resume conversation */
@@ -53,16 +142,22 @@ export type RelaunchPlan = {
53
142
  skipped: RelaunchSkip[];
54
143
  };
55
144
  export type PlanRelaunchOptions = {
56
- /** A forced restart may replace a CLI that is still running. */
145
+ /** A forced restart kill/recreates an eligible dead session. */
57
146
  force?: boolean;
58
147
  /** Bulk operations must leave human-facing agent CLIs alone unless opted in. */
59
148
  excludeInteractiveAgents?: boolean;
60
149
  };
61
150
  export declare function isInteractiveAgentProfile(profile: string): boolean;
62
151
  /**
63
- * Decide what to relaunch. Pure: takes fully-resolved candidates (idle flag +
64
- * convId already gathered) so it is unit-testable without tmux/registry I/O.
65
- * Skips running sessions (never disturb a live CLI), sessions with no known
152
+ * A kill is permitted only after proving that the shell has no live worker.
153
+ * Every other state, including a parked worker or incomplete evidence, is
154
+ * preserved as alive.
155
+ */
156
+ export declare function isRelaunchKillable(safety: Pick<RelaunchSafety, "dead" | "activatable" | "indeterminate" | "activelyWorking">): boolean;
157
+ /**
158
+ * Decide what to relaunch. Pure: takes fully-resolved liveness candidates +
159
+ * convId already gathered, so it is unit-testable without tmux/registry I/O.
160
+ * Skips every live or indeterminate session, sessions with no known
66
161
  * convId (relaunch by hand rather than guess and risk a collision), and
67
162
  * profiles with no resume form. Also refuses to point two sessions at the SAME
68
163
  * convId (defensive: the registry should already be 1:1).
@@ -1 +1 @@
1
- {"version":3,"file":"relaunch.d.ts","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,YAAY,GAAG,SAAS,CAU1B;AAED,iFAAiF;AACjF,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAEpB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC5C,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAqEd"}
1
+ {"version":3,"file":"relaunch.d.ts","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,IAAI,EAAE,OAAO,CAAC;IACd,mFAAmF;IACnF,WAAW,EAAE,OAAO,CAAC;IACrB,gEAAgE;IAChE,aAAa,EAAE,OAAO,CAAC;IACvB,0EAA0E;IAC1E,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAIF;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,GAC3B,cAAc,CAqGhB;AAED,eAAO,MAAM,4BAA4B,4OACkM,CAAC;AAE5O;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8EAA8E;IAC9E,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,oBAAoB,CAAC;IAC9D,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,OAAO,CAAC;IAClC,8EAA8E;IAC9E,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACtC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,aAAa,GAAG,aAAa,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC,oBAAoB,EAAE;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CAC/D,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,YAAY,EAAE,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,EAAE;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CAChE,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CA+DpB;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,YAAY,GAAG,SAAS,CAU1B;AAED,iFAAiF;AACjF,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAEpB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,IAAI,EAAE,OAAO,CAAC;IACd,6EAA6E;IAC7E,WAAW,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,aAAa,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,eAAe,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,CACV,cAAc,EACd,MAAM,GAAG,aAAa,GAAG,eAAe,GAAG,iBAAiB,CAC7D,GACA,OAAO,CAOT;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC5C,OAAO,GAAE,mBAAwB,GAChC,YAAY,CA4Ed"}