You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
Unified MITM-aware retry policy across all provider families:get_chat_response on anthropic, gemini and mistral now retries connection failures with exponential backoff (wait_exponential, 4 attempts, ~30/60/120s waits), matching the openai family; the openai family's fixed 10/25/45s waits were replaced with the same exponential schedule. Long single-shot requests killed by TLS-inspecting corporate proxies (WinError 64 / connection reset) are now retried automatically instead of failing on the first attempt.
Rate limits (429) and transient server errors (5xx) retried on all provider families: anthropic retries RateLimitError/InternalServerError, gemini retries ServerError (5xx) via the decorator — its internal 429 loop with Retry-Info delays is unchanged, and the 5xx re-raise is scoped to the chat path so undecorated methods keep their user-facing diagnostics — mistral retries SDKError with status 429/>=500. After retries are exhausted the user gets a clear "connection interrupted" message instead of a generic error.
18 new tests covering retry-then-success per family, retry exhaustion, policy configuration, no-double-retry for gemini 429, and mistral predicate behavior; mutation-verified non-tautological.
README troubleshooting section for corporate TLS-inspecting proxies.