From 3abecc4827bd9695554b3ccd628c23abd9de3909 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Tue, 6 Jan 2026 14:27:35 +0800 Subject: [PATCH] fix: Workflow import, AI node MCP tool import type error --- apps/application/serializers/application.py | 4 +++- apps/knowledge/serializers/knowledge_workflow.py | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/application/serializers/application.py b/apps/application/serializers/application.py index 4110e2a1120..a729eb78099 100644 --- a/apps/application/serializers/application.py +++ b/apps/application/serializers/application.py @@ -31,7 +31,7 @@ from application.flow.common import Workflow from application.models.application import Application, ApplicationTypeChoices, \ - ApplicationFolder, ApplicationVersion + ApplicationFolder, ApplicationVersion, ApplicationKnowledgeMapping from application.models.application_access_token import ApplicationAccessToken from application.serializers.common import update_resource_mapping_by_application from common import result @@ -641,6 +641,7 @@ def to_tool(tool, workspace_id, user_id): input_field_list=tool.get('input_field_list'), init_field_list=tool.get('init_field_list'), is_active=False if len((tool.get('init_field_list') or [])) > 0 else tool.get('is_active'), + tool_type=tool.get('tool_type', 'CUSTOM') or 'CUSTOM', scope=ToolScope.WORKSPACE, folder_id=workspace_id, workspace_id=workspace_id) @@ -790,6 +791,7 @@ def delete(self, with_valid=True): QuerySet(ResourceMapping).filter( Q(target_id=application_id) | Q(source_id=application_id) ).delete() + QuerySet(ApplicationKnowledgeMapping).filter(application_id=application_id).delete() QuerySet(Application).filter(id=application_id).delete() return True diff --git a/apps/knowledge/serializers/knowledge_workflow.py b/apps/knowledge/serializers/knowledge_workflow.py index b9f7fce0663..66e36975f7a 100644 --- a/apps/knowledge/serializers/knowledge_workflow.py +++ b/apps/knowledge/serializers/knowledge_workflow.py @@ -370,6 +370,7 @@ def to_tool(tool, workspace_id, user_id): input_field_list=tool.get('input_field_list'), init_field_list=tool.get('init_field_list'), is_active=False if len((tool.get('init_field_list') or [])) > 0 else tool.get('is_active'), + tool_type=tool.get('tool_type', 'CUSTOM') or 'CUSTOM', scope=ToolScope.SHARED if workspace_id == 'None' else ToolScope.WORKSPACE, folder_id='default' if workspace_id == 'None' else workspace_id, workspace_id=workspace_id)