Change _warn_deprecated_param to accept type references instead of strings

Update all ~192 call sites across 84 service files to pass class references
(e.g. `CartesiaTTSSettings`) instead of string names (`"CartesiaTTSSettings"`)
to `_warn_deprecated_param()`. This enables better IDE refactoring support.

Also fix `from_mapping` return type annotations in 5 settings subclasses to
use `typing.Self` instead of forward reference strings.
This commit is contained in:
Mark Backman
2026-03-03 19:52:09 -05:00
parent bc2843e30a
commit 07f1d0cd96
82 changed files with 2321 additions and 1321 deletions

View File

@@ -148,16 +148,23 @@ class GradiumSTTService(WebsocketSTTService):
stacklevel=2,
)
if params is not None:
_warn_deprecated_param("params", "GradiumSTTSettings")
_params = params or GradiumSTTService.InputParams()
# 1. Initialize default_settings with hardcoded defaults
default_settings = GradiumSTTSettings(
model=None,
language=_params.language,
delay_in_frames=_params.delay_in_frames or None,
language=None,
delay_in_frames=None,
)
# 2. (no deprecated direct args for this service)
# 3. Apply params overrides — only if settings not provided
if params is not None:
_warn_deprecated_param("params", GradiumSTTSettings)
if not settings:
default_settings.language = params.language
default_settings.delay_in_frames = params.delay_in_frames
# 4. Apply settings delta (canonical API, always wins)
if settings is not None:
default_settings.apply_update(settings)