/** * Downcity 模型事件到 canonical Assistant Message 的输出 Adapter。 * * Adapter 只负责惰性打开当前 Turn 的唯一 Writer,并把标准模型事件、Tool 结果与 * Action 内容转交给 Writer;`SessionMessages` 始终是唯一事实源。 */ import type { ModelStreamEvent } from "@downcity/type"; import { SessionMessages } from "../SessionMessages.js"; import type { SessionAssistantResultPart } from "../../types/session/SessionContent.js"; import type { SessionAssistantMessagePart } from "../../types/session/SessionMessage.js"; import type { SessionAssistantOutput } from "../../types/executor/SessionAssistantOutput.js"; import type { SessionToolExecutionResult, SessionToolInputReady } from "../../types/session/SessionTool.js"; /** 单个 Turn 使用的 Assistant 输出 Adapter。 */ export declare class SessionAssistantOutputAdapter implements SessionAssistantOutput { private readonly turn_id; private readonly messages; private writer; private writer_task; private step_pending; constructor(options: { /** 当前输出所属 Turn 标识。 */ turn_id: string; /** canonical Message 写入入口。 */ messages: SessionMessages; }); /** 开始当前模型 Step。 */ begin_step(): Promise; /** 直接写入单个标准模型事件。 */ write_model_event(event: ModelStreamEvent): Promise; /** 在 Tool 执行前提交完整输入。 */ prepare_tool_input(input: SessionToolInputReady): Promise; /** 写入 Tool 执行终态。 */ write_tool_result(result: SessionToolExecutionResult): Promise; /** 使用模型聚合出的 canonical Parts 校验当前 Step。 */ finish_step(parts: SessionAssistantMessagePart[]): Promise; /** 清理异常结束的 Step 作用域。 */ abort_step(): Promise; /** User steer 持久化后关闭它之前的当前 Assistant Message。 */ close_current_message(): Promise; /** 追加 Action 产生的封闭 Assistant 内容。 */ append_result_parts(parts: readonly SessionAssistantResultPart[]): Promise; /** 按 Turn 结果收口最后一个 canonical Message。 */ finish(input: { /** Assistant 最终状态。 */ status: "completed" | "failed" | "stopped"; /** 失败信息。 */ error?: string; }): Promise; /** 惰性打开当前连续 Assistant 回复的唯一 Writer。 */ private ensure_writer; } //# sourceMappingURL=SessionAssistantOutputAdapter.d.ts.map