Aller au contenu principal

Run.resumeStream()

La méthode .resumeStream() reprend l'exécution suspendue d'un Workflow avec de nouvelles données. Vous pouvez ainsi poursuivre l'exécution à partir d'une étape précise et observer le flux d'événements.

Exemple d'utilisation
Lien direct vers Exemple d'utilisation

const run = await workflow.createRun()

const stream = run.stream({
inputData: {
value: 'initial data',
},
})

const result = await stream.result

if (result!.status === 'suspended') {
const resumedStream = await run.resumeStream({
resumeData: {
value: 'resume data',
},
})
}

Paramètres
Lien direct vers Paramètres

resumeData?:

z.infer<TInput>
Données d'entrée conformes au schéma d'entrée du Workflow

requestContext?:

RequestContext
Données du contexte de requête à utiliser pendant l'exécution du Workflow

step?:

Step<string, any, any, any, any, TEngineType>
Étape à partir de laquelle reprendre l'exécution

forEachIndex?:

number
Cible une itération précise d'une étape .foreach() suspendue. Indiquez l'index, à partir de zéro, de l'itération à reprendre ; les autres itérations restent suspendues. Omettez cette option pour reprendre toutes les itérations suspendues de l'étape avec les mêmes resumeData.

tracingOptions?:

TracingOptions
Options de configuration du Tracing.

metadata?:

Record<string, any>
Métadonnées à ajouter au span racine de la Trace. Utile pour ajouter des attributs personnalisés tels que des identifiants d'utilisateur ou de session, ou des indicateurs de fonctionnalité.

requestContextKeys?:

string[]
Clés RequestContext supplémentaires à extraire comme métadonnées de cette Trace. Accepte la notation par points pour les valeurs imbriquées (par exemple, 'user.id').

traceId?:

string
Identifiant de Trace à utiliser pour cette exécution (1 à 32 caractères hexadécimaux). S'il est fourni, cette Trace fera partie de la Trace indiquée.

parentSpanId?:

string
Identifiant du span parent à utiliser pour cette exécution (1 à 16 caractères hexadécimaux). S'il est fourni, le span racine sera créé comme enfant de ce span.

tags?:

string[]
Tags à appliquer à cette Trace. Étiquettes textuelles permettant de catégoriser et de filtrer les Traces.

Valeur renvoyée
Lien direct vers Valeur renvoyée

stream:

MastraWorkflowStream<ChunkType>
Flux personnalisé qui étend ReadableStream<ChunkType> avec des propriétés supplémentaires propres aux Workflows

stream.status:

Promise<RunStatus>
Promise résolue avec l'état actuel de l'exécution du Workflow

stream.result:

Promise<WorkflowResult<TState, TOutput, TSteps>>
Promise résolue avec le résultat final du Workflow

stream.usage:

Promise<{ inputTokens: number; outputTokens: number; totalTokens: number, reasoningTokens?: number, cacheInputTokens?: number }>
Promise résolue avec les statistiques d'utilisation des tokens

Événements du flux
Lien direct vers Événements du flux

Le flux émet différents types d'événements pendant l'exécution du Workflow. Chaque événement possède un champ type et un payload contenant les données pertinentes :

  • workflow-start : l'exécution du Workflow commence
  • workflow-step-start : l'exécution d'une étape commence
  • workflow-step-output : sortie personnalisée d'une étape
  • workflow-step-result : une étape se termine avec des résultats
  • workflow-finish : l'exécution du Workflow se termine avec les statistiques d'utilisation. Pour les exécutions réussies, payload.finalWorkflowResult contient le résultat final du Workflow