mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-04-08 12:13:36 +00:00
refactor: remove dead _error_response wrapper in Anthropic provider
Fold _error_response back into _handle_error to match OpenAI/Azure convention. Update all call sites and tests accordingly. Made-with: Cursor
This commit is contained in:
parent
b575aed20e
commit
aeba9a23e6
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user