export type ExecErrorCode = 'auth' | 'quota' | 'rate-limited' | 'missing-binary' | 'no-runner' | 'budget' | 'runner-error' | 'timeout' | 'cancelled' | 'bad-frame' | 'unsafe' | 'unsupported'; export declare const FATAL_CODES: Set; /** A turn that failed on a transient provider rate limit (rev 20). */ export interface RateLimitHit { /** The runner's own error text. */ message: string; /** The provider's Retry-After hint, capped (provider-limit.ts). */ retryAfterMs?: number; /** Retries the runtime's CLI already made itself (0 = count unknown); * undefined when it made none. */ vendorRetries?: number; } /** Runners put text they did not write themselves (a CLI's stdout, the * model's final words) after this marker in an error message. * execErrorCode classifies only what comes before it, so model output can * never turn a failure into auth, quota or a rate limit. */ export declare const UNCLASSIFIED_MARKER = "\n[output below is not classified]\n"; /** The part of an error message execErrorCode classifies. */ export declare function classifiedText(message: string): string; /** ยง3.4 code for a runner failure's text (anything but a missing binary). */ export declare function execErrorCode(err: unknown, fullMessage: string): { code: ExecErrorCode; rateLimit?: RateLimitHit; }; //# sourceMappingURL=agent-exec-errors.d.ts.map