Repository navigation
fix(tracing): exclude called tool internals from external exports - #42823
Merged
Merged
Conversation
Contributor
Pyrefly Type Coverage
|
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (58.09%) is below the adjusted base coverage (87.86%). You can increase the head coverage or adjust the Removed Code Behavior. Additional details and impacted files@@ Coverage Diff @@
## laipz8200/graphon-workflow-tool-trace-ui #42823 +/- ##
=============================================================================
- Coverage 88.86% 58.09% -30.77%
=============================================================================
Files 5567 5567
Lines 333667 333675 +8
Branches 66782 66783 +1
=============================================================================
- Hits 296518 193863 -102655
- Misses 31974 134637 +102663
Partials 5175 5175
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
September 23, 2026 11:39
0c1f322 to
2b90b9d
Compare
Contributor
Pyrefly Diffbase → PR--- /tmp/pyrefly_base.txt 2026-10-20 16:12:06.045545497 +0000
+++ /tmp/pyrefly_pr.txt 2026-10-20 16:11:55.217451937 +0000
@@ -1069,103 +1069,101 @@
ERROR `None` is not subscriptable [unsupported-operation]
--> tests/test_containers_integration_tests/services/tools/test_tools_transform_service.py:805: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:109:38
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:108: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:113:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:112: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:188:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:187: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:208:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:207: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:223:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:222: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:257:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:256: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:273:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:272: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:290:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:289: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:323:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:322: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:340:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:339: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:369:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:368: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:395:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:394: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:425:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:424: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:442:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:441: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:459:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:458: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:494:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:493: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:510:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:509: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:553:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:545: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:567:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:558: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:599:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:591: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:613:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:605: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:631:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:623: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:632:30
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:624: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:685:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:670: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:697: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:703:25
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:682: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:720:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:703: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:721:34
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:704: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:732:16
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:714: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:760:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:742: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:777:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:759: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:807:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:789: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:821:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:803: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:830:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:812: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:831:30
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:813: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:844:16
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:826: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:845:16
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:827: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:909:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:891: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:987:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:969: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:1031:27
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1013: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:1048:51
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1030: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:1072:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1054: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:1083:54
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1065: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:1088:77
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1070: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:1105:83
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1087: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:1119:80
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1101: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:1131:79
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1113: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:1143:78
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1125: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:1156:23
+ --> tests/test_containers_integration_tests/services/tools/test_workflow_tools_manage_service.py:1138: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]
@@ -1545,7 +1543,7 @@
ERROR Argument `str | None` is not assignable to parameter `s` with type `bytearray | bytes | str` in function `json.loads` [bad-argument-type]
--> tests/unit_tests/controllers/console/app/test_model_config_api.py:895:36
ERROR Object of class `WorkflowRun` has no attribute `retry_index` [missing-attribute]
- --> tests/unit_tests/controllers/console/app/test_workflow_run_api.py:97:5
+ --> tests/unit_tests/controllers/console/app/test_workflow_run_api.py:110:5
ERROR Missing argument `app_model` in function `handler` [missing-argument]
--> tests/unit_tests/controllers/console/app/test_wraps.py:41:19
ERROR Unexpected keyword argument `app_id` in function `handler` [unexpected-keyword]
@@ -1621,9 +1619,9 @@
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:85:41
+ --> tests/unit_tests/controllers/console/test_human_input_form.py:92: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:96:57
+ --> tests/unit_tests/controllers/console/test_human_input_form.py:103:57
ERROR Type `Response` is not iterable [not-iterable]
--> tests/unit_tests/controllers/console/test_wraps.py:305:17
ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `page` [bad-argument-type]
@@ -2943,61 +2941,71 @@
ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.node_run_context` [bad-argument-type]
--> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:50:37
ERROR Argument `_RepoRecorder | Unknown` is not assignable to parameter `workflow_execution_repository` with type `WorkflowExecutionRepository` in function `services.workflow_persistence.WorkflowPersistenceLayer.__init__` [bad-argument-type]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:109:39
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:145:39
ERROR Argument `_RepoRecorder | Unknown` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `services.workflow_persistence.WorkflowPersistenceLayer.__init__` [bad-argument-type]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:110:44
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:146:44
ERROR Argument `object | None` is not assignable to parameter `trace_manager` with type `TraceQueueManager | None` in function `services.workflow_persistence.WorkflowPersistenceLayer.__init__` [bad-argument-type]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:111:23
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:147:23
ERROR Argument `None` is not assignable to parameter `command_channel` with type `CommandChannel` in function `graphon.engine.layer.base.Layer.initialize` [bad-argument-type]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:113:55
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:149:55
+ERROR Object of class `object` has no attribute `process_data` [missing-attribute]
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:203:16
+ERROR Object of class `object` has no attribute `metadata` [missing-attribute]
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:204:16
+ERROR `Literal['loop_id']` is not assignable to dict key type `WorkflowNodeExecutionMetadataKey` [bad-assignment]
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:246:90
+ERROR `None` is not subscriptable [unsupported-operation]
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:674:20
ERROR Object of class `object` has no attribute `status` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:221:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:783:16
ERROR Object of class `object` has no attribute `total_tokens` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:222:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:784:16
ERROR Object of class `object` has no attribute `total_steps` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:223:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:785:16
ERROR `SimpleNamespace` is not assignable to attribute `_graph_execution` with type `GraphExecution` [bad-assignment]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:233:42
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:795:42
ERROR Object of class `object` has no attribute `status` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:238:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:800:16
ERROR Object of class `object` has no attribute `exceptions_count` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:239:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:801:16
ERROR Object of class `object` has no attribute `total_tokens` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:240:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:802:16
ERROR Object of class `object` has no attribute `status` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:263:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:825:16
ERROR Object of class `object` has no attribute `status` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:330:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:892:16
ERROR Object of class `object` has no attribute `error_message` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:331:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:893:16
ERROR Object of class `object` has no attribute `created_at` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:349:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:911:16
ERROR Object of class `object` has no attribute `id` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:378:17
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:940:17
ERROR Object of class `object` has no attribute `status` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:430:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:992:16
ERROR Object of class `object` has no attribute `process_data` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:431:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:993:16
ERROR Object of class `object` has no attribute `process_data` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:432:25
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:994:25
ERROR Object of class `object` has no attribute `status` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:492:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1054:16
ERROR Object of class `object` has no attribute `error` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:493:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1055:16
ERROR Object of class `object` has no attribute `finished_at` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:494:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1056:16
ERROR Object of class `object` has no attribute `process_data` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:496:20
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1058:20
ERROR Object of class `object` has no attribute `process_data` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:497:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1059:16
ERROR Object of class `object` has no attribute `status` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:524:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1086:16
ERROR Object of class `object` has no attribute `finished_at` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:525:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1087:16
ERROR Object of class `object` has no attribute `process_data` [missing-attribute]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:526:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1088:16
+ERROR `None` is not subscriptable [unsupported-operation]
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1163:16
ERROR `None` is not subscriptable [unsupported-operation]
- --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:598:16
+ --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:1164:16
ERROR Argument `None` is not assignable to parameter `app_id` with type `str` in function `core.callback_handler.index_tool_callback_handler.DatasetIndexToolCallbackHandler.__init__` [bad-argument-type]
--> tests/unit_tests/core/callback_handler/test_index_tool_callback_handler.py:159:20
ERROR Argument `None` is not assignable to parameter `message_id` with type `str` in function `core.callback_handler.index_tool_callback_handler.DatasetIndexToolCallbackHandler.__init__` [bad-argument-type]
@@ -3709,27 +3717,27 @@
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `json_object` [missing-attribute]
--> tests/unit_tests/core/tools/utils/test_tool_engine_serialization.py:434:44
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/core/tools/workflow_as_tool/test_tool.py:77:56
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:78:56
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `variable_name` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:539:22
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:565:22
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `variable_value` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:539:49
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:565:49
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `text` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:547:23
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:573:23
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `json_object` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:552:12
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:578:12
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `text` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:589:12
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:615:12
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `json_object` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:594:12
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:620:12
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `variable_name` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:615:12
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:641:12
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `variable_value` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:616:12
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:642:12
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `stream` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:617:12
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:643:12
ERROR Object of type `ToolInvokeMessage.BlobChunkMessage | ToolInvokeMessage.BlobMessage | ToolInvokeMessage.FileMessage | ToolInvokeMessage.JsonMessage | ToolInvokeMessage.LogMessage | ToolInvokeMessage.RetrieverResourceMessage | ToolInvokeMessage.TextMessage | ToolInvokeMessage.VariableMessage | None` has no attribute `file_marker` [missing-attribute]
- --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:628:12
+ --> tests/unit_tests/core/tools/workflow_as_tool/test_tool.py:654:12
ERROR Object of class `IExecutionContext` has no attribute `context_vars` [missing-attribute]
--> tests/unit_tests/core/workflow/context/test_execution_context.py:320:16
ERROR Object of class `BaseModel` has no attribute `base_url` [missing-attribute]
@@ -3781,11 +3789,11 @@
ERROR Class member `EndBarrier.on_end` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
--> tests/unit_tests/core/workflow/graph_engine/layers/test_observability.py:369:17
ERROR Cannot extend final class `DifyNodeFactory` [invalid-inheritance]
- --> tests/unit_tests/core/workflow/graph_engine/test_mock_factory.py:37:23
+ --> tests/unit_tests/core/workflow/graph_engine/test_mock_factory.py:38:23
ERROR Class member `MockNodeFactory.create_node` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/graph_engine/test_mock_factory.py:86:9
+ --> tests/unit_tests/core/workflow/graph_engine/test_mock_factory.py:104:9
ERROR Cannot set item in `dict[str, type[MockAgentNode] | type[MockCodeNode] | type[MockDocumentExtractorNode] | type[MockHttpRequestNode] | type[MockIterationNode] | type[MockKnowledgeRetrievalNode] | type[MockLLMNode] | type[MockLoopNode] | type[MockParameterExtractorNode] | type[MockQuestionClassifierNode] | type[MockTemplateTransformNode] | type[MockToolNode]]` [unsupported-operation]
- --> tests/unit_tests/core/workflow/graph_engine/test_mock_factory.py:169:44
+ --> tests/unit_tests/core/workflow/graph_engine/test_mock_factory.py:187:44
ERROR Unexpected keyword argument `node_id` in function `object.__init__` [unexpected-keyword]
--> tests/unit_tests/core/workflow/graph_engine/test_mock_nodes.py:112:13
ERROR Unexpected keyword argument `data` in function `object.__init__` [unexpected-keyword]
@@ -3883,51 +3891,51 @@
ERROR `graph_runtime_state` is uninitialized [unbound-name]
--> tests/unit_tests/core/workflow/graph_engine/test_table_runner.py:391:37
ERROR Class member `FakeBindingResolver.resolve` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:145:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:154:9
ERROR Class member `ExplodingSessionStore.save_active_snapshot` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:208:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:217:9
ERROR Class member `FileOutputBackendClient._events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:227:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:236:9
ERROR Class member `PlainTextOutputBackendClient._events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:247:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:256:9
ERROR Class member `AgentMessageDeltaBackendClient._events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:265:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:274:9
ERROR Class member `FailingStreamBackendClient.stream_events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:294:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:303:9
ERROR Class member `FailingStreamBackendClient.cancel_run` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:305:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:314:9
ERROR Class member `FailingStreamBackendClient.cancel_run_and_wait` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:309:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:318:9
ERROR Class member `FailingAfterStartedStreamBackendClient.stream_events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:321:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:330:9
ERROR Class member `TerminalWithoutSnapshotBackendClient._events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:338:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:347:9
ERROR Class member `EmptyStreamBackendClient.stream_events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:355:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:364:9
ERROR Class member `GenericFailingStreamBackendClient.stream_events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:368:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:377:9
ERROR Class member `CancelFailingStreamBackendClient.cancel_run` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:381:9
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:390:9
ERROR Argument `dict[str, str]` is not assignable to parameter `node_data` with type `DifyAgentNodeData` in function `core.workflow.nodes.agent_v2.agent_node.DifyAgentNode._extract_variable_selector_to_variable_mapping` [bad-argument-type]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:482:19
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:493:19
ERROR Class member `_UnavailableParticipantStore.load_existing_node_execution_scope` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:601:13
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:648:13
ERROR Class member `_FailingSessionStore.load_or_create_node_execution_session` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:870:13
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:917:13
ERROR Attribute `graph_execution` of class `RuntimeState` is a read-only property and cannot be set [read-only]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:948:5
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:995:5
ERROR Object of class `NodeEventPayload` has no attribute `node_run_result` [missing-attribute]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1019:14
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1066:14
ERROR Class member `RetryingBackendClient._events` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1076:13
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1123:13
ERROR `dict[str, int | str] | dict[str, str]` is not assignable to attribute `output_payload` with type `dict[str, object]` [bad-assignment]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1077:35
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1124:35
ERROR Object of class `NodeEventPayload` has no attribute `node_run_result` [missing-attribute]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1097:14
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1144:14
ERROR Object of class `NodeEventPayload` has no attribute `node_run_result` [missing-attribute]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1142:14
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1189:14
ERROR Argument `dict[str, dict[str, list[dict[str, str]] | Unknown]]` is not assignable to parameter `node_data` with type `DifyAgentNodeData` in function `core.workflow.nodes.agent_v2.agent_node.DifyAgentNode._extract_variable_selector_to_variable_mapping` [bad-argument-type]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1165:19
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_agent_node.py:1212:19
ERROR Object of class `Executable` has no attribute `compile` [missing-attribute]
--> tests/unit_tests/core/workflow/nodes/agent_v2/test_binding_resolver.py:447:26
ERROR Object of class `Executable` has no attribute `compile` [missing-attribute]
@@ -4307,11 +4315,11 @@
ERROR Cannot index into `object` [bad-index]
--> tests/unit_tests/core/workflow/nodes/agent_v2/test_runtime_request_builder.py:1701:14
ERROR `not in` is not supported between `Literal['agent_workspace_binding_id']` and `None` [not-iterable]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_session_store.py:329:12
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_session_store.py:470:12
ERROR Argument `dict[str, str]` is not assignable to parameter `process_data` with type `dict[str, object] | None` in function `_execution_row` [bad-argument-type]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_session_store.py:353:69
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_session_store.py:494:69
ERROR `not in` is not supported between `Literal['agent_workspace_binding_id']` and `None` [not-iterable]
- --> tests/unit_tests/core/workflow/nodes/agent_v2/test_session_store.py:362:12
+ --> tests/unit_tests/core/workflow/nodes/agent_v2/test_session_store.py:503:12
ERROR Class member `_Version1.init_node_data` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
--> tests/unit_tests/core/workflow/nodes/base/test_get_node_type_classes_mapping.py:40:13
ERROR Class member `_Version1._get_error_strategy` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
@@ -4643,95 +4651,97 @@
ERROR `SimpleNamespace` is not assignable to attribute `_dify_context` with type `DifyRunContext` [bad-assignment]
--> tests/unit_tests/core/workflow/test_node_factory.py:409:33
ERROR Argument `SimpleNamespace` is not assignable to parameter `node_data` with type `LLMNodeData | ParameterExtractorNodeData | QuestionClassifierNodeData` in function `core.workflow.node_factory.DifyNodeFactory._wrap_model_instance_for_node` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_factory.py:863:23
+ --> tests/unit_tests/core/workflow/test_node_factory.py:864:23
ERROR Argument `_ModelInstanceStub` is not assignable to parameter `model_instance` with type `ModelInstance` in function `core.workflow.node_factory.DifyNodeFactory._wrap_model_instance_for_node` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_factory.py:864:28
+ --> tests/unit_tests/core/workflow/test_node_factory.py:865:28
ERROR `SimpleNamespace` is not assignable to attribute `runtime_state` with type `RuntimeState` [bad-assignment]
- --> tests/unit_tests/core/workflow/test_node_factory.py:1119:33
+ --> tests/unit_tests/core/workflow/test_node_factory.py:1120:33
ERROR `SimpleNamespace` is not assignable to attribute `_dify_context` with type `DifyRunContext` [bad-assignment]
- --> tests/unit_tests/core/workflow/test_node_factory.py:1249:33
-ERROR `SimpleNamespace` is not assignable to attribute `runtime_state` with type `RuntimeState` [bad-assignment]
--> tests/unit_tests/core/workflow/test_node_factory.py:1250:33
+ERROR `SimpleNamespace` is not assignable to attribute `runtime_state` with type `RuntimeState` [bad-assignment]
+ --> tests/unit_tests/core/workflow/test_node_factory.py:1251: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/core/workflow/test_node_runtime.py:64:56
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:67:56
ERROR `object | None` is not assignable to attribute `model_runtime` with type `LLMModelRuntime` [bad-assignment]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:127:30
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:130:30
ERROR Object of class `ExternalRecipient` has no attribute `reference_id` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:201:12
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:204:12
ERROR Argument `object` is not assignable to parameter `method` with type `EmailDeliveryMethod | InteractiveSurfaceDeliveryMethod` in function `core.workflow.node_runtime.apply_dify_debug_email_recipient` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:216:45
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:219:45
ERROR Argument `_ModelInstanceStub` is not assignable to parameter `model_instance` with type `ModelInstance` in function `core.workflow.node_runtime.DifyPreparedLLM.__init__` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:239:32
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:242:32
ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:258:5
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:261:5
ERROR Argument `_ModelInstanceStub` is not assignable to parameter `model_instance` with type `ModelInstance` in function `core.workflow.node_runtime.DifyPreparedLLM.__init__` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:272:32
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:275:32
ERROR Argument `_ModelInstanceStub` is not assignable to parameter `model_instance` with type `ModelInstance` in function `core.workflow.node_runtime.DifyPreparedLLM.__init__` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:280:32
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:283:32
ERROR Argument `SimpleNamespace` is not assignable to parameter `model_instance` with type `ModelInstance` in function `core.workflow.node_runtime.DifyPreparedLLM.__init__` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:307:32
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:310:32
ERROR Argument `_ModelInstanceStub` is not assignable to parameter `model_instance` with type `ModelInstance` in function `core.workflow.node_runtime.DifyPreparedPollingLLM.__init__` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:332:39
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:335:39
ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:397:5
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:400:5
ERROR Object of class `FunctionType` has no attribute `side_effect` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:431:5
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:434:5
ERROR Object of class `FunctionType` has no attribute `call_count` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:445:12
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:448:12
ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:462:5
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:465:5
ERROR Object of class `FunctionType` has no attribute `return_value` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:492:5
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:495:5
ERROR Argument `_ModelInstanceStub` is not assignable to parameter `model_instance` with type `ModelInstance` in function `core.workflow.node_runtime.DifyPreparedPollingLLM.__init__` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:529:39
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:532:39
ERROR Argument `Literal['chat']` is not assignable to parameter `model_mode` with type `LLMMode` in function `core.workflow.node_runtime.DifyPromptMessageSerializer.serialize` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:546:20
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:549:20
ERROR Object of class `NoneType` has no attribute `storage_key` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:575:12
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:578:12
ERROR Argument `object` is not assignable to parameter `variable_pool` with type `VariablePool | None` in function `core.workflow.node_runtime.DifyToolNodeRuntime.get_runtime` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:807:23
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:810:23
ERROR Object of class `object` has no attribute `tool` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:811:12
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:814:12
ERROR Object of class `object` has no attribute `parent_trace_context` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:812:12
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:815:12
ERROR Object of class `object` has no attribute `trace_session_id` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:835:5
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:838:5
ERROR Argument `object` is not assignable to parameter `variable_pool` with type `VariablePool | None` in function `core.workflow.node_runtime.DifyToolNodeRuntime.get_runtime` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:852:23
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:855:23
ERROR Object of class `object` has no attribute `trace_session_id` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:856:12
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:859:12
ERROR Argument `object` is not assignable to parameter `variable_pool` with type `VariablePool | None` in function `core.workflow.node_runtime.DifyToolNodeRuntime.get_runtime` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:884:23
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:887:23
ERROR Object of class `object` has no attribute `tool` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_node_runtime.py:887:12
+ --> tests/unit_tests/core/workflow/test_node_runtime.py:890:12
+ERROR `in` is not supported between `Literal['Maximum execution steps exceeded: 3 > 2']` and `None` [not-iterable]
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:92:16
ERROR Class member `EmptySplitKey.split` overrides parent class `UserString` in an inconsistent manner [bad-override]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:636:17
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:659:17
ERROR Class member `EmptySplitKey.split` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:636:17
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:659:17
ERROR `TestMappingUserInputsBranches.test_rejects_invalid_node_variable_key.EmptySplitKey` is not assignable to dict key type `str` [bad-assignment]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:641:35
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:664:35
ERROR Argument `TestWorkflowEntryNodeLayers.test_run_node_with_layers_reports_success.FakeNode` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.workflow.workflow_entry.WorkflowEntry._run_node_with_layers` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:745:78
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:768:78
ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:750:13
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:773:13
ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:751:13
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:774:13
ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:752:13
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:775:13
ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:753:13
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:776:13
ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:754:13
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:777:13
ERROR Argument `TestWorkflowEntryNodeLayers.test_run_node_with_layers_reports_errors.FakeNode` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.workflow.workflow_entry.WorkflowEntry._run_node_with_layers` [bad-argument-type]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:781:73
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:804:73
ERROR Object of class `FunctionType` has no attribute `call_args` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:784:20
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:807:20
ERROR Object of class `FunctionType` has no attribute `call_args` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:785:31
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:808:31
ERROR Object of class `FunctionType` has no attribute `call_args` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:786:20
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:809:20
ERROR Object of class `FunctionType` has no attribute `call_args` [missing-attribute]
- --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:787:31
+ --> tests/unit_tests/core/workflow/test_workflow_entry_helpers.py:810:31
ERROR Missing argument `case` in function `enterprise.telemetry.contracts.TelemetryEnvelope.__init__` [missing-argument]
--> tests/unit_tests/enterprise/telemetry/test_contracts.py:110:30
ERROR Missing argument `tenant_id` in function `enterprise.telemetry.contracts.TelemetryEnvelope.__init__` [missing-argument]
@@ -4752,10 +4762,26 @@
--> tests/unit_tests/events/test_events_package_compat.py:28:5
ERROR Object of class `Events` has no attribute `request_start` [missing-attribute]
--> tests/unit_tests/events/test_events_package_compat.py:33:5
-ERROR Cannot instantiate `LogstoreAPIWorkflowNodeExecutionRepository` because the following members are abstract: `get_execution_snapshots_by_workflow_run`, `delete_expired_executions`, `count_by_runs`, `delete_by_runs`, `delete_executions_by_app`, `get_expired_executions_batch`, `delete_executions_by_ids`, `get_offloads_by_execution_ids` [bad-instantiation]
- --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:18:64
-ERROR Cannot instantiate `LogstoreAPIWorkflowNodeExecutionRepository` because the following members are abstract: `get_execution_snapshots_by_workflow_run`, `delete_expired_executions`, `count_by_runs`, `delete_by_runs`, `delete_executions_by_app`, `get_expired_executions_batch`, `delete_executions_by_ids`, `get_offloads_by_execution_ids` [bad-instantiation]
- --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:27:64
+ERROR Object of class `NoneType` has no attribute `partition` [missing-attribute]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:40:38
+ERROR `<=` is not supported between `None` and `int` [unsupported-operation]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:44:20
+ERROR Cannot instantiate `LogstoreAPIWorkflowNodeExecutionRepository` because the following members are abstract: `delete_expired_executions`, `count_by_runs`, `delete_by_runs`, `get_expired_executions_batch`, `delete_executions_by_ids`, `get_offloads_by_execution_ids` [bad-instantiation]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:49:64
+ERROR Cannot instantiate `LogstoreAPIWorkflowNodeExecutionRepository` because the following members are abstract: `delete_expired_executions`, `count_by_runs`, `delete_by_runs`, `get_expired_executions_batch`, `delete_executions_by_ids`, `get_offloads_by_execution_ids` [bad-instantiation]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:115:64
+ERROR Cannot instantiate `LogstoreAPIWorkflowNodeExecutionRepository` because the following members are abstract: `delete_expired_executions`, `count_by_runs`, `delete_by_runs`, `get_expired_executions_batch`, `delete_executions_by_ids`, `get_offloads_by_execution_ids` [bad-instantiation]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:131:64
+ERROR `None` is not assignable to dict value type `float | int | str` [bad-assignment]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:166:105
+ERROR Object of class `FunctionType` has no attribute `side_effect` [missing-attribute]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:180:9
+ERROR Object of class `FunctionType` has no attribute `call_count` [missing-attribute]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:202:12
+ERROR Object of class `FunctionType` has no attribute `call_args` [missing-attribute]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:203:13
+ERROR Cannot instantiate `LogstoreAPIWorkflowNodeExecutionRepository` because the following members are abstract: `delete_expired_executions`, `count_by_runs`, `delete_by_runs`, `get_expired_executions_batch`, `delete_executions_by_ids`, `get_offloads_by_execution_ids` [bad-instantiation]
+ --> tests/unit_tests/extensions/logstore/repositories/test_logstore_api_workflow_node_execution_repository.py:331:64
ERROR Object of class `Span` has no attribute `events` [missing-attribute]
--> tests/unit_tests/extensions/otel/test_retrieval_tracing.py:165:42
ERROR Generator function should return `Generator` [bad-return]
@@ -5393,9 +5419,9 @@
ERROR Argument `dict[str, list[dict[str, object]]]` is not assignable to parameter `full_process_data` with type `dict[str, object] | None` in function `_repository` [bad-argument-type]
--> tests/unit_tests/services/test_workflow_node_execution_trace_service.py:161:49
ERROR Argument `dict[str, str]` is not assignable to parameter `args` with type `WorkflowRunListArgs` in function `services.workflow_run_service.WorkflowRunService.get_paginate_workflow_runs` [bad-argument-type]
- --> tests/unit_tests/services/test_workflow_run_service.py:72:18
+ --> tests/unit_tests/services/test_workflow_run_service.py:121:18
ERROR `Literal['2']` is not assignable to TypedDict key `limit` with type `int` [bad-assignment]
- --> tests/unit_tests/services/test_workflow_run_service.py:104:28
+ --> tests/unit_tests/services/test_workflow_run_service.py:153:28
ERROR `dict[str, str]` is not assignable to dict value type `list[Unknown] | str` [bad-assignment]
--> tests/unit_tests/services/test_workflow_service.py:220:30
ERROR Argument `Literal['invalid']` is not assignable to parameter `value` with type `AppMode | SQLCoreOperations[AppMode]` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
@@ -5454,6 +5480,8 @@
--> tests/unit_tests/services/workflow/test_workflow_draft_variable_service.py:325:9
ERROR Argument `None` is not assignable to parameter `value` with type `SQLCoreOperations[bool] | bool` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
--> tests/unit_tests/services/workflow/test_workflow_draft_variable_service.py:705:37
+ERROR Unpacked keyword argument `bool` is not assignable to parameter `human_input_surface` with type `HumanInputSurface | None` in function `services.workflow_event_snapshot_service.build_workflow_event_stream` [bad-argument-type]
+ --> tests/unit_tests/services/workflow/test_workflow_event_snapshot_service.py:786:13
ERROR Argument `dict[str, list[Unknown] | str | dict[str, bool] | dict[str, bool | str] | dict[str, dict[str, bool | int | list[str]]]]` is not assignable to parameter `features` with type `dict[str, object]` in function `_create_workflow` [bad-argument-type]
--> tests/unit_tests/services/workflow/test_workflow_restore.py:62:18
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]
|
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
September 23, 2026 12:25
2b90b9d to
a58c564
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
September 23, 2026 18:47
a58c564 to
ab039e3
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
September 23, 2026 18:53
ab039e3 to
2369fad
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
2 times, most recently
from
September 24, 2026 02:15
77f3123 to
cf1717f
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
September 24, 2026 06:48
cf1717f to
a4cf332
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
September 26, 2026 18:41
a4cf332 to
2e4a203
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
October 9, 2026 19:00
18bc949 to
f78f4a8
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
October 9, 2026 19:12
059573c to
2496e5d
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
October 10, 2026 14:21
2496e5d to
56f7647
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
October 10, 2026 14:29
56f7647 to
24fa6cc
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
2 times, most recently
from
October 12, 2026 03:54
1088970 to
9e7ac80
Compare
laipz8200
force-pushed
the
laipz8200/graphon-workflow-tool-trace-exports
branch
from
October 12, 2026 04:07
9e7ac80 to
6aa6bf1
Compare
41tair
previously approved these changes
Oct 20, 2026
Navigate one selected tool invocation in workflow, chat and history views with the authorized child execution API.
Use the workflowLogic and workflowHumanInput translation namespaces introduced on main in the existing nested trace scenarios. Preserve their navigation and resume assertions while resolving the stack rebase without translation aliases.
Loop triggers only render when the loop node already has details, and the live tracing lookup builds those details from the same execution rows, so the duration-map reconstruction could never contribute a loop group. Use the details directly, keep the reconstruction for iterations only, and require the status every workflow run context already supplies.
Use the upstream editor resource atom for workflow history, previews, and chat trace drilldown. Preserve shared chat rendering without an editor by reading scoped identity only when the workflow context is present. Adapt existing tracing fixtures to the real editor resource provider and retain app and run identity assertions.
Merge node completion data into the existing resumed trace so start-event metadata remains available for workflow-tool drilldown. Extend the sibling-resume regression to complete execution and open the real Tracing action. Keep preview trace request assertions on the generated client boundary.
Keep background exports scoped to the calling app and workflow-run origin, including recursive same-app calls. Preserve the outer Tool inputs and outputs without exposing source internals.
Cover missing, empty and non-string app identities in workflow trace metadata. Assert that rejected identities raise before the exporter queries workflow node internals.
Replace synthetic database and MLflow objects with the SQLite fixture and in-memory span export. Preserve source-internal privacy assertions and require exactly the public workflow and tool spans.
41tair
approved these changes
Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Background trace exports have no viewer identity with which to authorize access to a called Workflow Tool's source app. Keep external exports limited to the calling app's execution records, including the outer Tool inputs and outputs. Exclude called tools' internal node data, including recursive calls to the same app.
Apply the same boundary to MLflow's separate execution query. Console trace drilldown continues to check source-app access through the preceding trace API layer.
Depends on #42822 in the Graphon stack, whose final target is
main.