跳到主要内容
非官方简体中文翻译,内容版权归 Mastra 所有,遵循 Apache-2.0 许可。

Run.start()

The .start() method starts a workflow run with input data, allowing you to execute the workflow from the beginning.

Usage example
Usage example的直接链接

const run = await workflow.createRun()

const result = await run.start({
inputData: {
value: 'initial data',
},
})

Parameters
Parameters的直接链接

inputData?:

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

requestContext?:

RequestContext
Request Context data to use during workflow execution

outputWriter?:

(chunk: TOutput) => Promise<void>
Optional asynchronous function to handle output chunks as they are produced

tracingContext?:

TracingContext
Tracing context for creating child spans and adding metadata. Automatically injected when using Mastra's tracing system.

currentSpan?:

Span
Current span for creating child spans and adding metadata. Use this to create custom child spans or update span attributes during execution.

tracingOptions?:

TracingOptions
Options for Tracing configuration.

rootSpanName?:

string
Display name for the root span of this trace, replacing the default workflow run: '<id>' or agent run: '<id>' name. Use it to tell runs apart in trace lists.

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.

requestContextKeys?:

string[]
Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').

traceId?:

string
Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.

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.

nestUnderParent?:

boolean
Set to true together with parentSpanId to attach this run as a child of that span inside the existing trace, for example an LLM judge under the run it scores. Exporters then keep the trace's own name, input, output, and tags. Leave unset when parentSpanId comes from your own tracing system. Ignored without a valid traceId and parentSpanId.

tags?:

string[]
Tags to apply to this trace. String labels for categorizing and filtering traces.

outputOptions?:

OutputOptions
Options for output configuration.

includeState?:

boolean
Whether to include the workflow run state in the result.

Returns
Returns的直接链接

result:

Promise<WorkflowResult<TState, TOutput, TSteps>>
A promise that resolves to the workflow execution result containing step outputs and status

traceId?:

string
The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.

spanId?:

string
The root span ID associated with this execution when Tracing is enabled. Use this for span-level lookup and correlation.

Extended usage example
Extended usage example的直接链接

import { RequestContext } from '@mastra/core/request-context'

const run = await workflow.createRun()

const requestContext = new RequestContext()
requestContext.set('variable', false)

const result = await run.start({
inputData: {
value: 'initial data',
},
requestContext,
})