Workflow.map()
.map() メソッドは、前のステップの出力データを後続ステップの入力へマッピングし、ステップ間でデータを変換できるようにします。
使用例使用例への直接リンク
workflow.map(async ({ inputData }) => `${inputData.value} - map`)
パラメーターパラメーターへの直接リンク
mappingFunction:
戻り値戻り値への直接リンク
workflow:
inputData を使用するusing-inputdataへの直接リンク
前のステップの出力全体にアクセスするには、inputData を使用します。
.then(step1)
.map(({ inputData }) => {
console.log(inputData);
})
getStepResult() を使用するusing-getstepresultへの直接リンク
ステップのインスタンスを参照し、そのステップの出力全体にアクセスするには、getStepResult() を使用します。
.then(step1)
.map(async ({ getStepResult }) => {
console.log(getStepResult(step1));
})
getInitData() を使用するusing-getinitdataへの直接リンク
Workflow に渡された初期入力データへアクセスするには、getInitData<typeof workflow>() を使用します。
.then(step1)
.map(async ({ getInitData }) => {
console.log(getInitData<any>());
})
mapVariable() を使用するusing-mapvariableへの直接リンク
.map() のオブジェクト形式は、フィールドをマッピングするための宣言的な代替構文です。関数を記述する代わりに、各キーを新しいフィールド名とし、各値で mapVariable() を使用して前のステップまたは Workflow の入力からデータを抽出するオブジェクトを定義します。
workflows モジュールから mapVariable() をインポートします。
import { mapVariable } from '@mastra/core/workflows'
ステップの出力からフィールドを抽出するステップの出力からフィールドを抽出するへの直接リンク
ステップの出力から特定のフィールドを抽出し、新しいフィールド名にマッピングするには、step とともに mapVariable() を使用します。path パラメーターで抽出するフィールドを指定します。
この例では、step1 の出力から value フィールドを抽出し、details という新しいフィールドへマッピングしています。
.then(step1)
.map({
details: mapVariable({
step: step1,
path: "value"
})
})
Workflow の入力からフィールドを抽出するWorkflow の入力からフィールドを抽出するへの直接リンク
Workflow の初期入力データから特定のフィールドを抽出するには、initData とともに mapVariable() を使用します。元の Workflow 入力を後のステップへ渡す必要がある場合に役立ちます。
この例では、Workflow の入力から value フィールドを抽出し、details というフィールドへマッピングしています。
export const testWorkflow = createWorkflow({...});
testWorkflow
.then(step1)
.map({
details: mapVariable({
initData: testWorkflow,
path: "value"
})
})