import { BaseAgent } from './BaseAgent'; import { AgentCoreConfig, AgentServiceConfig } from '../core/configs'; import { ReActPromptTemplate } from './ReActPromptTemplate'; import { ReActClassifier } from './ReActClassifier'; import { ClassificationTypeConfig } from '../core/IClassifier'; import { ExecutionContext } from '../core/ExecutionContext'; import { InferStrategy } from '../core/InferContext'; import { AbstractClassifier } from '../core/AbstractClassifier'; import { IAgentPromptTemplate } from '../core/IPromptTemplate'; export declare class AgentBuilder { private coreConfig; private serviceConfig; private context; private promptStrategy; private streamParser; private mcpConfigPath; constructor(coreConfig: AgentCoreConfig, serviceConfig: AgentServiceConfig, promptStrategy?: InferStrategy); withContext(context: ExecutionContext): AgentBuilder; withPromptStrategy(strategy: InferStrategy): AgentBuilder; withDefaultReActStrategy(): AgentBuilder; withStreamObservability(): AgentBuilder; /** * Adds MCP tools to the agent from a configuration file * @param configPath Optional path to the MCP configuration file (defaults to ./mcp_config.json) * @returns This builder instance for method chaining */ withMcpTools(configPath?: string): AgentBuilder; create(): BaseAgent, ReActPromptTemplate>; create(ClassifierClass: new (types: T) => AbstractClassifier, PromptTemplateClass: new (types: T, strategy: InferStrategy) => IAgentPromptTemplate): BaseAgent, IAgentPromptTemplate>; build, P extends IAgentPromptTemplate>(className: string, schemaTypes: T, ClassifierClass: new (types: T) => C, PromptTemplateClass: new (types: T, strategy: InferStrategy) => P): BaseAgent; /** * Registers MCP tools with the agent * * This method loads all individual tools from all MCP servers defined in the configuration file * and registers them with the agent. Each tool has its actual name and description from the MCP * server, making it identifiable to the LLM for tool selection based on the task. * * @param agent The agent to register tools with * @param configPath Optional path to the MCP configuration file * @private */ private registerMcpTools; }