Workflow Class
Workflow
クラスは、条件分岐とデータ検証を伴う複雑な操作シーケンスのステートマシンを作成することができます。
使用例
src/mastra/workflows/test-workflow.ts
import { createWorkflow } from "@mastra/core/workflows";
import { z } from "zod";
export const workflow = createWorkflow({
id: "test-workflow",
inputSchema: z.object({
value: z.string(),
}),
outputSchema: z.object({
value: z.string(),
})
})
コンストラクタパラメータ
id:
string
ワークフローの一意識別子
inputSchema:
z.ZodType<any>
ワークフローの入力構造を定義するZodスキーマ
outputSchema:
z.ZodType<any>
ワークフローの出力構造を定義するZodスキーマ
ワークフローステータス
ワークフローのstatus
は、現在の実行状態を示します。可能な値は以下の通りです:
success:
string
すべてのステップが正常に実行完了し、有効な結果が出力されている
failed:
string
ワークフローの実行中にエラーが発生し、エラーの詳細情報が利用可能
suspended:
string
ワークフローの実行が再開待ちで一時停止中、中断されたステップの情報を保持
拡張使用例
src/test-run.ts
import { mastra } from "./mastra";
const run = await mastra.getWorkflow("workflow").createRunAsync();
const result = await run.start({...});
if (result.status === "suspended") {
const resumedResult = await run.resume({...});
}