Step Class
Stepクラスは、ワークフロー内の個々の作業単位を定義し、実行ロジック、データ検証、入出力処理をカプセル化します。 ツールまたはエージェントをパラメータとして受け取り、それらから自動的にステップを作成できます。
使用例
src/mastra/workflows/test-workflow.ts
import { createWorkflow, createStep } from "@mastra/core/workflows";
import { z } from "zod";
const step1 = createStep({
id: "step-1",
description: "入力値を出力に渡す",
inputSchema: z.object({
value: z.number()
}),
outputSchema: z.object({
value: z.number()
}),
execute: async ({ inputData }) => {
const { value } = inputData;
return {
value
};
}
});
コンストラクタパラメータ
id:
string
ステップの一意識別子
description:
string
ステップが何を行うかのオプション説明
inputSchema:
z.ZodType<any>
入力構造を定義するZodスキーマ
outputSchema:
z.ZodType<any>
出力構造を定義するZodスキーマ
resumeSchema:
z.ZodType<any>
ステップを再開するためのオプションZodスキーマ
suspendSchema:
z.ZodType<any>
ステップを一時停止するためのオプションZodスキーマ
execute:
(params: ExecuteParams) => Promise<any>
ステップロジックを含む非同期関数
ExecuteParams
inputData:
z.infer<TStepInput>
inputSchemaに一致する入力データ
resumeData:
z.infer<TResumeSchema>
一時停止状態からステップを再開する際のresumeSchemaに一致する再開データ。ステップが再開される場合のみ存在します。
mastra:
Mastra
Mastraサービス(エージェント、ツールなど)へのアクセス
getStepResult:
(stepId: string) => any
他のステップの結果にアクセスする関数
getInitData:
() => any
任意のステップでワークフローの初期入力データにアクセスする関数
suspend:
() => Promise<void>
ワークフロー実行を一時停止する関数
runId:
string
現在の実行ID
runtimeContext?:
RuntimeContext
依存性注入とコンテキスト情報のためのランタイムコンテキスト。
runCount?:
number
この特定のステップの実行回数。ステップが実行されるたびに自動的に増加します