UNPKG

magnitude-core

Version:
48 lines (47 loc) 1.95 kB
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>; }