fix: ensure the alibaba provider errors are retried (#21355)

This commit is contained in:
Aiden Cline
2026-04-07 17:46:01 +00:00
committed by GitHub
parent 2549a38a71
commit 81bdffc81c
2 changed files with 32 additions and 0 deletions
@@ -145,6 +145,25 @@ describe("session.retry.retryable", () => {
expect(SessionRetry.retryable(error)).toBeUndefined()
})
test("retries plain text rate limit errors from Alibaba", () => {
const msg =
"Upstream error from Alibaba: Request rate increased too quickly. To ensure system stability, please adjust your client logic to scale requests more smoothly over time."
const error = wrap(msg)
expect(SessionRetry.retryable(error)).toBe(msg)
})
test("retries plain text rate limit errors", () => {
const msg = "Rate limit exceeded, please try again later"
const error = wrap(msg)
expect(SessionRetry.retryable(error)).toBe(msg)
})
test("retries too many requests in plain text", () => {
const msg = "Too many requests, please slow down"
const error = wrap(msg)
expect(SessionRetry.retryable(error)).toBe(msg)
})
test("does not retry context overflow errors", () => {
const error = new MessageV2.ContextOverflowError({
message: "Input exceeds context window of this model",