diff --git a/nanobot/providers/anthropic_provider.py b/nanobot/providers/anthropic_provider.py index 4b90080a0..7ed94a9ba 100644 --- a/nanobot/providers/anthropic_provider.py +++ b/nanobot/providers/anthropic_provider.py @@ -98,7 +98,7 @@ class AnthropicProvider(LLMProvider): return value if value > 0 else None @classmethod - def _error_response(cls, e: Exception) -> LLMResponse: + def _handle_error(cls, e: Exception) -> LLMResponse: response = getattr(e, "response", None) headers = getattr(response, "headers", None) payload = ( @@ -505,10 +505,6 @@ class AnthropicProvider(LLMProvider): # Public API # ------------------------------------------------------------------ - @classmethod - def _handle_error(cls, e: Exception) -> LLMResponse: - return cls._error_response(e) - async def chat( self, messages: list[dict[str, Any]], @@ -527,7 +523,7 @@ class AnthropicProvider(LLMProvider): response = await self._client.messages.create(**kwargs) return self._parse_response(response) except Exception as e: - return self._error_response(e) + return self._handle_error(e) async def chat_stream( self, @@ -573,7 +569,7 @@ class AnthropicProvider(LLMProvider): error_kind="timeout", ) except Exception as e: - return self._error_response(e) + return self._handle_error(e) def get_default_model(self) -> str: return self.default_model diff --git a/tests/providers/test_provider_error_metadata.py b/tests/providers/test_provider_error_metadata.py index 27f0eb0f1..ea2532acf 100644 --- a/tests/providers/test_provider_error_metadata.py +++ b/tests/providers/test_provider_error_metadata.py @@ -50,7 +50,7 @@ def test_openai_handle_error_marks_timeout_kind() -> None: assert response.error_kind == "timeout" -def test_anthropic_error_response_extracts_structured_metadata() -> None: +def test_anthropic_handle_error_extracts_structured_metadata() -> None: class FakeStatusError(Exception): pass @@ -62,7 +62,7 @@ def test_anthropic_error_response_extracts_structured_metadata() -> None: ) err.body = {"type": "error", "error": {"type": "rate_limit_error"}} - response = AnthropicProvider._error_response(err) + response = AnthropicProvider._handle_error(err) assert response.finish_reason == "error" assert response.error_status_code == 408 @@ -71,11 +71,11 @@ def test_anthropic_error_response_extracts_structured_metadata() -> None: assert response.error_should_retry is True -def test_anthropic_error_response_marks_connection_kind() -> None: +def test_anthropic_handle_error_marks_connection_kind() -> None: class FakeConnectionError(Exception): pass - response = AnthropicProvider._error_response(FakeConnectionError("connection")) + response = AnthropicProvider._handle_error(FakeConnectionError("connection")) assert response.finish_reason == "error" assert response.error_kind == "connection"