agent-relay 11.8.0 → 11.8.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.
Files changed (50) hide show
  1. package/README.md +18 -3
  2. package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
  3. package/dist/cli/agent-relay-mcp.js +61 -1
  4. package/dist/cli/agent-relay-mcp.js.map +1 -1
  5. package/dist/cli/bootstrap.d.ts.map +1 -1
  6. package/dist/cli/bootstrap.js +2 -0
  7. package/dist/cli/bootstrap.js.map +1 -1
  8. package/dist/cli/commands/fleet-agent.d.ts +14 -5
  9. package/dist/cli/commands/fleet-agent.d.ts.map +1 -1
  10. package/dist/cli/commands/fleet-agent.js +0 -0
  11. package/dist/cli/commands/fleet-agent.js.map +1 -1
  12. package/dist/cli/commands/fleet.d.ts +3 -0
  13. package/dist/cli/commands/fleet.d.ts.map +1 -1
  14. package/dist/cli/commands/fleet.js +230 -63
  15. package/dist/cli/commands/fleet.js.map +1 -1
  16. package/dist/cli/commands/observer.d.ts +28 -0
  17. package/dist/cli/commands/observer.d.ts.map +1 -0
  18. package/dist/cli/commands/observer.js +182 -0
  19. package/dist/cli/commands/observer.js.map +1 -0
  20. package/dist/cli/commands/session.d.ts +7 -1
  21. package/dist/cli/commands/session.d.ts.map +1 -1
  22. package/dist/cli/commands/session.js +29 -12
  23. package/dist/cli/commands/session.js.map +1 -1
  24. package/dist/cli/lib/attach-input-recovery.d.ts +30 -6
  25. package/dist/cli/lib/attach-input-recovery.d.ts.map +1 -1
  26. package/dist/cli/lib/attach-input-recovery.js +49 -1
  27. package/dist/cli/lib/attach-input-recovery.js.map +1 -1
  28. package/dist/cli/lib/attach.d.ts.map +1 -1
  29. package/dist/cli/lib/attach.js +10 -0
  30. package/dist/cli/lib/attach.js.map +1 -1
  31. package/dist/cli/lib/fleet-hint.d.ts.map +1 -1
  32. package/dist/cli/lib/fleet-hint.js +41 -13
  33. package/dist/cli/lib/fleet-hint.js.map +1 -1
  34. package/dist/cli/lib/fleet-live-agents.d.ts +42 -0
  35. package/dist/cli/lib/fleet-live-agents.d.ts.map +1 -0
  36. package/dist/cli/lib/fleet-live-agents.js +63 -0
  37. package/dist/cli/lib/fleet-live-agents.js.map +1 -0
  38. package/dist/cli/lib/message-delivery-receipts.d.ts +24 -0
  39. package/dist/cli/lib/message-delivery-receipts.d.ts.map +1 -1
  40. package/dist/cli/lib/message-delivery-receipts.js +39 -0
  41. package/dist/cli/lib/message-delivery-receipts.js.map +1 -1
  42. package/dist/cli/lib/observer-url.d.ts +32 -0
  43. package/dist/cli/lib/observer-url.d.ts.map +1 -0
  44. package/dist/cli/lib/observer-url.js +61 -0
  45. package/dist/cli/lib/observer-url.js.map +1 -0
  46. package/dist/cli/mcp/messaging-tools.d.ts.map +1 -1
  47. package/dist/cli/mcp/messaging-tools.js +21 -7
  48. package/dist/cli/mcp/messaging-tools.js.map +1 -1
  49. package/dist/index.cjs +238 -62
  50. package/package.json +9 -9
@@ -0,0 +1,182 @@
1
+ /**
2
+ * `agent-relay observer` — mint a scoped, read-only observer link.
3
+ *
4
+ * The engine rejects a workspace key (`rk_live_`) on the realtime endpoint, and
5
+ * a workspace key is an administrative credential that has no business in a URL
6
+ * or a terminal transcript. This command mints a scoped `ot_live_` token instead
7
+ * and prints the observer URL built from it, so "let a human follow along" is a
8
+ * single command rather than a hand-rolled API call.
9
+ */
10
+ import { InvalidArgumentError } from 'commander';
11
+ import { createObserverToken, listObserverTokens, revokeObserverToken, } from '@agent-relay/sdk';
12
+ import { DEFAULT_OBSERVER_EXPIRES, DEFAULT_OBSERVER_URL, observerUrl, resolveObserverBaseUrl, } from '../lib/observer-url.js';
13
+ import { printJson, runSdk, withSdkDefaults } from '../lib/sdk-command.js';
14
+ import { resolveBaseUrl, resolveWorkspaceKey } from '../lib/sdk-client.js';
15
+ const MAX_CHANNEL_FILTERS = 50;
16
+ function withObserverDefaults(overrides = {}) {
17
+ return {
18
+ ...withSdkDefaults(overrides),
19
+ createObserverToken,
20
+ listObserverTokens,
21
+ revokeObserverToken,
22
+ now: () => Date.now(),
23
+ randomSuffix: () => Math.random().toString(36).slice(2, 10),
24
+ ...overrides,
25
+ };
26
+ }
27
+ /**
28
+ * Parse a `30m` / `24h` / `7d` duration into milliseconds. Bare digits are
29
+ * rejected rather than guessed at — `--expires 24` is far more likely to mean
30
+ * hours than milliseconds, and silently picking either would be wrong.
31
+ */
32
+ export function parseDuration(value) {
33
+ const match = /^(\d+)([mhd])$/.exec(value.trim());
34
+ if (!match) {
35
+ throw new InvalidArgumentError('Expected a duration like 30m, 24h, or 7d.');
36
+ }
37
+ const amount = Number(match[1]);
38
+ if (amount <= 0) {
39
+ throw new InvalidArgumentError('Expected a positive duration.');
40
+ }
41
+ const unitMs = { m: 60_000, h: 3_600_000, d: 86_400_000 }[match[2]];
42
+ const total = amount * unitMs;
43
+ // The engine caps nothing here, but a token outliving the workspace is a
44
+ // liability rather than a convenience.
45
+ if (total > 90 * 86_400_000) {
46
+ throw new InvalidArgumentError('Expected a duration of 90d or less.');
47
+ }
48
+ return total;
49
+ }
50
+ function parseChannels(value) {
51
+ const names = value
52
+ .split(',')
53
+ .map((name) => name.trim().replace(/^#/, ''))
54
+ .filter(Boolean);
55
+ if (names.length === 0) {
56
+ throw new InvalidArgumentError('Expected at least one channel name.');
57
+ }
58
+ // Collapse duplicates before enforcing the cap: `--channels a,a,a` is one
59
+ // filter, and rejecting it for exceeding a limit it never reaches would be
60
+ // surprising.
61
+ const unique = [...new Set(names)];
62
+ if (unique.length > MAX_CHANNEL_FILTERS) {
63
+ throw new InvalidArgumentError(`Expected at most ${MAX_CHANNEL_FILTERS} channel names.`);
64
+ }
65
+ return unique;
66
+ }
67
+ /**
68
+ * Credentials shared by every observer subcommand. `baseUrl` is spread rather
69
+ * than passed as `undefined` because the SDK options treat an explicit
70
+ * `undefined` and an absent key differently.
71
+ */
72
+ function connection(options) {
73
+ const baseUrl = resolveBaseUrl({ baseUrl: options.baseUrl });
74
+ return {
75
+ workspaceKey: resolveWorkspaceKey({
76
+ workspaceKey: options.workspaceKey,
77
+ }),
78
+ ...(baseUrl ? { baseUrl } : {}),
79
+ };
80
+ }
81
+ function describeToken(token) {
82
+ return {
83
+ id: token.id,
84
+ name: token.name,
85
+ status: token.status,
86
+ expiresAt: token.expiresAt,
87
+ createdAt: token.createdAt,
88
+ ...(token.lastUsedAt === undefined ? {} : { lastUsedAt: token.lastUsedAt }),
89
+ };
90
+ }
91
+ export function registerObserverCommands(program, overrides = {}) {
92
+ const deps = withObserverDefaults(overrides);
93
+ const env = process.env;
94
+ const group = program
95
+ .command('observer')
96
+ .description('Mint a read-only observer link so a human can follow this workspace');
97
+ group
98
+ .option('--workspace-key <key>', 'Workspace key (defaults to RELAY_WORKSPACE_KEY or the active workspace)')
99
+ .option('--base-url <url>', 'Override the engine API base URL (defaults to RELAY_BASE_URL)')
100
+ .option('--observer-url <url>', `Observer dashboard URL (defaults to ${DEFAULT_OBSERVER_URL})`)
101
+ .option('--name <name>', 'Token name (defaults to a generated unique name)')
102
+ .option('--channels <names>', 'Restrict to a comma-separated list of channels', parseChannels)
103
+ .option('--include-dms', 'Include agent DM traffic (excluded by default)')
104
+ .option('--expires <duration>', `Token lifetime, e.g. 30m, 24h, 7d (default ${DEFAULT_OBSERVER_EXPIRES})`, parseDuration)
105
+ .option('--json', 'Output the token metadata and URL as JSON')
106
+ .action(async (options) => {
107
+ await runSdk(deps, async () => {
108
+ const lifetimeMs = options.expires ?? parseDuration(DEFAULT_OBSERVER_EXPIRES);
109
+ const name = options.name?.trim() || `observer-cli-${deps.randomSuffix()}`;
110
+ // Resolve the dashboard URL BEFORE minting. A bad `--observer-url` or
111
+ // `RELAY_OBSERVER_URL` would otherwise mint a live 24-hour token and
112
+ // then throw before printing it, leaving an active credential the
113
+ // caller never saw.
114
+ const observerBase = resolveObserverBaseUrl(options.observerUrl, env);
115
+ const token = await deps.createObserverToken({
116
+ ...connection(options),
117
+ name,
118
+ description: 'Minted by `agent-relay observer` for read-only follow-along',
119
+ filters: {
120
+ includeDms: options.includeDms === true,
121
+ ...(options.channels ? { channelNames: options.channels } : {}),
122
+ },
123
+ expiresAt: new Date(deps.now() + lifetimeMs).toISOString(),
124
+ });
125
+ if (!token.token) {
126
+ throw new Error('Observer token created, but the response did not include token material.');
127
+ }
128
+ const url = observerUrl(observerBase, token.token);
129
+ if (options.json) {
130
+ printJson(deps, { ...describeToken(token), url });
131
+ return;
132
+ }
133
+ deps.log(url);
134
+ deps.log('');
135
+ deps.log(`Read-only. Expires ${token.expiresAt ?? 'never'}.`);
136
+ deps.log(options.includeDms === true ? 'Includes agent DMs.' : 'Channels only — agent DMs are excluded.');
137
+ deps.log(`Revoke with: agent-relay observer revoke ${token.id}`);
138
+ });
139
+ });
140
+ group
141
+ .command('list')
142
+ .description('List observer tokens for this workspace (token material is never shown)')
143
+ .option('--workspace-key <key>', 'Workspace key (defaults to RELAY_WORKSPACE_KEY or the active workspace)')
144
+ .option('--base-url <url>', 'Override the engine API base URL')
145
+ .option('--json', 'Output as JSON')
146
+ .action(async (_options, command) => {
147
+ // The parent `observer` group declares the same flag names, and Commander
148
+ // resolves a repeated option onto the ancestor that declared it first — so
149
+ // the local opts object here is empty and `--json` / `--workspace-key`
150
+ // would be silently dropped. Read the merged view instead.
151
+ const options = command.optsWithGlobals();
152
+ await runSdk(deps, async () => {
153
+ const tokens = await deps.listObserverTokens(connection(options));
154
+ if (options.json) {
155
+ printJson(deps, tokens.map(describeToken));
156
+ return;
157
+ }
158
+ if (tokens.length === 0) {
159
+ deps.log('No observer tokens.');
160
+ return;
161
+ }
162
+ for (const token of tokens) {
163
+ deps.log(`${token.id} ${token.status} expires ${token.expiresAt ?? 'never'} ${token.name}`);
164
+ }
165
+ });
166
+ });
167
+ group
168
+ .command('revoke')
169
+ .description('Revoke an observer token by id')
170
+ .argument('<id>', 'Observer token id')
171
+ .option('--workspace-key <key>', 'Workspace key (defaults to RELAY_WORKSPACE_KEY or the active workspace)')
172
+ .option('--base-url <url>', 'Override the engine API base URL')
173
+ .action(async (id, _options, command) => {
174
+ // See the note on `observer list` — read merged options, not local ones.
175
+ const options = command.optsWithGlobals();
176
+ await runSdk(deps, async () => {
177
+ await deps.revokeObserverToken({ ...connection(options), id });
178
+ deps.log(`Revoked ${id}.`);
179
+ });
180
+ });
181
+ }
182
+ //# sourceMappingURL=observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer.js","sourceRoot":"","sources":["../../../src/cli/commands/observer.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface StoredRelayhistoryAuth {
10
10
  export interface SessionCommandDependencies {
11
11
  createClient: (storedAuth: StoredRelayhistoryAuth | null) => SessionReplayClient;
12
12
  readStoredAuth: () => StoredRelayhistoryAuth | null;
13
+ resolveWorkspaceKey: () => string | undefined;
13
14
  log: (...args: unknown[]) => void;
14
15
  error: (...args: unknown[]) => void;
15
16
  exit: (code: number) => never;
@@ -29,6 +30,11 @@ export declare function resolveRelayhistoryConfig(storedAuth: StoredRelayhistory
29
30
  baseUrl: string | undefined;
30
31
  token: string | undefined;
31
32
  };
32
- /** Register durable completed-session replay backed by Relayhistory's existing journal. */
33
+ /** Resolve the workspace-wide Relaycast replay credential independently of Relayhistory auth. */
34
+ export declare function resolveRelaycastConfig(persistedWorkspaceKey?: string): {
35
+ baseUrl: string | undefined;
36
+ workspaceKey: string | undefined;
37
+ };
38
+ /** Register durable completed-session replay joined across Relayhistory and Relaycast. */
33
39
  export declare function registerSessionCommands(program: Command, overrides?: Partial<SessionCommandDependencies>): void;
34
40
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAU1D,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,KAAK,mBAAmB,CAAC;IACjF,cAAc,EAAE,MAAM,sBAAsB,GAAG,IAAI,CAAC;IACpD,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAC/B;AAoBD,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CActE;AAUD;;;;;;;GAOG;AACH,yFAAyF;AACzF,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,GAAG;IACpF,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAKA;AAwBD,2FAA2F;AAC3F,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAClD,IAAI,CA+BN"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAW1D,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,KAAK,mBAAmB,CAAC;IACjF,cAAc,EAAE,MAAM,sBAAsB,GAAG,IAAI,CAAC;IACpD,mBAAmB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC9C,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAC/B;AAoBD,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CActE;AAUD;;;;;;;GAOG;AACH,yFAAyF;AACzF,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,GAAG;IACpF,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAKA;AAED,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG;IACtE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAOA;AAiCD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAClD,IAAI,CA+BN"}
@@ -4,6 +4,7 @@ import path from 'node:path';
4
4
  import { SessionClient } from '@agent-relay/session';
5
5
  import { InvalidArgumentError } from 'commander';
6
6
  import { defaultExit } from '../lib/exit.js';
7
+ import { resolveWorkspaceSessionKey } from '../lib/workspace-session.js';
7
8
  /** The durable reference is Relay's ai-hist session UUID, never a local alias. */
8
9
  const SESSION_REF_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
9
10
  const ALLOWED_RELAYHISTORY_HOST = 'history.agentrelay.com';
@@ -64,17 +65,33 @@ export function resolveRelayhistoryConfig(storedAuth) {
64
65
  token: nonBlankEnv(...RELAYHISTORY_TOKEN_ENV_VARS) ?? storedAuth?.token,
65
66
  };
66
67
  }
68
+ /** Resolve the workspace-wide Relaycast replay credential independently of Relayhistory auth. */
69
+ export function resolveRelaycastConfig(persistedWorkspaceKey) {
70
+ return {
71
+ baseUrl: nonBlankEnv('RELAY_BASE_URL'),
72
+ workspaceKey: nonBlankEnv('RELAY_WORKSPACE_KEY', 'AGENT_RELAY_WORKSPACE_KEY') ??
73
+ (persistedWorkspaceKey?.trim() || undefined),
74
+ };
75
+ }
67
76
  function withDefaults(overrides = {}) {
77
+ const resolveWorkspaceKey = overrides.resolveWorkspaceKey ?? resolveWorkspaceSessionKey;
68
78
  return {
69
- createClient: (storedAuth) => {
70
- const config = resolveRelayhistoryConfig(storedAuth);
71
- return new SessionClient({ baseUrl: config.baseUrl, token: config.token });
72
- },
73
- readStoredAuth: readStoredRelayhistoryAuth,
74
- log: (...args) => console.log(...args),
75
- error: (...args) => console.error(...args),
76
- exit: defaultExit,
77
- ...overrides,
79
+ createClient: overrides.createClient ??
80
+ ((storedAuth) => {
81
+ const config = resolveRelayhistoryConfig(storedAuth);
82
+ const relaycast = resolveRelaycastConfig(resolveWorkspaceKey());
83
+ return new SessionClient({
84
+ baseUrl: config.baseUrl,
85
+ token: config.token,
86
+ relaycastBaseUrl: relaycast.baseUrl,
87
+ workspaceKey: relaycast.workspaceKey,
88
+ });
89
+ }),
90
+ readStoredAuth: overrides.readStoredAuth ?? readStoredRelayhistoryAuth,
91
+ resolveWorkspaceKey,
92
+ log: overrides.log ?? ((...args) => console.log(...args)),
93
+ error: overrides.error ?? ((...args) => console.error(...args)),
94
+ exit: overrides.exit ?? defaultExit,
78
95
  };
79
96
  }
80
97
  function parseSessionRef(value) {
@@ -84,13 +101,13 @@ function parseSessionRef(value) {
84
101
  }
85
102
  return sessionRef;
86
103
  }
87
- /** Register durable completed-session replay backed by Relayhistory's existing journal. */
104
+ /** Register durable completed-session replay joined across Relayhistory and Relaycast. */
88
105
  export function registerSessionCommands(program, overrides = {}) {
89
106
  const deps = withDefaults(overrides);
90
- const group = program.command('session').description('Read durable Relayhistory sessions');
107
+ const group = program.command('session').description('Read durable completed Relay sessions');
91
108
  group
92
109
  .command('replay')
93
- .description('Reconstruct a completed Relay session as attributed Relayhistory context')
110
+ .description('Reconstruct a completed Relay session from Relayhistory and Relaycast')
94
111
  .argument('<id>', 'Relay-emitted session UUID', parseSessionRef)
95
112
  .action(async (sessionId) => {
96
113
  const storedAuth = deps.readStoredAuth();
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,29 @@ export declare function isBackpressureRejection(error: unknown): boolean;
69
69
  * {@link createInputStreamRecovery}'s default `recover()` path below.
70
70
  */
71
71
  export declare function isWriteTimeoutRejection(error: unknown): boolean;
72
+ /**
73
+ * `PtyInputStream.send()` rejects with `pty_write_queue_full` when the worker
74
+ * refused THAT ONE write because relay-pty's bounded drainer queue is full
75
+ * (`WRITE_QUEUE_DEPTH`, `crates/relay-pty/src/pty.rs`). The child is alive and
76
+ * the socket is healthy — the drainer is parked in `write_all` behind a child
77
+ * that has momentarily stopped reading its stdin, which is the normal state of
78
+ * a TUI harness mid-tool-call.
79
+ *
80
+ * This must not enter recovery. Reconnecting cannot drain the queue — it
81
+ * empties when the child resumes reading, not when a new socket opens — so a
82
+ * teardown here produced exactly one flap per keystroke for as long as the
83
+ * agent stayed busy (`input stream lost … / reconnected after 1 attempt(s)`,
84
+ * relay#1597). The broker keeps the connection open for this code for the same
85
+ * reason (`pty_input_error_is_connection_fatal`, `listen_api.rs`).
86
+ *
87
+ * Unlike {@link isWriteTimeoutRejection} this IS a confirmed refusal: the byte
88
+ * was never enqueued and will never reach the child, so the optimistic echo has
89
+ * to come back off the screen. Note the queue is shared with terminal-query
90
+ * replies, injected messages and auto-responder writes, so the operator whose
91
+ * keystroke is refused is usually not the one who filled it — the message must
92
+ * not blame their typing speed.
93
+ */
94
+ export declare function isWriteRefusedRejection(error: unknown): boolean;
72
95
  export interface InputStreamRecoveryOptions {
73
96
  /** Log prefix tag — `drive` or `passthrough`. */
74
97
  label: string;
@@ -136,13 +159,14 @@ export interface InputStreamRecovery {
136
159
  /** Begin recovery. No-ops if already recovering or settled. */
137
160
  recover(reason: string): void;
138
161
  /**
139
- * Classify a rejected `send()`. Two codes never enter recovery:
162
+ * Classify a rejected `send()`. Three codes never enter recovery:
140
163
  * `input_backpressure` is flow control on a healthy stream and only costs
141
- * the optimistic echo, and `worker_timeout` is a late ack on a write that
142
- * may still land, so it costs nothing no rollback, no recovery. Every
143
- * other rejection is treated as transport loss and enters recovery, which
144
- * does roll back. Callers route every send rejection here rather than
145
- * assuming loss.
164
+ * the optimistic echo; `pty_write_queue_full` is the worker refusing one
165
+ * write while its drainer queue is full, which also only costs the echo; and
166
+ * `worker_timeout` is a late ack on a write that may still land, so it costs
167
+ * nothing no rollback, no recovery. Every other rejection is treated as
168
+ * transport loss and enters recovery, which does roll back. Callers route
169
+ * every send rejection here rather than assuming loss.
146
170
  */
147
171
  handleSendFailure(error: unknown): void;
148
172
  /** Clears the backpressure latch so a later episode reports again. */
@@ -1 +1 @@
1
- {"version":3,"file":"attach-input-recovery.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-input-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,2CAA2C;AAC3C,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,6DAA6D;AAC7D,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,iFAAiF;IACjF,UAAU,EAAE,MAAM,iBAAiB,CAAC;IACpC,sEAAsE;IACtE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,oEAAoE;IACpE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,IAAI,iBAAiB,CAAC;IACxE,wCAAwC;IACxC,YAAY,IAAI,OAAO,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,sEAAsE;IACtE,eAAe,IAAI,IAAI,CAAC;IACxB,4DAA4D;IAC5D,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CA4QlG"}
1
+ {"version":3,"file":"attach-input-recovery.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-input-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,2CAA2C;AAC3C,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,6DAA6D;AAC7D,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM/D;AAED,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,iFAAiF;IACjF,UAAU,EAAE,MAAM,iBAAiB,CAAC;IACpC,sEAAsE;IACtE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,oEAAoE;IACpE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,IAAI,iBAAiB,CAAC;IACxE,wCAAwC;IACxC,YAAY,IAAI,OAAO,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,sEAAsE;IACtE,eAAe,IAAI,IAAI,CAAC;IACxB,4DAA4D;IAC5D,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAqSlG"}
@@ -72,6 +72,33 @@ export function isBackpressureRejection(error) {
72
72
  export function isWriteTimeoutRejection(error) {
73
73
  return (typeof error === 'object' && error !== null && error.code === 'worker_timeout');
74
74
  }
75
+ /**
76
+ * `PtyInputStream.send()` rejects with `pty_write_queue_full` when the worker
77
+ * refused THAT ONE write because relay-pty's bounded drainer queue is full
78
+ * (`WRITE_QUEUE_DEPTH`, `crates/relay-pty/src/pty.rs`). The child is alive and
79
+ * the socket is healthy — the drainer is parked in `write_all` behind a child
80
+ * that has momentarily stopped reading its stdin, which is the normal state of
81
+ * a TUI harness mid-tool-call.
82
+ *
83
+ * This must not enter recovery. Reconnecting cannot drain the queue — it
84
+ * empties when the child resumes reading, not when a new socket opens — so a
85
+ * teardown here produced exactly one flap per keystroke for as long as the
86
+ * agent stayed busy (`input stream lost … / reconnected after 1 attempt(s)`,
87
+ * relay#1597). The broker keeps the connection open for this code for the same
88
+ * reason (`pty_input_error_is_connection_fatal`, `listen_api.rs`).
89
+ *
90
+ * Unlike {@link isWriteTimeoutRejection} this IS a confirmed refusal: the byte
91
+ * was never enqueued and will never reach the child, so the optimistic echo has
92
+ * to come back off the screen. Note the queue is shared with terminal-query
93
+ * replies, injected messages and auto-responder writes, so the operator whose
94
+ * keystroke is refused is usually not the one who filled it — the message must
95
+ * not blame their typing speed.
96
+ */
97
+ export function isWriteRefusedRejection(error) {
98
+ return (typeof error === 'object' &&
99
+ error !== null &&
100
+ error.code === 'pty_write_queue_full');
101
+ }
75
102
  function describeSendError(error) {
76
103
  if (error instanceof Error)
77
104
  return error.message;
@@ -93,6 +120,8 @@ export function createInputStreamRecovery(options) {
93
120
  let backpressureReported = false;
94
121
  /** True once a write-timeout episode has been reported; reset on the next good send. */
95
122
  let writeTimeoutReported = false;
123
+ /** True once a write-refused episode has been reported; reset on the next good send. */
124
+ let writeRefusedReported = false;
96
125
  const cancel = () => {
97
126
  if (timer) {
98
127
  clearTimeout(timer);
@@ -136,6 +165,7 @@ export function createInputStreamRecovery(options) {
136
165
  const noteSendSuccess = () => {
137
166
  backpressureReported = false;
138
167
  writeTimeoutReported = false;
168
+ writeRefusedReported = false;
139
169
  };
140
170
  const handleSendFailure = (sendError) => {
141
171
  if (isBackpressureRejection(sendError)) {
@@ -151,6 +181,19 @@ export function createInputStreamRecovery(options) {
151
181
  }
152
182
  return;
153
183
  }
184
+ if (isWriteRefusedRejection(sendError)) {
185
+ // Confirmed refusal on a healthy stream: roll the optimistic echo back
186
+ // (the byte will never reach the child) but keep the socket. Report once
187
+ // per episode — the cause persists for as long as the agent is busy, so
188
+ // per-keystroke reporting would rebuild the flood this module removes.
189
+ onRollback();
190
+ if (!writeRefusedReported) {
191
+ writeRefusedReported = true;
192
+ log(`[${label}] ${name} is not reading input right now (busy); that keystroke was dropped. ` +
193
+ `The session is still attached — retry once it is idle.`);
194
+ }
195
+ return;
196
+ }
154
197
  if (isWriteTimeoutRejection(sendError)) {
155
198
  // This one write's ack didn't arrive in time — the worker may just be
156
199
  // busy, not dead (relay#1544). The transport already kept the socket
@@ -263,7 +306,12 @@ export function createInputStreamRecovery(options) {
263
306
  return 'rejected';
264
307
  }
265
308
  setStream(replacement);
266
- log(`[${label}] input stream reconnected after ${attempt} attempt(s)`);
309
+ // Say plainly that the session survived. A recovered flap and a fatal
310
+ // disconnect previously read the same to a human — both were red lines
311
+ // that named a failure and stopped — so operators read a working session
312
+ // as a crash (relay#1597).
313
+ log(`[${label}] input stream reconnected after ${attempt} attempt(s) — ${name} is still attached ` +
314
+ `and usable. Keystrokes typed during the outage were dropped, not queued; retype them.`);
267
315
  return 'opened';
268
316
  };
269
317
  inFlight = (async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"attach-input-recovery.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-input-recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach-input-recovery.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-input-recovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach.ts"],"names":[],"mappings":"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"}
@@ -418,6 +418,16 @@ function takeColumns(text, budget, from = 'start') {
418
418
  export function reserveStatusLineRow(localSize) {
419
419
  if (!localSize)
420
420
  return null;
421
+ // A terminal can report a degenerate size: `script(1)` with no winsize, a
422
+ // minimized window, a size not yet reported after attach, or a teardown race
423
+ // all surface as 0 (or worse) rows/cols while `stdout.isTTY` is still true.
424
+ // Forwarding that verbatim made every attach mode POST `{rows: 0, cols: 0}`
425
+ // and collect `rows and cols must be positive integers` from the broker —
426
+ // harmless but alarming noise that has sent more than one investigation down
427
+ // the wrong path (relay#1597). Treat it the same as "no local size": skip the
428
+ // resize entirely rather than inventing dimensions the operator never had.
429
+ if (localSize.rows < 1 || localSize.cols < 1)
430
+ return null;
421
431
  if (localSize.rows < 3 || localSize.cols < 2)
422
432
  return localSize;
423
433
  return {