From ed8da2c76014938a7e98b0a39caa2b32ebf32228 Mon Sep 17 00:00:00 2001 From: Harry Date: Thu, 6 Nov 2025 12:31:27 +0800 Subject: [PATCH] fix: return structured error response for PluginInvokeError in workflow trigger APIs --- api/controllers/console/app/workflow.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/controllers/console/app/workflow.py b/api/controllers/console/app/workflow.py index b471268576..7481b0071c 100644 --- a/api/controllers/console/app/workflow.py +++ b/api/controllers/console/app/workflow.py @@ -6,7 +6,7 @@ from typing import cast from flask import abort, request from flask_restx import Resource, fields, inputs, marshal_with, reqparse from sqlalchemy.orm import Session -from werkzeug.exceptions import BadRequest, Forbidden, InternalServerError, NotFound +from werkzeug.exceptions import Forbidden, InternalServerError, NotFound import services from controllers.console import api, console_ns @@ -992,7 +992,7 @@ class DraftWorkflowTriggerRunApi(Resource): except InvokeRateLimitError as ex: raise InvokeRateLimitHttpError(ex.description) except PluginInvokeError as e: - raise BadRequest(e.to_user_friendly_error()) + return jsonable_encoder({"status": "error", "error": e.to_user_friendly_error()}), 400 except Exception as e: logger.exception("Error polling trigger debug event") raise e @@ -1126,7 +1126,7 @@ class DraftWorkflowTriggerRunAllApi(Resource): node_ids=node_ids, ) except PluginInvokeError as e: - raise ValueError(e.to_user_friendly_error()) + return jsonable_encoder({"status": "error", "error": e.to_user_friendly_error()}), 400 except Exception as e: logger.exception("Error polling trigger debug event") raise e