UNPKG

magnitude-core

Version:
27 lines (26 loc) 837 B
import { Agent } from "@/agent"; import { ObservableData } from "@/memory/observation"; import { z, Schema, ZodTypeAny } from "zod"; export interface ActionDefinition<T> { name: string; description?: string; schema: Schema<T>; resolver: ({ input, agent }: { input: T; agent: Agent; }) => Promise<void | ObservableData>; render: (action: T) => string; } export declare function createAction<S extends ZodTypeAny>(action: { name: string; description?: string; schema?: S; resolver: ({ input, agent }: { input: z.infer<S>; agent: Agent; }) => Promise<void | ObservableData>; render?: (action: z.infer<S>) => string; }): ActionDefinition<z.infer<S>>; export type ActionPayload<A extends ActionDefinition<any>> = { name: A['name']; } & z.infer<A['schema']>;