UNPKG

@langgraph-js/pro

Version:

The Pro SDK for LangGraph - seamlessly integrate your AI agents with frontend interfaces and build complex AI workflows

110 lines (109 loc) 4.43 kB
import { BaseMessage } from "@langchain/core/messages"; declare class MessageCheck { message: BaseMessage; constructor(message: BaseMessage); isTool(name?: string): boolean; isHuman(): boolean; isAI(): boolean; isSystem(): boolean; isToolCallInvoked(tool_name: string): boolean; hasToolCalls(): boolean; getToolCallNames(): string[]; containsText(text: string): boolean; isEmpty(): boolean; matchesRegex(pattern: RegExp): boolean | ""; and(otherCheck: (checker: MessageCheck) => boolean): boolean; or(otherCheck: (checker: MessageCheck) => boolean): boolean; not(): boolean; } declare class MessageQueryBuilder { private conditions; isTool(name?: string): this; isHuman(): this; isAI(): this; isSystem(): this; hasToolCalls(): this; containsText(text: string): this; isNotEmpty(): this; custom(condition: (checker: MessageCheck) => boolean): this; build(): MessageQuery; } declare class MessageQuery { private checkFn; constructor(checkFn: (checker: MessageCheck) => boolean); /** 在指定消息数组上执行查询 */ messages(messages: BaseMessage[]): MessageQueryExecutor; /** 获取检查函数 (用于向后兼容) */ getCheckFn(): (checker: MessageCheck) => boolean; } declare class MessageQueryExecutor { private messages; private checkFn; constructor(messages: BaseMessage[], checkFn: (checker: MessageCheck) => boolean); /** 获取第一个匹配的消息 */ first(): BaseMessage | undefined; /** 获取最后一个匹配的消息 */ last(): BaseMessage | undefined; /** 获取所有匹配的消息 */ all(): BaseMessage[]; /** 获取匹配的消息数量 */ count(): number; /** 检查是否存在匹配的消息 */ exists(): boolean; /** 获取指定数量的匹配消息 */ take(limit: number): BaseMessage[]; /** 获取第一个匹配消息的索引 */ index(): number; /** 获取最后一个匹配消息的索引 */ lastIndex(): number; /** 获取所有匹配消息的索引数组 */ indices(): number[]; /** 获取消息的检查器版本 */ firstCheck(): MessageCheck | null; lastCheck(): MessageCheck | null; allChecks(): MessageCheck[]; } export declare const checkLastMessage: (messages: BaseMessage[]) => MessageCheck; /** 从消息列表中获取最后一个满足条件的消息 */ export declare const queryLastMessage: (messages: BaseMessage[], checkFn: (message: MessageCheck) => boolean) => BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType> | undefined; /** 从消息列表中获取第一个满足条件的消息 */ export declare const queryFirstMessage: (messages: BaseMessage[], checkFn: (message: MessageCheck) => boolean) => BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType> | undefined; /** 从消息列表中获取所有满足条件的消息 */ export declare const queryAllMessages: (messages: BaseMessage[], checkFn: (message: MessageCheck) => boolean) => BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]; /** 从消息列表中获取满足条件的消息,支持更灵活的查询选项 */ export declare const queryMessages: (messages: BaseMessage[], options?: { checkFn?: (message: MessageCheck) => boolean; limit?: number; reverse?: boolean; startIndex?: number; endIndex?: number; }) => BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]; /** * 创建消息查询构建器 * * 返回一个 MessageQueryBuilder 实例,用于构建复杂的消息查询条件。 * 通过链式调用添加条件,然后调用 build() 方法生成可执行的查询对象。 * * @example * ```typescript * // 基础用法 * const query = createMessagesQuery() * .isHuman() * .build() * .messages(messages) * .last(); * * // 复杂查询 * const complexQuery = createMessagesQuery() * .isAI() * .hasToolCalls() * .containsText('search') * .build(); * * const result = complexQuery.messages(messages).all(); * ``` * * @returns {MessageQueryBuilder} 消息查询构建器实例 */ export declare const createMessagesQuery: () => MessageQueryBuilder; export {};