UNPKG

@mastra/core

Version:

The core foundation of the Mastra framework, providing essential components and interfaces for building AI-powered applications.

46 lines 2.3 kB
import type { z } from 'zod'; import type { Mastra } from '../mastra'; import type { RuntimeContext } from '../runtime-context'; import type { MastraScorers } from '../scores'; import type { ChunkType } from '../stream/MastraWorkflowStream'; import type { ToolStream } from '../tools/stream'; import type { DynamicArgument } from '../types'; import type { EMITTER_SYMBOL } from './constants'; import type { Emitter } from './types'; import type { Workflow } from './workflow'; export type ExecuteFunctionParams<TStepInput, TResumeSchema, TSuspendSchema, EngineType> = { runId: string; workflowId: string; mastra: Mastra; runtimeContext: RuntimeContext; inputData: TStepInput; resumeData?: TResumeSchema; runCount: number; getInitData<T extends z.ZodType<any>>(): z.infer<T>; getInitData<T extends Workflow<any, any, any, any, any>>(): T extends undefined ? unknown : z.infer<NonNullable<T['inputSchema']>>; getStepResult<T extends Step<any, any, any>>(stepId: T): T['outputSchema'] extends undefined ? unknown : z.infer<NonNullable<T['outputSchema']>>; suspend(suspendPayload: TSuspendSchema): Promise<any>; bail(result: any): any; abort(): any; resume?: { steps: string[]; resumePayload: any; }; [EMITTER_SYMBOL]: Emitter; engine: EngineType; abortSignal: AbortSignal; writer: ToolStream<ChunkType>; }; export type ExecuteFunction<TStepInput, TStepOutput, TResumeSchema, TSuspendSchema, EngineType> = (params: ExecuteFunctionParams<TStepInput, TResumeSchema, TSuspendSchema, EngineType>) => Promise<TStepOutput>; export interface Step<TStepId extends string = string, TSchemaIn extends z.ZodType<any> = z.ZodType<any>, TSchemaOut extends z.ZodType<any> = z.ZodType<any>, TResumeSchema extends z.ZodType<any> = z.ZodType<any>, TSuspendSchema extends z.ZodType<any> = z.ZodType<any>, TEngineType = any> { id: TStepId; description?: string; inputSchema: TSchemaIn; outputSchema: TSchemaOut; resumeSchema?: TResumeSchema; suspendSchema?: TSuspendSchema; execute: ExecuteFunction<z.infer<TSchemaIn>, z.infer<TSchemaOut>, z.infer<TResumeSchema>, z.infer<TSuspendSchema>, TEngineType>; scorers?: DynamicArgument<MastraScorers>; retries?: number; } //# sourceMappingURL=step.d.ts.map