Lecteur d’état de Workflow
Les assistants de lecture d’état de Workflow inspectent le WorkflowState public renvoyé par workflow.getWorkflowRunById(). Utilisez-les pour récupérer des exécutions suspendues et inspecter les libellés de reprise. Ils lisent également les payloads ou les sorties d’étapes sans analyser les instantanés bruts de Workflow.
Exemple d’utilisationLien direct vers Exemple d’utilisation
import { createWorkflowStateReader } from '@mastra/core/workflows'
const state = await workflow.getWorkflowRunById('run-123')
if (state) {
const reader = createWorkflowStateReader(state)
const suspendedStep = reader.getSuspendedStep()
const labels = reader.getResumeLabels()
console.log(reader.getStatus())
console.log(reader.getStepOutput('extract-data'))
console.log(suspendedStep?.path)
console.log(labels.approve)
}
FonctionsLien direct vers Fonctions
createWorkflowStateReader(state)Lien direct vers createworkflowstatereaderstate
Crée un objet lecteur avec des méthodes liées à un WorkflowState.
const reader = createWorkflowStateReader(state)
const suspendedStep = reader.getSuspendedStep()
getWorkflowStepOutput(state, stepId)Lien direct vers getworkflowstepoutputstate-stepid
Renvoie la sortie pour un ID d’étape, y compris les chemins par points de Workflows imbriqués tels que parent.child. Pour les étapes foreach, renvoie une entrée par itération. Les itérations suspendues peuvent avoir des entrées de sortie undefined.
const output = getWorkflowStepOutput(state, 'extract-data')
getWorkflowStepPayload(state, stepId)Lien direct vers getworkflowsteppayloadstate-stepid
Renvoie le payload transmis à une étape. Pour les étapes foreach, renvoie une entrée par itération.
const payload = getWorkflowStepPayload(state, 'extract-data')
getWorkflowSuspendedStep(state)Lien direct vers getworkflowsuspendedstepstate
Renvoie la première étape suspendue depuis l’état du Workflow. Lorsque plusieurs étapes sont suspendues, l’ordre suit celui stocké dans suspendedPaths.
const suspendedStep = getWorkflowSuspendedStep(state)
getWorkflowSuspendedSteps(state)Lien direct vers getworkflowsuspendedstepsstate
Renvoie toutes les étapes suspendues depuis l’état du Workflow. Chaque résultat inclut l’ID d’étape de premier niveau, le chemin de reprise, le chemin d’exécution, le payload de suspension, la sortie de suspension et les libellés de reprise correspondants.
const suspendedSteps = getWorkflowSuspendedSteps(state)
getWorkflowResumeLabel(state, label)Lien direct vers getworkflowresumelabelstate-label
Renvoie un libellé de reprise par nom.
const label = getWorkflowResumeLabel(state, 'approve')
getWorkflowResumeLabels(state)Lien direct vers getworkflowresumelabelsstate
Renvoie tous les libellés de reprise depuis l’état du Workflow.
const labels = getWorkflowResumeLabels(state)
Méthodes du lecteurLien direct vers Méthodes du lecteur
createWorkflowStateReader(state) renvoie les méthodes suivantes :
getStatus:
getResult:
getError:
getStepOutput:
getStepPayload:
getSuspendedStep:
getSuspendedSteps:
getResumeLabel:
getResumeLabels:
RemarquesLien direct vers Remarques
requestContext et tracingContext ne sont renvoyés par workflow.getWorkflowRunById() que lorsqu’ils sont explicitement demandés avec fields.