From 6a55bbcd2332278e277888a0d2e5111ecc2e25d5 Mon Sep 17 00:00:00 2001 From: Abhinav Kumar Date: Mon, 7 Jul 2025 21:20:25 +0530 Subject: [PATCH] fix: prevent LITELLM.EXTRA_BODY from overriding existing parameters in LiteLLMAIHandler --- pr_agent/algo/ai_handlers/litellm_ai_handler.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pr_agent/algo/ai_handlers/litellm_ai_handler.py b/pr_agent/algo/ai_handlers/litellm_ai_handler.py index ecb84ea7..14d98546 100644 --- a/pr_agent/algo/ai_handlers/litellm_ai_handler.py +++ b/pr_agent/algo/ai_handlers/litellm_ai_handler.py @@ -365,11 +365,14 @@ class LiteLLMAIHandler(BaseAiHandler): kwargs["extra_headers"] = litellm_extra_headers # Support for custom OpenAI body fields (e.g., Flex Processing) - if get_settings().get("LITELLM.EXTRA_BODY", None): + if get_settings().litellm.extra_body: try: litellm_extra_body = json.loads(get_settings().litellm.extra_body) if not isinstance(litellm_extra_body, dict): raise ValueError("LITELLM.EXTRA_BODY must be a JSON object") + colliding_keys = kwargs.keys() & litellm_extra_body.keys() + if colliding_keys: + raise ValueError(f"LITELLM.EXTRA_BODY cannot override existing parameters: {', '.join(colliding_keys)}") kwargs.update(litellm_extra_body) except json.JSONDecodeError as e: raise ValueError(f"LITELLM.EXTRA_BODY contains invalid JSON: {str(e)}")