import { AIMessage, BaseMessage } from "@langchain/core/messages"; import { GraphAgentOptions } from "../types/type"; import { AgentGraphModel } from "../model/AgentGraphModel"; interface TokenUsage { total: number; } declare const AgentState: import("@langchain/langgraph").AnnotationRoot<{ messages: import("@langchain/langgraph").BinaryOperatorAggregate; tokenUsage: import("@langchain/langgraph").BinaryOperatorAggregate; totalDuration: import("@langchain/langgraph").BinaryOperatorAggregate; }>; export default class McpGraphAgent { private model; private toolNode; private targetDir; private options; private checkpointer; private langchainTools; private stopLoadingFunc; private verbose; private alwaysSystem; private recursionLimit; private apiConfig; private maxTokens; private mcpClients; private streamEnabled; private streamOutputCallback; constructor(options?: GraphAgentOptions); /** * 设置外部流式输出回调(如 VS Code Webview)。 * 设置后,callModel 的流式输出将通过回调发送而非写入 stdout。 */ setStreamOutput(callback: (chunk: string, type: "think" | "text") => void): void; /** * 清除外部流式输出回调,恢复默认的 stdout 输出。 */ clearStreamOutput(): void; private printLoadedTools; private loadMcpConfigs; private initMcpTools; private prepareTools; ensureInitialized(): Promise; private closeMcpClients; private showLoading; private startLoading; private stopLoading; private getModel; private askForConfig; chat(query?: string): Promise; /** * 流式执行单次查询(编程式 API)。 * 无论 options.stream 是否开启,此方法始终以流式方式输出。 */ stream(query?: string): Promise; start(): Promise; private renderOutput; callModel(state: typeof AgentState.State): Promise<{ messages: AIMessage[]; tokenUsage: { total: number; }; totalDuration: number; }>; private getRecentToolCalls; private printFinalSummary; createGraph(): Promise; tokenUsage: import("@langchain/langgraph").BinaryOperatorAggregate; totalDuration: import("@langchain/langgraph").BinaryOperatorAggregate; }>, import("@langchain/langgraph").UpdateType<{ messages: import("@langchain/langgraph").BinaryOperatorAggregate; tokenUsage: import("@langchain/langgraph").BinaryOperatorAggregate; totalDuration: import("@langchain/langgraph").BinaryOperatorAggregate; }>, "tools" | "__start__" | "agent" | "interrupt", { messages: import("@langchain/langgraph").BinaryOperatorAggregate; tokenUsage: import("@langchain/langgraph").BinaryOperatorAggregate; totalDuration: import("@langchain/langgraph").BinaryOperatorAggregate; }, { messages: import("@langchain/langgraph").BinaryOperatorAggregate; tokenUsage: import("@langchain/langgraph").BinaryOperatorAggregate; totalDuration: import("@langchain/langgraph").BinaryOperatorAggregate; }, import("@langchain/langgraph").StateDefinition>>; } export {};