/** * SessionMessages:Session Message 的唯一领域入口。 * * 完整 Message 与 Assistant 草稿先持久化,成功后再发布实时 Mutation。 * 同一 Assistant Message 的流式、审批与关闭操作共享一条写队列,保证 revision * 从最新快照严格递增。 */ import type { UIMessage } from "ai"; import { SessionAssistantMessageWriter } from "../session/messages/SessionAssistantMessageWriter.js"; import type { JsonObject } from "../types/common/Json.js"; import type { ListSessionMessagesInput, SessionActionMessage, SessionAssistantInteractionPart, SessionAssistantMessage, SessionAssistantMessagePart, SessionErrorMessage, SessionMessage, SessionMessagePage, SessionUserMessage, SessionUserMessagePart } from "../types/session/SessionMessage.js"; import type { SessionContextSnapshot, SessionMessageStorageStats, SessionSegmentSummary } from "../types/session/SessionSegment.js"; import type { SessionStreamingToolLocation } from "../types/session/SessionTool.js"; import type { SessionInteractionRequest, SessionInteractionResponse } from "../types/session/SessionInteraction.js"; import type { SessionActionRecordV1, SessionRecordV1, SessionUserMessageV1 } from "../executor/types/SessionRecords.js"; import type { AppendCompletedAssistantMessageInput, AppendExternalSessionAssistantMessageInput, AppendExternalSessionUserMessageInput, AppendSessionErrorMessageInput, AppendSessionPromptMessageInput, AppendSessionUserMessageInput, OpenSessionActionMessageInput, OpenSessionAssistantMessageInput, SessionMessagesOptions } from "../types/session/SessionMessages.js"; export { SessionAssistantMessageWriter } from "../session/messages/SessionAssistantMessageWriter.js"; /** 唯一 Session Message 写入服务。 */ export declare class SessionMessages { readonly session_id: string; private readonly store; private readonly attachment_store; private readonly publish; private readonly messages_by_id; /** 按 Assistant Message 隔离的完整写事务链。 */ private readonly assistant_write_chains; /** Assistant Message 内 Interaction Part 的原子状态写入器。 */ private readonly interaction_writer; private initialized; constructor(options: SessionMessagesOptions); /** 恢复已有 Message,并收口进程中断遗留的运行状态。 */ initialize(): Promise; /** 同步读取当前内存 Message。 */ get_message(message_id: string): SessionMessage | undefined; /** 追加普通 prompt 或 steering User Message。 */ append_user_message(input: AppendSessionUserMessageInput): Promise; /** 创建可持续接收 chunk 的 Assistant Message。 */ open_assistant_message(input: OpenSessionAssistantMessageInput): Promise; /** 直接写入一条已完成 Assistant Message。 */ append_completed_assistant_message(input: AppendCompletedAssistantMessageInput): Promise; /** 把内部 Executor Record 收口为 canonical Session Message。 */ append_record(record: SessionRecordV1): Promise; /** 把公开 Session API 的 User 输入转换为 canonical Message 并持久化。 */ append_external_user_message(input: AppendExternalSessionUserMessageInput): Promise; /** 把公开 Session API 的 Assistant 输入转换为 canonical Message 并持久化。 */ append_external_assistant_message(input: AppendExternalSessionAssistantMessageInput): Promise; /** 把 Session prompt 转换为 canonical User Message 并持久化。 */ append_prompt_message(input: AppendSessionPromptMessageInput): Promise; /** 持久化 Executor 在本轮延迟产生的 User Message。 */ append_deferred_user_messages(deferred_messages?: SessionUserMessageV1[]): Promise; /** 按稳定 Action ID 创建或更新 canonical Action Message。 */ persist_action_record(event: SessionActionRecordV1, options?: { publish_mutation?: boolean; }): Promise; /** 创建 running Action Message。 */ open_action_message(input: OpenSessionActionMessageInput): Promise; /** 更新 Action 状态,同时保持 message_id 与 sequence 不变。 */ update_action_message(message_id: string, status: "running" | "completed" | "failed", changes?: { title?: string; description?: string; data?: JsonObject; }, options?: { publish_mutation?: boolean; }): Promise; /** 创建用户可见 Error Message。 */ append_error_message(input: AppendSessionErrorMessageInput): Promise; /** 读取 Active 或指定边界之前最近的完整 Segment。 */ list_messages(input?: ListSessionMessagesInput): Promise; /** 读取最新累计 Summary 与全部 Active Message,供模型上下文使用。 */ context_snapshot(): Promise; /** 读取全部真实历史,供 Fork 等明确的全量复制操作使用。 */ list_history_messages(): Promise; /** 读取当前 Session 的存储统计。 */ storage_stats(): Promise; /** 把 Active 前缀和累计 Summary 提交为不可变 Segment。 */ compact_active(input: { /** 移入 Segment 的最后一条真实 Message sequence。 */ through_sequence: number; /** 写入 Segment footer 的累计 Summary。 */ summary: SessionSegmentSummary; }): Promise; /** 向当前 Session 导入 fork 来源 Message,并重新分配全部身份和顺序。 */ import_messages(messages: SessionMessage[]): Promise; /** @internal 写入 Assistant 原始文本 delta。 */ append_assistant_delta(message_id: string, part_id: string, type: "text" | "reasoning", delta: string): Promise; /** 在 Assistant 写队列内追加文本 delta。 */ private append_assistant_delta_serialized; /** @internal 写入 Assistant Tool 输入原始 delta。 */ append_assistant_tool_input_delta(message_id: string, part_id: string, tool_call_id: string, delta: string): Promise; /** @internal 写入 Assistant 完整 part。 */ update_assistant_part(message_id: string, part: SessionAssistantMessagePart): Promise; /** 在 Assistant 写队列内提交完整 Part 快照。 */ private update_assistant_part_serialized; /** @internal 原子提交当前 Assistant step 的 metadata 快照。 */ commit_assistant_step(message_id: string, parts: SessionAssistantMessagePart[]): Promise; /** @internal 收口 Assistant Message。 */ complete_assistant_message(message_id: string, status: "completed" | "stopped" | "failed", error?: string): Promise; /** 在 Assistant 写队列内关闭草稿并写入 Active。 */ private complete_assistant_message_serialized; private create_message; /** 读取当前流式 Assistant 中的指定 Tool Part。 */ find_streaming_tool(tool_call_id: string): SessionStreamingToolLocation | undefined; /** 返回当前 Session 中全部等待用户响应的 canonical Interaction。 */ list_pending_interactions(): SessionAssistantInteractionPart[]; /** 原子创建 Interaction,并把关联 Tool 转为 waiting-user。 */ request_interaction(request: SessionInteractionRequest): Promise; /** 原子保存用户响应,并按 Interaction 结果恢复或终止关联 Tool。 */ resolve_interaction(interaction_id: string, response: SessionInteractionResponse): Promise; /** 原子结束未响应 Interaction,并把关联 Tool 标记为失败。 */ close_interaction(interaction_id: string, input: { status: "expired"; } | { status: "cancelled"; reason: "turn_stopped" | "session_disposed" | "runtime_interrupted"; }): Promise; /** * 串行执行同一 Assistant Message 的完整写事务。 * * 失败事务不会阻塞后续写入;链尾仅用于排序,真实错误仍返回给调用方。 */ private enqueue_assistant_write; /** 原子提交包含多个 Part 状态变化的 Assistant 完整快照。 */ private commit_assistant_snapshot; private build_message_mutation; private accept_message; private accept_mutation; private ensure_initialized; } /** 单个 Action Message 的生命周期 writer。 */ export declare class SessionActionMessageWriter { readonly message_id: string; private readonly messages; private readonly publish_mutation; private closed; constructor(messages: SessionMessages, message_id: string, publish_mutation?: boolean); /** 把 Action 更新为 completed。 */ complete(input?: { title?: string; description?: string; data?: JsonObject; }): Promise; /** 把 Action 更新为 failed。 */ fail(error: unknown): Promise; } /** 把 AI SDK User parts 归一为 canonical User parts。 */ export declare function normalize_session_user_parts(parts: UIMessage["parts"] | null | undefined): SessionUserMessagePart[]; //# sourceMappingURL=SessionMessages.d.ts.map