autodev-cli 1.4.34 → 1.4.35

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.
@@ -31,5 +31,12 @@ export interface SessionBackupProvider {
31
31
  /** Restore this provider's sessions for the destination workspace. Returns files written. */
32
32
  restore(destRoot: string, archive: Archive): Promise<number>;
33
33
  }
34
+ /**
35
+ * A path segment safe to `path.join()` onto a state directory: non-empty, not a
36
+ * traversal token, and containing no separators or null bytes. Rejects the
37
+ * zip-slip vector where a crafted archive entry (`copilot-cli/../evil/x`) yields
38
+ * a `..` segment that would escape the destination directory.
39
+ */
40
+ export declare function isSafeChildSegment(name: string): boolean;
34
41
  /** All registered session-backup strategies (covers every ProviderId). */
35
42
  export declare const SESSION_BACKUP_PROVIDERS: readonly SessionBackupProvider[];
@@ -34,12 +34,23 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.SESSION_BACKUP_PROVIDERS = void 0;
37
+ exports.isSafeChildSegment = isSafeChildSegment;
37
38
  const fs = __importStar(require("fs"));
38
39
  const path = __importStar(require("path"));
39
40
  const layout_1 = require("./layout");
40
41
  const claudeCliProvider_1 = require("../providers/claudeCliProvider");
41
42
  const opencodeCliProvider_1 = require("../providers/opencodeCliProvider");
42
43
  const opencodeDb_1 = require("./opencodeDb");
44
+ /**
45
+ * A path segment safe to `path.join()` onto a state directory: non-empty, not a
46
+ * traversal token, and containing no separators or null bytes. Rejects the
47
+ * zip-slip vector where a crafted archive entry (`copilot-cli/../evil/x`) yields
48
+ * a `..` segment that would escape the destination directory.
49
+ */
50
+ function isSafeChildSegment(name) {
51
+ return !!name && name !== '.' && name !== '..'
52
+ && !name.includes('/') && !name.includes('\\') && !name.includes('\0');
53
+ }
43
54
  /** List the immediate child folder names under an archive directory prefix. */
44
55
  function archiveChildDirs(archive, prefix) {
45
56
  const base = prefix.replace(/\/$/, '') + '/';
@@ -49,7 +60,9 @@ function archiveChildDirs(archive, prefix) {
49
60
  continue;
50
61
  }
51
62
  const top = entry.slice(base.length).split('/')[0];
52
- if (top) {
63
+ // Drop traversal/separator segments so a malicious archive cannot write
64
+ // outside the provider's session-state directory.
65
+ if (isSafeChildSegment(top)) {
53
66
  names.add(top);
54
67
  }
55
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessionProviders.js","sourceRoot":"","sources":["../../src/agentBackup/sessionProviders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionProviders.js","sourceRoot":"","sources":["../../src/agentBackup/sessionProviders.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,36 @@ export interface EmailPollerOptions {
8
8
  allowedSenders: string[];
9
9
  /** Verify TLS cert. Default true. */
10
10
  rejectUnauthorized?: boolean;
11
+ /**
12
+ * Require the receiving MTA's Authentication-Results header to show
13
+ * dkim/spf=pass aligned to the sender domain before ingesting a message.
14
+ * Default true — the From header is trivially spoofable and inbound mail runs
15
+ * autonomous full-tool tasks. Set false only on a trusted internal relay.
16
+ */
17
+ requireAuth?: boolean;
18
+ /**
19
+ * Optional authserv-id of the trusted receiving MTA (the token that opens its
20
+ * Authentication-Results header, e.g. "mx.google.com"). When set, only an AR
21
+ * header stamped by this id is trusted — hardening against a forged topmost
22
+ * header on an MTA that adds none of its own.
23
+ */
24
+ authServId?: string;
11
25
  }
26
+ /**
27
+ * Decide whether a message is authenticated as genuinely from `senderDomain`.
28
+ *
29
+ * The From header is forgeable, so authorization must rest on the receiving
30
+ * MTA's DKIM/SPF verdict. Only the TOPMOST Authentication-Results header is
31
+ * trusted: a conformant MTA strips forged copies bearing its own authserv-id
32
+ * and prepends its own, so the first AR line (as it appears in the raw header
33
+ * block) is the one our server added; lines below it may be attacker-supplied
34
+ * and are ignored. Requires dkim=pass with header.d aligned to the sender
35
+ * domain, or spf=pass with smtp.mailfrom aligned. Returns false when no AR
36
+ * header is present (fail closed).
37
+ *
38
+ * Exported for unit testing.
39
+ */
40
+ export declare function emailPassesAuth(arLines: string[], senderDomain: string, authServId?: string): boolean;
12
41
  export declare class EmailTaskPoller {
13
42
  private readonly opts;
14
43
  private client;
@@ -27,6 +56,8 @@ export declare class EmailTaskPoller {
27
56
  private connectedAt;
28
57
  /** Force a fresh IMAP connection every 15 minutes regardless of state. */
29
58
  private static readonly MAX_CONN_AGE_MS;
59
+ private readonly requireAuth;
60
+ private readonly authServId?;
30
61
  constructor(opts: EmailPollerOptions);
31
62
  /**
32
63
  * Connect once. Any UNSEEN message in the inbox — both pre-existing and
@@ -38,5 +69,10 @@ export declare class EmailTaskPoller {
38
69
  dispose(): Promise<void>;
39
70
  private _ensureConnected;
40
71
  private _senderAllowed;
72
+ /**
73
+ * True if the receiving MTA authenticated this message as genuinely from the
74
+ * sender's domain (DKIM or SPF pass, topmost Authentication-Results only).
75
+ */
76
+ private _isAuthenticated;
41
77
  private _buildTaskFromMessage;
42
78
  }
@@ -1,11 +1,65 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EmailTaskPoller = void 0;
4
+ exports.emailPassesAuth = emailPassesAuth;
4
5
  const imapflow_1 = require("imapflow");
5
6
  const mailparser_1 = require("mailparser");
6
7
  const messageBuilder_1 = require("./messageBuilder");
7
8
  const todo_1 = require("./todo");
8
9
  const todoWriteManager_1 = require("./todoWriteManager");
10
+ /** Relaxed domain alignment (RFC 5322.From domain vs DKIM d= / SPF mailfrom). */
11
+ function _domainAligned(a, b) {
12
+ a = a.replace(/\.$/, '').toLowerCase().trim();
13
+ b = b.replace(/\.$/, '').toLowerCase().trim();
14
+ if (!a || !b) {
15
+ return false;
16
+ }
17
+ return a === b || b.endsWith('.' + a) || a.endsWith('.' + b);
18
+ }
19
+ /**
20
+ * Decide whether a message is authenticated as genuinely from `senderDomain`.
21
+ *
22
+ * The From header is forgeable, so authorization must rest on the receiving
23
+ * MTA's DKIM/SPF verdict. Only the TOPMOST Authentication-Results header is
24
+ * trusted: a conformant MTA strips forged copies bearing its own authserv-id
25
+ * and prepends its own, so the first AR line (as it appears in the raw header
26
+ * block) is the one our server added; lines below it may be attacker-supplied
27
+ * and are ignored. Requires dkim=pass with header.d aligned to the sender
28
+ * domain, or spf=pass with smtp.mailfrom aligned. Returns false when no AR
29
+ * header is present (fail closed).
30
+ *
31
+ * Exported for unit testing.
32
+ */
33
+ function emailPassesAuth(arLines, senderDomain, authServId) {
34
+ const domain = (senderDomain || '').toLowerCase().trim();
35
+ if (!domain || arLines.length === 0) {
36
+ return false;
37
+ }
38
+ // Trust only the topmost AR header (index 0 = first in the raw header block).
39
+ const lc = arLines[0].toLowerCase().replace(/^authentication-results:\s*/, '');
40
+ if (authServId) {
41
+ const id = lc.split(/[;\s]/)[0].replace(/\.$/, '');
42
+ if (id !== authServId.toLowerCase().trim().replace(/\.$/, '')) {
43
+ return false;
44
+ }
45
+ }
46
+ for (const m of lc.matchAll(/dkim=pass\b([^;]*)/g)) {
47
+ const d = /header\.d=([a-z0-9.\-]+)/.exec(m[1]);
48
+ if (d && _domainAligned(d[1], domain)) {
49
+ return true;
50
+ }
51
+ }
52
+ for (const m of lc.matchAll(/spf=pass\b([^;]*)/g)) {
53
+ const f = /smtp\.mailfrom=([^;\s]+)/.exec(m[1]);
54
+ if (f) {
55
+ const mf = f[1].includes('@') ? f[1].split('@')[1] : f[1];
56
+ if (_domainAligned(mf, domain)) {
57
+ return true;
58
+ }
59
+ }
60
+ }
61
+ return false;
62
+ }
9
63
  class EmailTaskPoller {
10
64
  opts;
11
65
  client = null;
@@ -24,6 +78,8 @@ class EmailTaskPoller {
24
78
  connectedAt = 0;
25
79
  /** Force a fresh IMAP connection every 15 minutes regardless of state. */
26
80
  static MAX_CONN_AGE_MS = 15 * 60 * 1000;
81
+ requireAuth;
82
+ authServId;
27
83
  constructor(opts) {
28
84
  this.opts = opts;
29
85
  // Pre-compile each pattern to a regex — '*' acts as a wildcard.
@@ -32,6 +88,8 @@ class EmailTaskPoller {
32
88
  .map(s => s.toLowerCase().trim())
33
89
  .filter(Boolean)
34
90
  .map(p => new RegExp('^' + p.replace(/[.+?^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '.*') + '$'));
91
+ this.requireAuth = opts.requireAuth !== false; // default: require DKIM/SPF
92
+ this.authServId = opts.authServId?.trim() || undefined;
35
93
  }
36
94
  /**
37
95
  * Connect once. Any UNSEEN message in the inbox — both pre-existing and
@@ -74,12 +132,23 @@ class EmailTaskPoller {
74
132
  await this.client.messageFlagsAdd({ uid }, ['\\Seen'], { uid: true });
75
133
  continue;
76
134
  }
77
- if (!this._senderAllowed(msg.envelope?.from?.[0]?.address)) {
135
+ const parsed = await (0, mailparser_1.simpleParser)(msg.source);
136
+ const senderAddr = parsed.from?.value?.[0]?.address ?? msg.envelope?.from?.[0]?.address;
137
+ if (!this._senderAllowed(senderAddr)) {
78
138
  // Don't \Seen — leave for the human user to read.
79
139
  processed = true;
80
140
  continue;
81
141
  }
82
- const taskText = await this._buildTaskFromMessage(msg.source, msg.envelope, workspaceRoot);
142
+ // The From header is trivially spoofable, so a matching allowlist
143
+ // entry is NOT proof of origin. Require the receiving MTA's
144
+ // Authentication-Results (DKIM/SPF) to align with the sender domain
145
+ // before turning the message into an autonomous, full-tool task.
146
+ // Unauthenticated mail is left UNSEEN for the human to review.
147
+ if (this.requireAuth && !this._isAuthenticated(parsed, senderAddr)) {
148
+ processed = true;
149
+ continue;
150
+ }
151
+ const taskText = await this._buildTaskFromMessage(parsed, msg.envelope, workspaceRoot);
83
152
  if (taskText) {
84
153
  await todoWriteManager_1.todoWriter.append(todoPath, taskText, (0, todo_1.shortId)());
85
154
  appended = true;
@@ -185,8 +254,21 @@ class EmailTaskPoller {
185
254
  const addr = address.toLowerCase();
186
255
  return this.allowed.some(p => p.test(addr));
187
256
  }
188
- async _buildTaskFromMessage(source, envelope, workspaceRoot) {
189
- const parsed = await (0, mailparser_1.simpleParser)(source);
257
+ /**
258
+ * True if the receiving MTA authenticated this message as genuinely from the
259
+ * sender's domain (DKIM or SPF pass, topmost Authentication-Results only).
260
+ */
261
+ _isAuthenticated(parsed, senderAddress) {
262
+ const domain = senderAddress?.split('@')[1]?.toLowerCase().trim();
263
+ if (!domain) {
264
+ return false;
265
+ }
266
+ const arLines = (parsed.headerLines || [])
267
+ .filter(h => h.key === 'authentication-results')
268
+ .map(h => h.line);
269
+ return emailPassesAuth(arLines, domain, this.authServId);
270
+ }
271
+ async _buildTaskFromMessage(parsed, envelope, workspaceRoot) {
190
272
  const subject = (parsed.subject || envelope?.subject || '(no subject)').trim();
191
273
  const fromAddr = parsed.from?.value?.[0]?.address ?? envelope?.from?.[0]?.address ?? 'unknown';
192
274
  const fromName = parsed.from?.value?.[0]?.name ?? '';
@@ -1 +1 @@
1
- {"version":3,"file":"emailPoller.js","sourceRoot":"","sources":["../src/emailPoller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emailPoller.js","sourceRoot":"","sources":["../src/emailPoller.ts"],"names":[],"mappings":"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"}
@@ -262,6 +262,10 @@ class OfficeSocket {
262
262
  return { fin, opcode, payload };
263
263
  }
264
264
  _onFrame(fin, opcode, payload) {
265
+ // Any inbound frame (data as well as control) is proof of life — refresh
266
+ // liveness so a connection actively receiving traffic is never force-
267
+ // reconnected by the heartbeat sweep just because protocol pongs lapsed.
268
+ this._lastPongAt = Date.now();
265
269
  // Control frames (never fragmented) — handle immediately; they may be
266
270
  // interleaved between data fragments.
267
271
  if (opcode === 0x9) {
@@ -1 +1 @@
1
- {"version":3,"file":"officeSocket.js","sourceRoot":"","sources":["../src/officeSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"officeSocket.js","sourceRoot":"","sources":["../src/officeSocket.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export declare function getClaudeTuiLatestSessionId(root: string): string | unde
23
23
  * Returns true if the message was injected into a live session; false when
24
24
  * there is no live client for this root (caller should fall back to queuing).
25
25
  */
26
- export declare function steerClaudeTui(root: string, text: string, log: (msg: string) => void): boolean;
26
+ export declare function steerClaudeTui(root: string, text: string, log: (msg: string) => void): Promise<boolean>;
27
27
  /** Cleanly shut down the persistent client when the task loop stops. */
28
28
  export declare function closeClaudeTuiClient(root: string, log: (msg: string) => void): void;
29
29
  /** Kill all open TUI clients — called on extension deactivate to avoid orphaned processes. */
@@ -96,7 +96,7 @@ function getClaudeTuiLatestSessionId(root) {
96
96
  * Returns true if the message was injected into a live session; false when
97
97
  * there is no live client for this root (caller should fall back to queuing).
98
98
  */
99
- function steerClaudeTui(root, text, log) {
99
+ async function steerClaudeTui(root, text, log) {
100
100
  const client = _clients.get(root);
101
101
  if (!client) {
102
102
  return false;
@@ -109,14 +109,19 @@ function steerClaudeTui(root, text, log) {
109
109
  // queueMessage sends immediately when idle, or enqueues behind the raw
110
110
  // client's in-flight message; sendMessage always writes now. Prefer
111
111
  // sendMessage for a busy turn (true mid-turn injection), fall back to queue.
112
+ //
113
+ // Await the write so a stdin failure (process died between the busy check
114
+ // and the write, or the pipe closed) rejects here and returns false — the
115
+ // caller then falls back to the durable TODO append instead of marking the
116
+ // steer delivered on a silently-dropped write (at-least-once invariant).
112
117
  if (_busyRoots.has(root) && typeof raw.sendMessage === 'function') {
113
- void raw.sendMessage(text);
118
+ await raw.sendMessage(text);
114
119
  }
115
120
  else if (typeof raw.queueMessage === 'function') {
116
121
  raw.queueMessage(text);
117
122
  }
118
123
  else {
119
- void raw.sendMessage(text);
124
+ await raw.sendMessage(text);
120
125
  }
121
126
  log(`Claude TUI: steered live session (${text.length} chars) — injected into current turn`);
122
127
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"claudeTuiProvider.js","sourceRoot":"","sources":["../../src/providers/claudeTuiProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeTuiProvider.js","sourceRoot":"","sources":["../../src/providers/claudeTuiProvider.ts"],"names":[],"mappings":"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"}
package/out/taskLoop.js CHANGED
@@ -471,7 +471,7 @@ class TaskLoopRunner {
471
471
  this._webhookPoller.setRdpEnabled(settings.rdpEnabled ?? false);
472
472
  // Wake the idle no-task sleep instantly when a WS-pushed task arrives.
473
473
  this._webhookPoller.setOnTaskAppend(() => this._wakeIdleSleep());
474
- this._webhookPoller.setOnSteer((text, onDelivered) => this._handleSteer(text, onDelivered));
474
+ this._webhookPoller.setOnSteer((text, onDelivered) => void this._handleSteer(text, onDelivered));
475
475
  this._webhookPoller.setOnCommand((cmd) => this._handleCommand(cmd));
476
476
  this._webhookPoller.setOnMcpUpdate((entries) => this._handleMcpUpdate(entries));
477
477
  this._webhookPoller.setOnExportRequest((agentId) => void this._handleExportRequest(agentId));
@@ -694,6 +694,13 @@ class TaskLoopRunner {
694
694
  async _handleExportRequest(agentId) {
695
695
  const root = this._workspaceRoot;
696
696
  const settings = this._settings;
697
+ // Opt-in gate: export reads session traces from outside the workspace
698
+ // (~/.claude, ~/.copilot, opencode.db). Ignore unless explicitly enabled,
699
+ // mirroring mcpUpdateEnabled / enableFileBrowser / gitEnabled.
700
+ if (!settings?.exportEnabled) {
701
+ this._cb?.log('🔒 export_request ignored — exportEnabled is off (set it in .autodev/settings.json to allow)');
702
+ return;
703
+ }
697
704
  if (!root || !settings?.serverBaseUrl || !settings?.serverApiKey) {
698
705
  this._cb?.log('⚠️ export_request ignored — serverBaseUrl/serverApiKey not configured');
699
706
  return;
@@ -721,6 +728,13 @@ class TaskLoopRunner {
721
728
  async _handleRestoreRequest(agentId, downloadUrl) {
722
729
  const root = this._workspaceRoot;
723
730
  const settings = this._settings;
731
+ // Opt-in gate: restore writes files OUTSIDE the workspace (~/.claude/projects,
732
+ // ~/.copilot/session-state, opencode.db) — a host-mutating primitive. Ignore
733
+ // unless explicitly enabled, mirroring mcpUpdateEnabled / enableFileBrowser.
734
+ if (!settings?.exportEnabled) {
735
+ this._cb?.log('🔒 restore_request ignored — exportEnabled is off (set it in .autodev/settings.json to allow)');
736
+ return;
737
+ }
724
738
  if (!root || !settings?.serverApiKey) {
725
739
  this._cb?.log('⚠️ restore_request ignored — serverApiKey not configured');
726
740
  return;
@@ -871,7 +885,7 @@ class TaskLoopRunner {
871
885
  * and wake the idle sleep so it runs at the very next turn boundary rather
872
886
  * than waiting for a poll interval. This is the documented fallback.
873
887
  */
874
- _handleSteer(text, onDelivered) {
888
+ async _handleSteer(text, onDelivered) {
875
889
  const clean = text.trim();
876
890
  // Malformed/empty steer: nothing to deliver — treat as terminally handled so
877
891
  // the server doesn't keep replaying it.
@@ -882,9 +896,12 @@ class TaskLoopRunner {
882
896
  const root = this._workspaceRoot;
883
897
  const provider = this._cb?.getActiveProvider() ?? '';
884
898
  // True mid-turn injection — only claude-tui keeps a live steerable session,
885
- // and only while a turn is actually running.
899
+ // and only while a turn is actually running. Await the injection: mark the
900
+ // delivery seen ONLY after the stdin write resolves, so a write that rejects
901
+ // (dead child / closed pipe) falls through to the durable TODO append below
902
+ // instead of dropping the steer — preserving at-least-once delivery.
886
903
  if (root && provider === 'claude-tui' && (0, claudeTuiProvider_1.isClaudeTuiBusy)(root)) {
887
- if ((0, claudeTuiProvider_1.steerClaudeTui)(root, clean, msg => this._cb?.log(msg))) {
904
+ if (await (0, claudeTuiProvider_1.steerClaudeTui)(root, clean, msg => this._cb?.log(msg))) {
888
905
  this._cb?.log(`⚡ Steered mid-turn: "${clean.slice(0, 80)}"`);
889
906
  onDelivered?.(); // durably injected into the live turn
890
907
  return;
@@ -942,7 +959,16 @@ class TaskLoopRunner {
942
959
  this._cb?.log('🔒 Inbound email tasks disabled — set AUTODEV_EMAIL_ALLOWED_SENDERS to an explicit sender allowlist to enable them.');
943
960
  return null;
944
961
  }
945
- return new emailPoller_1.EmailTaskPoller({ host, port, secure, user, pass, allowedSenders: allowed, rejectUnauthorized: verify });
962
+ // The allowlist matches the (spoofable) From header, so additionally require
963
+ // the receiving MTA's DKIM/SPF verdict by default. An operator on a trusted
964
+ // internal relay can opt out with AUTODEV_EMAIL_REQUIRE_AUTH=false, and pin
965
+ // the trusted receiver with AUTODEV_EMAIL_AUTHSERV_ID.
966
+ const requireAuth = String(env.AUTODEV_EMAIL_REQUIRE_AUTH ?? 'true').toLowerCase() !== 'false';
967
+ const authServId = env.AUTODEV_EMAIL_AUTHSERV_ID || undefined;
968
+ if (!requireAuth) {
969
+ this._cb?.log('⚠️ Inbound email DKIM/SPF verification is OFF (AUTODEV_EMAIL_REQUIRE_AUTH=false) — From-header spoofing can trigger tasks. Only safe on a trusted relay.');
970
+ }
971
+ return new emailPoller_1.EmailTaskPoller({ host, port, secure, user, pass, allowedSenders: allowed, rejectUnauthorized: verify, requireAuth, authServId });
946
972
  }
947
973
  /**
948
974
  * Start Discord and webhook server pollers as independent setInterval loops.
@@ -2330,18 +2356,15 @@ class TaskLoopRunner {
2330
2356
  // pause. Auth is detected only on the process-EXIT buffer (see onCliExit
2331
2357
  // below), which is the provider's real failure surface — a logged-out /
2332
2358
  // out-of-credit CLI exits fast and is caught there.
2333
- // Rate limit detection run for every stdout-teeing provider. The
2334
- // RateLimitDetector phrases are scoped to error/banner forms, so this
2335
- // is safe to apply provider-agnostically (grok/copilot were previously
2336
- // excluded, letting a throttle slip through to a false [x]).
2337
- {
2338
- const rlErr = rateLimit_1.RateLimitDetector.detect(content);
2339
- if (rlErr) {
2340
- cleanup();
2341
- reject(rlErr);
2342
- return;
2343
- }
2344
- }
2359
+ // Rate-limit detection is intentionally NOT run here mid-stream, for the
2360
+ // same reason as auth above: for every stdout-teeing provider this
2361
+ // growing capture IS the model's own assistant transcript, and the
2362
+ // RateLimitDetector phrases (/api error rate limit/, rate limited/)
2363
+ // are exactly what an agent emits while building/debugging 429 handling
2364
+ // or pasting an API-error body into its reasoning — which would falsely
2365
+ // pause a healthy turn. The process-EXIT buffer is the provider's real
2366
+ // throttle surface and is still scanned unconditionally (onCliExit
2367
+ // below), so a genuine rate-limit exit is caught there.
2345
2368
  // Context length error detection (OpenCode)
2346
2369
  if (isOpenCodeCli) {
2347
2370
  const lc = content.toLowerCase();