Run.resumeStream()
.resumeStream() 方法使用新数据恢复已暂停的 Workflow 运行,使你可以从特定步骤继续执行并观察事件 Stream。
用法示例用法示例的直接链接
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 键。支持使用点号表示法访问嵌套值(例如 'user.id')。
traceId?:
string
本次执行使用的 Trace ID(1–32 个十六进制字符)。如果提供,该 Trace 将成为指定 Trace 的一部分。
parentSpanId?:
string
本次执行使用的父 span ID(1–16 个十六进制字符)。如果提供,将创建根 span 作为该 span 的子 span。
tags?:
string[]
要应用到此 Trace 的标签。用于对 Trace 进行分类和筛选的字符串标签。
返回值返回值的直接链接
stream:
MastraWorkflowStream<ChunkType>
扩展 ReadableStream<ChunkType> 并添加 Workflow 专用属性的自定义 Stream
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
Stream 事件Stream 事件的直接链接
Stream 会在 Workflow 执行期间发出不同类型的事件。每个事件都有一个 type 字段,以及一个包含相关数据的 payload:
workflow-start:Workflow 开始执行workflow-step-start:步骤开始执行workflow-step-output:步骤的自定义输出workflow-step-result:步骤完成并产生结果workflow-finish:Workflow 执行完成,并附带用量统计信息。对于成功的运行,payload.finalWorkflowResult包含 Workflow 的最终结果