fix: 修复 mypy 类型检查错误并升级到 Python 3.14

主要变更:
- 修复 1483 个 mypy 类型检查错误
- 添加缺失的类型注解 (Any, Callable, Session 等)
- 修复隐式 Optional 类型 (param: Type = None -> param: Type | None = None)
- 修复 __new__ 单例模式返回类型
- 添加 type: ignore 注释处理第三方库类型问题
- 更新 pyproject.toml 依赖到 Python 3.14 兼容版本
- 更新 mypy/black 配置为 Python 3.14
This commit is contained in:
fawney19
2026-01-30 14:30:57 +08:00
parent 7066166757
commit 5603c72f40
142 changed files with 2864 additions and 1853 deletions

View File

@@ -1,3 +1,4 @@
from src.api.base.context import ApiRequestContext
from fastapi import HTTPException
from .adapter import ApiAdapter, ApiMode
@@ -8,6 +9,6 @@ class AuthenticatedApiAdapter(ApiAdapter):
mode = ApiMode.USER
def authorize(self, context): # type: ignore[override]
def authorize(self, context: ApiRequestContext) -> None: # type: ignore[override]
if not context.user:
raise HTTPException(status_code=401, detail="未登录")

View File

@@ -54,7 +54,7 @@ class ApiRequestPipeline:
mode: ApiMode = ApiMode.STANDARD,
api_format_hint: str | None = None,
path_params: dict[str, Any] | None = None,
):
) -> Any:
# 高频轮询端点抑制 debug 日志
is_quiet = http_request.url.path in QUIET_POLLING_PATHS
if not is_quiet:
@@ -500,7 +500,7 @@ class ApiRequestPipeline:
return self._sanitize_metadata(metadata)
def _sanitize_metadata(self, value: Any, depth: int = 0):
def _sanitize_metadata(self, value: Any, depth: int = 0) -> None:
if value is None:
return None
if depth > 5: