@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
73 lines (46 loc) • 3.28 kB
Markdown
# Run.resumeStream()
The `.resumeStream()` 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
```typescript
const run = await workflow.createRun()
const stream = run.stream({
inputData: {
value: 'initial data',
},
})
const result = await stream.result
if (result!.status === 'suspended') {
const resumedStream = await run.resumeStream({
resumeData: {
value: 'resume data',
},
})
}
```
## Parameters
**resumeData** (`z.infer<TInput>`): Input data that matches the workflow's input schema
**requestContext** (`RequestContext`): Request Context data to use during workflow execution
**step** (`Step<string, any, any, any, any, TEngineType>`): The step to resume execution from
**forEachIndex** (`number`): Target a specific iteration of a suspended \`.foreach()\` step. Pass the zero-based index of the iteration to resume; other iterations remain suspended. Omit to resume all suspended iterations of the step with the same \`resumeData\`.
**tracingOptions** (`TracingOptions`): Options for Tracing configuration.
**tracingOptions.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.
**tracingOptions.requestContextKeys** (`string[]`): Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').
**tracingOptions.traceId** (`string`): Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.
**tracingOptions.parentSpanId** (`string`): Parent span ID to use for this execution (1-16 hexadecimal characters). If provided, the root span will be created as a child of this span.
**tracingOptions.tags** (`string[]`): Tags to apply to this trace. String labels for categorizing and filtering traces.
## 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
## Related
- [Workflows overview](https://mastra.ai/docs/workflows/overview)
- [Workflow.createRun()](https://mastra.ai/reference/workflows/workflow-methods/create-run)
- [Run.stream()](https://mastra.ai/reference/streaming/workflows/stream)