fix(model): treat quota errors as rate limits
This commit is contained in:
@@ -26,6 +26,14 @@ describe("isRateLimitAssistantError", () => {
|
|||||||
expect(isRateLimitAssistantError(msg)).toBe(true);
|
expect(isRateLimitAssistantError(msg)).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("detects quota exceeded messages", () => {
|
||||||
|
const msg = asAssistant({
|
||||||
|
errorMessage:
|
||||||
|
"You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.",
|
||||||
|
});
|
||||||
|
expect(isRateLimitAssistantError(msg)).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
it("returns false for non-error messages", () => {
|
it("returns false for non-error messages", () => {
|
||||||
const msg = asAssistant({
|
const msg = asAssistant({
|
||||||
stopReason: "end_turn",
|
stopReason: "end_turn",
|
||||||
|
|||||||
@@ -117,7 +117,10 @@ export function isRateLimitAssistantError(
|
|||||||
if (!msg || msg.stopReason !== "error") return false;
|
if (!msg || msg.stopReason !== "error") return false;
|
||||||
const raw = (msg.errorMessage ?? "").toLowerCase();
|
const raw = (msg.errorMessage ?? "").toLowerCase();
|
||||||
if (!raw) return false;
|
if (!raw) return false;
|
||||||
return /rate[_ ]limit|too many requests|429/.test(raw);
|
return (
|
||||||
|
/rate[_ ]limit|too many requests|429/.test(raw) ||
|
||||||
|
raw.includes("exceeded your current quota")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractSupportedValues(raw: string): string[] {
|
function extractSupportedValues(raw: string): string[] {
|
||||||
|
|||||||
Reference in New Issue
Block a user