Run.resumeStream()
.resumeStream() 方法會使用新資料恢復已暫停的 Workflow 執行,讓你能從特定步驟繼續執行並觀察事件串流。
使用範例「使用範例」的直接連結
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',
},
})
}
參數「參數」的直接連結
resumeData?:
z.infer<TInput>
符合 Workflow 輸入 schema 的輸入資料
requestContext?:
RequestContext
Workflow 執行期間要使用的 Request Context 資料
step?:
Step<string, any, any, any, any, TEngineType>
要從哪個步驟恢復執行
forEachIndex?:
number
指定已暫停
.foreach() 步驟中的特定迭代。傳入從零開始的索引,即可恢復該次迭代;其他迭代會維持暫停。省略此參數則會使用相同的 resumeData,恢復該步驟所有已暫停的迭代。tracingOptions?:
TracingOptions
Tracing 設定選項。
metadata?:
Record<string, any>
要新增至根 Trace span 的中繼資料。適合加入使用者 ID、工作階段 ID 或功能旗標等自訂屬性。
requestContextKeys?:
string[]
要擷取為此 Trace 中繼資料的其他 RequestContext key。巢狀值支援點記法(例如 'user.id')。
traceId?:
string
此次執行要使用的 Trace ID(1 至 32 個十六進位字元)。若有提供,此 Trace 將成為指定 Trace 的一部分。
parentSpanId?:
string
此次執行要使用的父 span ID(1 至 16 個十六進位字元)。若有提供,根 span 將建立為此 span 的子項。
tags?:
string[]
要套用至此 Trace 的標籤。這些字串標籤可用於分類及篩選 Trace。
回傳值「回傳值」的直接連結
stream:
MastraWorkflowStream<ChunkType>
擴充 ReadableStream<ChunkType> 的自訂串流,並提供 Workflow 專用的其他屬性
stream.status:
Promise<RunStatus>
會解析為目前 Workflow 執行狀態的 Promise
stream.result:
Promise<WorkflowResult<TState, TOutput, TSteps>>
會解析為最終 Workflow 結果的 Promise
stream.usage:
Promise<{ inputTokens: number; outputTokens: number; totalTokens: number, reasoningTokens?: number, cacheInputTokens?: number }>
會解析為 token 用量統計資料的 Promise
串流事件「串流事件」的直接連結
串流會在 Workflow 執行期間輸出各種事件類型。每個事件都有 type 欄位,以及包含相關資料的 payload:
workflow-start:Workflow 開始執行workflow-step-start:步驟開始執行workflow-step-output:步驟的自訂輸出workflow-step-result:步驟執行完成並產生結果workflow-finish:Workflow 執行完成,並提供用量統計資料。若執行成功,payload.finalWorkflowResult會包含 Workflow 的最終結果