Skip to content

Fix/35484 kb citation download first load#35500

Open
thomascolden585-svg wants to merge 3 commits into
langgenius:mainfrom
thomascolden585-svg:fix/35484-kb-citation-download-first-load
Open

Fix/35484 kb citation download first load#35500
thomascolden585-svg wants to merge 3 commits into
langgenius:mainfrom
thomascolden585-svg:fix/35484-kb-citation-download-first-load

Conversation

@thomascolden585-svg
Copy link
Copy Markdown

@thomascolden585-svg thomascolden585-svg commented Apr 23, 2026

Summary

Fixes an issue where the knowledge base document download control in the citation popover did not appear the first time a published agent answered with citations; it showed correctly after a full page refresh (#35484).

Root cause

  • The download button only considered sources[0] for dataset_id. For merged multi-segment citations, streaming message_end metadata can include segments where the first hit has no dataset_id and a later hit does; history/API responses are often complete, so refresh masked the bug.
  • Citation chip layout ran once on mount; when resources arrived or the container was not ready, visible chips could be wrong until remount (e.g. refresh).

Changes

  • citation/popup.tsx: Resolve dataset_id / document_id via getPrimaryFileSource() (prefer a segment with both ids, else first with dataset_id).
  • citation/index.tsx: Use useLayoutEffect with [resources, containerClassName], null-safe container and ref access, and fallbacks when the container is missing.
  • chat/hooks.ts: If message_end includes both annotation_reply and retriever_resources, still set citation before returning.
  • Tests: New case in popup.spec.tsx — first source without dataset_id, second with — download button still shown.

How to test

  1. Self-hosted, workflow agent with a KB and retrieve source enabled; publish and open a new chat.
  2. Ask a question that returns a citation; open the cite popover — Download should appear without refreshing.
  3. (Optional) Run: pnpm vitest run app/components/base/chat/chat/citation/__tests__/popup.spec.tsx
    Closes After publishing, the first time the agent conversation page references a document from the knowledge base, the download link does not appear. The download link will only appear after refreshing the page #35484

@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Apr 23, 2026
@github-actions github-actions Bot added the web This relates to changes on the web. label Apr 23, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-04-23 07:16:15.576454297 +0000
+++ /tmp/pyrefly_pr.txt	2026-04-23 07:16:04.185373671 +0000
@@ -82,8 +82,6 @@
   --> core/tools/utils/web_reader_tool.py:66:35
 ERROR `list[Never]` is not assignable to attribute `tools` with type `Never` [bad-assignment]
    --> core/tools/workflow_as_tool/provider.py:238:26
-ERROR Object of class `Swagger` has no attribute `_anonymous_inline_models` [missing-attribute]
-  --> dev/generate_swagger_specs.py:77:13
 ERROR Cannot index into `Literal['']` [bad-index]
   --> extensions/storage/huawei_obs_storage.py:27:23
 ERROR Cannot index into `Literal['']` [bad-index]

@autofix-ci autofix-ci Bot requested review from Yeuoly and crazywoola as code owners April 23, 2026 07:19
@github-actions
Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-04-24 09:56:45.030272108 +0000
+++ /tmp/pyrefly_pr.txt	2026-04-24 09:56:32.892326953 +0000
@@ -25,25 +25,27 @@
 ERROR Argument `list[Unknown]` is not assignable to parameter `value` with type `SQLCoreOperations[dict[str, Any]] | dict[str, Any]` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
    --> core/app/task_pipeline/easy_ui_based_generate_task_pipeline.py:388:27
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[UserPromptMessage], model_parameters=dict[str, int], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:113:60
+   --> core/llm_generator/llm_generator.py:115:60
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[UserPromptMessage], model_parameters=dict[str, float | int] | dict[str, object] | dict[Unknown, Unknown], stop=list[str] | list[Unknown], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:223:60
+   --> core/llm_generator/llm_generator.py:225:60
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[UserPromptMessage], model_parameters=dict[str, Any], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:268:64
+   --> core/llm_generator/llm_generator.py:270:64
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[UserPromptMessage], model_parameters=dict[str, Any], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:316:70
+   --> core/llm_generator/llm_generator.py:318:70
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[UserPromptMessage], model_parameters=dict[str, Any], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:347:73
+   --> core/llm_generator/llm_generator.py:349:73
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[UserPromptMessage], model_parameters=dict[str, Any], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:356:73
+   --> core/llm_generator/llm_generator.py:358:73
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[UserPromptMessage], model_parameters=dict[str, Any], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:403:60
+   --> core/llm_generator/llm_generator.py:405:60
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[SystemPromptMessage | UserPromptMessage], model_parameters=dict[str, Any], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:465:60
+   --> core/llm_generator/llm_generator.py:467:60
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[SystemPromptMessage | UserPromptMessage], model_parameters=dict[str, float], stream=Literal[False]) [no-matching-overload]
-   --> core/llm_generator/llm_generator.py:653:60
+   --> core/llm_generator/llm_generator.py:655:60
 ERROR Class member `OpsTraceProviderConfigMap.__getitem__` overrides parent class `UserDict` in an inconsistent manner [bad-override-param-name]
    --> core/ops/ops_trace_manager.py:206:9
+ERROR Cannot index into `set[Any]` [bad-index]
+   --> core/rag/datasource/keyword/jieba/jieba.py:159:29
 ERROR Argument `dict[str, bytes | str]` is not assignable to parameter `headers` with type `Headers | Mapping[bytes, bytes] | Mapping[str, str] | Sequence[tuple[bytes, bytes]] | Sequence[tuple[str, str]] | None` in function `httpx._api.post` [bad-argument-type]
    --> core/rag/extractor/notion_extractor.py:106:25
 ERROR Argument `dict[str, bytes | str]` is not assignable to parameter `headers` with type `Headers | Mapping[bytes, bytes] | Mapping[str, str] | Sequence[tuple[bytes, bytes]] | Sequence[tuple[str, str]] | None` in function `httpx._api.request` [bad-argument-type]
@@ -88,22 +90,208 @@
   --> extensions/storage/huawei_obs_storage.py:31:20
 ERROR Argument `Module[Crypto.Hash.SHA1] | Unknown` is not assignable to parameter with type `Hash | HashModule` [bad-argument-type]
   --> libs/gmpy2_pkcs10aep_cipher.py:73:49
+ERROR Object of class `NoneType` has no attribute `trace_id` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/data_exporter/test_traceclient.py:228:16
+ERROR Object of class `NoneType` has no attribute `span_id` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/data_exporter/test_traceclient.py:229:16
+ERROR Object of class `NoneType` has no attribute `span_id` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/data_exporter/test_traceclient.py:230:16
+ERROR Missing argument `span_id` in function `dify_trace_aliyun.entities.aliyun_trace_entity.SpanData.__init__` [missing-argument]
+  --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/entities/test_aliyun_trace_entity.py:67:21
+ERROR Argument `int` is not assignable to parameter `trace_flags` with type `TraceFlags | None` in function `opentelemetry.trace.span.SpanContext.__new__` [bad-argument-type]
+  --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:66:21
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:273:12
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:279:12
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:305:16
+ERROR Type `object` is not iterable [not-iterable]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:306:5
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:327:12
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:341:16
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:342:12
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:351:12
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:374:16
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:375:12
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.build_workflow_task_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:484:97
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.build_workflow_tool_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:507:97
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.build_workflow_tool_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:516:98
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.build_workflow_retrieval_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:539:102
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.build_workflow_retrieval_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:546:103
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.build_workflow_llm_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:573:96
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.build_workflow_llm_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:585:97
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.add_workflow_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:603:50
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:605:16
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:606:20
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:607:21
+ERROR Object of class `object` has no attribute `clear` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:617:5
+ERROR Argument `SimpleNamespace` is not assignable to parameter `trace_metadata` with type `TraceMetadata` in function `dify_trace_aliyun.aliyun_trace.AliyunDataTrace.add_workflow_span` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:621:57
+ERROR Argument `object` is not assignable to parameter `obj` with type `Sized` in function `len` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:622:16
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:623:12
+ERROR Object of class `TraceClient` has no attribute `added_spans` [missing-attribute]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:644:16
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace.py:645:12
+ERROR Argument `Literal['not a list']` is not assignable to parameter `retrieval_documents` with type `list[Unknown]` in function `dify_trace_aliyun.utils.format_retrieval_documents` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace_utils.py:173:39
+ERROR Argument `None` is not assignable to parameter `process_data` with type `Mapping[str, Any]` in function `dify_trace_aliyun.utils.format_input_messages` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace_utils.py:214:34
+ERROR Argument `None` is not assignable to parameter `outputs` with type `Mapping[str, Any]` in function `dify_trace_aliyun.utils.format_output_messages` [bad-argument-type]
+   --> providers/trace/trace-aliyun/tests/unit_tests/aliyun_trace/test_aliyun_trace_utils.py:247:35
+ERROR Missing argument `license_key` in function `dify_trace_aliyun.config.AliyunConfig.__init__` [missing-argument]
+  --> providers/trace/trace-aliyun/tests/unit_tests/test_config_entity.py:28:25
+ERROR Missing argument `endpoint` in function `dify_trace_aliyun.config.AliyunConfig.__init__` [missing-argument]
+  --> providers/trace/trace-aliyun/tests/unit_tests/test_config_entity.py:28:25
+ERROR Missing argument `endpoint` in function `dify_trace_aliyun.config.AliyunConfig.__init__` [missing-argument]
+  --> providers/trace/trace-aliyun/tests/unit_tests/test_config_entity.py:31:25
+ERROR Missing argument `license_key` in function `dify_trace_aliyun.config.AliyunConfig.__init__` [missing-argument]
+  --> providers/trace/trace-aliyun/tests/unit_tests/test_config_entity.py:34:25
+ERROR Argument `test_set_span_status.SilentError` is not assignable to parameter `error` with type `Exception | str | None` in function `dify_trace_arize_phoenix.arize_phoenix_trace.set_span_status` [bad-argument-type]
+   --> providers/trace/trace-arize-phoenix/tests/unit_tests/arize_phoenix_trace/test_arize_phoenix_trace.py:132:27
+ERROR Missing argument `public_key` in function `dify_trace_langfuse.config.LangfuseConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langfuse/tests/unit_tests/test_config_entity.py:31:27
+ERROR Missing argument `secret_key` in function `dify_trace_langfuse.config.LangfuseConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langfuse/tests/unit_tests/test_config_entity.py:31:27
+ERROR Missing argument `secret_key` in function `dify_trace_langfuse.config.LangfuseConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langfuse/tests/unit_tests/test_config_entity.py:34:27
+ERROR Missing argument `public_key` in function `dify_trace_langfuse.config.LangfuseConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langfuse/tests/unit_tests/test_config_entity.py:37:27
+ERROR Argument `Literal['invalid']` is not assignable to parameter `time_to_first_token` with type `float | int | None` in function `dify_trace_langfuse.langfuse_trace.LangFuseDataTrace._get_completion_start_time` [bad-argument-type]
+   --> providers/trace/trace-langfuse/tests/unit_tests/test_langfuse_trace.py:137:61
+ERROR Missing argument `api_key` in function `dify_trace_langsmith.config.LangSmithConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langsmith/tests/unit_tests/test_config_entity.py:24:28
+ERROR Missing argument `project` in function `dify_trace_langsmith.config.LangSmithConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langsmith/tests/unit_tests/test_config_entity.py:24:28
+ERROR Missing argument `project` in function `dify_trace_langsmith.config.LangSmithConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langsmith/tests/unit_tests/test_config_entity.py:27:28
+ERROR Missing argument `api_key` in function `dify_trace_langsmith.config.LangSmithConfig.__init__` [missing-argument]
+  --> providers/trace/trace-langsmith/tests/unit_tests/test_config_entity.py:30:28
+ERROR Object of class `FunctionType` has no attribute `called` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:158:16
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:165:28
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:172:28
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:180:24
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:187:28
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:194:28
+ERROR Object of class `FunctionType` has no attribute `call_count` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:217:16
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:218:28
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:243:28
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:286:24
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:295:28
+ERROR Object of class `FunctionType` has no attribute `call_args_list` [missing-attribute]
+   --> providers/trace/trace-opik/tests/unit_tests/test_opik_trace.py:329:28
 ERROR Object of class `ModuleType` has no attribute `Histogram` [missing-attribute]
-  --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:98:5
+  --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:87:5
 ERROR Object of class `ModuleType` has no attribute `MeterProvider` [missing-attribute]
-  --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:99:5
+  --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:88:5
 ERROR Object of class `ModuleType` has no attribute `AggregationTemporality` [missing-attribute]
-   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:103:5
+  --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:92:5
 ERROR Object of class `ModuleType` has no attribute `PeriodicExportingMetricReader` [missing-attribute]
-   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:104:5
+  --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:93:5
 ERROR Object of class `ModuleType` has no attribute `OTLPMetricExporter` [missing-attribute]
-   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:108:5
+  --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:97:5
 ERROR Object of class `ModuleType` has no attribute `OTLPMetricExporter` [missing-attribute]
-   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:112:5
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:101:5
 ERROR Object of class `ModuleType` has no attribute `OTLPMetricExporter` [missing-attribute]
-   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:116:5
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:105:5
 ERROR Object of class `ModuleType` has no attribute `OTLPMetricExporter` [missing-attribute]
-   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:120:5
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:109:5
+ERROR Argument `Literal[123]` is not assignable to parameter `endpoint` with type `str` in function `dify_trace_tencent.client.TencentTraceClient._resolve_grpc_target` [bad-argument-type]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:211:52
+ERROR Object of class `object` has no attribute `debug` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:258:5
+ERROR Object of class `object` has no attribute `get_span_context` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:264:5
+ERROR Object of class `object` has no attribute `set_attributes` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:279:5
+ERROR Object of class `object` has no attribute `add_event` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:280:5
+ERROR Object of class `object` has no attribute `set_status` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:281:5
+ERROR Object of class `object` has no attribute `end` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:282:5
+ERROR Cannot set item in `dict[int, SpanContext]` [unsupported-operation]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:288:32
+ERROR Object of class `object` has no attribute `get_span_context` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:290:5
+ERROR Object of class `object` has no attribute `NonRecordingSpan` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:305:5
+ERROR Object of class `object` has no attribute `set_span_in_context` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:306:5
+ERROR Object of class `object` has no attribute `get_span_context` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:312:5
+ERROR Object of class `object` has no attribute `exception` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:328:5
+ERROR Object of class `object` has no attribute `force_flush` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:394:5
+ERROR Object of class `object` has no attribute `shutdown` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:395:5
+ERROR Object of class `object` has no attribute `shutdown` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:396:5
+ERROR Object of class `NoneType` has no attribute `shutdown` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:408:5
+ERROR Object of class `object` has no attribute `debug` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:412:5
+ERROR Object of class `object` has no attribute `debug` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:416:5
+ERROR Object of class `object` has no attribute `exception` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:454:5
+ERROR Object of class `object` has no attribute `get_span_context` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:460:5
+ERROR Object of class `object` has no attribute `set_attributes` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:476:16
+ERROR Argument `dict[str, int | object]` is not assignable to parameter `attributes` with type `dict[str, str] | None` in function `dify_trace_tencent.client.TencentTraceClient.record_llm_duration` [bad-argument-type]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:488:37
+ERROR Argument `dict[str, bool | object]` is not assignable to parameter `attributes` with type `dict[str, str] | None` in function `dify_trace_tencent.client.TencentTraceClient.record_trace_duration` [bad-argument-type]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:499:39
+ERROR Object of class `object` has no attribute `debug` [missing-attribute]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:524:5
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:535:12
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:546:12
+ERROR Cannot index into `object` [bad-index]
+   --> providers/trace/trace-tencent/tests/unit_tests/tencent_trace/test_client.py:557:12
+ERROR Missing argument `api_key` in function `dify_trace_weave.config.WeaveConfig.__init__` [missing-argument]
+  --> providers/trace/trace-weave/tests/unit_tests/test_config_entity.py:34:24
+ERROR Missing argument `project` in function `dify_trace_weave.config.WeaveConfig.__init__` [missing-argument]
+  --> providers/trace/trace-weave/tests/unit_tests/test_config_entity.py:34:24
+ERROR Missing argument `project` in function `dify_trace_weave.config.WeaveConfig.__init__` [missing-argument]
+  --> providers/trace/trace-weave/tests/unit_tests/test_config_entity.py:37:24
+ERROR Missing argument `api_key` in function `dify_trace_weave.config.WeaveConfig.__init__` [missing-argument]
+  --> providers/trace/trace-weave/tests/unit_tests/test_config_entity.py:40:24
 ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_alibabacloud_mysql.alibabacloud_mysql_vector.AlibabaCloudMySQLVectorFactory.init_vector` [bad-argument-type]
   --> providers/vdb/vdb-alibabacloud-mysql/tests/unit_tests/test_alibabacloud_mysql_factory.py:42:38
 ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_alibabacloud_mysql.alibabacloud_mysql_vector.AlibabaCloudMySQLVectorFactory.init_vector` [bad-argument-type]
@@ -777,7 +965,7 @@
 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 Generator function should return `Generator` [bad-return]
-   --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_api_workflow_run_repository.py:138:56
+   --> tests/test_containers_integration_tests/repositories/test_sqlalchemy_api_workflow_run_repository.py:134: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]
@@ -1823,15 +2011,15 @@
 ERROR No attribute `MethodView` in module `builtins` [missing-attribute]
  --> tests/unit_tests/controllers/common/test_fields.py:9:5
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:221:38
+   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:223:38
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:221:82
+   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:223:82
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:238:34
+   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:242:34
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:238:78
+   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:242:78
 ERROR Object of class `int` has no attribute `lower` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:256:35
+   --> tests/unit_tests/controllers/console/app/test_annotation_security.py:262:35
 ERROR Object of class `ModuleType` has no attribute `console_ns` [missing-attribute]
   --> tests/unit_tests/controllers/console/app/test_app_response_models.py:70:5
 ERROR Object of class `ModuleType` has no attribute `api` [missing-attribute]
@@ -1875,9 +2063,9 @@
 ERROR Cannot set item in `OrderedDict[str, bool | list[str] | str]` [unsupported-operation]
    --> tests/unit_tests/controllers/console/app/workflow_draft_variables_test.py:134:47
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/controllers/console/auth/test_login_logout.py:516:16
+   --> tests/unit_tests/controllers/console/auth/test_login_logout.py:527:16
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/controllers/console/auth/test_login_logout.py:543:16
+   --> tests/unit_tests/controllers/console/auth/test_login_logout.py:555:16
 ERROR Object of class `tuple` has no attribute `json` [missing-attribute]
   --> tests/unit_tests/controllers/console/auth/test_token_refresh.py:74:16
 ERROR Type `Response` is not iterable [not-iterable]
@@ -1957,11 +2145,11 @@
 ERROR Object of class `Flask` has no attribute `login_manager` [missing-attribute]
   --> tests/unit_tests/controllers/console/test_workspace_account.py:23:5
 ERROR `SimpleNamespace | object` is not assignable to attribute `_current_tenant` with type `Tenant | None` [bad-assignment]
-  --> tests/unit_tests/controllers/console/test_workspace_account.py:33:31
+  --> tests/unit_tests/controllers/console/test_workspace_account.py:37:31
 ERROR Object of class `Flask` has no attribute `login_manager` [missing-attribute]
   --> tests/unit_tests/controllers/console/test_workspace_members.py:15:5
 ERROR `SimpleNamespace` is not assignable to attribute `_current_tenant` with type `Tenant | None` [bad-assignment]
-  --> tests/unit_tests/controllers/console/test_workspace_members.py:62:43
+  --> tests/unit_tests/controllers/console/test_workspace_members.py:67:43
 ERROR Object of class `Exception` has no attribute `code` [missing-attribute]
    --> tests/unit_tests/controllers/console/test_wraps.py:117:24
 ERROR Object of class `Exception` has no attribute `code` [missing-attribute]
@@ -2056,30 +2244,6 @@
   --> tests/unit_tests/controllers/service_api/app/test_conversation.py:91:35
 ERROR Missing argument `session` in function `services.conversation_service.ConversationService.pagination_by_last_id` [missing-argument]
    --> tests/unit_tests/controllers/service_api/app/test_conversation.py:455:59
-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:97: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:424: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:425: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:426: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:427: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:437: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:517: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:518: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:519: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:521: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:611: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:684: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:94:63
 ERROR Argument value `Literal[101]` violates Pydantic `le` constraint `Literal[100]` for field `limit` [bad-argument-type]
@@ -2145,7 +2309,7 @@
 ERROR Object of class `NoneType` has no attribute `indexing_status` [missing-attribute]
    --> tests/unit_tests/controllers/service_api/dataset/test_document.py:238:16
 ERROR Missing argument `app_model` in function `protected_view` [missing-argument]
-   --> tests/unit_tests/controllers/service_api/test_wraps.py:156:36
+   --> tests/unit_tests/controllers/service_api/test_wraps.py:159:36
 ERROR `object` is not assignable to attribute `request` with type `Request` [bad-assignment]
   --> tests/unit_tests/controllers/trigger/test_trigger.py:11:22
 ERROR `SimpleNamespace` is not assignable to attribute `request` with type `Request` [bad-assignment]
@@ -2705,11 +2869,11 @@
 ERROR No matching overload found for function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.generate` called with arguments: (app_model=SimpleNamespace, workflow=SimpleNamespace, user=EndUser, args=dict[str, dict[@_, @_] | str], invoke_from=Literal[InvokeFrom.SERVICE_API], workflow_run_id=Literal['run-id'], streaming=Literal[False]) [no-matching-overload]
     --> tests/unit_tests/core/app/apps/advanced_chat/test_app_generator.py:1235:27
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:129:16
+  --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:94:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:130:16
+  --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:95:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:131:16
+  --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:96:16
 ERROR `SimpleNamespace` is not assignable to attribute `_application_generate_entity` with type `AdvancedChatAppGenerateEntity` [bad-assignment]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline.py:109:45
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `AdvancedChatAppGenerateEntity` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
@@ -2723,81 +2887,81 @@
 ERROR `SimpleNamespace` is not assignable to attribute `_application_generate_entity` with type `AdvancedChatAppGenerateEntity` [bad-assignment]
    --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline.py:240:45
 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/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:99:23
+  --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:95:23
 ERROR Argument `(**kwargs: Unknown) -> None` is not assignable to parameter `draft_var_saver_factory` with type `DraftVariableSaverFactory` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:105:33
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:101:33
 ERROR `SimpleNamespace` is not assignable to attribute `_message_cycle_manager` with type `MessageCycleManager` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:183:43
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:128:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueTextChunkEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:191:60
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:136:60
 ERROR Argument `SimpleNamespace` is not assignable to parameter `publisher` with type `AppGeneratorTTSPublisher | None` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._listen_audio_msg` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:200:57
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:145:57
 ERROR `(err: Unknown) -> Unknown` is not assignable to attribute `error_to_stream_response` with type `(self: BasedGenerateTaskPipeline, e: Exception) -> ErrorStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:215:65
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:160:65
 ERROR `() -> _GeneratorContextManager[SimpleNamespace]` is not assignable to attribute `_database_session` with type `(self: AdvancedChatAppGenerateTaskPipeline) -> _GeneratorContextManager[Session]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:221:38
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:166:38
 ERROR `(**kwargs: Unknown) -> Literal['started']` is not assignable to attribute `workflow_start_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_run_id: str, workflow_id: str, reason: WorkflowStartReason) -> WorkflowStartStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:233:83
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:178:83
 ERROR `TestAdvancedChatGenerateTaskPipeline.test_handle_output_moderation_chunk_publishes_stop._Moderation` is not assignable to attribute `output_moderation_handler` with type `OutputModeration | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:269:66
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:214:66
 ERROR `SimpleNamespace` is not assignable to attribute `queue_manager` with type `AppQueueManager` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:270:54
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:215:54
 ERROR `(outputs: Unknown) -> list[dict[str, str]]` is not assignable to attribute `fetch_files_from_node_outputs` with type `(cls: type[WorkflowResponseConverter], outputs_dict: Mapping[str, Any] | None) -> Sequence[Mapping[str, Any]]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:283:79
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:228:79
 ERROR `(**kwargs: Unknown) -> Literal['done']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:286:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:231:89
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueNodeSucceededEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_node_succeeded_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:296:64
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:241:64
 ERROR `(**kwargs: Unknown) -> Literal['iter_start']` is not assignable to attribute `workflow_iteration_start_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueIterationStartEvent) -> IterationNodeStartStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:304:93
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:249:93
 ERROR `(**kwargs: Unknown) -> Literal['iter_next']` is not assignable to attribute `workflow_iteration_next_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueIterationNextEvent) -> IterationNodeNextStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:307:92
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:252:92
 ERROR `(**kwargs: Unknown) -> Literal['iter_done']` is not assignable to attribute `workflow_iteration_completed_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueIterationCompletedEvent) -> IterationNodeCompletedStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:308:97
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:253:97
 ERROR `(**kwargs: Unknown) -> Literal['loop_start']` is not assignable to attribute `workflow_loop_start_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueLoopStartEvent) -> LoopNodeStartStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:311:88
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:256:88
 ERROR `(**kwargs: Unknown) -> Literal['loop_next']` is not assignable to attribute `workflow_loop_next_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueLoopNextEvent) -> LoopNodeNextStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:312:87
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:257:87
 ERROR `(**kwargs: Unknown) -> Literal['loop_done']` is not assignable to attribute `workflow_loop_completed_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_execution_id: str, event: QueueLoopCompletedEvent) -> LoopNodeCompletedStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:313:92
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:258:92
 ERROR `(**kwargs: Unknown) -> Literal['finish']` is not assignable to attribute `workflow_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_id: str, status: WorkflowExecutionStatus, graph_runtime_state: GraphRuntimeState, error: str | None = None, exceptions_count: int = 0) -> WorkflowFinishStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:378:84
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:323:84
 ERROR `(**kwargs: Unknown) -> list[str]` is not assignable to attribute `workflow_pause_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueWorkflowPausedEvent, task_id: str, graph_runtime_state: GraphRuntimeState) -> list[StreamResponse]` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:379:83
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:324:83
 ERROR `(err: Unknown) -> Unknown` is not assignable to attribute `error_to_stream_response` with type `(self: BasedGenerateTaskPipeline, e: Exception) -> ErrorStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:384:65
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:329:65
 ERROR `(**kwargs: Unknown) -> SimpleNamespace` is not assignable to attribute `_get_message` with type `(self: AdvancedChatAppGenerateTaskPipeline, *, session: Session) -> Message` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:385:33
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:330:33
 ERROR `(**kwargs: Unknown) -> Literal['node_finish']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:416:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:361:89
 ERROR `SimpleNamespace` is not assignable to attribute `_message_cycle_manager` with type `MessageCycleManager` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:451:43
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:396:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `event` with type `QueueTextChunkEvent` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:457:47
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:402:47
 ERROR Argument `TestAdvancedChatGenerateTaskPipeline.test_handle_text_chunk_event_tracks_streaming_metrics._Publisher` is not assignable to parameter `tts_publisher` with type `AppGeneratorTTSPublisher | None` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:457:68
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:402:68
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_message` with type `MessageQueueMessage | WorkflowQueueMessage | None` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._handle_text_chunk_event` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:457:96
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:402:96
 ERROR `TestAdvancedChatGenerateTaskPipeline.test_handle_output_moderation_chunk_appends_token._Moderation` is not assignable to attribute `output_moderation_handler` with type `OutputModeration | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:478:66
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:423:66
 ERROR `(**kwargs: Unknown) -> Literal['replace']` is not assignable to attribute `message_replace_to_stream_response` with type `(self: MessageCycleManager, answer: str, reason: str = '') -> MessageReplaceStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:507:78
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:452:78
 ERROR `(**kwargs: Unknown) -> Literal['filled']` is not assignable to attribute `human_input_form_filled_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueHumanInputFormFilledEvent, task_id: str) -> HumanInputFormFilledResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:520:92
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:465:92
 ERROR `(**kwargs: Unknown) -> Literal['timeout']` is not assignable to attribute `human_input_form_timeout_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueHumanInputFormTimeoutEvent, task_id: str) -> HumanInputFormTimeoutResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:521:93
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:466:93
 ERROR Argument `TestAdvancedChatGenerateTaskPipeline.test_save_message_strips_markdown_and_sets_usage._Session` is not assignable to parameter `session` with type `Session` in function `core.app.apps.advanced_chat.generate_task_pipeline.AdvancedChatAppGenerateTaskPipeline._save_message` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:590:40
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:535:40
 ERROR `() -> Literal['end']` is not assignable to attribute `_message_end_to_stream_response` with type `(self: AdvancedChatAppGenerateTaskPipeline) -> MessageEndStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:598:52
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:543:52
 ERROR `(answer: Unknown) -> Literal['safe']` is not assignable to attribute `handle_output_moderation_when_task_finished` with type `(self: BasedGenerateTaskPipeline, completion: str) -> str | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:623:84
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:568:84
 ERROR `(**kwargs: Unknown) -> Literal['replace']` is not assignable to attribute `message_replace_to_stream_response` with type `(self: MessageCycleManager, answer: str, reason: str = '') -> MessageReplaceStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:624:78
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:569:78
 ERROR `() -> Literal['end']` is not assignable to attribute `_message_end_to_stream_response` with type `(self: AdvancedChatAppGenerateTaskPipeline) -> MessageEndStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:625:52
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:570:52
 ERROR `(**kwargs: Unknown) -> Literal['failed']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:647:89
+   --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_task_pipeline_core.py:592:89
 ERROR Argument `dict[str, dict[str, str]]` is not assignable to parameter `override_config_dict` with type `AppModelConfigDict | None` in function `core.app.apps.agent_chat.app_config_manager.AgentChatAppConfigManager.get_app_config` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/agent_chat/test_agent_chat_app_config_manager.py:40:34
 ERROR Cannot index into `str` [bad-index]
@@ -2898,6 +3062,20 @@
    --> tests/unit_tests/core/app/apps/completion/test_completion_completion_app_generator.py:132: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:292:57
+ERROR Cannot index into `object` [bad-index]
+  --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:80:16
+ERROR Cannot index into `object` [bad-index]
+  --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:81:16
+ERROR Cannot index into `object` [bad-index]
+  --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:82:16
+ERROR Cannot index into `object` [bad-index]
+  --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:83:16
+ERROR Cannot index into `object` [bad-index]
+  --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:84:16
+ERROR Cannot index into `object` [bad-index]
+  --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:85:16
+ERROR Cannot index into `object` [bad-index]
+  --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:86:31
 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]
@@ -2912,8 +3090,6 @@
    --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:168:31
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/completion/test_completion_generate_response_converter.py:169:16
-ERROR Cannot index into `object` [bad-index]
-  --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:39:12
 ERROR Cannot index into `str` [bad-index]
   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:56:12
 ERROR Cannot index into `str` [bad-index]
@@ -2931,13 +3107,13 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:65:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:140:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:143:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:163:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:168:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:189:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:194:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `RagPipelineGenerateEntity` in function `core.app.apps.pipeline.pipeline_runner.PipelineRunner.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:248:37
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_runner.py:253:37
 ERROR `Literal['generated-conversation-id']` is not assignable to attribute `id` with type `Never` [bad-assignment]
   --> tests/unit_tests/core/app/apps/test_advanced_chat_app_generator.py:53:22
 ERROR `Literal['generated-message-id']` is not assignable to attribute `id` with type `Never` [bad-assignment]
@@ -3073,13 +3249,7 @@
 ERROR Cannot index into `str` [bad-index]
   --> tests/unit_tests/core/app/apps/test_streaming_utils.py:79:12
 ERROR Argument `FakeTopic` is not assignable to parameter `topic` with type `Topic` in function `core.app.apps.streaming_utils.stream_topic_events` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_streaming_utils.py:105:15
-ERROR Argument `FakeTopic` is not assignable to parameter `topic` with type `Topic` in function `core.app.apps.streaming_utils.stream_topic_events` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_streaming_utils.py:121:15
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/test_streaming_utils.py:127:12
-ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/test_streaming_utils.py:128:12
+   --> tests/unit_tests/core/app/apps/test_streaming_utils.py:101:15
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `WorkflowAppGenerateEntity` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/test_workflow_app_generator.py:37:37
 ERROR Argument `tuple[Literal['layer']]` is not assignable to parameter `graph_engine_layers` with type `Sequence[GraphEngineLayer]` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
@@ -3223,191 +3393,131 @@
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:133:16
 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/core/app/apps/workflow/test_generate_task_pipeline_core.py:84:18
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:83:18
 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/core/app/apps/workflow/test_generate_task_pipeline_core.py:85:23
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:84:23
 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/core/app/apps/workflow/test_generate_task_pipeline_core.py:86:14
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:85:14
 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/core/app/apps/workflow/test_generate_task_pipeline_core.py:88:33
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:87:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `publisher` with type `AppGeneratorTTSPublisher | None` in function `core.app.apps.workflow.generate_task_pipeline.WorkflowAppGenerateTaskPipeline._listen_audio_msg` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:169:57
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:145:57
 ERROR `(err: Unknown) -> Unknown` is not assignable to attribute `error_to_stream_response` with type `(self: BasedGenerateTaskPipeline, e: Exception) -> ErrorStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:184:65
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:160:65
 ERROR `(**kwargs: Unknown) -> Literal['started']` is not assignable to attribute `workflow_start_to_stream_response` with type `(self: WorkflowResponseConverter, *, task_id: str, workflow_run_id: str, workflow_id: str, reason: WorkflowStartReason) -> WorkflowStartStreamResponse` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:196:83
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:172:83
 ERROR `(**kwargs: Unknown) -> Literal['done']` is not assignable to attribute `workflow_node_finish_to_stream_response` with type `(self: WorkflowResponseConverter, *, event: QueueNodeExceptionEvent | QueueNodeFailedEvent | QueueNodeSucceededEvent, task_id: str) -> NodeFinishStreamResponse | None` [bad-assignment]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:212:89
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_task_pipeline_core.py:188:89
 ERROR `(**kwargs: Unknown) -> Literal['finish']` is not assignable to attribute `workflow_finish_t\n\n... (truncated) ...

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. web This relates to changes on the web.

Projects

None yet

1 participant