@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
93 lines • 3.45 kB
TypeScript
import { MastraBase } from '../../base.js';
import type { RequestContext } from '../../di/index.js';
import type { Mastra } from '../../mastra/index.js';
import type { TracingContext } from '../../observability/index.js';
import type { LoopConditionFunction, Step } from '../step.js';
import type { StepFlowEntry, StepResult } from '../types.js';
export declare class StepExecutor extends MastraBase {
protected mastra?: Mastra;
constructor({ mastra }: {
mastra?: Mastra;
});
__registerMastra(mastra: Mastra): void;
/**
* Creates an output writer function that publishes chunks to the workflow event stream.
* @param runId - The workflow run ID
* @returns An async function that writes chunks to the pubsub
*/
private createOutputWriter;
execute(params: {
workflowId: string;
step: Step<any, any, any, any>;
runId: string;
input?: any;
resumeData?: any;
stepResults: Record<string, StepResult<any, any, any, any>>;
state: Record<string, any>;
requestContext: RequestContext;
retryCount?: number;
foreachIdx?: number;
validateInputs?: boolean;
abortController?: AbortController;
perStep?: boolean;
format?: 'legacy' | 'vnext';
/** Tracing context for span nesting */
tracingContext?: TracingContext;
}): Promise<StepResult<any, any, any, any>>;
evaluateConditions(params: {
workflowId: string;
step: Extract<StepFlowEntry, {
type: 'conditional';
}>;
runId: string;
input?: any;
resumeData?: any;
stepResults: Record<string, StepResult<any, any, any, any>>;
state: Record<string, any>;
requestContext: RequestContext;
retryCount?: number;
abortController?: AbortController;
}): Promise<number[]>;
evaluateCondition({ workflowId, condition, runId, inputData, resumeData, stepResults, state, requestContext, abortController, retryCount, iterationCount, }: {
workflowId: string;
condition: LoopConditionFunction<any, any, any, any, any, any>;
runId: string;
inputData?: any;
resumeData?: any;
stepResults: Record<string, StepResult<any, any, any, any>>;
state: Record<string, any>;
requestContext: RequestContext;
abortController: AbortController;
retryCount?: number;
iterationCount: number;
}): Promise<boolean>;
resolveSleep(params: {
workflowId: string;
step: Extract<StepFlowEntry, {
type: 'sleep';
}>;
runId: string;
input?: any;
resumeData?: any;
stepResults: Record<string, StepResult<any, any, any, any>>;
state?: Record<string, any>;
requestContext: RequestContext;
retryCount?: number;
abortController?: AbortController;
}): Promise<number>;
resolveSleepUntil(params: {
workflowId: string;
step: Extract<StepFlowEntry, {
type: 'sleepUntil';
}>;
runId: string;
input?: any;
resumeData?: any;
stepResults: Record<string, StepResult<any, any, any, any>>;
state?: Record<string, any>;
requestContext: RequestContext;
retryCount?: number;
abortController?: AbortController;
}): Promise<number>;
}
//# sourceMappingURL=step-executor.d.ts.map