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
出力にテキストストリームパートを含めるかどうか。