From d5f5a95576e770e136c2c332f54e52a6355baf38 Mon Sep 17 00:00:00 2001 From: hexiaonan-800 Date: Sun, 20 Sep 2026 13:39:15 +0800 Subject: [PATCH] feat: tool lib validation --- .../workflow/nodes/tool_lib_node/tool_lib_node.py | 4 +++- .../nodes/tool_workflow_lib_node/tool_workflow_lib_node.py | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/application/workflow/nodes/tool_lib_node/tool_lib_node.py b/apps/application/workflow/nodes/tool_lib_node/tool_lib_node.py index 8d67cd2f51c..c71d2bf0b3c 100644 --- a/apps/application/workflow/nodes/tool_lib_node/tool_lib_node.py +++ b/apps/application/workflow/nodes/tool_lib_node/tool_lib_node.py @@ -57,7 +57,9 @@ def is_valid(self, *, raise_exception=False): # 归还链接到连接池 connection.close() if f_lib is None: - raise Exception(_("The function has been deleted")) + raise AppApiException(500, _("Tool has been deleted")) + if not f_lib.is_active: + raise AppApiException(500, _("Tool is not active")) def get_field_value(debug_field_list, name, is_required): diff --git a/apps/application/workflow/nodes/tool_workflow_lib_node/tool_workflow_lib_node.py b/apps/application/workflow/nodes/tool_workflow_lib_node/tool_workflow_lib_node.py index 93e4004abc8..6c84bd6436e 100644 --- a/apps/application/workflow/nodes/tool_workflow_lib_node/tool_workflow_lib_node.py +++ b/apps/application/workflow/nodes/tool_workflow_lib_node/tool_workflow_lib_node.py @@ -19,7 +19,7 @@ from application.workflow.message.struct.content import Position from application.workflow.status import Status from common.database_model_manage.database_model_manage import DatabaseModelManage -from common.exception.app_exception import ChatException +from common.exception.app_exception import ChatException, AppApiException from common.field.common import ObjectField from tools.models import Tool, ToolType, ToolWorkflowVersion @@ -43,7 +43,9 @@ def is_valid(self, *, raise_exception=False): # 归还链接到连接池 connection.close() if f_lib is None: - raise Exception(_("The function has been deleted")) + raise AppApiException(500, _("Tool has been deleted")) + if not f_lib.is_active: + raise AppApiException(500, _("Tool is not active")) def valid_function(tool_lib, workspace_id):