more avoiding mutable default constructor values

This commit is contained in:
Aleix Conchillo Flaqué
2025-05-25 21:00:35 -07:00
parent d1f2a5d04f
commit 7a767e680c
4 changed files with 8 additions and 8 deletions

View File

@@ -9,7 +9,7 @@ import time
from typing import Any, AsyncIterable, Dict, Iterable, List, Optional, Tuple, Type from typing import Any, AsyncIterable, Dict, Iterable, List, Optional, Tuple, Type
from loguru import logger from loguru import logger
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict, Field
from pipecat.clocks.base_clock import BaseClock from pipecat.clocks.base_clock import BaseClock
from pipecat.clocks.system_clock import SystemClock from pipecat.clocks.system_clock import SystemClock
@@ -69,10 +69,10 @@ class PipelineParams(BaseModel):
enable_metrics: bool = False enable_metrics: bool = False
enable_usage_metrics: bool = False enable_usage_metrics: bool = False
heartbeats_period_secs: float = HEARTBEAT_SECONDS heartbeats_period_secs: float = HEARTBEAT_SECONDS
observers: List[BaseObserver] = [] observers: List[BaseObserver] = Field(default_factory=list)
report_only_initial_ttfb: bool = False report_only_initial_ttfb: bool = False
send_initial_empty_metrics: bool = True send_initial_empty_metrics: bool = True
start_metadata: Dict[str, Any] = {} start_metadata: Dict[str, Any] = Field(default_factory=dict)
class PipelineTaskSource(FrameProcessor): class PipelineTaskSource(FrameProcessor):

View File

@@ -110,7 +110,7 @@ class RTVIActionArgument(BaseModel):
class RTVIAction(BaseModel): class RTVIAction(BaseModel):
service: str service: str
action: str action: str
arguments: List[RTVIActionArgument] = [] arguments: List[RTVIActionArgument] = Field(default_factory=list)
result: Literal["bool", "number", "string", "array", "object"] result: Literal["bool", "number", "string", "array", "object"]
handler: Callable[["RTVIProcessor", str, Dict[str, Any]], Awaitable[ActionResult]] = Field( handler: Callable[["RTVIProcessor", str, Dict[str, Any]], Awaitable[ActionResult]] = Field(
exclude=True exclude=True

View File

@@ -115,7 +115,7 @@ class ResponseProperties(BaseModel):
instructions: Optional[str] = None instructions: Optional[str] = None
voice: Optional[str] = None voice: Optional[str] = None
output_audio_format: Optional[Literal["pcm16", "g711_ulaw", "g711_alaw"]] = None output_audio_format: Optional[Literal["pcm16", "g711_ulaw", "g711_alaw"]] = None
tools: Optional[List[Dict]] = [] tools: Optional[List[Dict]] = Field(default_factory=list)
tool_choice: Optional[Literal["auto", "none", "required"]] = None tool_choice: Optional[Literal["auto", "none", "required"]] = None
temperature: Optional[float] = None temperature: Optional[float] = None
max_response_output_tokens: Optional[Union[int, Literal["inf"]]] = None max_response_output_tokens: Optional[Union[int, Literal["inf"]]] = None

View File

@@ -7,7 +7,7 @@
from abc import abstractmethod from abc import abstractmethod
from typing import List, Mapping, Optional from typing import List, Mapping, Optional
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict, Field
from pipecat.audio.filters.base_audio_filter import BaseAudioFilter from pipecat.audio.filters.base_audio_filter import BaseAudioFilter
from pipecat.audio.mixers.base_audio_mixer import BaseAudioMixer from pipecat.audio.mixers.base_audio_mixer import BaseAudioMixer
@@ -34,7 +34,7 @@ class TransportParams(BaseModel):
audio_out_bitrate: int = 96000 audio_out_bitrate: int = 96000
audio_out_10ms_chunks: int = 4 audio_out_10ms_chunks: int = 4
audio_out_mixer: Optional[BaseAudioMixer | Mapping[Optional[str], BaseAudioMixer]] = None audio_out_mixer: Optional[BaseAudioMixer | Mapping[Optional[str], BaseAudioMixer]] = None
audio_out_destinations: List[str] = [] audio_out_destinations: List[str] = Field(default_factory=list)
audio_in_enabled: bool = False audio_in_enabled: bool = False
audio_in_sample_rate: Optional[int] = None audio_in_sample_rate: Optional[int] = None
audio_in_channels: int = 1 audio_in_channels: int = 1
@@ -49,7 +49,7 @@ class TransportParams(BaseModel):
video_out_bitrate: int = 800000 video_out_bitrate: int = 800000
video_out_framerate: int = 30 video_out_framerate: int = 30
video_out_color_format: str = "RGB" video_out_color_format: str = "RGB"
video_out_destinations: List[str] = [] video_out_destinations: List[str] = Field(default_factory=list)
vad_enabled: bool = False vad_enabled: bool = False
vad_audio_passthrough: bool = False vad_audio_passthrough: bool = False
vad_analyzer: Optional[VADAnalyzer] = None vad_analyzer: Optional[VADAnalyzer] = None