agent-relay 10.1.0 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/lib/attach-drive.d.ts +72 -9
- package/dist/cli/lib/attach-drive.d.ts.map +1 -1
- package/dist/cli/lib/attach-drive.js +390 -94
- package/dist/cli/lib/attach-drive.js.map +1 -1
- package/dist/cli/lib/attach-passthrough.d.ts +22 -0
- package/dist/cli/lib/attach-passthrough.d.ts.map +1 -1
- package/dist/cli/lib/attach-passthrough.js +260 -58
- package/dist/cli/lib/attach-passthrough.js.map +1 -1
- package/dist/cli/lib/attach-view.d.ts +23 -4
- package/dist/cli/lib/attach-view.d.ts.map +1 -1
- package/dist/cli/lib/attach-view.js +77 -33
- package/dist/cli/lib/attach-view.js.map +1 -1
- package/dist/cli/lib/attach.d.ts +292 -10
- package/dist/cli/lib/attach.d.ts.map +1 -1
- package/dist/cli/lib/attach.js +496 -15
- package/dist/cli/lib/attach.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-drive.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-drive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attach-drive.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-drive.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,13 @@ export interface PassthroughDependencies {
|
|
|
64
64
|
env: NodeJS.ProcessEnv;
|
|
65
65
|
createWebSocket: PassthroughWebSocketFactory;
|
|
66
66
|
writeChunk: (chunk: string) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Tear down the backpressure-aware writer on detach: drop its pending queue
|
|
69
|
+
* and unhook its `'drain'` listener so nothing flushes to stdout after the
|
|
70
|
+
* session settles. Defaults to the writer created in {@link withDefaults};
|
|
71
|
+
* tests that inject their own `writeChunk` can omit it (no-op).
|
|
72
|
+
*/
|
|
73
|
+
disposeWriter?: () => void;
|
|
67
74
|
onSignal: PassthroughSignalRegistrar;
|
|
68
75
|
log: (...args: unknown[]) => void;
|
|
69
76
|
error: (...args: unknown[]) => void;
|
|
@@ -79,6 +86,20 @@ export interface PassthroughDependencies {
|
|
|
79
86
|
* it (degenerate terminal). Omitted by tests that want plain pass-through.
|
|
80
87
|
*/
|
|
81
88
|
createPredictiveEcho?: (opts: CreatePredictiveEchoOptions) => PredictiveEcho | null;
|
|
89
|
+
/**
|
|
90
|
+
* Minimum ms between status-line repaints (coalescing window). Defaults to a
|
|
91
|
+
* small positive value in production to shrink the per-chunk splice window;
|
|
92
|
+
* tests set `0` for immediate, deterministic paints.
|
|
93
|
+
*/
|
|
94
|
+
statusRepaintCoalesceMs?: number;
|
|
95
|
+
/**
|
|
96
|
+
* Interval (ms) at which the session re-asserts PTY resize ownership by
|
|
97
|
+
* re-sending its current size (single-resizer policy, #1247). Keeps an
|
|
98
|
+
* idle-but-live session from being superseded after the broker's
|
|
99
|
+
* stale-owner window; the broker treats a same-size re-assert as a no-op
|
|
100
|
+
* refresh (no SIGWINCH). Defaults to 60000. Set `0` to disable (tests).
|
|
101
|
+
*/
|
|
102
|
+
ownershipReassertMs?: number;
|
|
82
103
|
}
|
|
83
104
|
/** Discriminated union of broker events the `passthrough` client cares
|
|
84
105
|
* about. No `delivery_queued` / `agent_pending_drained` — there's no
|
|
@@ -87,6 +108,7 @@ export interface PassthroughDependencies {
|
|
|
87
108
|
export type PassthroughWsEvent = {
|
|
88
109
|
kind: 'worker_stream';
|
|
89
110
|
chunk: string;
|
|
111
|
+
offset?: number;
|
|
90
112
|
} | {
|
|
91
113
|
kind: 'other';
|
|
92
114
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-passthrough.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"attach-passthrough.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,22 +23,25 @@
|
|
|
23
23
|
* clarity than it saves.
|
|
24
24
|
*/
|
|
25
25
|
import { Buffer } from 'node:buffer';
|
|
26
|
+
import { randomUUID } from 'node:crypto';
|
|
27
|
+
import { StringDecoder } from 'node:string_decoder';
|
|
26
28
|
import WebSocket from 'ws';
|
|
27
|
-
import { captureAndRenderSnapshot,
|
|
29
|
+
import { captureAndRenderSnapshot, createBackpressureAwareWriter, DETACH_CLEANUP_DEADLINE_MS, pickInitialTerminalRows, prepareAttachTarget, resetLocalTerminalOnDetach, restoreInboundDeliveryModeOnDetach, StatusLineController, StreamSyncBuffer, switchInboundDeliveryModeOrAbort, syncInitialPtySize, } from '../lib/attach.js';
|
|
28
30
|
import { defaultStateDir, readConnectionFileFromDisk, toWsUrl, } from '../lib/broker-connection.js';
|
|
29
31
|
import { defaultExit, runSignalHandler } from '../lib/exit.js';
|
|
30
|
-
import { openPtyInputStream,
|
|
32
|
+
import { openPtyInputStream, releaseResizeOwnership, resizeWorker, } from './attach-drive.js';
|
|
31
33
|
import { createPredictiveEcho } from './predictive-echo-screen.js';
|
|
32
34
|
function withDefaults(overrides = {}) {
|
|
33
35
|
const fetchFn = overrides.fetch ?? ((input, init) => fetch(input, init));
|
|
36
|
+
const writer = createBackpressureAwareWriter(process.stdout);
|
|
34
37
|
return {
|
|
35
38
|
readConnectionFile: readConnectionFileFromDisk,
|
|
36
39
|
getDefaultStateDir: defaultStateDir,
|
|
37
40
|
env: process.env,
|
|
38
41
|
createWebSocket: (url, headers) => new WebSocket(url, { headers }),
|
|
39
|
-
writeChunk:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
writeChunk: writer.write,
|
|
43
|
+
disposeWriter: writer.dispose,
|
|
44
|
+
statusRepaintCoalesceMs: 40,
|
|
42
45
|
onSignal: (signal, handler) => {
|
|
43
46
|
const listener = () => runSignalHandler(handler);
|
|
44
47
|
process.on(signal, listener);
|
|
@@ -96,7 +99,8 @@ export function classifyWsEvent(rawMessage, name) {
|
|
|
96
99
|
const chunk = parsed.chunk;
|
|
97
100
|
if (typeof chunk !== 'string')
|
|
98
101
|
return { kind: 'other' };
|
|
99
|
-
|
|
102
|
+
const offset = typeof parsed.offset === 'number' ? parsed.offset : undefined;
|
|
103
|
+
return { kind: 'worker_stream', chunk, offset };
|
|
100
104
|
}
|
|
101
105
|
return { kind: 'other' };
|
|
102
106
|
}
|
|
@@ -150,31 +154,46 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
150
154
|
const flipResult = await switchInboundDeliveryModeOrAbort(connection, name, 'auto_inject', `ensure '${name}' is in passthrough session`, deps);
|
|
151
155
|
if (!flipResult)
|
|
152
156
|
return 1;
|
|
153
|
-
const { previousMode } = flipResult;
|
|
154
|
-
//
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
157
|
+
const { previousMode, sessionRevision } = flipResult;
|
|
158
|
+
// The mode is now flipped to `auto_inject`. If the user had an explicit
|
|
159
|
+
// `agent message hold` (manual_flush) active, killing the process with Ctrl+C
|
|
160
|
+
// before the session loop installs its handlers would strand the worker in
|
|
161
|
+
// auto_inject, silently cancelling their hold. Register early restore-and-exit
|
|
162
|
+
// handlers immediately; the loop disposes them once its own handlers are up.
|
|
163
|
+
let earlyHandled = false;
|
|
164
|
+
const earlyCleanups = [];
|
|
165
|
+
const earlyRestore = async () => {
|
|
166
|
+
if (earlyHandled)
|
|
167
|
+
return;
|
|
168
|
+
earlyHandled = true;
|
|
169
|
+
for (const cleanup of earlyCleanups.splice(0)) {
|
|
170
|
+
try {
|
|
171
|
+
cleanup();
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
// best effort
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
await restoreInboundDeliveryModeOnDetach(connection, name, previousMode, 'auto_inject', sessionRevision, 'passthrough', deps);
|
|
178
|
+
deps.exit(0);
|
|
161
179
|
};
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
let terminalRows = pickInitialTerminalRows(initialLocalSize, snapshotResult.snapshotRows);
|
|
173
|
-
const paintStatus = () => {
|
|
174
|
-
deps.writeChunk(renderStatusLine({ name, mode: 'auto_inject', rows: terminalRows }));
|
|
180
|
+
const disposeEarlySignals = () => {
|
|
181
|
+
earlyHandled = true;
|
|
182
|
+
for (const cleanup of earlyCleanups.splice(0)) {
|
|
183
|
+
try {
|
|
184
|
+
cleanup();
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
// best effort
|
|
188
|
+
}
|
|
189
|
+
}
|
|
175
190
|
};
|
|
176
|
-
|
|
177
|
-
|
|
191
|
+
for (const signal of ['SIGINT', 'SIGTERM']) {
|
|
192
|
+
const cleanup = deps.onSignal(signal, earlyRestore);
|
|
193
|
+
if (typeof cleanup === 'function')
|
|
194
|
+
earlyCleanups.push(cleanup);
|
|
195
|
+
}
|
|
196
|
+
const initialLocalSize = deps.terminal.getSize();
|
|
178
197
|
const wsUrl = toWsUrl(connection.url);
|
|
179
198
|
const headers = {};
|
|
180
199
|
if (connection.apiKey) {
|
|
@@ -184,31 +203,87 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
184
203
|
let settled = false;
|
|
185
204
|
let rawModeWasSet = false;
|
|
186
205
|
let unsubscribeResize = null;
|
|
206
|
+
// Per-attach id for the single-resizer policy (#1247). See attach-drive.ts.
|
|
207
|
+
const resizeSessionId = randomUUID();
|
|
208
|
+
// In-flight resize requests, awaited before release on detach so a late
|
|
209
|
+
// SIGWINCH resize can't re-claim after the release (detach race, #1247).
|
|
210
|
+
const outstandingResizes = new Set();
|
|
211
|
+
const trackResize = (p) => {
|
|
212
|
+
outstandingResizes.add(p);
|
|
213
|
+
void p.finally(() => outstandingResizes.delete(p));
|
|
214
|
+
};
|
|
215
|
+
// Periodic ownership re-assert timer (see `ownershipReassertMs`).
|
|
216
|
+
let reassertTimer = null;
|
|
187
217
|
const parser = new PassthroughKeybindParser();
|
|
218
|
+
// Stateful UTF-8 decoder for forwarded stdin — a multi-byte character split
|
|
219
|
+
// across stdin chunks would otherwise become U+FFFD. See attach-drive.ts.
|
|
220
|
+
const inputDecoder = new StringDecoder('utf8');
|
|
188
221
|
let inputStream = null;
|
|
189
222
|
const cleanupSignals = [];
|
|
223
|
+
// Skip the status line entirely when stdout is not a TTY (piped output).
|
|
224
|
+
const statusLineEnabled = initialLocalSize !== null;
|
|
225
|
+
// Subscribe-first: buffer live `worker_stream` chunks until the snapshot
|
|
226
|
+
// is painted and reconciled against its per-worker offset (no lost/dup
|
|
227
|
+
// output around attach time). See StreamSyncBuffer.
|
|
228
|
+
const sync = new StreamSyncBuffer();
|
|
229
|
+
let terminalRows = pickInitialTerminalRows(initialLocalSize, undefined);
|
|
190
230
|
// Adaptive predictive echo masks round-trip latency on remote brokers.
|
|
191
|
-
// Seeded with the snapshot so its confirmed model
|
|
231
|
+
// Seeded with the snapshot (after it is painted) so its confirmed model
|
|
232
|
+
// matches the screen.
|
|
192
233
|
const predictiveEcho = deps.createPredictiveEcho?.({
|
|
193
234
|
cols: initialLocalSize?.cols ?? 0,
|
|
194
235
|
rows: initialLocalSize?.rows ?? 0,
|
|
195
236
|
write: deps.writeChunk,
|
|
196
237
|
getInputSrtt: () => inputStream?.srttMs ?? null,
|
|
197
238
|
}) ?? null;
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
239
|
+
// Tee the snapshot's painted bytes so we can seed the predictive-echo
|
|
240
|
+
// model with them — its cursor must match the real screen before we
|
|
241
|
+
// optimistically echo, or predicted glyphs land at the wrong position.
|
|
242
|
+
let snapshotBytes = '';
|
|
243
|
+
// Guard the snapshot paint on `settled`: a Ctrl+C during the snapshot HTTP
|
|
244
|
+
// fetch would otherwise paint the snapshot after teardown began (the render
|
|
245
|
+
// runs inside the awaited `captureAndRenderSnapshot`, past the WS guard).
|
|
246
|
+
const captureWrite = (chunk) => {
|
|
247
|
+
if (settled)
|
|
248
|
+
return;
|
|
249
|
+
deps.writeChunk(chunk);
|
|
250
|
+
snapshotBytes += chunk;
|
|
251
|
+
};
|
|
252
|
+
// Boundary-held + coalesced status painter (skips non-TTY stdout).
|
|
253
|
+
const statusController = new StatusLineController({
|
|
254
|
+
render: () => renderStatusLine({ name, mode: 'auto_inject', rows: terminalRows }),
|
|
255
|
+
write: deps.writeChunk,
|
|
256
|
+
enabled: statusLineEnabled,
|
|
257
|
+
coalesceMs: deps.statusRepaintCoalesceMs ?? 40,
|
|
258
|
+
});
|
|
259
|
+
const paintStatus = () => {
|
|
260
|
+
statusController.request();
|
|
261
|
+
};
|
|
262
|
+
// Route server output through the predictive-echo engine (which owns
|
|
263
|
+
// cursor save/restore) or straight to stdout, then repaint the status.
|
|
264
|
+
const applyServerOutput = (chunk) => {
|
|
265
|
+
statusController.observeOutput(chunk);
|
|
266
|
+
if (predictiveEcho) {
|
|
267
|
+
void predictiveEcho.onServerOutput(chunk).then(paintStatus, paintStatus);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
deps.writeChunk(chunk);
|
|
271
|
+
paintStatus();
|
|
272
|
+
}
|
|
273
|
+
};
|
|
201
274
|
const resizeHandler = () => {
|
|
202
275
|
const size = deps.terminal.getSize();
|
|
203
276
|
if (!size)
|
|
204
277
|
return;
|
|
205
278
|
terminalRows = size.rows;
|
|
206
279
|
predictiveEcho?.onResize(size.cols, size.rows);
|
|
207
|
-
|
|
280
|
+
trackResize(resizeWorker(connection, name, size.rows, size.cols, deps.fetch, {
|
|
281
|
+
sessionId: resizeSessionId,
|
|
282
|
+
}).then((res) => {
|
|
208
283
|
if (!res.ok) {
|
|
209
284
|
deps.log(`[passthrough] resize forward failed: ${res.message ?? 'unknown error'}`);
|
|
210
285
|
}
|
|
211
|
-
});
|
|
286
|
+
}));
|
|
212
287
|
paintStatus();
|
|
213
288
|
};
|
|
214
289
|
const stdinDataHandler = (chunk) => {
|
|
@@ -219,15 +294,20 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
219
294
|
deps.log('[passthrough] input stream is not ready');
|
|
220
295
|
return;
|
|
221
296
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
297
|
+
// Decode through the stateful UTF-8 decoder so a multi-byte character
|
|
298
|
+
// split across stdin chunks is forwarded intact rather than as U+FFFD.
|
|
299
|
+
const decoded = inputDecoder.write(outcome.forward);
|
|
300
|
+
if (decoded.length > 0) {
|
|
301
|
+
void stream.send(decoded).catch((err) => {
|
|
302
|
+
if (settled)
|
|
303
|
+
return;
|
|
304
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
305
|
+
deps.log(`[passthrough] input stream send failed: ${message}`);
|
|
306
|
+
// The keystroke never reached the PTY — drop any optimistic echo
|
|
307
|
+
// for it so the screen doesn't show input the agent didn't get.
|
|
308
|
+
predictiveEcho?.rollback();
|
|
309
|
+
});
|
|
310
|
+
}
|
|
231
311
|
predictiveEcho?.onUserInput(outcome.forward);
|
|
232
312
|
}
|
|
233
313
|
for (const action of outcome.actions) {
|
|
@@ -258,6 +338,15 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
258
338
|
catch {
|
|
259
339
|
// best effort
|
|
260
340
|
}
|
|
341
|
+
try {
|
|
342
|
+
// Heal the local terminal on detach: the snapshot + live stream may
|
|
343
|
+
// have left it in app-cursor / mouse / bracketed-paste / alt-screen
|
|
344
|
+
// mode. Gate on TTY stdout (same signal as the status line).
|
|
345
|
+
resetLocalTerminalOnDetach(deps.writeChunk, statusLineEnabled);
|
|
346
|
+
}
|
|
347
|
+
catch {
|
|
348
|
+
// best effort
|
|
349
|
+
}
|
|
261
350
|
try {
|
|
262
351
|
deps.stdin.pause();
|
|
263
352
|
}
|
|
@@ -273,6 +362,15 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
273
362
|
catch {
|
|
274
363
|
// best effort
|
|
275
364
|
}
|
|
365
|
+
try {
|
|
366
|
+
if (reassertTimer) {
|
|
367
|
+
clearInterval(reassertTimer);
|
|
368
|
+
reassertTimer = null;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
catch {
|
|
372
|
+
// best effort
|
|
373
|
+
}
|
|
276
374
|
rawModeWasSet = false;
|
|
277
375
|
};
|
|
278
376
|
const closeInputStream = () => {
|
|
@@ -291,6 +389,9 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
291
389
|
if (settled)
|
|
292
390
|
return;
|
|
293
391
|
settled = true;
|
|
392
|
+
// Stop the status painter before restoring cooked mode so no queued
|
|
393
|
+
// repaint sprays output past detach.
|
|
394
|
+
statusController.dispose();
|
|
294
395
|
for (const cleanup of cleanupSignals.splice(0)) {
|
|
295
396
|
try {
|
|
296
397
|
cleanup();
|
|
@@ -302,15 +403,54 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
302
403
|
teardownStdin();
|
|
303
404
|
predictiveEcho?.reset();
|
|
304
405
|
closeInputStream();
|
|
406
|
+
// Release resize ownership so the next client can size the shared PTY.
|
|
407
|
+
// Await any in-flight resizes first so a late one can't re-claim the PTY
|
|
408
|
+
// after the release lands (detach race, #1247). `teardownStdin` already
|
|
409
|
+
// stopped the resize handler and re-assert timer, so nothing new is
|
|
410
|
+
// enqueued past this point.
|
|
411
|
+
const releasePromise = (async () => {
|
|
412
|
+
try {
|
|
413
|
+
if (outstandingResizes.size > 0) {
|
|
414
|
+
await Promise.allSettled([...outstandingResizes]);
|
|
415
|
+
}
|
|
416
|
+
await releaseResizeOwnership(connection, name, resizeSessionId, deps.fetch);
|
|
417
|
+
}
|
|
418
|
+
catch {
|
|
419
|
+
// Best-effort — the broker's idle-takeover net still frees ownership.
|
|
420
|
+
}
|
|
421
|
+
})();
|
|
305
422
|
try {
|
|
306
423
|
socket.close(1000, 'passthrough client exiting');
|
|
307
424
|
}
|
|
308
425
|
catch {
|
|
309
426
|
// best effort
|
|
310
427
|
}
|
|
311
|
-
//
|
|
312
|
-
//
|
|
313
|
-
|
|
428
|
+
// Drop the writer's pending queue and unhook its drain listener so no
|
|
429
|
+
// buffered chunk flushes to stdout after detach.
|
|
430
|
+
deps.disposeWriter?.();
|
|
431
|
+
// Best-effort restore: re-read and only revert if the mode is still what
|
|
432
|
+
// this session set, so we don't clobber another session's change or
|
|
433
|
+
// force a default when the pre-attach mode was unknown.
|
|
434
|
+
//
|
|
435
|
+
// Await the release alongside the restore before resolving: `resolve`
|
|
436
|
+
// typically ends the process, which aborts any still-pending fetch. The
|
|
437
|
+
// release awaits `outstandingResizes` first, so it would otherwise lose
|
|
438
|
+
// the race to the restore and be aborted, defeating the detach-race fix.
|
|
439
|
+
//
|
|
440
|
+
// Bound the wait: both are best-effort HTTP round-trips that can stall if
|
|
441
|
+
// the broker is down, and terminal exit must not hang on them. Resolve
|
|
442
|
+
// once they settle or after DETACH_CLEANUP_DEADLINE_MS, whichever first.
|
|
443
|
+
const cleanup = Promise.allSettled([
|
|
444
|
+
releasePromise,
|
|
445
|
+
restoreInboundDeliveryModeOnDetach(connection, name, previousMode, 'auto_inject', sessionRevision, 'passthrough', deps),
|
|
446
|
+
]);
|
|
447
|
+
let deadlineTimer;
|
|
448
|
+
const deadline = new Promise((res) => {
|
|
449
|
+
deadlineTimer = setTimeout(res, DETACH_CLEANUP_DEADLINE_MS);
|
|
450
|
+
});
|
|
451
|
+
void Promise.race([cleanup, deadline]).finally(() => {
|
|
452
|
+
if (deadlineTimer !== undefined)
|
|
453
|
+
clearTimeout(deadlineTimer);
|
|
314
454
|
resolve(code);
|
|
315
455
|
});
|
|
316
456
|
};
|
|
@@ -330,6 +470,25 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
330
470
|
deps.stdin.resume();
|
|
331
471
|
deps.stdin.on('data', stdinDataHandler);
|
|
332
472
|
unsubscribeResize = deps.terminal.onResize(resizeHandler);
|
|
473
|
+
// Periodic ownership re-assert (see `ownershipReassertMs`): keeps the
|
|
474
|
+
// single-resizer lease alive on an idle-but-live session; the broker
|
|
475
|
+
// no-ops a same-size re-assert (no SIGWINCH/repaint).
|
|
476
|
+
const reassertMs = deps.ownershipReassertMs ?? 60_000;
|
|
477
|
+
if (reassertMs > 0) {
|
|
478
|
+
reassertTimer = setInterval(() => {
|
|
479
|
+
const size = deps.terminal.getSize() ?? initialLocalSize;
|
|
480
|
+
if (!size)
|
|
481
|
+
return;
|
|
482
|
+
trackResize(resizeWorker(connection, name, size.rows, size.cols, deps.fetch, {
|
|
483
|
+
sessionId: resizeSessionId,
|
|
484
|
+
}).then((res) => {
|
|
485
|
+
if (!res.ok) {
|
|
486
|
+
deps.log(`[passthrough] resize ownership re-assert failed: ${res.message ?? 'unknown error'}`);
|
|
487
|
+
}
|
|
488
|
+
}));
|
|
489
|
+
}, reassertMs);
|
|
490
|
+
reassertTimer.unref?.();
|
|
491
|
+
}
|
|
333
492
|
}
|
|
334
493
|
catch (err) {
|
|
335
494
|
if (settled)
|
|
@@ -339,29 +498,72 @@ export async function runPassthroughSession(agentName, options, deps) {
|
|
|
339
498
|
finish(1);
|
|
340
499
|
}
|
|
341
500
|
};
|
|
501
|
+
// Runs once the event WS is subscribed: paint the snapshot, seed
|
|
502
|
+
// predictive echo, reconcile buffered live output, forward the initial
|
|
503
|
+
// resize (now that we're subscribed, so its SIGWINCH repaint lands in the
|
|
504
|
+
// live stream rather than a dead zone), then take over stdin.
|
|
505
|
+
const onSubscribed = async () => {
|
|
506
|
+
const snapshot = await deps.captureAndRenderSnapshot({ url: connection.url, apiKey: connection.apiKey }, name, { fetch: deps.fetch, writeChunk: captureWrite });
|
|
507
|
+
if (settled)
|
|
508
|
+
return;
|
|
509
|
+
switch (snapshot.status) {
|
|
510
|
+
case 'ok':
|
|
511
|
+
break;
|
|
512
|
+
case 'not_found':
|
|
513
|
+
deps.error(`Error: ${snapshot.message ?? `no agent named '${name}'`}`);
|
|
514
|
+
finish(1);
|
|
515
|
+
return;
|
|
516
|
+
case 'no_pty':
|
|
517
|
+
deps.error(`Error: ${snapshot.message ?? `agent '${name}' has no PTY to attach to`}`);
|
|
518
|
+
finish(1);
|
|
519
|
+
return;
|
|
520
|
+
case 'unavailable':
|
|
521
|
+
case 'transport_error':
|
|
522
|
+
deps.log(`[passthrough] could not capture initial screen (${snapshot.message ?? snapshot.status}); streaming live output only`);
|
|
523
|
+
break;
|
|
524
|
+
}
|
|
525
|
+
if (predictiveEcho)
|
|
526
|
+
void predictiveEcho.seed(snapshotBytes);
|
|
527
|
+
terminalRows = pickInitialTerminalRows(initialLocalSize, snapshot.rows);
|
|
528
|
+
// Track the snapshot bytes for boundary state before the first repaint.
|
|
529
|
+
statusController.observeOutput(snapshotBytes);
|
|
530
|
+
paintStatus();
|
|
531
|
+
// Reconcile buffered chunks. On `ok`, drop what the snapshot already
|
|
532
|
+
// reflects (by offset); with no offset this drops the pre-snapshot
|
|
533
|
+
// buffer (snapshot-authoritative, matching the legacy behaviour). On a
|
|
534
|
+
// transient snapshot failure nothing was painted, so apply everything.
|
|
535
|
+
const pending = snapshot.status === 'ok' ? sync.reconcile(snapshot.offset) : sync.flushAll();
|
|
536
|
+
for (const chunk of pending)
|
|
537
|
+
applyServerOutput(chunk);
|
|
538
|
+
const initialResize = syncInitialPtySize(connection, name, initialLocalSize, 'passthrough', deps, {
|
|
539
|
+
sessionId: resizeSessionId,
|
|
540
|
+
});
|
|
541
|
+
trackResize(initialResize);
|
|
542
|
+
await initialResize;
|
|
543
|
+
if (settled)
|
|
544
|
+
return;
|
|
545
|
+
await openInputStreamAndTakeStdin();
|
|
546
|
+
};
|
|
547
|
+
// Hand off from the early restore handlers to the fuller loop handlers.
|
|
548
|
+
disposeEarlySignals();
|
|
342
549
|
for (const signal of ['SIGINT', 'SIGTERM']) {
|
|
343
550
|
const cleanup = deps.onSignal(signal, () => finish(0));
|
|
344
551
|
if (typeof cleanup === 'function')
|
|
345
552
|
cleanupSignals.push(cleanup);
|
|
346
553
|
}
|
|
347
554
|
socket.on('open', () => {
|
|
348
|
-
void
|
|
555
|
+
void onSubscribed();
|
|
349
556
|
});
|
|
350
557
|
socket.on('message', (data) => {
|
|
558
|
+
// Drop inbound frames once teardown has begun (no output past detach).
|
|
559
|
+
if (settled)
|
|
560
|
+
return;
|
|
351
561
|
const text = typeof data === 'string' ? data : Buffer.isBuffer(data) ? data.toString('utf-8') : String(data);
|
|
352
562
|
const event = classifyWsEvent(text, name);
|
|
353
563
|
switch (event.kind) {
|
|
354
564
|
case 'worker_stream':
|
|
355
|
-
if (
|
|
356
|
-
|
|
357
|
-
// before writing server bytes when predictions are live);
|
|
358
|
-
// repaint the status line once it has flushed.
|
|
359
|
-
void predictiveEcho.onServerOutput(event.chunk).then(paintStatus, paintStatus);
|
|
360
|
-
}
|
|
361
|
-
else {
|
|
362
|
-
deps.writeChunk(event.chunk);
|
|
363
|
-
paintStatus();
|
|
364
|
-
}
|
|
565
|
+
if (sync.push(event.chunk, event.offset))
|
|
566
|
+
applyServerOutput(event.chunk);
|
|
365
567
|
break;
|
|
366
568
|
case 'other':
|
|
367
569
|
break;
|