import type { ManagedReActAgentInterceptor } from '../managed-interceptor'; export type ErrorLimitInterceptorOptions = { /** 最大连续错误次数 */ errorLimit: number; /** 工具错误达上限时注入的终止提示语 */ errorLimitPrompt?: string; }; type ErrorSource = 'model' | 'tool'; /** * 控制最大连续错误次数。 * * - 不可恢复错误(UnrecoverableError):直接透传,不计数、不重试 * - 仅对已知来源的错误(模型 / 工具)计数,未知错误直接透传 * - 工具抛出 UnrecoverableError 时:先 yield 错误信息(保证消息完整性),然后在 eachLoop 中断 * - 达上限时根据最近一次错误来源决定终止策略: * - 工具错误 → 注入 prompt 引导 LLM 优雅终止 * - 模型错误 → 抛出原始错误(无法调用模型做优雅终止) */ export declare const createErrorLimitInterceptor: (options: ErrorLimitInterceptorOptions) => ManagedReActAgentInterceptor<{ error?: unknown; lastErrorSource?: ErrorSource; currentErrors?: number; }>; export {};