fix(model-fallback): retry forbidden provider errors

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
Choi Kijin / 최 기진 / チョイ キジン
2026-04-28 15:29:33 +09:00
parent 613e4a6c12
commit 25548f2561
6 changed files with 59 additions and 29 deletions
@@ -251,24 +251,24 @@ describe("extractErrorMessage", () => {
})
})
describe("#given complex error with data wrapper", () => {
test("extracts from error.data.message", () => {
const error = {
data: {
message: "data message",
},
}
expect(extractErrorMessage(error)).toBe("data message")
})
describe("#given complex error with data wrapper", () => {
test("extracts from error.data.message", () => {
const error = {
data: {
message: "data message",
},
}
expect(extractErrorMessage(error)).toBe("data message")
})
test("prefers top over nested-level message", () => {
const error = {
message: "top level",
data: { message: "nested" },
}
expect(extractErrorMessage(error)).toBe("top level")
})
})
test("prefers nested message over generic top-level message", () => {
const error = {
message: "Error",
data: { message: "Forbidden: Selected provider is forbidden" },
}
expect(extractErrorMessage(error)).toBe("Forbidden: Selected provider is forbidden")
})
})
describe("#given invalid inputs", () => {
test("returns undefined for null", () => {