fix: match hyphenated rate-limit prose in retry heuristics

This commit is contained in:
Christiaan Arnoldus
2026-07-30 18:55:05 +02:00
parent 411f28f118
commit 9245279de5
2 changed files with 13 additions and 1 deletions
@@ -226,6 +226,18 @@ describe("responses api terminal frames", () => {
expect(result.data.isRetryable).toBe(false)
})
test("retries hyphenated rate-limit prose", () => {
const payload = {
code: "upstream_error",
message: "openai/gpt-5.6-terra-pro is temporarily rate-limited upstream. Please retry shortly.",
}
const result = MessageV2.fromError(payload, { providerID: ProviderV2.ID.make("openai") })
expect(MessageV2.APIError.isInstance(result)).toBe(true)
if (!MessageV2.APIError.isInstance(result)) throw new Error("expected APIError")
expect(result.data.isRetryable).toBe(true)
})
test("ignores response.failed frames without an error payload", () => {
const payload = { type: "response.failed", response: { error: null, incomplete_details: null } }
const result = MessageV2.fromError(payload, { providerID: ProviderV2.ID.make("openai") })