Mastra.addDynamicWorkflows()
beta
動態 Workflow 目前為測試版。在 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。登錄次序由依賴關係圖決定,而非陣列次序。
- 被拒絕的整組定義不會登錄任何內容。系統會在變更任何內容前偵測重複 ID、無效成員及循環依賴;如果登錄或持久保存途中失敗,記憶體內的登錄會還原至先前狀態。
- 最後才會寫入儲存空間。如果在處理整組定義期間發生儲存層級故障,部分資料列可能已寫入,但登錄仍會回復原狀,而這些孤立資料列在下次啟動前不會生效。
相關內容相關內容 的直接連結
- Mastra.addDynamicWorkflow():加入單一定義
- 動態 Workflow:設定及使用動態 Workflow
- 動態 Workflow 定義:定義欄位及關係圖項目