/** * Session Message Interaction 写入器。 * * 该模块只负责 Assistant Message 内 Interaction Part 与关联 Tool Part 的 * 原子状态转换;消息持久化、revision 串行化和 Mutation 发布仍由 * SessionMessages 提供,避免复制 canonical Message 状态。 */ import type { SessionAssistantInteractionPart, SessionAssistantMessage, SessionAssistantMessagePart, SessionMessage } from "../../types/session/SessionMessage.js"; import type { SessionInteractionRequest, SessionInteractionResponse } from "../../types/session/SessionInteraction.js"; import type { SessionStreamingToolLocation } from "../../types/session/SessionTool.js"; /** Interaction 写入器依赖的最小 Message 能力。 */ interface SessionMessageInteractionWriterOptions { /** 返回当前 Session 内存中的 canonical Message 集合。 */ list_messages: () => Iterable; /** 查找当前流式 Assistant 中的指定 Tool Part。 */ find_streaming_tool: (tool_call_id: string) => SessionStreamingToolLocation | undefined; /** 在指定 Assistant Message 的串行事务链中执行写操作。 */ enqueue_assistant_write: (message_id: string, operation: () => Promise) => Promise; /** 原子持久化 Assistant 完整快照并发布发生变化的 Part。 */ commit_assistant_snapshot: (current: SessionAssistantMessage, parts: SessionAssistantMessagePart[]) => Promise; } /** 管理 canonical Assistant Message 内的 Interaction 生命周期。 */ export declare class SessionMessageInteractionWriter { private readonly options; constructor(options: SessionMessageInteractionWriterOptions); /** 返回当前 Session 中全部等待用户响应的 canonical Interaction。 */ list_pending(): SessionAssistantInteractionPart[]; /** 原子创建 Interaction,并把关联 Tool 转为 waiting-user。 */ request(request: SessionInteractionRequest): Promise; /** 原子保存用户响应,并按 Interaction 结果恢复或终止关联 Tool。 */ resolve(interaction_id: string, response: SessionInteractionResponse): Promise; /** 原子结束未响应 Interaction,并把关联 Tool 标记为失败。 */ close(interaction_id: string, input: { status: "expired"; } | { status: "cancelled"; reason: "turn_stopped" | "session_disposed" | "runtime_interrupted"; }): Promise; /** 读取指定或当前唯一的流式 Assistant Message。 */ private require_streaming_assistant; /** 查找指定 Interaction Part 及其所属流式 Assistant。 */ private find_interaction; /** 读取指定 Interaction,否则抛出稳定领域错误。 */ private require_interaction; /** 读取指定 pending Interaction,否则拒绝重复响应终态 Interaction。 */ private require_pending_interaction; /** 查找当前流式 Assistant 中的 Tool Part,否则抛出明确错误。 */ private require_streaming_tool; } export {}; //# sourceMappingURL=SessionMessageInteractionWriter.d.ts.map