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 參照可從即時 registry 或同組的其他成員中解析。
傳回值「傳回值」的直接連結
所有成員完成驗證、註冊和持久儲存後,此 Promise 便會 resolve。
行為「行為」的直接連結
- 參照會從執行個體 registry 與該組自身 ID 的聯集中解析,因此根 Workflow 可以巢狀同一次呼叫中引入的輔助 Workflow。註冊順序由相依 graph 決定,而不是陣列順序。
- 被拒絕的定義組不會註冊任何內容。重複 ID、無效成員和相依循環都會在變更任何內容前被偵測出來;如果註冊或持久儲存途中失敗,記憶體 registry 會復原到先前的狀態。
- Storage 寫入最後執行。處理中途發生 Storage 層故障時,可能已有部分資料列寫入,但 registry 仍會復原,這些孤立資料列在下次啟動前不會生效。
相關內容「相關內容」的直接連結
- Mastra.addDynamicWorkflow(): 新增單一定義
- 動態 Workflow: 設定和使用動態 Workflow
- 動態 Workflow 定義: 定義欄位和 graph 項目