From b8a51aae6d38b45ea3dc300fbf68a1771a938f9f Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Sat, 5 Sep 2026 17:27:34 -0700 Subject: [PATCH] fix(proxy): flatten published hub lists without a recursive walk --- litellm/repositories/config_repository.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/litellm/repositories/config_repository.py b/litellm/repositories/config_repository.py index 2c21eaf3237..8ec5e89a1f9 100644 --- a/litellm/repositories/config_repository.py +++ b/litellm/repositories/config_repository.py @@ -77,7 +77,6 @@ _CONFIG_ADVISORY_LOCK_SQL: Final = "SELECT pg_advisory_xact_lock(hashtext($1)) I _SETTINGS_ADAPTER: Final = TypeAdapter(dict[str, object]) _STRING_LIST_ADAPTER: Final = TypeAdapter(tuple[str, ...]) -_MAPPING_ADAPTER: Final = TypeAdapter(Mapping[object, object]) _ITEMS_ADAPTER: Final = TypeAdapter(tuple[object, ...]) @@ -117,10 +116,8 @@ def plain_settings(settings: Mapping[str, object]) -> dict[str, object]: def _plain_value(value: object) -> object: - if isinstance(value, Mapping): - return {key: _plain_value(item) for key, item in _MAPPING_ADAPTER.validate_python(value).items()} - if isinstance(value, (list, tuple)): - return [_plain_value(item) for item in _ITEMS_ADAPTER.validate_python(value)] + if isinstance(value, tuple): + return list(_ITEMS_ADAPTER.validate_python(value)) return value