From 4c9f866a32fc4ec3614e9c90e846ad0ca79a23b3 Mon Sep 17 00:00:00 2001 From: Chesars Date: Mon, 23 Mar 2026 11:48:23 -0300 Subject: [PATCH] fix: avoid mutating caller's dict and return None for unrecognised provider_specific_fields --- litellm/responses/format_mapping.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/litellm/responses/format_mapping.py b/litellm/responses/format_mapping.py index a26d462eea3..386a1cc4195 100644 --- a/litellm/responses/format_mapping.py +++ b/litellm/responses/format_mapping.py @@ -66,7 +66,7 @@ def normalize_provider_specific_fields(obj: Any) -> Optional[Dict[str, Any]]: return None if isinstance(psf, dict): return psf - return dict(psf) if hasattr(psf, "__dict__") else {} + return dict(psf) if hasattr(psf, "__dict__") else None def status_to_finish_reason(status: Optional[str]) -> str: @@ -189,13 +189,13 @@ def response_api_usage_to_chat_usage( response_api_usage: ResponseAPIUsage if isinstance(usage_input, dict): + usage_input = dict(usage_input) total_tokens = usage_input.get("total_tokens") if total_tokens is None: input_tokens = usage_input.get("input_tokens") output_tokens = usage_input.get("output_tokens") if input_tokens is not None and output_tokens is not None: - total_tokens = input_tokens + output_tokens - usage_input["total_tokens"] = total_tokens + usage_input["total_tokens"] = input_tokens + output_tokens response_api_usage = ResponseAPIUsage(**usage_input) else: response_api_usage = usage_input