fix: modernize pydantic config to remove deprecation warning

- Replace deprecated class Config pattern with model_config = ConfigDict(...)
- Add ConfigDict import from pydantic
- Fixes PydanticDeprecatedSince20 warning in test output
- Maintains all existing functionality

All 73 tests pass without warnings.
This commit is contained in:
Daniel Wagner 2026-07-26 12:54:54 +10:00
parent 4cf28ef582
commit 15b595456a

View File

@ -13,7 +13,7 @@ import os
from pathlib import Path from pathlib import Path
from omegaconf import OmegaConf from omegaconf import OmegaConf
from pydantic import BaseModel, Field from pydantic import BaseModel, ConfigDict, Field
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -68,17 +68,14 @@ class ToolsConfig(BaseModel):
class Settings(BaseModel): class Settings(BaseModel):
"""Application settings with OmegaConf and pydantic integration.""" """Application settings with OmegaConf and pydantic integration."""
model_config = ConfigDict(arbitrary_types_allowed=True)
telegram: TelegramConfig = Field(default_factory=TelegramConfig) telegram: TelegramConfig = Field(default_factory=TelegramConfig)
openai: OpenAIConfig = Field(default_factory=OpenAIConfig) openai: OpenAIConfig = Field(default_factory=OpenAIConfig)
analysis: AnalysisConfig = Field(default_factory=AnalysisConfig) analysis: AnalysisConfig = Field(default_factory=AnalysisConfig)
memory: MemoryConfig = Field(default_factory=MemoryConfig) memory: MemoryConfig = Field(default_factory=MemoryConfig)
tools: ToolsConfig = Field(default_factory=ToolsConfig) tools: ToolsConfig = Field(default_factory=ToolsConfig)
class Config:
"""Pydantic config."""
arbitrary_types_allowed = True
# Compatibility properties for existing code # Compatibility properties for existing code
@property @property
def telegram_bot_token(self) -> str: def telegram_bot_token(self) -> str: