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 的 metadata。適合用來加入自訂屬性,例如使用者 ID、工作階段 ID 或功能旗標。
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 的 tag。這些字串標籤用於分類和篩選 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 的最終結果