/** * AI SDK Assistant 输出到 Session canonical Message 的协议 Adapter。 * * 本模块是 AI SDK 临时 ID、空 Part 与最终 UIMessage 快照能进入的最外层边界。 * 它只通过 SessionMessages 打开 Writer,不持有第二份 Assistant Message 状态。 */ import type { SessionMessageRecordV1 } from "../../executor/types/SessionRecords.js"; import { SessionMessages } from "../../session/SessionMessages.js"; import type { SessionAssistantOutput } from "../../types/executor/SessionAssistantOutput.js"; import type { SessionToolInputReady } from "../../types/session/SessionTool.js"; import type { UIMessage, UIMessageChunk } from "ai"; /** 单个 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; }); /** 开始当前 Provider Step。 */ begin_step(): Promise; /** 把可持久化 AI SDK Chunk 写入当前 canonical Message。 */ write_chunk(chunk: UIMessageChunk): Promise; /** 使用最终快照校验当前 Step Part 顺序并补齐 metadata。 */ finish_step(message: SessionMessageRecordV1): Promise; /** 清理异常结束的 Step 作用域。 */ abort_step(): Promise; /** 在 Tool 实现开始前提交完整输入。 */ prepare_tool_input(input: SessionToolInputReady): Promise; /** User steer 已持久化后关闭当前 Assistant Message;没有输出时保持为空。 */ close_current_message(): Promise; /** 把 Action 产生的完整 UI Parts 追加到当前 canonical Assistant Message。 */ append_parts(parts: UIMessage["parts"]): Promise; /** 按 Turn 结果收口最后一个 canonical Message。 */ finish(input: { /** Assistant 最终状态。 */ status: "completed" | "failed" | "stopped"; /** 失败信息。 */ error?: string; }): Promise; /** 惰性打开当前连续 Assistant 回复的唯一 Writer。 */ private ensure_writer; } //# sourceMappingURL=SessionAssistantOutputAdapter.d.ts.map