UNPKG

magnitude-core

Version:
44 lines (43 loc) 1.79 kB
import EventEmitter from "eventemitter3"; import z from "zod"; import { Action } from "@/actions/types"; import { ModelHarness } from "@/ai/modelHarness"; import { AgentEvents } from "@/common/events"; import { AgentConnector } from '@/connectors'; import { LLMClient } from "@/ai/types"; import { AgentMemory } from "@/memory"; import { ActionDefinition } from "@/actions"; export interface AgentOptions { llm?: LLMClient; connectors?: AgentConnector[]; actions?: ActionDefinition<any>[]; prompt?: string | null; telemetry?: boolean; } export interface ActOptions { prompt?: string; data?: string | Record<string, string>; } export declare class Agent { private options; private connectors; private actions; readonly model: ModelHarness; 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>; _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>; }