mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
99a7179e76
Previously, only timeout and network errors (matched via string patterns) were retried. HTTP 500 server errors from OpenRouter/OpenAI-compatible providers would fail the agent turn immediately when no model fallback candidate was available. This commit replaces the separate timeout/network retry branches with a unified transientLLMRetryReason() helper that: 1. Uses providers.ClassifyError() to detect server_error (HTTP >=500), timeout, network, and rate_limit errors 2. Falls back to the existing string-based detection for errors not classified by the provider A regression test (TestPipeline_CallLLM_HTTP5xxRetry) verifies that HTTP 500 errors are retried and recover successfully. This is a clean rebase of the approach originally proposed in #2768 by afjcjsbx.