import { BaseChatModel, BaseChatModelParams } from '@langchain/core/language_models/chat_models'; import { BaseMessage } from '@langchain/core/messages'; import { ChatResult } from '@langchain/core/outputs'; export interface AgentGraphLLMResponse { text: string; reasoning?: string; token?: number; duration?: number; } /** 流式输出的回调类型 */ export type StreamChunkCallback = (chunk: string) => void; export declare abstract class AgentGraphModel extends BaseChatModel { protected boundTools?: any[]; private mcpEnabled?; private mcpTools?; protected chatId: string; protected targetDir?: string; resetChat(): void; setMcpTools(tools: any[]): void; setMcpEnabled(enabled?: boolean): void; getMcpEnabled(): boolean; getMcpTools(): any[]; private isMcpTool; constructor(fields?: BaseChatModelParams & { targetDir?: string; }); bindTools(tools: any[]): any; abstract callApi(prompt: string, lastMsg: BaseMessage): Promise; /** * 流式调用 API,子类可覆盖以实现真正的 SSE 流式传输。 * 默认回退到 callApi 非流式调用。 * @param prompt 序列化后的提示词 * @param onChunk 每收到一段文本时的回调 * @returns 完整的响应结果 */ callApiStream(prompt: string, lastMsg: BaseMessage, onChunk: StreamChunkCallback): Promise; _generate(messages: BaseMessage[]): Promise; private parseToolCalls; /** 从 text[start] 开始,按括号配对提取完整的 JSON 对象字符串 */ private extractBalancedJson; /** * 流式生成:调用 callApiStream 进行流式输出,完成后构建完整的 ChatResult。 * @param messages LangChain 消息列表 * @param onChunk 每收到一段文本时的回调 */ streamGenerate(messages: BaseMessage[], onChunk: StreamChunkCallback): Promise; serializeMessages(messages: BaseMessage[]): string; _llmType(): string; }