Skip to content

refactor(workflow): adapt to Graphon engine architecture - #40277

Draft
laipz8200 wants to merge 18 commits into
mainfrom
laipz8200/adapt-graphon-engine-architecture
Draft

refactor(workflow): adapt to Graphon engine architecture#40277
laipz8200 wants to merge 18 commits into
mainfrom
laipz8200/adapt-graphon-engine-architecture

Conversation

@laipz8200

Copy link
Copy Markdown
Member

Summary

  • upgrade API and dify-agent integrations to the refactored Graphon engine architecture
  • migrate engine, runtime state, events, layers, commands, and container ownership handling to the new APIs
  • preserve Dify workflow, Chatflow, pipeline, pause/resume, and nested container behavior across the migration

Dependency

This PR must remain a draft and wait for langgenius/graphon#249 to merge and for a new Graphon version to be published. Before this PR is ready to merge, replace the pinned Graphon commit with that released version.

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Type Coverage

Metric Base PR Delta
Type coverage 61.32% 61.37% +0.06%
Strict coverage 60.91% 60.97% +0.06%
Typed symbols 42,274 42,398 +124
Untyped symbols 26,848 26,859 +11
Modules 3268 3275 +7

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-08-26 21:08:01.900164741 +0000
+++ /tmp/pyrefly_pr.txt	2026-08-26 21:07:53.607090293 +0000
@@ -581,19 +581,19 @@
 ERROR Class member `TestClickZettaVolumeStorage.setUp` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
   --> tests/integration_tests/storage/test_clickzetta_volume.py:19:9
 ERROR Argument `SSRFProxy` is not assignable to parameter `http_client` with type `HttpClientProtocol | None` in function `graphon.nodes.http_request.node.HttpRequestNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/workflow/nodes/test_http.py:83:21
+  --> tests/integration_tests/workflow/nodes/test_http.py:85:21
 ERROR Argument `type[ToolFileManager]` is not assignable to parameter `tool_file_manager_factory` with type `(() -> ToolFileManagerProtocol) | None` in function `graphon.nodes.http_request.node.HttpRequestNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/workflow/nodes/test_http.py:84:35
+  --> tests/integration_tests/workflow/nodes/test_http.py:86:35
 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/integration_tests/workflow/nodes/test_http.py:241:25
+   --> tests/integration_tests/workflow/nodes/test_http.py:243:25
 ERROR Argument `SSRFProxy` is not assignable to parameter `http_client` with type `HttpClientProtocol | None` in function `graphon.nodes.http_request.node.HttpRequestNode.__init__` [bad-argument-type]
-   --> tests/integration_tests/workflow/nodes/test_http.py:730:21
+   --> tests/integration_tests/workflow/nodes/test_http.py:734:21
 ERROR Argument `type[ToolFileManager]` is not assignable to parameter `tool_file_manager_factory` with type `(() -> ToolFileManagerProtocol) | None` in function `graphon.nodes.http_request.node.HttpRequestNode.__init__` [bad-argument-type]
-   --> tests/integration_tests/workflow/nodes/test_http.py:731:35
+   --> tests/integration_tests/workflow/nodes/test_http.py:735:35
 ERROR Object of class `object` has no attribute `strip` [missing-attribute]
-  --> tests/integration_tests/workflow/test_response_stream_filter_integration.py:74:12
+  --> tests/integration_tests/workflow/test_response_stream_filter_integration.py:72:12
 ERROR Object of class `object` has no attribute `strip` [missing-attribute]
-  --> tests/integration_tests/workflow/test_response_stream_filter_integration.py:75:37
+  --> tests/integration_tests/workflow/test_response_stream_filter_integration.py:73:37
 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]
    --> tests/integration_tests/workflow/test_response_stream_filter_pause_resume_integration.py:113:14
 ERROR Argument `SimpleNamespace` is not assignable to parameter `webapp_settings` with type `WebAppSettings | None` in function `controllers.web.wraps._validate_user_accessibility` [bad-argument-type]
@@ -611,9 +611,9 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `webapp_settings` with type `WebAppSettings | None` in function `controllers.web.wraps._validate_user_accessibility` [bad-argument-type]
    --> tests/test_containers_integration_tests/controllers/web/test_wraps.py:183:33
 ERROR Attribute `file_service` of class `TestPauseStatePersistenceLayerTestContainers` is a read-only descriptor with no `__set__` and cannot be set [read-only]
-   --> tests/test_containers_integration_tests/core/app/layers/test_pause_state_persist_layer.py:173:9
+   --> tests/test_containers_integration_tests/core/app/layers/test_pause_state_persist_layer.py:172:9
 ERROR Attribute `workflow_run_service` of class `TestPauseStatePersistenceLayerTestContainers` is a read-only descriptor with no `__set__` and cannot be set [read-only]
-   --> tests/test_containers_integration_tests/core/app/layers/test_pause_state_persist_layer.py:174:9
+   --> tests/test_containers_integration_tests/core/app/layers/test_pause_state_persist_layer.py:173:9
 ERROR Argument `Connection | Engine` is not assignable to parameter `session_factory` with type `Engine | sessionmaker[Session]` in function `core.app.layers.pause_state_persist_layer.PauseStatePersistenceLayer.__init__` [bad-argument-type]
    --> tests/test_containers_integration_tests/core/app/layers/test_pause_state_persist_layer.py:312:29
 ERROR Argument `dict[str, str]` is not assignable to parameter `outputs` with type `dict[str, object] | None` in function `TestPauseStatePersistenceLayerTestContainers._create_graph_runtime_state` [bad-argument-type]
@@ -705,7 +705,7 @@
 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/test_containers_integration_tests/helpers/execution_extra_content.py:48:14
 ERROR Returned type `int | str` is not assignable to declared return type `str` [bad-return]
-   --> tests/test_containers_integration_tests/libs/broadcast_channel/redis/test_sharded_channel.py:363:16
+   --> tests/test_containers_integration_tests/libs/broadcast_channel/redis/test_sharded_channel.py:367:16
 ERROR Object of class `TypeEngine` has no attribute `length` [missing-attribute]
    --> tests/test_containers_integration_tests/models/test_types_enum_text.py:104:16
 ERROR Object of class `NoneType` has no attribute `user_type` [missing-attribute]
@@ -1283,103 +1283,101 @@
 ERROR `None` is not subscriptable [unsupported-operation]
    --> tests/test_containers_integration_tests/services/tools/test_tools_transform_service.py:836:16
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:110:38
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:109:38
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:114:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:113:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:189:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:188:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:209:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:208:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:224:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:223:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:258:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:257:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:272:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:271:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:289:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:288:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:322:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:321:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:339:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:338:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:368:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:367:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:394:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:393:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:424:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:423:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:439:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:438:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:456:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:455:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:491:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:490:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:507:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:506:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:547:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:539:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:561:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:552:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:593:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:585:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:607:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:599:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:625:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:617:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:626:30
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:618:30
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:679:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:664:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:691:51
-ERROR Object of class `NoneType` has no attribute `name` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:697:25
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:676:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:714:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:697:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:715:34
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:698:30
 ERROR Object of class `NoneType` has no attribute `name` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:726:16
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:708:16
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:754:27
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:736:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:771:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:753:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:801:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:783:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:815:51
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:797:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:824:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:806:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:825:30
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:807:30
 ERROR Object of class `NoneType` has no attribute `name` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:838:16
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:820:16
 ERROR Object of class `NoneType` has no attribute `updated_at` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:839:16
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:821:16
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:900:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:882:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:975:23
+   --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:957:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1019:27
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1001:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1036:51
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1018:51
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1060:23
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1042:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1071:54
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1053:54
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1076:77
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1058:77
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1093:83
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1075:83
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1107:80
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1089:80
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1119:79
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1101:79
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1131:78
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1113:78
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1144:23
+    --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1126: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/test_containers_integration_tests/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]
@@ -2894,14 +2892,8 @@
   --> tests/unit_tests/configs/test_dify_config.py:67:32
 ERROR Unpacked keyword argument `object` is not assignable to parameter `TEMPLATE_TRANSFORM_MAX_LENGTH` with type `Decimal | bool | bytes | float | int | str` in function `_IsolatedDifyConfig.__init__` [bad-argument-type]
   --> tests/unit_tests/configs/test_dify_config.py:67:32
-ERROR Unpacked keyword argument `object` is not assignable to parameter `GRAPH_ENGINE_MIN_WORKERS` with type `Decimal | bool | bytes | float | int | str` in function `_IsolatedDifyConfig.__init__` [bad-argument-type]
-  --> tests/unit_tests/configs/test_dify_config.py:67:32
 ERROR Unpacked keyword argument `object` is not assignable to parameter `GRAPH_ENGINE_MAX_WORKERS` with type `Decimal | bool | bytes | float | int | str` in function `_IsolatedDifyConfig.__init__` [bad-argument-type]
   --> tests/unit_tests/configs/test_dify_config.py:67:32
-ERROR Unpacked keyword argument `object` is not assignable to parameter `GRAPH_ENGINE_SCALE_UP_THRESHOLD` with type `Decimal | bool | bytes | float | int | str` in function `_IsolatedDifyConfig.__init__` [bad-argument-type]
-  --> tests/unit_tests/configs/test_dify_config.py:67:32
-ERROR Unpacked keyword argument `object` is not assignable to parameter `GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME` with type `Decimal | bool | bytes | float | int | str` in function `_IsolatedDifyConfig.__init__` [bad-argument-type]
-  --> tests/unit_tests/configs/test_dify_config.py:67:32
 ERROR Unpacked keyword argument `object` is not assignable to parameter `DISABLE_TELEMETRY` with type `Decimal | bool | float | int | str` in function `_IsolatedDifyConfig.__init__` [bad-argument-type]
   --> tests/unit_tests/configs/test_dify_config.py:67:32
 ERROR Unpacked keyword argument `object` is not assignable to parameter `DO_NOT_TRACK` with type `Decimal | bool | float | int | str` in function `_IsolatedDifyConfig.__init__` [bad-argument-type]
@@ -3762,7 +3754,7 @@
    --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:578:18
 ERROR Argument `(**kwargs: Unknown) -> None` is not assignable to parameter `draft_var_saver_factory` with type `DraftVariableSaverFactory` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline.__init__` [bad-argument-type]
    --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:580:37
-ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter.workflow_pause_to_stream_response` [bad-argument-type]
+ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `RuntimeState` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter.workflow_pause_to_stream_response` [bad-argument-type]
    --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:671:33
 ERROR Argument `list[FromClause]` is not assignable to parameter `tables` with type `Sequence[Table] | None` in function `sqlalchemy.sql.schema.MetaData.create_all` [bad-argument-type]
   --> tests/unit_tests/controllers/service_api/conftest.py:39:16
@@ -4376,7 +4368,7 @@
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:247:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:248:48
-ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
+ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `RuntimeState` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:249:33
 ERROR Object of type `Generator[Mapping[str, Any] | str] | Mapping[str, Any]` has no attribute `resumed` [missing-attribute]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:253:16
@@ -4462,7 +4454,7 @@
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:795:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator._generate_worker` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:796:48
-ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState | None` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator._generate_worker` [bad-argument-type]
+ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `RuntimeState | None` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator._generate_worker` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:798:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `flask_app` with type `Flask` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator._generate_worker` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:874:23
@@ -4526,7 +4518,7 @@
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1385:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1386:48
-ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
+ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `RuntimeState` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1387:33
 ERROR Object of type `Generator[Mapping[str, Any] | str] | Mapping[str, Any]` has no attribute `ok` [missing-attribute]
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1390:16
@@ -4544,18 +4536,18 @@
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1433:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1434:48
-ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
+ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `RuntimeState` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1435:33
 ERROR Object of type `Generator[Mapping[str, Any] | str] | Mapping[str, Any]` has no attribute `ok` [missing-attribute]
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1438:16
 ERROR Argument `list[object]` is not assignable to parameter `value` with type `Sequence[VariableBase]` in function `models.workflow.Workflow.conversation_variables` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/advanced_chat/test_app_runner_conversation_variables.py:45:39
 ERROR Argument `object` is not assignable to parameter `variable` with type `VariableBase` in function `models.workflow.ConversationVariable.from_variable` [bad-argument-type]
-  --> tests/unit_tests/core/app/apps/advanced_chat/test_app_runner_conversation_variables.py:76:22
+  --> tests/unit_tests/core/app/apps/advanced_chat/test_app_runner_conversation_variables.py:77:22
 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_conversation_variables.py:109:25
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_app_runner_conversation_variables.py:110:25
 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_conversation_variables.py:126:25
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_app_runner_conversation_variables.py:127:25
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:129:16
 ERROR Cannot index into `str` [bad-index]
@@ -4601,87 +4593,87 @@
 ERROR Argument `(**kwargs: Unknown) -> None` is not assignable to parameter `draft_var_saver_factory` with type `DraftVariableSaverFactory` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:110:33
 ERROR `SimpleNamespace` is not assignable to attribute `_message_cycle_manager` with type `MessageCycleManager` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:225:43
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:226:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueTextChunkEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:233:60
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:234:60
 ERROR Argument `SimpleNamespace` is not assignable to parameter `publisher` with type `AppGeneratorTTSPublisher | None` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._listen_audio_msg` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:278:57
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:279:57
 ERROR `(err: Unknown) -> Unknown` is not assignable to attribute `error_to_stream_response` with type `(self: BasedGenerateTaskPipeline[Unknown], e: Exception) -> ErrorStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:293:65
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:294:65
 ERROR `(**kwargs: str) -> Literal['started']` is not assignable to attribute `workflow_start_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_run_id: str, workflow_id: str, reason: WorkflowStartReason) -> WorkflowStartStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:307:83
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:309:83
 ERROR `TestAdvancedChatGenerateTaskPipeline.test_handle_output_moderation_chunk_publishes_stop._Moderation` is not assignable to attribute `output_moderation_handler` with type `OutputModeration | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:341:66
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:343:66
 ERROR `SimpleNamespace` is not assignable to attribute `queue_manager` with type `AppQueueManager` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:342:54
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:344:54
 ERROR `(outputs: Unknown) -> list[dict[str, str]]` is not assignable to attribute `fetch_files_from_node_outputs` with type `(cls: type[WorkflowResponseConverter], outputs_dict: Mapping[str, Any] | None) -> Sequence[Mapping[str, Any]]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:355:79
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:357:79
 ERROR `(**kwargs: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent | str) -> Literal['done']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:358:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:360:89
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueNodeSucceededEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_node_succeeded_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:368:64
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:370:64
 ERROR `(outputs: Unknown) -> list[@_]` is not assignable to attribute `fetch_files_from_node_outputs` with type `(cls: type[WorkflowResponseConverter], outputs_dict: Mapping[str, Any] | None) -> Sequence[Mapping[str, Any]]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:375:79
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:377:79
 ERROR `(**kwargs: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent | str) -> Literal['done']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:376:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:378:89
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueNodeSucceededEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_node_succeeded_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:386:52
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:388:52
 ERROR `(outputs: Unknown) -> list[@_]` is not assignable to attribute `fetch_files_from_node_outputs` with type `(cls: type[WorkflowResponseConverter], outputs_dict: Mapping[str, Any] | None) -> Sequence[Mapping[str, Any]]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:392:79
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:394:79
 ERROR `(**kwargs: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent | str) -> Literal['done']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:393:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:395:89
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueNodeSucceededEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_node_succeeded_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:405:52
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:407:52
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueNodeSucceededEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_node_succeeded_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:406:52
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:408:52
 ERROR `(**kwargs: QueueIterationStartEvent | str) -> Literal['iter_start']` is not assignable to attribute `workflow_iteration_start_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueIterationStartEvent) -> IterationNodeStartStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:413:93
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:415:93
 ERROR `(**kwargs: QueueIterationNextEvent | str) -> Literal['iter_next']` is not assignable to attribute `workflow_iteration_next_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueIterationNextEvent) -> IterationNodeNextStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:416:92
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:418:92
 ERROR `(**kwargs: QueueIterationCompletedEvent | str) -> Literal['iter_done']` is not assignable to attribute `workflow_iteration_completed_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueIterationCompletedEvent) -> IterationNodeCompletedStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:417:97
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:419:97
 ERROR `(**kwargs: QueueLoopStartEvent | str) -> Literal['loop_start']` is not assignable to attribute `workflow_loop_start_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueLoopStartEvent) -> LoopNodeStartStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:420:88
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:422:88
 ERROR `(**kwargs: QueueLoopNextEvent | str) -> Literal['loop_next']` is not assignable to attribute `workflow_loop_next_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueLoopNextEvent) -> LoopNodeNextStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:421:87
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:423:87
 ERROR `(**kwargs: QueueLoopCompletedEvent | str) -> Literal['loop_done']` is not assignable to attribute `workflow_loop_completed_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueLoopCompletedEvent) -> LoopNodeCompletedStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:422:92
-ERROR `(**kwargs: GraphRuntimeState | int | str | None) -> Literal['finish']` is not assignable to attribute `workflow_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_id: str, status: WorkflowExecutionStatus, graph_runtime_state: GraphRuntimeState, error: str | None = None, exceptions_count: int = 0) -> WorkflowFinishStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:489:84
-ERROR `(**kwargs: GraphRuntimeState | QueueWorkflowPausedEvent | str) -> list[str]` is not assignable to attribute `workflow_pause_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueWorkflowPausedEvent, task_id: str, graph_runtime_state: GraphRuntimeState) -> list[StreamResponse]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:490:83
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:424:92
+ERROR `(**kwargs: RuntimeState | int | str | None) -> Literal['finish']` is not assignable to attribute `workflow_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_id: str, status: WorkflowExecutionStatus, graph_runtime_state: RuntimeState, error: str | None = None, exceptions_count: int = 0) -> WorkflowFinishStreamResponse` [bad-assignment]
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:492:84
+ERROR `(**kwargs: QueueWorkflowPausedEvent | RuntimeState | str) -> list[str]` is not assignable to attribute `workflow_pause_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueWorkflowPausedEvent, task_id: str, graph_runtime_state: RuntimeState) -> list[StreamResponse]` [bad-assignment]
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:493:83
 ERROR `(err: Unknown) -> Unknown` is not assignable to attribute `error_to_stream_response` with type `(self: BasedGenerateTaskPipeline[Unknown], e: Exception) -> ErrorStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:495:65
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:498:65
 ERROR `(**kwargs: Session) -> SimpleNamespace` is not assignable to attribute `_get_message` with type `(self: AdvancedChatAppGenerateTaskPipeline, *, session: Session) -> Message` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:496:33
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:499:33
 ERROR `(**kwargs: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent | str) -> Literal['node_finish']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:521:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:524:89
 ERROR `SimpleNamespace` is not assignable to attribute `_message_cycle_manager` with type `MessageCycleManager` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:556:43
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:559:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueTextChunkEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:562:47
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:565:47
 ERROR Argument `TestAdvancedChatGenerateTaskPipeline.test_handle_text_chunk_event_tracks_streaming_metrics._Publisher` is not assignable to parameter `tts_publisher` with type `AppGeneratorTTSPublisher | None` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:562:68
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:565:68
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_message` with type `MessageQueueMessage | WorkflowQueueMessage | None` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:562:96
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:565:96
 ERROR `TestAdvancedChatGenerateTaskPipeline.test_handle_output_moderation_chunk_appends_token._Moderation` is not assignable to attribute `output_moderation_handler` with type `OutputModeration | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:583:66
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:586:66
 ERROR `(**kwargs: Unknown) -> Literal['replace']` is not assignable to attribute `message_replace_to_stream_response` with type `(self: MessageCycleManager, answer: str, reason: str = '') -> MessageReplaceStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:618:78
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:621:78
 ERROR `(**kwargs: QueueHumanInputFormFilledEvent | str) -> Literal['filled']` is not assignable to attribute `human_input_form_filled_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueHumanInputFormFilledEvent, task_id: str) -> HumanInputFormFilledResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:631:92
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:634:92
 ERROR `(**kwargs: QueueHumanInputFormTimeoutEvent | str) -> Literal['timeout']` is not assignable to attribute `human_input_form_timeout_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueHumanInputFormTimeoutEvent, task_id: str) -> HumanInputFormTimeoutResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:632:93
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:635:93
 ERROR `() -> Literal['end']` is not assignable to attribute `_message_end_to_stream_response` with type `(self: AdvancedChatAppGenerateTaskPipeline) -> MessageEndStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:689:52
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:693:52
 ERROR `(answer: Unknown) -> Literal['safe']` is not assignable to attribute `handle_output_moderation_when_task_finished` with type `(self: BasedGenerateTaskPipeline[Unknown], completion: str) -> str | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:710:84
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:715:84
 ERROR `(**kwargs: Unknown) -> Literal['replace']` is not assignable to attribute `message_replace_to_stream_response` with type `(self: MessageCycleManager, answer: str, reason: str = '') -> MessageReplaceStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:711:78
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:716:78
 ERROR `() -> Literal['end']` is not assignable to attribute `_message_end_to_stream_response` with type `(self: AdvancedChatAppGenerateTaskPipeline) -> MessageEndStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:712:52
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:717:52
 ERROR `(**kwargs: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent | str) -> Literal['failed']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:728:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:733:89
 ERROR Argument `DummyAccount` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.agent_app.app_generator.AgentAppGenerator.generate` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/agent_app/test_app_generator.py:52:22
 ERROR Argument `DummyAccount` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.agent_app.app_generator.AgentAppGenerator.generate` [bad-argument-type]
@@ -4947,13 +4939,13 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:143:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:238:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:239:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:326:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:328:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:347:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:350:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:398:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:402:37
 ERROR No matching overload found for function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.generate` called with arguments: (app_model=SimpleNamespace, workflow=SimpleNamespace, user=SimpleNamespace, args=dict[str, dict[@_, @_] | str], invoke_from=Literal[InvokeFrom.SERVICE_API], workflow_run_id=Literal['workflow-run-id'], streaming=Literal[False], session=Session) [no-matching-overload]
    --> tests/unit_tests/core/app/apps/test_advanced_chat_app_generator.py:165:49
 ERROR Class member `_DummyConverter.convert_blocking_full_response` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
@@ -4968,7 +4960,7 @@
    --> tests/unit_tests/core/app/apps/test_base_app_generator.py:599:9
 ERROR Class member `DummyQueueManager._publish` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
   --> tests/unit_tests/core/app/apps/test_base_app_queue_manager.py:18:9
-ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState | None` in function `core.app.apps.base_app_queue_manager.AppQueueManager.graph_runtime_state` [bad-argument-type]
+ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `RuntimeState | None` in function `core.app.apps.base_app_queue_manager.AppQueueManager.graph_runtime_state` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/test_base_app_queue_manager.py:74:43
 ERROR Argument `list[str]` is not assignable to parameter `invoke_result` with type `Generator[Any] | LLMResult` in function `core.app.apps.base_app_runner.AppRunner._handle_invoke_result` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/test_base_app_runner.py:177:31
@@ -5015,25 +5007,25 @@
 ERROR Class member `_StubToolNode._run` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
    --> tests/unit_tests/core/app/apps/test_pause_resume.py:101:9
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `WorkflowAppGenerateEntity` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:304:37
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:303:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_execution_repository` with type `WorkflowExecutionRepository` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:310:39
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:309:39
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:311:44
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:310:44
 ERROR `+` is not supported between `list[str]` and `Generator[Mapping[str, Any] | str]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:314:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:313:12
 ERROR `+` is not supported between `list[str]` and `Mapping[str, Any]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:314:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:313:12
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `AdvancedChatAppGenerateEntity` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:351:37
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:350:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_execution_repository` with type `WorkflowExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:356:39
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:355:39
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:357:44
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:356:44
 ERROR `+` is not supported between `list[str]` and `Generator[Mapping[str, Any] | str]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:361:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:360:12
 ERROR `+` is not supported between `list[str]` and `Mapping[str, Any]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:361:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:360:12
 ERROR Class member `FakePreparedSubscriber.prepare_subscription` overrides parent class `SupportsPreparedSubscription` in an inconsistent manner [bad-override]
   --> tests/unit_tests/core/app/apps/test_streaming_utils.py:71:9
 ERROR Class member `FakePreparedSubscriber.prepare_subscription` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
@@ -5064,84 +5056,90 @@
    --> tests/unit_tests/core/app/apps/test_streaming_utils.py:219:12
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/test_streaming_utils.py:220:12
-ERROR Argument `tuple[Literal['layer']]` is not assignable to parameter `graph_engine_layers` with type `Sequence[GraphEngineLayer]` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
+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/test_workflow_app_generator.py:323:29
-ERROR Argument `tuple[Literal['base-layer']]` is not assignable to parameter `graph_engine_layers` with type `Sequence[GraphEngineLayer]` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator._generate` [bad-argument-type]
+ERROR Argument `tuple[Literal['base-layer']]` is not assignable to parameter `graph_engine_layers` with type `Sequence[Layer]` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator._generate` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/test_workflow_app_generator.py:407:33
 ERROR Cannot index into `object` [bad-index]
    --> tests/unit_tests/core/app/apps/test_workflow_app_generator.py:416:27
 ERROR Cannot index into `object` [bad-index]
    --> tests/unit_tests/core/app/apps/test_workflow_app_generator.py:419:12
 ERROR Argument `SimpleNamespace` 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_core.py:72:55
+  --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:73:55
+ERROR Argument `SimpleNamespace` 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_core.py:80:55
 ERROR Argument `SimpleNamespace` 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_core.py:79:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:113:55
 ERROR Argument `SimpleNamespace` 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_core.py:111:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:147:55
 ERROR Argument `SimpleNamespace` 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_core.py:140:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:190:55
 ERROR Argument `SimpleNamespace` 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_core.py:148:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:198:55
 ERROR Argument `dict[str, list[dict[str, str | dict[str, str]]] | list[Unknown]]` is not assignable to parameter `graph` with type `dict[str, object] | None` in function `_workflow` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:158:30
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:226:30
 ERROR Argument `SimpleNamespace` 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_core.py:203:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:277:55
 ERROR Argument `dict[str, list[dict[str, str | dict[str, str]]] | list[Unknown]]` is not assignable to parameter `graph` with type `dict[str, object] | None` in function `_workflow` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:212:30
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:287:30
 ERROR Argument `SimpleNamespace` 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_core.py:269:27
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:344:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `variable_loader` with type `VariableLoader` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:270:29
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:345:29
 ERROR Object of class `NoneType` has no attribute `value` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:341:16
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:417:16
 ERROR Argument `TestWorkflowBasedAppRunner.test_handle_graph_run_events_and_pause_notifications._QueueManager` 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_core.py:350:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:426:55
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_entry` with type `WorkflowEntry` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner._handle_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:385:30
+   -->\n\n... (truncated) ...

@codecov

codecov Bot commented Aug 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.00450% with 60 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.74%. Comparing base (0d05eae) to head (c12e680).

Files with missing lines Patch % Lines
...i/core/workflow/workflow_tool_container_handler.py 85.64% 17 Missing and 12 partials ⚠️
api/core/app/apps/workflow_app_runner.py 78.68% 7 Missing and 6 partials ⚠️
api/core/app/workflow/layers/persistence.py 76.19% 3 Missing and 2 partials ⚠️
api/core/tools/workflow_as_tool/tool.py 73.33% 4 Missing ⚠️
api/core/workflow/node_factory.py 90.90% 2 Missing and 2 partials ⚠️
api/controllers/console/app/workflow.py 50.00% 1 Missing ⚠️
api/core/app/apps/advanced_chat/app_runner.py 90.90% 1 Missing ⚠️
api/core/app/apps/workflow/app_runner.py 90.00% 1 Missing ⚠️
api/core/workflow/workflow_entry.py 95.45% 0 Missing and 1 partial ⚠️
api/tasks/async_workflow_tasks.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main   #40277    +/-   ##
========================================
  Coverage   86.74%   86.74%            
========================================
  Files        5288     5293     +5     
  Lines      304493   304924   +431     
  Branches    60853    60904    +51     
========================================
+ Hits       264132   264513   +381     
- Misses      35081    35112    +31     
- Partials     5280     5299    +19     
Flag Coverage Δ
api 86.69% <90.99%> (+<0.01%) ⬆️
dify-ui 93.75% <ø> (ø)
web 86.77% <100.00%> (-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.

@laipz8200
laipz8200 force-pushed the laipz8200/adapt-graphon-engine-architecture branch 4 times, most recently from 56a1eb9 to 938617a Compare August 22, 2026 14:01
@github-actions github-actions Bot added the web This relates to changes on the web. label Aug 22, 2026
@laipz8200
laipz8200 force-pushed the laipz8200/adapt-graphon-engine-architecture branch 3 times, most recently from 98a5cde to 9b51287 Compare August 25, 2026 13:14
Upgrade API and dify-agent to Graphon 0.7.0's refactored engine APIs, including runtime state, events, layers, commands, pause/resume, and nested container ownership.
Update persistence event fixtures, LLM renderer mocks, and structured-output serialization assertions for the refactored Graphon APIs.
Adapt Dify's TTS byte-stream boundary to Graphon's TTSChunk protocol and forward file outputs through the polling LLM override.
Patch RuntimeState after the Graphon engine rename in main's cancellation regression tests.
Pin API and dify-agent to Graphon PR #249 head 1571b7a5, including frame-scoped public edge IDs and snapshot migrations.
Pin API and dify-agent to Graphon PR 249 head c216567 and adapt the ODT extractor unit seam to its direct odfdo parser path.
Allow Engine-managed Workflow Tool nodes to pause and resume nested workflows, including Human Input, while preserving isolated runtime state and published tool inputs.
Load pinned Workflow Tool sources through a tenant-scoped repository, remove ORM payload state, and collapse redundant Human Input and publisher state.
Prime the sharded subscription before publishing and always close it after the consumer wait so an at-most-once delivery miss cannot strand the executor.
Pin API and dify-agent to the latest Graphon PR #249 commit, implement scoped factory and validation contracts, and migrate ready queue and cancellation imports after rebasing main.
Adapt Answer node queue events and their regression tests to Graphon's container_id model after rebasing the latest main branch.
@laipz8200
laipz8200 force-pushed the laipz8200/adapt-graphon-engine-architecture branch from 9b51287 to 6a26b45 Compare August 26, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

web This relates to changes on the web.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant