UNPKG

@langgraph-js/sdk

Version:

The UI SDK for LangGraph - seamlessly integrate your AI agents with frontend interfaces

92 lines (91 loc) 3.4 kB
import { Message, AIMessage, ToolMessage } from "@langchain/langgraph-sdk"; import { RenderMessage } from "./LangGraphClient.js"; import { SpendTime } from "./SpendTime.js"; /** * @zh StreamingMessageType 类用于判断消息的类型。 * @en The StreamingMessageType class is used to determine the type of a message. */ export declare class StreamingMessageType { static isTool(m: Message): m is ToolMessage; static isToolAssistant(m: Message): m is AIMessage; } /** * @zh MessageProcessor 类用于统一处理 Message 相关的逻辑,避免重复处理。 * @en The MessageProcessor class is used to uniformly handle Message-related logic and avoid duplicate processing. */ export declare class MessageProcessor { /** 流式消息缓存 */ private streamingMessage; /** 图发过来的更新信息 */ private graphMessages; spendTime: SpendTime; constructor(); /** * @zh 获取流式消息 * @en Get streaming messages */ getStreamingMessages(): RenderMessage[]; /** * @zh 设置流式消息 * @en Set streaming messages */ setStreamingMessages(messages: RenderMessage[]): void; /** * @zh 清空流式消息 * @en Clear streaming messages */ clearStreamingMessages(): void; /** * @zh 获取图消息 * @en Get graph messages */ getGraphMessages(): RenderMessage[]; /** * @zh 设置图消息 * @en Set graph messages */ setGraphMessages(messages: RenderMessage[]): void; /** * @zh 更新流式消息 * @en Update streaming message */ updateStreamingMessage(message: RenderMessage): void; /** * @zh 将 graphMessages 和 streamingMessage 合并,并返回新的消息数组 * @en Combine graphMessages and streamingMessage and return a new message array */ combineGraphMessagesWithStreamingMessages(): RenderMessage[]; /** * @zh 克隆消息对象 * @en Clone message object */ cloneMessage(message: Message): Message; /** * @zh 为消息附加额外的信息,如耗时、唯一 ID 等。 * @en Attaches additional information to messages, such as spend time, unique ID, etc. */ attachInfoForMessage(messages: RenderMessage[]): RenderMessage[]; /** * @zh 组合工具消息,将 AI 的工具调用和工具的执行结果关联起来。 * @en Composes tool messages, associating AI tool calls with tool execution results. */ composeToolMessages(messages: RenderMessage[]): RenderMessage[]; /** * @zh 生成用于 UI 中的流式渲染的消息 * @en Generate messages used for streaming rendering in the UI */ renderMessages(graphState: any, getGraphNodeNow: () => { name: string; }, messagesMetadata: Record<string, any>): RenderMessage[]; foldTreeMessages(messages: RenderMessage[], graphState?: { task_store?: Record<string, { messages: RenderMessage[]; }>; }, messagesMetadata?: Record<string, any>): RenderMessage[]; private beforeFold; /** * @zh 统一的消息处理入口,按顺序执行所有处理步骤 * @en Unified message processing entry point, executing all processing steps in order */ processMessages(messages: RenderMessage[], graphState?: any, messagesMetadata?: Record<string, any>): RenderMessage[]; }