Fix pydantic issues impacting autodoc

This commit is contained in:
Mark Backman
2026-01-15 17:02:30 -05:00
parent 60216048a8
commit 21aaa48e62
3 changed files with 16 additions and 15 deletions

View File

@@ -1002,17 +1002,15 @@ class TokenDetails(BaseModel):
image_tokens: Number of image tokens used (for input only).
"""
model_config = ConfigDict(extra="allow")
__pydantic_extra__: dict[str, Any]
cached_tokens: Optional[int] = 0
text_tokens: Optional[int] = 0
audio_tokens: Optional[int] = 0
cached_tokens_details: Optional[CachedTokensDetails] = None
image_tokens: Optional[int] = 0
class Config:
"""Pydantic configuration for TokenDetails."""
extra = "allow"
class Usage(BaseModel):
"""Token usage statistics for a response.

View File

@@ -877,15 +877,13 @@ class TokenDetails(BaseModel):
audio_tokens: Number of audio tokens used. Defaults to 0.
"""
model_config = ConfigDict(extra="allow")
__pydantic_extra__: dict[str, Any]
cached_tokens: Optional[int] = 0
text_tokens: Optional[int] = 0
audio_tokens: Optional[int] = 0
class Config:
"""Pydantic configuration for TokenDetails."""
extra = "allow"
class Usage(BaseModel):
"""Token usage statistics for a response.

View File

@@ -10,11 +10,11 @@ Methods that wrap the Daily API to create rooms, check room URLs, and get meetin
"""
import time
from typing import Dict, List, Literal, Optional
from typing import Any, Dict, List, Literal, Optional
from urllib.parse import urlparse
import aiohttp
from pydantic import BaseModel, Field, ValidationError
from pydantic import BaseModel, ConfigDict, Field, ValidationError
class DailyRoomSipParams(BaseModel):
@@ -77,7 +77,7 @@ class TranscriptionBucketConfig(BaseModel):
allow_api_access: bool = False
class DailyRoomProperties(BaseModel, extra="allow"):
class DailyRoomProperties(BaseModel):
"""Properties for configuring a Daily room.
Reference: https://docs.daily.co/reference/rest-api/rooms/create-room#properties
@@ -100,6 +100,11 @@ class DailyRoomProperties(BaseModel, extra="allow"):
start_video_off: Whether video is off by default.
"""
model_config = ConfigDict(extra="allow")
# Pydantic v2.12+ requires explicit annotation for extra fields
__pydantic_extra__: dict[str, Any]
exp: Optional[float] = None
enable_chat: bool = False
enable_prejoin_ui: bool = False
@@ -113,7 +118,7 @@ class DailyRoomProperties(BaseModel, extra="allow"):
recordings_bucket: Optional[RecordingsBucketConfig] = None
transcription_bucket: Optional[TranscriptionBucketConfig] = None
sip: Optional[DailyRoomSipParams] = None
sip_uri: Optional[dict] = None
sip_uri: Optional[Dict[str, Any]] = None
start_video_off: bool = False
@property
@@ -203,7 +208,7 @@ class DailyMeetingTokenProperties(BaseModel):
enable_recording: Optional[Literal["cloud", "local", "raw-tracks"]] = None
enable_prejoin_ui: Optional[bool] = None
start_cloud_recording: Optional[bool] = None
permissions: Optional[dict] = None
permissions: Optional[Dict[str, Any]] = None
class DailyMeetingTokenParams(BaseModel):