> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # Workflow 상태 리더 Workflow 상태 판독기 도우미가 공개를 검사합니다.`WorkflowState`에 의해 반환됨`workflow.getWorkflowRunById()`. 이를 사용하여 일시 중단된 실행을 복구하고 이력서 레이블을 검사합니다. 또한 원시 Workflow 스냅샷을 구문 분석하지 않고 단계 페이로드 또는 출력을 읽습니다. ## 사용예 ```typescript 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)` 하나에 바인딩된 메소드를 사용하여 판독기 객체를 생성합니다.`WorkflowState`. ```typescript const reader = createWorkflowStateReader(state) const suspendedStep = reader.getSuspendedStep() ``` ### `getWorkflowStepOutput(state, stepId)` `parent.child`와 같은 중첩된 Workflow 점 경로를 포함하여 단계 ID의 출력을 반환합니다. `foreach` 단계에서는 반복마다 하나의 항목을 반환합니다. 중단된 반복에는 `undefined` 출력 항목이 있을 수 있습니다. ```typescript const output = getWorkflowStepOutput(state, 'extract-data') ``` ### `getWorkflowStepPayload(state, stepId)` 단계에 전달된 페이로드를 반환합니다. `foreach` 단계에서는 반복마다 하나의 항목을 반환합니다. ```typescript const payload = getWorkflowStepPayload(state, 'extract-data') ``` ### `getWorkflowSuspendedStep(state)` Workflow 상태에서 첫 번째 일시 중단된 단계를 반환합니다. 여러 단계가 일시 중단되면 순서는 다음에 저장된 순서를 따릅니다.`suspendedPaths`. ```typescript const suspendedStep = getWorkflowSuspendedStep(state) ``` ### `getWorkflowSuspendedSteps(state)` Workflow 상태에서 일시 중단된 모든 단계를 반환합니다. 각 결과에는 최상위 단계 ID, 재개 경로, 실행 경로, 페이로드 일시중단, 출력 일시중단 및 일치하는 이력서 라벨이 포함됩니다. ```typescript const suspendedSteps = getWorkflowSuspendedSteps(state) ``` ### `getWorkflowResumeLabel(state, label)` 이력서 라벨을 이름별로 반환합니다. ```typescript const label = getWorkflowResumeLabel(state, 'approve') ``` ### `getWorkflowResumeLabels(state)` Workflow 상태에서 모든 이력서 레이블을 반환합니다. ```typescript const labels = getWorkflowResumeLabels(state) ``` ## 리더 방법 `createWorkflowStateReader(state)`다음 메서드를 반환합니다. **getStatus** (`() => WorkflowRunStatus`): Workflow 실행 상태를 반환합니다. **getResult** (`() => WorkflowState["result"]`): 최종 Workflow 결과가 있으면 반환합니다. **getError** (`() => WorkflowState["error"]`): 최종 Workflow 오류가 있으면 반환합니다. **getStepOutput** (`(stepId: string) => any | Array | undefined`): 단계 ID 또는 중첩된 Workflow 점 경로의 출력을 반환합니다. **getStepPayload** (`(stepId: string) => any | Array | undefined`): 단계 ID 또는 중첩된 Workflow 점 경로의 페이로드를 반환합니다. **getSuspendedStep** (`() => { stepId: string; path: string[]; executionPath?: number[]; step?: NonNullable[string]; payload?: any; suspendPayload?: any; suspendOutput?: any; resumeLabels: Record } | undefined`): 중단된 첫 번째 단계를 반환합니다. **getSuspendedSteps** (`() => Array<{ stepId: string; path: string[]; executionPath?: number[]; step?: NonNullable[string]; payload?: any; suspendPayload?: any; suspendOutput?: any; resumeLabels: Record }>`): 중단된 모든 단계를 반환합니다. **getResumeLabel** (`(label: string) => { stepId: string; foreachIndex?: number } | undefined`): 이름으로 재개 레이블을 반환합니다. **getResumeLabels** (`() => Record`): 모든 재개 레이블을 반환합니다. ## 메모 `requestContext`와 `tracingContext`는 `fields`로 명시적으로 요청한 경우에만 `workflow.getWorkflowRunById()`에서 반환됩니다. ## 관련된 - [일시중지 및 재개](https://mastra.zisheng.pro/ko/docs/workflows/suspend-and-resume) - [스냅샷](https://mastra.zisheng.pro/ko/docs/workflows/snapshots) - [Workflow 수업](https://mastra.zisheng.pro/ko/reference/workflows/workflow)