/** * ExecutorRecoveryPolicy:执行恢复与重试策略。 * * 关键点(中文) * - 统一封装“压缩后重试”和“普通失败兜底”逻辑。 * - Executor 只负责准备输入与调用策略,不再直接承载重试状态机。 * - 不改变外部行为,只把异常分流规则集中到一个地方。 */ import type { LanguageModel } from "ai"; import type { Logger } from "../../utils/logger/Logger.js"; import type { SessionTurnContext } from "../../types/executor/SessionTurnContext.js"; import type { SessionStepExecutionInput, SessionTurnExecutionResult } from "../../types/session/SessionExecution.js"; interface ExecutorRecoveryPolicyOptions { /** 当前 Session 稳定标识。 */ session_id: string; /** 判断错误是否需要持久化压缩后重试。 */ should_compact: (error: unknown) => boolean; /** * 当前 session 统一日志器。 */ logger: Logger; } interface ExecutorPrepareExecutionInput { /** * 当前轮用户 query。 */ query: string; /** * 当前轮模型实例。 */ model: LanguageModel; /** * 当前显式运行上下文。 */ turn_context: SessionTurnContext; /** * 当前压缩重试次数。 */ retry_count: number; } interface ExecutorExecutePreparedInput { /** * 已装配好的执行输入。 */ execute_input: SessionStepExecutionInput; /** * 当前轮模型实例。 */ model: LanguageModel; /** * 当前显式运行上下文。 */ turn_context: SessionTurnContext; } interface ExecutorRecoveryInput { /** * 当前轮用户 query。 */ query: string; /** * 当前轮模型实例。 */ model: LanguageModel; /** * 当前显式运行上下文。 */ turn_context: SessionTurnContext; /** * 运行前装配执行输入。 */ prepare_execute_input: (input: ExecutorPrepareExecutionInput) => Promise; /** * 执行已装配好的运行输入。 */ execute_prepared_input: (input: ExecutorExecutePreparedInput) => Promise; } /** * 执行恢复与重试策略服务。 */ export declare class ExecutorRecoveryPolicy { private readonly should_compact; private readonly logger; private retry_count; constructor(options: ExecutorRecoveryPolicyOptions); /** * 重置当前 Turn 执行状态。 */ reset_execution_state(): void; /** * 执行一次带恢复策略的 Session Turn。 */ execute_with_retry(input: ExecutorRecoveryInput): Promise; private build_failure_result; } export {}; //# sourceMappingURL=ExecutorRecoveryPolicy.d.ts.map