@eko-ai/eko
Version:
Empowering language to transform human words into action.
53 lines • 3.16 kB
TypeScript
import { AgentChain } from "./chain";
import { Tool, IMcpClient, LLMRequest, ToolResult, ToolExecuter, WorkflowAgent, HumanCallback, AgentStreamCallback } from "../types";
import { LanguageModelV2Prompt, LanguageModelV2FilePart, LanguageModelV2TextPart, LanguageModelV2ToolCallPart, LanguageModelV2ToolResultPart } from "@ai-sdk/provider";
import TaskContext, { AgentContext } from "./agent-context";
export type AgentParams = {
name: string;
description: string;
tools: Tool[];
llms?: string[];
mcpClient?: IMcpClient;
planDescription?: string;
requestHandler?: (request: LLMRequest) => void;
};
export declare class Agent {
protected name: string;
protected description: string;
protected tools: Tool[];
protected llms?: string[];
protected mcpClient?: IMcpClient;
protected planDescription?: string;
protected requestHandler?: (request: LLMRequest) => void;
protected callback?: AgentStreamCallback & HumanCallback;
protected agentContext?: AgentContext;
constructor(params: AgentParams);
run(context: TaskContext, agentChain: AgentChain): Promise<string>;
runWithContext(agentContext: AgentContext, mcpClient?: IMcpClient, maxReactNum?: number, historyMessages?: LanguageModelV2Prompt): Promise<string>;
protected handleCallResult(agentContext: AgentContext, messages: LanguageModelV2Prompt, agentTools: Tool[], results: Array<LanguageModelV2TextPart | LanguageModelV2ToolCallPart>): Promise<string | null>;
protected callToolCall(agentContext: AgentContext, agentTools: Tool[], result: LanguageModelV2ToolCallPart, user_messages?: LanguageModelV2Prompt): Promise<LanguageModelV2ToolResultPart>;
protected system_auto_tools(agentNode: WorkflowAgent, agentContext: AgentContext): Tool[];
protected buildSystemPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
protected buildUserPrompt(agentContext: AgentContext, tools: Tool[]): Promise<Array<LanguageModelV2TextPart | LanguageModelV2FilePart>>;
protected extSysPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
private listTools;
protected controlMcpTools(agentContext: AgentContext, messages: LanguageModelV2Prompt, loopNum: number): Promise<{
mcpTools: boolean;
mcpParams?: Record<string, unknown>;
}>;
protected toolExecuter(mcpClient: IMcpClient, name: string): ToolExecuter;
protected handleMessages(agentContext: AgentContext, messages: LanguageModelV2Prompt, tools: Tool[]): Promise<void>;
protected callInnerTool(fun: () => Promise<any>): Promise<ToolResult>;
loadTools(context: TaskContext): Promise<Tool[]>;
addTool(tool: Tool): void;
protected onTaskStatus(status: "pause" | "abort" | "resume-pause", reason?: string): Promise<void>;
canParallelToolCalls(toolCalls?: LanguageModelV2ToolCallPart[]): boolean;
get Llms(): string[] | undefined;
get Name(): string;
get Description(): string;
get Tools(): Tool[];
get PlanDescription(): string | undefined;
get McpClient(): IMcpClient | undefined;
get AgentContext(): AgentContext | undefined;
}
//# sourceMappingURL=base.d.ts.map