/** * 不可恢复错误基类。 * * 任何层级(Model / MCP / 工具等)都可以通过抛出此类(或其子类) * 来通知 ErrorLimitInterceptor:该错误无法通过重试修复,应立即终止。 * * ## 核心语义 * * 这个类的**唯一语义**是标记"不可恢复"。`ErrorLimitInterceptor` 使用 `instanceof` * 判断错误类型,决定是否跳过计数和重试。 * * ## 行为差异 * * | 错误来源 | 行为 | * |:---------|:-----| * | 模型抛出 UnrecoverableError | 直接透传,不计数、不重试 | * | 工具抛出 UnrecoverableError | 先 yield 错误文本(保证消息完整性),然后在 eachLoop 中断 | * * ## 扩展方式 * * 各领域可以通过继承定义自己的不可恢复错误类型: * * ```typescript * // @agforge/models * export class UnrecoverableModelError extends UnrecoverableError { * readonly usage?: TokenUsage; * // ... * } * * export class ModelAuthenticationError extends UnrecoverableModelError { * // API Key 无效、过期等 * } * ``` * * 由于 `ErrorLimitInterceptor` 使用 `instanceof UnrecoverableError`, * 所有子类都会被正确识别为不可恢复错误。 */ export declare class UnrecoverableError extends Error { constructor(message: string, options?: { cause?: unknown; }); }