WorkflowSnapshotToStream()
변환합니다WorkflowState객체(에 의해 반환됨)workflow.getWorkflowRunById())로ReadableStreamAI SDK UIMessage 데이터 부분. 스트림에는 동일한 내용이 포함되어 있습니다.WorkflowDataPart그리고WorkflowStepDataPart살아있는 덩어리workflowRoute()생산합니다.
라이브 Workflow 스트림을 렌더링하는 동일한 UI 구성 요소를 사용하여 완료되거나 일시 중단된 Workflow 실행을 표시하려는 경우 이를 사용합니다.
사용예사용예에 대한 직접 링크
과거 Workflow 실행을 스트림으로 재생하는 Next.js 앱 라우터 엔드포인트:
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 실행 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 형식으로 변환