メインコンテンツへ移動

handleWorkflowStream()

AI SDK 互換形式で Workflow の実行をストリーミングする、フレームワークに依存しないハンドラーです。Hono または Mastra 独自の apiRoutes 機能の外部で Workflow のストリーミングを処理する必要がある場合は、この関数を直接使用します。

handleWorkflowStream() は、createUIMessageStreamResponse() でラップできる ReadableStream を返します。

handleWorkflowStream() は、既存の AI SDK v5/デフォルトの動作を維持します。アプリが AI SDK v6 の型を使用している場合は、version: 'v6' を渡します。

Mastra サーバー内に Workflow ルートを作成する場合は、workflowRoute() を使用してください。

Workflow 内での Agent ストリーミング

Workflow のステップが Agent のストリームを Workflow の writer にパイプすると(例: await response.fullStream.pipeTo(writer))、Agent が Workflow のステップ内で実行されている場合でも、そのテキストチャンクと Tool 呼び出しがリアルタイムで UI ストリームに転送されます。

詳細は、Workflow のストリーミングを参照してください。

使用例
使用例への直接リンク

Next.js App Router の例:

app/api/workflow/route.ts
import { handleWorkflowStream } from '@mastra/ai-sdk'
import { createUIMessageStreamResponse } from 'ai'
import { mastra } from '@/src/mastra'

export async function POST(req: Request) {
const params = await req.json()
const stream = await handleWorkflowStream({
mastra,
workflowId: 'weatherWorkflow',
params,
})
return createUIMessageStreamResponse({ stream })
}

パラメーター
パラメーターへの直接リンク

version?:

'v5' | 'v6'
= 'v5'
出力する AI SDK ストリームコントラクトを選択します。既存のデフォルト動作を使用するには、省略するか 'v5' を渡します。アプリが AI SDK v6 のレスポンスヘルパーの型を使用している場合は、'v6' を渡します。

mastra:

Mastra
登録済みの Workflow を含む Mastra インスタンス。

workflowId:

string
実行する Workflow の ID。

params:

WorkflowStreamHandlerParams
Workflow ストリームのパラメーター。

params.runId?:

string
Workflow 実行の任意の実行 ID。

params.resourceId?:

string
Workflow 実行の任意のリソース ID。

params.inputData?:

Record<string, any>
新しい Workflow の実行を開始するための入力データ。

params.resumeData?:

Record<string, any>
中断された Workflow の実行を再開するためのデータ。

params.requestContext?:

RequestContext
Workflow の実行に渡すリクエストコンテキスト。

params.tracingOptions?:

TracingOptions
トレーシングとオブザーバビリティのオプション。

params.step?:

string
Workflow 内で対象とする特定のステップ。

includeTextStreamParts?:

boolean
= true
出力にテキストストリームパートを含めるかどうか。