Skip to content

fix(api): restore missing-document warning in document_indexing_task#38334

Open
SquabbyZ wants to merge 2 commits into
langgenius:mainfrom
SquabbyZ:fix/document-indexing-missing-doc-warning
Open

fix(api): restore missing-document warning in document_indexing_task#38334
SquabbyZ wants to merge 2 commits into
langgenius:mainfrom
SquabbyZ:fix/document-indexing-missing-doc-warning

Conversation

@SquabbyZ

@SquabbyZ SquabbyZ commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Fixes #38413

Summary

After the SQLAlchemy 2.0 refactor in #34968 (commit f67297688), the loop variable in _document_indexing was changed from a string id to the ORM Document object. The legacy if document: guard became unreachable (session.scalars(select(Document)...).all() never yields None) and the else: logger.warning("... document.id") branch could never fire.

More importantly, the original intent of warning about documents that were requested but no longer present was silently lost. Any document id deleted between the Phase 1 transaction and the Phase 2 summary-index scan produced no log signal at all.

Changes

  • Drop the dead if document: guards in both Phase 1 and the Phase 2 summary-task sub-block of _document_indexing.
  • Replace the unreachable warning branch with a single set(document_ids) - found_ids loop that emits one logger.warning per missing id (now correctly typed as a string).
  • Promote the per-document Checking document X for summary generation info log out of the dead conditional so it fires for every present document, matching the original intent.
  • Add a regression test test_missing_documents_are_logged_with_warning in TestBatchProcessing asserting one warning per missing id and no warnings for present ids.

Diff stat

api/tasks/document_indexing_task.py                                | 26 +++++++++----------
api/tests/unit_tests/tasks/test_dataset_indexing_task.py           | 46 +++++++++++++++
2 files changed, 86 insertions(+), 36 deletions(-)

Test plan

  • Existing tests/unit_tests/tasks/test_dataset_indexing_task.py suite continues to pass (happy path + sandbox / batch-limit / empty list / tenant-queue cases).
  • New test_missing_documents_are_logged_with_warning passes: when 3 ids are requested but only 2 are present, exactly one warning is emitted for the missing id and no warning for present ids.
  • ruff check api/tasks/document_indexing_task.py and ruff format --check api/tasks/document_indexing_task.py clean.

Risk / behavior preservation

  • When all document_ids are present, set(document_ids) - found_ids is empty, no warning fires, the per-document update loop runs unchanged, IndexingRunner.run(documents) is called with the same list.
  • DocumentIsPausedError and other exception paths are untouched.
  • _document_indexing_with_tenant_queue, normal_document_indexing_task, priority_document_indexing_task are unchanged (they only delegate to _document_indexing).
  • The Celery task signature document_indexing_task(dataset_id: str, document_ids: list) is unchanged.
  • No schema, migration, controller, or frontend changes.

Related

Automation

Generated via peaks-loop (full-auto mode). Red-line scope was limited to api/tasks/document_indexing_task.py:_document_indexing and one new unit test in api/tests/unit_tests/tasks/test_dataset_indexing_task.py. PRD / RD / QA artifacts are kept under .peaks/_runtime/2026-07-02-session-95565c/ of the working tree (gitignored). Commit message includes the peaks-loop provenance line for traceability.

?? Generated with Claude Code via peaks-loop

After the SQLAlchemy 2.0 refactor in langgenius#34968 (commit f672976), the
loop variable in _document_indexing was changed from a string id to
the ORM Document object. The legacy 'if document:' guard became
unreachable (session.scalars(select(Document)...).all() never yields
None) and the 'else: logger.warning(... document.id)' branch could
never fire.

More importantly, the original intent of warning about documents that
were requested but no longer present was silently lost. Any document
id deleted between the Phase 1 transaction and the Phase 2 summary-
index scan produced no log signal at all.

This change:
  * drops the dead 'if document:' guards in both Phase 1 and Phase 2
    summary-task sub-block;
  * replaces the unreachable warning branch with a single
    set(document_ids) - found_ids loop that emits one logger.warning
    per missing id (now correctly typed as a string);
  * promotes the per-document 'Checking document X for summary
    generation' info log out of the dead conditional so it fires for
    every present document, matching the original intent.

A regression test (test_missing_documents_are_logged_with_warning) is
added to TestBatchProcessing, asserting that a warning is emitted for
each missing id and no warning for present ids.

diff --stat:
  api/tasks/document_indexing_task.py                |  26 ++++++++++--------
  api/tests/unit_tests/tasks/test_dataset_indexing_task.py |  46 ++++++++++++

Generated via peaks-loop (session 2026-07-02-session-95565c, request
2026-07-02-fix-document-indexing-dead-code). Red-line scope was limited
to api/tasks/document_indexing_task.py:_document_indexing and one new
unit test in api/tests/unit_tests/tasks/test_dataset_indexing_task.py.
No schema, migration, controller, or frontend changes.

Copy link
Copy Markdown
Member

Thanks for the contribution. Before we review this PR, please open an issue first to describe the problem, expected behavior, and proposed approach, then link that issue here. This helps us confirm the scope and align on the fix before moving forward.

@SquabbyZ

SquabbyZ commented Jul 4, 2026

Copy link
Copy Markdown
Contributor Author

@crazywoola Thanks for the guidance. Opened issue #38413 describing the document_indexing_task swallowed missing-document warning after the SQLAlchemy 2.0 refactor (#34968), the proposed set(document_ids) - found_ids loop, and the regression test. PR description now links the issue via Fixes #38413. Ready for re-review.

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-07-04 09:50:31.745392183 +0000
+++ /tmp/pyrefly_pr.txt	2026-07-04 09:50:16.711308811 +0000
@@ -724,12 +724,10 @@
    --> tests/test_containers_integration_tests/core/rag/retrieval/test_dataset_retrieval_integration.py:593:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
    --> tests/test_containers_integration_tests/core/rag/retrieval/test_dataset_retrieval_integration.py:603:23
-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/test_containers_integration_tests/core/workflow/test_human_input_resume_node_execution.py:126:14
 ERROR Argument `Connection | Engine` is not assignable to parameter `session_factory` with type `Engine | sessionmaker[Unknown]` in function `core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/core/workflow/test_human_input_resume_node_execution.py:269:29
+   --> tests/test_containers_integration_tests/core/workflow/test_human_input_resume_node_execution.py:265:29
 ERROR Argument `Connection | Engine` is not assignable to parameter `session_factory` with type `Engine | sessionmaker[Unknown]` in function `core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/core/workflow/test_human_input_resume_node_execution.py:275:29
+   --> tests/test_containers_integration_tests/core/workflow/test_human_input_resume_node_execution.py:271:29
 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]
@@ -747,9 +745,9 @@
 ERROR Cannot instantiate `DifyAPISQLAlchemyWorkflowNodeExecutionRepository` because the following members are abstract: `save`, `save_execution_data`, `get_by_workflow_execution` [bad-instantiation]
    --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_api_workflow_node_execution_repository.py:122:70
 ERROR Class member `_TestWorkflowRunRepository.save` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-  --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_api_workflow_run_repository.py:45:9
+  --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_api_workflow_run_repository.py:44:9
 ERROR Generator function should return `Generator` [bad-return]
-   --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_api_workflow_run_repository.py:139:56
+   --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_api_workflow_run_repository.py:138:56
 ERROR Argument `str | None` is not assignable to parameter `tenant_id` with type `str` in function `_create_node_execution_model` [bad-argument-type]
    --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_workflow_node_execution_repository.py:181:23
 ERROR Argument `str | None` is not assignable to parameter `tenant_id` with type `str` in function `_create_node_execution_model` [bad-argument-type]
@@ -883,19 +881,19 @@
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_app_generate_service.py:190:38
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:489:23
+   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:449:23
 ERROR Argument `Literal['invalid_mode']` is not assignable to parameter `value` with type `AppMode | SQLCoreOperations[AppMode]` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:568:20
+   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:518:20
 ERROR Argument `dict[str, dict[str, str]]` is not assignable to parameter `args` with type `LoopNodeRunPayload` in function `services.app_generate_service.AppGenerateService.generate_single_loop` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:811:64
+   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:736:64
 ERROR Argument `dict[str, dict[str, str]]` is not assignable to parameter `args` with type `LoopNodeRunPayload` in function `services.app_generate_service.AppGenerateService.generate_single_loop` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:838:64
+   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:763:64
 ERROR Argument `dict[str, dict[str, str]]` is not assignable to parameter `args` with type `LoopNodeRunPayload` in function `services.app_generate_service.AppGenerateService.generate_single_loop` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:864:68
+   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:789:68
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:914:23
+   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:834:23
 ERROR Argument `Literal['agent-chat']` is not assignable to parameter `value` with type `AppMode | SQLCoreOperations[AppMode]` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
-    --> tests/test_containers_integration_tests/services/test_app_generate_service.py:1050:20
+   --> tests/test_containers_integration_tests/services/test_app_generate_service.py:960:20
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
   --> tests/test_containers_integration_tests/services/test_app_service.py:87:38
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
@@ -1862,10 +1860,6 @@
   --> tests/unit_tests/commands/test_clean_expired_messages.py:94:9
 ERROR Expected a callable, got `None` [not-callable]
    --> tests/unit_tests/commands/test_clean_expired_messages.py:176:9
-ERROR Object of class `object` has no attribute `package` [missing-attribute]
-   --> tests/unit_tests/commands/test_data_migration_commands.py:182:12
-ERROR Object of class `object` has no attribute `options_override` [missing-attribute]
-   --> tests/unit_tests/commands/test_data_migration_commands.py:183:12
 ERROR `(self: list[Unknown], object: Unknown, /) -> None` is not assignable to attribute `echo` with type `(message: Any | None = None, file: IO[Any] | None = None, nl: bool = True, err: bool = False, color: bool | None = None) -> None` [bad-assignment]
    --> tests/unit_tests/commands/test_data_migration_wizard.py:142:33
 ERROR Generator function should return `Generator` [bad-return]
@@ -1919,75 +1913,75 @@
 ERROR No attribute `MethodView` in module `builtins` [missing-attribute]
  --> tests/unit_tests/controllers/common/test_fields.py:8:5
 ERROR Cannot index into `object` [bad-index]
+   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:664:12
+ERROR Cannot index into `object` [bad-index]
    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:665:12
 ERROR Cannot index into `object` [bad-index]
    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:666:12
 ERROR Cannot index into `object` [bad-index]
    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:667:12
-ERROR Cannot index into `object` [bad-index]
-   --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:668:12
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_build_chat_finalization_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1436:26
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1429:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_build_chat_finalization_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1437:23
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1430:23
 ERROR Argument `test_drain_streaming_generate_response_returns_on_message_end.ClosableResponse` is not assignable to parameter `response` with type `Generator[str] | RateLimitGenerator` in function `controllers.console.app.completion._drain_streaming_generate_response` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1484:69
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1476:69
 ERROR Argument `Iterator[Any]` is not assignable to parameter `response` with type `Generator[str] | RateLimitGenerator` in function `controllers.console.app.completion._drain_streaming_generate_response` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1492:66
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1484:66
 ERROR Argument `Iterator[Any]` is not assignable to parameter `response` with type `Generator[str] | RateLimitGenerator` in function `controllers.console.app.completion._drain_streaming_generate_response` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1499:66
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1491:66
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1530:26
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1521:74
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1531:23
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1521:98
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1570:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1558:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1571:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1559:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1599:22
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1586:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1600:19
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1587:19
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1605:22
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1592:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._resolve_current_user_agent_debug_conversation_id` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1606:19
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1593:19
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1657:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1644:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.completion._create_chat_message` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1658:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1645:27
 ERROR Object of class `object` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1741:50
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1727:50
 ERROR Object of class `object` has no attribute `limit` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1742:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1728:30
 ERROR Object of class `object` has no attribute `has_more` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1743:33
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1729:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1755:67
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1741:67
 ERROR Object of class `object` has no attribute `data` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1781:50
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1767:50
 ERROR Object of class `object` has no attribute `limit` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1782:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1768:30
 ERROR Object of class `object` has no attribute `has_more` [missing-attribute]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1783:33
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1769:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1797:67
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1783:67
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account | None` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1797:91
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1783:91
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1817:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1803:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account | None` in function `controllers.console.app.message._list_chat_messages` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1818:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1804:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.message._update_message_feedback` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1833:30
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1819:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._update_message_feedback` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1834:27
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1820:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.message._get_message_suggested_questions` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1870:26
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1856:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `controllers.console.app.message._get_message_suggested_questions` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1871:23
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1857:23
 ERROR Argument `Literal['00000000-0000-0000-0000-000000000002']` is not assignable to parameter `message_id` with type `UUID` in function `controllers.console.app.message._get_message_suggested_questions` [bad-argument-type]
-    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1872:24
+    --> tests/unit_tests/controllers/console/agent/test_agent_controllers.py:1858:24
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
    --> tests/unit_tests/controllers/console/app/test_annotation_security.py:221:38
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
@@ -2003,19 +1997,19 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `current_user` with type `Account` in function `controllers.console.app.conversation._get_conversation` [bad-argument-type]
    --> tests/unit_tests/controllers/console/app/test_conversation_api.py:105:47
 ERROR Missing argument `app_model` in function `handler` [missing-argument]
-  --> tests/unit_tests/controllers/console/app/test_wraps.py:41:19
+   --> tests/unit_tests/controllers/console/app/test_wraps.py:104:19
 ERROR Unexpected keyword argument `app_id` in function `handler` [unexpected-keyword]
-  --> tests/unit_tests/controllers/console/app/test_wraps.py:41:20
+   --> tests/unit_tests/controllers/console/app/test_wraps.py:104:20
 ERROR Missing argument `app_model` in function `handler` [missing-argument]
-  --> tests/unit_tests/controllers/console/app/test_wraps.py:54:16
+   --> tests/unit_tests/controllers/console/app/test_wraps.py:117:16
 ERROR Unexpected keyword argument `app_id` in function `handler` [unexpected-keyword]
-  --> tests/unit_tests/controllers/console/app/test_wraps.py:54:17
+   --> tests/unit_tests/controllers/console/app/test_wraps.py:117:17
 ERROR Missing argument `app_model` in function `handler` [missing-argument]
-  --> tests/unit_tests/controllers/console/app/test_wraps.py:63:16
+   --> tests/unit_tests/controllers/console/app/test_wraps.py:126:16
 ERROR Missing argument `app_model` in function `Handler.get` [missing-argument]
-  --> tests/unit_tests/controllers/console/app/test_wraps.py:85:25
+   --> tests/unit_tests/controllers/console/app/test_wraps.py:148:25
 ERROR Unexpected keyword argument `app_id` in function `Handler.get` [unexpected-keyword]
-  --> tests/unit_tests/controllers/console/app/test_wraps.py:85:35
+   --> tests/unit_tests/controllers/console/app/test_wraps.py:148:26
 ERROR Cannot set item in `OrderedDict[str, bool | list[str] | str]` [unsupported-operation]
    --> tests/unit_tests/controllers/console/app/workflow_draft_variables_test.py:137:47
 ERROR `None` is not subscriptable [unsupported-operation]
@@ -2247,9 +2241,9 @@
 ERROR Object of class `NoneType` has no attribute `total_tokens` [missing-attribute]
   --> tests/unit_tests/controllers/openapi/test_models.py:13:12
 ERROR Argument `test_verify_approval_grant_raises_on_missing_field._FakeKeyset` is not assignable to parameter `keyset` with type `KeySet` in function `libs.jws.sign` [bad-argument-type]
-  --> tests/unit_tests/controllers/openapi/test_oauth_sso_claims.py:69:9
+  --> tests/unit_tests/controllers/openapi/test_oauth_sso_claims.py:67:9
 ERROR Argument `test_verify_approval_grant_raises_on_missing_field._FakeKeyset` is not assignable to parameter `keyset` with type `KeySet` in function `libs.device_flow_security.verify_approval_grant` [bad-argument-type]
-  --> tests/unit_tests/controllers/openapi/test_oauth_sso_claims.py:75:52
+  --> tests/unit_tests/controllers/openapi/test_oauth_sso_claims.py:73:52
 ERROR Object of class `FunctionType` has no attribute `view_class` [missing-attribute]
   --> tests/unit_tests/controllers/openapi/test_workspaces.py:38:12
 ERROR `in` is not supported between `Literal['GET']` and `None` [not-iterable]
@@ -2284,14 +2278,6 @@
    --> tests/unit_tests/controllers/service_api/app/test_audio.py:186:16
 ERROR Argument `list[dict[str, Any]] | None` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
    --> tests/unit_tests/controllers/service_api/app/test_completion.py:152:20
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_completion.py:252:45
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_completion.py:264:40
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_completion.py:274:40
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_completion.py:284:40
 ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `limit` [bad-argument-type]
   --> tests/unit_tests/controllers/service_api/app/test_conversation.py:82:35
 ERROR Argument value `Literal[101]` violates Pydantic `le` constraint `Literal[100]` for field `limit` [bad-argument-type]
@@ -2301,27 +2287,27 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `AdvancedChatAppGenerateEntity | WorkflowAppGenerateEntity` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter.__init__` [bad-argument-type]
   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:99:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `WorkflowSnapshot` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:435:22
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:434:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:436:27
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:435:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `ConversationSnapshot` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:437:26
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:436:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `MessageSnapshot` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:438:21
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:437:21
 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/controllers/service_api/app/test_hitl_service_api.py:448:37
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:447:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` 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:528:22
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:527:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:529:27
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:528:27
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` 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:530:18
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:529: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:532:37
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:531: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]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:628:33
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:627:33
 ERROR Argument `() -> TestHitlServiceApi.test_snapshot_events_include_pause_payload_contract._SessionContext` is not assignable to parameter `session_maker` with type `sessionmaker[Session] | None` in function `services.workflow_event_snapshot_service._build_snapshot_events` [bad-argument-type]
-   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:703:27
+   --> tests/unit_tests/controllers/service_api/app/test_hitl_service_api.py:702:27
 ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `limit` [bad-argument-type]
   --> tests/unit_tests/controllers/service_api/app/test_message.py:90:63
 ERROR Argument value `Literal[101]` violates Pydantic `le` constraint `Literal[100]` for field `limit` [bad-argument-type]
@@ -2348,14 +2334,6 @@
    --> tests/unit_tests/controllers/service_api/app/test_workflow.py:239:16
 ERROR Object of class `dict` has no attribute `limit` [missing-attribute]
    --> tests/unit_tests/controllers/service_api/app/test_workflow.py:240:16
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_workflow.py:270:45
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_workflow.py:287:40
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_workflow.py:301:40
-ERROR Missing argument `session` in function `services.app_generate_service.AppGenerateService.generate` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/app/test_workflow.py:315:45
 ERROR Object of class `NoneType` has no attribute `status` [missing-attribute]
    --> tests/unit_tests/controllers/service_api/app/test_workflow.py:367:16
 ERROR Argument `SimpleNamespace` is not assignable to parameter `obj` with type `WorkflowRun` in function `controllers.service_api.app.workflow.WorkflowRunStatusField.output` [bad-argument-type]
@@ -2548,78 +2526,44 @@
   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:24:9
 ERROR `None` is not assignable to attribute `agent_callback` with type `DifyAgentCallbackHandler` [bad-assignment]
   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:80:29
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-  --> tests/unit_tests/core/agent/test_cot_agent_runner.py:83:5
 ERROR Missing required key `action` for TypedDict `ActionDict` [bad-typed-dict-key]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:113:44
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:112:44
 ERROR Missing required key `action_input` for TypedDict `ActionDict` [bad-typed-dict-key]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:113:44
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:112:44
 ERROR Key `invalid` is not defined in TypedDict `ActionDict` [bad-typed-dict-key]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:113:45
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:167:55
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:180:55
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:204:35
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:112:45
 ERROR `None` is not assignable to attribute `agent_callback` with type `DifyAgentCallbackHandler` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:223:33
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:226:29
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:222:33
 ERROR Object of class `NoneType` has no attribute `max_iteration` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:229:9
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:228:9
 ERROR `None` is not assignable to attribute `agent_callback` with type `DifyAgentCallbackHandler` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:245:33
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:248:29
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:259:35
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:244:33
 ERROR Object of class `NoneType` has no attribute `max_iteration` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:263:9
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:275:29
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:262:9
 ERROR Object of class `NoneType` has no attribute `max_iteration` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:280:9
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:279:9
 ERROR `Literal[1]` is not assignable to attribute `prompt_price` with type `Decimal` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:286:32
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:285:32
 ERROR `Literal[1]` is not assignable to attribute `completion_price` with type `Decimal` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:287:36
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:286:36
 ERROR `Literal[2]` is not assignable to attribute `total_price` with type `Decimal` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:288:31
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:287:31
 ERROR `Literal[1]` is not assignable to attribute `prompt_price` with type `Decimal` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:294:32
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:293:32
 ERROR `Literal[1]` is not assignable to attribute `completion_price` with type `Decimal` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:295:36
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:294:36
 ERROR `Literal[2]` is not assignable to attribute `total_price` with type `Decimal` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:296:31
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:324:35
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:343:35
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:357:25
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:295:31
 ERROR Object of class `NoneType` has no attribute `max_iteration` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:377:9
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:376:9
 ERROR `None` is not assignable to attribute `agent_callback` with type `DifyAgentCallbackHandler` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:385:33
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:387:25
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:384:33
 ERROR `list[str]` is not assignable to attribute `_agent_scratchpad` with type `list[AgentScratchpadUnit]` [bad-assignment]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:417:36
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:439:55
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:416:36
 ERROR Object of class `FunctionType` has no attribute `assert_called` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:443:9
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:442:9
 ERROR Class member `BadValue.__str__` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:453:17
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:509:35
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:523:35
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:537:35
-ERROR Object of class `DummyRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:552:35
+   --> tests/unit_tests/core/agent/test_cot_agent_runner.py:452:17
 ERROR `list[DummyTool]` is not assignable to attribute `_prompt_messages_tools` with type `Sequence[PromptMessageTool]` [bad-assignment]
   --> tests/unit_tests/core/agent/test_cot_chat_agent_runner.py:49:37
 ERROR `DummyGenerateEntity` is not assignable to attribute `application_generate_entity` with type `AgentChatAppGenerateEntity` [bad-assignment]
@@ -2642,54 +2586,34 @@
   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:31:30
 ERROR `Literal[0]` is not assignable to attribute `total_price` with type `Decimal` [bad-assignment]
   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:32:25
-ERROR Missing argument `session` in function `core.agent.base_agent_runner.BaseAgentRunner.__init__` [missing-argument]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:102:37
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:133:5
 ERROR Argument `DummyChunk` is not assignable to parameter `llm_result_chunk` with type `LLMResultChunk` in function `core.agent.fc_agent_runner.FunctionCallAgentRunner.check_tool_calls` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:153:40
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:152:40
 ERROR Argument `DummyResult` is not assignable to parameter `llm_result` with type `LLMResult` in function `core.agent.fc_agent_runner.FunctionCallAgentRunner.check_blocking_tool_calls` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:158:49
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:157:49
 ERROR Argument `DummyChunk` is not assignable to parameter `llm_result_chunk` with type `LLMResultChunk` in function `core.agent.fc_agent_runner.FunctionCallAgentRunner.extract_tool_calls` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:174:43
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:173:43
 ERROR Argument `DummyChunk` is not assignable to parameter `llm_result_chunk` with type `LLMResultChunk` in function `core.agent.fc_agent_runner.FunctionCallAgentRunner.extract_tool_calls` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:185:43
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:184:43
 ERROR Argument `DummyResult` is not assignable to parameter `llm_result` with type `LLMResult` in function `core.agent.fc_agent_runner.FunctionCallAgentRunner.extract_blocking_tool_calls` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:196:52
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:195:52
 ERROR Argument `None` is not assignable to parameter `query` with type `str` in function `core.agent.fc_agent_runner.FunctionCallAgentRunner._organize_user_query` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:232:46
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:300:35
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:231:46
 ERROR Object of class `FunctionType` has no attribute `assert_called` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:302:9
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:301:9
 ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:304:23
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:303:23
 ERROR Argument `list[TextPromptMessageContent]` is not assignable to parameter `content` with type `str | None` in function `DummyMessage.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:312:57
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:319:35
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:311:57
 ERROR Argument `list[TextPromptMessageContent]` is not assignable to parameter `content` with type `str | None` in function `DummyMessage.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:332:57
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:342:35
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:331:57
 ERROR Argument `list[TextPromptMessageContent]` is not assignable to parameter `content` with type `str | None` in function `DummyMessage.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:348:46
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:353:35
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:347:46
 ERROR Object of class `FunctionType` has no attribute `call_args` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:355:16
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:382:35
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:400:35
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:429:35
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:354:16
 ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:435:25
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:434:25
 ERROR Object of class `NoneType` has no attribute `max_iteration` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:439:9
-ERROR Object of class `FunctionCallAgentRunner` has no attribute `session` [missing-attribute]
-   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:454:29
+   --> tests/unit_tests/core/agent/test_fc_agent_runner.py:438:9
 ERROR Missing argument `description` in function `core.agent.plugin_entities.AgentStrategyEntity.__init__` [missing-argument]
    --> tests/unit_tests/core/agent/test_plugin_entities.py:281:32
 ERROR Invalid key for TypedDict `AppParametersDict`, got `Unknown` [bad-typed-dict-key]
@@ -3355,62 +3279,62 @@
   --> tests/unit_tests/core/app/apps/chat/test_app_config_manager.py:35:34
 ERROR Argument `dict[str, str]` is not assignable to parameter `override_config_dict` with type `AppModelConfigDict | None` in function `core.app.apps.chat.app_config_manager.ChatAppConfigManager.get_app_config` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/chat/test_app_config_manager.py:37:38
-ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (session=MagicMock, app_model=SimpleNamespace, user=SimpleNamespace, args=dict[str, dict[@_, @_]], invoke_from=Literal[InvokeFrom.SERVICE_API], streaming=Literal[False]) [no-matching-overload]
+ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (app_model=SimpleNamespace, user=SimpleNamespace, args=dict[str, dict[@_, @_]], invoke_from=Literal[InvokeFrom.SERVICE_API], streaming=Literal[False]) [no-matching-overload]
   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:50:31
-ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (session=MagicMock, app_model=SimpleNamespace, user=SimpleNamespace, args=dict[str, dict[@_, @_] | int], invoke_from=Literal[InvokeFrom.SERVICE_API], streaming=Literal[False]) [no-matching-overload]
-  --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:62:31
-ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (MagicMock, SimpleNamespace, SimpleNamespace, dict[str, dict[Unknown, Unknown] | str | dict[str, str]], Literal[InvokeFrom.DEBUGGER], streaming=Literal[False]) [no-matching-overload]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:110:40
-ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (session=MagicMock, app_model=SimpleNamespace, user=SimpleNamespace, args=dict[str, dict[@_, @_] | str | dict[str, str]], invoke_from=Literal[InvokeFrom.SERVICE_API], streaming=Literal[False]) [no-matching-overload]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:123:35
+ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (app_model=SimpleNamespace, user=SimpleNamespace, args=dict[str, dict[@_, @_] | int], invoke_from=Literal[InvokeFrom.SERVICE_API], streaming=Literal[False]) [no-matching-overload]
+  --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:61:31
+ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (SimpleNamespace, SimpleNamespace, dict[str, dict[Unknown, Unknown] | str | dict[str, str]], Literal[InvokeFrom.DEBUGGER], streaming=Literal[False]) [no-matching-overload]
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:108:40
+ERROR No matching overload found for function `core.app.apps.chat.app_generator.ChatAppGenerator.generate` called with arguments: (app_model=SimpleNamespace, user=SimpleNamespace, args=dict[str, dict[@_, @_] | str | dict[str, str]], invoke_from=Literal[InvokeFrom.SERVICE_API], streaming=Literal[False]) [no-matching-overload]
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:121:35
 ERROR Argument `DummyGenerateEntity` is not assignable to parameter `application_generate_entity` with type `ChatAppGenerateEntity` in function `core.app.apps.chat.app_generator.ChatAppGenerator._generate_worker` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:146:45
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:142:45
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_generator.ChatAppGenerator._generate_worker` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:147:31
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:143:31
 ERROR Argument `DummyGenerateEntity` is not assignable to parameter `application_generate_entity` with type `ChatAppGenerateEntity` in function `core.app.apps.chat.app_generator.ChatAppGenerator._generate_worker` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:163:45
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:158:45
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_generator.ChatAppGenerator._generate_worker` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:164:31
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:159:31
 ERROR Argument `DummyGenerateEntity` is not assignable to parameter `application_generate_entity` with type `ChatAppGenerateEntity` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:192:34
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:186:28
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:192:55
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:186:49
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `Conversation` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:192:76
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:186:70
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `Message` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:192:95
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:186:89
 ERROR Argument `DummyGenerateEntity` is not assignable to parameter `application_generate_entity` with type `ChatAppGenerateEntity` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:225:30
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:217:24
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:225:51
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:217:45
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `Conversation` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:225:72
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:217:66
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `Message` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:225:91
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:217:85
 ERROR Argument `DummyGenerateEntity` is not assignable to parameter `application_generate_entity` with type `ChatAppGenerateEntity` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:263:37
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:254:24
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:263:58
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:254:45
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `Conversation` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:263:73
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:254:60
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `Message` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:263:92
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:254:79
 ERROR Argument `DummyGenerateEntity` is not assignable to parameter `application_generate_entity` with type `ChatAppGenerateEntity` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:299:30
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:289:24
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:299:51
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:289:45
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `Conversation` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:299:72
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:289:66
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `Message` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:299:91
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:289:85
 ERROR Argument `DummyGenerateEntity` is not assignable to parameter `application_generate_entity` with type `ChatAppGenerateEntity` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:353:37
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:342:24
 ERROR Argument `DummyQueueManager` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:353:58
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:342:45
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `Conversation` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:353:73
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:342:60
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `Message` in function `core.app.apps.chat.app_runner.ChatAppRunner.run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:353:92
+   --> tests/unit_tests/core/app/apps/chat/test_app_generator_and_runner.py:342:79
 ERROR Cannot index into `str` [bad-index]
   --> tests/unit_tests/core/app/apps/chat/test_generate_response_converter.py:60:16
 ERROR Cannot index into `str` [bad-index]
@@ -3436,11 +3360,11 @@
 ERROR Object of class `CompletionAppGenerator` has no attribute `generate_entity` [missing-attribute]
   --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:36:5
 ERROR Object of class `FunctionType` has no attribute `assert_not_called` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:108:9
+   --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:105:9
 ERROR Object of class `FunctionType` has no attribute `assert_called_once` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:141:9
+   --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:137:9
 ERROR Key `msg` is not defined in TypedDict `InitErrorDetails` [bad-typed-dict-key]
-   --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:307:57
+   --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:297:57
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:124:16
 ERROR Cannot index into `str` [bad-index]
@@ -3686,92 +3610,90 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `pause_state_config` with type `PauseStateLayerConfig | None` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
    --> tests/unit_tests/core/app/apps/test_workflow_app_generator.py:321:28
 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:53:55
+  --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:52: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:60:55
+  --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:59: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:92:55
+  --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:91: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:121:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:120:55
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner._prepare_single_node_execution` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:126:51
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:125:51
 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:129:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:128:55
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner._get_graph_and_variable_pool_for_single_node_run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:168:22
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:167:22
 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:183:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:182:55
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner._get_graph_and_variable_pool_for_single_node_run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:219:22
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:218:22
 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:248:27
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:247: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:249:29
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:248:29
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `core.app.apps.workflow_app_runner.WorkflowBasedAppRunner._get_graph_and_variable_pool_for_single_node_run` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:312:22
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:311:22
 ERROR Object of class `NoneType` has no attribute `value` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:321:16
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:320: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:330:55
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:329: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:366:30
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:355:30
 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:367:30
+   --> tests/unit_tests/core/app/apps/test_workflow_app_runner_core.py:356:30
 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]
-   -->\n\n... (truncated) ...

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Type Coverage

Metric Base PR Delta
Type coverage 52.36% 52.36% -0.01%
Strict coverage 51.88% 51.87% -0.01%
Typed symbols 32,053 32,053 0
Untyped symbols 29,435 29,441 +6
Modules 2973 2973 0

).all()
)
found_ids = {document.id for document in documents}
for missing_id in set(document_ids) - found_ids:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

set(document_ids) - found_ids is always empty

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

document_indexing_task swallows "missing document" warning after SQLAlchemy 2.0 refactor

3 participants