跳至主要內容

Run.start()

.start() 方法會使用輸入資料從頭開始執行 Workflow。

使用範例
使用範例 的直接連結

const run = await workflow.createRun()

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

參數
參數 的直接連結

inputData?:

z.infer<TInput>
符合 Workflow 輸入 schema 的輸入資料

requestContext?:

RequestContext
執行 Workflow 時使用的 Request Context 資料

outputWriter?:

(chunk: TOutput) => Promise<void>
用於在輸出區塊產生時加以處理的可選非同步函式

tracingContext?:

TracingContext
用於建立子 span 及加入 metadata 的 Tracing context。使用 Mastra 的 tracing 系統時會自動注入。

currentSpan?:

Span
用於建立子 span 及加入 metadata 的目前 span。可用於建立自訂子 span,或在執行期間更新 span 屬性。

tracingOptions?:

TracingOptions
Tracing 設定選項。

metadata?:

Record<string, any>
加入根 trace span 的 metadata。適合用於加入自訂屬性,例如用戶 ID、session ID 或 feature flag。

requestContextKeys?:

string[]
額外擷取為此 trace metadata 的 RequestContext key。支援以點號標記法指定巢狀值(例如 'user.id')。

traceId?:

string
此執行使用的 Trace ID(1 至 32 個十六進制字元)。如有提供,此 trace 將會成為指定 trace 的一部分。

parentSpanId?:

string
此執行使用的父 span ID(1 至 16 個十六進制字元)。如有提供,根 span 將會建立為此 span 的子項。

tags?:

string[]
套用至此 trace 的標籤。這些字串標籤可用於分類及篩選 trace。

outputOptions?:

OutputOptions
輸出設定選項。

includeState?:

boolean
是否在結果中包含 Workflow 執行狀態。

傳回值
傳回值 的直接連結

result:

Promise<WorkflowResult<TState, TOutput, TSteps>>
解析為 Workflow 執行結果的 promise,當中包含步驟輸出及狀態

traceId?:

string
啟用 Tracing 時與此執行相關的 trace ID。可用於關聯日誌及偵錯執行流程。

spanId?:

string
啟用 Tracing 時與此執行相關的根 span ID。可用於 span 層級的查找及關聯。

延伸使用範例
延伸使用範例 的直接連結

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,
})