Mastra.addDynamicWorkflows()
beta
动态 Workflow 目前处于 beta 阶段。在 API 稳定之前,可能会出现不伴随主版本号升级的破坏性变更。
.addDynamicWorkflows() 方法添加一组可相互引用的动态 Workflow 定义。典型场景是添加一个根 Workflow 及其嵌套的辅助 Workflow,并且这些定义均尚不存在。
系统会预先验证整组定义,随后按依赖顺序注册各成员,确保辅助 Workflow 始终先于嵌套它的 Workflow 就绪。
addDynamicWorkflow() 适用于单个成员的情况。
使用示例使用示例的直接链接
await mastra.addDynamicWorkflows([
helperDefinition, // nested by the root — order in the array doesn't matter
rootDefinition, // graph contains { type: 'workflow', workflowId: helperDefinition.id }
])
参数参数的直接链接
defs:
readonly DynamicWorkflowGraph[]
要添加的 Workflow 定义。嵌套 Workflow 引用可从实时注册表或同组的其他成员中解析。
返回值返回值的直接链接
所有成员完成验证、注册和持久化后兑现的 Promise。
行为行为的直接链接
- 引用会从实例注册表与该组自身 ID 的并集中解析,因此根 Workflow 可以嵌套同一次调用中引入的辅助 Workflow。注册顺序由依赖 graph 决定,而不是数组顺序。
- 被拒绝的定义组不会注册任何内容。重复 ID、无效成员和依赖循环都会在更改任何内容前被检测出来;如果注册或持久化途中失败,内存注册表会恢复到之前的状态。
- Storage 写入最后执行。处理中途发生 Storage 层故障时,可能已有部分行写入,但注册表仍会回滚,这些孤立行在下次启动前不会生效。
相关内容相关内容的直接链接
- Mastra.addDynamicWorkflow(): 添加单个定义
- 动态 Workflow: 设置和使用动态 Workflow
- 动态 Workflow 定义: 定义字段和 graph 条目