From ec9ade62f54cb992128b3ec01a0b4daa1d1db4a8 Mon Sep 17 00:00:00 2001 From: Stream Date: Fri, 30 Jan 2026 07:11:20 +0800 Subject: [PATCH] fix: circular import --- api/core/plugin/utils/chunk_merger.py | 10 ++++++---- api/core/tools/tool_manager.py | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/api/core/plugin/utils/chunk_merger.py b/api/core/plugin/utils/chunk_merger.py index 28cb70f96a..46bfa04f54 100644 --- a/api/core/plugin/utils/chunk_merger.py +++ b/api/core/plugin/utils/chunk_merger.py @@ -1,11 +1,13 @@ from collections.abc import Generator from dataclasses import dataclass, field -from typing import TypeVar, Union +from typing import TYPE_CHECKING, TypeVar -from core.agent.entities import AgentInvokeMessage from core.tools.entities.tool_entities import ToolInvokeMessage -MessageType = TypeVar("MessageType", bound=Union[ToolInvokeMessage, AgentInvokeMessage]) +if TYPE_CHECKING: + from core.agent.entities import AgentInvokeMessage + +MessageType = TypeVar("MessageType", bound=ToolInvokeMessage) @dataclass @@ -87,7 +89,7 @@ def merge_blob_chunks( ), meta=resp.meta, ) - assert isinstance(merged_message, (ToolInvokeMessage, AgentInvokeMessage)) + assert isinstance(merged_message, ToolInvokeMessage) yield merged_message # type: ignore # Clean up the buffer del files[chunk_id] diff --git a/api/core/tools/tool_manager.py b/api/core/tools/tool_manager.py index 9dc99df861..d93c0c9e5b 100644 --- a/api/core/tools/tool_manager.py +++ b/api/core/tools/tool_manager.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import json import logging import mimetypes @@ -31,9 +33,8 @@ from services.enterprise.plugin_manager_service import PluginCredentialType from services.tools.mcp_tools_manage_service import MCPToolManageService if TYPE_CHECKING: + from core.agent.entities import AgentToolEntity from core.workflow.nodes.tool.entities import ToolEntity - -from core.agent.entities import AgentToolEntity from core.app.entities.app_invoke_entities import InvokeFrom from core.helper.module_import_helper import load_single_subclass_from_source from core.helper.position_helper import is_filtered