Skip to main content

Run.resumeStreamVNext() (Experimental)

Experimental Feature

This is an experimental API that may change in future versions. The resumeStreamVNext() method is part of the enhanced streaming system that will eventually replace the current streaming methods. Use with caution in production environments.

The .resumeStreamVNext() method resumes a suspended workflow run with new data, allowing you to continue execution from a specific step and to observe the stream of events.

Usage example

const run = await workflow.createRunAsync();

const stream = run.streamVNext({
inputData: {
value: "initial data",
},
});

const result = await stream.result;

if (result!.status === "suspended") {
const resumedStream = await run.resumeStreamVNext({
resumeData: {
value: "resume data",
},
});
}

Parameters

resumeData?:

z.infer<TInput>
Input data that matches the workflow's input schema

runtimeContext?:

RuntimeContext
Runtime context data to use during workflow execution

step?:

Step<string, any, any, any, any, TEngineType>
The step to resume execution from

tracingOptions?:

TracingOptions
Options for AI tracing configuration.

metadata?:

Record<string, any>
Metadata to add to the root trace span. Useful for adding custom attributes like user IDs, session IDs, or feature flags.

Returns

stream:

MastraWorkflowStream<ChunkType>
A custom stream that extends ReadableStream<ChunkType> with additional workflow-specific properties

stream.status:

Promise<RunStatus>
A promise that resolves to the current workflow run status

stream.result:

Promise<WorkflowResult<TState, TOutput, TSteps>>
A promise that resolves to the final workflow result

stream.usage:

Promise<{ inputTokens: number; outputTokens: number; totalTokens: number, reasoningTokens?: number, cacheInputTokens?: number }>
A promise that resolves to token usage statistics

Stream Events

The stream emits various event types during workflow execution. Each event has a type field and a payload containing relevant data:

  • workflow-start: Workflow execution begins
  • workflow-step-start: A step begins execution
  • workflow-step-output: Custom output from a step
  • workflow-step-result: A step completes with results
  • workflow-finish: Workflow execution completes with usage statistics

On this page