fix(responses): preserve normalized logging messages

This commit is contained in:
Ivana Dunisijevic 2026-10-08 16:10:50 +02:00
parent 5935927d2a
commit 03fcf03e13
No known key found for this signature in database
2 changed files with 10 additions and 7 deletions

View file

@ -604,8 +604,9 @@ class OpenAIResponsesHandler(BaseTranslation):
await self._apply_guardrailed_texts(data, input_data, extracted, guardrail_to_apply, guardrailed_inputs)
if litellm_logging_obj is not None:
sanitized_input: Final = data.get("input")
litellm_logging_obj.messages = sanitized_input
litellm_logging_obj.model_call_details["messages"] = sanitized_input
sanitized_messages: Final = self.get_structured_messages(data) or []
litellm_logging_obj.messages = sanitized_messages
litellm_logging_obj.model_call_details["messages"] = sanitized_messages
litellm_logging_obj.model_call_details["input"] = sanitized_input
verbose_proxy_logger.debug("OpenAI Responses API: Processed input messages: %s", data.get("input"))
return data

View file

@ -210,13 +210,14 @@ class TestOpenAIResponsesHandlerInputProcessing:
assert result["model"] == "gpt-4"
@pytest.mark.asyncio
async def test_rewritten_input_replaces_logging_snapshot(self):
async def test_rewritten_input_refreshes_logging_snapshot(self):
handler = OpenAIResponsesHandler()
guardrail = MockGuardrail(guardrail_name="test")
logging_obj = MagicMock()
logging_obj.messages = "sensitive-value"
original_messages = [{"role": "user", "content": "sensitive-value"}]
logging_obj.messages = original_messages
logging_obj.model_call_details = {
"messages": "sensitive-value",
"messages": original_messages,
"input": "sensitive-value",
}
data = {"input": "sensitive-value", "model": "gpt-4"}
@ -224,8 +225,9 @@ class TestOpenAIResponsesHandlerInputProcessing:
result = await handler.process_input_messages(data, guardrail, logging_obj)
assert result["input"] == "sensitive-value [GUARDRAILED]"
assert logging_obj.messages == result["input"]
assert logging_obj.model_call_details["messages"] == result["input"]
sanitized_messages = [{"role": "user", "content": result["input"]}]
assert logging_obj.messages == sanitized_messages
assert logging_obj.model_call_details["messages"] == sanitized_messages
assert logging_obj.model_call_details["input"] == result["input"]
@pytest.mark.asyncio