/** * AGUI适配器工具函数 * 包含与类无关的纯函数,用于处理AGUI协议相关逻辑 */ /** * 合并字符串内容,处理JSON和普通字符串 * @param existing 现有内容 * @param delta 增量内容 * @returns 合并后的内容 */ export declare function mergeStringContent(existing: string | undefined, delta: string): string; /** * 从delta事件中提取stateKey * @param event delta事件对象 * @returns stateKey或null */ export declare function extractStateKeyFromDelta(event: { type: string; delta?: any[]; }): string | null; /** * 处理消息快照 * @param messages 消息数组 * @returns 处理后的消息内容数组 */ export declare function handleMessagesSnapshot(messages: any[]): any[]; /** * 处理自定义事件 * @param event 自定义事件对象 * @returns 处理结果或undefined */ export declare function handleCustomEvent(event: any): any; /** * 解析SSE数据 * @param data SSE数据,可能是字符串或已解析的对象 * @returns 解析后的事件对象或null */ export declare function parseSSEData(data: any): any; /** * 验证事件对象 * @param event 事件对象 * @returns 是否为有效事件 */ export declare function isValidEvent(event: any): boolean; /** * 生成连接ID * @param prefix 前缀 * @returns 连接ID */ export declare function generateConnectionId(prefix?: string): string; /** * 格式化日志消息 * @param level 日志级别 * @param message 消息内容 * @param context 上下文信息 * @returns 格式化后的日志消息 */ export declare function formatLogMessage(level: string, message: string, context?: any): string; /** * 创建基础的 AIMessageContent 对象 * @param type 内容类型 * @param data 内容数据 * @param status 状态 * @param strategy 策略 * @param ext 扩展属性 * @returns AIMessageContent 对象 */ export declare function createAIMessageContent(type: string, data: any, status?: 'pending' | 'streaming' | 'complete' | 'error', strategy?: 'append' | 'merge', ext?: any): any; /** * 创建 reasoning 类型的 AIMessageContent * @param data reasoning 数据 * @param status 状态 * @param strategy 策略 * @param collapsed 是否折叠 * @returns reasoning 类型的 AIMessageContent */ export declare function createReasoningContent(data: any[], status?: 'streaming' | 'complete', strategy?: 'append' | 'merge', collapsed?: boolean): any; /** * 创建 thinking 类型的 AIMessageContent * @param data thinking 数据 * @param status 状态 * @param strategy 策略 * @param collapsed 是否折叠 * @returns thinking 类型的 AIMessageContent */ export declare function createThinkingContent(data: any, status?: 'streaming' | 'complete', strategy?: 'append' | 'merge', collapsed?: boolean): any; /** * 创建 toolcall 类型的 AIMessageContent * @param toolCall 工具调用数据 * @param status 状态 * @param strategy 策略(可选) * @returns toolcall 类型的 AIMessageContent * * type 格式: toolcall-${toolCallName}-${toolCallId} * - toolCallName: 用于查找对应的渲染组件 * - toolCallId: 用于区分同名工具的不同调用实例,支持并行工具调用 */ export declare function createToolCallContent(toolCall: any, status?: 'pending' | 'streaming' | 'complete', strategy?: 'append' | 'merge'): any; /** * 创建 markdown 类型的 AIMessageContent * @param data markdown 数据 * @param status 状态 * @param strategy 策略 * @returns markdown 类型的 AIMessageContent */ export declare function createMarkdownContent(data: string, status?: 'streaming' | 'complete', strategy?: 'append' | 'merge'): any; /** * 创建 suggestion 类型的 AIMessageContent * @param data suggestion 数据 * @returns suggestion 类型的 AIMessageContent */ export declare function createSuggestionContent(data: any[]): any; /** * 创建 text 类型的 AIMessageContent * @param data 文本数据 * @param status 状态 * @returns text 类型的 AIMessageContent */ export declare function createTextContent(data: string, status?: 'streaming' | 'complete' | 'error'): any; /** * 更新工具调用对象 * @param existingToolCall 现有工具调用 * @param updates 更新内容 * @returns 更新后的工具调用 */ export declare function updateToolCall(existingToolCall: any, updates: Partial): any; /** * 处理 suggestion 工具调用的特殊逻辑 * @param toolCall 工具调用对象 * @returns suggestion 内容或 null */ export declare function handleSuggestionToolCall(toolCall: any): any | null; /** * 更新 reasoning 上下文中的内容 * @param reasoningData 当前 reasoning 数据 * @param index 要更新的索引 * @param newContent 新内容 * @returns 更新后的 reasoning 数据 */ export declare function updateReasoningData(reasoningData: any[], index: number, newContent: any): any[]; /** * 向 reasoning 数据中添加新内容 * @param reasoningData 当前 reasoning 数据 * @param newContent 新内容 * @returns 更新后的 reasoning 数据和新内容的索引 */ export declare function addToReasoningData(reasoningData: any[], newContent: any): { data: any[]; index: number; }; /** * 解析 reasoningContent 字段 * @param reasoningContent 原始 reasoningContent 数据 * @returns 解析后的数据和类型信息 */ export declare function parseReasoningContent(reasoningContent: any): { type: 'reasoning' | 'thinking'; data: any; }; /** * 转换 reasoning 消息数组为 AIMessageContent 数组 * @param reasoningMessages reasoning 消息数组 * @returns 转换后的 AIMessageContent 数组 */ export declare function convertReasoningMessages(reasoningMessages: any[]): any[]; /** * 处理 reasoningContent 并创建对应的 AIMessageContent * @param reasoningContent 原始 reasoningContent 数据 * @returns 创建的 AIMessageContent 或 null */ export declare function processReasoningContent(reasoningContent: any): any | null; /** * 处理工具调用并创建对应的 AIMessageContent 数组 * @param toolCalls 工具调用数组 * @param toolCallMap 工具调用结果映射 * @returns 创建的 AIMessageContent 数组 */ export declare function processToolCalls(toolCalls: any[], toolCallMap: Map): any[]; /** * 构建工具调用结果映射 * @param historyMessages 历史消息数组 * @returns 工具调用结果映射 */ export declare function buildToolCallMap(historyMessages: any[]): Map;