magnitude-core
Version:
Magnitude e2e testing agent
48 lines (47 loc) • 1.95 kB
TypeScript
import EventEmitter from "eventemitter3";
import z from "zod";
import { Action } from "@/actions/types";
import { AgentEvents } from "@/common/events";
import { AgentConnector } from '@/connectors';
import { RenderableContent } from '@/memory/observation';
import { LLMClient } from "@/ai/types";
import { AgentMemory } from "@/memory";
import { ActionDefinition } from "@/actions";
import { MultiModelHarness } from '@/ai/multiModelHarness';
export interface AgentOptions {
llm?: LLMClient | LLMClient[];
connectors?: AgentConnector[];
actions?: ActionDefinition<any>[];
prompt?: string | null;
telemetry?: boolean;
}
export interface ActOptions {
prompt?: string;
data?: RenderableContent;
memory?: AgentMemory;
}
export declare class Agent {
private options;
private connectors;
private actions;
private memoryOptions;
readonly models: MultiModelHarness;
readonly events: EventEmitter<AgentEvents>;
private doneActing;
protected latestTaskMemory: AgentMemory;
constructor(baseConfig?: Partial<AgentOptions>);
getConnector<C extends AgentConnector>(connectorClass: new (...args: any[]) => C): C | undefined;
require<C extends AgentConnector>(connectorClass: new (...args: any[]) => C): C;
start(): Promise<void>;
identifyAction(action: Action): ActionDefinition<any>;
exec(action: Action, memory?: AgentMemory): Promise<void>;
protected _recordConnectorObservations(memory: AgentMemory): Promise<void>;
get memory(): AgentMemory;
act(taskOrSteps: string | string[], options?: ActOptions): Promise<void>;
_traceAct(task: string, memory: AgentMemory, options?: ActOptions): Promise<void>;
private _buildContext;
_act(description: string, memory: AgentMemory, options?: ActOptions): Promise<void>;
query<T extends z.Schema>(query: string, schema: T): Promise<z.infer<T>>;
queueDone(): Promise<void>;
stop(): Promise<void>;
}