From 2e55105020d45823ed210798773d327db0cd1d4b Mon Sep 17 00:00:00 2001 From: Venkat Donavalli Date: Wed, 24 Jun 2026 08:58:47 -0500 Subject: [PATCH] fix(bedrock/claude_platform): resolve reportArgumentType type error Rename _resolve_unsupported_override -> resolve_unsupported_override (used cross-module, so underscore prefix triggered reportPrivateUsage) and accept a Protocol type instead of bare dict so GenericLiteLLMParams satisfies the type checker without a cast. --- litellm/llms/bedrock/claude_platform/common_utils.py | 12 ++++++++---- .../claude_platform/messages_transformation.py | 4 ++-- .../llms/bedrock/claude_platform/transformation.py | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/litellm/llms/bedrock/claude_platform/common_utils.py b/litellm/llms/bedrock/claude_platform/common_utils.py index 9dc57119358..f02ade6be75 100644 --- a/litellm/llms/bedrock/claude_platform/common_utils.py +++ b/litellm/llms/bedrock/claude_platform/common_utils.py @@ -1,8 +1,12 @@ -from typing import Literal, Optional, Tuple +from typing import Literal, Optional, Protocol, Tuple import litellm from litellm._logging import verbose_logger from litellm.llms.bedrock.base_aws_llm import BaseAWSLLM + + +class _SupportsGet(Protocol): + def get(self, key: str, default: object = None) -> object: ... from litellm.secret_managers.main import get_secret_str CLAUDE_PLATFORM_SERVICE_NAME: Literal["aws-external-anthropic"] = ( @@ -74,8 +78,8 @@ def filter_claude_platform_request_body( } -def _resolve_unsupported_override( - litellm_params: dict, +def resolve_unsupported_override( + litellm_params: _SupportsGet, ) -> Optional[frozenset[str]]: """Read ``claude_platform_unsupported_params`` from litellm_params. @@ -87,7 +91,7 @@ def _resolve_unsupported_override( if raw is None: return None if isinstance(raw, (list, set, frozenset, tuple)): - return frozenset(raw) + return frozenset(str(item) for item in raw) return None diff --git a/litellm/llms/bedrock/claude_platform/messages_transformation.py b/litellm/llms/bedrock/claude_platform/messages_transformation.py index 5b9f7c2c7c2..778c8165790 100644 --- a/litellm/llms/bedrock/claude_platform/messages_transformation.py +++ b/litellm/llms/bedrock/claude_platform/messages_transformation.py @@ -10,7 +10,7 @@ from litellm.types.router import GenericLiteLLMParams from .common_utils import ( BedrockClaudePlatformMixin, - _resolve_unsupported_override, + resolve_unsupported_override, filter_claude_platform_request_body, strip_claude_platform_route, ) @@ -67,7 +67,7 @@ class BedrockClaudePlatformMessagesConfig( litellm_params: GenericLiteLLMParams, headers: dict, ) -> Dict: - unsupported_override = _resolve_unsupported_override(litellm_params) + unsupported_override = resolve_unsupported_override(litellm_params) anthropic_messages_optional_request_params = ( filter_claude_platform_request_body( anthropic_messages_optional_request_params, diff --git a/litellm/llms/bedrock/claude_platform/transformation.py b/litellm/llms/bedrock/claude_platform/transformation.py index 1b2e747db0a..e37c2f03aeb 100644 --- a/litellm/llms/bedrock/claude_platform/transformation.py +++ b/litellm/llms/bedrock/claude_platform/transformation.py @@ -7,7 +7,7 @@ from litellm.types.llms.openai import AllMessageValues from .common_utils import ( BedrockClaudePlatformMixin, - _resolve_unsupported_override, + resolve_unsupported_override, filter_claude_platform_request_body, ) @@ -94,7 +94,7 @@ class BedrockClaudePlatformConfig(BedrockClaudePlatformMixin, AnthropicConfig): litellm_params: dict, headers: dict, ) -> dict: - unsupported_override = _resolve_unsupported_override(litellm_params) + unsupported_override = resolve_unsupported_override(litellm_params) optional_params = filter_claude_platform_request_body( optional_params, unsupported_override=unsupported_override )