@sentropic/h2a-runtime 0.98.6 → 0.98.7-rc.2
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/agent-launch-args.d.ts.map +1 -1
- package/dist/agent-launch-args.js +5 -5
- package/dist/agent-launch-args.js.map +1 -1
- package/dist/agy-claude.d.ts +2 -0
- package/dist/agy-claude.d.ts.map +1 -0
- package/dist/agy-claude.js +3 -0
- package/dist/agy-claude.js.map +1 -0
- package/dist/agy-headless.d.ts +11 -0
- package/dist/agy-headless.d.ts.map +1 -0
- package/dist/agy-headless.js +104 -0
- package/dist/agy-headless.js.map +1 -0
- package/dist/attach.d.ts +2 -0
- package/dist/attach.d.ts.map +1 -1
- package/dist/attach.js +73 -6
- package/dist/attach.js.map +1 -1
- package/dist/auth-login.d.ts +24 -1
- package/dist/auth-login.d.ts.map +1 -1
- package/dist/auth-login.js +132 -4
- package/dist/auth-login.js.map +1 -1
- package/dist/central-mcp.d.ts +2 -0
- package/dist/central-mcp.d.ts.map +1 -1
- package/dist/central-mcp.js +90 -3
- package/dist/central-mcp.js.map +1 -1
- package/dist/claude-code-cli-isolation.d.ts +53 -0
- package/dist/claude-code-cli-isolation.d.ts.map +1 -0
- package/dist/claude-code-cli-isolation.js +277 -0
- package/dist/claude-code-cli-isolation.js.map +1 -0
- package/dist/claude-code-cli-lifecycle.d.ts +80 -0
- package/dist/claude-code-cli-lifecycle.d.ts.map +1 -0
- package/dist/claude-code-cli-lifecycle.js +402 -0
- package/dist/claude-code-cli-lifecycle.js.map +1 -0
- package/dist/claude-code-cli-runner.d.ts +89 -0
- package/dist/claude-code-cli-runner.d.ts.map +1 -0
- package/dist/claude-code-cli-runner.js +659 -0
- package/dist/claude-code-cli-runner.js.map +1 -0
- package/dist/claude-seat-input.d.ts +47 -0
- package/dist/claude-seat-input.d.ts.map +1 -0
- package/dist/claude-seat-input.js +272 -0
- package/dist/claude-seat-input.js.map +1 -0
- package/dist/claude-seat-mesh-contract.d.ts +88 -0
- package/dist/claude-seat-mesh-contract.d.ts.map +1 -0
- package/dist/claude-seat-mesh-contract.js +13 -0
- package/dist/claude-seat-mesh-contract.js.map +1 -0
- package/dist/cli-help-groups.js +1 -1
- package/dist/cli-help-groups.js.map +1 -1
- package/dist/crash-log.d.ts +112 -0
- package/dist/crash-log.d.ts.map +1 -0
- package/dist/crash-log.js +560 -0
- package/dist/crash-log.js.map +1 -0
- package/dist/delegate.d.ts +10 -0
- package/dist/delegate.d.ts.map +1 -1
- package/dist/delegate.js +29 -0
- package/dist/delegate.js.map +1 -1
- package/dist/gateway-host/claude-seat-client.d.ts +32 -0
- package/dist/gateway-host/claude-seat-client.d.ts.map +1 -0
- package/dist/gateway-host/claude-seat-client.js +38 -0
- package/dist/gateway-host/claude-seat-client.js.map +1 -0
- package/dist/gateway-host/host.d.ts +6 -0
- package/dist/gateway-host/host.d.ts.map +1 -1
- package/dist/gateway-host/host.js +24 -3
- package/dist/gateway-host/host.js.map +1 -1
- package/dist/gateway-host/live-declarations.d.ts +58 -0
- package/dist/gateway-host/live-declarations.d.ts.map +1 -0
- package/dist/gateway-host/live-declarations.js +429 -0
- package/dist/gateway-host/live-declarations.js.map +1 -0
- package/dist/gateway-host/live-github.d.ts +11 -0
- package/dist/gateway-host/live-github.d.ts.map +1 -0
- package/dist/gateway-host/live-github.js +374 -0
- package/dist/gateway-host/live-github.js.map +1 -0
- package/dist/gateway-host/live-object-store.d.ts +35 -0
- package/dist/gateway-host/live-object-store.d.ts.map +1 -0
- package/dist/gateway-host/live-object-store.js +447 -0
- package/dist/gateway-host/live-object-store.js.map +1 -0
- package/dist/gateway-host/live-registration.d.ts +162 -0
- package/dist/gateway-host/live-registration.d.ts.map +1 -0
- package/dist/gateway-host/live-registration.js +455 -0
- package/dist/gateway-host/live-registration.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +290 -23
- package/dist/index.js.map +1 -1
- package/dist/llm-mesh-accounts.d.ts +70 -4
- package/dist/llm-mesh-accounts.d.ts.map +1 -1
- package/dist/llm-mesh-accounts.js +296 -9
- package/dist/llm-mesh-accounts.js.map +1 -1
- package/dist/native-host.d.ts +1 -1
- package/dist/native-host.d.ts.map +1 -1
- package/dist/native-host.js +30 -17
- package/dist/native-host.js.map +1 -1
- package/dist/native-terminal/host.d.ts +6 -1
- package/dist/native-terminal/host.d.ts.map +1 -1
- package/dist/native-terminal/host.js +6 -25
- package/dist/native-terminal/host.js.map +1 -1
- package/dist/native-terminal/journal.d.ts +5 -0
- package/dist/native-terminal/journal.d.ts.map +1 -1
- package/dist/native-terminal/journal.js +28 -16
- package/dist/native-terminal/journal.js.map +1 -1
- package/dist/native-terminal/op.d.ts +13 -0
- package/dist/native-terminal/op.d.ts.map +1 -1
- package/dist/native-terminal/op.js +64 -5
- package/dist/native-terminal/op.js.map +1 -1
- package/dist/proc-identity.d.ts +31 -0
- package/dist/proc-identity.d.ts.map +1 -1
- package/dist/proc-identity.js +54 -0
- package/dist/proc-identity.js.map +1 -1
- package/dist/prompt-delivery.d.ts +3 -0
- package/dist/prompt-delivery.d.ts.map +1 -1
- package/dist/prompt-delivery.js +8 -3
- package/dist/prompt-delivery.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +79 -16
- package/dist/run.js.map +1 -1
- package/dist/terminal-reset.d.ts +104 -0
- package/dist/terminal-reset.d.ts.map +1 -0
- package/dist/terminal-reset.js +229 -0
- package/dist/terminal-reset.js.map +1 -0
- package/dist/tmux.d.ts +26 -4
- package/dist/tmux.d.ts.map +1 -1
- package/dist/tmux.js +60 -25
- package/dist/tmux.js.map +1 -1
- package/dist/vendor/engram-live/contracts.d.ts +825 -0
- package/dist/vendor/engram-live/contracts.js +1734 -0
- package/dist/vendor/engram-live/integration.d.ts +113 -0
- package/dist/vendor/engram-live/integration.js +254 -0
- package/dist/vendor/engram-live/pr-sync.d.ts +144 -0
- package/dist/vendor/engram-live/pr-sync.js +411 -0
- package/dist/vendor/engram-live/registration.d.ts +138 -0
- package/dist/vendor/engram-live/registration.js +358 -0
- package/dist/vendor/engram-live/retention.d.ts +56 -0
- package/dist/vendor/engram-live/retention.js +179 -0
- package/package.json +2 -2
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sane-state reset for h2a verbs that hand the REAL client terminal to a child
|
|
3
|
+
* over inherited stdio (`tmux attach`, foreground CLI, `kubectl exec` attach).
|
|
4
|
+
*
|
|
5
|
+
* Unlike the native attach path (native-terminal/op.ts), these verbs never see
|
|
6
|
+
* the child's output bytes, so there is nothing to track: emit a fixed,
|
|
7
|
+
* idempotent reset that is a no-op on an already-sane terminal. The DEC set
|
|
8
|
+
* and ordering mirror TerminalModeTracker's DEC_MODES so both mechanisms stay
|
|
9
|
+
* comparable (see terminal-reset.test.ts for the cross-check).
|
|
10
|
+
*
|
|
11
|
+
* Sync limitation (rev351-1): the wrapped child runs in a BLOCKING spawnSync,
|
|
12
|
+
* which owns a private libuv loop. A JS `process.on(signal)` handler installed
|
|
13
|
+
* around it can never run synchronously: delivery is deferred until the event
|
|
14
|
+
* loop regains control, and removing the listener right after spawnSync
|
|
15
|
+
* destroys the pending signal. Trapping therefore swallows the signal (exit 0)
|
|
16
|
+
* and blocks the wrapper until the child ends on its own (plus it breaks
|
|
17
|
+
* Ctrl-C in the reconnect loop). So this wrapper installs NO signal handlers:
|
|
18
|
+
* a signal addressed to the wrapper itself keeps its default disposition (the
|
|
19
|
+
* wrapper dies promptly, like SIGKILL — residual, no reset possible), while a
|
|
20
|
+
* signal that kills only the CHILD is observed synchronously via r.signal and
|
|
21
|
+
* mapped to 128+n by statusFromSpawnResult (never 0).
|
|
22
|
+
*/
|
|
23
|
+
import { spawnSync } from "node:child_process";
|
|
24
|
+
import { writeSync } from "node:fs";
|
|
25
|
+
import { constants as osConstants } from "node:os";
|
|
26
|
+
const ESC = "\x1b";
|
|
27
|
+
/**
|
|
28
|
+
* Unconditional sane-state reset for the client terminal. Every sequence is a
|
|
29
|
+
* no-op when the terminal is already sane: clearing an unset private mode,
|
|
30
|
+
* showing a visible cursor, leaving the normal keypad, or zeroing
|
|
31
|
+
* modifyOtherKeys changes nothing.
|
|
32
|
+
*
|
|
33
|
+
* Prefix `\x18` (CAN) + `ESC \` (ST) aborts a truncated CSI/OSC sequence when
|
|
34
|
+
* the child died mid-write; without it the reset itself could be swallowed
|
|
35
|
+
* inside the incomplete sequence. Kitty keyboard stacks are per-screen
|
|
36
|
+
* (main vs alternate, cf. terminal-modes.ts): pop up to 16 entries and zero
|
|
37
|
+
* flags BEFORE leaving the alternate screen, then pop again after returning
|
|
38
|
+
* to the main screen. Without a byte stream there is no exact stack to pop,
|
|
39
|
+
* so the maximal pop is the best-effort bound (the tracked native attach path
|
|
40
|
+
* pops exactly instead).
|
|
41
|
+
*/
|
|
42
|
+
export const CLIENT_TERMINAL_RESET_SEQUENCE = `\x18${ESC}\\` + // abort any truncated CSI/OSC first
|
|
43
|
+
`${ESC}[?2026l` + // end synchronized output first
|
|
44
|
+
`${ESC}[<16u${ESC}[=0u` + // pop Kitty alternate-screen stack before leaving it
|
|
45
|
+
`${ESC}[?1l` + // normal cursor keys
|
|
46
|
+
`${ESC}[?1000l${ESC}[?1002l${ESC}[?1003l` + // mouse reporting
|
|
47
|
+
`${ESC}[?1004l` + // focus reporting (the ^[[I/^[[O stuck symptom)
|
|
48
|
+
`${ESC}[?1006l${ESC}[?1015l` + // mouse encoding
|
|
49
|
+
`${ESC}[?2004l` + // bracketed paste
|
|
50
|
+
`${ESC}[?47l${ESC}[?1047l${ESC}[?1049l` + // back to the normal screen
|
|
51
|
+
`${ESC}[<16u${ESC}[=0u` + // pop Kitty main-screen stack after returning
|
|
52
|
+
`${ESC}[?25h` + // visible cursor
|
|
53
|
+
`${ESC}>` + // normal keypad
|
|
54
|
+
`${ESC}[>4;0m`; // modifyOtherKeys off
|
|
55
|
+
/** Write the reset to a TTY stdout, synchronously so teardown paths can use it. */
|
|
56
|
+
export function resetClientTerminal(stdout = process.stdout) {
|
|
57
|
+
try {
|
|
58
|
+
if (stdout.isTTY !== true)
|
|
59
|
+
return false;
|
|
60
|
+
if (typeof stdout.fd === "number") {
|
|
61
|
+
writeSync(stdout.fd, CLIENT_TERMINAL_RESET_SEQUENCE);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
stdout.write?.(CLIENT_TERMINAL_RESET_SEQUENCE);
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* rev351r2-6: signal numbers for the 128+n exit-code mapping, read from the
|
|
74
|
+
* running platform (`os.constants.signals`) with a Linux fallback for names
|
|
75
|
+
* the platform does not know. A frozen literal got macOS/BSD numbers wrong
|
|
76
|
+
* (SIGBUS 10 not 7, SIGUSR1 30 not 10, SIGCHLD 20, SIGSTOP 17, ...); the
|
|
77
|
+
* operational signals (HUP/INT/QUIT/KILL/TERM/SEGV/ABRT) agree everywhere,
|
|
78
|
+
* but crash-code mapping should still use the platform's own table.
|
|
79
|
+
*/
|
|
80
|
+
const FALLBACK_SIGNAL_NUMBERS = {
|
|
81
|
+
SIGHUP: 1,
|
|
82
|
+
SIGINT: 2,
|
|
83
|
+
SIGQUIT: 3,
|
|
84
|
+
SIGILL: 4,
|
|
85
|
+
SIGTRAP: 5,
|
|
86
|
+
SIGABRT: 6,
|
|
87
|
+
SIGBUS: 7,
|
|
88
|
+
SIGFPE: 8,
|
|
89
|
+
SIGKILL: 9,
|
|
90
|
+
SIGUSR1: 10,
|
|
91
|
+
SIGSEGV: 11,
|
|
92
|
+
SIGUSR2: 12,
|
|
93
|
+
SIGPIPE: 13,
|
|
94
|
+
SIGALRM: 14,
|
|
95
|
+
SIGTERM: 15,
|
|
96
|
+
SIGSTKFLT: 16,
|
|
97
|
+
SIGCHLD: 17,
|
|
98
|
+
SIGCONT: 18,
|
|
99
|
+
SIGSTOP: 19,
|
|
100
|
+
SIGTSTP: 20,
|
|
101
|
+
SIGTTIN: 21,
|
|
102
|
+
SIGTTOU: 22,
|
|
103
|
+
SIGURG: 23,
|
|
104
|
+
SIGXCPU: 24,
|
|
105
|
+
SIGXFSZ: 25,
|
|
106
|
+
SIGVTALRM: 26,
|
|
107
|
+
SIGPROF: 27,
|
|
108
|
+
SIGWINCH: 28,
|
|
109
|
+
SIGIO: 29,
|
|
110
|
+
SIGPWR: 30,
|
|
111
|
+
SIGSYS: 31,
|
|
112
|
+
};
|
|
113
|
+
function platformSignalNumber(name) {
|
|
114
|
+
const fromOs = osConstants.signals[name];
|
|
115
|
+
if (typeof fromOs === "number")
|
|
116
|
+
return fromOs;
|
|
117
|
+
return FALLBACK_SIGNAL_NUMBERS[name] ?? 0;
|
|
118
|
+
}
|
|
119
|
+
/** POSIX signal numbers for the 128+n exit-code mapping. */
|
|
120
|
+
export const SIGNAL_NUMBERS = Object.fromEntries(Object.keys(FALLBACK_SIGNAL_NUMBERS).map((name) => [
|
|
121
|
+
name,
|
|
122
|
+
platformSignalNumber(name),
|
|
123
|
+
]));
|
|
124
|
+
/**
|
|
125
|
+
* Map a spawnSync result to a process exit code that preserves signal-death
|
|
126
|
+
* semantics. A child killed by a signal has status null: the old `?? 0`
|
|
127
|
+
* reported that as success. Now it reports 128+signo; a spawn error reports
|
|
128
|
+
* 127; a null status with no signal and no error (should not happen) reports
|
|
129
|
+
* 1 rather than 0.
|
|
130
|
+
*/
|
|
131
|
+
export function statusFromSpawnResult(result) {
|
|
132
|
+
if (result.signal)
|
|
133
|
+
return 128 + (SIGNAL_NUMBERS[result.signal] ?? 0);
|
|
134
|
+
if (result.error !== undefined && result.error !== null)
|
|
135
|
+
return 127;
|
|
136
|
+
return result.status ?? 1;
|
|
137
|
+
}
|
|
138
|
+
const defaultSttySpawn = (args, { stdinFd, capture }) => {
|
|
139
|
+
const result = spawnSync("stty", [...args], {
|
|
140
|
+
stdio: [stdinFd, capture ? "pipe" : "ignore", "ignore"],
|
|
141
|
+
encoding: "utf8",
|
|
142
|
+
});
|
|
143
|
+
return result;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* rev351r2-2: single home for the termios save every client-terminal owner
|
|
147
|
+
* (`withClientTerminalReset`, `run`, `attach`, `auth login`) used to copy.
|
|
148
|
+
* Captures stdin raw mode plus `stty -g` on a real TTY; elsewhere (or when
|
|
149
|
+
* `stty` fails) the save is empty and the restore below degrades to the VT
|
|
150
|
+
* reset plus the raw-mode restore.
|
|
151
|
+
*/
|
|
152
|
+
export function saveTtyState(stdin, stty = defaultSttySpawn) {
|
|
153
|
+
const wasRaw = stdin.isRaw === true;
|
|
154
|
+
const fd = stdin.fd;
|
|
155
|
+
const stdinFd = typeof fd === "number" ? fd : undefined;
|
|
156
|
+
if (stdin.isTTY !== true ||
|
|
157
|
+
stdinFd === undefined ||
|
|
158
|
+
process.platform === "win32") {
|
|
159
|
+
return { stdinFd, wasRaw, saved: undefined };
|
|
160
|
+
}
|
|
161
|
+
try {
|
|
162
|
+
return { stdinFd, wasRaw, saved: stty(["-g"], { stdinFd, capture: true }) };
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return { stdinFd, wasRaw, saved: undefined };
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* rev351r2-2: single home for the termios restore. Emits the VT reset, puts
|
|
170
|
+
* stdin raw mode back the way it was, then re-applies the saved `stty` state
|
|
171
|
+
* when there is one. Every step is best effort so teardown never masks the
|
|
172
|
+
* session outcome.
|
|
173
|
+
*/
|
|
174
|
+
export function restoreTtyState(state, stdin, doReset, stty = defaultSttySpawn) {
|
|
175
|
+
try {
|
|
176
|
+
doReset();
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// Best effort on teardown; the caller's own outcome takes precedence.
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
if (stdin.isTTY === true) {
|
|
183
|
+
try {
|
|
184
|
+
stdin.setRawMode?.(state.wasRaw);
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
// Restoring raw must never mask the caller's outcome.
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
// Best effort on teardown.
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
195
|
+
const saved = state.saved;
|
|
196
|
+
if (saved?.status === 0 &&
|
|
197
|
+
typeof saved.stdout === "string" &&
|
|
198
|
+
saved.stdout.trim() &&
|
|
199
|
+
state.stdinFd !== undefined) {
|
|
200
|
+
stty([saved.stdout.trim()], {
|
|
201
|
+
stdinFd: state.stdinFd,
|
|
202
|
+
capture: false,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
// Best effort; the VT reset above already ran.
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Run `run` (usually one blocking inherit-stdio child) and restore the client
|
|
212
|
+
* terminal on every SYNCHRONOUS exit path (normal return, sync exception,
|
|
213
|
+
* child signal death observed via its spawn result). Restores termios
|
|
214
|
+
* (`stty -g`) and stdin raw mode like withAttachTerminalRecovery, plus the
|
|
215
|
+
* unconditional VT reset. Installs no signal handlers (see header): trapping
|
|
216
|
+
* around spawnSync would swallow and block.
|
|
217
|
+
*/
|
|
218
|
+
export function withClientTerminalReset(run, reset = () => {
|
|
219
|
+
resetClientTerminal();
|
|
220
|
+
}, stdin = process.stdin) {
|
|
221
|
+
const state = saveTtyState(stdin);
|
|
222
|
+
try {
|
|
223
|
+
return run();
|
|
224
|
+
}
|
|
225
|
+
finally {
|
|
226
|
+
restoreTtyState(state, stdin, reset);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=terminal-reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-reset.js","sourceRoot":"","sources":["../src/terminal-reset.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ export declare const STRUCTURED_LOCAL_WRAPPER = "cli=\"$0\"\nexec \"$cli\" \"$@\
|
|
|
63
63
|
* the CLI starts, so prompt content never appears in process argv.
|
|
64
64
|
*/
|
|
65
65
|
export declare const HEADLESS_WRAPPER = "result=\"$0\"; log=\"$1\"; prompt=\"$2\"; cli=\"$3\"; shift 3\nif [ -n \"$prompt\" ]; then\n exec 3<\"$prompt\"\n rm -f -- \"$prompt\"\n \"$cli\" \"$@\" <&3 >\"$log\" 2>&1; code=$?\nelse\n \"$cli\" \"$@\" >\"$log\" 2>&1; code=$?\nfi\nif [ \"$code\" -eq 0 ]; then state=done; else state=failed; fi\nprintf '{\"state\":\"%s\",\"exitCode\":%s}\\n' \"$state\" \"$code\" >\"$result\"";
|
|
66
|
+
/** Keep both terminal hosts on the same quota-aware run-once contract. */
|
|
67
|
+
export declare function headlessCommand(profile: string, command: string, args: ReadonlyArray<string>, result: string, log: string, prompt: string, outputFile?: string): string[];
|
|
66
68
|
/**
|
|
67
69
|
* The `remote run …` line that recreates this exact local session — shown when
|
|
68
70
|
* the CLI exits so the user can copy-paste it. Pure, exported for tests.
|
|
@@ -309,7 +311,7 @@ export declare function localSessionAgentPanePid(session: string): number | unde
|
|
|
309
311
|
* startLocalSession unless `refuseExisting` is set for structured launches.
|
|
310
312
|
* Returns the session name + slug.
|
|
311
313
|
*/
|
|
312
|
-
export declare function startHeadlessSession(profile: string, command: string, cwd: string, args: ReadonlyArray<string>, resultJson: string, outputLog: string, label: string, tmuxProfile?: string, promptInput?: string, refuseExisting?: boolean, sessionClass?: SessionClass, onCreateAttempt?: () => void): StartLocalResult;
|
|
314
|
+
export declare function startHeadlessSession(profile: string, command: string, cwd: string, args: ReadonlyArray<string>, resultJson: string, outputLog: string, label: string, tmuxProfile?: string, promptInput?: string, refuseExisting?: boolean, sessionClass?: SessionClass, onCreateAttempt?: () => void, outputFile?: string): StartLocalResult;
|
|
313
315
|
/** Best-effort cleanup for a headless prompt that the wrapper did not consume. */
|
|
314
316
|
export declare function cleanupHeadlessPromptFile(promptFile?: string): void;
|
|
315
317
|
/**
|
|
@@ -599,13 +601,33 @@ export declare function readFleetProcView(): ProcView;
|
|
|
599
601
|
/** Confine the fleet /proc walk for tests; `undefined` restores /proc. */
|
|
600
602
|
export declare function setTestProcReaderRoot(root: string | undefined): void;
|
|
601
603
|
export declare function procReaderDeps(): ProcReaderDeps;
|
|
604
|
+
export type AttachPodTmuxDeps = {
|
|
605
|
+
readonly spawnKubectl?: (args: ReadonlyArray<string>, env: NodeJS.ProcessEnv) => {
|
|
606
|
+
status: number | null;
|
|
607
|
+
signal: NodeJS.Signals | null;
|
|
608
|
+
error?: unknown;
|
|
609
|
+
};
|
|
610
|
+
readonly sleepOnce?: () => {
|
|
611
|
+
status: number | null;
|
|
612
|
+
signal: NodeJS.Signals | null;
|
|
613
|
+
};
|
|
614
|
+
readonly reset?: () => void;
|
|
615
|
+
readonly stderr?: Pick<NodeJS.WriteStream, "write">;
|
|
616
|
+
};
|
|
602
617
|
/**
|
|
603
618
|
* Attach the real terminal straight into the Pod's tmux session via
|
|
604
619
|
* `kubectl exec -it`. The local terminal talks to tmux directly (no WS proxy),
|
|
605
620
|
* so scrollback + copy-to-local-clipboard (OSC52) work natively. Requires a
|
|
606
621
|
* tmux-backed session (Pod started by the tmux-wrapping agent). Blocks until
|
|
607
|
-
* detach/exit; returns the kubectl exit status.
|
|
608
|
-
|
|
609
|
-
|
|
622
|
+
* detach/exit; returns the kubectl exit status (128+n when killed by signal).
|
|
623
|
+
*
|
|
624
|
+
* rev351-1: each `kubectl` spawn is wrapped individually (not the whole
|
|
625
|
+
* reconnect loop) so a killed `kubectl exec` resets the client terminal BEFORE
|
|
626
|
+
* the diagnostic + sleep. A kubectl killed by signal stops the loop and
|
|
627
|
+
* reports 128+n — never 0 (clean detach) and never a silent reconnect, so
|
|
628
|
+
* Ctrl-C stops instead of looping. With no signal trapping the wrapper itself
|
|
629
|
+
* also dies promptly on SIGINT/SIGTERM (no blocking).
|
|
630
|
+
*/
|
|
631
|
+
export declare function attachPodTmux(tunnel: TunnelConfig, sessionId: string, deps?: AttachPodTmuxDeps): number;
|
|
610
632
|
export {};
|
|
611
633
|
//# sourceMappingURL=tmux.d.ts.map
|
package/dist/tmux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux.js
CHANGED
|
@@ -17,10 +17,12 @@ import { defaultLocalH2aRoot } from "./h2a-bridge.js";
|
|
|
17
17
|
import { mkdtempSync, readFileSync, readdirSync, rmSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
18
18
|
import { basename, join } from "node:path";
|
|
19
19
|
import { homedir, tmpdir } from "node:os";
|
|
20
|
+
import { fileURLToPath } from "node:url";
|
|
20
21
|
import { readProcessObservation, readProcessTreeCpuMs, readProcView, readWorkerAttribution, readWorkerPid, resolveWorkerAttributionFromView, } from "./proc-cpu.js";
|
|
21
22
|
import { decideRelaunchSafety, isRelaunchKillable, } from "./relaunch.js";
|
|
22
23
|
import { LAUNCH_OPTION_PREFIX, buildLaunchContext, launchContextOptions, parseLaunchContext, redactSecrets, } from "./launch-context.js";
|
|
23
24
|
import { SESSION_CLASS_ENV } from "./session-class.js";
|
|
25
|
+
import { statusFromSpawnResult, withClientTerminalReset, } from "./terminal-reset.js";
|
|
24
26
|
const TMUX = "tmux";
|
|
25
27
|
/** Canonical tmux session-name prefix for h2a-managed local sessions. */
|
|
26
28
|
export const LOCAL_PREFIX = "h2a-";
|
|
@@ -106,6 +108,16 @@ else
|
|
|
106
108
|
fi
|
|
107
109
|
if [ "$code" -eq 0 ]; then state=done; else state=failed; fi
|
|
108
110
|
printf '{"state":"%s","exitCode":%s}\\n' "$state" "$code" >"$result"`;
|
|
111
|
+
/** Keep both terminal hosts on the same quota-aware run-once contract. */
|
|
112
|
+
export function headlessCommand(profile, command, args, result, log, prompt, outputFile) {
|
|
113
|
+
const modelIndex = args.indexOf("--model");
|
|
114
|
+
const model = modelIndex < 0 ? undefined : args[modelIndex + 1];
|
|
115
|
+
if (profile === "agy" && model?.startsWith("claude-")) {
|
|
116
|
+
return [process.execPath, fileURLToPath(new URL("./agy-headless.js", import.meta.url)),
|
|
117
|
+
result, log, prompt, model, outputFile ?? "", command, ...args];
|
|
118
|
+
}
|
|
119
|
+
return ["/bin/bash", "-lc", HEADLESS_WRAPPER, result, log, prompt, command, ...args];
|
|
120
|
+
}
|
|
109
121
|
/**
|
|
110
122
|
* The `remote run …` line that recreates this exact local session — shown when
|
|
111
123
|
* the CLI exits so the user can copy-paste it. Pure, exported for tests.
|
|
@@ -846,7 +858,7 @@ export function localSessionAgentPanePid(session) {
|
|
|
846
858
|
* startLocalSession unless `refuseExisting` is set for structured launches.
|
|
847
859
|
* Returns the session name + slug.
|
|
848
860
|
*/
|
|
849
|
-
export function startHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, tmuxProfile = getTmuxProfileConfig().profile, promptInput, refuseExisting = false, sessionClass, onCreateAttempt) {
|
|
861
|
+
export function startHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, tmuxProfile = getTmuxProfileConfig().profile, promptInput, refuseExisting = false, sessionClass, onCreateAttempt, outputFile) {
|
|
850
862
|
const slug = slugify(label);
|
|
851
863
|
const name = localSessionName(slug);
|
|
852
864
|
ensureScrollConfig(tmuxProfile);
|
|
@@ -883,14 +895,7 @@ export function startHeadlessSession(profile, command, cwd, args, resultJson, ou
|
|
|
883
895
|
"-c",
|
|
884
896
|
cwd,
|
|
885
897
|
...anthopicEnvUnsetCommandPrefix(),
|
|
886
|
-
|
|
887
|
-
"-lc",
|
|
888
|
-
HEADLESS_WRAPPER,
|
|
889
|
-
resultJson,
|
|
890
|
-
outputLog,
|
|
891
|
-
promptFile,
|
|
892
|
-
command,
|
|
893
|
-
...args,
|
|
898
|
+
...headlessCommand(profile, command, args, resultJson, outputLog, promptFile, outputFile),
|
|
894
899
|
], {
|
|
895
900
|
encoding: "utf8",
|
|
896
901
|
stdio: ["ignore", "pipe", "inherit"],
|
|
@@ -1589,12 +1594,14 @@ export async function startH2aWindowVerified(session, cwd, commandLine, agentPan
|
|
|
1589
1594
|
* detaches (Ctrl-b d) or the session ends. Returns the tmux exit status.
|
|
1590
1595
|
*/
|
|
1591
1596
|
export function attachLocalSession(name) {
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1597
|
+
return withClientTerminalReset(() => {
|
|
1598
|
+
ensureScrollConfig();
|
|
1599
|
+
const args = process.env.TMUX
|
|
1600
|
+
? ["switch-client", "-t", `=${name}`]
|
|
1601
|
+
: ["attach-session", "-t", `=${name}`];
|
|
1602
|
+
const r = spawnSync(TMUX, args, { stdio: "inherit" });
|
|
1603
|
+
return statusFromSpawnResult(r);
|
|
1604
|
+
});
|
|
1598
1605
|
}
|
|
1599
1606
|
export function currentTmuxSessionIs(name) {
|
|
1600
1607
|
if (!process.env.TMUX)
|
|
@@ -1606,8 +1613,10 @@ export function currentTmuxSessionIs(name) {
|
|
|
1606
1613
|
return r.status === 0 && r.stdout.trim() === name;
|
|
1607
1614
|
}
|
|
1608
1615
|
export function runLocalCliForeground(command, args) {
|
|
1609
|
-
|
|
1610
|
-
|
|
1616
|
+
return withClientTerminalReset(() => {
|
|
1617
|
+
const r = spawnSync(command, args, { stdio: "inherit" });
|
|
1618
|
+
return statusFromSpawnResult(r);
|
|
1619
|
+
});
|
|
1611
1620
|
}
|
|
1612
1621
|
/**
|
|
1613
1622
|
* Kill a local tmux session. A relaunch kill carries the pane generation that
|
|
@@ -2008,9 +2017,16 @@ export function procReaderDeps() {
|
|
|
2008
2017
|
* `kubectl exec -it`. The local terminal talks to tmux directly (no WS proxy),
|
|
2009
2018
|
* so scrollback + copy-to-local-clipboard (OSC52) work natively. Requires a
|
|
2010
2019
|
* tmux-backed session (Pod started by the tmux-wrapping agent). Blocks until
|
|
2011
|
-
* detach/exit; returns the kubectl exit status.
|
|
2020
|
+
* detach/exit; returns the kubectl exit status (128+n when killed by signal).
|
|
2021
|
+
*
|
|
2022
|
+
* rev351-1: each `kubectl` spawn is wrapped individually (not the whole
|
|
2023
|
+
* reconnect loop) so a killed `kubectl exec` resets the client terminal BEFORE
|
|
2024
|
+
* the diagnostic + sleep. A kubectl killed by signal stops the loop and
|
|
2025
|
+
* reports 128+n — never 0 (clean detach) and never a silent reconnect, so
|
|
2026
|
+
* Ctrl-C stops instead of looping. With no signal trapping the wrapper itself
|
|
2027
|
+
* also dies promptly on SIGINT/SIGTERM (no blocking).
|
|
2012
2028
|
*/
|
|
2013
|
-
export function attachPodTmux(tunnel, sessionId) {
|
|
2029
|
+
export function attachPodTmux(tunnel, sessionId, deps = {}) {
|
|
2014
2030
|
const env = { ...process.env };
|
|
2015
2031
|
if (tunnel.kubeconfig)
|
|
2016
2032
|
env.KUBECONFIG = expandHome(tunnel.kubeconfig);
|
|
@@ -2038,6 +2054,16 @@ export function attachPodTmux(tunnel, sessionId) {
|
|
|
2038
2054
|
"-s",
|
|
2039
2055
|
POD_TMUX_SESSION,
|
|
2040
2056
|
];
|
|
2057
|
+
const spawnKubectl = deps.spawnKubectl ??
|
|
2058
|
+
((a, e) => spawnSync("kubectl", [...a], { stdio: "inherit", env: e }));
|
|
2059
|
+
const sleepOnce = deps.sleepOnce ?? (() => spawnSync("sleep", ["1"], { stdio: "ignore" }));
|
|
2060
|
+
const stderr = deps.stderr ?? process.stderr;
|
|
2061
|
+
const runReset = (run) => {
|
|
2062
|
+
if (deps.reset !== undefined) {
|
|
2063
|
+
return withClientTerminalReset(run, deps.reset);
|
|
2064
|
+
}
|
|
2065
|
+
return withClientTerminalReset(run);
|
|
2066
|
+
};
|
|
2041
2067
|
// Long-lived `kubectl exec` streams corrupt over time ("tls: bad record MAC"
|
|
2042
2068
|
// / "next reader: local error" from the SPDY/WS executor): the terminal fills
|
|
2043
2069
|
// with garbage and the client dies, dumping the user back to their local
|
|
@@ -2049,19 +2075,25 @@ export function attachPodTmux(tunnel, sessionId) {
|
|
|
2049
2075
|
let quickFailures = 0;
|
|
2050
2076
|
for (;;) {
|
|
2051
2077
|
const startedAt = Date.now();
|
|
2052
|
-
const r =
|
|
2053
|
-
|
|
2078
|
+
const r = runReset(() => spawnKubectl(args, env));
|
|
2079
|
+
if (r.signal) {
|
|
2080
|
+
const status = statusFromSpawnResult(r);
|
|
2081
|
+
stderr.write(`[h2a] kubectl attach killed by ${String(r.signal)} (status ${status}) — not reconnecting. ` +
|
|
2082
|
+
`Re-run \`h2a attach ${sessionId} --exec\` once ready.\n`);
|
|
2083
|
+
return status;
|
|
2084
|
+
}
|
|
2085
|
+
const status = statusFromSpawnResult(r);
|
|
2054
2086
|
if (status === 0) {
|
|
2055
2087
|
// Clean detach (Ctrl-b d) or exit: the Pod session keeps running — tell
|
|
2056
2088
|
// the user how to get back in.
|
|
2057
|
-
|
|
2089
|
+
stderr.write(`[h2a] detached from ${sessionId} — re-attach: h2a attach ${sessionId} --exec\n`);
|
|
2058
2090
|
return 0;
|
|
2059
2091
|
}
|
|
2060
2092
|
const ranMs = Date.now() - startedAt;
|
|
2061
2093
|
if (ranMs < 3000) {
|
|
2062
2094
|
quickFailures += 1;
|
|
2063
2095
|
if (quickFailures >= 5) {
|
|
2064
|
-
|
|
2096
|
+
stderr.write(`[h2a] exec attach keeps failing immediately (status ${status}) — the Pod may be gone. ` +
|
|
2065
2097
|
`Re-run \`h2a attach ${sessionId} --exec\` once it's back.\n`);
|
|
2066
2098
|
return status;
|
|
2067
2099
|
}
|
|
@@ -2069,9 +2101,12 @@ export function attachPodTmux(tunnel, sessionId) {
|
|
|
2069
2101
|
else {
|
|
2070
2102
|
quickFailures = 0; // a real session that ran a while then dropped
|
|
2071
2103
|
}
|
|
2072
|
-
|
|
2104
|
+
stderr.write(`[h2a] exec stream dropped (status ${status} — e.g. "tls: bad record MAC" on a long kubectl exec). ` +
|
|
2073
2105
|
`Your Pod session is intact; reconnecting to its tmux… (Ctrl-C to stop)\n`);
|
|
2074
|
-
|
|
2106
|
+
const slept = runReset(sleepOnce);
|
|
2107
|
+
if (slept.signal) {
|
|
2108
|
+
return statusFromSpawnResult(slept);
|
|
2109
|
+
}
|
|
2075
2110
|
}
|
|
2076
2111
|
}
|
|
2077
2112
|
//# sourceMappingURL=tmux.js.map
|