From 524513dd931a975b9bf18d1addd20596de7a91c0 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Wed, 5 Nov 2025 15:43:58 +0800 Subject: [PATCH] clear workflow_run_failure_reason in reset workflow run logic (#3909) --- skyvern/forge/sdk/db/client.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/skyvern/forge/sdk/db/client.py b/skyvern/forge/sdk/db/client.py index 7a29f658..708c46e9 100644 --- a/skyvern/forge/sdk/db/client.py +++ b/skyvern/forge/sdk/db/client.py @@ -1948,6 +1948,23 @@ class AgentDB: else: raise WorkflowRunNotFound(workflow_run_id) + async def clear_workflow_run_failure_reason(self, workflow_run_id: str, organization_id: str) -> WorkflowRun: + async with self.Session() as session: + workflow_run = ( + await session.scalars( + select(WorkflowRunModel) + .filter_by(workflow_run_id=workflow_run_id) + .filter_by(organization_id=organization_id) + ) + ).first() + if workflow_run: + workflow_run.failure_reason = None + await session.commit() + await session.refresh(workflow_run) + return convert_to_workflow_run(workflow_run) + else: + raise NotFoundError("Workflow run not found") + async def get_all_runs( self, organization_id: str,