跳至主要內容

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 的最終結果