@eko-ai/eko
Version:
Empowering language to transform human words into action.
52 lines • 2.18 kB
TypeScript
import { LanguageModelV2Prompt } from "@ai-sdk/provider";
import { Agent } from "../base";
import { AgentContext } from "../agent-context";
import { ToolExecuter, IMcpClient } from "../../types";
export declare const AGENT_NAME = "Browser";
export default abstract class BaseBrowserAgent extends Agent {
protected abstract screenshot(agentContext: AgentContext): Promise<{
imageBase64: string;
imageType: "image/jpeg" | "image/png";
}>;
protected abstract navigate_to(agentContext: AgentContext, url: string): Promise<{
url: string;
title?: string;
}>;
protected abstract get_all_tabs(agentContext: AgentContext): Promise<Array<{
tabId: number;
url: string;
title: string;
}>>;
protected abstract switch_tab(agentContext: AgentContext, tabId: number): Promise<{
tabId: number;
url: string;
title: string;
}>;
protected go_back(agentContext: AgentContext): Promise<void>;
protected extract_page_content(agentContext: AgentContext, variable_name?: string): Promise<{
title: string;
page_url: string;
page_content: string;
}>;
protected controlMcpTools(agentContext: AgentContext, messages: LanguageModelV2Prompt, loopNum: number): Promise<{
mcpTools: boolean;
mcpParams?: Record<string, unknown>;
}>;
protected toolExecuter(mcpClient: IMcpClient, name: string): ToolExecuter;
protected get_current_page(agentContext: AgentContext): Promise<{
url: string;
title?: string;
tabId?: number;
}>;
protected lastToolResult(messages: LanguageModelV2Prompt): {
id: string;
toolName: string;
args: unknown;
result: unknown;
} | null;
protected toolUseNames(messages?: LanguageModelV2Prompt): string[];
protected abstract execute_script(agentContext: AgentContext, func: (...args: any[]) => void, args: any[]): Promise<any>;
protected execute_mcp_script(agentContext: AgentContext, script: string): Promise<string | number | Record<string, any> | undefined>;
}
export { BaseBrowserAgent };
//# sourceMappingURL=browser-base.d.ts.map