/** * Session UI stream 最终消息收敛器。 * * 关键点(中文) * - 必须完整消费 AI SDK UI stream,才能稳定触发 `onFinish`。 * - 优先使用结构化 `responseMessage`;缺失时才回退到纯文本。 * - UI chunk 回调负责上层 canonical message 写入,失败必须终止本轮收敛。 */ import type { streamText } from "ai"; import type { Logger } from "../../utils/logger/Logger.js"; import type { SessionMessageRecordV1 } from "../../executor/types/SessionRecords.js"; import type { SessionUiMessageChunkCallback } from "../../types/session/SessionExecution.js"; /** * 收敛 UI stream 中的最终 assistant 消息。 */ export declare function collect_final_assistant_message_from_ui_stream(params: { /** * 当前 `streamText` 执行结果。 */ result: ReturnType; /** * 当前 session_id,用于日志关联。 */ session_id: string; /** * 当前日志器。 */ logger: Logger; /** * 构造 fallback assistant 消息的工厂函数。 */ buildFallbackAssistantMessage: (text: string) => SessionMessageRecordV1; /** 当前 Turn 已收敛的 Assistant 消息;原生审批恢复时用于重建已有 Tool Part。 */ original_messages?: SessionMessageRecordV1[]; /** * UI stream chunk 回调。 */ on_ui_message_chunk_callback?: SessionUiMessageChunkCallback; /** * 当前 turn 的取消信号。 * * 关键点(中文) * - stop 触发后,UI stream 可能在 onFinish 前中断。 * - 此时仍应尽量用已经收到的 text delta 构造可持久化 assistant 消息。 */ abort_signal?: AbortSignal; }): Promise; //# sourceMappingURL=CoreEngineUiStreamCollector.d.ts.map