Aller au contenu principal

handleWorkflowStream()

Gestionnaire indépendant du framework permettant de diffuser l’exécution d’un Workflow dans un format compatible avec AI SDK. Utilisez directement cette fonction lorsque vous devez gérer la diffusion d’un Workflow en dehors de Hono ou de la fonctionnalité apiRoutes de Mastra.

handleWorkflowStream() renvoie un ReadableStream que vous pouvez encapsuler avec createUIMessageStreamResponse().

handleWorkflowStream() conserve le comportement par défaut existant d’AI SDK v5. Si votre application est typée pour AI SDK v6, transmettez version: 'v6'.

Utilisez workflowRoute() si vous souhaitez créer une route de Workflow dans un serveur Mastra.

Streaming d’Agent dans les Workflows

Lorsqu’une étape de Workflow transmet le flux d’un Agent au writer du Workflow, par exemple avec await response.fullStream.pipeTo(writer), les fragments de texte et les appels de Tools de l’Agent sont transférés en temps réel au flux de l’interface utilisateur, même si l’Agent s’exécute au sein d’étapes de Workflow.

Consultez Streaming des Workflows pour en savoir plus.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

Exemple avec l’App Router de Next.js :

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 })
}

Paramètres
Lien direct vers Paramètres

version?:

'v5' | 'v6'
= 'v5'
Sélectionne le contrat de flux AI SDK à émettre. Omettez ce paramètre ou transmettez 'v5' pour conserver le comportement par défaut existant. Transmettez 'v6' lorsque votre application est typée pour les assistants de réponse d’AI SDK v6.

mastra:

Mastra
Instance Mastra contenant les Workflows enregistrés.

workflowId:

string
ID du Workflow à exécuter.

params:

WorkflowStreamHandlerParams
Paramètres du flux du Workflow.

params.runId?:

string
ID d’exécution facultatif pour l’exécution du Workflow.

params.resourceId?:

string
ID de ressource facultatif pour l’exécution du Workflow.

params.inputData?:

Record<string, any>
Données d’entrée permettant de démarrer une nouvelle exécution de Workflow.

params.resumeData?:

Record<string, any>
Données permettant de reprendre une exécution de Workflow suspendue.

params.requestContext?:

RequestContext
Contexte de requête à transmettre à l’exécution du Workflow.

params.tracingOptions?:

TracingOptions
Options de traçage et d’Observability.

params.step?:

string
Étape précise à cibler dans le Workflow.

includeTextStreamParts?:

boolean
= true
Indique si les segments de flux de texte doivent être inclus dans la sortie.