Skip to content

fix: Unicode separator corruption#34927

Open
xingxing21 wants to merge 9 commits intolanggenius:mainfrom
xingxing21:fix/unicode-separator-corruption
Open

fix: Unicode separator corruption#34927
xingxing21 wants to merge 9 commits intolanggenius:mainfrom
xingxing21:fix/unicode-separator-corruption

Conversation

@xingxing21
Copy link
Copy Markdown

Important

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

Fixes #33644

Summary

FixedRecursiveCharacterTextSplitter.__init__ passed the user-supplied separator through codecs.decode(separator, "unicode_escape"), which is designed to convert escape sequences like \n into actual newline characters. However, this call silently corrupts any non-ASCII Unicode character — for example, the Chinese fullwidth comma (U+FF0C) is mangled into garbage bytes that never match anything in the document text. As a result, text.split(corrupted_sep) finds no matches and returns the entire document as a single unsplit chunk, making non-ASCII separators appear completely broken.

The fix removes the codecs.decode call entirely. Both callers (indexing_runner.py and index_processor_base.py) already perform the \n escape conversion with separator.replace("\\n", "\n") before constructing the splitter, so the codecs.decode in the constructor was redundant for the intended use case and harmful for all non-ASCII input.

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran make lint and make type-check (backend) and cd web && pnpm exec vp staged (frontend) to appease the lint gods

Copilot AI review requested due to automatic review settings April 10, 2026 15:48
@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Apr 10, 2026
@github-actions github-actions bot added the web This relates to changes on the web. label Apr 10, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses incorrect handling of non-ASCII separators in the backend RAG text splitter by removing Unicode escape decoding that could corrupt user-supplied separators (e.g., ), and also includes a small dataset list layout change in the web UI.

Changes:

  • Stop decoding fixed_separator via unicode_escape in FixedRecursiveCharacterTextSplitter to avoid corrupting non-ASCII separators.
  • Adjust the dataset list scroll container layout by adding h-0 to the container class list.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
web/app/components/datasets/list/index.tsx Adds h-0 to the scroll container’s class list (layout/scroll behavior change).
api/core/rag/splitter/fixed_text_splitter.py Removes Unicode escape decoding for fixed_separator to prevent non-ASCII separator corruption.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread api/core/rag/splitter/fixed_text_splitter.py
Comment thread web/app/components/datasets/list/index.tsx
@xingxing21
Copy link
Copy Markdown
Author

Hello @dosu

I made this PR 3 days ago.
But the codeowners that assigned this PR didn't response yet.
Could you assign new online codeowners into this PR?
Thanks

@dosubot
Copy link
Copy Markdown

dosubot bot commented Apr 13, 2026

Hi @xingxing21, thanks for your patience on this PR! Unfortunately, I'm not able to assign reviewers or manage PR assignments — that's something only the repository maintainers can do.

I'd suggest leaving a polite comment tagging one of the active maintainers (e.g., @crazywoola or @iamjoel) to ask for a review, or pinging them on the Dify Discord community if available. That's usually the quickest way to get attention on a pending PR.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Chat with Dosu Open in Cursor  Share on X

@xingxing21
Copy link
Copy Markdown
Author

Hi @crazywoola, @iamjoel — I hope you’re doing well.
I wanted to kindly ask if you might have time to take a look at this PR when convenient. I’d really appreciate any feedback or suggestions you may have.

Thank you for your time and for maintaining the project!

@xingxing21
Copy link
Copy Markdown
Author

Hi @asukaminato0721

I hope you’re doing well.
I wanted to kindly ask if you might have time to take a look at this PR when convenient. I’d really appreciate any feedback or suggestions you may have.

Thank you for your time and for maintaining the project!

@xingxing21
Copy link
Copy Markdown
Author

@copilot apply changes based on the comments in this thread

@xingxing21
Copy link
Copy Markdown
Author

Hi @WTW0313 , @JohnJyong — I hope you’re doing well.
I wanted to kindly ask if you might have time to take a look at this PR when convenient. I’d really appreciate any feedback or suggestions you may have.

Thank you for your time and for maintaining the project!

@crazywoola
Copy link
Copy Markdown
Member

@dosu review the PR

@github-actions
Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-04-14 02:14:52.176704435 +0000
+++ /tmp/pyrefly_pr.txt	2026-04-14 02:14:34.404781261 +0000
@@ -78,6 +78,187 @@
    --> core/rag/datasource/keyword/jieba/jieba.py:157:29
 ERROR Argument `object` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__` [bad-argument-type]
   --> core/rag/datasource/keyword/jieba/jieba_keyword_table_handler.py:88:35
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._create_namespace_request.CreateNamespaceRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:120:40
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._describe_collection_request.DescribeCollectionRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:141:40
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._upsert_collection_data_request.UpsertCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:187:32
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._query_collection_data_request.QueryCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:200:32
+ERROR Argument `None` is not assignable to parameter `vector` with type `list[float]` in function `alibabacloud_gpdb20160503.models._query_collection_data_request.QueryCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:204:20
+ERROR Argument `None` is not assignable to parameter `content` with type `str` in function `alibabacloud_gpdb20160503.models._query_collection_data_request.QueryCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:205:21
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._delete_collection_data_request.DeleteCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:221:32
+ERROR Argument `None` is not assignable to parameter `collection_data` with type `str` in function `alibabacloud_gpdb20160503.models._delete_collection_data_request.DeleteCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:223:29
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._delete_collection_data_request.DeleteCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:235:32
+ERROR Argument `None` is not assignable to parameter `collection_data` with type `str` in function `alibabacloud_gpdb20160503.models._delete_collection_data_request.DeleteCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:237:29
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._query_collection_data_request.QueryCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:256:32
+ERROR Argument `None` is not assignable to parameter `content` with type `str` in function `alibabacloud_gpdb20160503.models._query_collection_data_request.QueryCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:261:21
+ERROR Argument `str | None` is not assignable to parameter `page_content` with type `bytearray | bytes | str` in function `core.rag.models.document.Document.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:272:34
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._query_collection_data_request.QueryCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:293:32
+ERROR Argument `None` is not assignable to parameter `vector` with type `list[float]` in function `alibabacloud_gpdb20160503.models._query_collection_data_request.QueryCollectionDataRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:297:20
+ERROR Argument `str | None` is not assignable to parameter `page_content` with type `bytearray | bytes | str` in function `core.rag.models.document.Document.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:309:34
+ERROR Argument `str | None` is not assignable to parameter `namespace_password` with type `str` in function `alibabacloud_gpdb20160503.models._delete_collection_request.DeleteCollectionRequest.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/analyticdb/analyticdb_vector_openapi.py:325:36
+ERROR Class member `BaiduVector.add_texts` overrides parent class `BaseVector` in an inconsistent manner [bad-override]
+  --> core/rag/datasource/vdb/baidu/baidu_vector.py:99:9
+ERROR Expected a callable, got `None` [not-callable]
+   --> core/rag/datasource/vdb/baidu/baidu_vector.py:149:15
+ERROR Argument `list[Field]` is not assignable to parameter `fields` with type `list[dict[str, str]] | list[str]` in function `pymochow.model.schema.FilteringIndex.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/baidu/baidu_vector.py:303:28
+ERROR Expected 0 positional arguments, got 1 in function `couchbase.logic.search_queries.SearchQuery.__init__` [bad-argument-count]
+   --> core/rag/datasource/vdb/couchbase/couchbase_vector.py:309:77
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `host` with type `bytearray | bytes | str | None` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `username` with type `bytearray | bytes | str | None` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `password` with type `bytearray | bytes | str | None` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `cloud_url` with type `bytearray | bytes | str | None` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `api_key` with type `bytearray | bytes | str | None` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `use_cloud` with type `Decimal | bool | float | int | str` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `ca_certs` with type `bytearray | bytes | str | None` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `verify_certs` with type `Decimal | bool | float | int | str` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `request_timeout` with type `Decimal | bool | bytes | float | int | str` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `retry_on_timeout` with type `Decimal | bool | float | int | str` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Unpacked keyword argument `bool | Unknown | None` is not assignable to parameter `max_retries` with type `Decimal | bool | bytes | float | int | str` in function `ElasticSearchConfig.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/elasticsearch/elasticsearch_vector.py:355:40
+ERROR Class member `LindormVectorStore.add_texts` overrides parent class `BaseVector` in an inconsistent manner [bad-override]
+  --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:93:9
+ERROR `str | None` is not assignable to TypedDict key `routing` with type `str` [bad-typed-dict-key]
+   --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:142:57
+ERROR Object of class `NoneType` has no attribute `get` [missing-attribute]
+   --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:392:35
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:395:29
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:396:30
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:397:33
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:398:33
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/lindorm/lindorm_vector.py:401:30
+ERROR Cannot index into `Coroutine[Unknown, Unknown, Unknown]` [bad-index]
+  --> core/rag/datasource/vdb/milvus/milvus_vector.py:96:50
+ERROR Argument `dict[Unknown, Unknown] | str` is not assignable to parameter `version` with type `str` in function `packaging.version.parse` [bad-argument-type]
+   --> core/rag/datasource/vdb/milvus/milvus_vector.py:114:34
+ERROR Argument `Literal['HNSW']` is not assignable to parameter `index_type` with type `VecIndexType` in function `pyobvector.client.index_param.IndexParams.add_index` [bad-argument-type]
+   --> core/rag/datasource/vdb/oceanbase/oceanbase_vector.py:160:28
+ERROR Class member `OceanBaseVector.add_texts` overrides parent class `BaseVector` in an inconsistent manner [bad-override]
+   --> core/rag/datasource/vdb/oceanbase/oceanbase_vector.py:240:9
+ERROR Class member `OpenSearchVector.add_texts` overrides parent class `BaseVector` in an inconsistent manner [bad-override]
+   --> core/rag/datasource/vdb/opensearch/opensearch_vector.py:110:9
+ERROR `dict[str, dict[Field | str, list[float] | Any]]` is not assignable to TypedDict key with type `dict[Field, dict[Field | str, list[float] | Any]]` [bad-typed-dict-key]
+   --> core/rag/datasource/vdb/opensearch/opensearch_vector.py:204:33
+ERROR No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, str | None]) [no-matching-overload]
+   --> core/rag/datasource/vdb/oracle/oraclevector.py:139:31
+ERROR Function declared to return `bool`, but one or more paths are missing an explicit `return` [bad-return]
+   --> core/rag/datasource/vdb/oracle/oraclevector.py:191:39
+ERROR No matching overload found for function `sqlalchemy.sql.sqltypes.UUID.__init__` called with arguments: (as_uuid=Literal[True]) [no-matching-overload]
+  --> core/rag/datasource/vdb/pgvecto_rs/pgvecto_rs.py:66:32
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.describe_collection` [bad-argument-type]
+  --> core/rag/datasource/vdb/tencent/tencent_vector.py:82:35
+ERROR Object of class `FilterIndex` has no attribute `dimension`
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.create_database_if_not_exists` [bad-argument-type]
+  --> core/rag/datasource/vdb/tencent/tencent_vector.py:94:73
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.exists_collection` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:109:31
+ERROR Argument `SparseIndex` is not assignable to parameter `object` with type `FilterIndex | VectorIndex` in function `list.append` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:154:32
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.create_collection` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:157:35
+ERROR Argument `list[FilterIndex | VectorIndex]` is not assignable to parameter `indexes` with type `list[IndexField]` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.create_collection` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:162:29
+ERROR Argument `SparseIndex` is not assignable to parameter `object` with type `FilterIndex | VectorIndex` in function `list.append` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:173:36
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.create_collection` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:175:35
+ERROR Argument `list[FilterIndex | VectorIndex]` is not assignable to parameter `indexes` with type `list[IndexField]` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.create_collection` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:180:29
+ERROR Class member `TencentVector.add_texts` overrides parent class `BaseVector` in an inconsistent manner [bad-override]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:188:9
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.upsert` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:212:31
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.query` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:220:27
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.delete` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:240:31
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.delete` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:245:27
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.search` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:256:27
+ERROR Argument `Filter | None` is not assignable to parameter `filter` with type `Filter | str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.search` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:259:20
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.hybrid_search` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:276:27
+ERROR Argument `list[list[float | int]] | list[list[list[float | int]]]` is not assignable to parameter `data` with type `list[list[float | int]] | None` in function `tcvectordb.model.document.KeywordSearch.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:287:26
+ERROR Argument `Filter | None` is not assignable to parameter `filter` with type `Filter | str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.hybrid_search` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:296:20
+ERROR Argument `str | None` is not assignable to parameter `database_name` with type `str` in function `tcvectordb.rpc.client.stub.RPCVectorDBClient.drop_collection` [bad-argument-type]
+   --> core/rag/datasource/vdb/tencent/tencent_vector.py:320:31
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `port` with type `int | None` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `grpc_port` with type `int` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `prefer_grpc` with type `bool` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `https` with type `bool | None` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `timeout` with type `int | None` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `force_disable_check_same_thread` with type `bool` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `grpc_options` with type `dict[str, Any] | None` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR Unpacked keyword argument `str | Unknown` is not assignable to parameter `auth_token_provider` with type `(() -> Awaitable[str]) | (() -> str) | None` in function `qdrant_client.qdrant_client.QdrantClient.__init__` [bad-argument-type]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:87:51
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:453:40
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:454:42
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:455:37
+ERROR `None` is not subscriptable [unsupported-operation]
+   --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py:456:38
+ERROR `None` is not subscriptable [unsupported-operation]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_service.py:71:20
+ERROR `None` is not subscriptable [unsupported-operation]
+  --> core/rag/datasource/vdb/tidb_on_qdrant/tidb_service.py:72:35
+ERROR Class member `UpstashVector.add_texts` overrides parent class `BaseVector` in an inconsistent manner [bad-override]
+  --> core/rag/datasource/vdb/upstash/upstash_vector.py:47:9
+ERROR Class member `VikingDBVector.add_texts` overrides parent class `BaseVector` in an inconsistent manner [bad-override]
+   --> core/rag/datasource/vdb/vikingdb/vikingdb_vector.py:117:9
+ERROR Object of class `list` has no attribute `fields` [missing-attribute]
+   --> core/rag/datasource/vdb/vikingdb/vikingdb_vector.py:144:55
+ERROR Class member `WeaviateVector._get_uuids` overrides parent class `BaseVector` in an inconsistent manner [bad-param-name-override]
+   --> core/rag/datasource/vdb/weaviate/weaviate_vector.py:272:9
+ERROR Argument `GeoCoordinate | Mapping[str, WeaviateField] | PhoneNumber | Sequence[Mapping[str, WeaviateField]] | Sequence[UUID] | Sequence[bool] | Sequence[datetime] | Sequence[float] | Sequence[int] | Sequence[str] | UUID | _PhoneNumber | bool | datetime | float | int | str | None` is not assignable to parameter `page_content` with type `bytearray | bytes | str` in function `core.rag.models.document.Document.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/weaviate/weaviate_vector.py:425:51
+ERROR Argument `GeoCoordinate | Mapping[str, WeaviateField] | PhoneNumber | Sequence[Mapping[str, WeaviateField]] | Sequence[UUID] | Sequence[bool] | Sequence[datetime] | Sequence[float] | Sequence[int] | Sequence[str] | UUID | _PhoneNumber | bool | datetime | float | int | str | None` is not assignable to parameter `page_content` with type `bytearray | bytes | str` in function `core.rag.models.document.Document.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/weaviate/weaviate_vector.py:467:47
+ERROR Argument `list[float] | list[list[float]] | None` is not assignable to parameter `vector` with type `Iterable[LaxFloat] | None` in function `core.rag.models.document.Document.__init__` [bad-argument-type]
+   --> core/rag/datasource/vdb/weaviate/weaviate_vector.py:467:60
 ERROR `upload_file` may be uninitialized [unbound-name]
    --> core/rag/extractor/extract_processor.py:116:61
 ERROR `upload_file` may be uninitialized [unbound-name]
@@ -132,460 +313,6 @@
   --> 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 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]
-  --> providers/vdb/vdb-alibabacloud-mysql/tests/unit_tests/test_alibabacloud_mysql_factory.py:68:38
-ERROR Argument `Literal['manhattan']` is not assignable to parameter `distance_function` with type `Literal['cosine', 'euclidean']` in function `dify_vdb_alibabacloud_mysql.alibabacloud_mysql_vector.AlibabaCloudMySQLVectorConfig.__init__` [bad-argument-type]
-   --> providers/vdb/vdb-alibabacloud-mysql/tests/unit_tests/test_alibabacloud_mysql_vector.py:632:35
-ERROR Missing argument `min_connection` in function `dify_vdb_analyticdb.analyticdb_vector_sql.AnalyticdbVectorBySqlConfig.__init__` [missing-argument]
-  --> providers/vdb/vdb-analyticdb/tests/integration_tests/test_analyticdb.py:17:55
-ERROR Missing argument `max_connection` in function `dify_vdb_analyticdb.analyticdb_vector_sql.AnalyticdbVectorBySqlConfig.__init__` [missing-argument]
-  --> providers/vdb/vdb-analyticdb/tests/integration_tests/test_analyticdb.py:17:55
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_analyticdb.analyticdb_vector.AnalyticdbVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector.py:102:38
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_analyticdb.analyticdb_vector.AnalyticdbVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector.py:127:38
-ERROR Object of class `ModuleType` has no attribute `Client` [missing-attribute]
-  --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:50:5
-ERROR Object of class `ModuleType` has no attribute `models` [missing-attribute]
-  --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:51:5
-ERROR Object of class `ModuleType` has no attribute `Config` [missing-attribute]
-  --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:62:5
-ERROR Object of class `ModuleType` has no attribute `models` [missing-attribute]
-  --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:63:5
-ERROR Object of class `ModuleType` has no attribute `TeaException` [missing-attribute]
-  --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:76:5
-ERROR Object of class `ModuleType` has no attribute `exceptions` [missing-attribute]
-  --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:77:5
-ERROR Object of class `Client` has no attribute `config` [missing-attribute]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:144:12
-ERROR Object of class `FunctionType` has no attribute `assert_called_once` [missing-attribute]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:184:5
-ERROR Object of class `FunctionType` has no attribute `assert_called_once` [missing-attribute]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:255:5
-ERROR Argument `list[Document | SimpleNamespace]` is not assignable to parameter `documents` with type `list[Document]` in function `dify_vdb_analyticdb.analyticdb_vector_openapi.AnalyticdbVectorOpenAPI.add_texts` [bad-argument-type]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_openapi.py:308:22
-ERROR Object of class `FunctionType` has no attribute `assert_called_once` [missing-attribute]
-  --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_sql.py:88:5
-ERROR Class `SimpleConnectionPool` has no class attribute `assert_called_once` [missing-attribute]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_sql.py:102:5
-ERROR Argument `list[Document | SimpleNamespace]` is not assignable to parameter `documents` with type `list[Document]` in function `dify_vdb_analyticdb.analyticdb_vector_sql.AnalyticdbVectorBySql.add_texts` [bad-argument-type]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_sql.py:141:22
-ERROR Object of class `FunctionType` has no attribute `call_args` [missing-attribute]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_sql.py:143:20
-ERROR Object of class `FunctionType` has no attribute `assert_called_once` [missing-attribute]
-   --> providers/vdb/vdb-analyticdb/tests/unit_tests/test_analyticdb_vector_sql.py:381:5
-ERROR Object of class `ModuleType` has no attribute `MochowClient` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:69:5
-ERROR Object of class `ModuleType` has no attribute `BceCredentials` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:70:5
-ERROR Object of class `ModuleType` has no attribute `Configuration` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:71:5
-ERROR Object of class `ModuleType` has no attribute `ServerError` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:72:5
-ERROR Object of class `ModuleType` has no attribute `Database` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:73:5
-ERROR Object of class `ModuleType` has no attribute `FieldType` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:75:5
-ERROR Object of class `ModuleType` has no attribute `IndexState` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:76:5
-ERROR Object of class `ModuleType` has no attribute `IndexType` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:77:5
-ERROR Object of class `ModuleType` has no attribute `MetricType` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:78:5
-ERROR Object of class `ModuleType` has no attribute `ServerErrCode` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:79:5
-ERROR Object of class `ModuleType` has no attribute `TableState` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:80:5
-ERROR Object of class `ModuleType` has no attribute `InvertedIndexAnalyzer` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:93:5
-ERROR Object of class `ModuleType` has no attribute `InvertedIndexFieldAttribute` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:94:5
-ERROR Object of class `ModuleType` has no attribute `InvertedIndexParseMode` [missing-attribute]
-  --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:95:5
-ERROR Object of class `ModuleType` has no attribute `auth` [missing-attribute]
-   --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:100:5
-ERROR Object of class `ModuleType` has no attribute `model` [missing-attribute]
-   --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:101:5
-ERROR Object of class `ModuleType` has no attribute `bce_credentials` [missing-attribute]
-   --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:102:5
-ERROR Object of class `ModuleType` has no attribute `database` [missing-attribute]
-   --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:103:5
-ERROR Object of class `ModuleType` has no attribute `enum` [missing-attribute]
-   --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:104:5
-ERROR Object of class `ModuleType` has no attribute `schema` [missing-attribute]
-   --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:105:5
-ERROR Object of class `ModuleType` has no attribute `table` [missing-attribute]
-   --> providers/vdb/vdb-baidu/tests/unit_tests/test_baidu_vector.py:106:5
-ERROR Object of class `ModuleType` has no attribute `DEFAULT_TENANT` [missing-attribute]
-  --> providers/vdb/vdb-chroma/tests/unit_tests/test_chroma_vector.py:15:5
-ERROR Object of class `ModuleType` has no attribute `DEFAULT_DATABASE` [missing-attribute]
-  --> providers/vdb/vdb-chroma/tests/unit_tests/test_chroma_vector.py:16:5
-ERROR Object of class `ModuleType` has no attribute `Settings` [missing-attribute]
-  --> providers/vdb/vdb-chroma/tests/unit_tests/test_chroma_vector.py:40:5
-ERROR Object of class `ModuleType` has no attribute `QueryResult` [missing-attribute]
-  --> providers/vdb/vdb-chroma/tests/unit_tests/test_chroma_vector.py:41:5
-ERROR Object of class `ModuleType` has no attribute `HttpClient` [missing-attribute]
-  --> providers/vdb/vdb-chroma/tests/unit_tests/test_chroma_vector.py:42:5
-ERROR Object of class `ModuleType` has no attribute `connect` [missing-attribute]
-  --> providers/vdb/vdb-clickzetta/tests/unit_tests/test_clickzetta_vector.py:43:5
-ERROR Object of class `NoneType` has no attribute `started` [missing-attribute]
-   --> providers/vdb/vdb-clickzetta/tests/unit_tests/test_clickzetta_vector.py:424:12
-ERROR Object of class `ModuleType` has no attribute `PasswordAuthenticator` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:127:5
-ERROR Object of class `ModuleType` has no attribute `Cluster` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:128:5
-ERROR Object of class `ModuleType` has no attribute `SearchIndex` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:129:5
-ERROR Object of class `ModuleType` has no attribute `ClusterOptions` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:130:5
-ERROR Object of class `ModuleType` has no attribute `SearchOptions` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:131:5
-ERROR Object of class `ModuleType` has no attribute `VectorQuery` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:132:5
-ERROR Object of class `ModuleType` has no attribute `VectorSearch` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:133:5
-ERROR Object of class `ModuleType` has no attribute `QueryStringQuery` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:134:5
-ERROR Object of class `ModuleType` has no attribute `SearchRequest` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:135:5
-ERROR Object of class `ModuleType` has no attribute `search` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:137:5
-ERROR Object of class `ModuleType` has no attribute `management` [missing-attribute]
-   --> providers/vdb/vdb-couchbase/tests/unit_tests/test_couchbase_vector.py:138:5
-ERROR Object of class `ModuleType` has no attribute `Elasticsearch` [missing-attribute]
-  --> providers/vdb/vdb-elasticsearch/tests/unit_tests/test_elasticsearch_ja_vector.py:25:5
-ERROR Object of class `ModuleType` has no attribute `ConnectionError` [missing-attribute]
-  --> providers/vdb/vdb-elasticsearch/tests/unit_tests/test_elasticsearch_ja_vector.py:26:5
-ERROR Object of class `ModuleType` has no attribute `Elasticsearch` [missing-attribute]
-  --> providers/vdb/vdb-elasticsearch/tests/unit_tests/test_elasticsearch_vector.py:35:5
-ERROR Object of class `ModuleType` has no attribute `ConnectionError` [missing-attribute]
-  --> providers/vdb/vdb-elasticsearch/tests/unit_tests/test_elasticsearch_vector.py:36:5
-ERROR Object of class `ModuleType` has no attribute `BaseQuantizationType` [missing-attribute]
-  --> providers/vdb/vdb-hologres/tests/unit_tests/test_hologres_vector.py:18:5
-ERROR Object of class `ModuleType` has no attribute `DistanceType` [missing-attribute]
-  --> providers/vdb/vdb-hologres/tests/unit_tests/test_hologres_vector.py:19:5
-ERROR Object of class `ModuleType` has no attribute `TokenizerType` [missing-attribute]
-  --> providers/vdb/vdb-hologres/tests/unit_tests/test_hologres_vector.py:20:5
-ERROR Object of class `ModuleType` has no attribute `connect` [missing-attribute]
-  --> providers/vdb/vdb-hologres/tests/unit_tests/test_hologres_vector.py:32:5
-ERROR Argument `SimpleNamespace` is not assignable to parameter `object` with type `Document` in function `list.append` [bad-argument-type]
-   --> providers/vdb/vdb-hologres/tests/unit_tests/test_hologres_vector.py:126:22
-ERROR Object of class `ModuleType` has no attribute `Elasticsearch` [missing-attribute]
-  --> providers/vdb/vdb-huawei-cloud/tests/unit_tests/test_huawei_cloud_vector.py:27:5
-ERROR Object of class `ModuleType` has no attribute `connect` [missing-attribute]
-  --> providers/vdb/vdb-iris/tests/unit_tests/test_iris_vector.py:21:5
-ERROR Object of class `ModuleType` has no attribute `_pool_instance` [missing-attribute]
-  --> providers/vdb/vdb-iris/tests/unit_tests/test_iris_vector.py:32:5
-ERROR Object of class `ModuleType` has no attribute `escape_like_pattern` [missing-attribute]
-   --> providers/vdb/vdb-iris/tests/unit_tests/test_iris_vector.py:337:5
-ERROR Missing argument `using_ugc` in function `dify_vdb_lindorm.lindorm_vector.LindormVectorStore.__init__` [missing-argument]
-  --> providers/vdb/vdb-lindorm/tests/integration_tests/test_lindorm.py:20:41
-ERROR Missing argument `using_ugc` in function `dify_vdb_lindorm.lindorm_vector.LindormVectorStore.__init__` [missing-argument]
-  --> providers/vdb/vdb-lindorm/tests/integration_tests/test_lindorm.py:39:41
-ERROR Object of class `ModuleType` has no attribute `BulkIndexError` [missing-attribute]
-  --> providers/vdb/vdb-lindorm/tests/unit_tests/test_lindorm_vector.py:37:5
-ERROR Object of class `ModuleType` has no attribute `bulk` [missing-attribute]
-  --> providers/vdb/vdb-lindorm/tests/unit_tests/test_lindorm_vector.py:38:5
-ERROR Object of class `ModuleType` has no attribute `OpenSearch` [missing-attribute]
-  --> providers/vdb/vdb-lindorm/tests/unit_tests/test_lindorm_vector.py:40:5
-ERROR Object of class `ModuleType` has no attribute `helpers` [missing-attribute]
-  --> providers/vdb/vdb-lindorm/tests/unit_tests/test_lindorm_vector.py:41:5
-ERROR Object of class `ModuleType` has no attribute `MoVectorClient` [missing-attribute]
-  --> providers/vdb/vdb-matrixone/tests/unit_tests/test_matrixone_vector.py:29:5
-ERROR Object of class `ModuleType` has no attribute `client` [missing-attribute]
-  --> providers/vdb/vdb-matrixone/tests/unit_tests/test_matrixone_vector.py:30:5
-ERROR Object of class `ModuleType` has no attribute `MilvusException` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:77:5
-ERROR Object of class `ModuleType` has no attribute `MilvusClient` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:78:5
-ERROR Object of class `ModuleType` has no attribute `IndexParams` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:79:5
-ERROR Object of class `ModuleType` has no attribute `CollectionSchema` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:80:5
-ERROR Object of class `ModuleType` has no attribute `DataType` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:81:5
-ERROR Object of class `ModuleType` has no attribute `FieldSchema` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:82:5
-ERROR Object of class `ModuleType` has no attribute `Function` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:83:5
-ERROR Object of class `ModuleType` has no attribute `FunctionType` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:84:5
-ERROR Object of class `ModuleType` has no attribute `IndexParams` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:85:5
-ERROR Object of class `ModuleType` has no attribute `types` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:86:5
-ERROR Object of class `ModuleType` has no attribute `infer_dtype_bydata` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:87:5
-ERROR Object of class `ModuleType` has no attribute `milvus_client` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:90:5
-ERROR Object of class `ModuleType` has no attribute `orm` [missing-attribute]
-  --> providers/vdb/vdb-milvus/tests/unit_tests/test_milvus.py:91:5
-ERROR Object of class `ModuleType` has no attribute `get_client` [missing-attribute]
-  --> providers/vdb/vdb-myscale/tests/unit_tests/test_myscale_vector.py:34:5
-ERROR Object of class `ModuleType` has no attribute `QueryResult` [missing-attribute]
-  --> providers/vdb/vdb-myscale/tests/unit_tests/test_myscale_vector.py:35:5
-ERROR Object of class `ModuleType` has no attribute `_fake_client` [missing-attribute]
-  --> providers/vdb/vdb-myscale/tests/unit_tests/test_myscale_vector.py:36:5
-ERROR Object of class `ModuleType` has no attribute `VECTOR` [missing-attribute]
-  --> providers/vdb/vdb-oceanbase/tests/unit_tests/test_oceanbase_vector.py:47:5
-ERROR Object of class `ModuleType` has no attribute `ObVecClient` [missing-attribute]
-  --> providers/vdb/vdb-oceanbase/tests/unit_tests/test_oceanbase_vector.py:48:5
-ERROR Object of class `ModuleType` has no attribute `l2_distance` [missing-attribute]
-  --> providers/vdb/vdb-oceanbase/tests/unit_tests/test_oceanbase_vector.py:49:5
-ERROR Object of class `ModuleType` has no attribute `cosine_distance` [missing-attribute]
-  --> providers/vdb/vdb-oceanbase/tests/unit_tests/test_oceanbase_vector.py:50:5
-ERROR Object of class `ModuleType` has no attribute `inner_product` [missing-attribute]
-  --> providers/vdb/vdb-oceanbase/tests/unit_tests/test_oceanbase_vector.py:51:5
-ERROR `config` may be uninitialized [unbound-name]
-  --> providers/vdb/vdb-opengauss/tests/integration_tests/test_opengauss.py:35:20
-ERROR Object of class `ModuleType` has no attribute `SimpleConnectionPool` [missing-attribute]
-  --> providers/vdb/vdb-opengauss/tests/unit_tests/test_opengauss.py:27:5
-ERROR Object of class `ModuleType` has no attribute `execute_values` [missing-attribute]
-  --> providers/vdb/vdb-opengauss/tests/unit_tests/test_opengauss.py:28:5
-ERROR Object of class `ModuleType` has no attribute `pool` [missing-attribute]
-  --> providers/vdb/vdb-opengauss/tests/unit_tests/test_opengauss.py:30:5
-ERROR Object of class `ModuleType` has no attribute `extras` [missing-attribute]
-  --> providers/vdb/vdb-opengauss/tests/unit_tests/test_opengauss.py:31:5
-ERROR Object of class `ModuleType` has no attribute `OpenSearch` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch.py:49:5
-ERROR Object of class `ModuleType` has no attribute `Urllib3AWSV4SignerAuth` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch.py:50:5
-ERROR Object of class `ModuleType` has no attribute `Urllib3HttpConnection` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch.py:51:5
-ERROR Object of class `ModuleType` has no attribute `helpers` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch.py:52:5
-ERROR Object of class `ModuleType` has no attribute `BulkIndexError` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch.py:53:5
-ERROR Object of class `ModuleType` has no attribute `Session` [missing-attribute]
-   --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch.py:104:9
-ERROR Object of class `ModuleType` has no attribute `OpenSearch` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch_vector.py:48:5
-ERROR Object of class `ModuleType` has no attribute `Urllib3AWSV4SignerAuth` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch_vector.py:49:5
-ERROR Object of class `ModuleType` has no attribute `Urllib3HttpConnection` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch_vector.py:50:5
-ERROR Object of class `ModuleType` has no attribute `helpers` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch_vector.py:51:5
-ERROR Object of class `ModuleType` has no attribute `BulkIndexError` [missing-attribute]
-  --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch_vector.py:52:5
-ERROR Object of class `ModuleType` has no attribute `Session` [missing-attribute]
-   --> providers/vdb/vdb-opensearch/tests/unit_tests/test_opensearch_vector.py:125:5
-ERROR Object of class `ModuleType` has no attribute `cut` [missing-attribute]
-  --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:18:5
-ERROR Object of class `ModuleType` has no attribute `posseg` [missing-attribute]
-  --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:19:5
-ERROR Object of class `ModuleType` has no attribute `Connection` [missing-attribute]
-  --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:27:5
-ERROR Object of class `ModuleType` has no attribute `defaults` [missing-attribute]
-  --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:28:5
-ERROR Object of class `ModuleType` has no attribute `DB_TYPE_VECTOR` [missing-attribute]
-  --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:29:5
-ERROR Object of class `ModuleType` has no attribute `create_pool` [missing-attribute]
-  --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:30:5
-ERROR Object of class `ModuleType` has no attribute `connect` [missing-attribute]
-  --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:31:5
-ERROR Object of class `ModuleType` has no attribute `data` [missing-attribute]
-   --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:276:5
-ERROR Object of class `ModuleType` has no attribute `word_tokenize` [missing-attribute]
-   --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:277:5
-ERROR Object of class `ModuleType` has no attribute `stopwords` [missing-attribute]
-   --> providers/vdb/vdb-oracle/tests/unit_tests/test_oraclevector.py:278:5
-ERROR Object of class `ModuleType` has no attribute `VECTOR` [missing-attribute]
-  --> providers/vdb/vdb-pgvecto-rs/tests/unit_tests/test_pgvecto_rs.py:22:5
-ERROR Argument `list[Document | SimpleNamespace]` is not assignable to parameter `documents` with type `list[Document]` in function `dify_vdb_pgvector.pgvector.PGVector.add_texts` [bad-argument-type]
-   --> providers/vdb/vdb-pgvector/tests/unit_tests/test_pgvector.py:359:28
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_pgvector.pgvector.PGVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-pgvector/tests/unit_tests/test_pgvector.py:487:40
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_pgvector.pgvector.PGVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-pgvector/tests/unit_tests/test_pgvector.py:488:40
-ERROR Object of class `ModuleType` has no attribute `QdrantClient` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:92:5
-ERROR Object of class `ModuleType` has no attribute `FilterSelector` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:93:5
-ERROR Object of class `ModuleType` has no attribute `HnswConfigDiff` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:94:5
-ERROR Object of class `ModuleType` has no attribute `PayloadSchemaType` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:95:5
-ERROR Object of class `ModuleType` has no attribute `TextIndexParams` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:96:5
-ERROR Object of class `ModuleType` has no attribute `TextIndexType` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:97:5
-ERROR Object of class `ModuleType` has no attribute `TokenizerType` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:98:5
-ERROR Object of class `ModuleType` has no attribute `VectorParams` [missing-attribute]
-  --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:99:5
-ERROR Object of class `ModuleType` has no attribute `Distance` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:100:5
-ERROR Object of class `ModuleType` has no attribute `PointStruct` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:101:5
-ERROR Object of class `ModuleType` has no attribute `Filter` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:102:5
-ERROR Object of class `ModuleType` has no attribute `FieldCondition` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:103:5
-ERROR Object of class `ModuleType` has no attribute `MatchValue` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:104:5
-ERROR Object of class `ModuleType` has no attribute `MatchAny` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:105:5
-ERROR Object of class `ModuleType` has no attribute `MatchText` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:106:5
-ERROR Object of class `ModuleType` has no attribute `UnexpectedResponse` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:107:5
-ERROR Object of class `ModuleType` has no attribute `models` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:109:5
-ERROR Object of class `ModuleType` has no attribute `QdrantLocal` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:110:5
-ERROR Object of class `ModuleType` has no attribute `qdrant_local` [missing-attribute]
-   --> providers/vdb/vdb-qdrant/tests/unit_tests/test_qdrant_vector.py:111:5
-ERROR Object of class `ModuleType` has no attribute `VECTOR` [missing-attribute]
-  --> providers/vdb/vdb-relyt/tests/unit_tests/test_relyt_vector.py:22:5
-ERROR Object of class `BaseVector` has no attribute `_tablestore_client` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/integration_tests/test_tablestore.py:47:31
-ERROR Object of class `BaseVector` has no attribute `_table_name` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/integration_tests/test_tablestore.py:48:28
-ERROR Object of class `BaseVector` has no attribute `_index_name` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/integration_tests/test_tablestore.py:49:28
-ERROR Object of class `BaseVector` has no attribute `_config` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/integration_tests/test_tablestore.py:71:12
-ERROR Object of class `BaseVector` has no attribute `_config` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/integration_tests/test_tablestore.py:80:12
-ERROR Object of class `ModuleType` has no attribute `OTSClient` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:49:5
-ERROR Object of class `ModuleType` has no attribute `BatchGetRowRequest` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:50:5
-ERROR Object of class `ModuleType` has no attribute `TableInBatchGetRowItem` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:51:5
-ERROR Object of class `ModuleType` has no attribute `Row` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:52:5
-ERROR Object of class `ModuleType` has no attribute `TableMeta` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:53:5
-ERROR Object of class `ModuleType` has no attribute `TableOptions` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:54:5
-ERROR Object of class `ModuleType` has no attribute `CapacityUnit` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:55:5
-ERROR Object of class `ModuleType` has no attribute `ReservedThroughput` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:56:5
-ERROR Object of class `ModuleType` has no attribute `FieldSchema` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:57:5
-ERROR Object of class `ModuleType` has no attribute `VectorOptions` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:58:5
-ERROR Object of class `ModuleType` has no attribute `SearchIndexMeta` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:59:5
-ERROR Object of class `ModuleType` has no attribute `SearchQuery` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:60:5
-ERROR Object of class `ModuleType` has no attribute `TermQuery` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:61:5
-ERROR Object of class `ModuleType` has no attribute `ColumnsToGet` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:62:5
-ERROR Object of class `ModuleType` has no attribute `KnnVectorQuery` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:63:5
-ERROR Object of class `ModuleType` has no attribute `TermsQuery` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:64:5
-ERROR Object of class `ModuleType` has no attribute `Sort` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:65:5
-ERROR Object of class `ModuleType` has no attribute `ScoreSort` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:66:5
-ERROR Object of class `ModuleType` has no attribute `BoolQuery` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:67:5
-ERROR Object of class `ModuleType` has no attribute `MatchQuery` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:68:5
-ERROR Object of class `ModuleType` has no attribute `FieldType` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:70:5
-ERROR Object of class `ModuleType` has no attribute `AnalyzerType` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:71:5
-ERROR Object of class `ModuleType` has no attribute `VectorDataType` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:72:5
-ERROR Object of class `ModuleType` has no attribute `VectorMetricType` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:73:5
-ERROR Object of class `ModuleType` has no attribute `ColumnReturnType` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:74:5
-ERROR Object of class `ModuleType` has no attribute `SortOrder` [missing-attribute]
-  --> providers/vdb/vdb-tablestore/tests/unit_tests/test_tablestore_vector.py:75:5
-ERROR Argument `Index | None` is not assignable to parameter `index` with type `Index` in function `tcvectordb.rpc.model.collection.RPCCollection.__init__` [bad-argument-type]
-  --> providers/vdb/vdb-tencent/tests/integration_tests/conftest.py:90:13
-ERROR Argument `xinference_client.types.Embedding | None` is not assignable to parameter `embedding` with type `tcvectordb.model.collection_view.Embedding` in function `tcvectordb.rpc.model.collection.RPCCollection.__init__` [bad-argument-type]
-  --> providers/vdb/vdb-tencent/tests/integration_tests/conftest.py:91:23
-ERROR Argument `dict[Unknown, Unknown] | None` is not assignable to parameter `ttl_config` with type `dict[Unknown, Unknown]` in function `tcvectordb.rpc.model.collection.RPCCollection.__init__` [bad-argument-type]
-  --> providers/vdb/vdb-tencent/tests/integration_tests/conftest.py:94:24
-ERROR Argument `FilterIndexConfig | None` is not assignable to parameter `filter_index_config` with type `FilterIndexConfig` in function `tcvectordb.rpc.model.collection.RPCCollection.__init__` [bad-argument-type]
-  --> providers/vdb/vdb-tencent/tests/integration_tests/conftest.py:95:33
-ERROR Object of class `ModuleType` has no attribute `IndexType` [missing-attribute]
-  --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:97:5
-ERROR Object of class `ModuleType` has no attribute `MetricType` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:103:5
-ERROR Object of class `ModuleType` has no attribute `FieldType` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:104:5
-ERROR Object of class `ModuleType` has no attribute `Document` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:106:5
-ERROR Object of class `ModuleType` has no attribute `HNSWSearchParams` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:107:5
-ERROR Object of class `ModuleType` has no attribute `AnnSearch` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:108:5
-ERROR Object of class `ModuleType` has no attribute `Filter` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:109:5
-ERROR Object of class `ModuleType` has no attribute `KeywordSearch` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:110:5
-ERROR Object of class `ModuleType` has no attribute `WeightedRerank` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:111:5
-ERROR Object of class `ModuleType` has no attribute `HNSWParams` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:113:5
-ERROR Object of class `ModuleType` has no attribute `FilterIndex` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:114:5
-ERROR Object of class `ModuleType` has no attribute `VectorIndex` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:115:5
-ERROR Object of class `ModuleType` has no attribute `SparseIndex` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:116:5
-ERROR Object of class `ModuleType` has no attribute `BM25Encoder` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:118:5
-ERROR Object of class `ModuleType` has no attribute `document` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:120:5
-ERROR Object of class `ModuleType` has no attribute `enum` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:121:5
-ERROR Object of class `ModuleType` has no attribute `index` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:122:5
-ERROR Object of class `ModuleType` has no attribute `RPCVectorDBClient` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:124:5
-ERROR Object of class `ModuleType` has no attribute `VectorDBException` [missing-attribute]
-   --> providers/vdb/vdb-tencent/tests/unit_tests/test_tencent_vector.py:125:5
-ERROR Object of class `ModuleType` has no attribute `VectorType` [missing-attribute]
-  --> providers/vdb/vdb-tidb-vector/tests/unit_tests/test_tidb_vector.py:74:5
-ERROR Object of class `ModuleType` has no attribute `Vector` [missing-attribute]
-  --> providers/vdb/vdb-upstash/tests/unit_tests/test_upstash_vector.py:33:5
-ERROR Object of class `ModuleType` has no attribute `Index` [missing-attribute]
-  --> providers/vdb/vdb-upstash/tests/unit_tests/test_upstash_vector.py:34:5
-ERROR Object of class `ModuleType` has no attribute `SimpleConnectionPool` [missing-attribute]
-  --> providers/vdb/vdb-vastbase/tests/unit_tests/test_vastbase_vector.py:27:5
-ERROR Object of class `ModuleType` has no attribute `execute_values` [missing-attribute]
-  --> providers/vdb/vdb-vastbase/tests/unit_tests/test_vastbase_vector.py:28:5
-ERROR Object of class `ModuleType` has no attribute `pool` [missing-attribute]
-  --> providers/vdb/vdb-vastbase/tests/unit_tests/test_vastbase_vector.py:29:5
-ERROR Object of class `ModuleType` has no attribute `extras` [missing-attribute]
-  --> providers/vdb/vdb-vastbase/tests/unit_tests/test_vastbase_vector.py:30:5
-ERROR Object of class `ModuleType` has no attribute `Data` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:69:5
-ERROR Object of class `ModuleType` has no attribute `DistanceType` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:70:5
-ERROR Object of class `ModuleType` has no attribute `Field` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:71:5
-ERROR Object of class `ModuleType` has no attribute `FieldType` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:72:5
-ERROR Object of class `ModuleType` has no attribute `IndexType` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:73:5
-ERROR Object of class `ModuleType` has no attribute `QuantType` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:74:5
-ERROR Object of class `ModuleType` has no attribute `VectorIndexParams` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:75:5
-ERROR Object of class `ModuleType` has no attribute `VikingDBService` [missing-attribute]
-  --> providers/vdb/vdb-vikingdb/tests/unit_tests/test_vikingdb_vector.py:76:5
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVector.get_collection_name` [bad-argument-type]
-   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:166:39
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVector.get_collection_name` [bad-argument-type]
-   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:173:43
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:781:42
-ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:810:42
 ERROR No matching overload found for function `redis.client.Redis.__init__` called with arguments: (host=int | str | Unknown, port=int | str | Unknown, password=int | str | Unknown | None, db=int, ssl=bool, ssl_ca_certs=str | None, ssl_cert_reqs=Any | None, ssl_certfile=Any | None, ssl_keyfile=Any | None, socket_timeout=Literal[5], socket_connect_timeout=Literal[5], health_check_interval=Literal[30]) [no-matching-overload]
   --> schedule/queue_monitor_task.py:14:21
 ERROR Object of class `Tenant` has no attribute `role` [missing-attribute]
@@ -610,15 +337,15 @@
   --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:14:5
 ERROR Class member `DuplicateDocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
   --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:15:5
-ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any` is not assignable to parameter `top_k` with type `int` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
+ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Unknown` is not assignable to parameter `top_k` with type `int` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
   --> services/hit_testing_service.py:86:19
-ERROR Argument `RetrievalMethod | bool | dict[str, str] | float | int | Any` is not assignable to parameter `score_th\n\n... (truncated) ...

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes a backend bug where FixedRecursiveCharacterTextSplitter corrupted non-ASCII separators by decoding them with unicode_escape, preventing custom separators (e.g. ) from matching and splitting text as intended.

Changes:

  • Remove unicode_escape decoding from FixedRecursiveCharacterTextSplitter so non-ASCII separators are preserved.
  • Adjust the datasets list container layout by adding h-0 to the scroll container.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
api/core/rag/splitter/fixed_text_splitter.py Stops decoding fixed_separator via unicode_escape to avoid Unicode corruption during splitting.
web/app/components/datasets/list/index.tsx Updates the scroll container flex sizing (h-0) affecting layout/scroll behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 47 to 51
def __init__(self, fixed_separator: str = "\n\n", separators: list[str] | None = None, **kwargs: Any):
"""Create a new TextSplitter."""
super().__init__(**kwargs)
self._fixed_separator = codecs.decode(fixed_separator, "unicode_escape")
self._fixed_separator = fixed_separator
self._separators = separators or ["\n\n", "\n", "。", ". ", " ", ""]
"""Create a new TextSplitter."""
super().__init__(**kwargs)
self._fixed_separator = codecs.decode(fixed_separator, "unicode_escape")
self._fixed_separator = fixed_separator

return (
<div className="scroll-container relative flex grow flex-col overflow-y-auto bg-background-body">
<div className="scroll-container relative flex h-0 grow flex-col overflow-y-auto bg-background-body">
@dosubot
Copy link
Copy Markdown

dosubot bot commented Apr 14, 2026

Hi @xingxing21, I took a look at the PR. Here's my review:

The diagnosis is correct. The codecs.decode(fixed_separator, "unicode_escape") call on line 51 of fixed_text_splitter.py will corrupt non-ASCII Unicode separators. For example, (U+FF0C) gets misinterpreted as raw bytes through the unicode_escape codec, producing garbage that never matches anything in the document text. This directly explains the issue in #33644 where commas and similar punctuation fail as separators in parent-child segmentation [1].

The fix rationale is sound. Both callers already handle \n escape conversion before passing the separator to the splitter:

All indirect callers (ParagraphIndexProcessor, QAIndexProcessor, ParentChildIndexProcessor) go through BaseIndexProcessor._get_splitter(), so they're all covered.

However, there's one issue to address — the existing test test_double_slash_n() will break:

def test_double_slash_n(self):
    data = "chunk 1\n\nsubchunk 1.\nsubchunk 2.\n\n---\n\nchunk 2\n\nsubchunk 1\nsubchunk 2."
    separator = "\\n\\n---\\n\\n"
    splitter = FixedRecursiveCharacterTextSplitter(fixed_separator=separator)
    chunks = splitter.split_text(data)
    assert chunks == ["chunk 1\n\nsubchunk 1.\nsubchunk 2.", "chunk 2\n\nsubchunk 1\nsubchunk 2."]

[2]

This test passes "\\n\\n---\\n\\n" (literal backslash-n sequences) directly to the constructor and relies on codecs.decode to convert them into actual newlines. After your fix, this separator would remain as literal \n characters and wouldn't match the actual newlines in data.

Suggested actions:

  1. Update test_double_slash_n to pass an already-decoded separator ("\n\n---\n\n") to match how the callers actually use the class, or adapt it to reflect the new expected behavior.
  2. Add a new test case that verifies non-ASCII separators (e.g., or ) work correctly — this would serve as a regression test for the exact bug you're fixing.
  3. The checklist mentions make lint and make type-check — make sure those pass, and consider checking the I've added a test for each change box once the tests are updated.

Overall, the core fix (removing codecs.decode) is the right approach. The codecs.decode was redundant for production usage and harmful for non-ASCII input. Just needs the test update to go with it.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Chat with Dosu Open in Cursor  Share on X

@dosubot dosubot bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Apr 14, 2026
@xingxing21
Copy link
Copy Markdown
Author

@dosu review this last commit

@dosubot
Copy link
Copy Markdown

dosubot bot commented Apr 14, 2026

Hi @xingxing21, here's my review of the latest commit (e68a956) — "fix(api): resolve pyrefly type errors and add non-ASCII separator regression tests":

This commit bundles two concerns: the core unicode separator fix's test updates, and a set of unrelated pyrefly type-error fixes. I'd recommend splitting these in the future for cleaner review history, but here's the breakdown:


Test updates (the core fix) — looks great ✅

The test_double_slash_n update correctly reflects the new contract: callers must pass the actual separator characters, not escape sequences [1]. The comment explaining this is helpful.

The three new regression tests are well-designed:

  • test_non_ascii_fixed_separator_fullwidth_comma — directly validates the original bug scenario with (U+FF0C) [2]
  • test_non_ascii_separator_not_decoded_as_unicode_escape — confirms literal \\n is no longer silently converted to a real newline [3]
  • test_non_ascii_separator_mixed_with_newlines_in_content — verifies non-ASCII separators work correctly even when chunk content contains actual newlines [4]

These cover the key failure modes nicely.


Pyrefly type fixes — a few observations ⚠️

  1. Tenant.role field addition — Adding role: TenantAccountRole | None = field(default=None, init=False) looks like a type annotation fix to satisfy pyrefly [5]. This is fine, but it's unrelated to the separator fix.

  2. Redis config type casts — The str() / int() casts on Redis config parameters [6] are reasonable for type safety, but note the behavioral change: password=str(redis_config["password"]) uses ["password"] (which will raise KeyError if missing) instead of the original .get("password"). This is guarded by the if redis_config.get("password") conditional, so it should be safe in practice, but it's worth double-checking.

  3. DuplicateDocumentIndexingTaskProxy ClassVar annotations — Adding ClassVar[Callable[..., Any]] type hints is a clean fix [7].

  4. Retrieval model int()/float() casts — Casting top_k to int and score_threshold to float [8] is a good defensive measure since retrieval_model.get() can return values of unexpected types (e.g., strings from JSON).


Summary: The test additions are solid and address my earlier feedback well. The pyrefly type fixes are reasonable but ideally would be in a separate commit to keep the PR focused on the separator fix. Overall this looks good to merge from a correctness standpoint.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Chat with Dosu Open in Cursor  Share on X

@xingxing21
Copy link
Copy Markdown
Author

Hi @QuantumGhost, @laipz8200
I hope you’re doing well.
I wanted to kindly ask if you might have time to take a look at this PR when convenient. I’d really appreciate any feedback or suggestions you may have.

Thank you for your time and for maintaining the project!

@github-actions
Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-04-14 13:54:20.790131853 +0000
+++ /tmp/pyrefly_pr.txt	2026-04-14 13:54:09.106093646 +0000
@@ -583,13 +583,9 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVector.get_collection_name` [bad-argument-type]
    --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:173:43
 ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:883:42
+   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:781:42
 ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVectorFactory.init_vector` [bad-argument-type]
-   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:912:42
-ERROR No matching overload found for function `redis.client.Redis.__init__` called with arguments: (host=int | str | Unknown, port=int | str | Unknown, password=int | str | Unknown | None, db=int, ssl=bool, ssl_ca_certs=str | None, ssl_cert_reqs=Any | None, ssl_certfile=Any | None, ssl_keyfile=Any | None, socket_timeout=Literal[5], socket_connect_timeout=Literal[5], health_check_interval=Literal[30]) [no-matching-overload]
-  --> schedule/queue_monitor_task.py:14:21
-ERROR Object of class `Tenant` has no attribute `role` [missing-attribute]
-    --> services/account_service.py:1154:13
+   --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:810:42
 ERROR No matching overload found for function `flask.helpers.stream_with_context` called with arguments: (Generator[bytes]) [no-matching-overload]
    --> services/audio_service.py:144:56
 ERROR No matching overload found for function `flask.helpers.stream_with_context` called with arguments: (Generator[bytes]) [no-matching-overload]
@@ -607,13 +603,13 @@
 ERROR Class member `DocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
   --> services/document_indexing_proxy/document_indexing_task_proxy.py:12:5
 ERROR Class member `DuplicateDocumentIndexingTaskProxy.NORMAL_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
-  --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:14:5
-ERROR Class member `DuplicateDocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
   --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:15:5
-ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any` is not assignable to parameter `top_k` with type `int` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
-  --> services/hit_testing_service.py:86:19
-ERROR Argument `RetrievalMethod | bool | dict[str, str] | float | int | Any` is not assignable to parameter `score_threshold` with type `float | None` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
-  --> services/hit_testing_service.py:87:29
+ERROR Class member `DuplicateDocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
+  --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:16:5
+ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__` [bad-argument-type]
+  --> services/hit_testing_service.py:86:23
+ERROR Argument `RetrievalMethod | bool | dict[str, str] | float | int | Any` is not assignable to parameter `x` with type `Buffer | SupportsFloat | SupportsIndex | str` in function `float.__new__` [bad-argument-type]
+  --> services/hit_testing_service.py:87:35
 ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any | None` is not assignable to parameter `reranking_model` with type `RerankingModelDict | None` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
   --> services/hit_testing_service.py:90:29
 ERROR Argument `Literal['reranking_model', True] | RetrievalMethod | dict[str, str] | int | Any` is not assignable to parameter `reranking_mode` with type `str` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
@@ -886,8 +882,6 @@
    --> tests/test_containers_integration_tests/services/plugin/test_plugin_service.py:377:37
 ERROR Object of class `NoneType` has no attribute `open_id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_account_service.py:530:16
-ERROR Object of class `Tenant` has no attribute `role` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/test_account_service.py:1434:16
 ERROR Argument `list[str]` is not assignable to parameter `roles` with type `list[TenantAccountRole]` in function `services.account_service.TenantService.has_roles` [bad-argument-type]
     --> tests/test_containers_integration_tests/services/test_account_service.py:1625:45
 ERROR Object of class `NoneType` has no attribute `role` [missing-attribute]
@@ -1635,129 +1629,129 @@
 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/services/workflow/test_workflow_node_execution_service_repository.py:21:64
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_add_document_to_index_task.py:56:20
+  --> tests/test_containers_integration_tests/tasks/test_add_document_to_index_task.py:55:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_add_document_to_index_task.py:63:20
+  --> tests/test_containers_integration_tests/tasks/test_add_document_to_index_task.py:62:20
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:73:20
+  --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:72:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:82:20
+  --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:81:20
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:297:23
+   --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:294:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:698:27
+   --> tests/test_containers_integration_tests/tasks/test_batch_clean_document_task.py:677:27
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:101:20
+   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:100:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:110:20
+   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:109:20
 ERROR `>` is not supported between `None` and `Literal[0]` [unsupported-operation]
-   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:314:16
+   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:316:16
 ERROR `>` is not supported between `None` and `Literal[0]` [unsupported-operation]
-   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:707:16
+   --> tests/test_containers_integration_tests/tasks/test_batch_create_segment_to_index_task.py:708:16
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:113:20
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:112:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:123:20
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:122:20
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:298:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:297:32
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:301:22
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:300:22
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:422:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:409:32
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:425:22
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:412:22
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:498:36
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:477:36
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:501:26
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:480:26
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:555:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:532:32
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:558:22
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:535:22
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:644:36
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:617:36
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:647:26
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:620:26
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:761:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:730:32
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:764:22
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:733:22
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:855:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:816:32
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:858:22
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:819:22
 ERROR Argument `IndexTechniqueType | None` is not assignable to parameter `indexing_technique` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-    --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:1012:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:971:32
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
-    --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:1015:22
+   --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:974:22
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-  --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:91:23
+  --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:90:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:108:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:107:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:131:31
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:130:31
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:228:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:222:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:277:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:271:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:289:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:283:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:310:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:304:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:365:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:359:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:377:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:371:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:399:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:393:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:453:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:445:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:470:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:462:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:492:31
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:484:31
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:582:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:560:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:594:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:572:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:619:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:597:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:682:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:656:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:694:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:668:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:714:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:688:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:764:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:738:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:782:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:756:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:805:31
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:779:31
 ERROR `num_segments_per_doc` may be uninitialized [unbound-name]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:833:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:803:32
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:882:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:850:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1004:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:965:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1030:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:991:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1052:31
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1013:31
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1119:23
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1076:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1132:23
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1089:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1169:27
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1126:27
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_create_segment_to_index_task.py:75:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_create_segment_to_index_task.py:84:20
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_dataset_indexing_task.py:123:20
+   --> tests/test_containers_integration_tests/tasks/test_dataset_indexing_task.py:122:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_dataset_indexing_task.py:128:53
+   --> tests/test_containers_integration_tests/tasks/test_dataset_indexing_task.py:127:53
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_delete_segment_from_index_task.py:52:84
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
@@ -1769,25 +1763,25 @@
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_disable_segment_from_index_task.py:64:20
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:54:20
+  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:53:20
 ERROR Object of class `Account` has no attribute `tenant_id` [missing-attribute]
-  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:59:9
+  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:58:9
 ERROR Object of class `Account` has no attribute `type` [missing-attribute]
-  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:60:9
+  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:59:9
 ERROR `Literal['owner']` is not assignable to attribute `role` with type `TenantAccountRole | None` [bad-assignment]
-  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:61:24
+  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:60:24
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:71:20
+  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:70:20
 ERROR Object of class `Account` has no attribute `tenant_id` [missing-attribute]
-  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:73:21
+  --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:72:21
 ERROR Object of class `DatasetProcessRule` has no attribute `tenant_id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:234:9
+   --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:233:9
 ERROR Object of class `DatasetProcessRule` has no attribute `updated_by` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:246:9
+   --> tests/test_containers_integration_tests/tasks/test_disable_segments_from_index_task.py:245:9
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_document_indexing_sync_task.py:34:20
+  --> tests/test_containers_integration_tests/tasks/test_document_indexing_sync_task.py:33:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_document_indexing_sync_task.py:39:61
+  --> tests/test_containers_integration_tests/tasks/test_document_indexing_sync_task.py:38:61
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_document_indexing_task.py:74:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
@@ -1797,9 +1791,9 @@
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
    --> tests/test_containers_integration_tests/tasks/test_document_indexing_task.py:163:20
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_document_indexing_update_task.py:44:20
+  --> tests/test_containers_integration_tests/tasks/test_document_indexing_update_task.py:43:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_document_indexing_update_task.py:49:53
+  --> tests/test_containers_integration_tests/tasks/test_document_indexing_update_task.py:48:53
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:84:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
@@ -2107,11 +2101,11 @@
 ERROR Missing argument `payload` in function `protected_view` [missing-argument]
    --> tests/unit_tests/controllers/inner_api/plugin/test_plugin_wraps.py:302:36
 ERROR Cannot index into `Iterable[bytes]` [bad-index]
-   --> tests/unit_tests/controllers/service_api/app/test_audio.py:189:16
+   --> tests/unit_tests/controllers/service_api/app/test_audio.py:213:16
 ERROR Cannot index into `Response` [bad-index]
-   --> tests/unit_tests/controllers/service_api/app/test_audio.py:189:16
+   --> tests/unit_tests/controllers/service_api/app/test_audio.py:213:16
 ERROR `None` is not subscriptable [unsupported-operation]
-   --> tests/unit_tests/controllers/service_api/app/test_audio.py:189:16
+   --> tests/unit_tests/controllers/service_api/app/test_audio.py:213: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:156:20
 ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `limit` [bad-argument-type]
@@ -3955,13 +3949,13 @@
   --> tests/unit_tests/core/external_data_tool/test_base.py:49:17
 ERROR Class member `ConcreteTool.query` overrides parent class `ExternalDataTool` in an inconsistent manner [bad-override]
   --> tests/unit_tests/core/external_data_tool/test_base.py:61:17
-ERROR Argument `None` is not assignable to parameter `schema` with type `dict[str, Any]` in function `core.llm_generator.output_parser.structured_output.remove_additional_properties` [bad-argument-type]
+ERROR Argument `None` is not assignable to parameter `schema` with type `dict[Unknown, Unknown]` in function `core.llm_generator.output_parser.structured_output.remove_additional_properties` [bad-argument-type]
   --> tests/unit_tests/core/llm_generator/output_parser/test_structured_output.py:50:38
-ERROR Argument `list[@_]` is not assignable to parameter `schema` with type `dict[str, Any]` in function `core.llm_generator.output_parser.structured_output.remove_additional_properties` [bad-argument-type]
+ERROR Argument `list[@_]` is not assignable to parameter `schema` with type `dict[Unknown, Unknown]` in function `core.llm_generator.output_parser.structured_output.remove_additional_properties` [bad-argument-type]
   --> tests/unit_tests/core/llm_generator/output_parser/test_structured_output.py:51:38
-ERROR Argument `None` is not assignable to parameter `schema` with type `dict[str, Any]` in function `core.llm_generator.output_parser.structured_output.convert_boolean_to_string` [bad-argument-type]
+ERROR Argument `None` is not assignable to parameter `schema` with type `dict[Unknown, Unknown]` in function `core.llm_generator.output_parser.structured_output.convert_boolean_to_string` [bad-argument-type]
   --> tests/unit_tests/core/llm_generator/output_parser/test_structured_output.py:68:35
-ERROR Argument `list[@_]` is not assignable to parameter `schema` with type `dict[str, Any]` in function `core.llm_generator.output_parser.structured_output.convert_boolean_to_string` [bad-argument-type]
+ERROR Argument `list[@_]` is not assignable to parameter `schema` with type `dict[Unknown, Unknown]` in function `core.llm_generator.output_parser.structured_output.convert_boolean_to_string` [bad-argument-type]
   --> tests/unit_tests/core/llm_generator/output_parser/test_structured_output.py:69:35
 ERROR `in` is not supported between `Literal['Existing system prompt']` and `None` [not-iterable]
    --> tests/unit_tests/core/llm_generator/output_parser/test_structured_output.py:191:16
@@ -4734,7 +4728,7 @@
 ERROR Argument `Iterator[Any | Unknown] | Iterator[Any]` is not assignable to parameter `invoke_result` with type `Generator[Unknown]` in function `core.rag.retrieval.router.multi_dataset_react_route.ReactMultiDatasetRouter._handle_invoke_result` [bad-argument-type]
    --> tests/unit_tests/core/rag/retrieval/test_multi_dataset_react_route.py:199:52
 ERROR Argument `None` is not assignable to parameter `text` with type `str` in function `core.rag.splitter.text_splitter.RecursiveCharacterTextSplitter.split_text` [bad-argument-type]
-    --> tests/unit_tests/core/rag/splitter/test_text_splitter.py:1877:42
+    --> tests/unit_tests/core/rag/splitter/test_text_splitter.py:1929:42
 ERROR Cannot instantiate `CeleryWorkflowNodeExecutionRepository` because the following members are abstract: `save_execution_data` [bad-instantiation]
   --> tests/unit_tests/core/repositories/test_celery_workflow_node_execution_repository.py:80:53
 ERROR Cannot instantiate `CeleryWorkflowNodeExecutionRepository` because the following members are abstract: `save_execution_data` [bad-instantiation]
@@ -5793,7 +5787,7 @@
 ERROR Cannot index into `object` [bad-index]
    --> tests/unit_tests/extensions/otel/test_celery_sqlcommenter.py:140:20
 ERROR Object of class `Retry` has no attribute `_retries` [missing-attribute]
-  --> tests/unit_tests/extensions/test_redis.py:34:16
+  --> tests/unit_tests/extensions/test_redis.py:31:16
 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._models.Response.__init__` [bad-argument-type]
   --> tests/unit_tests/factories/test_build_from_mapping.py:75:21
 ERROR Object of class `NoneType` has no attribute `storage_key` [missing-attribute]
@@ -5814,44 +5808,36 @@
    --> tests/unit_tests/libs/_human_input/test_models.py:122:16
 ERROR `<=` is not supported between `None` and `datetime` [unsupported-operation]
    --> tests/unit_tests/libs/_human_input/test_models.py:122:16
-ERROR Object of class `Subscription` has no attribute `_start_if_needed` [missing-attribute]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:158:17
-ERROR Object of class `Subscription` has no attribute `_start_if_needed` [missing-attribute]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:226:17
 ERROR Argument `FakeRedisClient` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis._subscription.RedisSubscriptionBase.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:699:20
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:655:20
 ERROR Argument `FakeRedisClient` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis._subscription.RedisSubscriptionBase.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:719:20
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:675:20
 ERROR Argument `TestRedisShardedSubscription.test_get_message_uses_target_node_for_cluster_client.DummyRedisCluster` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis._subscription.RedisSubscriptionBase.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:903:20
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:859:20
 ERROR Argument `FakeRedisClient` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis._subscription.RedisSubscriptionBase.__init__` [bad-argument-type]
-    --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:1033:20
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:989:20
 ERROR Argument `FakeRedisClient` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis._subscription.RedisSubscriptionBase.__init__` [bad-argument-type]
-    --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:1131:24
+    --> tests/unit_tests/libs/broadcast_channel/redis/test_channel_unit_tests.py:1087:24
 ERROR Argument `FakeStreamsRedis` is not assignable to parameter `redis_client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel.StreamsBroadcastChannel.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:130:36
-ERROR Argument `FakeStreamsRedis` is not assignable to parameter `redis_client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel.StreamsBroadcastChannel.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:158:45
-ERROR Argument `FakeStreamsRedis` is not assignable to parameter `redis_client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel.StreamsBroadcastChannel.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:166:45
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:129:36
 ERROR Argument `FailExpireRedis` is not assignable to parameter `redis_client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel.StreamsBroadcastChannel.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:180:43
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:160:43
 ERROR Argument `FakeStreamsRedis` is not assignable to parameter `redis_client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel.StreamsBroadcastChannel.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:231:43
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:211:43
 ERROR Argument `TestStreamsSubscription.test_listener_normalizes_supported_payloads_and_ignores_unsupported_shapes.OneShotRedis` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel._StreamsSubscription.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:256:45
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:236:45
 ERROR Argument `object` is not assignable to parameter `o` with type `Buffer | Iterable[SupportsIndex] | SupportsBytes | SupportsIndex` in function `bytes.__new__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:264:35
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:244:35
 ERROR Argument `FakeStreamsRedis` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel._StreamsSubscription.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:305:45
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:285:45
 ERROR Argument `FakeStreamsRedis` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel._StreamsSubscription.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:313:45
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:293:45
 ERROR Argument `FakeStreamsRedis` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel._StreamsSubscription.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:322:45
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:302:45
 ERROR Argument `FakeStreamsRedis` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel._StreamsSubscription.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:330:45
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:310:45
 ERROR Argument `BlockingRedis` is not assignable to parameter `client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.streams_channel._StreamsSubscription.__init__` [bad-argument-type]
-   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:350:45
+   --> tests/unit_tests/libs/broadcast_channel/redis/test_streams_channel_unit_tests.py:330:45
 ERROR Argument `VisualConfig | str` is not assignable to parameter `frequency` with type `str` in function `services.trigger.schedule_service.ScheduleService.visual_to_cron` [bad-argument-type]
    --> tests/unit_tests/libs/test_cron_compatibility.py:318:60
 ERROR Argument `VisualConfig | str` is not assignable to parameter `visual_config` with type `VisualConfig` in function `services.trigger.schedule_service.ScheduleService.visual_to_cron` [bad-argument-type]
@@ -6086,17 +6072,17 @@
 ERROR Argument `_FakeRedisClient` is not assignable to parameter `redis_client` with type `Redis[Unknown] | RedisCluster[Unknown]` in function `libs.broadcast_channel.redis.channel.BroadcastChannel.__init__` [bad-argument-type]
    --> tests/unit_tests/services/test_app_generate_service_streaming_integration.py:115:34
 ERROR Argument `TestAsyncWorkflowService.test_should_dispatch_to_matching_celery_task_when_triggering_workflow.DummyAccount` is not assignable to parameter `user` with type `Account | EndUser` in function `services.async_workflow_service.AsyncWorkflowService.trigger_workflow_async` [bad-argument-type]
-   --> tests/unit_tests/services/test_async_workflow_service.py:152:88
+   --> tests/unit_tests/services/test_async_workflow_service.py:157:88
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `services.async_workflow_service.AsyncWorkflowService.trigger_workflow_async` [bad-argument-type]
-   --> tests/unit_tests/services/test_async_workflow_service.py:206:75
+   --> tests/unit_tests/services/test_async_workflow_service.py:211:75
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `services.async_workflow_service.AsyncWorkflowService.trigger_workflow_async` [bad-argument-type]
-   --> tests/unit_tests/services/test_async_workflow_service.py:229:26
+   --> tests/unit_tests/services/test_async_workflow_service.py:234:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `services.async_workflow_service.AsyncWorkflowService.trigger_workflow_async` [bad-argument-type]
-   --> tests/unit_tests/services/test_async_workflow_service.py:261:22
+   --> tests/unit_tests/services/test_async_workflow_service.py:266:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `services.async_workflow_service.AsyncWorkflowService.reinvoke_trigger` [bad-argument-type]
-   --> tests/unit_tests/services/test_async_workflow_service.py:285:26
+   --> tests/unit_tests/services/test_async_workflow_service.py:290:26
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `services.async_workflow_service.AsyncWorkflowService.reinvoke_trigger` [bad-argument-type]
-   --> tests/unit_tests/services/test_async_workflow_service.py:318:22
+   --> tests/unit_tests/services/test_async_workflow_service.py:323:22
 ERROR Argument `None` is not assignable to parameter `file` with type `FileStorage` in function `services.audio_service.AudioService.transcript_asr` [bad-argument-type]
    --> tests/unit_tests/services/test_audio_service.py:317:61
 ERROR Argument `BillingInfo` is not assignable to parameter `result` with type `dict[Unknown, Unknown]` in function `TestBillingServiceSubscriptionInfoDataType._assert_billing_info_types` [bad-argument-type]
@@ -6364,7 +6350,7 @@
 ERROR Object of class `NoneType` has no attribute `endswith` [missing-attribute]
     --> tests/unit_tests/services/test_summary_index_service.py:1169:12
 ERROR Cannot set item in `dict[str, int]` [unsupported-operation]
-   --> tests/unit_tests/services/test_variable_truncator.py:142:31
+   --> tests/unit_tests/services/test_variable_truncator.py:143:31
 ERROR Argument `dict[str, dict[Unknown, Unknown]]` is not assignable to parameter `node_config` with type `NodeConfigDict` in function `services.trigger.webhook_service.WebhookService.generate_webhook_response` [bad-argument-type]
    --> tests/unit_tests/services/test_webhook_service.py:194:79
 ERROR Argument `dict[str, dict[str, int | str]]` is not assignable to parameter `node_config` with type `NodeConfigDict` in function `services.trigger.webhook_service.WebhookService.generate_webhook_response` [bad-argument-type]
@@ -6384,33 +6370,33 @@
 ERROR Argument `dict[str, dict[str, str]]` is not assignable to parameter `node_config` with type `NodeConfigDict` in function `services.trigger.webhook_service.WebhookService.extract_and_validate_webhook_data` [bad-argument-type]
    --> tests/unit_tests/services/test_webhook_service.py:535:83
 ERROR Argument `dict[str, dict[str, str] | str]` is not assignable to parameter `webhook_data` with type `RawWebhookDataDict` in function `services.trigger.webhook_service.WebhookService._validate_http_metadata` [bad-argument-type]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:403:57
+    --> tests/unit_tests/services/test_webhook_service.py:1036:53
 ERROR Argument `dict[str, dict[str, int] | dict[str, str]]` is not assignable to parameter `webhook_data` with type `RawWebhookDataDict` in function `services.trigger.webhook_service.WebhookService.build_workflow_inputs` [bad-argument-type]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:415:55
+    --> tests/unit_tests/services/test_webhook_service.py:1059:51
 ERROR Argument `dict[str, dict[str, int]]` is not assignable to parameter `webhook_data` with type `RawWebhookDataDict` in function `services.trigger.webhook_service.WebhookService.trigger_workflow_execution` [bad-argument-type]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:451:68
+    --> tests/unit_tests/services/test_webhook_service.py:1092:64
 ERROR Missing required key `method` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:487:72
+    --> tests/unit_tests/services/test_webhook_service.py:1129:68
 ERROR Missing required key `headers` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:487:72
+    --> tests/unit_tests/services/test_webhook_service.py:1129:68
 ERROR Missing required key `query_params` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:487:72
+    --> tests/unit_tests/services/test_webhook_service.py:1129:68
 ERROR Missing required key `files` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:487:72
+    --> tests/unit_tests/services/test_webhook_service.py:1129:68
 ERROR Missing required key `method` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:515:72
+    --> tests/unit_tests/services/test_webhook_service.py:1154:68
 ERROR Missing required key `headers` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:515:72
+    --> tests/unit_tests/services/test_webhook_service.py:1154:68
 ERROR Missing required key `query_params` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:515:72
+    --> tests/unit_tests/services/test_webhook_service.py:1154:68
 ERROR Missing required key `files` for TypedDict `RawWebhookDataDict` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:515:72
+    --> tests/unit_tests/services/test_webhook_service.py:1154:68
 ERROR Argument `dict[str, dict[str, int | str]]` is not assignable to parameter `node_config` with type `NodeConfigDict` in function `services.trigger.webhook_service.WebhookService.generate_webhook_response` [bad-argument-type]
-   --> tests/unit_tests/services/test_webhook_service_additional.py:658:65
+    --> tests/unit_tests/services/test_webhook_service.py:1304:61
 ERROR Argument `dict[str, str]` is not assignable to parameter `args` with type `WorkflowRunListArgs` in function `services.workflow_run_service.WorkflowRunService.get_paginate_workflow_runs` [bad-argument-type]
-   --> tests/unit_tests/services/test_workflow_run_service.py:102:18
+   --> tests/unit_tests/services/test_workflow_run_service_pause.py:294:14
 ERROR `Literal['2']` is not assignable to TypedDict key `limit` with type `int` [bad-typed-dict-key]
-   --> tests/unit_tests/services/test_workflow_run_service.py:132:103
+   --> tests/unit_tests/services/test_workflow_run_service_pause.py:327:99
 ERROR Missing required key `id` for TypedDict `NodeConfigDict` [bad-typed-dict-key]
     --> tests/unit_tests/services/test_workflow_service.py:2680:71
 ERROR Missing required key `data` for TypedDict `NodeConfigDict` [bad-typed-dict-key]

@xingxing21 xingxing21 changed the title Fix/unicode separator corruption fix: Unicode separator corruption Apr 14, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-04-17 04:51:41.481968644 +0000
+++ /tmp/pyrefly_pr.txt	2026-04-17 04:51:31.041993941 +0000
@@ -1,5 +1,3 @@
-ERROR Object of class `Server` has no attribute `app` [missing-attribute]
-   --> app_factory.py:132:5
 ERROR Object of class `App` has no attribute `access_mode` [missing-attribute]
    --> controllers/console/app/app.py:552:13
 ERROR Object of class `object` has no attribute `value` [missing-attribute]
@@ -16,8 +14,6 @@
   --> controllers/console/setup.py:40:2
 ERROR Object of class `MissingRouter` has no attribute `post` [missing-attribute]
   --> controllers/console/setup.py:65:2
-ERROR Object of class `Server` has no attribute `app` [missing-attribute]
-  --> controllers/console/socketio/workflow.py:45:14
 ERROR Object of class `MissingRouter` has no attribute `get` [missing-attribute]
   --> controllers/console/version.py:30:2
 ERROR Object of class `object` has no attribute `value` [missing-attribute]
@@ -47,25 +43,25 @@
 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:582:60
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:171:17
+   --> core/model_manager.py:172:17
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:196:13
+   --> core/model_manager.py:197:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:216:13
+   --> core/model_manager.py:217:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:238:13
+   --> core/model_manager.py:239:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:255:13
+   --> core/model_manager.py:256:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:280:13
+   --> core/model_manager.py:281:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:308:13
+   --> core/model_manager.py:309:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:327:13
+   --> core/model_manager.py:328:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:343:13
+   --> core/model_manager.py:344:13
 ERROR Missing positional argument `function` in function `ModelInstance._round_robin_invoke` [bad-argument-count]
-   --> core/model_manager.py:360:13
+   --> core/model_manager.py:361:13
 ERROR Argument `dict[str, list[str] | str | None]` is not assignable to parameter `attributes` with type `dict[str, str] | None` in function `mlflow.tracing.fluent.start_span_no_context` [bad-argument-type]
    --> core/ops/mlflow_trace/mlflow_trace.py:271:24
 ERROR Argument `dict[str, dict[str, Any] | str | None]` is not assignable to parameter `attributes` with type `dict[str, str] | None` in function `mlflow.tracing.fluent.start_span_no_context` [bad-argument-type]
@@ -113,7 +109,7 @@
 ERROR Object of class `Document` has no attribute `score` [missing-attribute]
    --> core/rag/index_processor/processor/qa_index_processor.py:209:16
 ERROR No matching overload found for function `core.model_manager.ModelInstance.invoke_llm` called with arguments: (prompt_messages=list[SystemPromptMessage | UserPromptMessage], tools=list[PromptMessageTool], stream=Literal[False], model_parameters=dict[str, float | int]) [no-matching-overload]
-  --> core/rag/retrieval/router/multi_dataset_function_call_router.py:31:58
+  --> core/rag/retrieval/router/multi_dataset_function_call_router.py:32:58
 ERROR Class member `MCPToolProviderController.entity` overrides parent class `ToolProviderController` in an inconsistent manner [bad-override]
   --> core/tools/mcp_tool/provider.py:33:14
 ERROR Class member `PluginToolProviderController.entity` overrides parent class `BuiltinToolProviderController` in an inconsistent manner [bad-override]
@@ -126,8 +122,6 @@
   --> extensions/storage/huawei_obs_storage.py:27:23
 ERROR Cannot index into `Literal['']` [bad-index]
   --> extensions/storage/huawei_obs_storage.py:31:20
-ERROR Object of class `object` has no attribute `value` [missing-attribute]
-  --> fields/conversation_variable_fields.py:60:24
 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 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]
@@ -584,10 +578,6 @@
    --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:883:42
 ERROR Argument `SimpleNamespace` is not assignable to parameter `dataset` with type `Dataset` in function `dify_vdb_weaviate.weaviate_vector.WeaviateVectorFactory.init_vector` [bad-argument-type]
    --> providers/vdb/vdb-weaviate/tests/unit_tests/test_weaviate_vector.py:912:42
-ERROR No matching overload found for function `redis.client.Redis.__init__` called with arguments: (host=int | str | Unknown, port=int | str | Unknown, password=int | str | Unknown | None, db=int, ssl=bool, ssl_ca_certs=str | None, ssl_cert_reqs=Any | None, ssl_certfile=Any | None, ssl_keyfile=Any | None, socket_timeout=Literal[5], socket_connect_timeout=Literal[5], health_check_interval=Literal[30]) [no-matching-overload]
-  --> schedule/queue_monitor_task.py:14:21
-ERROR Object of class `Tenant` has no attribute `role` [missing-attribute]
-    --> services/account_service.py:1154:13
 ERROR No matching overload found for function `flask.helpers.stream_with_context` called with arguments: (Generator[bytes]) [no-matching-overload]
    --> services/audio_service.py:144:56
 ERROR No matching overload found for function `flask.helpers.stream_with_context` called with arguments: (Generator[bytes]) [no-matching-overload]
@@ -605,19 +595,19 @@
 ERROR Class member `DocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
   --> services/document_indexing_proxy/document_indexing_task_proxy.py:12:5
 ERROR Class member `DuplicateDocumentIndexingTaskProxy.NORMAL_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
-  --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:14:5
-ERROR Class member `DuplicateDocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
   --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:15:5
-ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any` is not assignable to parameter `top_k` with type `int` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
-  --> services/hit_testing_service.py:85:19
-ERROR Argument `RetrievalMethod | bool | dict[str, str] | float | int | Any` is not assignable to parameter `score_threshold` with type `float | None` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
-  --> services/hit_testing_service.py:86:29
+ERROR Class member `DuplicateDocumentIndexingTaskProxy.PRIORITY_TASK_FUNC` overrides parent class `BatchDocumentIndexingProxy` in an inconsistent manner [bad-override]
+  --> services/document_indexing_proxy/duplicate_document_indexing_task_proxy.py:16:5
+ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__` [bad-argument-type]
+  --> services/hit_testing_service.py:86:23
+ERROR Argument `RetrievalMethod | bool | dict[str, str] | float | int | Any` is not assignable to parameter `x` with type `Buffer | SupportsFloat | SupportsIndex | str` in function `float.__new__` [bad-argument-type]
+  --> services/hit_testing_service.py:87:35
 ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any | None` is not assignable to parameter `reranking_model` with type `RerankingModelDict | None` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
-  --> services/hit_testing_service.py:89:29
+  --> services/hit_testing_service.py:90:29
 ERROR Argument `Literal['reranking_model', True] | RetrievalMethod | dict[str, str] | int | Any` is not assignable to parameter `reranking_mode` with type `str` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
-  --> services/hit_testing_service.py:92:28
+  --> services/hit_testing_service.py:93:28
 ERROR Argument `RetrievalMethod | bool | dict[str, str] | int | Any | None` is not assignable to parameter `weights` with type `WeightsDict | None` in function `core.rag.datasource.retrieval_service.RetrievalService.retrieve` [bad-argument-type]
-  --> services/hit_testing_service.py:93:21
+  --> services/hit_testing_service.py:94:21
 ERROR `handled_tenant_count` was assigned in the current scope before the nonlocal declaration [unknown-name]
   --> services/plugin/plugin_migration.py:92:34
 ERROR `dict[str, Any]` is not assignable to attribute `credentials` with type `Never` [bad-assignment]
@@ -639,11 +629,11 @@
 ERROR Argument `Literal['normal']` is not assignable to parameter `value` with type `AppStatus | SQLCoreOperations[AppStatus]` in function `sqlalchemy.orm.base.Mapped.__set__` [bad-argument-type]
   --> tests/integration_tests/controllers/console/app/test_model_config_permissions.py:28:22
 ERROR `dict[str, str]` is not assignable to TypedDict key `data` with type `BaseNodeData` [bad-typed-dict-key]
-  --> tests/integration_tests/core/workflow/nodes/datasource/test_datasource_node_integration.py:75:21
+  --> tests/integration_tests/core/workflow/nodes/datasource/test_datasource_node_integration.py:76:21
 ERROR Argument `_GP` is not assignable to parameter `graph_init_params` with type `GraphInitParams` in function `core.workflow.nodes.datasource.datasource_node.DatasourceNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/core/workflow/nodes/datasource/test_datasource_node_integration.py:85:27
+  --> tests/integration_tests/core/workflow/nodes/datasource/test_datasource_node_integration.py:86:27
 ERROR Argument `_GS` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState` in function `core.workflow.nodes.datasource.datasource_node.DatasourceNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/core/workflow/nodes/datasource/test_datasource_node_integration.py:86:29
+  --> tests/integration_tests/core/workflow/nodes/datasource/test_datasource_node_integration.py:87:29
 ERROR Could not import `Overflow` from `libs.broadcast_channel.channel` [missing-module-attribute]
   --> tests/integration_tests/libs/broadcast_channel/redis/utils/test_data.py:11:44
 ERROR `unpatch` may be uninitialized [unbound-name]
@@ -671,19 +661,19 @@
 ERROR Argument `type[ToolFileManager]` is not assignable to parameter `tool_file_manager_factory` with type `() -> ToolFileManagerProtocol` in function `graphon.nodes.http_request.node.HttpRequestNode.__init__` [bad-argument-type]
   --> tests/integration_tests/workflow/nodes/test_http.py:84:35
 ERROR Argument `dict[str, dict[str, dict[str, dict[str, str] | str] | str | Unknown | None] | str] | dict[str, dict[str, str] | str]` is not assignable to parameter `config` with type `NodeConfigDict` in function `graphon.nodes.http_request.node.HttpRequestNode.__init__` [bad-argument-type]
-   --> tests/integration_tests/workflow/nodes/test_http.py:727:16
+   --> tests/integration_tests/workflow/nodes/test_http.py:728:16
 ERROR Argument `type[ToolFileManager]` is not assignable to parameter `tool_file_manager_factory` with type `() -> ToolFileManagerProtocol` in function `graphon.nodes.http_request.node.HttpRequestNode.__init__` [bad-argument-type]
-   --> tests/integration_tests/workflow/nodes/test_http.py:732:35
+   --> tests/integration_tests/workflow/nodes/test_http.py:733:35
 ERROR Argument `dict[Unknown, Unknown]` is not assignable to parameter `config` with type `NodeConfigDict` in function `graphon.nodes.llm.node.LLMNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/workflow/nodes/test_llm.py:79:16
+  --> tests/integration_tests/workflow/nodes/test_llm.py:80:16
 ERROR Argument `dict[Unknown, Unknown]` is not assignable to parameter `config` with type `NodeConfigDict` in function `graphon.nodes.parameter_extractor.parameter_extractor_node.ParameterExtractorNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/workflow/nodes/test_parameter_extractor.py:73:16
+  --> tests/integration_tests/workflow/nodes/test_parameter_extractor.py:74:16
 ERROR Argument `dict[str, dict[str, list[dict[str, list[str] | str]] | str] | str]` is not assignable to parameter `config` with type `NodeConfigDict` in function `graphon.nodes.template_transform.template_transform_node.TemplateTransformNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/workflow/nodes/test_template_transform.py:90:16
+  --> tests/integration_tests/workflow/nodes/test_template_transform.py:91:16
 ERROR Argument `_SimpleJinja2Renderer` is not assignable to parameter `jinja2_template_renderer` with type `Jinja2TemplateRenderer` in function `graphon.nodes.template_transform.template_transform_node.TemplateTransformNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/workflow/nodes/test_template_transform.py:93:34
+  --> tests/integration_tests/workflow/nodes/test_template_transform.py:94:34
 ERROR Argument `dict[Unknown, Unknown]` is not assignable to parameter `config` with type `NodeConfigDict` in function `graphon.nodes.tool.tool_node.ToolNode.__init__` [bad-argument-type]
-  --> tests/integration_tests/workflow/nodes/test_tool.py:64:16
+  --> tests/integration_tests/workflow/nodes/test_tool.py:65:16
 ERROR `dict[str, str | None]` is not assignable to attribute `env` with type `dict[str, str]` [bad-assignment]
    --> tests/test_containers_integration_tests/conftest.py:204:39
 ERROR Argument value `Literal[0]` violates Pydantic `ge` constraint `Literal[1]` for field `page` [bad-argument-type]
@@ -813,7 +803,7 @@
 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:270: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
+  --> tests/test_containers_integration_tests/helpers/execution_extra_content.py:49:14
 ERROR Object of class `TypeEngine` has no attribute `length` [missing-attribute]
    --> tests/test_containers_integration_tests/models/test_types_enum_text.py:104:16
 ERROR Object of class `NoneType` has no attribute `user_type` [missing-attribute]
@@ -866,8 +856,6 @@
    --> tests/test_containers_integration_tests/services/plugin/test_plugin_service.py:377:37
 ERROR Object of class `NoneType` has no attribute `open_id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_account_service.py:530:16
-ERROR Object of class `Tenant` has no attribute `role` [missing-attribute]
-    --> tests/test_containers_integration_tests/services/test_account_service.py:1434:16
 ERROR Argument `list[str]` is not assignable to parameter `roles` with type `list[TenantAccountRole]` in function `services.account_service.TenantService.has_roles` [bad-argument-type]
     --> tests/test_containers_integration_tests/services/test_account_service.py:1625:45
 ERROR Object of class `NoneType` has no attribute `role` [missing-attribute]
@@ -909,15 +897,15 @@
 ERROR Argument `str | None` is not assignable to parameter `created_by` with type `SQLCoreOperations[str] | str` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
    --> tests/test_containers_integration_tests/services/test_agent_service.py:800:24
 ERROR Argument `Literal['account']` is not assignable to parameter `created_by_role` with type `CreatorUserRole | SQLCoreOperations[CreatorUserRole]` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_agent_service.py:894:29
+   --> tests/test_containers_integration_tests/services/test_agent_service.py:895:29
 ERROR Argument `Literal['account']` is not assignable to parameter `created_by_role` with type `CreatorUserRole | SQLCoreOperations[CreatorUserRole]` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_agent_service.py:963:29
+   --> tests/test_containers_integration_tests/services/test_agent_service.py:964:29
 ERROR Argument `str | None` is not assignable to parameter `created_by` with type `SQLCoreOperations[str] | str` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/services/test_agent_service.py:964:24
+   --> tests/test_containers_integration_tests/services/test_agent_service.py:965:24
 ERROR Argument `Literal['account']` is not assignable to parameter `created_by_role` with type `CreatorUserRole | SQLCoreOperations[CreatorUserRole]` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
-    --> tests/test_containers_integration_tests/services/test_agent_service.py:1004:29
+    --> tests/test_containers_integration_tests/services/test_agent_service.py:1005:29
 ERROR Argument `str | None` is not assignable to parameter `created_by` with type `SQLCoreOperations[str] | str` in function `models.model.MessageAgentThought.__init__` [bad-argument-type]
-    --> tests/test_containers_integration_tests/services/test_agent_service.py:1005:24
+    --> tests/test_containers_integration_tests/services/test_agent_service.py:1006:24
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
    --> tests/test_containers_integration_tests/services/test_annotation_service.py:102:38
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
@@ -1114,8 +1102,6 @@
     --> tests/test_containers_integration_tests/services/test_app_service.py:1294:41
 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/services/test_conversation_service.py:43:18
-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/services/test_conversation_service_variables.py:46:18
 ERROR Object of class `NoneType` has no attribute `quota_used` [missing-attribute]
   --> tests/test_containers_integration_tests/services/test_credit_pool_service.py:90:16
 ERROR Object of class `NoneType` has no attribute `quota_used` [missing-attribute]
@@ -1683,65 +1669,65 @@
 ERROR Argument `str | None` is not assignable to parameter `doc_form` with type `str` in function `celery.app.task.Task.__call__` [bad-argument-type]
     --> tests/test_containers_integration_tests/tasks/test_clean_dataset_task.py:1015:22
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:100:23
+  --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:91:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:117:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:108:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:140:31
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:131:31
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:222:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:228:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:271:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:277:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:283:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:289:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:304:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:310:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:354:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:365:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:366:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:377:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:388:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:399:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:437:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:453:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:454:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:470:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:476:31
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:492:31
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:539:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:582:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:551:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:594:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:576:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:619:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:629:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:682:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:641:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:694:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:661:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:714:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:711:23
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:764:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:729:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:782:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:752:31
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:805:31
 ERROR `num_segments_per_doc` may be uninitialized [unbound-name]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:773:32
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:833:32
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:817:27
+   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:882:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:922:23
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1004:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:948:27
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1030:27
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-   --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:970:31
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1052:31
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1028:23
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1119:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1041:23
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1132:23
 ERROR Object of class `NoneType` has no attribute `id` [missing-attribute]
-    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1078:27
+    --> tests/test_containers_integration_tests/tasks/test_clean_notion_document_task.py:1169:27
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_create_segment_to_index_task.py:75:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
@@ -1789,13 +1775,13 @@
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_document_indexing_update_task.py:49:53
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:85:20
+  --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:84:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-  --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:92:20
+  --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:91:20
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:220:20
+   --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:219:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
-   --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:227:20
+   --> tests/test_containers_integration_tests/tasks/test_duplicate_document_indexing_task.py:226:20
 ERROR Argument `Literal['active']` is not assignable to parameter `status` with type `AccountStatus | SQLCoreOperations[AccountStatus]` in function `models.account.Account.__init__` [bad-argument-type]
   --> tests/test_containers_integration_tests/tasks/test_enable_segments_to_index_task.py:55:20
 ERROR Argument `Literal['normal']` is not assignable to parameter `status` with type `SQLCoreOperations[TenantStatus] | TenantStatus` in function `models.account.Tenant.__init__` [bad-argument-type]
@@ -1897,17 +1883,9 @@
 ERROR Object of class `object` has no attribute `exec_module` [missing-attribute]
    --> tests/unit_tests/controllers/console/app/test_app_response_models.py:111:5
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `controllers.console.app.workflow._parse_file` [bad-argument-type]
-  --> tests/unit_tests/controllers/console/app/test_workflow.py:26:40
+  --> tests/unit_tests/controllers/console/app/test_workflow.py:25:40
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `controllers.console.app.workflow._parse_file` [bad-argument-type]
-  --> tests/unit_tests/controllers/console/app/test_workflow.py:44:42
-ERROR Object of class `FunctionType` has no attribute `assert_called_once_with` [missing-attribute]
-   --> tests/unit_tests/controllers/console/app/test_workflow.py:405:5
-ERROR `in` is not supported between `Literal['Maximum']` and `None` [not-iterable]
-   --> tests/unit_tests/controllers/console/app/test_workflow.py:433:12
-ERROR Argument `dict[str, float | list[Unknown] | str]` is not assignable to parameter `payload` with type `dict[str, object] | None` in function `_patch_payload` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/app/test_workflow_comment_api.py:157:29
-ERROR Argument `dict[str, float | str]` is not assignable to parameter `payload` with type `dict[str, object] | None` in function `_patch_payload` [bad-argument-type]
-   --> tests/unit_tests/controllers/console/app/test_workflow_comment_api.py:189:29
+  --> tests/unit_tests/controllers/console/app/test_workflow.py:43:42
 ERROR Type `Response` is not iterable [not-iterable]
   --> tests/unit_tests/controllers/console/app/test_workflow_pause_details_api.py:87:9
 ERROR Type `Response` is not iterable [not-iterable]
@@ -2135,11 +2113,11 @@
 ERROR Object of class `NoneType` has no attribute `status` [missing-attribute]
    --> tests/unit_tests/controllers/service_api/app/test_workflow.py:365: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]
-  --> tests/unit_tests/controllers/service_api/app/test_workflow_fields.py:11:35
+  --> tests/unit_tests/controllers/service_api/app/test_workflow_fields.py:12:35
 ERROR Argument `SimpleNamespace` is not assignable to parameter `obj` with type `WorkflowRun` in function `controllers.service_api.app.workflow.WorkflowRunOutputsField.output` [bad-argument-type]
-  --> tests/unit_tests/controllers/service_api/app/test_workflow_fields.py:18:36
+  --> tests/unit_tests/controllers/service_api/app/test_workflow_fields.py:19:36
 ERROR Argument `SimpleNamespace` is not assignable to parameter `obj` with type `WorkflowRun` in function `controllers.service_api.app.workflow.WorkflowRunOutputsField.output` [bad-argument-type]
-  --> tests/unit_tests/controllers/service_api/app/test_workflow_fields.py:25:36
+  --> tests/unit_tests/controllers/service_api/app/test_workflow_fields.py:26:36
 ERROR Missing argument `datasource_info_list` in function `services.rag_pipeline.entity.pipeline_service_api_entities.PipelineRunApiEntity.__init__` [missing-argument]
    --> tests/unit_tests/controllers/service_api/dataset/rag_pipeline/test_rag_pipeline_workflow.py:327:33
 ERROR Missing argument `start_node_id` in function `services.rag_pipeline.entity.pipeline_service_api_entities.PipelineRunApiEntity.__init__` [missing-argument]
@@ -2731,11 +2709,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:94:16
-ERROR Cannot index into `str` [bad-index]
   --> 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:96:16
+ERROR Cannot index into `str` [bad-index]
+  --> tests/unit_tests/core/app/apps/advanced_chat/test_generate_response_converter.py:97: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]
@@ -2905,15 +2883,15 @@
 ERROR `SimpleNamespace` is not assignable to attribute `_base_task_pipeline` with type `BasedGenerateTaskPipeline` [bad-assignment]
   --> tests/unit_tests/core/app/apps/common/test_graph_runtime_state_support.py:20:36
 ERROR Argument `None` is not assignable to parameter `value` with type `Segment | dict[Unknown, Unknown] | list[Unknown]` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter._fetch_files_from_variable_value` [bad-argument-type]
-  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:45:77
+  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter.py:46:77
 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/core/app/apps/common/test_workflow_response_converter_human_input.py:32:37
+  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter_human_input.py:33:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter.__init__` [bad-argument-type]
-  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter_human_input.py:33:14
+  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter_human_input.py:34:14
 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/core/app/apps/common/test_workflow_response_converter_resumption.py:31:37
+  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter_resumption.py:32:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.common.workflow_response_converter.WorkflowResponseConverter.__init__` [bad-argument-type]
-  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter_resumption.py:32:14
+  --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter_resumption.py:33:14
 ERROR Object of class `NoneType` has no attribute `data` [missing-attribute]
    --> tests/unit_tests/core/app/apps/common/test_workflow_response_converter_truncation.py:588:16
 ERROR Argument `dict[str, dict[str, str]]` is not assignable to parameter `override_config_dict` with type `AppModelConfigDict | None` in function `core.app.apps.completion.app_config_manager.CompletionAppConfigManager.get_app_config` [bad-argument-type]
@@ -2953,17 +2931,17 @@
 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 `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]
   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:57:12
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:108:12
+  --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:58:12
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:109:12
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:110:12
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:111:12
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generate_response_converter.py:112:12
 ERROR Class `PipelineRunner` has no class attribute `call_args` [missing-attribute]
    --> tests/unit_tests/core/app/apps/pipeline/test_pipeline_generator.py:341:12
 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]
@@ -2981,7 +2959,7 @@
 ERROR `Literal['generated-message-id']` is not assignable to attribute `id` with type `Never` [bad-assignment]
   --> tests/unit_tests/core/app/apps/test_advanced_chat_app_generator.py:55:22
 ERROR Object of class `Account` has no attribute `tenant_id` [missing-attribute]
-   --> tests/unit_tests/core/app/apps/test_base_app_generator.py:486:9
+   --> tests/unit_tests/core/app/apps/test_base_app_generator.py:487:9
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState | None` in function `core.app.apps.base_app_queue_manager.AppQueueManager.graph_runtime_state` [bad-argument-type]
   --> tests/unit_tests/core/app/apps/test_base_app_queue_manager.py:70:39
 ERROR Argument `SimpleNamespace` is not assignable to parameter `model_config` with type `ModelConfigWithCredentialsEntity` in function `core.app.apps.base_app_runner.AppRunner.recalc_llm_max_tokens` [bad-argument-type]
@@ -3069,45 +3047,45 @@
 ERROR Object of class `NoneType` has no attribute `opening_statement` [missing-attribute]
    --> tests/unit_tests/core/app/apps/test_message_based_app_generator.py:175:9
 ERROR Object of class `ModuleType` has no attribute `TraceQueueManager` [missing-attribute]
-  --> tests/unit_tests/core/app/apps/test_pause_resume.py:42:5
+  --> tests/unit_tests/core/app/apps/test_pause_resume.py:43:5
 ERROR Class member `_StubToolNode._run` overrides parent class `Node` in an inconsistent manner [bad-override]
-  --> tests/unit_tests/core/app/apps/test_pause_resume.py:79:9
+  --> tests/unit_tests/core/app/apps/test_pause_resume.py:80:9
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:220:19
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:221:19
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:221:18
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:222:18
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:222:14
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:223:14
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `WorkflowAppGenerateEntity` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:223:37
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:224:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_execution_repository` with type `WorkflowExecutionRepository` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:225:39
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:226:39
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.workflow.app_generator.WorkflowAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:226:44
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:227:44
 ERROR `+` is not supported between `list[str]` and `Generator[Mapping[str, Any] | str]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:229:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:230:12
 ERROR `+` is not supported between `list[str]` and `Mapping[str, Any]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:229:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:230:12
 ERROR Argument `SimpleNamespace` is not assignable to parameter `app_model` with type `App` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:260:19
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:261:19
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow` with type `Workflow` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:261:18
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:262:18
 ERROR Argument `SimpleNamespace` is not assignable to parameter `user` with type `Account | EndUser` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:262:14
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:263:14
 ERROR Argument `SimpleNamespace` is not assignable to parameter `conversation` with type `Conversation` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:263:22
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:264:22
 ERROR Argument `SimpleNamespace` is not assignable to parameter `message` with type `Message` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:264:17
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:265:17
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `AdvancedChatAppGenerateEntity` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:265:37
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:266:37
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_execution_repository` with type `WorkflowExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:266:39
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:267:39
 ERROR Argument `SimpleNamespace` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.apps.advanced_chat.app_generator.AdvancedChatAppGenerator.resume` [bad-argument-type]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:267:44
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:268:44
 ERROR `+` is not supported between `list[str]` and `Generator[Mapping[str, Any] | str]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:271:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:272:12
 ERROR `+` is not supported between `list[str]` and `Mapping[str, Any]` [unsupported-operation]
-   --> tests/unit_tests/core/app/apps/test_pause_resume.py:271:12
+   --> tests/unit_tests/core/app/apps/test_pause_resume.py:272:12
 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]
@@ -3243,17 +3221,17 @@
 ERROR `in` is not supported between `Literal['blocking response mode']` and `None` [not-iterable]
  --> tests/unit_tests/core/app/apps/workflow/test_errors.py:9:16
 ERROR Cannot index into `str` [bad-index]
-  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:75:16
-ERROR Cannot index into `str` [bad-index]
   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:76:16
 ERROR Cannot index into `str` [bad-index]
   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:77:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:121:16
+  --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:78:16
 ERROR Cannot index into `str` [bad-index]
    --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:122:16
 ERROR Cannot index into `str` [bad-index]
-   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:133:16
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:123:16
+ERROR Cannot index into `str` [bad-index]
+   --> tests/unit_tests/core/app/apps/workflow/test_generate_response_converter.py:134: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: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]
@@ -3413,13 +3391,13 @@
 ERROR Argument `list[SimpleNamespace]` is not assignable to parameter `prompt_messages` with type `list[PromptMessage]` in function `core.app.features.hosting_moderation.hosting_moderation.HostingModerationFeature.check` [bad-argument-type]
   --> tests/unit_tests/core/app/features/test_hosting_moderation.py:23:65
 ERROR Argument `object` is not assignable to parameter `event` with type `GraphEngineEvent` in function `core.app.layers.suspend_layer.SuspendLayer.on_event` [bad-argument-type]
-  --> tests/unit_tests/core/app/layers/test_suspend_layer.py:18:24
+  --> tests/unit_tests/core/app/layers/test_suspend_layer.py:19:24
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `ReadOnlyGraphRuntimeState` in function `graphon.graph_engine.layers.base.GraphEngineLayer.initialize` [bad-argument-type]
-  --> tests/unit_tests/core/app/layers/test_trigger_post_layer.py:47:30
+  --> tests/unit_tests/core/app/layers/test_trigger_post_layer.py:48:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `ReadOnlyGraphRuntimeState` in function `graphon.graph_engine.layers.base.GraphEngineLayer.initialize` [bad-argument-type]
-  --> tests/unit_tests/core/app/layers/test_trigger_post_layer.py:84:30
+  --> tests/unit_tests/core/app/layers/test_trigger_post_layer.py:85:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `ReadOnlyGraphRuntimeState` in function `graphon.graph_engine.layers.base.GraphEngineLayer.initialize` [bad-argument-type]
-   --> tests/unit_tests/core/app/layers/test_trigger_post_layer.py:104:30
+   --> tests/unit_tests/core/app/layers/test_trigger_post_layer.py:105:30
 ERROR Argument `SimpleNamespace` is not assignable to parameter `application_generate_entity` with type `AppGenerateEntity` in function `core.app.task_pipeline.based_generate_task_pipeline.BasedGenerateTaskPipeline.__init__` [bad-argument-type]
   --> tests/unit_tests/core/app/task_pipeline/test_based_generate_task_pipeline.py:23:41
 ERROR Argument `SimpleNamespace` is not assignable to parameter `queue_manager` with type `AppQueueManager` in function `core.app.task_pipeline.easy_ui_based_generate_task_pipeline.EasyUIBasedGenerateTaskPipeline.__init__` [bad-argument-type]
@@ -3707,7 +3685,7 @@
 ERROR `None` is not subscriptable [unsupported-operation]
    --> tests/unit_tests/core/app/task_pipeline/test_message_cycle_manager_optimization.py:249:16
 ERROR Argument `dict[str, dict[str, dict[str, float | list[str]] | str]]` is not assignable to parameter `config` with type `AppModelConfigDict` in function `core.app.app_config.easy_ui_based_app.model_config.manager.ModelConfigManager.convert` [bad-argument-type]
-  --> tests/unit_tests/core/app/test_easy_ui_model_config_manager.py:49:41
+  --> tests/unit_tests/core/app/test_easy_ui_model_config_manager.py:50:41
 ERROR Argument `SimpleNamespace` is not assignable to parameter `file` with type `File` in function `core.app.workflow.file_runtime.DifyWorkflowFileRuntime.resolve_file_url` [bad-argument-type]
   --> tests/unit_tests/core/app/workflow/test_file_runtime.py:60:39
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_init_params` with type `GraphInitParams` in function `core.workflow.node_factory.DifyNodeFactory.__init__` [bad-argument-type]
@@ -3715,51 +3693,51 @@
 ERROR Argument `SimpleNamespace` is not assignable to parameter `graph_runtime_state` with type `GraphRuntimeState` in function `core.workflow.node_factory.DifyNodeFactory.__init__` [bad-argument-type]
   --> tests/unit_tests/core/app/workflow/test_node_factory.py:72:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer._get_parser` [bad-argument-type]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:47:36
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:48:36
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer._get_parser` [bad-argument-type]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:54:36
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:55:36
 ERROR Cannot set item in `dict[str, _NodeSpanContext]` [unsupported-operation]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:60:40
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:61:40
 ERROR Argument `object` is not assignable to parameter `event` with type `GraphEngineEvent` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_event` [bad-argument-type]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:69:24
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:70:24
 ERROR Cannot set item in `dict[str, _NodeSpanContext]` [unsupported-operation]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:73:40
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:74:40
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_start` [bad-argument-type]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:85:33
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:86:33
 ERROR `SimpleNamespace` is not assignable to attribute `_tracer` with type `Tracer | None` [bad-assignment]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:92:25
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:93:25
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_start` [bad-argument-type]
-  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:94:33
+  --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:95:33
 ERROR `SimpleNamespace` is not assignable to attribute `_tracer` with type `Tracer | None` [bad-assignment]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:102:25
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:103:25
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_start` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:104:33
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:105:33
 ERROR `SimpleNamespace` is not assignable to attribute `_tracer` with type `Tracer | None` [bad-assignment]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:115:25
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:116:25
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_start` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:117:33
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:118:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_end` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:125:31
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:126:31
 ERROR Cannot set item in `dict[str, _NodeSpanContext]` [unsupported-operation]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:132:40
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:133:40
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_end` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:134:31
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:135:31
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_end` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:142:31
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:143:31
 ERROR Cannot set item in `dict[str, _NodeSpanContext]` [unsupported-operation]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:157:40
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:158:40
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_end` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:162:31
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:163:31
 ERROR Cannot set item in `dict[str, _NodeSpanContext]` [unsupported-operation]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:176:40
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:177:40
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_end` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:184:31
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:185:31
 ERROR `SimpleNamespace` is not assignable to attribute `_tracer` with type `Tracer | None` [bad-assignment]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:201:25
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:202:25
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_start` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:205:33
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:206:33
 ERROR Argument `SimpleNamespace` is not assignable to parameter `node` with type `Node[Unknown]` in function `core.app.workflow.layers.observability.ObservabilityLayer.on_node_run_end` [bad-argument-type]
-   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:208:31
+   --> tests/unit_tests/core/app/workflow/test_observability_layer_extra.py:209:31
 ERROR Argument `_RepoRecorder` is not assignable to parameter `workflow_execution_repository` with type `WorkflowExecutionRepository` in function `core.app.workflow.layers.persistence.WorkflowPersistenceLayer.__init__` [bad-argument-type]
   --> tests/unit_tests/core/app/workflow/test_persistence_layer.py:93:39
 ERROR Argument `_RepoRecorder` is not assignable to parameter `workflow_node_execution_repository` with type `WorkflowNodeExecutionRepository` in function `core.app.workflow.layers.persistence.WorkflowPersistenceLayer.__init__` [bad-argument-type]
@@ -4040,35 +4018,35 @@
 ERROR Argument `Literal['1.0']` is not assignable to parameter `jsonrpc` with type `Literal['2.0']` in function `core.mcp.types.JSONRPCRequest.__init__` [bad-argument-type]
    --> tests/unit_tests/core/mcp/test_types.py:458:25
 ERROR Argument `_FakeModelRuntime` is not assignable to parameter `model_runtime` with type `ModelRuntime` in function `graphon.model_runtime.model_providers.model_provider_factory.ModelProviderFactory.__init__` [bad-argument-type]
-  --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:76:50
+  --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:75:50
 ERROR Argument `_FakeModelRuntime` is not assignable to parameter `model_runtime` with type `ModelRuntime` in function `graphon.model_runtime.model_providers.model_provider_factory.ModelProviderFactory.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:101:50
+   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:100:50
 ERROR Argument `_FakeModelRuntime` is not assignable to parameter `model_runtime` with type `ModelRuntime` in function `graphon.model_runtime.model_providers.model_provider_factory.ModelProviderFactory.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:122:50
+   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:121:50
 ERROR Argument `_FakeModelRuntime` is not assignable to parameter `model_runtime` with type `ModelRuntime` in function `graphon.model_runtime.model_providers.model_provider_factory.ModelProviderFactory.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:136:50
+   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:135:50
 ERROR Argument `_FakeModelRuntime` is not assignable to parameter `model_runtime` with type `ModelRuntime` in function `graphon.model_runtime.model_providers.model_provider_factory.ModelProviderFactory.__init__` [bad-argument-type]
-   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:145:23
+   --> tests/unit_tests/core/model_runtime/test_model_provider_factory.py:144:23
 ERROR Argum\n\n... (truncated) ...

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

Labels

size:S This PR changes 10-29 lines, ignoring generated files. web This relates to changes on the web.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

parent mode # can split,',' can not

3 participants