UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

74 lines (45 loc) 3.01 kB
# Run.start() The `.start()` method starts a workflow run with input data, allowing you to execute the workflow from the beginning. ## Usage example ```typescript const run = await workflow.createRun() const result = await run.start({ inputData: { value: 'initial data', }, }) ``` ## 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. **tracingContext.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. **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. **outputOptions** (`OutputOptions`): Options for output configuration. **outputOptions.includeState** (`boolean`): Whether to include the workflow run state in the result. ## 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 ```typescript 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, }) ``` ## Related - [Workflows overview](https://mastra.ai/docs/workflows/overview) - [Workflow.createRun()](https://mastra.ai/reference/workflows/workflow-methods/create-run)