@agent-relay/wrapper 2.0.15 → 2.0.17

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.
@@ -93,7 +93,6 @@ export declare class RelayPtyOrchestrator extends BaseWrapper {
93
93
  private lastParsedLength;
94
94
  private isInteractive;
95
95
  private pendingInjections;
96
- private pendingSendEnter;
97
96
  private backpressureActive;
98
97
  private readyForMessages;
99
98
  private throttle;
@@ -236,15 +235,6 @@ export declare class RelayPtyOrchestrator extends BaseWrapper {
236
235
  * If verification fails, retries up to MAX_RETRIES times.
237
236
  */
238
237
  private handleInjectResult;
239
- /**
240
- * Handle SendEnter result (stuck input recovery)
241
- * Called when relay-pty responds to a SendEnter request
242
- */
243
- private handleSendEnterResult;
244
- /**
245
- * Do a full retry with message content (used when SendEnter fails or for subsequent retries)
246
- */
247
- private doFullRetry;
248
238
  /**
249
239
  * Handle backpressure notification
250
240
  */
@@ -1 +1 @@
1
- {"version":3,"file":"relay-pty-orchestrator.d.ts","sourceRoot":"","sources":["../src/relay-pty-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-pty-orchestrator.d.ts","sourceRoot":"","sources":["../src/relay-pty-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAsE5E,UAAU,cAAc;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB;AAsCD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gCAAgC;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wGAAwG;IACxG,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,kBAAkB,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxF,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1E,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE,aAAa,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACxE;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,UAAmB,MAAM,EAAE,0BAA0B,CAAC;IAGtD,OAAO,CAAC,eAAe,CAAC,CAAe;IACvC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,iBAAiB,CAQV;IACf,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,QAAQ,CAA0B;IAG1C,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAQ;IAGrD,OAAO,CAAC,iBAAiB,CAAS;IAGlC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IAClD,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAGhD,OAAO,CAAC,eAAe,CAAC,CAAY;IACpC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAS;IAGvD,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAkB;IAChE,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,kBAAkB,CAA+C;IAGzE,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAS;gBAInB,MAAM,EAAE,0BAA0B;IA0F9C;;;OAGG;IACH,OAAO,CAAC,GAAG;IAeX;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAahB;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAMD;;OAEG;IACY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyNrC;;OAEG;IACY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2EpC;;OAEG;cACa,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjE;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAQlC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;YACW,aAAa;IA6K3B;;OAEG;YACW,gBAAgB;IAoB9B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAkCpB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,YAAY;IA0CpB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;YACW,oBAAoB;IAkClC;;OAEG;YACW,sBAAsB;IAepC;;OAEG;YACW,eAAe;IAoB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6D/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB,oCAAoC;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,yCAAyC;IACzC,OAAO,CAAC,sBAAsB,CAAK;IAEnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkD/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwC5B;;;;OAIG;YACW,kBAAkB;IAgDhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;YACW,aAAa;IAwD3B;;OAEG;YACW,mBAAmB;IA4FjC;;OAEG;cACgB,qBAAqB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,QAAQ,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAQP;;;;OAIG;cACgB,4BAA4B,CAC7C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACxC,IAAI;IAYP;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA+CpC;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAyD1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAenD;;;;;;;;;;;;OAYG;IACG,iBAAiB,CAAC,SAAS,SAAQ,EAAE,MAAM,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgD1E;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAQxB;;;;;;;;;OASG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;;;;;;;;OASG;IACG,yBAAyB,CAAC,SAAS,SAAQ,EAAE,MAAM,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BlF;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;OAGG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAQnC;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IA0DlE;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;CAGjC"}
@@ -28,7 +28,7 @@ const __dirname = dirname(__filename);
28
28
  import { BaseWrapper } from './base-wrapper.js';
29
29
  import { parseSummaryWithDetails, parseSessionEndFromOutput } from './parser.js';
30
30
  import { findRelayPtyBinary as findRelayPtyBinaryUtil } from '@agent-relay/utils/relay-pty-path';
31
- import { stripAnsi, sleep, buildInjectionString, verifyInjection, INJECTION_CONSTANTS, AdaptiveThrottle, } from './shared.js';
31
+ import { stripAnsi, sleep, buildInjectionString, AdaptiveThrottle, } from './shared.js';
32
32
  import { getMemoryMonitor, formatBytes, getCgroupManager, } from '@agent-relay/resiliency';
33
33
  // ============================================================================
34
34
  // Types for relay-pty socket protocol
@@ -63,8 +63,6 @@ export class RelayPtyOrchestrator extends BaseWrapper {
63
63
  isInteractive = false;
64
64
  // Injection state
65
65
  pendingInjections = new Map();
66
- // Pending SendEnter requests (for stuck input recovery)
67
- pendingSendEnter = new Map();
68
66
  backpressureActive = false;
69
67
  readyForMessages = false;
70
68
  // Adaptive throttle for message queue - adjusts delay based on success/failure
@@ -398,15 +396,29 @@ export class RelayPtyOrchestrator extends BaseWrapper {
398
396
  // Wait for socket to become available and connect
399
397
  await this.connectToSocket();
400
398
  this.running = true;
401
- this.readyForMessages = true;
399
+ // DON'T set readyForMessages yet - wait for CLI to be ready first
400
+ // This prevents messages from being injected during CLI startup
402
401
  this.startStuckDetection();
403
402
  this.startQueueMonitor();
404
403
  this.startProtocolMonitor();
405
404
  this.startPeriodicReminder();
406
- this.log(` Ready for messages`);
407
405
  this.log(` Socket connected: ${this.socketConnected}`);
408
406
  this.log(` Relay client state: ${this.client.state}`);
409
- // Process any queued messages
407
+ // Wait for CLI to be fully ready (output received + idle state)
408
+ // This ensures we don't inject messages while the CLI is still starting up
409
+ // Messages arriving via daemon during this time will be queued but not processed
410
+ this.log(` Waiting for CLI to be ready before accepting messages...`);
411
+ const cliReady = await this.waitUntilCliReady(30000, 100);
412
+ if (cliReady) {
413
+ this.log(` CLI is ready, enabling message processing`);
414
+ }
415
+ else {
416
+ this.log(` CLI readiness timeout, enabling message processing anyway`);
417
+ }
418
+ // Now enable message processing
419
+ this.readyForMessages = true;
420
+ this.log(` Ready for messages`);
421
+ // Process any queued messages that arrived during startup
410
422
  this.processMessageQueue();
411
423
  }
412
424
  /**
@@ -1119,10 +1131,8 @@ export class RelayPtyOrchestrator extends BaseWrapper {
1119
1131
  this.log(` Shutdown acknowledged`);
1120
1132
  break;
1121
1133
  case 'send_enter_result':
1122
- // Handle SendEnter result (stuck input recovery)
1123
- this.handleSendEnterResult(response).catch((err) => {
1124
- this.logError(` Error handling send_enter result: ${err.message}`);
1125
- });
1134
+ // SendEnter is no longer used - trust Rust delivery confirmation
1135
+ this.log(` Received send_enter_result (deprecated)`);
1126
1136
  break;
1127
1137
  }
1128
1138
  }
@@ -1145,150 +1155,26 @@ export class RelayPtyOrchestrator extends BaseWrapper {
1145
1155
  }
1146
1156
  if (response.status === 'delivered') {
1147
1157
  // Rust says it sent the message + Enter key
1148
- // Now verify the message actually appeared in the terminal output
1149
- this.log(` Message ${pending.shortId} marked delivered by Rust, verifying in output...`);
1150
- // In interactive mode, we can't verify because stdout goes directly to terminal
1151
- // Trust Rust's "delivered" status in this case
1152
- if (this.isInteractive) {
1153
- this.log(` Interactive mode - trusting Rust delivery status`);
1154
- clearTimeout(pending.timeout);
1155
- this.pendingInjections.delete(response.id);
1156
- if (pending.retryCount === 0) {
1157
- this.injectionMetrics.successFirstTry++;
1158
- }
1159
- else {
1160
- this.injectionMetrics.successWithRetry++;
1161
- }
1162
- this.injectionMetrics.total++;
1163
- pending.resolve(true);
1164
- this.log(` Message ${pending.shortId} delivered (interactive mode) ✓`);
1165
- return;
1166
- }
1167
- // Skip verification if queue is backing up - trust Rust's delivery status
1168
- // relay-pty writes directly to PTY which is more reliable than tmux
1169
- const queueBackingUp = this.messageQueue.length >= 2;
1170
- if (queueBackingUp) {
1171
- this.log(` Queue backing up (${this.messageQueue.length} pending), skipping verification for ${pending.shortId}`);
1172
- clearTimeout(pending.timeout);
1173
- this.pendingInjections.delete(response.id);
1174
- if (pending.retryCount === 0) {
1175
- this.injectionMetrics.successFirstTry++;
1176
- }
1177
- else {
1178
- this.injectionMetrics.successWithRetry++;
1179
- }
1180
- this.injectionMetrics.total++;
1181
- pending.resolve(true);
1182
- return;
1183
- }
1184
- // Give a brief moment for output to be captured
1185
- await sleep(100);
1186
- // Verify the message pattern appears in captured output
1187
- const verified = await verifyInjection(pending.shortId, pending.from, async () => this.getCleanOutput());
1188
- if (verified) {
1189
- clearTimeout(pending.timeout);
1190
- this.pendingInjections.delete(response.id);
1191
- // Update metrics based on retry count (0 = first try)
1192
- if (pending.retryCount === 0) {
1193
- this.injectionMetrics.successFirstTry++;
1194
- }
1195
- else {
1196
- this.injectionMetrics.successWithRetry++;
1197
- this.log(` Message ${pending.shortId} succeeded on attempt ${pending.retryCount + 1}`);
1198
- }
1199
- this.injectionMetrics.total++;
1200
- pending.resolve(true);
1201
- this.log(` Message ${pending.shortId} verified in output ✓`);
1158
+ // Trust Rust's delivery confirmation - relay-pty writes directly to PTY which is very reliable.
1159
+ //
1160
+ // IMPORTANT: We don't verify by looking for the message in output because:
1161
+ // 1. TUI CLIs (Claude, Codex, Gemini) don't echo input like traditional terminals
1162
+ // 2. The injected text appears as INPUT to the PTY, not OUTPUT
1163
+ // 3. Output-based verification always fails for TUIs, causing unnecessary retries
1164
+ //
1165
+ // This is different from tmux-wrapper where we inject via tmux send-keys
1166
+ // and can observe the echoed input in the pane output.
1167
+ this.log(` Message ${pending.shortId} delivered by Rust ✓`);
1168
+ clearTimeout(pending.timeout);
1169
+ this.pendingInjections.delete(response.id);
1170
+ if (pending.retryCount === 0) {
1171
+ this.injectionMetrics.successFirstTry++;
1202
1172
  }
1203
1173
  else {
1204
- // Message was "delivered" but not found in output
1205
- // This is the bug case - Enter key may not have been processed
1206
- this.log(` Message ${pending.shortId} NOT found in output after delivery`);
1207
- // Check if we should retry
1208
- if (pending.retryCount < INJECTION_CONSTANTS.MAX_RETRIES - 1) {
1209
- clearTimeout(pending.timeout);
1210
- this.pendingInjections.delete(response.id);
1211
- // Wait before retry with backoff
1212
- await sleep(INJECTION_CONSTANTS.RETRY_BACKOFF_MS * (pending.retryCount + 1));
1213
- // IMPORTANT: Check again if message appeared (late verification / race condition fix)
1214
- // The previous injection may have succeeded but verification timed out
1215
- const lateVerified = await verifyInjection(pending.shortId, pending.from, async () => this.getCleanOutput());
1216
- if (lateVerified) {
1217
- this.log(` Message ${pending.shortId} found on late verification, skipping retry`);
1218
- if (pending.retryCount === 0) {
1219
- this.injectionMetrics.successFirstTry++;
1220
- }
1221
- else {
1222
- this.injectionMetrics.successWithRetry++;
1223
- }
1224
- this.injectionMetrics.total++;
1225
- pending.resolve(true);
1226
- return;
1227
- }
1228
- // On first retry attempt (retryCount === 0), try SendEnter first
1229
- // This handles the case where message content was written but Enter wasn't processed
1230
- if (pending.retryCount === 0) {
1231
- this.log(` Trying SendEnter first for ${pending.shortId} (stuck input recovery)`);
1232
- // Send just the Enter key
1233
- const sendEnterRequest = {
1234
- type: 'send_enter',
1235
- id: response.id,
1236
- };
1237
- // Track this SendEnter request for verification
1238
- const sendEnterTimeout = setTimeout(() => {
1239
- this.logError(` SendEnter timeout for ${pending.shortId}`);
1240
- this.pendingSendEnter.delete(response.id);
1241
- // Fall back to full retry after SendEnter timeout
1242
- this.doFullRetry(response.id, pending);
1243
- }, 5000); // 5 second timeout for SendEnter
1244
- this.pendingSendEnter.set(response.id, {
1245
- resolve: (verified) => {
1246
- if (verified) {
1247
- // SendEnter worked!
1248
- this.injectionMetrics.successWithRetry++;
1249
- this.injectionMetrics.total++;
1250
- pending.resolve(true);
1251
- }
1252
- else {
1253
- // SendEnter didn't work, do full retry
1254
- this.doFullRetry(response.id, pending);
1255
- }
1256
- },
1257
- timeout: sendEnterTimeout,
1258
- from: pending.from,
1259
- shortId: pending.shortId,
1260
- retryCount: pending.retryCount,
1261
- originalBody: pending.originalBody,
1262
- originalResolve: pending.resolve,
1263
- });
1264
- this.sendSocketRequest(sendEnterRequest).catch((err) => {
1265
- this.logError(` SendEnter request failed: ${err.message}`);
1266
- clearTimeout(sendEnterTimeout);
1267
- this.pendingSendEnter.delete(response.id);
1268
- // Fall back to full retry
1269
- this.doFullRetry(response.id, pending);
1270
- });
1271
- }
1272
- else {
1273
- // On subsequent retries (retryCount > 0), do full retry directly
1274
- this.doFullRetry(response.id, pending);
1275
- }
1276
- }
1277
- else {
1278
- // Max retries exceeded
1279
- this.logError(` Message ${pending.shortId} failed after ${INJECTION_CONSTANTS.MAX_RETRIES} attempts - NOT found in output`);
1280
- clearTimeout(pending.timeout);
1281
- this.pendingInjections.delete(response.id);
1282
- this.injectionMetrics.failed++;
1283
- this.injectionMetrics.total++;
1284
- pending.resolve(false);
1285
- this.emit('injection-failed', {
1286
- messageId: response.id,
1287
- from: pending.from,
1288
- error: 'Message delivered but not verified in output after max retries',
1289
- });
1290
- }
1174
+ this.injectionMetrics.successWithRetry++;
1291
1175
  }
1176
+ this.injectionMetrics.total++;
1177
+ pending.resolve(true);
1292
1178
  }
1293
1179
  else if (response.status === 'failed') {
1294
1180
  clearTimeout(pending.timeout);
@@ -1305,77 +1191,6 @@ export class RelayPtyOrchestrator extends BaseWrapper {
1305
1191
  }
1306
1192
  // queued/injecting are intermediate states - wait for final status
1307
1193
  }
1308
- /**
1309
- * Handle SendEnter result (stuck input recovery)
1310
- * Called when relay-pty responds to a SendEnter request
1311
- */
1312
- async handleSendEnterResult(response) {
1313
- this.log(` handleSendEnterResult: id=${response.id.substring(0, 8)} success=${response.success}`);
1314
- const pendingEnter = this.pendingSendEnter.get(response.id);
1315
- if (!pendingEnter) {
1316
- this.log(` No pending SendEnter found for ${response.id.substring(0, 8)}`);
1317
- return;
1318
- }
1319
- clearTimeout(pendingEnter.timeout);
1320
- this.pendingSendEnter.delete(response.id);
1321
- if (!response.success) {
1322
- this.log(` SendEnter failed for ${pendingEnter.shortId}, will try full retry`);
1323
- pendingEnter.resolve(false);
1324
- return;
1325
- }
1326
- // SendEnter succeeded - wait and verify
1327
- this.log(` SendEnter sent for ${pendingEnter.shortId}, waiting to verify...`);
1328
- await sleep(150); // Give time for Enter to be processed
1329
- // Verify the message appeared in output
1330
- const verified = await verifyInjection(pendingEnter.shortId, pendingEnter.from, async () => this.getCleanOutput());
1331
- if (verified) {
1332
- this.log(` Message ${pendingEnter.shortId} verified after SendEnter ✓`);
1333
- pendingEnter.resolve(true);
1334
- }
1335
- else {
1336
- this.log(` Message ${pendingEnter.shortId} still not verified after SendEnter, will try full retry`);
1337
- pendingEnter.resolve(false);
1338
- }
1339
- }
1340
- /**
1341
- * Do a full retry with message content (used when SendEnter fails or for subsequent retries)
1342
- */
1343
- doFullRetry(messageId, pending) {
1344
- this.log(` Doing full retry for ${pending.shortId} (attempt ${pending.retryCount + 2}/${INJECTION_CONSTANTS.MAX_RETRIES})`);
1345
- // Re-inject by sending another socket request
1346
- // Prepend [RETRY] to help agent notice this is a retry
1347
- const retryBody = pending.originalBody.startsWith('[RETRY]')
1348
- ? pending.originalBody
1349
- : `[RETRY] ${pending.originalBody}`;
1350
- const retryRequest = {
1351
- type: 'inject',
1352
- id: messageId,
1353
- from: pending.from,
1354
- body: retryBody,
1355
- priority: 1, // Higher priority for retries
1356
- };
1357
- // Create new pending entry with incremented retry count
1358
- const newTimeout = setTimeout(() => {
1359
- this.logError(` Retry timeout for ${pending.shortId}`);
1360
- this.pendingInjections.delete(messageId);
1361
- pending.resolve(false);
1362
- }, 30000);
1363
- this.pendingInjections.set(messageId, {
1364
- resolve: pending.resolve,
1365
- reject: pending.reject,
1366
- timeout: newTimeout,
1367
- from: pending.from,
1368
- shortId: pending.shortId,
1369
- retryCount: pending.retryCount + 1,
1370
- originalBody: retryBody,
1371
- });
1372
- this.sendSocketRequest(retryRequest).catch((err) => {
1373
- this.logError(` Full retry request failed: ${err.message}`);
1374
- clearTimeout(newTimeout);
1375
- this.pendingInjections.delete(messageId);
1376
- pending.resolve(false);
1377
- });
1378
- }
1379
1194
  /**
1380
1195
  * Handle backpressure notification
1381
1196
  */
@@ -1 +1 @@
1
- {"version":3,"file":"relay-pty-orchestrator.js","sourceRoot":"","sources":["../src/relay-pty-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-pty-orchestrator.js","sourceRoot":"","sources":["../src/relay-pty-orchestrator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/wrapper",
3
- "version": "2.0.15",
3
+ "version": "2.0.17",
4
4
  "description": "CLI agent wrappers for Agent Relay - tmux, pty integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,11 +30,11 @@
30
30
  "clean": "rm -rf dist"
31
31
  },
32
32
  "dependencies": {
33
- "@agent-relay/api-types": "2.0.15",
34
- "@agent-relay/protocol": "2.0.15",
35
- "@agent-relay/config": "2.0.15",
36
- "@agent-relay/continuity": "2.0.15",
37
- "@agent-relay/resiliency": "2.0.15"
33
+ "@agent-relay/api-types": "2.0.17",
34
+ "@agent-relay/protocol": "2.0.17",
35
+ "@agent-relay/config": "2.0.17",
36
+ "@agent-relay/continuity": "2.0.17",
37
+ "@agent-relay/resiliency": "2.0.17"
38
38
  },
39
39
  "devDependencies": {
40
40
  "typescript": "^5.9.3",
@@ -131,6 +131,10 @@ describe('RelayPtyOrchestrator', () => {
131
131
  setTimeout(() => callback(), 10);
132
132
  return mockSocket;
133
133
  });
134
+
135
+ // Mock waitUntilCliReady to resolve immediately in tests
136
+ // This avoids waiting for CLI readiness checks which require complex simulation
137
+ vi.spyOn(RelayPtyOrchestrator.prototype, 'waitUntilCliReady').mockResolvedValue(true);
134
138
  });
135
139
 
136
140
  afterEach(async () => {
@@ -39,8 +39,6 @@ import {
39
39
  stripAnsi,
40
40
  sleep,
41
41
  buildInjectionString,
42
- verifyInjection,
43
- INJECTION_CONSTANTS,
44
42
  AdaptiveThrottle,
45
43
  } from './shared.js';
46
44
  import {
@@ -221,16 +219,6 @@ export class RelayPtyOrchestrator extends BaseWrapper {
221
219
  retryCount: number; // Track retry attempts
222
220
  originalBody: string; // Original injection content for retries
223
221
  }> = new Map();
224
- // Pending SendEnter requests (for stuck input recovery)
225
- private pendingSendEnter: Map<string, {
226
- resolve: (verified: boolean) => void;
227
- timeout: NodeJS.Timeout;
228
- from: string;
229
- shortId: string;
230
- retryCount: number;
231
- originalBody: string;
232
- originalResolve: (success: boolean) => void; // Original injection promise resolver
233
- }> = new Map();
234
222
  private backpressureActive = false;
235
223
  private readyForMessages = false;
236
224
 
@@ -601,17 +589,32 @@ export class RelayPtyOrchestrator extends BaseWrapper {
601
589
  await this.connectToSocket();
602
590
 
603
591
  this.running = true;
604
- this.readyForMessages = true;
592
+ // DON'T set readyForMessages yet - wait for CLI to be ready first
593
+ // This prevents messages from being injected during CLI startup
605
594
  this.startStuckDetection();
606
595
  this.startQueueMonitor();
607
596
  this.startProtocolMonitor();
608
597
  this.startPeriodicReminder();
609
598
 
610
- this.log(` Ready for messages`);
611
599
  this.log(` Socket connected: ${this.socketConnected}`);
612
600
  this.log(` Relay client state: ${this.client.state}`);
613
601
 
614
- // Process any queued messages
602
+ // Wait for CLI to be fully ready (output received + idle state)
603
+ // This ensures we don't inject messages while the CLI is still starting up
604
+ // Messages arriving via daemon during this time will be queued but not processed
605
+ this.log(` Waiting for CLI to be ready before accepting messages...`);
606
+ const cliReady = await this.waitUntilCliReady(30000, 100);
607
+ if (cliReady) {
608
+ this.log(` CLI is ready, enabling message processing`);
609
+ } else {
610
+ this.log(` CLI readiness timeout, enabling message processing anyway`);
611
+ }
612
+
613
+ // Now enable message processing
614
+ this.readyForMessages = true;
615
+ this.log(` Ready for messages`);
616
+
617
+ // Process any queued messages that arrived during startup
615
618
  this.processMessageQueue();
616
619
  }
617
620
 
@@ -1428,10 +1431,8 @@ export class RelayPtyOrchestrator extends BaseWrapper {
1428
1431
  break;
1429
1432
 
1430
1433
  case 'send_enter_result':
1431
- // Handle SendEnter result (stuck input recovery)
1432
- this.handleSendEnterResult(response).catch((err: Error) => {
1433
- this.logError(` Error handling send_enter result: ${err.message}`);
1434
- });
1434
+ // SendEnter is no longer used - trust Rust delivery confirmation
1435
+ this.log(` Received send_enter_result (deprecated)`);
1435
1436
  break;
1436
1437
  }
1437
1438
  } catch (err: any) {
@@ -1456,163 +1457,26 @@ export class RelayPtyOrchestrator extends BaseWrapper {
1456
1457
 
1457
1458
  if (response.status === 'delivered') {
1458
1459
  // Rust says it sent the message + Enter key
1459
- // Now verify the message actually appeared in the terminal output
1460
- this.log(` Message ${pending.shortId} marked delivered by Rust, verifying in output...`);
1461
-
1462
- // In interactive mode, we can't verify because stdout goes directly to terminal
1463
- // Trust Rust's "delivered" status in this case
1464
- if (this.isInteractive) {
1465
- this.log(` Interactive mode - trusting Rust delivery status`);
1466
- clearTimeout(pending.timeout);
1467
- this.pendingInjections.delete(response.id);
1468
- if (pending.retryCount === 0) {
1469
- this.injectionMetrics.successFirstTry++;
1470
- } else {
1471
- this.injectionMetrics.successWithRetry++;
1472
- }
1473
- this.injectionMetrics.total++;
1474
- pending.resolve(true);
1475
- this.log(` Message ${pending.shortId} delivered (interactive mode) ✓`);
1476
- return;
1477
- }
1478
-
1479
- // Skip verification if queue is backing up - trust Rust's delivery status
1480
- // relay-pty writes directly to PTY which is more reliable than tmux
1481
- const queueBackingUp = this.messageQueue.length >= 2;
1482
- if (queueBackingUp) {
1483
- this.log(` Queue backing up (${this.messageQueue.length} pending), skipping verification for ${pending.shortId}`);
1484
- clearTimeout(pending.timeout);
1485
- this.pendingInjections.delete(response.id);
1486
- if (pending.retryCount === 0) {
1487
- this.injectionMetrics.successFirstTry++;
1488
- } else {
1489
- this.injectionMetrics.successWithRetry++;
1490
- }
1491
- this.injectionMetrics.total++;
1492
- pending.resolve(true);
1493
- return;
1494
- }
1460
+ // Trust Rust's delivery confirmation - relay-pty writes directly to PTY which is very reliable.
1461
+ //
1462
+ // IMPORTANT: We don't verify by looking for the message in output because:
1463
+ // 1. TUI CLIs (Claude, Codex, Gemini) don't echo input like traditional terminals
1464
+ // 2. The injected text appears as INPUT to the PTY, not OUTPUT
1465
+ // 3. Output-based verification always fails for TUIs, causing unnecessary retries
1466
+ //
1467
+ // This is different from tmux-wrapper where we inject via tmux send-keys
1468
+ // and can observe the echoed input in the pane output.
1469
+ this.log(` Message ${pending.shortId} delivered by Rust ✓`);
1495
1470
 
1496
- // Give a brief moment for output to be captured
1497
- await sleep(100);
1498
-
1499
- // Verify the message pattern appears in captured output
1500
- const verified = await verifyInjection(
1501
- pending.shortId,
1502
- pending.from,
1503
- async () => this.getCleanOutput()
1504
- );
1505
-
1506
- if (verified) {
1507
- clearTimeout(pending.timeout);
1508
- this.pendingInjections.delete(response.id);
1509
- // Update metrics based on retry count (0 = first try)
1510
- if (pending.retryCount === 0) {
1511
- this.injectionMetrics.successFirstTry++;
1512
- } else {
1513
- this.injectionMetrics.successWithRetry++;
1514
- this.log(` Message ${pending.shortId} succeeded on attempt ${pending.retryCount + 1}`);
1515
- }
1516
- this.injectionMetrics.total++;
1517
- pending.resolve(true);
1518
- this.log(` Message ${pending.shortId} verified in output ✓`);
1471
+ clearTimeout(pending.timeout);
1472
+ this.pendingInjections.delete(response.id);
1473
+ if (pending.retryCount === 0) {
1474
+ this.injectionMetrics.successFirstTry++;
1519
1475
  } else {
1520
- // Message was "delivered" but not found in output
1521
- // This is the bug case - Enter key may not have been processed
1522
- this.log(` Message ${pending.shortId} NOT found in output after delivery`);
1523
-
1524
- // Check if we should retry
1525
- if (pending.retryCount < INJECTION_CONSTANTS.MAX_RETRIES - 1) {
1526
- clearTimeout(pending.timeout);
1527
- this.pendingInjections.delete(response.id);
1528
-
1529
- // Wait before retry with backoff
1530
- await sleep(INJECTION_CONSTANTS.RETRY_BACKOFF_MS * (pending.retryCount + 1));
1531
-
1532
- // IMPORTANT: Check again if message appeared (late verification / race condition fix)
1533
- // The previous injection may have succeeded but verification timed out
1534
- const lateVerified = await verifyInjection(
1535
- pending.shortId,
1536
- pending.from,
1537
- async () => this.getCleanOutput()
1538
- );
1539
- if (lateVerified) {
1540
- this.log(` Message ${pending.shortId} found on late verification, skipping retry`);
1541
- if (pending.retryCount === 0) {
1542
- this.injectionMetrics.successFirstTry++;
1543
- } else {
1544
- this.injectionMetrics.successWithRetry++;
1545
- }
1546
- this.injectionMetrics.total++;
1547
- pending.resolve(true);
1548
- return;
1549
- }
1550
-
1551
- // On first retry attempt (retryCount === 0), try SendEnter first
1552
- // This handles the case where message content was written but Enter wasn't processed
1553
- if (pending.retryCount === 0) {
1554
- this.log(` Trying SendEnter first for ${pending.shortId} (stuck input recovery)`);
1555
-
1556
- // Send just the Enter key
1557
- const sendEnterRequest: SendEnterRequest = {
1558
- type: 'send_enter',
1559
- id: response.id,
1560
- };
1561
-
1562
- // Track this SendEnter request for verification
1563
- const sendEnterTimeout = setTimeout(() => {
1564
- this.logError(` SendEnter timeout for ${pending.shortId}`);
1565
- this.pendingSendEnter.delete(response.id);
1566
- // Fall back to full retry after SendEnter timeout
1567
- this.doFullRetry(response.id, pending);
1568
- }, 5000); // 5 second timeout for SendEnter
1569
-
1570
- this.pendingSendEnter.set(response.id, {
1571
- resolve: (verified: boolean) => {
1572
- if (verified) {
1573
- // SendEnter worked!
1574
- this.injectionMetrics.successWithRetry++;
1575
- this.injectionMetrics.total++;
1576
- pending.resolve(true);
1577
- } else {
1578
- // SendEnter didn't work, do full retry
1579
- this.doFullRetry(response.id, pending);
1580
- }
1581
- },
1582
- timeout: sendEnterTimeout,
1583
- from: pending.from,
1584
- shortId: pending.shortId,
1585
- retryCount: pending.retryCount,
1586
- originalBody: pending.originalBody,
1587
- originalResolve: pending.resolve,
1588
- });
1589
-
1590
- this.sendSocketRequest(sendEnterRequest).catch((err) => {
1591
- this.logError(` SendEnter request failed: ${err.message}`);
1592
- clearTimeout(sendEnterTimeout);
1593
- this.pendingSendEnter.delete(response.id);
1594
- // Fall back to full retry
1595
- this.doFullRetry(response.id, pending);
1596
- });
1597
- } else {
1598
- // On subsequent retries (retryCount > 0), do full retry directly
1599
- this.doFullRetry(response.id, pending);
1600
- }
1601
- } else {
1602
- // Max retries exceeded
1603
- this.logError(` Message ${pending.shortId} failed after ${INJECTION_CONSTANTS.MAX_RETRIES} attempts - NOT found in output`);
1604
- clearTimeout(pending.timeout);
1605
- this.pendingInjections.delete(response.id);
1606
- this.injectionMetrics.failed++;
1607
- this.injectionMetrics.total++;
1608
- pending.resolve(false);
1609
- this.emit('injection-failed', {
1610
- messageId: response.id,
1611
- from: pending.from,
1612
- error: 'Message delivered but not verified in output after max retries',
1613
- });
1614
- }
1476
+ this.injectionMetrics.successWithRetry++;
1615
1477
  }
1478
+ this.injectionMetrics.total++;
1479
+ pending.resolve(true);
1616
1480
  } else if (response.status === 'failed') {
1617
1481
  clearTimeout(pending.timeout);
1618
1482
  this.pendingInjections.delete(response.id);
@@ -1629,102 +1493,6 @@ export class RelayPtyOrchestrator extends BaseWrapper {
1629
1493
  // queued/injecting are intermediate states - wait for final status
1630
1494
  }
1631
1495
 
1632
- /**
1633
- * Handle SendEnter result (stuck input recovery)
1634
- * Called when relay-pty responds to a SendEnter request
1635
- */
1636
- private async handleSendEnterResult(response: SendEnterResultResponse): Promise<void> {
1637
- this.log(` handleSendEnterResult: id=${response.id.substring(0, 8)} success=${response.success}`);
1638
-
1639
- const pendingEnter = this.pendingSendEnter.get(response.id);
1640
- if (!pendingEnter) {
1641
- this.log(` No pending SendEnter found for ${response.id.substring(0, 8)}`);
1642
- return;
1643
- }
1644
-
1645
- clearTimeout(pendingEnter.timeout);
1646
- this.pendingSendEnter.delete(response.id);
1647
-
1648
- if (!response.success) {
1649
- this.log(` SendEnter failed for ${pendingEnter.shortId}, will try full retry`);
1650
- pendingEnter.resolve(false);
1651
- return;
1652
- }
1653
-
1654
- // SendEnter succeeded - wait and verify
1655
- this.log(` SendEnter sent for ${pendingEnter.shortId}, waiting to verify...`);
1656
- await sleep(150); // Give time for Enter to be processed
1657
-
1658
- // Verify the message appeared in output
1659
- const verified = await verifyInjection(
1660
- pendingEnter.shortId,
1661
- pendingEnter.from,
1662
- async () => this.getCleanOutput()
1663
- );
1664
-
1665
- if (verified) {
1666
- this.log(` Message ${pendingEnter.shortId} verified after SendEnter ✓`);
1667
- pendingEnter.resolve(true);
1668
- } else {
1669
- this.log(` Message ${pendingEnter.shortId} still not verified after SendEnter, will try full retry`);
1670
- pendingEnter.resolve(false);
1671
- }
1672
- }
1673
-
1674
- /**
1675
- * Do a full retry with message content (used when SendEnter fails or for subsequent retries)
1676
- */
1677
- private doFullRetry(
1678
- messageId: string,
1679
- pending: {
1680
- resolve: (success: boolean) => void;
1681
- reject: (error: Error) => void;
1682
- from: string;
1683
- shortId: string;
1684
- retryCount: number;
1685
- originalBody: string;
1686
- }
1687
- ): void {
1688
- this.log(` Doing full retry for ${pending.shortId} (attempt ${pending.retryCount + 2}/${INJECTION_CONSTANTS.MAX_RETRIES})`);
1689
-
1690
- // Re-inject by sending another socket request
1691
- // Prepend [RETRY] to help agent notice this is a retry
1692
- const retryBody = pending.originalBody.startsWith('[RETRY]')
1693
- ? pending.originalBody
1694
- : `[RETRY] ${pending.originalBody}`;
1695
- const retryRequest: InjectRequest = {
1696
- type: 'inject',
1697
- id: messageId,
1698
- from: pending.from,
1699
- body: retryBody,
1700
- priority: 1, // Higher priority for retries
1701
- };
1702
-
1703
- // Create new pending entry with incremented retry count
1704
- const newTimeout = setTimeout(() => {
1705
- this.logError(` Retry timeout for ${pending.shortId}`);
1706
- this.pendingInjections.delete(messageId);
1707
- pending.resolve(false);
1708
- }, 30000);
1709
-
1710
- this.pendingInjections.set(messageId, {
1711
- resolve: pending.resolve,
1712
- reject: pending.reject,
1713
- timeout: newTimeout,
1714
- from: pending.from,
1715
- shortId: pending.shortId,
1716
- retryCount: pending.retryCount + 1,
1717
- originalBody: retryBody,
1718
- });
1719
-
1720
- this.sendSocketRequest(retryRequest).catch((err) => {
1721
- this.logError(` Full retry request failed: ${err.message}`);
1722
- clearTimeout(newTimeout);
1723
- this.pendingInjections.delete(messageId);
1724
- pending.resolve(false);
1725
- });
1726
- }
1727
-
1728
1496
  /**
1729
1497
  * Handle backpressure notification
1730
1498
  */