Skip to Content

ワークフローAPI

ワークフローAPIは、Mastraの自動化されたワークフローを操作および実行するためのメソッドを提供します。

Mastraクライアントの初期化

import { MastraClient } from "@mastra/client-js"; const client = new MastraClient();

すべてのワークフローの取得

利用可能なすべてのワークフローのリストを取得します:

const workflows = await client.getWorkflows();

特定のワークフローの操作

const名で定義された特定のワークフローのインスタンスを取得します:

src/mastra/workflows/test-workflow.ts
export const testWorkflow = createWorkflow({ id: 'city-workflow' })
const workflow = client.getWorkflow("testWorkflow");

Workflow Methods

Get Workflow Details

ワークフローの詳細情報を取得します:

const details = await workflow.details();

Start workflow run asynchronously

inputDataでワークフロー実行を開始し、完全な実行結果を待機します:

const run = await workflow.createRun(); const result = await workflow.startAsync({ runId: run.runId, inputData: { city: "New York", }, });

Resume Workflow run asynchronously

中断されたワークフローステップを再開し、完全な実行結果を待機します:

const run = await workflow.createRun(); const result = await workflow.resumeAsync({ runId: run.runId, step: "step-id", resumeData: { key: "value" }, });

Watch Workflow

ワークフローの遷移を監視します:

try { const workflow = client.getWorkflow("testWorkflow"); const run = await workflow.createRun(); workflow.watch({ runId: run.runId }, (record) => { console.log(record); }); const result = await workflow.start({ runId: run.runId, inputData: { city: "New York", }, }); } catch (e) { console.error(e); }

Resume Workflow

ワークフロー実行を再開し、ワークフローステップの遷移を監視します:

try { const workflow = client.getWorkflow("testWorkflow"); const run = await workflow.createRun({ runId: prevRunId }); workflow.watch({ runId: run.runId }, (record) => { console.log(record); }); workflow.resume({ runId: run.runId, step: "step-id", resumeData: { key: "value" }, }); } catch (e) { console.error(e); }

Get Workflow Run result

ワークフロー実行の結果を取得します:

try { const workflow = client.getWorkflow("testWorkflow"); const run = await workflow.createRun(); // start the workflow run const startResult = await workflow.start({ runId: run.runId, inputData: { city: "New York", }, }); const result = await workflow.runExecutionResult(run.runId); console.log(result); } catch (e) { console.error(e); }

これは長時間実行されるワークフローを扱う際に便利です。ワークフロー実行の結果をポーリングするために使用できます。

Workflow run result

ワークフロー実行結果は以下を返します:

FieldTypeDescription
payload{currentStep?: {id: string, status: string, output?: Record<string, any>, payload?: Record<string, any>}, workflowState: {status: string, steps: Record<string, {status: string, output?: Record<string, any>, payload?: Record<string, any>}>}}実行の現在のステップとワークフロー状態
eventTimestampDateイベントのタイムスタンプ
runIdstringこのワークフロー実行インスタンスの一意識別子