agent-relay 12.3.1 → 12.4.1

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 (55) hide show
  1. package/README.md +3 -1
  2. package/dist/auto/composer.d.ts +1 -1
  3. package/dist/auto/composer.d.ts.map +1 -1
  4. package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
  5. package/dist/cli/agent-relay-mcp.js +88 -17
  6. package/dist/cli/agent-relay-mcp.js.map +1 -1
  7. package/dist/cli/bootstrap.d.ts.map +1 -1
  8. package/dist/cli/bootstrap.js +6 -2
  9. package/dist/cli/bootstrap.js.map +1 -1
  10. package/dist/cli/commands/fleet.d.ts +2 -0
  11. package/dist/cli/commands/fleet.d.ts.map +1 -1
  12. package/dist/cli/commands/fleet.js +150 -28
  13. package/dist/cli/commands/fleet.js.map +1 -1
  14. package/dist/cli/commands/integration.d.ts +15 -0
  15. package/dist/cli/commands/integration.d.ts.map +1 -1
  16. package/dist/cli/commands/integration.js +131 -3
  17. package/dist/cli/commands/integration.js.map +1 -1
  18. package/dist/cli/lib/attach-fleet-node.d.ts +37 -0
  19. package/dist/cli/lib/attach-fleet-node.d.ts.map +1 -1
  20. package/dist/cli/lib/attach-fleet-node.js +250 -26
  21. package/dist/cli/lib/attach-fleet-node.js.map +1 -1
  22. package/dist/cli/lib/broker-lifecycle.d.ts.map +1 -1
  23. package/dist/cli/lib/broker-lifecycle.js +14 -3
  24. package/dist/cli/lib/broker-lifecycle.js.map +1 -1
  25. package/dist/cli/lib/fleet-sidecar.d.ts +18 -6
  26. package/dist/cli/lib/fleet-sidecar.d.ts.map +1 -1
  27. package/dist/cli/lib/fleet-sidecar.js +26 -1
  28. package/dist/cli/lib/fleet-sidecar.js.map +1 -1
  29. package/dist/cli/lib/formatting.d.ts +1 -0
  30. package/dist/cli/lib/formatting.d.ts.map +1 -1
  31. package/dist/cli/lib/formatting.js +4 -1
  32. package/dist/cli/lib/formatting.js.map +1 -1
  33. package/dist/cli/lib/node-provider-child.d.ts +3 -2
  34. package/dist/cli/lib/node-provider-child.d.ts.map +1 -1
  35. package/dist/cli/lib/node-provider-child.js +25 -5
  36. package/dist/cli/lib/node-provider-child.js.map +1 -1
  37. package/dist/cli/mcp/messaging-tools.d.ts +2 -1
  38. package/dist/cli/mcp/messaging-tools.d.ts.map +1 -1
  39. package/dist/cli/mcp/messaging-tools.js +11 -3
  40. package/dist/cli/mcp/messaging-tools.js.map +1 -1
  41. package/dist/cli/mcp/request-replay.d.ts +15 -0
  42. package/dist/cli/mcp/request-replay.d.ts.map +1 -0
  43. package/dist/cli/mcp/request-replay.js +45 -0
  44. package/dist/cli/mcp/request-replay.js.map +1 -0
  45. package/dist/cli/mcp/shared-sessions-client.d.ts +86 -0
  46. package/dist/cli/mcp/shared-sessions-client.d.ts.map +1 -0
  47. package/dist/cli/mcp/shared-sessions-client.js +329 -0
  48. package/dist/cli/mcp/shared-sessions-client.js.map +1 -0
  49. package/dist/cli/mcp/types.d.ts +8 -0
  50. package/dist/cli/mcp/types.d.ts.map +1 -1
  51. package/dist/cli/telemetry/orchestrator-harness.d.ts.map +1 -1
  52. package/dist/cli/telemetry/orchestrator-harness.js +1 -0
  53. package/dist/cli/telemetry/orchestrator-harness.js.map +1 -1
  54. package/dist/index.cjs +4 -1
  55. package/package.json +10 -10
@@ -160,6 +160,56 @@ function parseFrame(data) {
160
160
  return null;
161
161
  }
162
162
  }
163
+ /**
164
+ * Decode a `terminal.ready` / `terminal.snapshot` `screen` field into the raw
165
+ * ANSI bytes a terminal can render.
166
+ *
167
+ * The two payloads this adapter bridges are encoded differently and the
168
+ * difference is invisible at the type level — both are `string`:
169
+ *
170
+ * - `screen` is the visible grid rendered by `Snapshot::to_ansi()` and then
171
+ * **base64-encoded**, because the broker asks the worker for
172
+ * `format: "ansi"` (`fleet.rs`) and that arm encodes (`pty_worker.rs`).
173
+ * Broker HTTP snapshot consumers decode it (`attach.ts` `captureAndRender…`).
174
+ * - `worker_stream.chunk` (and `terminal.output.chunk`, which is the same
175
+ * value forwarded) is **raw PTY bytes**. Attach clients write it to stdout
176
+ * verbatim (`applyServerOutput` in `attach-drive.ts`).
177
+ *
178
+ * Handing an undecoded `screen` to {@link workerStreamEvent} therefore prints
179
+ * the base64 text itself into the operator's terminal — the reconnect flood in
180
+ * relay#1829. Returns `null` when the payload is not canonical base64, so a
181
+ * malformed or protocol-violating frame is dropped rather than rendered: a
182
+ * stale-but-coherent screen beats writing unintelligible bytes to a live TTY.
183
+ */
184
+ export function decodeAnsiScreenPayload(screen) {
185
+ if (screen === '')
186
+ return '';
187
+ if (screen.length % 4 !== 0 || !/^[A-Za-z0-9+/]+={0,2}$/.test(screen))
188
+ return null;
189
+ const decoded = Buffer.from(screen, 'base64');
190
+ // `Buffer.from(…, 'base64')` silently skips characters outside the alphabet,
191
+ // so the round-trip is what actually rejects a non-base64 payload.
192
+ if (decoded.toString('base64') !== screen)
193
+ return null;
194
+ return decoded.toString('utf8');
195
+ }
196
+ /**
197
+ * Mirror of the broker's `pty_input_error_is_connection_fatal`
198
+ * (`crates/broker/src/listen_api.rs`). The two lists must agree, because the
199
+ * SDK's `PtyInputStream` latches `closed` **only** when its socket closes
200
+ * (`harness-driver/src/transport.ts`): a fatal error delivered on a socket
201
+ * that stays open leaves `isUsable()` true forever.
202
+ *
203
+ * That matters most for a fatal error that arrives with **no write in
204
+ * flight** — the session-scoped `terminal.error` path below. The client's
205
+ * `failAll()` then has nothing to reject, so nothing marks the stream dead:
206
+ * the drive session never enters recovery and keeps writing into a stream the
207
+ * node has already declared unusable. Closing the socket, as the broker does,
208
+ * is what turns that into a reported outage the session can recover from.
209
+ */
210
+ export function inputErrorIsConnectionFatal(code) {
211
+ return code !== 'worker_timeout' && code !== 'pty_write_queue_full';
212
+ }
163
213
  function rawDataToString(data) {
164
214
  if (Buffer.isBuffer(data))
165
215
  return data.toString('utf8');
@@ -317,7 +367,7 @@ export async function startFleetNodeAttachProxy(options) {
317
367
  lastSessionError = new TerminalSessionAttemptError(message, code, ticketResponse.status, isRetryableTerminalSessionFailure(code), false);
318
368
  throw lastSessionError;
319
369
  }
320
- return { terminalUrl, sessionId, resumeToken };
370
+ return { terminalUrl, sessionId, resumeToken, expiresAt: ticketPayload.data?.expires_at };
321
371
  }, {
322
372
  retries: SESSION_REQUEST_RETRIES,
323
373
  baseDelayMs: SESSION_REQUEST_RETRY_DELAY_MS,
@@ -353,9 +403,9 @@ export async function startFleetNodeAttachProxy(options) {
353
403
  ` timeout ${sessionRequestTimeoutMs}ms per attempt; overall budget ${sessionRequestTotalTimeoutMs}ms;` +
354
404
  ` attempts ${sessionRequestAttempts} (${retryNote}).`, failure?.code);
355
405
  }
356
- const { terminalUrl, sessionId, resumeToken } = sessionResult.value;
406
+ let { terminalUrl, sessionId, resumeToken, expiresAt } = sessionResult.value;
357
407
  const resolvedNodeId = resolvedNodeIdFromTerminalUrl(terminalUrl);
358
- const remoteEndpoint = diagnosticEndpoint(terminalUrl);
408
+ const remoteEndpoint = () => diagnosticEndpoint(terminalUrl);
359
409
  const reconnectInitialDelayMs = options.reconnectDelay?.initialMs ?? INITIAL_RECONNECT_DELAY_MS;
360
410
  const reconnectMaxDelayMs = options.reconnectDelay?.maxMs ?? MAX_RECONNECT_DELAY_MS;
361
411
  const terminalHandshakeTimeoutMs = options.reconnectDelay?.handshakeTimeoutMs ?? TERMINAL_CONNECT_TIMEOUT_MS;
@@ -364,7 +414,8 @@ export async function startFleetNodeAttachProxy(options) {
364
414
  // generations. Its own deadline therefore has to cover the same complete,
365
415
  // finite recovery path: every backoff plus every handshake/readiness pair.
366
416
  const terminalWaitTimeoutMs = retryDelayBudgetMs(MAX_RECONNECT_ATTEMPTS, reconnectInitialDelayMs, reconnectMaxDelayMs) +
367
- MAX_RECONNECT_ATTEMPTS * (terminalHandshakeTimeoutMs + terminalReadyTimeoutMs);
417
+ MAX_RECONNECT_ATTEMPTS * (terminalHandshakeTimeoutMs + terminalReadyTimeoutMs) +
418
+ sessionRequestTotalTimeoutMs;
368
419
  let connectionGeneration = 0;
369
420
  const createReadiness = () => {
370
421
  let resolve;
@@ -420,8 +471,19 @@ export async function startFleetNodeAttachProxy(options) {
420
471
  reject(error);
421
472
  });
422
473
  });
474
+ /**
475
+ * The two screen representations are kept as separate, differently named
476
+ * fields on purpose. They are both strings and only one of them may reach a
477
+ * terminal; a single `screen` field spread into both consumers is what let
478
+ * the encoded form escape to stdout (relay#1829).
479
+ *
480
+ * `screenBase64` is the HTTP snapshot wire format (callers decode it).
481
+ * `screenAnsi` is the renderable form, and the only one that may be emitted
482
+ * as a `worker_stream` chunk.
483
+ */
423
484
  const snapshot = {
424
- screen: '',
485
+ screenBase64: '',
486
+ screenAnsi: '',
425
487
  rows: 24,
426
488
  cols: 80,
427
489
  offset: 0,
@@ -467,7 +529,16 @@ export async function startFleetNodeAttachProxy(options) {
467
529
  });
468
530
  return;
469
531
  }
470
- json(response, 200, { format: 'ansi', ...snapshot });
532
+ // Explicit field mapping, not a spread: this endpoint's `screen` is
533
+ // contractually base64 (the caller decodes it), and only the encoded
534
+ // form may appear here.
535
+ json(response, 200, {
536
+ format: 'ansi',
537
+ screen: snapshot.screenBase64,
538
+ rows: snapshot.rows,
539
+ cols: snapshot.cols,
540
+ offset: snapshot.offset,
541
+ });
471
542
  return;
472
543
  }
473
544
  const name = encodeURIComponent(options.agent);
@@ -720,6 +791,33 @@ export async function startFleetNodeAttachProxy(options) {
720
791
  outputHistoryBytes += bytes;
721
792
  return true;
722
793
  };
794
+ /**
795
+ * Report a PTY-input failure to one input socket the way the broker does:
796
+ * with the `retryable` flag the SDK reads, and — for a connection-fatal
797
+ * code — by closing the socket so the client's `PtyInputStream` latches
798
+ * `closed` and its recovery can start buffering. See
799
+ * {@link inputErrorIsConnectionFatal}.
800
+ */
801
+ const failInputSocket = (socket, code, message) => {
802
+ const fatal = inputErrorIsConnectionFatal(code);
803
+ if (socket.readyState === WebSocket.OPEN) {
804
+ try {
805
+ socket.send(JSON.stringify({ type: 'pty_input_error', code, message, retryable: !fatal }));
806
+ }
807
+ catch {
808
+ // The socket is already gone; the close below is still correct.
809
+ }
810
+ }
811
+ if (!fatal)
812
+ return;
813
+ inputSockets.delete(socket);
814
+ closeSocket(socket, 1011, message);
815
+ };
816
+ /** Same, for every attached input socket (session-scoped failures). */
817
+ const failAllInputSockets = (code, message) => {
818
+ for (const socket of [...inputSockets])
819
+ failInputSocket(socket, code, message);
820
+ };
723
821
  websocketServer.on('connection', (socket, request) => {
724
822
  const path = new URL(request.url ?? '/', 'http://127.0.0.1').pathname;
725
823
  if (path === '/ws') {
@@ -752,11 +850,10 @@ export async function startFleetNodeAttachProxy(options) {
752
850
  socket.send(JSON.stringify({ type: 'pty_input_ready', name: options.agent }));
753
851
  socket.on('message', (data) => {
754
852
  if (!remote || remote.readyState !== WebSocket.OPEN || remote.bufferedAmount > MAX_BUFFERED_BYTES) {
755
- broadcast(inputSockets, {
756
- type: 'pty_input_error',
757
- code: 'node_unreachable',
758
- message: 'terminal transport is unavailable',
759
- });
853
+ // Only THIS socket failed to write; a sibling input stream must not
854
+ // be torn down for it. `node_unreachable` is connection-fatal, so
855
+ // this also closes the socket — see failInputSocket.
856
+ failInputSocket(socket, 'node_unreachable', 'terminal transport is unavailable');
760
857
  return;
761
858
  }
762
859
  const raw = rawDataToString(data);
@@ -783,10 +880,96 @@ export async function startFleetNodeAttachProxy(options) {
783
880
  const address = server.address();
784
881
  if (!address || typeof address === 'string')
785
882
  throw new FleetNodeAttachError('Error: could not allocate loopback terminal listener.', 'loopback_unavailable');
786
- const resumeUrl = new URL(terminalUrl);
787
- resumeUrl.searchParams.delete('ticket');
788
- resumeUrl.searchParams.set('session_id', sessionId);
789
- resumeUrl.searchParams.set('resume', resumeToken);
883
+ const resumeUrlForCurrentSession = () => {
884
+ const resumeUrl = new URL(terminalUrl);
885
+ resumeUrl.searchParams.delete('ticket');
886
+ resumeUrl.searchParams.set('session_id', sessionId);
887
+ resumeUrl.searchParams.set('resume', resumeToken);
888
+ return resumeUrl.toString();
889
+ };
890
+ const terminalSessionExpired = () => {
891
+ if (!expiresAt)
892
+ return false;
893
+ const expiresAtMs = Date.parse(expiresAt);
894
+ return Number.isFinite(expiresAtMs) && expiresAtMs <= Date.now();
895
+ };
896
+ // A disconnected terminal can need one replacement session when its resume
897
+ // credential has expired. Keep this scoped to the whole reconnect incident:
898
+ // a replacement that itself drops still follows the normal bounded resume
899
+ // budget instead of repeatedly allocating sessions.
900
+ let replacementAllocatedForReconnect = false;
901
+ const allocateReplacementTerminalSession = async () => {
902
+ const replacementDeadline = Date.now() + sessionRequestTotalTimeoutMs;
903
+ let lastReplacementError;
904
+ const result = await collectWithRetry('replacement terminal session request', async () => {
905
+ const remainingMs = replacementDeadline - Date.now();
906
+ if (remainingMs <= 0) {
907
+ throw new TerminalSessionAttemptError(lastReplacementError?.message ??
908
+ 'overall replacement terminal-session request deadline exhausted', lastReplacementError?.code ?? 'control_plane_timeout', lastReplacementError?.status, false, lastReplacementError?.completionUnknown ?? false);
909
+ }
910
+ const controller = new AbortController();
911
+ let timedOut = false;
912
+ const timeout = setTimeout(() => {
913
+ timedOut = true;
914
+ controller.abort();
915
+ }, Math.min(sessionRequestTimeoutMs, remainingMs));
916
+ try {
917
+ const response = await fetchFn(sessionEndpoint, {
918
+ method: 'POST',
919
+ headers: { Authorization: `Bearer ${workspaceKey}`, 'Content-Type': 'application/json' },
920
+ // Keep the replacement bound to precisely the session this proxy was
921
+ // already serving; never infer a different agent or delivery mode.
922
+ body: JSON.stringify({ agent: options.agent, mode: options.mode }),
923
+ signal: controller.signal,
924
+ });
925
+ const parsed = (await response.json());
926
+ const payload = parsed && typeof parsed === 'object' && !Array.isArray(parsed)
927
+ ? parsed
928
+ : {};
929
+ const replacementUrl = payload.data?.terminal_url;
930
+ const replacementSessionId = payload.data?.session_id;
931
+ const replacementResumeToken = payload.data?.resume_token;
932
+ if (!response.ok || !replacementUrl || !replacementSessionId || !replacementResumeToken) {
933
+ const error = new TerminalSessionAttemptError(payload.error?.message ??
934
+ 'terminal session could not be replaced after its resume credential expired', payload.error?.code, response.status, isRetryableTerminalSessionFailure(payload.error?.code), false);
935
+ lastReplacementError = error;
936
+ throw error;
937
+ }
938
+ return {
939
+ terminalUrl: replacementUrl,
940
+ sessionId: replacementSessionId,
941
+ resumeToken: replacementResumeToken,
942
+ expiresAt: payload.data?.expires_at,
943
+ };
944
+ }
945
+ catch (error) {
946
+ if (error instanceof TerminalSessionAttemptError)
947
+ throw error;
948
+ const replacementError = new TerminalSessionAttemptError(timedOut
949
+ ? 'replacement request exceeded its deadline'
950
+ : 'replacement terminal session request failed', timedOut ? 'control_plane_timeout' : 'control_plane_unavailable', undefined, false, true);
951
+ lastReplacementError = replacementError;
952
+ throw replacementError;
953
+ }
954
+ finally {
955
+ clearTimeout(timeout);
956
+ }
957
+ }, {
958
+ retries: SESSION_REQUEST_RETRIES,
959
+ baseDelayMs: SESSION_REQUEST_RETRY_DELAY_MS,
960
+ sleep: async (delayMs) => {
961
+ const remainingMs = replacementDeadline - Date.now();
962
+ if (remainingMs > 0)
963
+ await sessionRequestSleep(Math.min(delayMs, remainingMs));
964
+ },
965
+ shouldRetry: (error) => error instanceof TerminalSessionAttemptError && error.retryable,
966
+ });
967
+ if (result.ok)
968
+ return result.value;
969
+ if (lastReplacementError)
970
+ throw lastReplacementError;
971
+ throw new FleetNodeAttachError('terminal session could not be replaced after its resume credential expired', 'terminal_session_unavailable');
972
+ };
790
973
  /** Reject and clear any in-flight delivery-mode PUT, if one is pending. */
791
974
  const rejectPendingDeliveryMode = (error) => {
792
975
  if (pendingFlush) {
@@ -824,7 +1007,7 @@ export async function startFleetNodeAttachProxy(options) {
824
1007
  const activeRemote = remote;
825
1008
  remote = undefined;
826
1009
  rejectReadiness(activeReadiness, error);
827
- broadcast(inputSockets, { type: 'pty_input_error', code: error.code, message: error.message });
1010
+ failAllInputSockets(error.code ?? 'terminal_error', error.message);
828
1011
  for (const socket of eventSockets)
829
1012
  closeSocket(socket, 1011, eventCloseReason);
830
1013
  if (activeRemote && activeRemote.readyState !== WebSocket.CLOSED) {
@@ -846,6 +1029,7 @@ export async function startFleetNodeAttachProxy(options) {
846
1029
  remote = socket;
847
1030
  let readinessTimer;
848
1031
  let readinessExpired = false;
1032
+ let resumeRejectedAsExpired = false;
849
1033
  const clearReadinessTimer = () => {
850
1034
  if (!readinessTimer)
851
1035
  return;
@@ -870,7 +1054,7 @@ export async function startFleetNodeAttachProxy(options) {
870
1054
  readinessExpired = true;
871
1055
  if (!terminalEverReady) {
872
1056
  failRemote(`terminal transport connected but did not become ready (node ref ${diagnosticValue(options.node.trim())},` +
873
- ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
1057
+ ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint())},` +
874
1058
  ` readiness timeout ${terminalReadyTimeoutMs}ms, attempts 1; not retried because no terminal session became ready)`);
875
1059
  return;
876
1060
  }
@@ -892,7 +1076,11 @@ export async function startFleetNodeAttachProxy(options) {
892
1076
  return;
893
1077
  if (frame.type === 'terminal.ready') {
894
1078
  clearReadinessTimer();
895
- snapshot.screen = typeof frame.screen === 'string' ? frame.screen : '';
1079
+ snapshot.screenBase64 = typeof frame.screen === 'string' ? frame.screen : '';
1080
+ // A payload that will not decode is kept out of `screenAnsi` entirely
1081
+ // so no later consumer can render it; the HTTP snapshot still serves
1082
+ // the bytes verbatim and lets its own decoder report the problem.
1083
+ snapshot.screenAnsi = decodeAnsiScreenPayload(snapshot.screenBase64) ?? '';
896
1084
  snapshot.rows = typeof frame.rows === 'number' ? frame.rows : 24;
897
1085
  snapshot.cols = typeof frame.cols === 'number' ? frame.cols : 80;
898
1086
  snapshot.offset = typeof frame.offset === 'number' ? frame.offset : 0;
@@ -904,14 +1092,18 @@ export async function startFleetNodeAttachProxy(options) {
904
1092
  }
905
1093
  terminalEverReady = true;
906
1094
  reconnectAttempts = 0;
1095
+ replacementAllocatedForReconnect = false;
907
1096
  if (readiness === activeReadiness) {
908
1097
  resolveReadiness(readiness);
909
1098
  // A reconnect gets a fresh ANSI grid but existing local `/ws`
910
1099
  // consumers have already performed their initial HTTP snapshot.
911
1100
  // Re-emit this screen without an offset so they repaint instead of
912
- // retaining a stale pre-reconnect terminal image.
913
- if (readiness.generation > 1 && snapshot.screen) {
914
- broadcast(eventSockets, workerStreamEvent(snapshot.screen));
1101
+ // retaining a stale pre-reconnect terminal image. It must be the
1102
+ // DECODED grid: a `worker_stream` chunk is raw PTY bytes that the
1103
+ // attach client writes straight to the terminal, so the base64 form
1104
+ // renders as a wall of text instead of a repaint (relay#1829).
1105
+ if (readiness.generation > 1 && snapshot.screenAnsi) {
1106
+ broadcast(eventSockets, workerStreamEvent(snapshot.screenAnsi));
915
1107
  }
916
1108
  }
917
1109
  }
@@ -987,23 +1179,31 @@ export async function startFleetNodeAttachProxy(options) {
987
1179
  endTerminal(new FleetNodeAttachError(message, code));
988
1180
  }
989
1181
  else if (!frameRid) {
990
- broadcast(inputSockets, { type: 'pty_input_error', code, message });
1182
+ failAllInputSockets(code, message);
991
1183
  }
992
1184
  }
993
1185
  else if (frame.type === 'terminal.closed') {
994
1186
  endTerminal(new FleetNodeAttachError('remote terminal session closed', 'terminal_closed'));
995
1187
  }
996
1188
  });
997
- socket.on('error', () => {
1189
+ socket.on('error', (error) => {
998
1190
  readinessExpired = true;
999
1191
  clearReadinessTimer();
1192
+ // `ws` exposes a refused HTTP upgrade as this error before `close`.
1193
+ // Only an expired resume credential may mint a replacement terminal;
1194
+ // notably a transient or 5xx failure stays on the resume path.
1195
+ if (terminalEverReady &&
1196
+ error instanceof Error &&
1197
+ /Unexpected server response: (401|410)\b/.test(error.message)) {
1198
+ resumeRejectedAsExpired = true;
1199
+ }
1000
1200
  // Initial connection failure has no terminal state worth preserving.
1001
1201
  // Fail promptly with the canonical unavailable-node error instead of
1002
1202
  // letting the HTTP snapshot timeout mask it. Once Ready has been seen,
1003
1203
  // the close handler retains the bounded resume/backoff behaviour.
1004
1204
  if (remote === socket && readiness === activeReadiness && !readiness.settled && !terminalEverReady) {
1005
1205
  failRemote(`terminal transport could not connect to the fleet node (node ref ${diagnosticValue(options.node.trim())},` +
1006
- ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
1206
+ ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint())},` +
1007
1207
  ` handshake budget ${terminalHandshakeTimeoutMs}ms, attempts 1; not retried because no terminal session became ready)`);
1008
1208
  }
1009
1209
  });
@@ -1026,7 +1226,7 @@ export async function startFleetNodeAttachProxy(options) {
1026
1226
  if (reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
1027
1227
  const backoffBudgetMs = retryDelayBudgetMs(MAX_RECONNECT_ATTEMPTS, reconnectInitialDelayMs, reconnectMaxDelayMs);
1028
1228
  const message = `terminal transport could not reconnect to the fleet node (node ref ${diagnosticValue(options.node.trim())},` +
1029
- ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
1229
+ ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint())},` +
1030
1230
  ` handshake timeout ${terminalHandshakeTimeoutMs}ms, readiness timeout ${terminalReadyTimeoutMs}ms,` +
1031
1231
  ` attempts ${reconnectAttempts},` +
1032
1232
  ` backoff budget ${backoffBudgetMs}ms)`;
@@ -1041,7 +1241,31 @@ export async function startFleetNodeAttachProxy(options) {
1041
1241
  reconnectTimer = setTimeout(() => {
1042
1242
  reconnectTimer = undefined;
1043
1243
  reconnecting = false;
1044
- connect(resumeUrl.toString(), nextReadiness);
1244
+ const needsReplacement = !replacementAllocatedForReconnect && (resumeRejectedAsExpired || terminalSessionExpired());
1245
+ if (!needsReplacement) {
1246
+ connect(resumeUrlForCurrentSession(), nextReadiness);
1247
+ return;
1248
+ }
1249
+ replacementAllocatedForReconnect = true;
1250
+ void allocateReplacementTerminalSession().then((replacement) => {
1251
+ if (stopped || terminalEnded || activeReadiness !== nextReadiness)
1252
+ return;
1253
+ // This has no await between assignments, so every loopback
1254
+ // handler observes one coherent replacement session.
1255
+ terminalUrl = replacement.terminalUrl;
1256
+ sessionId = replacement.sessionId;
1257
+ resumeToken = replacement.resumeToken;
1258
+ expiresAt = replacement.expiresAt;
1259
+ connect(terminalUrl, nextReadiness);
1260
+ }, (error) => {
1261
+ if (stopped || terminalEnded || activeReadiness !== nextReadiness)
1262
+ return;
1263
+ const replacementError = error instanceof FleetNodeAttachError
1264
+ ? error
1265
+ : new FleetNodeAttachError('terminal session could not be replaced after its resume credential expired', 'terminal_session_unavailable');
1266
+ endTerminal(new FleetNodeAttachError(`terminal transport could not replace an expired terminal session (node ref ${diagnosticValue(options.node.trim())},` +
1267
+ ` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint())})`, replacementError.code));
1268
+ });
1045
1269
  }, delay);
1046
1270
  });
1047
1271
  };
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,KAAK,mBAAmB,EAAoB,MAAM,oBAAoB,CAAC;AAIhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAkB,MAAM,qBAAqB,CAAC;AAmBzG,OAAO,EAIL,KAAK,wBAAwB,EAE9B,MAAM,0BAA0B,CAAC;AAoBlC,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,SAAS,GAAG;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AASF,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAOtD,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAElG,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAYD,KAAK,kBAAkB,GAAG;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAmDF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAE7E;AAqED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAajF;AAwBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAuB3D;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAU7D;AAED,4BAA4B;AAC5B,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAY/E;AA0GD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,MAAM,CAGjF;AAOD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EACvC,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO;AACjB;;;;;;;GAOG;AACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI;AACjD;;;;;GAKG;AACH,UAAU,GAAE,MAAM,EAAO;AACzB;;;;;;GAMG;AACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACpC,OAAO,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqEhD;AAED,8EAA8E;AAC9E,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAmBD;;;;;;;;;;GAUG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,EAC1C,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAO,GAC7E,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA8BpC;AAylBD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAEhF;AA8GD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,gBAAgB,EACtB,MAAM,SAAiC,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAkB9C;AAiED;;;;;;;;;;;GAWG;AACH,KAAK,kBAAkB,GACnB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAErF;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAM7B;AAuTD,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+kB5F;AAmCD,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqKhG;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,IAAI,CAAC,CAyEf"}
1
+ {"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"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"}