@eko-ai/eko
Version:
Empowering language to transform human words into action.
53 lines • 3.35 kB
TypeScript
import { RetryLanguageModel } from "../llm";
import { AgentChain } from "../core/chain";
import Context, { AgentContext } from "../core/context";
import { WorkflowAgent, IMcpClient, Tool, ToolExecuter, ToolResult, StreamCallback, HumanCallback } from "../types";
import { LanguageModelV1FilePart, LanguageModelV1FunctionTool, LanguageModelV1ImagePart, LanguageModelV1Prompt, LanguageModelV1TextPart, LanguageModelV1ToolCallPart, LanguageModelV1ToolChoice, LanguageModelV1ToolResultPart } from "@ai-sdk/provider";
export type AgentParams = {
name: string;
description: string;
tools: Tool[];
llms?: string[];
mcpClient?: IMcpClient;
planDescription?: string;
};
export declare class Agent {
protected name: string;
protected description: string;
protected tools: Tool[];
protected llms?: string[];
protected mcpClient?: IMcpClient;
protected planDescription?: string;
protected callback?: StreamCallback & HumanCallback;
protected agentContext?: AgentContext;
constructor(params: AgentParams);
run(context: Context, agentChain: AgentChain): Promise<string>;
runWithContext(agentContext: AgentContext, mcpClient?: IMcpClient, maxReactNum?: number): Promise<string>;
protected handleCallResult(agentContext: AgentContext, messages: LanguageModelV1Prompt, agentTools: Tool[], results: Array<LanguageModelV1TextPart | LanguageModelV1ToolCallPart>): Promise<string | null>;
protected system_auto_tools(agentNode: WorkflowAgent): Tool[];
protected buildSystemPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
protected buildUserPrompt(agentContext: AgentContext, tools: Tool[]): Promise<Array<LanguageModelV1TextPart | LanguageModelV1ImagePart | LanguageModelV1FilePart>>;
protected extSysPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
private listTools;
protected controlMcpTools(agentContext: AgentContext, messages: LanguageModelV1Prompt, loopNum: number): Promise<{
mcpTools: boolean;
mcpParams?: Record<string, unknown>;
}>;
protected toolExecuter(mcpClient: IMcpClient, name: string): ToolExecuter;
private convertTools;
private getTool;
protected convertToolResult(toolUse: LanguageModelV1ToolCallPart, toolResult: ToolResult, user_messages: LanguageModelV1Prompt): LanguageModelV1ToolResultPart;
protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt, tools: Tool[]): Promise<void>;
protected callInnerTool(fun: () => Promise<any>): Promise<ToolResult>;
loadTools(context: Context): Promise<Tool[]>;
addTool(tool: Tool): void;
protected onTaskStatus(status: "pause" | "abort" | "resume-pause", reason?: string): Promise<void>;
get Llms(): string[] | undefined;
get Name(): string;
get Description(): string;
get Tools(): Tool[];
get PlanDescription(): string | undefined;
get McpClient(): IMcpClient | undefined;
}
export declare function callLLM(agentContext: AgentContext, rlm: RetryLanguageModel, messages: LanguageModelV1Prompt, tools: LanguageModelV1FunctionTool[], noCompress?: boolean, toolChoice?: LanguageModelV1ToolChoice, retry?: boolean, callback?: StreamCallback & HumanCallback): Promise<Array<LanguageModelV1TextPart | LanguageModelV1ToolCallPart>>;
//# sourceMappingURL=base.d.ts.map