| @@ -1,4 +1,4 @@ | |||
| from typing import Any | |||
| from typing import Any, Optional | |||
| import flask_restful | |||
| from flask_login import current_user | |||
| @@ -49,7 +49,7 @@ class BaseApiKeyListResource(Resource): | |||
| method_decorators = [account_initialization_required, login_required, setup_required] | |||
| resource_type: str | None = None | |||
| resource_model: Any = None | |||
| resource_model: Optional[Any] = None | |||
| resource_id_field: str | None = None | |||
| token_prefix: str | None = None | |||
| max_keys = 10 | |||
| @@ -102,7 +102,7 @@ class BaseApiKeyResource(Resource): | |||
| method_decorators = [account_initialization_required, login_required, setup_required] | |||
| resource_type: str | None = None | |||
| resource_model: Any = None | |||
| resource_model: Optional[Any] = None | |||
| resource_id_field: str | None = None | |||
| def delete(self, resource_id, api_key_id): | |||
| @@ -610,7 +610,7 @@ class QueueErrorEvent(AppQueueEvent): | |||
| """ | |||
| event: QueueEvent = QueueEvent.ERROR | |||
| error: Any = None | |||
| error: Optional[Any] = None | |||
| class QueuePingEvent(AppQueueEvent): | |||
| @@ -52,7 +52,8 @@ class BasedGenerateTaskPipeline: | |||
| elif isinstance(e, InvokeError | ValueError): | |||
| err = e | |||
| else: | |||
| err = Exception(e.description if getattr(e, "description", None) is not None else str(e)) | |||
| description = getattr(e, "description", None) | |||
| err = Exception(description if description is not None else str(e)) | |||
| if not message_id or not session: | |||
| return err | |||
| @@ -17,7 +17,7 @@ class ExtensionModule(enum.Enum): | |||
| class ModuleExtension(BaseModel): | |||
| extension_class: Any = None | |||
| extension_class: Optional[Any] = None | |||
| name: str | |||
| label: Optional[dict] = None | |||
| form_schema: Optional[list] = None | |||
| @@ -38,6 +38,7 @@ class Extension: | |||
| def extension_class(self, module: ExtensionModule, extension_name: str) -> type: | |||
| module_extension = self.module_extension(module, extension_name) | |||
| assert module_extension.extension_class is not None | |||
| t: type = module_extension.extension_class | |||
| return t | |||
| @@ -4,7 +4,7 @@ from collections.abc import Callable | |||
| from concurrent.futures import Future, ThreadPoolExecutor, TimeoutError | |||
| from datetime import timedelta | |||
| from types import TracebackType | |||
| from typing import Any, Generic, Self, TypeVar | |||
| from typing import Any, Generic, Optional, Self, TypeVar | |||
| from httpx import HTTPStatusError | |||
| from pydantic import BaseModel | |||
| @@ -209,7 +209,7 @@ class BaseSession( | |||
| request: SendRequestT, | |||
| result_type: type[ReceiveResultT], | |||
| request_read_timeout_seconds: timedelta | None = None, | |||
| metadata: MessageMetadata = None, | |||
| metadata: Optional[MessageMetadata] = None, | |||
| ) -> ReceiveResultT: | |||
| """ | |||
| Sends a request and wait for a response. Raises an McpError if the | |||
| @@ -1173,7 +1173,7 @@ class SessionMessage: | |||
| """A message with specific metadata for transport-specific features.""" | |||
| message: JSONRPCMessage | |||
| metadata: MessageMetadata = None | |||
| metadata: Optional[MessageMetadata] = None | |||
| class OAuthClientMetadata(BaseModel): | |||
| @@ -1,10 +1,10 @@ | |||
| import logging | |||
| from threading import Lock | |||
| from typing import Any | |||
| from typing import Any, Optional | |||
| logger = logging.getLogger(__name__) | |||
| _tokenizer: Any = None | |||
| _tokenizer: Optional[Any] = None | |||
| _lock = Lock() | |||
| @@ -1,6 +1,6 @@ | |||
| from collections.abc import Generator | |||
| from datetime import datetime | |||
| from typing import Any | |||
| from typing import Any, Optional | |||
| from core.rag.extractor.watercrawl.client import WaterCrawlAPIClient | |||
| @@ -9,7 +9,7 @@ class WaterCrawlProvider: | |||
| def __init__(self, api_key, base_url: str | None = None): | |||
| self.client = WaterCrawlAPIClient(api_key, base_url) | |||
| def crawl_url(self, url, options: dict | Any = None) -> dict: | |||
| def crawl_url(self, url, options: Optional[dict | Any] = None) -> dict: | |||
| options = options or {} | |||
| spider_options = { | |||
| "max_depth": 1, | |||
| @@ -3,7 +3,7 @@ import logging | |||
| import ssl | |||
| from collections.abc import Callable | |||
| from datetime import timedelta | |||
| from typing import TYPE_CHECKING, Any, Union | |||
| from typing import TYPE_CHECKING, Any, Optional, Union | |||
| import redis | |||
| from redis import RedisError | |||
| @@ -246,7 +246,7 @@ def init_app(app: DifyApp): | |||
| app.extensions["redis"] = redis_client | |||
| def redis_fallback(default_return: Any = None): | |||
| def redis_fallback(default_return: Optional[Any] = None): | |||
| """ | |||
| decorator to handle Redis operation exceptions and return a default value when Redis is unavailable. | |||
| @@ -1,4 +1,5 @@ | |||
| import logging | |||
| from typing import Optional | |||
| from core.tools.entities.api_entities import ToolProviderTypeApiLiteral | |||
| from core.tools.tool_manager import ToolManager | |||
| @@ -9,7 +10,7 @@ logger = logging.getLogger(__name__) | |||
| class ToolCommonService: | |||
| @staticmethod | |||
| def list_tool_providers(user_id: str, tenant_id: str, typ: ToolProviderTypeApiLiteral = None): | |||
| def list_tool_providers(user_id: str, tenant_id: str, typ: Optional[ToolProviderTypeApiLiteral] = None): | |||
| """ | |||
| list tool providers | |||
| @@ -402,7 +402,7 @@ class WorkflowConverter: | |||
| ) | |||
| role_prefix = None | |||
| prompts: Any = None | |||
| prompts: Optional[Any] = None | |||
| # Chat Model | |||
| if model_config.mode == LLMMode.CHAT.value: | |||
| @@ -1,5 +1,6 @@ | |||
| import os | |||
| from collections import UserDict | |||
| from typing import Optional | |||
| from unittest.mock import MagicMock | |||
| import pytest | |||
| @@ -21,7 +22,7 @@ class MockBaiduVectorDBClass: | |||
| def mock_vector_db_client( | |||
| self, | |||
| config=None, | |||
| adapter: HTTPAdapter = None, | |||
| adapter: Optional[HTTPAdapter] = None, | |||
| ): | |||
| self.conn = MagicMock() | |||
| self._config = MagicMock() | |||
| @@ -23,7 +23,7 @@ class MockTcvectordbClass: | |||
| key="", | |||
| read_consistency: ReadConsistency = ReadConsistency.EVENTUAL_CONSISTENCY, | |||
| timeout=10, | |||
| adapter: HTTPAdapter = None, | |||
| adapter: Optional[HTTPAdapter] = None, | |||
| pool_size: int = 2, | |||
| proxies: Optional[dict] = None, | |||
| password: Optional[str] = None, | |||
| @@ -72,11 +72,11 @@ class MockTcvectordbClass: | |||
| shard: int, | |||
| replicas: int, | |||
| description: Optional[str] = None, | |||
| index: Index = None, | |||
| embedding: Embedding = None, | |||
| index: Optional[Index] = None, | |||
| embedding: Optional[Embedding] = None, | |||
| timeout: Optional[float] = None, | |||
| ttl_config: Optional[dict] = None, | |||
| filter_index_config: FilterIndexConfig = None, | |||
| filter_index_config: Optional[FilterIndexConfig] = None, | |||
| indexes: Optional[list[IndexField]] = None, | |||
| ) -> RPCCollection: | |||
| return RPCCollection( | |||
| @@ -113,7 +113,7 @@ class MockTcvectordbClass: | |||
| database_name: str, | |||
| collection_name: str, | |||
| vectors: list[list[float]], | |||
| filter: Filter = None, | |||
| filter: Optional[Filter] = None, | |||
| params=None, | |||
| retrieve_vector: bool = False, | |||
| limit: int = 10, | |||
| @@ -128,7 +128,7 @@ class MockTcvectordbClass: | |||
| collection_name: str, | |||
| ann: Optional[Union[list[AnnSearch], AnnSearch]] = None, | |||
| match: Optional[Union[list[KeywordSearch], KeywordSearch]] = None, | |||
| filter: Union[Filter, str] = None, | |||
| filter: Optional[Union[Filter, str]] = None, | |||
| rerank: Optional[Rerank] = None, | |||
| retrieve_vector: Optional[bool] = None, | |||
| output_fields: Optional[list[str]] = None, | |||
| @@ -158,7 +158,7 @@ class MockTcvectordbClass: | |||
| database_name: str, | |||
| collection_name: str, | |||
| document_ids: Optional[list[str]] = None, | |||
| filter: Filter = None, | |||
| filter: Optional[Filter] = None, | |||
| timeout: Optional[float] = None, | |||
| ): | |||
| return {"code": 0, "msg": "operation success"} | |||