UNPKG

magnitude-core

Version:
40 lines (39 loc) 1.45 kB
import { AgentContext } from "@/ai/baml_client"; import { Action } from "@/actions/types"; import { LLMClient, ModelUsage } from "@/ai/types"; import { ActionDefinition } from "@/actions"; import { Schema, z } from 'zod'; import { Image } from '@/memory/image'; import EventEmitter from "eventemitter3"; import { MultiMediaContentPart } from "@/memory/rendering"; interface ModelHarnessOptions { llm: LLMClient; } export interface ModelHarnessEvents { 'tokensUsed': (usage: ModelUsage) => {}; } export declare class ModelHarness { /** * Strong reasoning agent for high level strategy and planning. */ readonly events: EventEmitter<ModelHarnessEvents>; private options; private collector; private cr; private baml; private logger; private prevTotalInputTokens; private prevTotalOutputTokens; constructor(options: ModelHarnessOptions); setup(): Promise<void>; describeModel(): string; private _reportUsage; partialAct<T>(context: AgentContext, // Changed to ModularMemoryContext task: string, data: MultiMediaContentPart[], actionVocabulary: ActionDefinition<T>[]): Promise<{ reasoning: string; actions: Action[]; }>; extract<T extends Schema>(instructions: string, schema: T, screenshot: Image, domContent: string): Promise<z.infer<T>>; query<T extends Schema>(context: AgentContext, query: string, schema: T): Promise<z.infer<T>>; } export {};