@agent-relay/wrapper 2.1.4 → 2.1.6

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.
@@ -110,10 +110,14 @@ export declare class OpenCodeWrapper extends BaseWrapper {
110
110
  */
111
111
  write(data: string): void;
112
112
  /**
113
- * Inject a task into the agent
113
+ * Inject a task into the agent with retry logic.
114
+ *
115
+ * Retries on transient failures to match RelayPtyOrchestrator behavior.
116
+ * This ensures consistent reliability across all wrapper types.
117
+ *
114
118
  * @param task - The task description to inject
115
119
  * @param _from - The sender name (used for formatting)
116
- * @returns true if injection succeeded
120
+ * @returns true if injection succeeded, false otherwise
117
121
  */
118
122
  injectTask(task: string, _from?: string): Promise<boolean>;
119
123
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-wrapper.d.ts","sourceRoot":"","sources":["../src/opencode-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAIxE,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,6BAA6B;IAC7B,OAAO,CAAC,EAAE,iBAAiB,GAAG;QAC5B,kEAAkE;QAClE,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,wEAAwE;QACxE,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,gEAAgE;QAChE,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,qEAAqE;QACrE,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAmB,MAAM,EAAE,qBAAqB,CAAC;IAGjD,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,YAAY,CAAM;IAG1B,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,YAAY,CAAC,CAAe;gBAExB,MAAM,EAAE,qBAAqB;IAsBnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B;;;OAGG;YACW,aAAa;IAa3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;YACW,YAAY;IAsC1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;cAeX,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;OAEG;YACW,oBAAoB;IAOlC;;OAEG;YACW,mBAAmB;IASjC,SAAS,CAAC,cAAc,IAAI,MAAM;IAQlC;;OAEG;YACW,UAAU;IAkBxB;;;OAGG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDpD;;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;IAI3B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUhE;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAKnC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACG,yBAAyB,CAAC,SAAS,SAAQ,EAAE,OAAO,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcnF;;OAEG;IACG,iBAAiB,CAAC,SAAS,SAAQ,EAAE,MAAM,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ1E;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUxD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAShE"}
1
+ {"version":3,"file":"opencode-wrapper.d.ts","sourceRoot":"","sources":["../src/opencode-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAexE,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,6BAA6B;IAC7B,OAAO,CAAC,EAAE,iBAAiB,GAAG;QAC5B,kEAAkE;QAClE,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,wEAAwE;QACxE,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,gEAAgE;QAChE,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,qEAAqE;QACrE,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAmB,MAAM,EAAE,qBAAqB,CAAC;IAGjD,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,YAAY,CAAM;IAG1B,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,YAAY,CAAC,CAAe;gBAExB,MAAM,EAAE,qBAAqB;IAsBnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B;;;OAGG;YACW,aAAa;IAa3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;YACW,YAAY;IAsC1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;cAeX,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;OAEG;YACW,oBAAoB;IAOlC;;OAEG;YACW,mBAAmB;IASjC,SAAS,CAAC,cAAc,IAAI,MAAM;IAQlC;;OAEG;YACW,UAAU;IAkBxB;;;OAGG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDpD;;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;IAI3B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB;;;;;;;;;OASG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBhE;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAKnC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACG,yBAAyB,CAAC,SAAS,SAAQ,EAAE,OAAO,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcnF;;OAEG;IACG,iBAAiB,CAAC,SAAS,SAAQ,EAAE,MAAM,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ1E;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUxD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAShE"}
@@ -28,7 +28,17 @@ import { spawn } from 'node:child_process';
28
28
  import { BaseWrapper } from './base-wrapper.js';
29
29
  import { OpenCodeApi } from './opencode-api.js';
30
30
  import { OutputParser } from './parser.js';
31
- import { buildInjectionString } from './shared.js';
31
+ import { buildInjectionString, sleep } from './shared.js';
32
+ /**
33
+ * Task injection retry configuration.
34
+ * Matches RelayPtyOrchestrator for consistent behavior across wrapper types.
35
+ */
36
+ const TASK_INJECTION = {
37
+ /** Maximum retries when injection fails */
38
+ MAX_RETRIES: 3,
39
+ /** Delay between retries (ms) */
40
+ RETRY_DELAY_MS: 500,
41
+ };
32
42
  /**
33
43
  * Wrapper for opencode CLI with HTTP API support
34
44
  */
@@ -323,20 +333,34 @@ export class OpenCodeWrapper extends BaseWrapper {
323
333
  }
324
334
  }
325
335
  /**
326
- * Inject a task into the agent
336
+ * Inject a task into the agent with retry logic.
337
+ *
338
+ * Retries on transient failures to match RelayPtyOrchestrator behavior.
339
+ * This ensures consistent reliability across all wrapper types.
340
+ *
327
341
  * @param task - The task description to inject
328
342
  * @param _from - The sender name (used for formatting)
329
- * @returns true if injection succeeded
343
+ * @returns true if injection succeeded, false otherwise
330
344
  */
331
345
  async injectTask(task, _from) {
332
- try {
333
- await this.performInjection(task);
334
- return true;
335
- }
336
- catch (error) {
337
- console.error('[OpenCodeWrapper] Task injection failed:', error);
338
- return false;
346
+ const { MAX_RETRIES, RETRY_DELAY_MS } = TASK_INJECTION;
347
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
348
+ if (attempt > 0) {
349
+ console.log(`[OpenCodeWrapper] Retry ${attempt}/${MAX_RETRIES} - waiting ${RETRY_DELAY_MS}ms before retry`);
350
+ await sleep(RETRY_DELAY_MS);
351
+ }
352
+ try {
353
+ await this.performInjection(task);
354
+ console.log(`[OpenCodeWrapper] Task delivered successfully${attempt > 0 ? ` (attempt ${attempt + 1})` : ''}`);
355
+ return true;
356
+ }
357
+ catch (error) {
358
+ console.error(`[OpenCodeWrapper] Task delivery failed (attempt ${attempt + 1}/${MAX_RETRIES + 1}):`, error);
359
+ // Continue to next retry attempt
360
+ }
339
361
  }
362
+ console.error(`[OpenCodeWrapper] Task injection failed after ${MAX_RETRIES + 1} attempts`);
363
+ return false;
340
364
  }
341
365
  /**
342
366
  * Get output lines (for compatibility with spawner)
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-wrapper.js","sourceRoot":"","sources":["../src/opencode-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-wrapper.js","sourceRoot":"","sources":["../src/opencode-wrapper.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,7 @@ export declare class RelayPtyOrchestrator extends BaseWrapper {
91
91
  private outputBuffer;
92
92
  private rawBuffer;
93
93
  private lastParsedLength;
94
+ private bufferTrimCount;
94
95
  private isInteractive;
95
96
  private pendingInjections;
96
97
  private backpressureActive;
@@ -429,14 +430,33 @@ export declare class RelayPtyOrchestrator extends BaseWrapper {
429
430
  */
430
431
  write(data: string | Buffer): Promise<void>;
431
432
  /**
432
- * Inject a task using the socket-based injection system with verification.
433
+ * Verify that the CLI shows activity after task injection.
434
+ * Checks output for patterns indicating the task was received and processing started.
435
+ *
436
+ * This catches the race condition where PTY write succeeds but CLI wasn't ready
437
+ * (the T-003 failure scenario where CLI showed bell characters instead of processing).
438
+ *
439
+ * @param outputBefore The output buffer content before injection
440
+ * @returns Promise resolving to true if activity detected, false otherwise
441
+ */
442
+ private verifyActivityAfterInjection;
443
+ /**
444
+ * Inject a task using the socket-based injection system with activity verification.
433
445
  * This is the preferred method for spawned agent task delivery.
434
446
  *
447
+ * After socket confirms delivery, verifies the CLI shows activity (task received,
448
+ * thinking indicators, or tool execution). Retries if no activity is detected.
449
+ *
435
450
  * @param task The task text to inject
436
451
  * @param from The sender name (default: "spawner")
437
- * @returns Promise resolving to true if injection succeeded, false otherwise
452
+ * @returns Promise resolving to true if task was delivered AND activity verified, false otherwise
438
453
  */
439
454
  injectTask(task: string, from?: string): Promise<boolean>;
455
+ /**
456
+ * Perform a single task injection attempt (without retry logic).
457
+ * @returns true if the injection was sent successfully, false otherwise
458
+ */
459
+ private performTaskInjection;
440
460
  /**
441
461
  * Get the agent ID (from continuity if available)
442
462
  */
@@ -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;AAgBH,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;AAoI5E,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;IAC7B,OAAO,CAAC,eAAe,CAAK;IAG5B,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,CAAC,CAAyE;IAG/F,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,kBAAkB,CAA+C;IAGzE,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAS;gBAInB,MAAM,EAAE,0BAA0B;IAiF9C;;;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;IA2NrC;;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;IA6L3B;;OAEG;YACW,gBAAgB;IAoB9B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAqDpB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,YAAY;IA8CpB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;;;;;;;OAQG;YACW,2BAA2B;IA8DzC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;YACW,oBAAoB;IAkClC;;OAEG;YACW,sBAAsB;IAepC;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;YACW,eAAe;IA+C7B;;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;;;;;;;;;OASG;YACW,4BAA4B;IAwE1C;;;;;;;;;;OAUG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IA2ClE;;;OAGG;YACW,oBAAoB;IAyDlC;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;CAGjC"}
@@ -41,6 +41,56 @@ const MAX_SOCKET_PATH_LENGTH = 107;
41
41
  * Set to 10MB - enough to capture context but won't exhaust memory.
42
42
  */
43
43
  const MAX_OUTPUT_BUFFER_SIZE = 10 * 1024 * 1024; // 10MB
44
+ // ============================================================================
45
+ // Activity Verification Constants
46
+ // ============================================================================
47
+ /**
48
+ * Activity patterns used to verify that a CLI has received and started processing
49
+ * an injected task. These patterns work across Claude Code, Codex, and Droid/Gemini.
50
+ *
51
+ * The problem we're solving: Rust confirms "delivered to PTY" but that doesn't mean
52
+ * the CLI processed it. The T-003 failure showed the CLI wasn't ready when input arrived.
53
+ *
54
+ * @see https://github.com/your-org/relay/issues/XXX for the original investigation
55
+ */
56
+ const ACTIVITY_VERIFICATION = {
57
+ /** Time to wait for activity patterns after injection (ms) */
58
+ TIMEOUT_MS: 5000,
59
+ /** How often to check for activity patterns (ms) */
60
+ POLL_INTERVAL_MS: 200,
61
+ /** Maximum retries when no activity is detected */
62
+ MAX_RETRIES: 3,
63
+ /** Delay between retries (ms) */
64
+ RETRY_DELAY_MS: 500,
65
+ /**
66
+ * Patterns indicating the task was received and displayed.
67
+ * These are the primary verification patterns.
68
+ */
69
+ TASK_RECEIVED_PATTERNS: [
70
+ /\[Pasted text #\d+/, // Claude Code shows "[Pasted text #1 +95 lines]"
71
+ /› Relay message from/, // Codex shows "› Relay message from"
72
+ /Relay message from \w+ \[[\w-]+\]/, // Droid/Gemini shows "Relay message from Agent [id]:"
73
+ ],
74
+ /**
75
+ * Patterns indicating the CLI is thinking/processing.
76
+ * Secondary verification - proves the CLI is active.
77
+ */
78
+ THINKING_PATTERNS: [
79
+ /\(.*esc to (?:interrupt|stop)\)/i, // All CLIs: "(esc to interrupt)" or "(Press ESC to stop)"
80
+ /[✻✶✳✢·✽⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]/, // Spinner characters (Claude + Droid)
81
+ /Thinking\.\.\./, // Droid: "Thinking..."
82
+ /Working/, // Codex: "Working"
83
+ /Forming|Noodling|Manifesting/i, // Claude Code thinking states
84
+ ],
85
+ /**
86
+ * Patterns indicating tool execution started.
87
+ * Tertiary verification - proves the CLI is working.
88
+ */
89
+ TOOL_EXECUTION_PATTERNS: [
90
+ /⏺\s*(Bash|Read|Write|Edit|Glob|Grep|Task|WebFetch)/, // Claude Code tool markers
91
+ /•\s*Running/, // Codex: "• Running: command"
92
+ ],
93
+ };
44
94
  function hashWorkspaceId(workspaceId) {
45
95
  return createHash('sha256').update(workspaceId).digest('hex').slice(0, 12);
46
96
  }
@@ -66,6 +116,7 @@ export class RelayPtyOrchestrator extends BaseWrapper {
66
116
  outputBuffer = '';
67
117
  rawBuffer = '';
68
118
  lastParsedLength = 0;
119
+ bufferTrimCount = 0;
69
120
  // Interactive mode (show output to terminal)
70
121
  isInteractive = false;
71
122
  // Injection state
@@ -724,15 +775,21 @@ export class RelayPtyOrchestrator extends BaseWrapper {
724
775
  this.hasReceivedOutput = true;
725
776
  // Trim buffers if they exceed max size to prevent RangeError: Invalid string length
726
777
  // Keep the most recent output (tail) as it's more relevant for pattern matching
778
+ let buffersTrimmed = false;
727
779
  if (this.rawBuffer.length > MAX_OUTPUT_BUFFER_SIZE) {
728
780
  const trimAmount = this.rawBuffer.length - MAX_OUTPUT_BUFFER_SIZE;
729
781
  this.rawBuffer = this.rawBuffer.slice(-MAX_OUTPUT_BUFFER_SIZE);
730
782
  // Adjust lastParsedLength to stay in sync with the trimmed buffer
731
783
  // This ensures parseRelayCommands() doesn't skip content or re-parse old content
732
784
  this.lastParsedLength = Math.max(0, this.lastParsedLength - trimAmount);
785
+ buffersTrimmed = true;
733
786
  }
734
787
  if (this.outputBuffer.length > MAX_OUTPUT_BUFFER_SIZE) {
735
788
  this.outputBuffer = this.outputBuffer.slice(-MAX_OUTPUT_BUFFER_SIZE);
789
+ buffersTrimmed = true;
790
+ }
791
+ if (buffersTrimmed) {
792
+ this.bufferTrimCount += 1;
736
793
  }
737
794
  // Feed to idle detector
738
795
  this.feedIdleDetectorOutput(data);
@@ -2141,17 +2198,130 @@ Then output: \`->relay-file:spawn\`
2141
2198
  this.relayPtyProcess.stdin.write(buffer);
2142
2199
  }
2143
2200
  /**
2144
- * Inject a task using the socket-based injection system with verification.
2201
+ * Verify that the CLI shows activity after task injection.
2202
+ * Checks output for patterns indicating the task was received and processing started.
2203
+ *
2204
+ * This catches the race condition where PTY write succeeds but CLI wasn't ready
2205
+ * (the T-003 failure scenario where CLI showed bell characters instead of processing).
2206
+ *
2207
+ * @param outputBefore The output buffer content before injection
2208
+ * @returns Promise resolving to true if activity detected, false otherwise
2209
+ */
2210
+ async verifyActivityAfterInjection(outputBefore) {
2211
+ const startTime = Date.now();
2212
+ const { TIMEOUT_MS, POLL_INTERVAL_MS, TASK_RECEIVED_PATTERNS, THINKING_PATTERNS, TOOL_EXECUTION_PATTERNS } = ACTIVITY_VERIFICATION;
2213
+ const trimCountBefore = this.bufferTrimCount;
2214
+ while (Date.now() - startTime < TIMEOUT_MS) {
2215
+ // If buffers were trimmed during verification, treat it as activity.
2216
+ // Large output growth triggers trimming, which would otherwise make slice() return
2217
+ // an empty string and falsely signal no activity.
2218
+ if (this.bufferTrimCount !== trimCountBefore) {
2219
+ this.log(` Activity verified: output buffer trimmed during verification (large output)`);
2220
+ return true;
2221
+ }
2222
+ // Get new output since injection
2223
+ const currentOutput = this.outputBuffer;
2224
+ const newOutput = currentOutput.slice(outputBefore.length);
2225
+ if (newOutput.length > 0) {
2226
+ // REJECTION CHECK: Multiple BEL characters (0x07) indicate CLI rejected input
2227
+ // The T-003 failure showed CLI producing 1000+ BELs when input was injected
2228
+ // while the CLI wasn't ready (still initializing or in wrong mode)
2229
+ const belCount = (newOutput.match(/\x07/g) || []).length;
2230
+ if (belCount > 10) {
2231
+ this.logError(` Input rejected: CLI produced ${belCount} BEL characters`);
2232
+ return false; // Don't wait - immediately fail so retry can attempt
2233
+ }
2234
+ // Check for task received patterns (primary verification)
2235
+ for (const pattern of TASK_RECEIVED_PATTERNS) {
2236
+ if (pattern.test(newOutput)) {
2237
+ this.log(` Activity verified: task received pattern matched`);
2238
+ return true;
2239
+ }
2240
+ }
2241
+ // Check for thinking/processing patterns (secondary verification)
2242
+ for (const pattern of THINKING_PATTERNS) {
2243
+ if (pattern.test(newOutput)) {
2244
+ this.log(` Activity verified: thinking pattern matched`);
2245
+ return true;
2246
+ }
2247
+ }
2248
+ // Check for tool execution patterns (tertiary verification)
2249
+ for (const pattern of TOOL_EXECUTION_PATTERNS) {
2250
+ if (pattern.test(newOutput)) {
2251
+ this.log(` Activity verified: tool execution pattern matched`);
2252
+ return true;
2253
+ }
2254
+ }
2255
+ // Fallback: If output grew significantly (>100 meaningful chars), assume activity
2256
+ // This catches CLIs with unusual output patterns
2257
+ // IMPORTANT: Strip out BEL (0x07) and other control characters - these are rejection
2258
+ // signals not activity. The T-003 failure showed CLI producing 1000+ BELs when input
2259
+ // was injected before it was ready.
2260
+ const meaningfulOutput = newOutput.replace(/[\x00-\x1f]/g, ''); // Strip control chars
2261
+ if (meaningfulOutput.length > 100) {
2262
+ this.log(` Activity verified: significant output growth (${meaningfulOutput.length} meaningful chars)`);
2263
+ return true;
2264
+ }
2265
+ }
2266
+ await sleep(POLL_INTERVAL_MS);
2267
+ }
2268
+ // No activity detected within timeout
2269
+ this.log(` No activity detected within ${TIMEOUT_MS}ms`);
2270
+ return false;
2271
+ }
2272
+ /**
2273
+ * Inject a task using the socket-based injection system with activity verification.
2145
2274
  * This is the preferred method for spawned agent task delivery.
2146
2275
  *
2276
+ * After socket confirms delivery, verifies the CLI shows activity (task received,
2277
+ * thinking indicators, or tool execution). Retries if no activity is detected.
2278
+ *
2147
2279
  * @param task The task text to inject
2148
2280
  * @param from The sender name (default: "spawner")
2149
- * @returns Promise resolving to true if injection succeeded, false otherwise
2281
+ * @returns Promise resolving to true if task was delivered AND activity verified, false otherwise
2150
2282
  */
2151
2283
  async injectTask(task, from = 'spawner') {
2284
+ const { MAX_RETRIES, RETRY_DELAY_MS } = ACTIVITY_VERIFICATION;
2285
+ // Claude Code's TUI needs a stabilization delay after displaying the welcome screen
2286
+ // before it's ready to accept stdin input. Without this, input may be silently dropped
2287
+ // even though the CLI appears "idle" and doesn't reject with BELs.
2288
+ // 1500ms is based on observed behavior - Claude Code typically needs 1-1.5s after
2289
+ // its TUI renders before input handlers are fully initialized.
2290
+ const STABILIZATION_DELAY_MS = 1500;
2291
+ this.log(` Waiting ${STABILIZATION_DELAY_MS}ms for CLI stabilization before task injection`);
2292
+ await sleep(STABILIZATION_DELAY_MS);
2293
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
2294
+ if (attempt > 0) {
2295
+ this.log(` Retry ${attempt}/${MAX_RETRIES} - waiting ${RETRY_DELAY_MS}ms before retry`);
2296
+ await sleep(RETRY_DELAY_MS);
2297
+ }
2298
+ // Capture output buffer state before injection
2299
+ const outputBefore = this.outputBuffer;
2300
+ // Attempt delivery via socket
2301
+ const delivered = await this.performTaskInjection(task, from);
2302
+ if (!delivered) {
2303
+ this.logError(` Task delivery failed on attempt ${attempt + 1}`);
2304
+ continue; // Retry
2305
+ }
2306
+ // Verify CLI shows activity (task received, thinking, or tool execution)
2307
+ const activityVerified = await this.verifyActivityAfterInjection(outputBefore);
2308
+ if (activityVerified) {
2309
+ this.log(` Task delivered and activity verified successfully`);
2310
+ return true;
2311
+ }
2312
+ // Delivery succeeded but no activity - CLI might not have been ready
2313
+ this.logError(` Task delivered but no activity detected (attempt ${attempt + 1})`);
2314
+ }
2315
+ this.logError(` Task injection failed after ${MAX_RETRIES + 1} attempts - no CLI activity detected`);
2316
+ return false;
2317
+ }
2318
+ /**
2319
+ * Perform a single task injection attempt (without retry logic).
2320
+ * @returns true if the injection was sent successfully, false otherwise
2321
+ */
2322
+ async performTaskInjection(task, from) {
2152
2323
  if (!this.socket || !this.socketConnected) {
2153
2324
  this.log(` Socket not connected for task injection, falling back to stdin write`);
2154
- // Fallback to direct write if socket not available
2155
2325
  try {
2156
2326
  await this.write(task + '\n');
2157
2327
  return true;
@@ -2172,7 +2342,7 @@ Then output: \`->relay-file:spawn\`
2172
2342
  body: task,
2173
2343
  priority: 0, // High priority for initial task
2174
2344
  };
2175
- // Send with timeout and verification
2345
+ // Send with timeout and get socket confirmation
2176
2346
  return new Promise((resolve) => {
2177
2347
  const timeout = setTimeout(() => {
2178
2348
  this.logError(` Task inject timeout for ${shortId} after 30s`);
@@ -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.1.4",
3
+ "version": "2.1.6",
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.1.4",
34
- "@agent-relay/protocol": "2.1.4",
35
- "@agent-relay/config": "2.1.4",
36
- "@agent-relay/continuity": "2.1.4",
37
- "@agent-relay/resiliency": "2.1.4",
33
+ "@agent-relay/api-types": "2.1.6",
34
+ "@agent-relay/protocol": "2.1.6",
35
+ "@agent-relay/config": "2.1.6",
36
+ "@agent-relay/continuity": "2.1.6",
37
+ "@agent-relay/resiliency": "2.1.6",
38
38
  "zod": "^3.23.8"
39
39
  },
40
40
  "devDependencies": {
@@ -29,7 +29,18 @@ import { spawn, type ChildProcess } from 'node:child_process';
29
29
  import { BaseWrapper, type BaseWrapperConfig } from './base-wrapper.js';
30
30
  import { OpenCodeApi, type OpenCodeApiConfig } from './opencode-api.js';
31
31
  import { OutputParser, type ParsedCommand } from './parser.js';
32
- import { buildInjectionString, type QueuedMessage } from './shared.js';
32
+ import { buildInjectionString, sleep, type QueuedMessage } from './shared.js';
33
+
34
+ /**
35
+ * Task injection retry configuration.
36
+ * Matches RelayPtyOrchestrator for consistent behavior across wrapper types.
37
+ */
38
+ const TASK_INJECTION = {
39
+ /** Maximum retries when injection fails */
40
+ MAX_RETRIES: 3,
41
+ /** Delay between retries (ms) */
42
+ RETRY_DELAY_MS: 500,
43
+ };
33
44
 
34
45
  export interface OpenCodeWrapperConfig extends BaseWrapperConfig {
35
46
  /** HTTP API configuration */
@@ -411,19 +422,36 @@ export class OpenCodeWrapper extends BaseWrapper {
411
422
  }
412
423
 
413
424
  /**
414
- * Inject a task into the agent
425
+ * Inject a task into the agent with retry logic.
426
+ *
427
+ * Retries on transient failures to match RelayPtyOrchestrator behavior.
428
+ * This ensures consistent reliability across all wrapper types.
429
+ *
415
430
  * @param task - The task description to inject
416
431
  * @param _from - The sender name (used for formatting)
417
- * @returns true if injection succeeded
432
+ * @returns true if injection succeeded, false otherwise
418
433
  */
419
434
  async injectTask(task: string, _from?: string): Promise<boolean> {
420
- try {
421
- await this.performInjection(task);
422
- return true;
423
- } catch (error) {
424
- console.error('[OpenCodeWrapper] Task injection failed:', error);
425
- return false;
435
+ const { MAX_RETRIES, RETRY_DELAY_MS } = TASK_INJECTION;
436
+
437
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
438
+ if (attempt > 0) {
439
+ console.log(`[OpenCodeWrapper] Retry ${attempt}/${MAX_RETRIES} - waiting ${RETRY_DELAY_MS}ms before retry`);
440
+ await sleep(RETRY_DELAY_MS);
441
+ }
442
+
443
+ try {
444
+ await this.performInjection(task);
445
+ console.log(`[OpenCodeWrapper] Task delivered successfully${attempt > 0 ? ` (attempt ${attempt + 1})` : ''}`);
446
+ return true;
447
+ } catch (error) {
448
+ console.error(`[OpenCodeWrapper] Task delivery failed (attempt ${attempt + 1}/${MAX_RETRIES + 1}):`, error);
449
+ // Continue to next retry attempt
450
+ }
426
451
  }
452
+
453
+ console.error(`[OpenCodeWrapper] Task injection failed after ${MAX_RETRIES + 1} attempts`);
454
+ return false;
427
455
  }
428
456
 
429
457
  /**
@@ -64,6 +64,61 @@ const MAX_SOCKET_PATH_LENGTH = 107;
64
64
  */
65
65
  const MAX_OUTPUT_BUFFER_SIZE = 10 * 1024 * 1024; // 10MB
66
66
 
67
+ // ============================================================================
68
+ // Activity Verification Constants
69
+ // ============================================================================
70
+
71
+ /**
72
+ * Activity patterns used to verify that a CLI has received and started processing
73
+ * an injected task. These patterns work across Claude Code, Codex, and Droid/Gemini.
74
+ *
75
+ * The problem we're solving: Rust confirms "delivered to PTY" but that doesn't mean
76
+ * the CLI processed it. The T-003 failure showed the CLI wasn't ready when input arrived.
77
+ *
78
+ * @see https://github.com/your-org/relay/issues/XXX for the original investigation
79
+ */
80
+ const ACTIVITY_VERIFICATION = {
81
+ /** Time to wait for activity patterns after injection (ms) */
82
+ TIMEOUT_MS: 5000,
83
+ /** How often to check for activity patterns (ms) */
84
+ POLL_INTERVAL_MS: 200,
85
+ /** Maximum retries when no activity is detected */
86
+ MAX_RETRIES: 3,
87
+ /** Delay between retries (ms) */
88
+ RETRY_DELAY_MS: 500,
89
+
90
+ /**
91
+ * Patterns indicating the task was received and displayed.
92
+ * These are the primary verification patterns.
93
+ */
94
+ TASK_RECEIVED_PATTERNS: [
95
+ /\[Pasted text #\d+/, // Claude Code shows "[Pasted text #1 +95 lines]"
96
+ /› Relay message from/, // Codex shows "› Relay message from"
97
+ /Relay message from \w+ \[[\w-]+\]/, // Droid/Gemini shows "Relay message from Agent [id]:"
98
+ ],
99
+
100
+ /**
101
+ * Patterns indicating the CLI is thinking/processing.
102
+ * Secondary verification - proves the CLI is active.
103
+ */
104
+ THINKING_PATTERNS: [
105
+ /\(.*esc to (?:interrupt|stop)\)/i, // All CLIs: "(esc to interrupt)" or "(Press ESC to stop)"
106
+ /[✻✶✳✢·✽⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]/, // Spinner characters (Claude + Droid)
107
+ /Thinking\.\.\./, // Droid: "Thinking..."
108
+ /Working/, // Codex: "Working"
109
+ /Forming|Noodling|Manifesting/i, // Claude Code thinking states
110
+ ],
111
+
112
+ /**
113
+ * Patterns indicating tool execution started.
114
+ * Tertiary verification - proves the CLI is working.
115
+ */
116
+ TOOL_EXECUTION_PATTERNS: [
117
+ /⏺\s*(Bash|Read|Write|Edit|Glob|Grep|Task|WebFetch)/, // Claude Code tool markers
118
+ /•\s*Running/, // Codex: "• Running: command"
119
+ ],
120
+ } as const;
121
+
67
122
  function hashWorkspaceId(workspaceId: string): string {
68
123
  return createHash('sha256').update(workspaceId).digest('hex').slice(0, 12);
69
124
  }
@@ -213,6 +268,7 @@ export class RelayPtyOrchestrator extends BaseWrapper {
213
268
  private outputBuffer = '';
214
269
  private rawBuffer = '';
215
270
  private lastParsedLength = 0;
271
+ private bufferTrimCount = 0;
216
272
 
217
273
  // Interactive mode (show output to terminal)
218
274
  private isInteractive = false;
@@ -965,15 +1021,21 @@ export class RelayPtyOrchestrator extends BaseWrapper {
965
1021
 
966
1022
  // Trim buffers if they exceed max size to prevent RangeError: Invalid string length
967
1023
  // Keep the most recent output (tail) as it's more relevant for pattern matching
1024
+ let buffersTrimmed = false;
968
1025
  if (this.rawBuffer.length > MAX_OUTPUT_BUFFER_SIZE) {
969
1026
  const trimAmount = this.rawBuffer.length - MAX_OUTPUT_BUFFER_SIZE;
970
1027
  this.rawBuffer = this.rawBuffer.slice(-MAX_OUTPUT_BUFFER_SIZE);
971
1028
  // Adjust lastParsedLength to stay in sync with the trimmed buffer
972
1029
  // This ensures parseRelayCommands() doesn't skip content or re-parse old content
973
1030
  this.lastParsedLength = Math.max(0, this.lastParsedLength - trimAmount);
1031
+ buffersTrimmed = true;
974
1032
  }
975
1033
  if (this.outputBuffer.length > MAX_OUTPUT_BUFFER_SIZE) {
976
1034
  this.outputBuffer = this.outputBuffer.slice(-MAX_OUTPUT_BUFFER_SIZE);
1035
+ buffersTrimmed = true;
1036
+ }
1037
+ if (buffersTrimmed) {
1038
+ this.bufferTrimCount += 1;
977
1039
  }
978
1040
 
979
1041
  // Feed to idle detector
@@ -2572,17 +2634,148 @@ Then output: \`->relay-file:spawn\`
2572
2634
  }
2573
2635
 
2574
2636
  /**
2575
- * Inject a task using the socket-based injection system with verification.
2637
+ * Verify that the CLI shows activity after task injection.
2638
+ * Checks output for patterns indicating the task was received and processing started.
2639
+ *
2640
+ * This catches the race condition where PTY write succeeds but CLI wasn't ready
2641
+ * (the T-003 failure scenario where CLI showed bell characters instead of processing).
2642
+ *
2643
+ * @param outputBefore The output buffer content before injection
2644
+ * @returns Promise resolving to true if activity detected, false otherwise
2645
+ */
2646
+ private async verifyActivityAfterInjection(outputBefore: string): Promise<boolean> {
2647
+ const startTime = Date.now();
2648
+ const { TIMEOUT_MS, POLL_INTERVAL_MS, TASK_RECEIVED_PATTERNS, THINKING_PATTERNS, TOOL_EXECUTION_PATTERNS } = ACTIVITY_VERIFICATION;
2649
+ const trimCountBefore = this.bufferTrimCount;
2650
+
2651
+ while (Date.now() - startTime < TIMEOUT_MS) {
2652
+ // If buffers were trimmed during verification, treat it as activity.
2653
+ // Large output growth triggers trimming, which would otherwise make slice() return
2654
+ // an empty string and falsely signal no activity.
2655
+ if (this.bufferTrimCount !== trimCountBefore) {
2656
+ this.log(` Activity verified: output buffer trimmed during verification (large output)`);
2657
+ return true;
2658
+ }
2659
+
2660
+ // Get new output since injection
2661
+ const currentOutput = this.outputBuffer;
2662
+ const newOutput = currentOutput.slice(outputBefore.length);
2663
+
2664
+ if (newOutput.length > 0) {
2665
+ // REJECTION CHECK: Multiple BEL characters (0x07) indicate CLI rejected input
2666
+ // The T-003 failure showed CLI producing 1000+ BELs when input was injected
2667
+ // while the CLI wasn't ready (still initializing or in wrong mode)
2668
+ const belCount = (newOutput.match(/\x07/g) || []).length;
2669
+ if (belCount > 10) {
2670
+ this.logError(` Input rejected: CLI produced ${belCount} BEL characters`);
2671
+ return false; // Don't wait - immediately fail so retry can attempt
2672
+ }
2673
+
2674
+ // Check for task received patterns (primary verification)
2675
+ for (const pattern of TASK_RECEIVED_PATTERNS) {
2676
+ if (pattern.test(newOutput)) {
2677
+ this.log(` Activity verified: task received pattern matched`);
2678
+ return true;
2679
+ }
2680
+ }
2681
+
2682
+ // Check for thinking/processing patterns (secondary verification)
2683
+ for (const pattern of THINKING_PATTERNS) {
2684
+ if (pattern.test(newOutput)) {
2685
+ this.log(` Activity verified: thinking pattern matched`);
2686
+ return true;
2687
+ }
2688
+ }
2689
+
2690
+ // Check for tool execution patterns (tertiary verification)
2691
+ for (const pattern of TOOL_EXECUTION_PATTERNS) {
2692
+ if (pattern.test(newOutput)) {
2693
+ this.log(` Activity verified: tool execution pattern matched`);
2694
+ return true;
2695
+ }
2696
+ }
2697
+
2698
+ // Fallback: If output grew significantly (>100 meaningful chars), assume activity
2699
+ // This catches CLIs with unusual output patterns
2700
+ // IMPORTANT: Strip out BEL (0x07) and other control characters - these are rejection
2701
+ // signals not activity. The T-003 failure showed CLI producing 1000+ BELs when input
2702
+ // was injected before it was ready.
2703
+ const meaningfulOutput = newOutput.replace(/[\x00-\x1f]/g, ''); // Strip control chars
2704
+ if (meaningfulOutput.length > 100) {
2705
+ this.log(` Activity verified: significant output growth (${meaningfulOutput.length} meaningful chars)`);
2706
+ return true;
2707
+ }
2708
+ }
2709
+
2710
+ await sleep(POLL_INTERVAL_MS);
2711
+ }
2712
+
2713
+ // No activity detected within timeout
2714
+ this.log(` No activity detected within ${TIMEOUT_MS}ms`);
2715
+ return false;
2716
+ }
2717
+
2718
+ /**
2719
+ * Inject a task using the socket-based injection system with activity verification.
2576
2720
  * This is the preferred method for spawned agent task delivery.
2577
2721
  *
2722
+ * After socket confirms delivery, verifies the CLI shows activity (task received,
2723
+ * thinking indicators, or tool execution). Retries if no activity is detected.
2724
+ *
2578
2725
  * @param task The task text to inject
2579
2726
  * @param from The sender name (default: "spawner")
2580
- * @returns Promise resolving to true if injection succeeded, false otherwise
2727
+ * @returns Promise resolving to true if task was delivered AND activity verified, false otherwise
2581
2728
  */
2582
2729
  async injectTask(task: string, from = 'spawner'): Promise<boolean> {
2730
+ const { MAX_RETRIES, RETRY_DELAY_MS } = ACTIVITY_VERIFICATION;
2731
+
2732
+ // Claude Code's TUI needs a stabilization delay after displaying the welcome screen
2733
+ // before it's ready to accept stdin input. Without this, input may be silently dropped
2734
+ // even though the CLI appears "idle" and doesn't reject with BELs.
2735
+ // 1500ms is based on observed behavior - Claude Code typically needs 1-1.5s after
2736
+ // its TUI renders before input handlers are fully initialized.
2737
+ const STABILIZATION_DELAY_MS = 1500;
2738
+ this.log(` Waiting ${STABILIZATION_DELAY_MS}ms for CLI stabilization before task injection`);
2739
+ await sleep(STABILIZATION_DELAY_MS);
2740
+
2741
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
2742
+ if (attempt > 0) {
2743
+ this.log(` Retry ${attempt}/${MAX_RETRIES} - waiting ${RETRY_DELAY_MS}ms before retry`);
2744
+ await sleep(RETRY_DELAY_MS);
2745
+ }
2746
+
2747
+ // Capture output buffer state before injection
2748
+ const outputBefore = this.outputBuffer;
2749
+
2750
+ // Attempt delivery via socket
2751
+ const delivered = await this.performTaskInjection(task, from);
2752
+ if (!delivered) {
2753
+ this.logError(` Task delivery failed on attempt ${attempt + 1}`);
2754
+ continue; // Retry
2755
+ }
2756
+
2757
+ // Verify CLI shows activity (task received, thinking, or tool execution)
2758
+ const activityVerified = await this.verifyActivityAfterInjection(outputBefore);
2759
+ if (activityVerified) {
2760
+ this.log(` Task delivered and activity verified successfully`);
2761
+ return true;
2762
+ }
2763
+
2764
+ // Delivery succeeded but no activity - CLI might not have been ready
2765
+ this.logError(` Task delivered but no activity detected (attempt ${attempt + 1})`);
2766
+ }
2767
+
2768
+ this.logError(` Task injection failed after ${MAX_RETRIES + 1} attempts - no CLI activity detected`);
2769
+ return false;
2770
+ }
2771
+
2772
+ /**
2773
+ * Perform a single task injection attempt (without retry logic).
2774
+ * @returns true if the injection was sent successfully, false otherwise
2775
+ */
2776
+ private async performTaskInjection(task: string, from: string): Promise<boolean> {
2583
2777
  if (!this.socket || !this.socketConnected) {
2584
2778
  this.log(` Socket not connected for task injection, falling back to stdin write`);
2585
- // Fallback to direct write if socket not available
2586
2779
  try {
2587
2780
  await this.write(task + '\n');
2588
2781
  return true;
@@ -2606,7 +2799,7 @@ Then output: \`->relay-file:spawn\`
2606
2799
  priority: 0, // High priority for initial task
2607
2800
  };
2608
2801
 
2609
- // Send with timeout and verification
2802
+ // Send with timeout and get socket confirmation
2610
2803
  return new Promise<boolean>((resolve) => {
2611
2804
  const timeout = setTimeout(() => {
2612
2805
  this.logError(` Task inject timeout for ${shortId} after 30s`);