workflowSnapshotToStream()
WorkflowState オブジェクト(workflow.getWorkflowRunById() が返す形式)を、AI SDK UIMessage データパーツの ReadableStream に変換します。このストリームには、実行中の workflowRoute() が生成するものと同じ WorkflowDataPart および WorkflowStepDataPart チャンクが含まれます。
完了または一時停止した Workflow の実行を、実行中の Workflow ストリームをレンダリングするものと同じ UI コンポーネントで表示する場合に使用します。
使用例使用例への直接リンク
過去の Workflow の実行をストリームとして再生する Next.js App Router エンドポイントの例です。
app/api/workflow-replay/route.ts
import { workflowSnapshotToStream } from '@mastra/ai-sdk'
import { createUIMessageStreamResponse } from 'ai'
import { mastra } from '@/src/mastra'
export async function GET(req: Request) {
const { searchParams } = new URL(req.url)
const runId = searchParams.get('runId')!
const workflowRun = await mastra.getWorkflow('myWorkflow').getWorkflowRunById(runId)
if (!workflowRun) {
return new Response('Not found', { status: 404 })
}
const stream = workflowSnapshotToStream(workflowRun)
return createUIMessageStreamResponse({ stream })
}
パラメーターパラメーターへの直接リンク
workflowRun:
WorkflowState
getWorkflowRunById() または Workflow Runs API が返す Workflow の実行状態オブジェクト。runId、workflowName、status、steps が含まれます。戻り値戻り値への直接リンク
ReadableStream: 次の AI SDK UIMessage データパーツを含むストリーム。
startマーカー- Workflow のステータスと全ステップの概要を持つ
WorkflowDataPart - 各ステップの完全な出力を持つ
WorkflowStepDataPart finishマーカー
このストリームを、AI SDK の createUIMessageStreamResponse() または createUIMessageStream() に渡します。
関連項目関連項目への直接リンク
workflowRoute(): 実行中の Workflow をストリーミングhandleWorkflowStream(): 実行中の Workflow をストリーミングする、フレームワークに依存しないハンドラーtoAISdkStream(): 実行中の Mastra ストリームを AI SDK 形式に変換toAISdkMessages(): 保存済みの Agent メッセージを AI SDK 形式に変換