import type { MastraScorers } from '../evals/index.js'; import type { PubSub } from '../events/index.js'; import type { Mastra } from '../mastra/index.js'; import type { ObservabilityContext } from '../observability/index.js'; import type { RequestContext } from '../request-context/index.js'; import type { InferStandardSchemaOutput, StandardSchemaWithJSON } from '../schema/index.js'; import type { ToolStream } from '../tools/stream.js'; import type { DynamicArgument } from '../types/index.js'; import type { PUBSUB_SYMBOL, STREAM_FORMAT_SYMBOL } from './constants.js'; import type { OutputWriter, StepResult, StepMetadata } from './types.js'; import type { Workflow } from './workflow.js'; export type SuspendOptions = { resumeLabel?: string | string[]; } & Record; declare const SuspendBrand: unique symbol; export type InnerOutput = void & { readonly [SuspendBrand]: never; }; export type ExecuteFunctionParams | unknown = unknown> = Partial & { runId: string; resourceId?: string; workflowId: string; mastra: Mastra; requestContext: RequestContext; inputData: TStepInput; state: TState; setState(state: TState): Promise; resumeData?: TResume; suspendData?: TSuspend; retryCount: number; getInitData(): T extends Workflow ? InferStandardSchemaOutput : T; getStepResult(step: string): TOutput; getStepResult>(step: TStep): InferStandardSchemaOutput; suspend: unknown extends TSuspend ? (suspendPayload?: TSuspend, suspendOptions?: SuspendOptions) => InnerOutput | Promise : (suspendPayload: TSuspend, suspendOptions?: SuspendOptions) => InnerOutput | Promise; bail(result: TStepOutput): InnerOutput; bail(result: T extends Workflow ? TWorkflowOutput : T): InnerOutput; abort(): void; resume?: { steps: string[]; resumePayload: TResume; }; restart?: boolean; [PUBSUB_SYMBOL]: PubSub; [STREAM_FORMAT_SYMBOL]: 'legacy' | 'vnext' | undefined; engine: EngineType; abortSignal: AbortSignal; writer: ToolStream; outputWriter?: OutputWriter; validateSchemas?: boolean; }; export type ConditionFunctionParams | unknown = unknown> = Omit, 'setState' | 'suspend'>; export type ExecuteFunction | unknown = unknown> = (params: ExecuteFunctionParams) => Promise; export type ConditionFunction | unknown = unknown> = (params: ConditionFunctionParams) => Promise; export type LoopConditionFunction | unknown = unknown> = (params: ConditionFunctionParams & { iterationCount: number; }) => Promise; export interface Step | unknown = unknown> { id: TStepId; description?: string; inputSchema: StandardSchemaWithJSON; outputSchema: StandardSchemaWithJSON; resumeSchema?: StandardSchemaWithJSON; suspendSchema?: StandardSchemaWithJSON; stateSchema?: StandardSchemaWithJSON; /** * Optional schema for validating request context values. * When provided, the request context will be validated against this schema before step execution. */ requestContextSchema?: StandardSchemaWithJSON; execute: ExecuteFunction; scorers?: DynamicArgument; retries?: number; component?: string; metadata?: StepMetadata; } export declare const getStepResult: (stepResults: Record>, step: any) => any; export {}; //# sourceMappingURL=step.d.ts.map