agent-relay 11.7.1 → 11.8.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.
Files changed (44) hide show
  1. package/dist/cli/commands/fleet-agent.d.ts +1 -14
  2. package/dist/cli/commands/fleet-agent.d.ts.map +1 -1
  3. package/dist/cli/commands/fleet-agent.js +0 -0
  4. package/dist/cli/commands/fleet-agent.js.map +1 -1
  5. package/dist/cli/commands/local-agent.d.ts.map +1 -1
  6. package/dist/cli/commands/local-agent.js +5 -1
  7. package/dist/cli/commands/local-agent.js.map +1 -1
  8. package/dist/cli/lib/attach-broker.d.ts.map +1 -1
  9. package/dist/cli/lib/attach-broker.js +6 -1
  10. package/dist/cli/lib/attach-broker.js.map +1 -1
  11. package/dist/cli/lib/attach-drive.d.ts +3 -11
  12. package/dist/cli/lib/attach-drive.d.ts.map +1 -1
  13. package/dist/cli/lib/attach-drive.js +5 -1
  14. package/dist/cli/lib/attach-drive.js.map +1 -1
  15. package/dist/cli/lib/attach-fleet-node.d.ts +16 -0
  16. package/dist/cli/lib/attach-fleet-node.d.ts.map +1 -1
  17. package/dist/cli/lib/attach-fleet-node.js +299 -27
  18. package/dist/cli/lib/attach-fleet-node.js.map +1 -1
  19. package/dist/cli/lib/attach-passthrough.d.ts +1 -0
  20. package/dist/cli/lib/attach-passthrough.d.ts.map +1 -1
  21. package/dist/cli/lib/attach-passthrough.js +5 -1
  22. package/dist/cli/lib/attach-passthrough.js.map +1 -1
  23. package/dist/cli/lib/attach-view.d.ts +3 -0
  24. package/dist/cli/lib/attach-view.d.ts.map +1 -1
  25. package/dist/cli/lib/attach-view.js +6 -1
  26. package/dist/cli/lib/attach-view.js.map +1 -1
  27. package/dist/cli/lib/attach.d.ts +2 -0
  28. package/dist/cli/lib/attach.d.ts.map +1 -1
  29. package/dist/cli/lib/attach.js +1 -1
  30. package/dist/cli/lib/attach.js.map +1 -1
  31. package/dist/cli/lib/broker-connection.d.ts +4 -0
  32. package/dist/cli/lib/broker-connection.d.ts.map +1 -1
  33. package/dist/cli/lib/broker-connection.js +1 -0
  34. package/dist/cli/lib/broker-connection.js.map +1 -1
  35. package/dist/cli/lib/collect-with-retry.d.ts +24 -0
  36. package/dist/cli/lib/collect-with-retry.d.ts.map +1 -0
  37. package/dist/cli/lib/collect-with-retry.js +33 -0
  38. package/dist/cli/lib/collect-with-retry.js.map +1 -0
  39. package/dist/cli/lib/node-provider-child.d.ts +2 -0
  40. package/dist/cli/lib/node-provider-child.d.ts.map +1 -1
  41. package/dist/cli/lib/node-provider-child.js +11 -0
  42. package/dist/cli/lib/node-provider-child.js.map +1 -1
  43. package/dist/index.cjs +342 -229
  44. package/package.json +9 -9
@@ -12,12 +12,41 @@ import { once } from 'node:events';
12
12
  import { Buffer } from 'node:buffer';
13
13
  import { randomBytes } from 'node:crypto';
14
14
  import WebSocket, { WebSocketServer } from 'ws';
15
+ import { collectWithRetry } from './collect-with-retry.js';
15
16
  import { resolveBaseUrl, resolveWorkspaceKey } from './sdk-client.js';
16
17
  const MAX_BUFFERED_BYTES = 1024 * 1024;
17
- const SNAPSHOT_WAIT_MS = 10_000;
18
+ const MAX_WEBSOCKET_CLOSE_REASON_BYTES = 123;
19
+ // Use the same finite 30s request window as the broker's Relaycast HTTP calls.
20
+ // Terminal-session creation can exceed the shorter startup-handshake latency
21
+ // under load, and this POST cannot be replayed safely after an ambiguous client
22
+ // timeout because allocation may have completed server-side.
23
+ const SESSION_REQUEST_TIMEOUT_MS = 30_000;
24
+ // Immediate structured reachability failures still receive the complete
25
+ // five-attempt/31.2s retry schedule, while slow responses cannot multiply the
26
+ // per-attempt timeout into a roughly three-minute CLI hang.
27
+ const SESSION_REQUEST_TOTAL_TIMEOUT_MS = 90_000;
28
+ const SESSION_REQUEST_RETRIES = 4;
29
+ // The fleet node publishes liveness every 12s. With four retries, the helper's
30
+ // deterministic delays are 6s, 7.2s, 8.4s, and 9.6s: 31.2s total. That spans
31
+ // more than two heartbeat intervals and matches the established terminal
32
+ // transport's bounded recovery window instead of exhausting every retry inside
33
+ // the same stale control-plane read.
34
+ const SESSION_REQUEST_RETRY_DELAY_MS = 6_000;
35
+ const TERMINAL_CONNECT_TIMEOUT_MS = 10_000;
18
36
  const INITIAL_RECONNECT_DELAY_MS = 500;
19
37
  const MAX_RECONNECT_DELAY_MS = 30_000;
20
- const MAX_RECONNECT_ATTEMPTS = 5;
38
+ // Six delays (0.5s + 1s + 2s + 4s + 8s + 16s) cover the node terminal
39
+ // transport's independent 30s maximum reconnect backoff without leaving this
40
+ // client unbounded. Five attempts previously stopped after only 15.5s.
41
+ const MAX_RECONNECT_ATTEMPTS = 6;
42
+ // Bounds the acknowledgement for a delivery-mode command after readiness.
43
+ // The command is not replayable across reconnects, so this is intentionally a
44
+ // separate post-readiness phase rather than another full reconnect window.
45
+ const DELIVERY_MODE_TIMEOUT_MS = 10_000;
46
+ // The caller starts its HTTP deadline before the loopback handler starts its
47
+ // readiness timer. Leave a small response-delivery margin so the proxy's
48
+ // actionable readiness error wins that race.
49
+ const LOOPBACK_REQUEST_TIMEOUT_MARGIN_MS = 1_000;
21
50
  export class FleetNodeAttachError extends Error {
22
51
  code;
23
52
  constructor(message, code) {
@@ -26,6 +55,17 @@ export class FleetNodeAttachError extends Error {
26
55
  this.name = 'FleetNodeAttachError';
27
56
  }
28
57
  }
58
+ class TerminalSessionAttemptError extends FleetNodeAttachError {
59
+ status;
60
+ retryable;
61
+ completionUnknown;
62
+ constructor(message, code, status, retryable, completionUnknown) {
63
+ super(message, code);
64
+ this.status = status;
65
+ this.retryable = retryable;
66
+ this.completionUnknown = completionUnknown;
67
+ }
68
+ }
29
69
  /**
30
70
  * Canonical HTTP status for a terminal failure code.
31
71
  *
@@ -107,6 +147,84 @@ function rawDataToString(data) {
107
147
  return Buffer.concat(data).toString('utf8');
108
148
  return String(data);
109
149
  }
150
+ function diagnosticEndpoint(value) {
151
+ try {
152
+ const url = new URL(value);
153
+ url.username = '';
154
+ url.password = '';
155
+ url.search = '';
156
+ url.hash = '';
157
+ return url.toString();
158
+ }
159
+ catch {
160
+ return '(invalid endpoint)';
161
+ }
162
+ }
163
+ function diagnosticEndpointOrigin(value) {
164
+ try {
165
+ return new URL(value).origin;
166
+ }
167
+ catch {
168
+ return '(invalid endpoint)';
169
+ }
170
+ }
171
+ function boundedWebSocketCloseReason(reason) {
172
+ const encoded = Buffer.from(reason, 'utf8');
173
+ if (encoded.length <= MAX_WEBSOCKET_CLOSE_REASON_BYTES)
174
+ return reason;
175
+ const suffix = Buffer.from('…', 'utf8');
176
+ let end = MAX_WEBSOCKET_CLOSE_REASON_BYTES - suffix.length;
177
+ // Do not cut through a UTF-8 continuation sequence. Excluding the leading
178
+ // byte at this boundary also excludes the incomplete code point.
179
+ while (end > 0 && (encoded[end] & 0xc0) === 0x80)
180
+ end -= 1;
181
+ return Buffer.concat([encoded.subarray(0, end), suffix]).toString('utf8');
182
+ }
183
+ function diagnosticValue(value) {
184
+ // JSON quoting keeps node names and upstream text from injecting terminal
185
+ // control characters into the operator-facing error.
186
+ return JSON.stringify(value);
187
+ }
188
+ function resolvedNodeIdFromTerminalUrl(value) {
189
+ try {
190
+ const match = /^\/v1\/nodes\/([^/]+)\/terminal\/connect$/.exec(new URL(value).pathname);
191
+ return match?.[1] ? decodeURIComponent(match[1]) : undefined;
192
+ }
193
+ catch {
194
+ return undefined;
195
+ }
196
+ }
197
+ function retryDelayBudgetMs(attempts, initialMs, maxMs) {
198
+ let total = 0;
199
+ for (let attempt = 0; attempt < attempts; attempt += 1) {
200
+ total += Math.min(initialMs * 2 ** attempt, maxMs);
201
+ }
202
+ return total;
203
+ }
204
+ function terminalSessionFailureSummary(error) {
205
+ if (error.code === 'node_not_found')
206
+ return 'Control-plane node lookup found no matching record';
207
+ if (error.code === 'node_unreachable') {
208
+ return /no terminal transport/i.test(error.message)
209
+ ? 'The node record was found, but its terminal transport was unavailable'
210
+ : 'The control plane classified the node as unreachable';
211
+ }
212
+ if (error.code === 'terminal_session_unavailable') {
213
+ return 'The control plane could not allocate a terminal session';
214
+ }
215
+ if (error.code === 'control_plane_timeout')
216
+ return 'Control-plane terminal-session lookup timed out';
217
+ if (error.code === 'control_plane_unavailable')
218
+ return 'Control-plane terminal-session lookup failed';
219
+ return 'The terminal-session request was rejected';
220
+ }
221
+ function isRetryableTerminalSessionFailure(code) {
222
+ // These structured responses are emitted before a session is returned, so
223
+ // retrying cannot duplicate a successful allocation. A fetch timeout,
224
+ // network failure, or unclassified 5xx is different: this POST may already
225
+ // have completed server-side, and retrying it could create a second session.
226
+ return code === 'node_unreachable' || code === 'terminal_session_unavailable';
227
+ }
110
228
  /** Start a broker-compatible loopback proxy for one remote terminal session. */
111
229
  export async function startFleetNodeAttachProxy(options) {
112
230
  const env = options.env ?? process.env;
@@ -114,20 +232,113 @@ export async function startFleetNodeAttachProxy(options) {
114
232
  const workspaceKey = options.workspaceKey ?? resolveWorkspaceKey({ env });
115
233
  const baseUrl = (options.baseUrl ?? resolveBaseUrl({ env }) ?? 'https://cast.agentrelay.com').replace(/\/+$/, '');
116
234
  const nodePath = safeNodePath(options.node);
117
- const ticketResponse = await fetchFn(`${baseUrl}/v1/nodes/${nodePath}/terminal/sessions`, {
118
- method: 'POST',
119
- headers: { Authorization: `Bearer ${workspaceKey}`, 'Content-Type': 'application/json' },
120
- body: JSON.stringify({ agent: options.agent, mode: options.mode }),
235
+ const sessionEndpoint = `${baseUrl}/v1/nodes/${nodePath}/terminal/sessions`;
236
+ const sessionRequestTimeoutMs = options.sessionRequest?.timeoutMs ?? SESSION_REQUEST_TIMEOUT_MS;
237
+ const sessionRequestTotalTimeoutMs = options.sessionRequest?.totalTimeoutMs ?? SESSION_REQUEST_TOTAL_TIMEOUT_MS;
238
+ const sessionRequestDeadline = Date.now() + sessionRequestTotalTimeoutMs;
239
+ const sessionRequestSleep = options.sessionRequest?.sleep ??
240
+ ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
241
+ let sessionRequestAttempts = 0;
242
+ let sessionRequestBudgetExhaustedBetweenAttempts = false;
243
+ let lastSessionError;
244
+ const sessionResult = await collectWithRetry('terminal session request', async () => {
245
+ const remainingRequestBudgetMs = sessionRequestDeadline - Date.now();
246
+ if (remainingRequestBudgetMs <= 0) {
247
+ sessionRequestBudgetExhaustedBetweenAttempts = true;
248
+ const exhausted = lastSessionError === undefined
249
+ ? new TerminalSessionAttemptError('overall terminal-session request deadline exhausted', 'control_plane_timeout', undefined, false, false)
250
+ : new TerminalSessionAttemptError(lastSessionError.message, lastSessionError.code, lastSessionError.status, false, lastSessionError.completionUnknown);
251
+ lastSessionError = exhausted;
252
+ throw exhausted;
253
+ }
254
+ sessionRequestAttempts += 1;
255
+ const controller = new AbortController();
256
+ let timedOut = false;
257
+ const attemptTimeoutMs = Math.min(sessionRequestTimeoutMs, remainingRequestBudgetMs);
258
+ const timeout = setTimeout(() => {
259
+ timedOut = true;
260
+ controller.abort();
261
+ }, attemptTimeoutMs);
262
+ let ticketResponse;
263
+ let ticketPayload;
264
+ try {
265
+ ticketResponse = await fetchFn(sessionEndpoint, {
266
+ method: 'POST',
267
+ headers: { Authorization: `Bearer ${workspaceKey}`, 'Content-Type': 'application/json' },
268
+ body: JSON.stringify({ agent: options.agent, mode: options.mode }),
269
+ signal: controller.signal,
270
+ });
271
+ const parsedPayload = (await ticketResponse.json());
272
+ ticketPayload =
273
+ parsedPayload && typeof parsedPayload === 'object' && !Array.isArray(parsedPayload)
274
+ ? parsedPayload
275
+ : {};
276
+ }
277
+ catch (error) {
278
+ const detail = error instanceof Error ? error.message : String(error);
279
+ lastSessionError = new TerminalSessionAttemptError(timedOut ? 'request exceeded its deadline' : detail, timedOut ? 'control_plane_timeout' : 'control_plane_unavailable', undefined, false, true);
280
+ throw lastSessionError;
281
+ }
282
+ finally {
283
+ clearTimeout(timeout);
284
+ }
285
+ const terminalUrl = ticketPayload.data?.terminal_url;
286
+ const sessionId = ticketPayload.data?.session_id;
287
+ const resumeToken = ticketPayload.data?.resume_token;
288
+ if (!ticketResponse.ok || !terminalUrl || !sessionId || !resumeToken) {
289
+ const code = ticketPayload.error?.code;
290
+ const message = ticketPayload.error?.message ?? `terminal session request failed (HTTP ${ticketResponse.status})`;
291
+ lastSessionError = new TerminalSessionAttemptError(message, code, ticketResponse.status, isRetryableTerminalSessionFailure(code), false);
292
+ throw lastSessionError;
293
+ }
294
+ return { terminalUrl, sessionId, resumeToken };
295
+ }, {
296
+ retries: SESSION_REQUEST_RETRIES,
297
+ baseDelayMs: SESSION_REQUEST_RETRY_DELAY_MS,
298
+ sleep: async (delayMs) => {
299
+ const remainingRequestBudgetMs = sessionRequestDeadline - Date.now();
300
+ if (remainingRequestBudgetMs <= 0)
301
+ return;
302
+ await sessionRequestSleep(Math.min(delayMs, remainingRequestBudgetMs));
303
+ },
304
+ shouldRetry: (error) => error instanceof TerminalSessionAttemptError && error.retryable,
121
305
  });
122
- const ticketPayload = (await ticketResponse.json().catch(() => ({})));
123
- const terminalUrl = ticketPayload.data?.terminal_url;
124
- const sessionId = ticketPayload.data?.session_id;
125
- const resumeToken = ticketPayload.data?.resume_token;
126
- if (!ticketResponse.ok || !terminalUrl || !sessionId || !resumeToken) {
127
- const code = ticketPayload.error?.code;
128
- const message = ticketPayload.error?.message ?? `terminal session request failed (HTTP ${ticketResponse.status})`;
129
- throw new FleetNodeAttachError(`Error: ${message}`, code);
306
+ if (!sessionResult.ok) {
307
+ const failure = lastSessionError;
308
+ const status = failure?.status === undefined ? '' : ` HTTP ${failure.status};`;
309
+ const code = failure?.code === undefined ? '' : ` code ${failure.code};`;
310
+ const retryNote = sessionRequestBudgetExhaustedBetweenAttempts
311
+ ? sessionRequestAttempts > 1
312
+ ? `retried ${sessionRequestAttempts - 1} time${sessionRequestAttempts === 2 ? '' : 's'};` +
313
+ ' overall budget exhausted before the next attempt'
314
+ : 'not retried because the overall budget was exhausted before the next attempt'
315
+ : sessionRequestAttempts > 1
316
+ ? `retried ${sessionRequestAttempts - 1} time${sessionRequestAttempts === 2 ? '' : 's'}` +
317
+ (failure?.completionUnknown
318
+ ? '; final POST not retried because it may have completed server-side'
319
+ : '')
320
+ : failure?.completionUnknown
321
+ ? 'not retried because the POST may have completed server-side'
322
+ : 'not retried because the failure was terminal';
323
+ const upstream = failure?.message ? ` Upstream message ${diagnosticValue(failure.message)}.` : '';
324
+ throw new FleetNodeAttachError(`Error: ${failure ? terminalSessionFailureSummary(failure) : 'Terminal-session request failed'}.` +
325
+ `${upstream} Node ref ${diagnosticValue(options.node.trim())}, resolved node id unavailable (session creation did not complete);` +
326
+ ` endpoint ${diagnosticValue(diagnosticEndpoint(sessionEndpoint))};${status}${code}` +
327
+ ` timeout ${sessionRequestTimeoutMs}ms per attempt; overall budget ${sessionRequestTotalTimeoutMs}ms;` +
328
+ ` attempts ${sessionRequestAttempts} (${retryNote}).`, failure?.code);
130
329
  }
330
+ const { terminalUrl, sessionId, resumeToken } = sessionResult.value;
331
+ const resolvedNodeId = resolvedNodeIdFromTerminalUrl(terminalUrl);
332
+ const remoteEndpoint = diagnosticEndpoint(terminalUrl);
333
+ const reconnectInitialDelayMs = options.reconnectDelay?.initialMs ?? INITIAL_RECONNECT_DELAY_MS;
334
+ const reconnectMaxDelayMs = options.reconnectDelay?.maxMs ?? MAX_RECONNECT_DELAY_MS;
335
+ const terminalHandshakeTimeoutMs = options.reconnectDelay?.handshakeTimeoutMs ?? TERMINAL_CONNECT_TIMEOUT_MS;
336
+ const terminalReadyTimeoutMs = options.reconnectDelay?.readyTimeoutMs ?? TERMINAL_CONNECT_TIMEOUT_MS;
337
+ // A readiness-gated local request follows activeReadiness across reconnect
338
+ // generations. Its own deadline therefore has to cover the same complete,
339
+ // finite recovery path: every backoff plus every handshake/readiness pair.
340
+ const terminalWaitTimeoutMs = retryDelayBudgetMs(MAX_RECONNECT_ATTEMPTS, reconnectInitialDelayMs, reconnectMaxDelayMs) +
341
+ MAX_RECONNECT_ATTEMPTS * (terminalHandshakeTimeoutMs + terminalReadyTimeoutMs);
131
342
  let connectionGeneration = 0;
132
343
  const createReadiness = () => {
133
344
  let resolve;
@@ -163,7 +374,8 @@ export async function startFleetNodeAttachProxy(options) {
163
374
  }
164
375
  };
165
376
  /**
166
- * Await the live readiness generation, bounded by {@link SNAPSHOT_WAIT_MS}.
377
+ * Await the live readiness generation through both the WebSocket handshake
378
+ * and the post-open terminal.ready allowance.
167
379
  * Every handler that must not run before `terminal.ready` — snapshot,
168
380
  * delivery-mode PUT, resize — goes through this one helper so the
169
381
  * timer/clearTimeout/settle logic cannot diverge between copies.
@@ -173,7 +385,7 @@ export async function startFleetNodeAttachProxy(options) {
173
385
  * `timeoutMessage` when the wait expired.
174
386
  */
175
387
  const waitForTerminalReady = (timeoutMessage) => new Promise((resolve, reject) => {
176
- const timer = setTimeout(() => reject(new Error(timeoutMessage)), SNAPSHOT_WAIT_MS);
388
+ const timer = setTimeout(() => reject(new Error(timeoutMessage)), terminalWaitTimeoutMs);
177
389
  void waitForCurrentReadiness().then(() => {
178
390
  clearTimeout(timer);
179
391
  resolve();
@@ -199,11 +411,11 @@ export async function startFleetNodeAttachProxy(options) {
199
411
  let reconnecting = false;
200
412
  let reconnectAttempts = 0;
201
413
  let reconnectTimer;
414
+ const terminalReadinessTimers = new Set();
202
415
  /** Locally-tracked delivery mode, kept in sync with each broker reply. */
203
416
  let loopbackDeliveryMode = options.mode === 'drive' ? 'manual_flush' : 'auto_inject';
204
417
  /** At most one in-flight delivery-mode PUT at a time. */
205
418
  let pendingDeliveryMode = null;
206
- const DELIVERY_MODE_TIMEOUT_MS = 10_000;
207
419
  const loopbackApiKey = randomBytes(32).toString('base64url');
208
420
  const loopbackAuthorized = (headers) => headers.authorization === `Bearer ${loopbackApiKey}` || headers['x-api-key'] === loopbackApiKey;
209
421
  const server = createServer(async (request, response) => {
@@ -381,7 +593,7 @@ export async function startFleetNodeAttachProxy(options) {
381
593
  const websocketServer = new WebSocketServer({ noServer: true });
382
594
  const closeSocket = (socket, code, reason) => {
383
595
  try {
384
- socket.close(code, reason);
596
+ socket.close(code, boundedWebSocketCloseReason(reason));
385
597
  }
386
598
  catch {
387
599
  /* connection already gone */
@@ -499,7 +711,7 @@ export async function startFleetNodeAttachProxy(options) {
499
711
  clearTimeout(pending.timer);
500
712
  pending.reject(error);
501
713
  };
502
- const endTerminal = (error) => {
714
+ const endTerminal = (error, eventCloseReason = error.message) => {
503
715
  if (terminalEnded)
504
716
  return;
505
717
  terminalEnded = true;
@@ -507,13 +719,16 @@ export async function startFleetNodeAttachProxy(options) {
507
719
  clearTimeout(reconnectTimer);
508
720
  reconnectTimer = undefined;
509
721
  }
722
+ for (const timer of terminalReadinessTimers)
723
+ clearTimeout(timer);
724
+ terminalReadinessTimers.clear();
510
725
  rejectPendingDeliveryMode(error);
511
726
  const activeRemote = remote;
512
727
  remote = undefined;
513
728
  rejectReadiness(activeReadiness, error);
514
729
  broadcast(inputSockets, { type: 'pty_input_error', code: error.code, message: error.message });
515
730
  for (const socket of eventSockets)
516
- closeSocket(socket, 1011, error.message);
731
+ closeSocket(socket, 1011, eventCloseReason);
517
732
  if (activeRemote && activeRemote.readyState !== WebSocket.CLOSED) {
518
733
  try {
519
734
  activeRemote.terminate();
@@ -523,23 +738,62 @@ export async function startFleetNodeAttachProxy(options) {
523
738
  }
524
739
  }
525
740
  };
526
- const failRemote = (message) => {
527
- endTerminal(new FleetNodeAttachError(message, 'node_unreachable'));
741
+ const failRemote = (message, eventCloseReason) => {
742
+ endTerminal(new FleetNodeAttachError(message, 'node_unreachable'), eventCloseReason);
528
743
  };
529
744
  const connect = (url, readiness) => {
530
745
  if (stopped || terminalEnded)
531
746
  return;
532
- const socket = new WebSocket(asWsUrl(url));
747
+ const socket = new WebSocket(asWsUrl(url), { handshakeTimeout: terminalHandshakeTimeoutMs });
533
748
  remote = socket;
749
+ let readinessTimer;
750
+ let readinessExpired = false;
751
+ const clearReadinessTimer = () => {
752
+ if (!readinessTimer)
753
+ return;
754
+ clearTimeout(readinessTimer);
755
+ terminalReadinessTimers.delete(readinessTimer);
756
+ readinessTimer = undefined;
757
+ };
758
+ socket.on('open', () => {
759
+ // `handshakeTimeout` independently bounds the HTTP upgrade. Start the
760
+ // terminal.ready allowance only after that upgrade succeeds so a slow
761
+ // but valid handshake cannot consume the readiness window.
762
+ readinessTimer = setTimeout(() => {
763
+ const expiredTimer = readinessTimer;
764
+ readinessTimer = undefined;
765
+ if (expiredTimer)
766
+ terminalReadinessTimers.delete(expiredTimer);
767
+ if (remote !== socket || stopped || terminalEnded || readiness.settled)
768
+ return;
769
+ // Mark this generation stale before terminating. The ws receiver may
770
+ // still deliver data already buffered on the socket while close is
771
+ // propagating; none of it may restore readiness or reset retry state.
772
+ readinessExpired = true;
773
+ if (!terminalEverReady) {
774
+ failRemote(`terminal transport connected but did not become ready (node ref ${diagnosticValue(options.node.trim())},` +
775
+ ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
776
+ ` readiness timeout ${terminalReadyTimeoutMs}ms, attempts 1; not retried because no terminal session became ready)`);
777
+ return;
778
+ }
779
+ // A successful WebSocket upgrade is not sufficient: Relaycast may
780
+ // accept a resume lane that never produces terminal.ready. Terminating
781
+ // it drives the same bounded close/retry path as a transport failure.
782
+ options.reconnectDelay?.beforeReadyTimeoutTerminate?.(socket);
783
+ socket.terminate();
784
+ }, terminalReadyTimeoutMs);
785
+ terminalReadinessTimers.add(readinessTimer);
786
+ });
534
787
  socket.on('message', (data) => {
535
788
  // A late frame from a transport superseded during reconnect must never
536
789
  // overwrite the fresh snapshot or end the replacement session.
537
- if (remote !== socket || stopped || terminalEnded)
790
+ if (remote !== socket || stopped || terminalEnded || readinessExpired)
538
791
  return;
539
792
  const frame = parseFrame(data);
540
793
  if (!frame || frame.session_id !== sessionId)
541
794
  return;
542
795
  if (frame.type === 'terminal.ready') {
796
+ clearReadinessTimer();
543
797
  snapshot.screen = typeof frame.screen === 'string' ? frame.screen : '';
544
798
  snapshot.rows = typeof frame.rows === 'number' ? frame.rows : 24;
545
799
  snapshot.cols = typeof frame.cols === 'number' ? frame.cols : 80;
@@ -618,15 +872,21 @@ export async function startFleetNodeAttachProxy(options) {
618
872
  }
619
873
  });
620
874
  socket.on('error', () => {
875
+ readinessExpired = true;
876
+ clearReadinessTimer();
621
877
  // Initial connection failure has no terminal state worth preserving.
622
878
  // Fail promptly with the canonical unavailable-node error instead of
623
879
  // letting the HTTP snapshot timeout mask it. Once Ready has been seen,
624
880
  // the close handler retains the bounded resume/backoff behaviour.
625
881
  if (remote === socket && readiness === activeReadiness && !readiness.settled && !terminalEverReady) {
626
- failRemote('terminal transport could not connect to the fleet node');
882
+ failRemote(`terminal transport could not connect to the fleet node (node ref ${diagnosticValue(options.node.trim())},` +
883
+ ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
884
+ ` handshake budget ${terminalHandshakeTimeoutMs}ms, attempts 1; not retried because no terminal session became ready)`);
627
885
  }
628
886
  });
629
887
  socket.on('close', () => {
888
+ readinessExpired = true;
889
+ clearReadinessTimer();
630
890
  if (remote !== socket || stopped || terminalEnded || reconnecting)
631
891
  return;
632
892
  // Relaycast drops the old lane's terminal session state on disconnect,
@@ -641,11 +901,19 @@ export async function startFleetNodeAttachProxy(options) {
641
901
  const nextReadiness = createReadiness();
642
902
  activeReadiness = nextReadiness;
643
903
  if (reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
644
- failRemote('terminal transport could not reconnect to the fleet node');
904
+ const backoffBudgetMs = retryDelayBudgetMs(MAX_RECONNECT_ATTEMPTS, reconnectInitialDelayMs, reconnectMaxDelayMs);
905
+ const message = `terminal transport could not reconnect to the fleet node (node ref ${diagnosticValue(options.node.trim())},` +
906
+ ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
907
+ ` handshake timeout ${terminalHandshakeTimeoutMs}ms, readiness timeout ${terminalReadyTimeoutMs}ms,` +
908
+ ` attempts ${reconnectAttempts},` +
909
+ ` backoff budget ${backoffBudgetMs}ms)`;
910
+ failRemote(message, `terminal reconnect failed; attempts=${reconnectAttempts}; budget=${backoffBudgetMs}ms;` +
911
+ ` endpoint=${diagnosticValue(diagnosticEndpointOrigin(terminalUrl))};` +
912
+ ` node=${diagnosticValue(resolvedNodeId ?? options.node.trim())}`);
645
913
  return;
646
914
  }
647
915
  reconnecting = true;
648
- const delay = Math.min(INITIAL_RECONNECT_DELAY_MS * 2 ** reconnectAttempts, MAX_RECONNECT_DELAY_MS);
916
+ const delay = Math.min(reconnectInitialDelayMs * 2 ** reconnectAttempts, reconnectMaxDelayMs);
649
917
  reconnectAttempts += 1;
650
918
  reconnectTimer = setTimeout(() => {
651
919
  reconnectTimer = undefined;
@@ -658,6 +926,7 @@ export async function startFleetNodeAttachProxy(options) {
658
926
  return {
659
927
  brokerUrl: `http://127.0.0.1:${address.port}`,
660
928
  apiKey: loopbackApiKey,
929
+ requestTimeoutMs: terminalWaitTimeoutMs + DELIVERY_MODE_TIMEOUT_MS + LOOPBACK_REQUEST_TIMEOUT_MARGIN_MS,
661
930
  async close() {
662
931
  if (stopped)
663
932
  return;
@@ -667,6 +936,9 @@ export async function startFleetNodeAttachProxy(options) {
667
936
  clearTimeout(reconnectTimer);
668
937
  reconnectTimer = undefined;
669
938
  }
939
+ for (const timer of terminalReadinessTimers)
940
+ clearTimeout(timer);
941
+ terminalReadinessTimers.clear();
670
942
  rejectReadiness(activeReadiness, new FleetNodeAttachError('terminal attach closed', 'closed'));
671
943
  rejectPendingDeliveryMode(new FleetNodeAttachError('terminal attach closed', 'closed'));
672
944
  const activeRemote = remote;
@@ -1 +1 @@
1
- {"version":3,"file":"attach-fleet-node.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-fleet-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach-fleet-node.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-fleet-node.ts"],"names":[],"mappings":"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"}
@@ -187,6 +187,7 @@ export declare function attachPassthrough(name: string, options: {
187
187
  brokerUrl?: string;
188
188
  apiKey?: string;
189
189
  stateDir?: string;
190
+ requestTimeoutMs?: number;
190
191
  }, overrides?: Partial<PassthroughDependencies>): Promise<number>;
191
192
  export {};
192
193
  //# sourceMappingURL=attach-passthrough.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attach-passthrough.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach-passthrough.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"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"}