diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index 4d5671aa142..aca5bf05cdb 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -73,7 +73,7 @@ def hand_node(node, update_tool_map): tool_id) for tool_id in tool_ids] skill_tool_ids = node_data.get('skill_tool_ids') or [] node_data['skill_tool_ids'] = [update_tool_map.get(tool_id, - tool_id) for tool_id in skill_tool_ids] + tool_id) for tool_id in skill_tool_ids] if node.get('type') == 'mcp-node': mcp_tool_id = (node.get('properties', {}).get('node_data', {}).get('mcp_tool_id') or '') node.get('properties', {}).get('node_data', {})['mcp_tool_id'] = update_tool_map.get(mcp_tool_id, @@ -813,6 +813,7 @@ def import_workflow_tools(self, tool, workspace_id, user_id, folder_id, new_chil tool_list = tool.get('tool_list') or [] else: tool_list = [{**tool, 'id': str(uuid.uuid7())} for tool in tool.get('tool_list') or []] + tool_list = {tool.get('id'): tool for tool in tool_list}.values() update_tool_map = {} if len(tool_list) > 0: tool_id_list = reduce(lambda x, y: [*x, *y],