/** * CoreEngine 模型消息运行态。 * * 关键点(中文) * - CoreEngine 同时维护 session 语义消息与模型消息。 * - 新增 user 消息可优先做增量转换,失败时再回退为全量重算。 * - assistant UI 消息只需要进入 session 语义基线;模型侧使用 SDK 返回的 response messages。 */ import type { ModelMessage, Tool } from "ai"; import type { SessionRecordV1 } from "../../executor/types/SessionRecords.js"; /** * CoreEngine 单轮执行期间的消息基线。 */ export declare class CoreEngineMessageState { /** * 当前运行时 session 语义消息。 */ private sessionMessages; /** * 当前模型侧消息基线。 */ private currentModelMessages; /** * 当前轮可用工具集合。 */ private readonly tools; /** * 当前项目根目录,用于解析历史中的相对路径 file part。 */ private readonly project_root?; private constructor(); /** * 基于初始 session 消息创建运行态。 */ static create(params: { /** * 初始 session 语义消息。 */ messages: SessionRecordV1[]; /** * 当前轮可用工具集合。 */ tools: Record; /** * 当前项目根目录。 */ project_root?: string; }): Promise; /** * 读取当前模型消息。 */ get modelMessages(): ModelMessage[]; /** * 把 step 间新增的 user 消息并入两份基线。 */ appendMergedUserMessages(messages: SessionRecordV1[]): Promise; /** * 追加内部生成的 user nudge 消息。 */ appendUserTextMessage(message: SessionRecordV1): Promise; /** * 追加 assistant UI 消息到 session 语义基线。 */ appendRuntimeSessionMessage(message: SessionRecordV1): void; /** * 追加 SDK 返回的模型 response messages。 */ appendModelMessages(messages: ModelMessage[]): void; /** * 原子替换当前模型侧消息基线。 * * 关键点(中文):compact 只替换 Provider 后续可见的 ModelMessage, * Session 语义消息与持久化历史仍保持完整,等待 turn 收口后再单独归档。 */ replace_model_messages(messages: ModelMessage[]): void; /** * 使用 canonical records 原子替换两份消息基线。 * * 关键点(中文) * - 显式 compact 会重写持久化历史,旧的 SessionRecord 与 ModelMessage 必须同时失效。 * - tools 使用当前 step 的执行视图,避免配置 command 生效后仍按旧工具解码历史。 */ replace_session_messages(messages: SessionRecordV1[], tools: Record): Promise; private appendSessionMessagesAsModelMessages; } //# sourceMappingURL=CoreEngineMessageState.d.ts.map