From 30a8775548935f76e6eebcbb26a00a03df493619 Mon Sep 17 00:00:00 2001 From: Eternity <1533512157@qq.com> Date: Mon, 9 Feb 2026 15:40:52 +0800 Subject: [PATCH] fix(workflow): avoid in-place mutation of operation dict during loop node validation --- api/app/core/workflow/validator.py | 2 ++ api/app/services/app_service.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/api/app/core/workflow/validator.py b/api/app/core/workflow/validator.py index 96fc35ad..c846a1c4 100644 --- a/api/app/core/workflow/validator.py +++ b/api/app/core/workflow/validator.py @@ -4,6 +4,7 @@ 验证工作流配置的有效性,确保配置符合规范。 """ +import copy import logging from typing import Any, Union, TYPE_CHECKING @@ -114,6 +115,7 @@ class WorkflowValidator: >>> is_valid True """ + workflow_config = copy.deepcopy(workflow_config) errors = [] graphs = cls.get_subgraph(workflow_config) diff --git a/api/app/services/app_service.py b/api/app/services/app_service.py index 65422da3..71bf50f7 100644 --- a/api/app/services/app_service.py +++ b/api/app/services/app_service.py @@ -1488,7 +1488,7 @@ class AppService: is_valid, errors = WorkflowValidator.validate_for_publish(config) if not is_valid: - raise BusinessException("应用缺少有效配置,无法发布", BizCode.CONFIG_MISSING) + raise BusinessException(f"应用缺少有效配置,无法发布, errors:{','.join(errors)}", BizCode.CONFIG_MISSING) logger.info( "应用发布配置准备完成" )