refactor: replace bare dict with dict[str, Any] in VDB providers and libs (#35123)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
wdeveloper16 2026-04-14 05:02:29 +02:00 committed by GitHub
parent f8b249e649
commit d573fc0e65
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 28 additions and 20 deletions

View File

@ -3,7 +3,7 @@ import queue
import threading import threading
import types import types
from collections.abc import Generator, Iterator from collections.abc import Generator, Iterator
from typing import Self from typing import Any, Self
from libs.broadcast_channel.channel import Subscription from libs.broadcast_channel.channel import Subscription
from libs.broadcast_channel.exc import SubscriptionClosedError from libs.broadcast_channel.exc import SubscriptionClosedError
@ -221,7 +221,7 @@ class RedisSubscriptionBase(Subscription):
"""Unsubscribe from the Redis topic using the appropriate command.""" """Unsubscribe from the Redis topic using the appropriate command."""
raise NotImplementedError raise NotImplementedError
def _get_message(self) -> dict | None: def _get_message(self) -> dict[str, Any] | None:
"""Get a message from Redis using the appropriate method.""" """Get a message from Redis using the appropriate method."""
raise NotImplementedError raise NotImplementedError

View File

@ -1,5 +1,7 @@
from __future__ import annotations from __future__ import annotations
from typing import Any
from libs.broadcast_channel.channel import Producer, Subscriber, Subscription from libs.broadcast_channel.channel import Producer, Subscriber, Subscription
from redis import Redis, RedisCluster from redis import Redis, RedisCluster
@ -62,7 +64,7 @@ class _RedisSubscription(RedisSubscriptionBase):
assert self._pubsub is not None assert self._pubsub is not None
self._pubsub.unsubscribe(self._topic) self._pubsub.unsubscribe(self._topic)
def _get_message(self) -> dict | None: def _get_message(self) -> dict[str, Any] | None:
assert self._pubsub is not None assert self._pubsub is not None
return self._pubsub.get_message(ignore_subscribe_messages=True, timeout=1) return self._pubsub.get_message(ignore_subscribe_messages=True, timeout=1)

View File

@ -1,5 +1,7 @@
from __future__ import annotations from __future__ import annotations
from typing import Any
from libs.broadcast_channel.channel import Producer, Subscriber, Subscription from libs.broadcast_channel.channel import Producer, Subscriber, Subscription
from redis import Redis, RedisCluster from redis import Redis, RedisCluster
@ -60,7 +62,7 @@ class _RedisShardedSubscription(RedisSubscriptionBase):
assert self._pubsub is not None assert self._pubsub is not None
self._pubsub.sunsubscribe(self._topic) # type: ignore[attr-defined] self._pubsub.sunsubscribe(self._topic) # type: ignore[attr-defined]
def _get_message(self) -> dict | None: def _get_message(self) -> dict[str, Any] | None:
assert self._pubsub is not None assert self._pubsub is not None
# NOTE(QuantumGhost): this is an issue in # NOTE(QuantumGhost): this is an issue in
# upstream code. If Sharded PubSub is used with Cluster, the # upstream code. If Sharded PubSub is used with Cluster, the

View File

@ -1,9 +1,11 @@
from typing import Any
from werkzeug.exceptions import HTTPException from werkzeug.exceptions import HTTPException
class BaseHTTPException(HTTPException): class BaseHTTPException(HTTPException):
error_code: str = "unknown" error_code: str = "unknown"
data: dict | None = None data: dict[str, Any] | None = None
def __init__(self, description=None, response=None): def __init__(self, description=None, response=None):
super().__init__(description, response) super().__init__(description, response)

View File

@ -410,7 +410,7 @@ class TokenManager:
token_type: str, token_type: str,
account: "Account | None" = None, account: "Account | None" = None,
email: str | None = None, email: str | None = None,
additional_data: dict | None = None, additional_data: dict[str, Any] | None = None,
) -> str: ) -> str:
if account is None and email is None: if account is None and email is None:
raise ValueError("Account or email must be provided") raise ValueError("Account or email must be provided")

View File

@ -1,4 +1,5 @@
import logging import logging
from typing import Any
import sendgrid import sendgrid
from python_http_client.exceptions import ForbiddenError, UnauthorizedError from python_http_client.exceptions import ForbiddenError, UnauthorizedError
@ -12,7 +13,7 @@ class SendGridClient:
self.sendgrid_api_key = sendgrid_api_key self.sendgrid_api_key = sendgrid_api_key
self._from = _from self._from = _from
def send(self, mail: dict): def send(self, mail: dict[str, Any]):
logger.debug("Sending email with SendGrid") logger.debug("Sending email with SendGrid")
_to = "" _to = ""
try: try:

View File

@ -2,6 +2,7 @@ import logging
import smtplib import smtplib
from email.mime.multipart import MIMEMultipart from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText from email.mime.text import MIMEText
from typing import Any
from configs import dify_config from configs import dify_config
@ -20,7 +21,7 @@ class SMTPClient:
self.use_tls = use_tls self.use_tls = use_tls
self.opportunistic_tls = opportunistic_tls self.opportunistic_tls = opportunistic_tls
def send(self, mail: dict): def send(self, mail: dict[str, Any]):
smtp: smtplib.SMTP | None = None smtp: smtplib.SMTP | None = None
local_host = dify_config.SMTP_LOCAL_HOSTNAME local_host = dify_config.SMTP_LOCAL_HOSTNAME
try: try:

View File

@ -35,7 +35,7 @@ class AlibabaCloudMySQLVectorConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values.get("host"): if not values.get("host"):
raise ValueError("config ALIBABACLOUD_MYSQL_HOST is required") raise ValueError("config ALIBABACLOUD_MYSQL_HOST is required")
if not values.get("port"): if not values.get("port"):

View File

@ -34,7 +34,7 @@ class AnalyticdbVectorOpenAPIConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["access_key_id"]: if not values["access_key_id"]:
raise ValueError("config ANALYTICDB_KEY_ID is required") raise ValueError("config ANALYTICDB_KEY_ID is required")
if not values["access_key_secret"]: if not values["access_key_secret"]:

View File

@ -24,7 +24,7 @@ class AnalyticdbVectorBySqlConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["host"]: if not values["host"]:
raise ValueError("config ANALYTICDB_HOST is required") raise ValueError("config ANALYTICDB_HOST is required")
if not values["port"]: if not values["port"]:

View File

@ -59,7 +59,7 @@ class BaiduConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["endpoint"]: if not values["endpoint"]:
raise ValueError("config BAIDU_VECTOR_DB_ENDPOINT is required") raise ValueError("config BAIDU_VECTOR_DB_ENDPOINT is required")
if not values["account"]: if not values["account"]:

View File

@ -51,7 +51,7 @@ class ClickzettaConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
""" """
Validate the configuration values. Validate the configuration values.
""" """

View File

@ -36,7 +36,7 @@ class CouchbaseConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values.get("connection_string"): if not values.get("connection_string"):
raise ValueError("config COUCHBASE_CONNECTION_STRING is required") raise ValueError("config COUCHBASE_CONNECTION_STRING is required")
if not values.get("user"): if not values.get("user"):

View File

@ -43,7 +43,7 @@ class HologresVectorConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values.get("host"): if not values.get("host"):
raise ValueError("config HOLOGRES_HOST is required") raise ValueError("config HOLOGRES_HOST is required")
if not values.get("database"): if not values.get("database"):

View File

@ -43,7 +43,7 @@ class MatrixoneConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["host"]: if not values["host"]:
raise ValueError("config host is required") raise ValueError("config host is required")
if not values["port"]: if not values["port"]:

View File

@ -49,7 +49,7 @@ class OceanBaseVectorConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["host"]: if not values["host"]:
raise ValueError("config OCEANBASE_VECTOR_HOST is required") raise ValueError("config OCEANBASE_VECTOR_HOST is required")
if not values["port"]: if not values["port"]:

View File

@ -29,7 +29,7 @@ class OpenGaussConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["host"]: if not values["host"]:
raise ValueError("config OPENGAUSS_HOST is required") raise ValueError("config OPENGAUSS_HOST is required")
if not values["port"]: if not values["port"]:

View File

@ -36,7 +36,7 @@ class OracleVectorConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["user"]: if not values["user"]:
raise ValueError("config ORACLE_USER is required") raise ValueError("config ORACLE_USER is required")
if not values["password"]: if not values["password"]:

View File

@ -33,7 +33,7 @@ class PgvectoRSConfig(BaseModel):
@model_validator(mode="before") @model_validator(mode="before")
@classmethod @classmethod
def validate_config(cls, values: dict): def validate_config(cls, values: dict[str, Any]):
if not values["host"]: if not values["host"]:
raise ValueError("config PGVECTO_RS_HOST is required") raise ValueError("config PGVECTO_RS_HOST is required")
if not values["port"]: if not values["port"]: