Skip to content

refactor(api): route draft variable APIs through application services - #43687

Open
41tair wants to merge 44 commits into
refactor/api-76-10-2from
refactor/api-76-10-3
Open

41tair wants to merge 44 commits into
refactor/api-76-10-2from
refactor/api-76-10-3

Conversation

@41tair

@41tair 41tair commented Oct 8, 2026

Copy link
Copy Markdown
Member

Important

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

Summary

part of #39993

Route App, Pipeline and Snippet draft-variable APIs through application services.

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 verified the change and added or updated tests where meaningful regression risk justifies coverage.
  • I've updated the documentation accordingly.
  • I ran make lint && make type-check (backend) and vp staged (frontend) to appease the lint gods

From Codex

@ghfind-review ghfind-review Bot added the review: top ghfind author score; see https://ghfind.com label Oct 8, 2026
@github-actions github-actions Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Pyrefly Type Coverage

Metric Base PR Delta
Type coverage 81.50% 82.22% +0.71%
Strict coverage 81.15% 81.87% +0.73%
Typed symbols 85,533 90,569 +5,036
Untyped symbols 19,496 19,671 +175
Modules 4396 4638 +242

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-10-31 15:08:36.940410126 +0000
+++ /tmp/pyrefly_pr.txt	2026-10-31 15:08:12.204284895 +0000
@@ -111,45 +111,49 @@
 ERROR Argument `list[Document | SimpleNamespace]` is not assignable to parameter `documents` with type `list[Document]` in function `dify_vdb_pgvector.pgvector.PGVector.add_texts` [bad-argument-type]
    --> providers/vdb/vdb-pgvector/tests/unit_tests/src/dify_vdb_pgvector/test_pgvector.py:392:28
 ERROR Object of class `ModuleType` has no attribute `QdrantClient` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:108:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:111:5
 ERROR Object of class `ModuleType` has no attribute `FilterSelector` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:109:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:112:5
 ERROR Object of class `ModuleType` has no attribute `HnswConfigDiff` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:110:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:113:5
 ERROR Object of class `ModuleType` has no attribute `PayloadSchemaType` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:111:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:114:5
 ERROR Object of class `ModuleType` has no attribute `TextIndexParams` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:112:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:115:5
 ERROR Object of class `ModuleType` has no attribute `TextIndexType` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:113:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:116:5
 ERROR Object of class `ModuleType` has no attribute `TokenizerType` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:114:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:117:5
 ERROR Object of class `ModuleType` has no attribute `VectorParams` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:115:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:118:5
 ERROR Object of class `ModuleType` has no attribute `Distance` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:116:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:119:5
 ERROR Object of class `ModuleType` has no attribute `PointStruct` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:117:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:120:5
 ERROR Object of class `ModuleType` has no attribute `Filter` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:118:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:121:5
 ERROR Object of class `ModuleType` has no attribute `FieldCondition` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:119:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:122:5
 ERROR Object of class `ModuleType` has no attribute `MatchValue` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:120:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:123:5
 ERROR Object of class `ModuleType` has no attribute `MatchAny` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:121:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:124:5
 ERROR Object of class `ModuleType` has no attribute `MatchText` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:122:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:125:5
 ERROR Object of class `ModuleType` has no attribute `UnexpectedResponse` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:123:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:126:5
 ERROR Object of class `ModuleType` has no attribute `models` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:125:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:128:5
 ERROR Object of class `ModuleType` has no attribute `QdrantLocal` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:126:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:129:5
 ERROR Object of class `ModuleType` has no attribute `qdrant_local` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:127:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:130:5
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:387:16
 ERROR Object of class `FromClause` has no attribute `create` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:429:5
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:411:5
+ERROR Object of class `FromClause` has no attribute `create` [missing-attribute]
+   --> providers/vdb/vdb-qdrant/tests/unit_tests/src/dify_vdb_qdrant/test_qdrant_vector.py:451:5
 ERROR Object of class `ModuleType` has no attribute `VECTOR` [missing-attribute]
   --> providers/vdb/vdb-relyt/tests/unit_tests/src/dify_vdb_relyt/test_relyt_vector.py:24:5
 ERROR Argument `Index | None` is not assignable to parameter `index` with type `Index` in function `tcvectordb.rpc.model.collection.RPCCollection.__init__` [bad-argument-type]
@@ -184,6 +188,8 @@
    --> providers/vdb/vdb-tidb-on-qdrant/src/dify_vdb_tidb_on_qdrant/tidb_service.py:153:35
 ERROR Argument `Any | None` is not assignable to parameter `cluster_response` with type `Mapping[str, Any]` in function `TidbService.extract_qdrant_endpoint` [bad-argument-type]
    --> providers/vdb/vdb-tidb-on-qdrant/src/dify_vdb_tidb_on_qdrant/tidb_service.py:154:75
+ERROR Missing argument `self` in function `services.tools.workflow_tools_manage_service.WorkflowToolManageService.create_workflow_tool` [missing-argument]
+   --> services/app/console_gateway.py:472:55
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `ConversationStatus | SQLCoreOperations[ConversationStatus]` in function `models.model.Conversation.__init__` [bad-argument-type]
   --> tests/e2e_tests/containers/controllers/console/app/test_chat_conversation_status_count_api.py:75:16
 ERROR Argument `Literal['app-run']` is not assignable to parameter `triggered_from` with type `SQLCoreOperations[WorkflowRunTriggeredFrom] | WorkflowRunTriggeredFrom` in function `models.workflow.WorkflowRun.__init__` [bad-argument-type]
@@ -311,15 +317,15 @@
 ERROR Argument `str` is not assignable to parameter `icon_type` with type `IconType | SQLCoreOperations[IconType | None] | None` in function `models.model.App.__init__` [bad-argument-type]
    --> tests/e2e_tests/containers/core/workflow/test_human_input_resume_node_execution.py:187:23
 ERROR Argument `Literal['owner']` is not assignable to parameter `role` with type `SQLCoreOperations[TenantAccountRole] | TenantAccountRole` in function `models.account.TenantAccountJoin.__init__` [bad-argument-type]
-  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:48:14
+  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:49:14
 ERROR Argument `Literal['chat']` is not assignable to parameter `mode` with type `AppMode | SQLCoreOperations[AppMode]` in function `models.model.App.__init__` [bad-argument-type]
-  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:58:14
+  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:59:14
 ERROR Argument `Literal['emoji']` is not assignable to parameter `icon_type` with type `IconType | SQLCoreOperations[IconType | None] | None` in function `models.model.App.__init__` [bad-argument-type]
-  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:59:19
+  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:60:19
 ERROR Argument `Literal['chat']` is not assignable to parameter `mode` with type `AppMode | SQLCoreOperations[AppMode]` in function `models.model.Conversation.__init__` [bad-argument-type]
-  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:77:14
+  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:78:14
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `ConversationStatus | SQLCoreOperations[ConversationStatus]` in function `models.model.Conversation.__init__` [bad-argument-type]
-  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:82:16
+  --> tests/e2e_tests/containers/helpers/execution_extra_content.py:83:16
 ERROR Returned type `int | str` is not assignable to declared return type `str` [bad-return]
    --> tests/e2e_tests/containers/libs/broadcast_channel/redis/test_sharded_channel.py:367:16
 ERROR Object of class `TypeEngine` has no attribute `length` [missing-attribute]
@@ -335,59 +341,59 @@
 ERROR Argument `Literal['workflow-run']` is not assignable to parameter `triggered_from` with type `SQLCoreOperations[WorkflowNodeExecutionTriggeredFrom] | WorkflowNodeExecutionTriggeredFrom` in function `models.workflow.WorkflowNodeExecutionModel.__init__` [bad-argument-type]
   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_api_workflow_node_execution_repository.py:39:24
 ERROR Generator function should return `Generator` [bad-return]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_api_workflow_run_repository.py:150:56
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_api_workflow_run_repository.py:143:56
 ERROR Argument `Literal['chat']` is not assignable to parameter `mode` with type `AppMode | SQLCoreOperations[AppMode]` in function `models.model.App.__init__` [bad-argument-type]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:103:14
+  --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:97:14
 ERROR Argument `Literal['emoji']` is not assignable to parameter `icon_type` with type `IconType | SQLCoreOperations[IconType | None] | None` in function `models.model.App.__init__` [bad-argument-type]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:104:19
+  --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:98:19
 ERROR Argument `Literal['chat']` is not assignable to parameter `mode` with type `AppMode | SQLCoreOperations[AppMode]` in function `models.model.Conversation.__init__` [bad-argument-type]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:125:14
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:119:14
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `ConversationStatus | SQLCoreOperations[ConversationStatus]` in function `models.model.Conversation.__init__` [bad-argument-type]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:130:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:124:16
 ERROR Object of class `HumanInputFormReference` has no attribute `submitted` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:348:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:342:16
 ERROR Object of class `HumanInputFormReference` has no attribute `form_submission_data` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:350:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:344:16
 ERROR Object of class `object` has no attribute `action_id` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:351:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:345:16
 ERROR Object of class `object` has no attribute `action_text` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:352:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:346:16
 ERROR Object of class `object` has no attribute `rendered_content` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:353:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:347:16
 ERROR Object of class `object` has no attribute `node_id` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:354:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:348:16
 ERROR Object of class `object` has no attribute `node_title` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:355:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:349:16
 ERROR Object of class `HumanInputFormReference` has no attribute `form_submission_data` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:386:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:380:16
 ERROR Object of class `object` has no attribute `submitted_data` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:387:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:381:16
 ERROR Object of class `HumanInputFormReference` has no attribute `form_submission_data` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:474:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:468:16
 ERROR Object of class `object` has no attribute `submitted_data` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:475:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:469:16
 ERROR Object of class `object` has no attribute `rendered_content` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:476:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:470:16
 ERROR Object of class `HumanInputFormReference` has no attribute `submitted` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:517:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:511:16
 ERROR Object of class `HumanInputFormReference` has no attribute `form_definition` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:519:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:513:16
 ERROR Object of class `object` has no attribute `form_id` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:521:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:515:16
 ERROR Object of class `object` has no attribute `node_id` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:522:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:516:16
 ERROR Object of class `object` has no attribute `node_title` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:523:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:517:16
 ERROR Object of class `object` has no attribute `form_content` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:524:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:518:16
 ERROR Object of class `object` has no attribute `display_in_ui` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:525:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:519:16
 ERROR Object of class `object` has no attribute `form_token` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:526:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:520:16
 ERROR Object of class `object` has no attribute `resolved_default_values` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:527:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:521:16
 ERROR Object of class `object` has no attribute `expiration_time` [missing-attribute]
-   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:528:16
+   --> tests/e2e_tests/containers/repositories/test_sqlalchemy_execution_extra_content_repository.py:522:16
 ERROR Argument `str | None` is not assignable to parameter `tenant_id` with type `str` in function `_create_node_execution_model` [bad-argument-type]
    --> tests/e2e_tests/containers/repositories/test_sqlalchemy_workflow_node_execution_repository.py:184:23
 ERROR Argument `str | None` is not assignable to parameter `tenant_id` with type `str` in function `_create_node_execution_model` [bad-argument-type]
@@ -801,9 +807,9 @@
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
   --> tests/e2e_tests/containers/services/test_file_service.py:76:20
 ERROR Argument `Literal['owner']` is not assignable to parameter `role` with type `SQLCoreOperations[TenantAccountRole] | TenantAccountRole` in function `models.account.TenantAccountJoin.__init__` [bad-argument-type]
-  --> tests/e2e_tests/containers/services/test_human_input_delivery_test.py:45:18
+  --> tests/e2e_tests/containers/services/test_human_input_delivery_test.py:40:18
 ERROR Argument `Literal['emoji']` is not assignable to parameter `icon_type` with type `IconType | SQLCoreOperations[IconType | None] | None` in function `models.model.App.__init__` [bad-argument-type]
-  --> tests/e2e_tests/containers/services/test_human_input_delivery_test.py:54:19
+  --> tests/e2e_tests/containers/services/test_human_input_delivery_test.py:49:19
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
   --> tests/e2e_tests/containers/services/test_message_export_service.py:53:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
@@ -1221,123 +1227,123 @@
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
   --> tests/e2e_tests/containers/services/tools/test_mcp_tools_manage_service.py:72:20
 ERROR Argument `list[ToolParameter] | None` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:752:20
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:754:20
 ERROR Type `None` is not iterable [not-iterable]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:753:32
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:755:32
 ERROR Type `None` is not iterable [not-iterable]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:754:32
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:756:32
 ERROR Argument `list[ToolParameter] | None` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:763:20
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:765:20
 ERROR Type `None` is not iterable [not-iterable]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:764:34
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:766:34
 ERROR Argument `list[ToolParameter] | None` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:778:20
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:780:20
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:779:16
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:781:16
 ERROR Argument `list[ToolParameter] | None` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:787:20
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:789:20
 ERROR Argument `list[ToolParameter] | None` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:795:20
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:797:20
 ERROR Type `None` is not iterable [not-iterable]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:804:33
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:806:33
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:805:16
+   --> tests/e2e_tests/containers/services/tools/test_tools_transform_service.py:807:16
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:109:38
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:111:38
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:113:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:115:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:188:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:190:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:208:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:210:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:223:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:225:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:257:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:259:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:273:27
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:275:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:290:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:292:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:323:27
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:325:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:340:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:342:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:369:27
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:371:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:395:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:397:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:425:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:427:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:442:27
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:444:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:459:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:461:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:494:27
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:496:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:510:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:512:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:546:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:548:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:559:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:561:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:592:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:594:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:606:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:608:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:624:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:626:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:625:30
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:627:30
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:671:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:673:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:683:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:685:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:704:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:706:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:705:30
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:707:30
 ERROR Object of class `NoneType` has no attribute `name` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:715:16
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:717:16
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:743:27
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:745:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:760:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:762:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:790:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:792:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:804:51
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:806:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:813:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:815:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:814:30
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:816:30
 ERROR Object of class `NoneType` has no attribute `name` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:827:16
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:829:16
 ERROR Object of class `NoneType` has no attribute `updated_at` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:828:16
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:830:16
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:892:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:894:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:970:23
+   --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:972:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1014:27
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1016:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1031:51
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1033:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1055:23
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1057:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1066:54
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1068:54
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1071:77
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1073:77
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1088:83
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1090:83
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1102:80
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1104:80
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1114:79
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1116:79
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1126:78
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1128:78
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1139:23
+    --> tests/e2e_tests/containers/services/tools/test_workflow_tools_manage_service.py:1141:23
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
    --> tests/e2e_tests/containers/services/workflow/test_workflow_converter.py:107:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
@@ -1668,11 +1674,11 @@
    --> tests/e2e_tests/contracts/core/workflow/graph_engine/test_parallel_human_input_join_resume.py:137:9
 ERROR Argument `_TestFileReferenceFactory` is not assignable to parameter `file_reference_factory` with type `DifyFileReferenceFactory | None` in function `core.workflow.nodes.human_input.callback.DifyHITLCallback.__init__` [bad-argument-type]
    --> tests/e2e_tests/contracts/core/workflow/graph_engine/test_parallel_human_input_join_resume.py:205:32
-ERROR Argument `core.workflow.nodes.human_input.entities.HumanInputNodeData` is not assignable to parameter `data` with type `graphon.nodes.human_input.entities.HumanInputNodeData` in function `graphon.nodes.human_input.human_input_node.HumanInputNode.__init__` [bad-argument-type]
+ERROR Argument `models.human_input_entities.HumanInputNodeData` is not assignable to parameter `data` with type `graphon.nodes.human_input.entities.HumanInputNodeData` in function `graphon.nodes.human_input.human_input_node.HumanInputNode.__init__` [bad-argument-type]
    --> tests/e2e_tests/contracts/core/workflow/graph_engine/test_parallel_human_input_join_resume.py:209:14
 ERROR Argument `_TestFileReferenceFactory` is not assignable to parameter `file_reference_factory` with type `DifyFileReferenceFactory | None` in function `core.workflow.nodes.human_input.callback.DifyHITLCallback.__init__` [bad-argument-type]
    --> tests/e2e_tests/contracts/core/workflow/graph_engine/test_parallel_human_input_join_resume.py:221:32
-ERROR Argument `core.workflow.nodes.human_input.entities.HumanInputNodeData` is not assignable to parameter `data` with type `graphon.nodes.human_input.entities.HumanInputNodeData` in function `graphon.nodes.human_input.human_input_node.HumanInputNode.__init__` [bad-argument-type]
+ERROR Argument `models.human_input_entities.HumanInputNodeData` is not assignable to parameter `data` with type `graphon.nodes.human_input.entities.HumanInputNodeData` in function `graphon.nodes.human_input.human_input_node.HumanInputNode.__init__` [bad-argument-type]
    --> tests/e2e_tests/contracts/core/workflow/graph_engine/test_parallel_human_input_join_resume.py:225:14
 ERROR Argument `SSRFProxy` is not assignable to parameter `http_client` with type `HttpClientProtocol` in function `graphon.nodes.http_request.executor.Executor.__init__` [bad-argument-type]
   --> tests/e2e_tests/contracts/core/workflow/nodes/http_request/test_http_request_executor.py:64:21
@@ -1797,13 +1803,13 @@
 ERROR Argument `Iterator[ToolRuntimeMessage]` is not assignable to parameter `messages` with type `Generator[ToolRuntimeMessage]` in function `graphon.nodes.tool.tool_node.ToolNode._transform_message` [bad-argument-type]
    --> tests/e2e_tests/contracts/core/workflow/nodes/tool/test_tool_node.py:141:18
 ERROR `-` is not supported between `None` and `datetime` [unsupported-operation]
-  --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:64:21
+  --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:59:21
 ERROR `-` is not supported between `None` and `datetime` [unsupported-operation]
-  --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:75:21
+  --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:70:21
 ERROR `<=` is not supported between `datetime` and `None` [unsupported-operation]
-   --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:120:16
+   --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:115:16
 ERROR `<=` is not supported between `None` and `datetime` [unsupported-operation]
-   --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:120:16
+   --> tests/e2e_tests/contracts/libs/_human_input/test_models.py:115:16
 ERROR `*` is not supported between `float` and `str` [unsupported-operation]
   --> tests/e2e_tests/knowledge_fs_vector/test_backends.py:54:37
 ERROR `*` is not supported between `str` and `float` [unsupported-operation]
@@ -2169,21 +2175,21 @@
 ERROR Object of class `FromClause` has no attribute `create` [missing-attribute]
    --> tests/unit_tests/controllers/console/app/test_app.py:173:13
 ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `page` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/app/test_app.py:665:55
+   --> tests/unit_tests/controllers/console/app/test_app.py:661:55
 ERROR Object of class `App` has no attribute `create_user_name` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_app.py:759:5
+   --> tests/unit_tests/controllers/console/app/test_app.py:755:5
 ERROR Object of class `App` has no attribute `permission_keys` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_app.py:761:5
+   --> tests/unit_tests/controllers/console/app/test_app.py:757:5
 ERROR Object of class `App` has no attribute `permission_keys` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_app.py:959:82
+   --> tests/unit_tests/controllers/console/app/test_app.py:955:82
 ERROR Object of class `App` has no attribute `permission_keys` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_app.py:990:9
+   --> tests/unit_tests/controllers/console/app/test_app.py:986:9
 ERROR Object of class `App` has no attribute `permission_keys` [missing-attribute]
-    --> tests/unit_tests/controllers/console/app/test_app.py:1003:37
+   --> tests/unit_tests/controllers/console/app/test_app.py:999:37
 ERROR Object of class `App` has no attribute `permission_keys` [missing-attribute]
-    --> tests/unit_tests/controllers/console/app/test_app.py:1075:9
+    --> tests/unit_tests/controllers/console/app/test_app.py:1071:9
 ERROR `str` is not assignable to dict key `strategy` with type `bool | list[Unknown]` [bad-assignment]
-    --> tests/unit_tests/controllers/console/app/test_app.py:1113:38
+    --> tests/unit_tests/controllers/console/app/test_app.py:1109:38
 ERROR Argument `str | None` is not assignable to parameter `tenant_id` with type `SQLCoreOperations[str] | str` in function `models.model.App.__init__` [bad-argument-type]
    --> tests/unit_tests/controllers/console/app/test_app_import.py:135:31
 ERROR Cannot index into `object` [bad-index]
@@ -2303,11 +2309,15 @@
 ERROR Argument `(ParamSpec(Unknown)) -> Response | Unknown` is not assignable to parameter `func` with type `(...) -> Any` in function `inspect.unwrap` [bad-argument-type]
    --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_datasource_auth.py:828:33
 ERROR Object of class `FromClause` has no attribute `create` [missing-attribute]
-  --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:83:9
+  --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:99:9
 ERROR Argument `(ParamSpec(Unknown)) -> Response | Unknown` is not assignable to parameter `func` with type `(...) -> Any` in function `inspect.unwrap` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:303:25
+   --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:319:25
 ERROR Argument `(ParamSpec(Unknown)) -> Response | Unknown` is not assignable to parameter `func` with type `(...) -> Any` in function `inspect.unwrap` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:334:25
+   --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:350:25
+ERROR Object of class `object` has no attribute `id` [missing-attribute]
+   --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:515:12
+ERROR Object of class `object` has no attribute `kind` [missing-attribute]
+   --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline.py:516:12
 ERROR Unexpected keyword argument `created_at` in function `models.workflow.WorkflowNodeExecutionModel.__init__` [unexpected-keyword]
    --> tests/unit_tests/controllers/console/datasets/rag_pipeline/test_rag_pipeline_workflow.py:876:9
 ERROR Argument `datetime | None` is not assignable to parameter `value` with type `SQLCoreOperations[datetime] | datetime` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
@@ -2401,13 +2411,13 @@
 ERROR Generator function should return `Generator` [bad-return]
   --> tests/unit_tests/controllers/console/tag/test_tags.py:66:23
 ERROR Argument `SimpleNamespace` is not assignable to parameter `form` with type `Form` in function `controllers.console.human_input_form._jsonify_form_definition` [bad-argument-type]
-  --> tests/unit_tests/controllers/console/test_human_input_form.py:94:41
+  --> tests/unit_tests/controllers/console/test_human_input_form.py:93:41
 ERROR Argument `SimpleNamespace` is not assignable to parameter `form` with type `Form` in function `controllers.console.human_input_form.ConsoleHumanInputFormApi._ensure_console_access` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/test_human_input_form.py:105:57
+   --> tests/unit_tests/controllers/console/test_human_input_form.py:104:57
 ERROR Argument `(ParamSpec(Unknown)) -> Response | Unknown` is not assignable to parameter `func` with type `(...) -> Any` in function `inspect.unwrap` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/test_human_input_form.py:131:22
+   --> tests/unit_tests/controllers/console/test_human_input_form.py:130:22
 ERROR Argument `(ParamSpec(Unknown)) -> Response | Unknown` is not assignable to parameter `func` with type `(...) -> Any` in function `inspect.unwrap` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/test_human_input_form.py:152:22
+   --> tests/unit_tests/controllers/console/test_human_input_form.py:151:22
 ERROR Type `Response` is not iterable [not-iterable]
    --> tests/unit_tests/controllers/console/test_wraps.py:306:17
 ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `page` [bad-argument-type]
@@ -3045,7 +3055,7 @@
 ERROR Argument `dict[str, list[dict[VariableEntityType, dict[str, str]]]]` is not assignable to parameter `config` with type `AppModelConfigDict` in function `core.app.app_config.easy_ui_based_app.variables.manager.BasicVariablesConfigManager.convert` [bad-argument-type]
   --> tests/unit_tests/core/app/app_config/easy_ui_based_app/variables/test_manager.py:85:67
 ERROR Expected a mapping, got object | None [invalid-argument]
-  --> tests/unit_tests/core/app/apps/advanced_chat/test_app_config_manager.py:41:29
+  --> tests/unit_tests/core/app/apps/advanced_chat/test_app_config_manager.py:43:29
 ERROR Argument `SimpleNamespace` is not assignable to parameter `args` with type `LoopNodeRunPayload` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.single_loop_generate` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:225:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `args` with type `LoopNodeRunPayload` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.single_loop_generate` [bad-argument-type]
@@ -3161,11 +3171,11 @@
 ERROR Argument `list[VariableBase]` is not assignable to parameter `workflow_variables` with type `list[object]` in function `_runner` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_runner.py:143:29
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:129:16
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:131:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:130:16
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:132:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:131:16
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:133:16
 ERROR `SimpleNamespace` is not assignable to attribute `_application_generate_entity` with type `AdvancedChatAppGenerateEntity` [bad-assignment]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline.py:106:45
 ERROR `SimpleNamespace` is not assignable to attribute `_base_task_pipeline` with type `BasedGenerateTaskPipeline[Unknown]` [bad-assignment]
@@ -3483,23 +3493,23 @@
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/chat/test_app_generator.py:491:49
 ERROR Object of class `NoneType` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1175:20
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1170:20
 ERROR Class member `_RecordingWorkflowAppRunner._publish_event` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1477:9
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1472:9
 ERROR Object of class `StreamResponse` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1737:16
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1732:16
 ERROR Object of class `StreamResponse` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1738:16
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1733:16
 ERROR Object of class `StreamResponse` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1741:16
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1736:16
 ERROR Object of class `StreamResponse` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1759:16
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1754:16
 ERROR Object of class `StreamResponse` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1760:16
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1755:16
 ERROR Object of class `StreamResponse` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1763:16
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1758:16
 ERROR Object of type `FileInputConfig | FileListInputConfig | ParagraphInputConfig | SelectInputConfig` has no attribute `option_source` [missing-attribute]
-    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1815:16
+    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:1810:16
 ERROR Argument `dict[str, dict[str, str]]` is not assignable to parameter `override_config_dict` with type `AppModelConfigDict | None` in function `core.app.apps.completion.app_config_manager.CompletionAppConfigManager.get_app_config` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/completion/test_app_config_manager.py:49:34
 ERROR Argument `dict[str, bool]` is not assignable to parameter `annotation_reply` with type `AnnotationReplyDisabledConfig | AnnotationReplyEnabledConfig | None` in function `core.app.apps.completion.app_config_manager.CompletionAppConfigManager.get_app_config` [bad-argument-type]
@@ -3529,11 +3539,13 @@
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/completion/test_generate_response_converter.py:175:16
 ERROR Class `PipelineRunner` has no class attribute `call_args` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generator.py:444:21
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generator.py:422:21
+ERROR Argument `Literal['invalid']` is not assignable to parameter `datasource_type` with type `DatasourceProviderType` in function `services.rag_pipeline.document_preparation.prepare_pipeline_document` [bad-argument-type]
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generator.py:651:29
 ERROR Object of class `Account` has no attribute `tenant_id` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/test_base_app_generator.py:609:9
+   --> tests/unit_tests/core/app/apps/test_base_app_generator.py:610:9
 ERROR `list[str]` is not assignable to attribute `allowed_file_types` with type `Sequence[FileType] | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/test_base_app_generator.py:770:35
+   --> tests/unit_tests/core/app/apps/test_base_app_generator.py:784:35
 ERROR Argument `object` is not assignable to parameter `task_id` with type `str` in function `core.app.apps.base_app_queue_manager.AppQueueManager.__init__` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/test_base_app_queue_manager.py:23:26
 ERROR Argument `object` is not assignable to parameter `user_id` with type `str` in function `core.app.apps.base_app_queue_manager.AppQueueManager.__init__` [bad-argument-type]
@@ -3688,7 +3700,7 @@
     --> tests/unit_tests/core/app/apps/test_workflow_app_runner.py:1004:59
 ERROR Argument `_DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner.__init__` [bad-argument-type]
     --> tests/unit_tests/core/app/apps/test_workflow_app_runner.py:1056:55
-ERROR Argument `_DummyWorkflowEntry` is not assignable to parameter `workflow_entry` with type `WorkflowEntry` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner.handle_event` [bad-argument-type]
+ERROR Argument `_DummyWorkflowEntry` is not assignable to parameter `workflow_entry` with type `WorkflowRunEntry` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner.handle_event` [bad-argument-type]
     --> tests/unit_tests/core/app/apps/test_workflow_app_runner.py:1073:29
 ERROR Argument `tuple[Literal['layer']]` is not assignable to parameter `graph_engine_layers` with type `Sequence[Layer]` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/workflow/test_app_generator.py:398:33
@@ -3702,6 +3714,8 @@
    --> tests/unit_tests/core/app/apps/workflow/test_app_generator.py:497:16
 ERROR Argument `RuntimeState | None` is not assignable to parameter `graph_runtime_state` with type `RuntimeState` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/workflow/test_app_generator.py:641:35
+ERROR Argument `(runner: WorkflowBasedAppRunner, _pause_config: PauseStateLayerConfig | None, _executions: WorkflowExecutionRepository, _nodes: WorkflowNodeExecutionRepository) -> None` is not assignable to parameter `execution_driver` with type `WorkflowRunDriver` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.__init__` [bad-argument-type]
+   --> tests/unit_tests/core/app/apps/workflow/test_app_generator.py:885:59
 ERROR No matching overload found for function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.generate` called with arguments: (app_model=App, workflow=Workflow, user=Account | EndUser, execution_identity=WorkflowExecutionIdentity, args=dict[str, dict[@_, @_]], invoke_from=Literal[InvokeFrom.SERVICE_API], streaming=Literal[False]) [no-matching-overload]
    --> tests/unit_tests/core/app/apps/workflow/test_app_generator.py:896:31
 ERROR Argument `SimpleNamespace` is not assignable to parameter `args` with type `LoopNodeRunPayload` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.single_loop_generate` [bad-argument-type]
@@ -3735,17 +3749,17 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `RuntimeState | None` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator._generate_worker` [bad-argument-type]
     --> tests/unit_tests/core/app/apps/workflow/test_app_generator.py:1533:37
 ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:75:16
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:77:16
 ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:76:16
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:78:16
 ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:77:16
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:79:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:121:16
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:123:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:122:16
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:124:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:133:16
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:135:16
 ERROR `sessionmaker[Session]` is not assignable to attribute `_database_session` with type `() -> _GeneratorContextManager[Session]` [bad-assignment]
    --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline.py:121:34
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline.__init__` [bad-argument-type]
@@ -3992,8 +4006,6 @@
    --> tests/unit_tests/core/llm_generator/output_parser/test_structured_output.py:391:16
 ERROR `in` is not supported between `str` and `None` [not-iterable]
    --> tests/unit_tests/core/llm_generator/output_parser/test_structured_output.py:402:16
-ERROR Argument `() -> Session` is not assignable to parameter `session_factory` with type `sessionmaker[@_]` in function `sqlalchemy.orm.scoping.scoped_session.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/llm_generator/test_llm_generator.py:159:35
 ERROR Keyword argument `access_token` with type `Literal['at']` is not assignable to parameter `**kwargs` with type `dict[str, str]` in function `typing.MutableMapping.update` [bad-argument-type]
     --> tests/unit_tests/core/mcp/auth/test_auth_flow.py:1363:50
 ERROR Keyword argument `token_type` with type `Literal['Bearer']` is not assignable to parameter `**kwargs` with type `dict[str, str]` in function `typing.MutableMapping.update` [bad-argument-type]
@@ -4341,11 +4353,11 @@
 ERROR Argument `list[MockMessage]` is not assignable to parameter `messages` with type `Sequence[Message]` in function `core.prompt.utils.extract_thread_messages.extract_thread_messages` [bad-argument-type]
    --> tests/unit_tests/core/prompt/utils/test_extract_thread_messages.py:136:38
 ERROR Argument `dict[str, str]` is not assignable to parameter `reranking_model` with type `RerankingModelDict | None` in function `core.rag.data_post_processor.data_post_processor.DataPostProcessor.__init__` [bad-argument-type]
-  --> tests/unit_tests/core/rag/data_post_processor/test_data_post_processor.py:28:37
+  --> tests/unit_tests/core/rag/data_post_processor/test_data_post_processor.py:30:37
 ERROR Argument `dict[str, str]` is not assignable to parameter `weights` with type `WeightsDict | None` in function `core.rag.data_post_processor.data_post_processor.DataPostProcessor.__init__` [bad-argument-type]
-  --> tests/unit_tests/core/rag/data_post_processor/test_data_post_processor.py:29:29
+  --> tests/unit_tests/core/rag/data_post_processor/test_data_post_processor.py:31:29
 ERROR Argument `dict[str, str]` is not assignable to parameter `reranking_model` with type `RerankingModelDict | None` in function `core.rag.data_post_processor.data_post_processor.DataPostProcessor._get_rerank_model_instance` [bad-argument-type]
-   --> tests/unit_tests/core/rag/data_post_processor/test_data_post_processor.py:192:33
+   --> tests/unit_tests/core/rag/data_post_processor/test_data_post_processor.py:198:33
 ERROR Object of class `ModuleType` has no attribute `analyse` [missing-attribute]
   --> tests/unit_tests/core/rag/datasource/keyword/jieba/test_jieba_keyword_table_handler.py:32:5
 ERROR Object of class `ModuleType` has no attribute `default_tfidf` [missing-attribute]
@@ -4373,105 +4385,157 @@
 ERROR Object of class `NoneType` has no attribute `indexing_status` [missing-attribute]
    --> tests/unit_tests/core/rag/index_processor/test_index_processor.py:240:16
 ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
-    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1270:9
+    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1276:9
 ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
-    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1327:9
+    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1333:9
 ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
-    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1375:9
+    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1384:9
 ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
-    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1422:9
+    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1434:9
 ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
-    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1458:9
+    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1473:9
 ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
-    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1492:9
+    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1510:9
 ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
-    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1535:9
+    --> tests/unit_tests/core/rag/rerank/test_rerank_model.py:1556:9
 ERROR Object of class\n\n... (truncated) ...

@41tair
41tair added this pull request to stack #43700 October 8, 2026 10:47
@41tair
41tair force-pushed the refactor/api-76-10-3 branch from dbca91b to e63fe29 Compare October 9, 2026 04:37
@github-actions github-actions Bot added the web This relates to changes on the web. label Oct 9, 2026
@codecov

codecov Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.70312% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.23%. Comparing base (5425e35) to head (f164ea5).

Files with missing lines Patch % Lines
api/controllers/common/errors.py 92.30% 4 Missing ⚠️
...controllers/console/app/workflow_draft_variable.py 96.29% 1 Missing and 1 partial ⚠️
...rollers/console/app/workflow_variable_admission.py 95.12% 2 Missing ⚠️
...onsole/snippets/snippet_workflow_draft_variable.py 95.45% 1 Missing and 1 partial ⚠️
api/fields/workflow_draft_variable_fields.py 66.66% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@                   Coverage Diff                    @@
##           refactor/api-76-10-2   #43687      +/-   ##
========================================================
+ Coverage                 70.13%   70.23%   +0.09%     
========================================================
  Files                      6273     6273              
  Lines                    389492   389275     -217     
  Branches                  81262    81223      -39     
========================================================
+ Hits                     273162   273394     +232     
+ Misses                   112429   111943     -486     
- Partials                   3901     3938      +37     
Flag Coverage Δ
api 56.06% <95.70%> (+0.15%) ⬆️
cli 94.26% <ø> (ø)
dify-ui 92.64% <ø> (ø)
web 89.83% <ø> (+<0.01%) ⬆️

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.

@41tair
41tair removed this pull request from stack #43700 October 9, 2026 09:41
@41tair
41tair added this pull request to stack #43755 October 9, 2026 09:42
@41tair
41tair marked this pull request as ready for review October 9, 2026 09:49
# Conflicts:
#	api/controllers/common/errors.py
#	api/controllers/console/__init__.py
#	api/controllers/console/app/workflow_draft_variable.py
#	api/controllers/console/datasets/rag_pipeline/rag_pipeline_draft_variable.py
#	api/controllers/console/snippets/snippet_workflow_draft_variable.py
#	api/controllers/service_api/__init__.py
#	packages/contracts/generated/api/console/rag/zod.gen.ts
41tair and others added 30 commits October 26, 2026 20:18
# Conflicts:
#	api/controllers/common/errors.py
#	api/controllers/console/__init__.py
#	api/extensions/ext_application_services.py
#	api/tests/unit_tests/controllers/common/test_errors.py
#	api/tests/unit_tests/controllers/console/app/test_app.py
#	packages/contracts/generated/api/console/apps/errors.gen.ts
#	packages/contracts/generated/api/console/errors.gen.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: top ghfind author score; see https://ghfind.com size:XXL This PR changes 1000+ 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.

1 participant