From 71fc078c246533b44b0dc15c0da780f01e38bb47 Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Mon, 23 Feb 2026 16:55:11 -0500 Subject: [PATCH] Refine ServiceSettings docstring: clarify NOT_GIVEN semantics and fix frame reference Use wildcard `*UpdateSettingsFrame` to cover all frame types. Clarify that NOT_GIVEN only appears in update deltas, not in the service's current settings state. --- src/pipecat/services/settings.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pipecat/services/settings.py b/src/pipecat/services/settings.py index 1033305c1..4664ecd39 100644 --- a/src/pipecat/services/settings.py +++ b/src/pipecat/services/settings.py @@ -98,11 +98,13 @@ class ServiceSettings: be changed **while the pipeline is running** (e.g. switching the model or changing the voice). They are *not* meant to capture every constructor parameter — only those that support live updates via - ``UpdateSettingsFrame``. + ``*UpdateSettingsFrame``. Every AI service type (LLM, TTS, STT) extends this with its own fields. Fields default to ``NOT_GIVEN`` so that an instance can represent either - the full current state **or** a sparse update delta. + the full current state **or** a sparse update delta. Note that in the full + current state, **all fields will be given** (i.e. ``NOT_GIVEN`` is reserved + for update deltas). Parameters: model: The model identifier used by the service.