@sentropic/h2a-runtime 0.90.2 → 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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +69 -20
- package/dist/index.js.map +1 -1
- package/dist/prompt-delivery.d.ts +9 -0
- package/dist/prompt-delivery.d.ts.map +1 -1
- package/dist/prompt-delivery.js +30 -3
- package/dist/prompt-delivery.js.map +1 -1
- package/dist/relaunch.d.ts +74 -10
- package/dist/relaunch.d.ts.map +1 -1
- package/dist/relaunch.js +120 -18
- package/dist/relaunch.js.map +1 -1
- package/dist/restore.d.ts +17 -22
- package/dist/restore.d.ts.map +1 -1
- package/dist/restore.js +62 -33
- package/dist/restore.js.map +1 -1
- package/dist/session-class.d.ts +12 -0
- package/dist/session-class.d.ts.map +1 -1
- package/dist/session-class.js +15 -0
- package/dist/session-class.js.map +1 -1
- package/dist/tmux.d.ts +7 -3
- package/dist/tmux.d.ts.map +1 -1
- package/dist/tmux.js +22 -5
- package/dist/tmux.js.map +1 -1
- package/package.json +1 -1
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-delivery.d.ts","sourceRoot":"","sources":["../src/prompt-delivery.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt-delivery.js
CHANGED
|
@@ -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*[
|
|
35
|
-
const MODAL_CONFIRM = /press
|
|
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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"}
|
package/dist/relaunch.d.ts
CHANGED
|
@@ -10,20 +10,33 @@
|
|
|
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
|
};
|
|
18
19
|
export type RelaunchSafety = {
|
|
19
|
-
/** True only when the
|
|
20
|
-
|
|
21
|
-
/**
|
|
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. */
|
|
22
27
|
activelyWorking: boolean;
|
|
23
28
|
reason: string;
|
|
24
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;
|
|
25
37
|
};
|
|
26
38
|
export type RelaunchSafetySample = {
|
|
39
|
+
pane?: string | undefined;
|
|
27
40
|
paneCommand?: string | undefined;
|
|
28
41
|
panePid?: number | undefined;
|
|
29
42
|
firstWorkerPid?: number | undefined;
|
|
@@ -42,6 +55,47 @@ export type RelaunchSafetySample = {
|
|
|
42
55
|
* receives the hard working floor.
|
|
43
56
|
*/
|
|
44
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;
|
|
45
99
|
/** Structured argv for resuming a conversation, safe to hand to a new tmux session. */
|
|
46
100
|
export declare function resumeLaunchFor(profile: string, convId: string): ResumeLaunch | undefined;
|
|
47
101
|
/** The shell command that resumes `convId` for `profile`, or undefined if the */
|
|
@@ -53,9 +107,13 @@ export type RelaunchCandidate = {
|
|
|
53
107
|
/** full tmux session name, e.g. `h2a-sentropic#2` */
|
|
54
108
|
name: string;
|
|
55
109
|
profile: string;
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
/**
|
|
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. */
|
|
59
117
|
activelyWorking: boolean;
|
|
60
118
|
/** Diagnostic reason for the hard floor or liveness projection. */
|
|
61
119
|
livenessReason?: string;
|
|
@@ -84,16 +142,22 @@ export type RelaunchPlan = {
|
|
|
84
142
|
skipped: RelaunchSkip[];
|
|
85
143
|
};
|
|
86
144
|
export type PlanRelaunchOptions = {
|
|
87
|
-
/** A forced restart
|
|
145
|
+
/** A forced restart kill/recreates an eligible dead session. */
|
|
88
146
|
force?: boolean;
|
|
89
147
|
/** Bulk operations must leave human-facing agent CLIs alone unless opted in. */
|
|
90
148
|
excludeInteractiveAgents?: boolean;
|
|
91
149
|
};
|
|
92
150
|
export declare function isInteractiveAgentProfile(profile: string): boolean;
|
|
93
151
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
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
|
|
97
161
|
* convId (relaunch by hand rather than guess and risk a collision), and
|
|
98
162
|
* profiles with no resume form. Also refuses to point two sessions at the SAME
|
|
99
163
|
* convId (defensive: the registry should already be 1:1).
|
package/dist/relaunch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relaunch.d.ts","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"relaunch.d.ts","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"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"}
|
package/dist/relaunch.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { isCliProfile, resolveProfile, resumeArgsFor } from "./profiles.js";
|
|
14
14
|
import { cpuRateMsPerSecond, DEFAULT_WORKING_CPU_MS_PER_SECOND, } from "./session-lease.js";
|
|
15
|
+
import { CLAUDE_LONG_CONTEXT_CONFIRM_REASON, isClaudeLongContextConfirm, } from "./prompt-delivery.js";
|
|
15
16
|
const SHELL_COMMANDS = new Set(["bash", "sh"]);
|
|
16
17
|
/**
|
|
17
18
|
* Pure relaunch liveness projection.
|
|
@@ -25,7 +26,9 @@ const SHELL_COMMANDS = new Set(["bash", "sh"]);
|
|
|
25
26
|
export function decideRelaunchSafety(sample) {
|
|
26
27
|
if (!SHELL_COMMANDS.has(sample.paneCommand ?? "")) {
|
|
27
28
|
return {
|
|
28
|
-
|
|
29
|
+
dead: false,
|
|
30
|
+
activatable: false,
|
|
31
|
+
indeterminate: true,
|
|
29
32
|
activelyWorking: true,
|
|
30
33
|
reason: "liveness indeterminate: pane command is not a readable shell",
|
|
31
34
|
};
|
|
@@ -45,7 +48,9 @@ export function decideRelaunchSafety(sample) {
|
|
|
45
48
|
!Number.isFinite(sample.elapsedMs) ||
|
|
46
49
|
sample.elapsedMs <= 0) {
|
|
47
50
|
return {
|
|
48
|
-
|
|
51
|
+
dead: false,
|
|
52
|
+
activatable: false,
|
|
53
|
+
indeterminate: true,
|
|
49
54
|
activelyWorking: true,
|
|
50
55
|
reason: "liveness indeterminate: pane, worker, or CPU sample unreadable",
|
|
51
56
|
};
|
|
@@ -54,18 +59,26 @@ export function decideRelaunchSafety(sample) {
|
|
|
54
59
|
// is not evidence of idleness. The safe outcome is to leave the session.
|
|
55
60
|
if (sample.firstWorkerPid !== sample.secondWorkerPid) {
|
|
56
61
|
return {
|
|
57
|
-
|
|
62
|
+
dead: false,
|
|
63
|
+
activatable: false,
|
|
64
|
+
indeterminate: true,
|
|
58
65
|
activelyWorking: true,
|
|
59
66
|
reason: "liveness indeterminate: worker identity changed during sample",
|
|
60
67
|
};
|
|
61
68
|
}
|
|
62
69
|
// busiestDescendant returns the pane root when the wrapper has no live
|
|
63
|
-
// descendant. This is the only shape that proves a dead
|
|
70
|
+
// descendant. This is the only shape that proves a dead shell.
|
|
64
71
|
if (sample.firstWorkerPid === sample.panePid) {
|
|
72
|
+
const identity = typeof sample.pane === "string" && sample.pane.length > 0
|
|
73
|
+
? { pane: sample.pane, panePid: sample.panePid }
|
|
74
|
+
: undefined;
|
|
65
75
|
return {
|
|
66
|
-
|
|
76
|
+
dead: true,
|
|
77
|
+
activatable: false,
|
|
78
|
+
indeterminate: false,
|
|
67
79
|
activelyWorking: false,
|
|
68
80
|
reason: "no live CLI worker descendant",
|
|
81
|
+
...(identity ? { identity } : {}),
|
|
69
82
|
};
|
|
70
83
|
}
|
|
71
84
|
const rateMsPerSecond = cpuRateMsPerSecond({
|
|
@@ -76,24 +89,104 @@ export function decideRelaunchSafety(sample) {
|
|
|
76
89
|
}, sample.secondCpuMs, new Date(sample.elapsedMs).toISOString());
|
|
77
90
|
if (rateMsPerSecond === undefined) {
|
|
78
91
|
return {
|
|
79
|
-
|
|
92
|
+
dead: false,
|
|
93
|
+
activatable: false,
|
|
94
|
+
indeterminate: true,
|
|
80
95
|
activelyWorking: true,
|
|
81
96
|
reason: "liveness indeterminate: CPU rate could not be computed",
|
|
82
97
|
};
|
|
83
98
|
}
|
|
84
99
|
if (rateMsPerSecond >= DEFAULT_WORKING_CPU_MS_PER_SECOND) {
|
|
85
100
|
return {
|
|
86
|
-
|
|
101
|
+
dead: false,
|
|
102
|
+
activatable: true,
|
|
103
|
+
indeterminate: false,
|
|
87
104
|
activelyWorking: true,
|
|
88
105
|
rateMsPerSecond,
|
|
89
106
|
reason: "live working CLI — never killed (even with --force)",
|
|
90
107
|
};
|
|
91
108
|
}
|
|
92
109
|
return {
|
|
93
|
-
|
|
110
|
+
dead: false,
|
|
111
|
+
activatable: true,
|
|
112
|
+
indeterminate: false,
|
|
94
113
|
activelyWorking: false,
|
|
95
114
|
rateMsPerSecond,
|
|
96
|
-
reason: "live CLI worker is
|
|
115
|
+
reason: "live parked CLI worker is activatable — never force-killed",
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export 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.";
|
|
119
|
+
/**
|
|
120
|
+
* Prefer a durable delegated task when the registry has one; otherwise the
|
|
121
|
+
* resumed conversation remains the authority for its standing objective.
|
|
122
|
+
*/
|
|
123
|
+
export function relaunchContinuationPrompt(task) {
|
|
124
|
+
const objective = task?.trim();
|
|
125
|
+
return objective
|
|
126
|
+
? `Continue working autonomously on this registered objective:\n\n${objective}\n\nResume the next incomplete step now; do not stop at the input prompt or wait for another nudge.`
|
|
127
|
+
: RELAUNCH_CONTINUATION_PROMPT;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Turn a resumed TUI into proved work. The first delivery attempt doubles as a
|
|
131
|
+
* settled-host/modal observation. Only Claude's exact stale-session prompt may
|
|
132
|
+
* consume an automatic Enter, exactly once; every other modal fails closed.
|
|
133
|
+
*/
|
|
134
|
+
export function wakeRelaunchedSession(prompt, deps, options = {}) {
|
|
135
|
+
let delivery = deps.deliverContinuation(prompt);
|
|
136
|
+
if (delivery.state === "working") {
|
|
137
|
+
return { state: "working", confirmation: "not-present", delivery };
|
|
138
|
+
}
|
|
139
|
+
if (delivery.state !== "host-modal" ||
|
|
140
|
+
delivery.reason !== CLAUDE_LONG_CONTEXT_CONFIRM_REASON) {
|
|
141
|
+
return {
|
|
142
|
+
state: "failed",
|
|
143
|
+
confirmation: "not-present",
|
|
144
|
+
reason: delivery.state === "submitted-idle"
|
|
145
|
+
? "the continuation objective was submitted but the agent stayed idle"
|
|
146
|
+
: delivery.reason,
|
|
147
|
+
capture: "capture" in delivery ? delivery.capture : "",
|
|
148
|
+
delivery,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
if (!deps.submitConfirmation()) {
|
|
152
|
+
return {
|
|
153
|
+
state: "failed",
|
|
154
|
+
confirmation: "send-failed",
|
|
155
|
+
reason: "tmux could not submit Claude's stale-session summary confirmation",
|
|
156
|
+
capture: delivery.capture,
|
|
157
|
+
delivery,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
const deadline = deps.now() + (options.confirmationClearMs ?? 10_000);
|
|
161
|
+
const pollMs = options.pollMs ?? 250;
|
|
162
|
+
let capture = delivery.capture;
|
|
163
|
+
for (;;) {
|
|
164
|
+
deps.sleep(pollMs);
|
|
165
|
+
capture = deps.capturePane() ?? capture;
|
|
166
|
+
if (!isClaudeLongContextConfirm(capture))
|
|
167
|
+
break;
|
|
168
|
+
if (deps.now() >= deadline) {
|
|
169
|
+
return {
|
|
170
|
+
state: "failed",
|
|
171
|
+
confirmation: "auto-passed",
|
|
172
|
+
reason: "Claude's stale-session confirmation did not clear after one Enter",
|
|
173
|
+
capture,
|
|
174
|
+
delivery,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
delivery = deps.deliverContinuation(prompt);
|
|
179
|
+
if (delivery.state === "working") {
|
|
180
|
+
return { state: "working", confirmation: "auto-passed", delivery };
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
state: "failed",
|
|
184
|
+
confirmation: "auto-passed",
|
|
185
|
+
reason: delivery.state === "submitted-idle"
|
|
186
|
+
? "the continuation objective was submitted but the agent stayed idle"
|
|
187
|
+
: delivery.reason,
|
|
188
|
+
capture: "capture" in delivery ? delivery.capture : capture,
|
|
189
|
+
delivery,
|
|
97
190
|
};
|
|
98
191
|
}
|
|
99
192
|
/** Structured argv for resuming a conversation, safe to hand to a new tmux session. */
|
|
@@ -119,9 +212,20 @@ export function isInteractiveAgentProfile(profile) {
|
|
|
119
212
|
return ["claude", "claude-code", "codex", "agy", "antigravity"].includes(profile);
|
|
120
213
|
}
|
|
121
214
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
215
|
+
* A kill is permitted only after proving that the shell has no live worker.
|
|
216
|
+
* Every other state, including a parked worker or incomplete evidence, is
|
|
217
|
+
* preserved as alive.
|
|
218
|
+
*/
|
|
219
|
+
export function isRelaunchKillable(safety) {
|
|
220
|
+
return (safety.dead &&
|
|
221
|
+
!safety.activatable &&
|
|
222
|
+
safety.activelyWorking === false &&
|
|
223
|
+
safety.indeterminate === false);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Decide what to relaunch. Pure: takes fully-resolved liveness candidates +
|
|
227
|
+
* convId already gathered, so it is unit-testable without tmux/registry I/O.
|
|
228
|
+
* Skips every live or indeterminate session, sessions with no known
|
|
125
229
|
* convId (relaunch by hand rather than guess and risk a collision), and
|
|
126
230
|
* profiles with no resume form. Also refuses to point two sessions at the SAME
|
|
127
231
|
* convId (defensive: the registry should already be 1:1).
|
|
@@ -153,18 +257,16 @@ export function planRelaunch(candidates, options = {}) {
|
|
|
153
257
|
});
|
|
154
258
|
continue;
|
|
155
259
|
}
|
|
156
|
-
if (c
|
|
260
|
+
if (!isRelaunchKillable(c)) {
|
|
157
261
|
skipped.push({
|
|
158
262
|
slug: c.slug,
|
|
159
263
|
reason: c.livenessReason ??
|
|
160
|
-
|
|
264
|
+
(c.activatable
|
|
265
|
+
? "live worker is activatable — never force-killed"
|
|
266
|
+
: "liveness is not proven dead — left alone (never kill on unknown)"),
|
|
161
267
|
});
|
|
162
268
|
continue;
|
|
163
269
|
}
|
|
164
|
-
if (!options.force && !c.idle) {
|
|
165
|
-
skipped.push({ slug: c.slug, reason: "CLI is running — left alone" });
|
|
166
|
-
continue;
|
|
167
|
-
}
|
|
168
270
|
if (!c.convId) {
|
|
169
271
|
skipped.push({
|
|
170
272
|
slug: c.slug,
|
package/dist/relaunch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,kBAAkB,EAClB,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"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"}
|
package/dist/restore.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { type LayoutConfig } from "./config.js";
|
|
10
10
|
import { type RegistryEntry } from "./registry.js";
|
|
11
11
|
import { type LocalSession } from "./tmux.js";
|
|
12
|
+
import type { SessionClass } from "./session-class.js";
|
|
12
13
|
export type DiscoveredSession = {
|
|
13
14
|
project: string;
|
|
14
15
|
mtimeMs: number;
|
|
@@ -52,28 +53,22 @@ export type RemoteTab = {
|
|
|
52
53
|
};
|
|
53
54
|
/** Discover claude + codex sessions under ~/src/* newer than maxAgeMs. */
|
|
54
55
|
export declare function discoverSessions(maxAgeMs: number, home?: string): DiscoveredSession[];
|
|
56
|
+
/** Out-of-registry facts allowed to classify a legacy session as human. */
|
|
57
|
+
export type LegacySessionEvidence = {
|
|
58
|
+
readonly home: string;
|
|
59
|
+
readonly liveTmuxSessions: ReadonlyArray<Pick<LocalSession, "name" | "path" | "profile">>;
|
|
60
|
+
/** A caller that obtained an explicit human confirmation may name its entry. */
|
|
61
|
+
readonly humanConfirmedIds?: ReadonlySet<string>;
|
|
62
|
+
};
|
|
63
|
+
/** Snapshot the external evidence once, rather than trusting a registry default. */
|
|
64
|
+
export declare function legacySessionEvidence(home?: string, liveTmuxSessions?: ReadonlyArray<Pick<LocalSession, "name" | "path" | "profile">>): LegacySessionEvidence;
|
|
55
65
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* An ended record never can. A record carrying an explicit class is judged on
|
|
59
|
-
* that class — which is the whole point of stamping it, and keeps a background
|
|
60
|
-
* launch or a delegated job out.
|
|
61
|
-
*
|
|
62
|
-
* A record with NO class is a LEGACY record, and this is where the gate has to
|
|
63
|
-
* be careful in both directions. Enrollment has required a class since the
|
|
64
|
-
* classification landed (registry.ts refuses an enrollment without one), so an
|
|
65
|
-
* unclassified record can only predate it. Judging those closed took out every
|
|
66
|
-
* session enrolled before that day: measured, restore returned an EMPTY list for
|
|
67
|
-
* three live named sessions of one repo, which is exactly what the owner
|
|
68
|
-
* observed as "restore does not restore my multi-session projects" — the filter
|
|
69
|
-
* was tightened to opt-in while nothing back-filled the class.
|
|
70
|
-
*
|
|
71
|
-
* So legacy records fall back to the discriminator that existed when they were
|
|
72
|
-
* written: a delegated job is never human, anything else was a session someone
|
|
73
|
-
* launched. That is narrower than it looks — it cannot readmit a NEW background
|
|
74
|
-
* session, because a new record always carries its class.
|
|
66
|
+
* Classify a legacy registry record from evidence held outside the registry.
|
|
67
|
+
* Absence is not proof of a human: anything inconclusive is background.
|
|
75
68
|
*/
|
|
76
|
-
export declare function
|
|
69
|
+
export declare function deriveLegacySessionClass(e: RegistryEntry, evidence: LegacySessionEvidence): SessionClass;
|
|
70
|
+
/** Restore gate: only explicit or externally proven human sessions are restorable. */
|
|
71
|
+
export declare function isHumanFacingSession(e: RegistryEntry, evidence?: LegacySessionEvidence): boolean;
|
|
77
72
|
/**
|
|
78
73
|
* Last `customTitle` recorded in a claude conversation transcript — i.e. the
|
|
79
74
|
* human-facing session name the SessionStart hook could NOT capture (the hook
|
|
@@ -125,7 +120,7 @@ export type ConvIdResolution = {
|
|
|
125
120
|
* `readConversationCustomTitle`; tests pass a stub map), so the whole join is
|
|
126
121
|
* unit-testable with plain registry entries.
|
|
127
122
|
*/
|
|
128
|
-
export declare function reconcileRunConvIds(entries: readonly RegistryEntry[], customTitleFor: (cwd: string, convId: string) => string | undefined): ConvIdResolution;
|
|
123
|
+
export declare function reconcileRunConvIds(entries: readonly RegistryEntry[], customTitleFor: (cwd: string, convId: string) => string | undefined, evidence?: LegacySessionEvidence): ConvIdResolution;
|
|
129
124
|
/**
|
|
130
125
|
* REGISTRY-FIRST discovery: durable registry entries (local kinds) mapped to
|
|
131
126
|
* discovered sessions. label/cwd/convId come straight from enrolment, no
|
|
@@ -137,7 +132,7 @@ export declare function reconcileRunConvIds(entries: readonly RegistryEntry[], c
|
|
|
137
132
|
* dedups the `hook` twin of a conversation already represented by a run session.
|
|
138
133
|
* Omitted (the plain 2-arg call) → legacy behaviour, one session per entry.
|
|
139
134
|
*/
|
|
140
|
-
export declare function registrySessions(home?: string, entries?: RegistryEntry[], resolution?: ConvIdResolution): DiscoveredSession[];
|
|
135
|
+
export declare function registrySessions(home?: string, entries?: RegistryEntry[], resolution?: ConvIdResolution, evidence?: LegacySessionEvidence): DiscoveredSession[];
|
|
141
136
|
/**
|
|
142
137
|
* Merge discovery sources by session identity, never by project. One live
|
|
143
138
|
* registry row must not make every other conversation under that project vanish.
|