/** * SessionLoop:Session Command Queue 的唯一消费者与 Turn 生命周期所有者。 * * 关键点(中文) * - Prompt 会先构造成 Session Command,再由统一 FIFO 决定进入当前或下一 Turn。 * - 不把调度逻辑塞进 Executor;Executor 继续只负责单次执行。 * - Queue 由 Session 持有;这里不解释配置种类,只执行出队 Command。 */ import type { AgentSessionPromptInput } from "../types/sdk/AgentSessionPrompt.js"; import type { AgentSessionStopResult } from "../types/sdk/AgentSessionStop.js"; import type { AgentSessionTurnHandle } from "../types/sdk/AgentSessionTurn.js"; import type { SessionCompactHistory } from "../types/session/SessionExecution.js"; import type { SessionLoopOptions } from "../types/session/SessionLoop.js"; /** * Session 输入队列与 Turn 编排器。 */ export declare class SessionLoop { private readonly session_id; private readonly workspace_path; private readonly executor; private readonly compact_history_handler; private readonly state; private readonly messages; private readonly events; private readonly logger; private readonly interactions; private readonly shell_approval_gateway; private readonly queue; private pending_prompt_count; private processing_promise; private active_turn; private checkpoint_merged_messages; constructor(options: SessionLoopOptions); /** * 追加一条新的 prompt。 */ prompt(input: AgentSessionPromptInput): Promise; /** * 判断是否存在等待并入下一 Session step 的 prompt。 */ has_pending_prompt(): boolean; /** * 判断是否存在等待在下一 Session step 检查点执行的 command。 */ has_pending_command(): boolean; /** 返回当前正在消费 Session Command 的 Turn 标识。 */ get_active_turn_id(): string; /** 返回当前 Active Turn 标识;Session 空闲时返回 undefined。 */ current_turn_id(): string | undefined; /** * 返回当前 actor prompt 调度器是否仍处于活跃态。 * * 说明(中文) * - 只要还有排队 prompt,或处理循环尚未结束,就视为活跃。 * - Session 会用它阻止内部 direct execution 与 actor 模式并发混用。 */ is_active(): boolean; /** * 停止当前 turn,并取消尚未被吸收的排队 prompt。 */ stop(): Promise; private ensure_processing; private process_loop; private cancel_queued_prompts; /** * 在下一 Session step 检查点按入队顺序提交配置并持久化 steer。 */ private drain_queued_inputs; /** 执行 Command,并尽力持久化其声明的 canonical 完成信息。 */ private execute_command; /** 持久化 Command 完成信息;观测失败不能反向改变已经提交的领域状态。 */ private persist_command_completion; /** 在当前 Turn 上执行一次显式历史压缩。 */ compact_history(compact_id: string): ReturnType; /** 执行一个出队 Prompt;首条 Prompt 启动 Turn,后续 Prompt 作为 steer 合并。 */ private execute_prompt_command; /** 读取当前正在消费 Session Command 的 Active Turn。 */ private require_active_turn; /** 用 Executor 结果结束当前 Active Turn。 */ private finish_active_turn; /** 以失败结果结束当前 Active Turn,并尽力持久化 Error Message。 */ private fail_active_turn; /** 为一条尚未执行的 Prompt 创建可观测取消结果。 */ private resolve_cancelled_prompt; /** 执行一个 Turn 内的模型与 Tool Step Loop。 */ private execute_prompt_turn; /** 在 Turn 创建时建立其唯一执行上下文和 Assistant 输出端口。 */ private create_turn_context; /** 持久化本轮 User 输入,并同步刷新标题与 metadata。 */ private persist_prompt_message; /** 持久化 Executor Action,并同步刷新 Session metadata。 */ private persist_action_event; /** 由 Turn 生命周期所有者尽力释放其唯一 Context。 */ private dispose_turn_context; } //# sourceMappingURL=SessionLoop.d.ts.map