diff --git a/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx b/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx index 22ad4721..29548262 100644 --- a/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx +++ b/skyvern-frontend/src/routes/workflows/debugger/DebuggerRunOutput.tsx @@ -12,6 +12,7 @@ import { useWorkflowRunTimelineQuery } from "../hooks/useWorkflowRunTimelineQuer import { Status } from "@/api/types"; import { AutoResizingTextarea } from "@/components/AutoResizingTextarea/AutoResizingTextarea"; import { isTaskVariantBlock } from "../types/workflowTypes"; +import { statusIsAFailureType } from "@/routes/tasks/types"; function DebuggerRunOutput() { const { data: workflowRunTimeline, isLoading: workflowRunTimelineIsLoading } = @@ -49,6 +50,12 @@ function DebuggerRunOutput() { isTaskVariantBlock(activeBlock) && activeBlock.status === Status.Completed; + const showFailureReason = + activeBlock && + activeBlock.status !== null && + (statusIsAFailureType({ status: activeBlock.status }) || + activeBlock.status === Status.Canceled); + const outputs = workflowRun?.outputs; const fileUrls = workflowRun?.downloaded_file_urls ?? []; const observerOutput = workflowRun?.task_v2?.output; @@ -72,41 +79,36 @@ function DebuggerRunOutput() {

Block Outputs

- {activeBlock.output === null ? ( -
This block has no outputs
- ) : isTaskVariantBlock(activeBlock) ? ( + {showFailureReason ? (
-

- {showExtractedInformation - ? "Extracted Information" - : "Failure Reason"} -

- {showExtractedInformation ? ( - - ) : ( - - )} +

Failure Reason

+
- ) : ( + ) : showExtractedInformation ? ( +
+

Extracted Information

+ +
+ ) : activeBlock.output !== null ? (

Output

+ ) : ( +
This block has no outputs
)}
diff --git a/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunOutput.tsx b/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunOutput.tsx index 1a74dba7..6dce7f0d 100644 --- a/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunOutput.tsx +++ b/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunOutput.tsx @@ -12,6 +12,7 @@ import { useWorkflowRunTimelineQuery } from "../hooks/useWorkflowRunTimelineQuer import { Status } from "@/api/types"; import { AutoResizingTextarea } from "@/components/AutoResizingTextarea/AutoResizingTextarea"; import { isTaskVariantBlock } from "../types/workflowTypes"; +import { statusIsAFailureType } from "@/routes/tasks/types"; function WorkflowRunOutput() { const { data: workflowRunTimeline, isLoading: workflowRunTimelineIsLoading } = @@ -49,6 +50,12 @@ function WorkflowRunOutput() { isTaskVariantBlock(activeBlock) && activeBlock.status === Status.Completed; + const showFailureReason = + activeBlock && + activeBlock.status !== null && + (statusIsAFailureType({ status: activeBlock.status }) || + activeBlock.status === Status.Canceled); + const outputs = workflowRun?.outputs; const fileUrls = workflowRun?.downloaded_file_urls ?? []; const observerOutput = workflowRun?.task_v2?.output; @@ -72,41 +79,36 @@ function WorkflowRunOutput() {

Block Outputs

- {activeBlock.output === null ? ( -
This block has no outputs
- ) : isTaskVariantBlock(activeBlock) ? ( + {showFailureReason ? (
-

- {showExtractedInformation - ? "Extracted Information" - : "Failure Reason"} -

- {showExtractedInformation ? ( - - ) : ( - - )} +

Failure Reason

+
- ) : ( + ) : showExtractedInformation ? ( +
+

Extracted Information

+ +
+ ) : activeBlock.output !== null ? (

Output

+ ) : ( +
This block has no outputs
)}
diff --git a/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunTimelineItemInfoSection.tsx b/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunTimelineItemInfoSection.tsx index 6ad05da3..c0747e5b 100644 --- a/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunTimelineItemInfoSection.tsx +++ b/skyvern-frontend/src/routes/workflows/workflowRun/WorkflowRunTimelineItemInfoSection.tsx @@ -57,7 +57,9 @@ function WorkflowRunTimelineItemInfoSection({ activeItem }: Props) { if (isWorkflowRunBlock(item)) { const showExtractedInformationTab = item.status === Status.Completed; const showFailureReasonTab = - item.status && statusIsAFailureType({ status: item.status }); + item.status && + (statusIsAFailureType({ status: item.status }) || + item.status === Status.Canceled); const defaultTab = showExtractedInformationTab ? "extracted_information" : showFailureReasonTab @@ -81,7 +83,7 @@ function WorkflowRunTimelineItemInfoSection({ activeItem }: Props) { Extracted Information )} - {item.status && statusIsAFailureType({ status: item.status }) && ( + {showFailureReasonTab && ( Failure Reason )} Navigation Goal @@ -116,7 +118,7 @@ function WorkflowRunTimelineItemInfoSection({ activeItem }: Props) { /> )} - {item.status && statusIsAFailureType({ status: item.status }) && ( + {showFailureReasonTab && ( - + + {showFailureReasonTab && ( + Failure Reason + )} Output + {showFailureReasonTab && ( + + + + )}