7 Commits

Author SHA1 Message Date
sususu
0f69f09a70 fix(logging): exclude HTTP 499 and client cancellations from forced error logs 2026-08-19 18:58:47 +08:00
sususu
9c8e4a07e6 fix(auth): prioritize rate-limit status over error body 2026-08-10 14:50:40 +08:00
sususu
d0d77182ee fix(auth): rotate DeepSeek authentication failures 2026-08-10 14:17:15 +08:00
sususu
45ffd115fd fix(auth): rotate keys after DeepSeek insufficient balance 2026-08-10 10:13:29 +08:00
Luis Pater
4b3cc55cdc fix(cliproxy): centralize client error status mapping and apply context cancellation/deadline HTTP codes
Closes: #4601
2026-08-08 04:53:34 +08:00
sususu
579f5e30fb fix(auth): rotate credentials for unknown upstream failures
Stop treating an upstream 500 carrying "status":"UNKNOWN" as a request fault. It is an internal upstream failure, so the request now falls through to the next credential instead of failing immediately, and the resulting cooldown lands on the failing credential and model pair only, leaving sibling models on that credential selectable.

Move the store=false item-miss detection into the shared client-error package. The upstream sends that 404 as plain text rather than a JSON error body, so the structured identifiers could never match it and only the conductor recognized it. The proxy now reports it to the client, which is the only party able to rebuild the request without the stale item reference; a reconnect resends the full input and the conversation continues unchanged.
2026-08-06 20:49:23 +08:00
sususu
c1d69e7b47 fix(auth): avoid penalizing credentials for client faults 2026-08-06 20:49:23 +08:00