fix(bedrock_mantle): drop litellm-minted reasoning items before a Mantle Responses call

This commit is contained in:
mateo-berri 2026-11-05 22:33:57 -08:00
parent da432ed09e
commit 4a650e7cea
2 changed files with 9 additions and 2 deletions

View file

@ -78,7 +78,7 @@ _MODEL_FAMILIES_REJECTING_TOP_LEVEL_SCHEMA_COMBINATORS: Final = ("gpt-4", "gpt-3
_PROVIDERS_WITH_OPENAI_SCHEMA_VALIDATOR: Final = frozenset({LlmProviders.AZURE, LlmProviders.OPENAI})
_PROVIDERS_VALIDATING_TOOL_CALL_ITEM_IDS: Final = frozenset({LlmProviders.AZURE, LlmProviders.OPENAI})
_PROVIDERS_REPLAYING_ONLY_THEIR_OWN_REASONING: Final = frozenset(
{LlmProviders.AZURE, LlmProviders.BEDROCK, LlmProviders.OPENAI}
{LlmProviders.AZURE, LlmProviders.BEDROCK, LlmProviders.BEDROCK_MANTLE, LlmProviders.OPENAI}
)
_ROLES_READING_PROMPT_CACHE_BREAKPOINTS: Final = frozenset({"system", "developer", "user"})
_PART_TYPES_READING_PROMPT_CACHE_BREAKPOINTS: Final = frozenset({"input_text", "input_image", "input_file"})

View file

@ -18,6 +18,7 @@ from litellm.llms.azure.responses.transformation import AzureOpenAIResponsesAPIC
from litellm.llms.azure_ai.responses.transformation import AzureAIResponsesAPIConfig
from litellm.llms.base_llm.responses.transformation import BaseResponsesAPIConfig
from litellm.llms.bedrock.responses.transformation import BedrockOpenAIResponsesConfig
from litellm.llms.bedrock_mantle.responses.transformation import BedrockMantleResponsesAPIConfig
from litellm.llms.hosted_vllm.responses.transformation import HostedVLLMResponsesAPIConfig
from litellm.llms.openai.responses.transformation import OpenAIResponsesAPIConfig
from litellm.llms.xai.responses.transformation import XAIResponsesAPIConfig
@ -1352,7 +1353,13 @@ class TestOpenAIResponsesAPIConfig:
return list(bridged.output)
@pytest.mark.parametrize(
"config", [OpenAIResponsesAPIConfig(), AzureOpenAIResponsesAPIConfig(), BedrockOpenAIResponsesConfig()]
"config",
[
OpenAIResponsesAPIConfig(),
AzureOpenAIResponsesAPIConfig(),
BedrockOpenAIResponsesConfig(),
BedrockMantleResponsesAPIConfig(),
],
)
def test_claude_reasoning_minted_by_the_bridge_is_dropped_before_the_history_reaches_openai(self, config):
saved_claude_turn = json.loads(