Skip to content

chore(agent-v2): sync daily changes#38298

Merged
lyzno1 merged 153 commits into
mainfrom
feat/agent-v2
Jul 5, 2026
Merged

chore(agent-v2): sync daily changes#38298
lyzno1 merged 153 commits into
mainfrom
feat/agent-v2

Conversation

@lyzno1

@lyzno1 lyzno1 commented Jul 2, 2026

Copy link
Copy Markdown
Member

Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran make lint && make type-check (backend) and cd web && pnpm exec vp staged (frontend) to appease the lint gods

@github-actions github-actions Bot added the web This relates to changes on the web. label Jul 2, 2026
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-07-04 15:26:16.338880423 +0000
+++ /tmp/pyrefly_pr.txt	2026-07-04 15:26:01.055813003 +0000
@@ -1843,17 +1843,17 @@
 ERROR Argument `dict[str, object]` is not assignable to parameter `configs` with type `Mapping[str, LayerConfigInput] | None` in function `agenton.compositor.core.Compositor._create_run` [bad-argument-type]
   --> tests/unit_tests/clients/agent_backend/test_cleanup_composition_compositor_integration.py:97:17
 ERROR Cannot index into `bool` [bad-index]
-  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:53:12
+  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:54:12
 ERROR Cannot index into `float` [bad-index]
-  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:53:12
+  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:54:12
 ERROR Cannot index into `int` [bad-index]
-  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:53:12
+  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:54:12
 ERROR Cannot index into `list[JsonValue]` [bad-index]
-  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:53:12
+  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:54:12
 ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:53:12
+  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:54:12
 ERROR `None` is not subscriptable [unsupported-operation]
-  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:53:12
+  --> tests/unit_tests/clients/agent_backend/test_event_adapter.py:54:12
 ERROR Expected a callable, got `None` [not-callable]
   --> tests/unit_tests/commands/test_clean_expired_messages.py:33:9
 ERROR Expected a callable, got `None` [not-callable]
@@ -1919,75 +1919,77 @@
 ERROR No attribute `MethodView` in module `builtins` [missing-attribute]
  --> tests/unit_tests/controllers/common/test_fields.py:8:5
 ERROR Cannot index into `object` [bad-index]
-   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:665:12
+   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:703:12
 ERROR Cannot index into `object` [bad-index]
-   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:666:12
+   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:704:12
 ERROR Cannot index into `object` [bad-index]
-   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:667:12
+   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:705:12
 ERROR Cannot index into `object` [bad-index]
-   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:668:12
+   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:706:12
+ERROR `in` is not supported between `Literal['Incorrect API key provided']` and `None` [not-iterable]
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1458:12
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_build_chat_finalization_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1436:26
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1544:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_build_chat_finalization_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1437:23
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1545:23
 ERROR Argument `test_drain_streaming_generate_response_returns_on_message_end.ClosableResponse` is not assignable to parameter `response` with type `Generator[str] | RateLimitGenerator` in function `controllers.console.app.completion._drain_streaming_generate_response` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1484:69
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1592:69
 ERROR Argument `Iterator[Any]` is not assignable to parameter `response` with type `Generator[str] | RateLimitGenerator` in function `controllers.console.app.completion._drain_streaming_generate_response` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1492:66
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1600:66
 ERROR Argument `Iterator[Any]` is not assignable to parameter `response` with type `Generator[str] | RateLimitGenerator` in function `controllers.console.app.completion._drain_streaming_generate_response` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1499:66
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1607:66
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1530:26
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1638:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1531:23
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1639:23
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1570:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1678:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1571:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1679:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1599:22
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1707:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1600:19
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1708:19
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1605:22
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1713:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1606:19
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1714:19
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1657:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1765:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1658:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1766:27
 ERROR Object of class `object` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1741:50
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1849:50
 ERROR Object of class `object` has no attribute `limit` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1742:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1850:30
 ERROR Object of class `object` has no attribute `has_more` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1743:33
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1851:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1755:67
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1863:67
 ERROR Object of class `object` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1781:50
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1889:50
 ERROR Object of class `object` has no attribute `limit` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1782:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1890:30
 ERROR Object of class `object` has no attribute `has_more` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1783:33
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1891:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1797:67
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1905:67
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account | None` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1797:91
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1905:91
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1817:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1925:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account | None` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1818:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1926:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.message._update_message_feedback` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1833:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1941:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._update_message_feedback` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1834:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1942:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.message._get_message_suggested_questions` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1870:26
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1978:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._get_message_suggested_questions` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1871:23
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1979:23
 ERROR Argument `Literal['00000000-0000-0000-0000-000000000002']` is not assignable to parameter `message_id` with type `UUID` in function `controllers.console.app.message._get_message_suggested_questions` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1872:24
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1980:24
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
    --> tests/unit_tests/controllers/console/app/test_annotation_security.py:221:38
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
@@ -2127,13 +2129,13 @@
 ERROR `SimpleNamespace` is not assignable to attribute `request` with type `Request` [bad-assignment]
   --> tests/unit_tests/controllers/files/test_upload.py:61:26
 ERROR `SimpleNamespace` is not assignable to attribute `request` with type `Request` [bad-assignment]
-  --> tests/unit_tests/controllers/files/test_upload.py:88:26
+   --> tests/unit_tests/controllers/files/test_upload.py:93:26
 ERROR `SimpleNamespace` is not assignable to attribute `request` with type `Request` [bad-assignment]
-   --> tests/unit_tests/controllers/files/test_upload.py:109:26
+   --> tests/unit_tests/controllers/files/test_upload.py:114:26
 ERROR `SimpleNamespace` is not assignable to attribute `request` with type `Request` [bad-assignment]
-   --> tests/unit_tests/controllers/files/test_upload.py:137:26
+   --> tests/unit_tests/controllers/files/test_upload.py:142:26
 ERROR `SimpleNamespace` is not assignable to attribute `request` with type `Request` [bad-assignment]
-   --> tests/unit_tests/controllers/files/test_upload.py:169:26
+   --> tests/unit_tests/controllers/files/test_upload.py:174:26
 ERROR Could not find name `Import` [unknown-name]
    --> tests/unit_tests/controllers/inner_api/app/test_dsl.py:120:71
 ERROR Missing argument `tenant_model` in function `protected_view` [missing-argument]
@@ -3233,14 +3235,30 @@
    --> tests/unit_tests/core/app/apps/agent_app/test_app_generator.py:242:22
 ERROR Argument `DummyAccount` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.agent_app.app_generator.AgentAppGenerator._run_stateless` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/agent_app/test_app_generator.py:258:18
+ERROR Argument `float | None` is not assignable to parameter `text_delta_debounce_seconds` with type `float` in function `core.app.apps.agent_app.app_runner.AgentAppRunner.__init__` [bad-argument-type]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:422:37
 ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:367:12
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:479:12
 ERROR Object of class `NoneType` has no attribute `model` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:368:12
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:480:12
 ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:399:12
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:506:12
+ERROR Object of class `NoneType` has no attribute `usage` [missing-attribute]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:507:12
+ERROR Object of class `NoneType` has no attribute `usage` [missing-attribute]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:508:12
+ERROR Object of class `NoneType` has no attribute `usage` [missing-attribute]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:509:12
+ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:524:12
+ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:538:12
+ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:552:12
 ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:414:12
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:589:12
+ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
+   --> tests/unit_tests/core/app/apps/agent_app/test_app_runner.py:604:12
 ERROR Object of class `NoneType` has no attribute `message` [missing-attribute]
   --> tests/unit_tests/core/app/apps/agent_app/test_input_guards.py:67:12
 ERROR Object of class `NoneType` has no attribute `prompt_messages` [missing-attribute]
@@ -3292,34 +3310,35 @@
 ERROR Object of class `LayerConfig` has no attribute `invoke_from`
 ERROR Object of class `LayerConfig` has no attribute `agent_mode`
 ERROR `list[dict[str, str]]` is not assignable to attribute `dify_tools` with type `list[AgentSoulDifyToolConfig]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:214:33
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:216:33
 ERROR `list[dict[str, str]]` is not assignable to attribute `dify_tools` with type `list[AgentSoulDifyToolConfig]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:235:33
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:237:33
 ERROR `list[dict[str, str]]` is not assignable to attribute `dify_tools` with type `list[AgentSoulDifyToolConfig]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:256:33
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:258:33
 ERROR Object of class `NoneType` has no attribute `plugin_id` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:276:9
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:278:9
 ERROR Object of class `LayerConfig` has no attribute `plugin_id`
 ERROR Object of class `LayerConfig` has no attribute `model_provider`
 ERROR Object of class `Mapping` has no attribute `model_dump`
 ERROR Object of class `LayerConfig` has no attribute `agent_id`
 ERROR Object of class `LayerConfig` has no attribute `config_version`
 ERROR Object of class `object` has no attribute `id` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:413:16
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:412:16
 ERROR Object of class `object` has no attribute `kind` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:414:16
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:413:16
 ERROR Object of class `object` has no attribute `writable` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:415:16
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:414:16
 ERROR Object of class `LayerConfig` has no attribute `skills`
 ERROR Object of class `LayerConfig` has no attribute `files`
 ERROR Object of class `LayerConfig` has no attribute `note`
 ERROR Object of class `LayerConfig` has no attribute `mentioned_skill_names`
 ERROR Object of class `LayerConfig` has no attribute `mentioned_file_names`
+ERROR Object of class `Mapping` has no attribute `model_dump`
 ERROR Object of class `LayerConfig` has no attribute `agent_stub_drive_ref`
 ERROR Object of class `Mapping` has no attribute `model_dump`
 ERROR Object of class `LayerConfig` has no attribute `prefix`
 ERROR `not in` is not supported between `Literal['[§']` and `object` [not-iterable]
-   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:517:16
+   --> tests/unit_tests/core/app/apps/agent_app/test_runtime_request_builder.py:504:16
 ERROR Object of class `LayerConfig` has no attribute `prefix`
 ERROR Object of class `FromClause` has no attribute `create` [missing-attribute]
   --> tests/unit_tests/core/app/apps/agent_app/test_session_store.py:58:5
@@ -4931,6 +4950,10 @@
     --> tests/unit_tests/core/rag/rerank/test_reranker.py:1591:16
 ERROR Object of class `FunctionType` has no attribute `call_count` [missing-attribute]
     --> tests/unit_tests/core/rag/rerank/test_reranker.py:1642:16
+ERROR Argument `_FakeFlaskApp` is not assignable to parameter `flask_app` with type `Flask` in function `core.rag.retrieval.dataset_retrieval.DatasetRetrieval._run_retriever_thread` [bad-argument-type]
+    --> tests/unit_tests/core/rag/retrieval/test_dataset_retrieval.py:3839:31
+ERROR Argument `_FakeFlaskApp` is not assignable to parameter `flask_app` with type `Flask` in function `core.rag.retrieval.dataset_retrieval.DatasetRetrieval._run_retriever_thread` [bad-argument-type]
+    --> tests/unit_tests/core/rag/retrieval/test_dataset_retrieval.py:3864:31
 ERROR Argument `Iterator[Any | Unknown] | Iterator[Any]` is not assignable to parameter `invoke_result` with type `Generator[Unknown]` in function `core.rag.retrieval.router.multi_dataset_react_route.ReactMultiDatasetRouter._handle_invoke_result` [bad-argument-type]
    --> tests/unit_tests/core/rag/retrieval/test_multi_dataset_react_route.py:198:52
 ERROR Argument `None` is not assignable to parameter `text` with type `str` in function `core.rag.splitter.text_splitter.RecursiveCharacterTextSplitter.split_text` [bad-argument-type]
@@ -5853,11 +5876,11 @@
 ERROR Argument `Iterator[Unknown]` is not assignable to parameter `messages` with type `Generator[ToolInvokeMessage]` in function `core.workflow.nodes.agent.message_transformer.AgentMessageTransformer.transform` [bad-argument-type]
   --> tests/unit_tests/core/workflow/nodes/agent/test_message_transformer.py:15:26
 ERROR Class member `FakeBindingResolver.resolve` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:125:9
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:117:9
 ERROR Class member `FileOutputBackendClient._events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:182:9
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:174:9
 ERROR Argument `dict[str, str]` is not assignable to parameter `node_data` with type `DifyAgentNodeData` in function `core.workflow.nodes.agent_v2.agent_node.DifyAgentNode._extract_variable_selector_to_variable_mapping` [bad-argument-type]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:260:19
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:252:19
 ERROR Class member `FakeTool.tool_provider_type` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:73:9
 ERROR Class member `FakeTool._invoke` overrides parent class `Tool` in an inconsistent manner [bad-override]
@@ -5865,63 +5888,365 @@
 ERROR Class member `FakeTool._invoke` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:76:9
 ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `list[JsonValue]` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `bool` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `float` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `int` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `list[JsonValue]` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:232:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:257:12
 ERROR `not in` is not supported between `Literal['region']` and `bool` [not-iterable]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:233:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:258:12
 ERROR `not in` is not supported between `Literal['region']` and `float` [not-iterable]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:233:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:258:12
 ERROR `not in` is not supported between `Literal['region']` and `int` [not-iterable]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:233:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:258:12
 ERROR `not in` is not supported between `Literal['region']` and `None` [not-iterable]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:233:12
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:258:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:322:19
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:322:19
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:322:19
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:322:19
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:322:19
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:322:19
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:12
+ERROR Cannot index into `dict[str, JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:323:33
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:12
+ERROR Cannot index into `dict[str, JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:324:33
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:12
+ERROR Cannot index into `dict[str, JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:325:33
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:353:20
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:353:20
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:353:20
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:353:20
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:353:20
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:353:20
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:354:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:354:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:354:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:354:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:354:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:354:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:12
+ERROR Cannot index into `dict[str, JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:355:43
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:391:20
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:391:20
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:391:20
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:391:20
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:391:20
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:391:20
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:392:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:392:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:392:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:392:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:392:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:392:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `bool` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `float` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `int` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `list[JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:12
+ERROR Cannot index into `dict[str, JsonValue]` [bad-index]
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_dify_tools_builder.py:393:43
 ERROR Argument `object` is not assignable to parameter `output` with type `Decimal | Iterable[Any] | Mapping[str, Any] | bool | bytearray | bytes | float | int | str | None` in function `clients.agent_backend.event_adapter.AgentBackendRunSucceededInternalEvent.__init__` [bad-argument-type]
   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_output_adapter.py:49:16
 ERROR Object of class `FromClause` has no attribute `create` [missing-attribute]
   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_output_file_rebacker.py:22:5
 ERROR Cannot index into `object` [bad-index]
-   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:225:22
+   --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:218:22
 ERROR Cannot index into `object` [bad-index]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1088:25
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1116:25
 ERROR Cannot index into `object` [bad-index]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1089:18
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1117:18
 ERROR Class member `FileVariablePool.get` overrides parent class `FakeVariablePool` in an inconsistent manner [bad-override]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1106:13
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1134:13
 ERROR Class member `FileVariablePool.get` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1106:13
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1134:13
 ERROR Cannot index into `object` [bad-index]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1131:12
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1159:12
 ERROR Cannot index into `object` [bad-index]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1167:12
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1195:12
 ERROR Class member `FileArrayVariablePool.get` overrides parent class `FakeVariablePool` in an inconsistent manner [bad-override]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1178:13
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1206:13
 ERROR Class member `FileArrayVariablePool.get` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1178:13
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1206:13
 ERROR Class member `LongRemoteUrlVariablePool.get` overrides parent class `FakeVariablePool` in an inconsistent manner [bad-override]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1231:13
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1259:13
 ERROR Class member `LongRemoteUrlVariablePool.get` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1231:13
+    --> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1259:13
 ERROR Object of class `LayerConfig` has no attribute `prefix`
 ERROR Object of class `LayerConfig` has no attribute `prefix`
 ERROR Class member `_WaitableFakeAgentBackendRunClient.wait_run` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
@@ -6718,47 +7043,47 @@
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `scoped_session[Unknown]` in function `services.app_service.AppService._build_app_list_filters` [bad-argument-type]
     --> tests/unit_tests/services/agent/test_agent_services.py:2669:63
 ERROR Object of class `object` has no attribute `name` [missing-attribute]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3146:16
-ERROR Object of class `object` has no attribute `mode` [missing-attribute]
     --> tests/unit_tests/services/agent/test_agent_services.py:3147:16
-ERROR Object of class `object` has no attribute `agent_role` [missing-attribute]
+ERROR Object of class `object` has no attribute `mode` [missing-attribute]
     --> tests/unit_tests/services/agent/test_agent_services.py:3148:16
 ERROR Object of class `object` has no attribute `agent_role` [missing-attribute]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3224:16
+    --> tests/unit_tests/services/agent/test_agent_services.py:3149:16
+ERROR Object of class `object` has no attribute `agent_role` [missing-attribute]
+    --> tests/unit_tests/services/agent/test_agent_services.py:3225:16
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_roster_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3478:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:3479:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.validate_agent_nodes_for_publish` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3505:25
+    --> tests/unit_tests/services/agent/test_agent_services.py:3506:25
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.validate_agent_nodes_for_publish` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3527:25
+    --> tests/unit_tests/services/agent/test_agent_services.py:3528:25
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.project_draft_bindings_to_graph` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3591:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:3592:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.project_draft_bindings_to_graph` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3648:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:3649:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.project_draft_bindings_to_graph` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3699:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:3700:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_roster_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3752:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:3753:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3847:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:3848:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3897:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:3898:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3948:25
+    --> tests/unit_tests/services/agent/test_agent_services.py:3949:25
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:3980:25
+    --> tests/unit_tests/services/agent/test_agent_services.py:3981:25
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:4013:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:4014:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:4063:25
+    --> tests/unit_tests/services/agent/test_agent_services.py:4064:25
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_roster_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:4123:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:4124:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_roster_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:4193:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:4194:21
 ERROR Argument `FakeSession` is not assignable to parameter `session` with type `Session` in function `services.agent.workflow_publish_service.WorkflowAgentPublishService.sync_roster_agent_bindings_for_draft` [bad-argument-type]
-    --> tests/unit_tests/services/agent/test_agent_services.py:4226:21
+    --> tests/unit_tests/services/agent/test_agent_services.py:4227:21
 ERROR Cannot set item in `dict[str, str]` [unsupported-operation]
-    --> tests/unit_tests/services/agent/test_agent_services.py:4603:31
+    --> tests/unit_tests/services/agent/test_agent_services.py:4604:31
 ERROR Object of class `NoneType` has no attribute `workflow_prompt` [missing-attribute]
    --> tests/unit_tests/services/agent/test_composer_mention_validation.py:113:5
 ERROR Argument `object` is not assignable to parameter `pwd` with type `bytes | None` in function `zipfile.ZipFile.read` [bad-argument-type]

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Type Coverage

Metric Base PR Delta
Type coverage 52.36% 52.37% +0.01%
Strict coverage 51.88% 51.88% +0.01%
Typed symbols 32,053 32,078 +25
Untyped symbols 29,435 29,448 +13
Modules 2973 2973 0

@codecov

codecov Bot commented Jul 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 79.89757% with 157 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.35%. Comparing base (5d7ae56) to head (fc81ac5).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
...ure/components/preview/working-directory-panel.tsx 46.57% 39 Missing ⚠️
...etail/configure/use-agent-configure-build-draft.ts 53.65% 19 Missing ⚠️
...figure/components/orchestrate/knowledge/dialog.tsx 68.75% 10 Missing ⚠️
api/controllers/console/app/completion.py 82.35% 5 Missing and 4 partials ⚠️
...l/configure/components/orchestrate/tools/index.tsx 71.87% 9 Missing ⚠️
api/core/app/apps/agent_app/app_runner.py 84.90% 6 Missing and 2 partials ⚠️
...core/workflow/nodes/agent_v2/dify_tools_builder.py 80.76% 2 Missing and 3 partials ⚠️
web/features/agent-v2/agent-detail/logs/page.tsx 50.00% 5 Missing ⚠️
api/controllers/console/agent/roster.py 63.63% 2 Missing and 2 partials ⚠️
...re/components/orchestrate/skills/detail-dialog.tsx 42.85% 4 Missing ⚠️
... and 23 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #38298      +/-   ##
==========================================
+ Coverage   85.30%   85.35%   +0.04%     
==========================================
  Files        4995     5159     +164     
  Lines      264326   269252    +4926     
  Branches    50141    51418    +1277     
==========================================
+ Hits       225479   229810    +4331     
- Misses      34429    35005     +576     
- Partials     4418     4437      +19     
Flag Coverage Δ
api 85.55% <83.79%> (+<0.01%) ⬆️
cli 88.45% <ø> (?)
dify-ui 94.75% <ø> (ø)
web 84.85% <78.40%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@lyzno1 lyzno1 added this pull request to the merge queue Jul 5, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Jul 5, 2026
Merged via the queue into main with commit 1b3e8e9 Jul 5, 2026
50 of 51 checks passed
@lyzno1 lyzno1 deleted the feat/agent-v2 branch July 5, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

e2e End-to-end tests and E2E test infrastructure. lgtm This PR has been approved by a maintainer size:XL This PR changes 500-999 lines, ignoring generated files. web This relates to changes on the web.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants