workflowSnapshotToStream()
Convertit un objet WorkflowState (renvoyé par workflow.getWorkflowRunById()) en ReadableStream de parties de données UIMessage de l’AI SDK. Le flux contient les mêmes fragments WorkflowDataPart et WorkflowStepDataPart que produit workflowRoute() en direct.
Utilisez cette fonction pour afficher une exécution de Workflow terminée ou suspendue avec les mêmes composants d’interface qui affichent les flux de Workflow en direct.
Exemple d’utilisationLien direct vers Exemple d’utilisation
Point de terminaison Next.js App Router qui rejoue une exécution antérieure de Workflow sous forme de flux :
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 })
}
ParamètresLien direct vers Paramètres
workflowRun:
WorkflowState
Objet d’état de l’exécution de Workflow, renvoyé par
getWorkflowRunById() ou l’API d’exécutions de Workflow. Contient runId, workflowName, status et steps.Valeur renvoyéeLien direct vers Valeur renvoyée
ReadableStream : flux de parties de données UIMessage de l’AI SDK contenant :
- Un marqueur
start - Un
WorkflowDataPartavec le statut du Workflow et les résumés de toutes les étapes - Un
WorkflowStepDataPartpour chaque étape avec sa sortie complète - Un marqueur
finish
Transmettez ce flux à createUIMessageStreamResponse() ou à createUIMessageStream() de l’AI SDK.
Voir aussiLien direct vers Voir aussi
workflowRoute(): Diffuser les exécutions de Workflow en directhandleWorkflowStream(): Gestionnaire indépendant du framework pour le streaming de Workflow en directtoAISdkStream(): Convertir les flux Mastra en direct au format AI SDKtoAISdkMessages(): Convertir les messages d’Agent stockés au format AI SDK