From 5f87239abc38840ff837ce8151a199e90ba8a166 Mon Sep 17 00:00:00 2001 From: Yansong Zhang <916125788@qq.com> Date: Mon, 13 Apr 2026 13:10:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20resolve=20CI=20failures=20=E2=80=94=20un?= =?UTF-8?q?used=20imports,=20type=20errors,=20test=20updates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove 12 unused imports across node.py, tool_manager.py, event_adapter.py, legacy_response_adapter.py - Fix Sequence[str] → list[str] type annotation in node.py - Update test_agent_chat_app_runner.py: CotChatAgentRunner → AgentAppRunner (old runner classes replaced by unified runner) Made-with: Cursor --- api/core/app/apps/common/legacy_response_adapter.py | 1 - api/core/workflow/nodes/agent_v2/event_adapter.py | 1 - api/core/workflow/nodes/agent_v2/node.py | 12 +++--------- api/core/workflow/nodes/agent_v2/tool_manager.py | 4 ---- .../apps/agent_chat/test_agent_chat_app_runner.py | 6 +++--- 5 files changed, 6 insertions(+), 18 deletions(-) diff --git a/api/core/app/apps/common/legacy_response_adapter.py b/api/core/app/apps/common/legacy_response_adapter.py index 5b66e39b94..c513d9fbbd 100644 --- a/api/core/app/apps/common/legacy_response_adapter.py +++ b/api/core/app/apps/common/legacy_response_adapter.py @@ -12,7 +12,6 @@ from __future__ import annotations import json import logging from collections.abc import Generator -from typing import Any logger = logging.getLogger(__name__) diff --git a/api/core/workflow/nodes/agent_v2/event_adapter.py b/api/core/workflow/nodes/agent_v2/event_adapter.py index 6e11a04948..8561fc0c86 100644 --- a/api/core/workflow/nodes/agent_v2/event_adapter.py +++ b/api/core/workflow/nodes/agent_v2/event_adapter.py @@ -7,7 +7,6 @@ graphon NodeEventBase events consumable by the workflow engine. from __future__ import annotations from collections.abc import Generator -from typing import Any from graphon.model_runtime.entities import LLMResultChunk from graphon.node_events import ( diff --git a/api/core/workflow/nodes/agent_v2/node.py b/api/core/workflow/nodes/agent_v2/node.py index a28663a096..426b54b33b 100644 --- a/api/core/workflow/nodes/agent_v2/node.py +++ b/api/core/workflow/nodes/agent_v2/node.py @@ -10,12 +10,11 @@ from __future__ import annotations import logging import re from collections.abc import Generator, Mapping, Sequence -from typing import TYPE_CHECKING, Any, Literal, cast +from typing import TYPE_CHECKING, Any, Literal from graphon.enums import WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus from graphon.model_runtime.entities import ( AssistantPromptMessage, - LLMResult, LLMResultChunk, PromptMessage, SystemPromptMessage, @@ -23,15 +22,10 @@ from graphon.model_runtime.entities import ( UserPromptMessage, ) from graphon.model_runtime.entities.llm_entities import LLMUsage -from graphon.model_runtime.entities.message_entities import ( - ImagePromptMessageContent, - PromptMessageContentUnionTypes, -) from graphon.model_runtime.entities.model_entities import ModelFeature, ModelType from graphon.node_events import ( NodeEventBase, NodeRunResult, - StreamChunkEvent, StreamCompletedEvent, ) from graphon.nodes.base.node import Node @@ -545,11 +539,11 @@ class AgentV2Node(Node[AgentV2NodeData]): content = jinja2_text or text selectors = VariableTemplateParser(content).extract_variable_selectors() for selector in selectors: - result[selector.variable] = selector.value_selector + result[selector.variable] = list(selector.value_selector) else: text_content = getattr(node_data.prompt_template, "text", "") or "" selectors = VariableTemplateParser(text_content).extract_variable_selectors() for selector in selectors: - result[selector.variable] = selector.value_selector + result[selector.variable] = list(selector.value_selector) return {f"{node_id}.{key}": value for key, value in result.items()} diff --git a/api/core/workflow/nodes/agent_v2/tool_manager.py b/api/core/workflow/nodes/agent_v2/tool_manager.py index c9a1644a10..95978c00bc 100644 --- a/api/core/workflow/nodes/agent_v2/tool_manager.py +++ b/api/core/workflow/nodes/agent_v2/tool_manager.py @@ -8,12 +8,8 @@ from __future__ import annotations import json import logging -from collections.abc import Generator from typing import TYPE_CHECKING, Any -from graphon.file import File -from graphon.model_runtime.entities import PromptMessageTool - from core.agent.entities import AgentToolEntity, ExecutionContext from core.agent.patterns.base import ToolInvokeHook from core.callback_handler.workflow_tool_callback_handler import DifyWorkflowCallbackHandler diff --git a/api/tests/unit_tests/core/app/apps/agent_chat/test_agent_chat_app_runner.py b/api/tests/unit_tests/core/app/apps/agent_chat/test_agent_chat_app_runner.py index 08250bc3b6..93b2f9c531 100644 --- a/api/tests/unit_tests/core/app/apps/agent_chat/test_agent_chat_app_runner.py +++ b/api/tests/unit_tests/core/app/apps/agent_chat/test_agent_chat_app_runner.py @@ -136,8 +136,8 @@ class TestAgentChatAppRunnerRun: @pytest.mark.parametrize( ("mode", "expected_runner"), [ - (LLMMode.CHAT, "CotChatAgentRunner"), - (LLMMode.COMPLETION, "CotCompletionAgentRunner"), + (LLMMode.CHAT, "AgentAppRunner"), + (LLMMode.COMPLETION, "AgentAppRunner"), ], ) def test_run_chain_of_thought_modes(self, runner, mocker, mode, expected_runner): @@ -286,7 +286,7 @@ class TestAgentChatAppRunnerRun: ) runner_cls = mocker.MagicMock() - mocker.patch("core.app.apps.agent_chat.app_runner.FunctionCallAgentRunner", runner_cls) + mocker.patch("core.app.apps.agent_chat.app_runner.AgentAppRunner", runner_cls) runner_instance = mocker.MagicMock() runner_cls.return_value = runner_instance