본문으로 건너뛰기

Workflow 상태 리더

Workflow 상태 판독기 도우미가 공개를 검사합니다.WorkflowState에 의해 반환됨workflow.getWorkflowRunById(). 이를 사용하여 일시 중단된 실행을 복구하고 이력서 레이블을 검사합니다. 또한 원시 Workflow 스냅샷을 구문 분석하지 않고 단계 페이로드 또는 출력을 읽습니다.

사용예
사용예에 대한 직접 링크

src/mastra/workflows/recover-run.ts
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)
}

기능
기능에 대한 직접 링크

createWorkflowStateReader(state)
createworkflowstatereaderstate에 대한 직접 링크

하나에 바인딩된 메소드를 사용하여 판독기 객체를 생성합니다.WorkflowState.

const reader = createWorkflowStateReader(state)
const suspendedStep = reader.getSuspendedStep()

getWorkflowStepOutput(state, stepId)
getworkflowstepoutputstate-stepid에 대한 직접 링크

parent.child와 같은 중첩된 Workflow 점 경로를 포함하여 단계 ID의 출력을 반환합니다. foreach 단계에서는 반복마다 하나의 항목을 반환합니다. 중단된 반복에는 undefined 출력 항목이 있을 수 있습니다.

const output = getWorkflowStepOutput(state, 'extract-data')

getWorkflowStepPayload(state, stepId)
getworkflowsteppayloadstate-stepid에 대한 직접 링크

단계에 전달된 페이로드를 반환합니다. foreach 단계에서는 반복마다 하나의 항목을 반환합니다.

const payload = getWorkflowStepPayload(state, 'extract-data')

getWorkflowSuspendedStep(state)
getworkflowsuspendedstepstate에 대한 직접 링크

Workflow 상태에서 첫 번째 일시 중단된 단계를 반환합니다. 여러 단계가 일시 중단되면 순서는 다음에 저장된 순서를 따릅니다.suspendedPaths.

const suspendedStep = getWorkflowSuspendedStep(state)

getWorkflowSuspendedSteps(state)
getworkflowsuspendedstepsstate에 대한 직접 링크

Workflow 상태에서 일시 중단된 모든 단계를 반환합니다. 각 결과에는 최상위 단계 ID, 재개 경로, 실행 경로, 페이로드 일시중단, 출력 일시중단 및 일치하는 이력서 라벨이 포함됩니다.

const suspendedSteps = getWorkflowSuspendedSteps(state)

getWorkflowResumeLabel(state, label)
getworkflowresumelabelstate-label에 대한 직접 링크

이력서 라벨을 이름별로 반환합니다.

const label = getWorkflowResumeLabel(state, 'approve')

getWorkflowResumeLabels(state)
getworkflowresumelabelsstate에 대한 직접 링크

Workflow 상태에서 모든 이력서 레이블을 반환합니다.

const labels = getWorkflowResumeLabels(state)

리더 방법
리더 방법에 대한 직접 링크

createWorkflowStateReader(state)다음 메서드를 반환합니다.

getStatus:

() => WorkflowRunStatus
Workflow 실행 상태를 반환합니다.

getResult:

() => WorkflowState["result"]
최종 Workflow 결과가 있으면 반환합니다.

getError:

() => WorkflowState["error"]
최종 Workflow 오류가 있으면 반환합니다.

getStepOutput:

(stepId: string) => any | Array<any | undefined> | undefined
단계 ID 또는 중첩된 Workflow 점 경로의 출력을 반환합니다.

getStepPayload:

(stepId: string) => any | Array<any | undefined> | undefined
단계 ID 또는 중첩된 Workflow 점 경로의 페이로드를 반환합니다.

getSuspendedStep:

() => { stepId: string; path: string[]; executionPath?: number[]; step?: NonNullable<WorkflowState["steps"]>[string]; payload?: any; suspendPayload?: any; suspendOutput?: any; resumeLabels: Record<string, { stepId: string; foreachIndex?: number }> } | undefined
중단된 첫 번째 단계를 반환합니다.

getSuspendedSteps:

() => Array<{ stepId: string; path: string[]; executionPath?: number[]; step?: NonNullable<WorkflowState["steps"]>[string]; payload?: any; suspendPayload?: any; suspendOutput?: any; resumeLabels: Record<string, { stepId: string; foreachIndex?: number }> }>
중단된 모든 단계를 반환합니다.

getResumeLabel:

(label: string) => { stepId: string; foreachIndex?: number } | undefined
이름으로 재개 레이블을 반환합니다.

getResumeLabels:

() => Record<string, { stepId: string; foreachIndex?: number }>
모든 재개 레이블을 반환합니다.

메모
메모에 대한 직접 링크

requestContexttracingContextfields로 명시적으로 요청한 경우에만 workflow.getWorkflowRunById()에서 반환됩니다.