openclaw/src/agents/pi-embedded-helpers.isfailovererrormessage.test.ts
Nathan Hangen 38f91f875b refactor(windows): re-apply guidance with minimal formatting changes
Addresses feedback about formatting noise by reverting system-prompt.ts and re-applying logic minimally. PR template removed (moved to separate PR).
2026-01-28 19:33:13 -05:00

28 lines
925 B
TypeScript

import { describe, expect, it } from "vitest";
import { isFailoverErrorMessage } from "./pi-embedded-helpers.js";
import { DEFAULT_AGENTS_FILENAME } from "./workspace.js";
const _makeFile = (overrides: Partial<WorkspaceBootstrapFile>): WorkspaceBootstrapFile => ({
name: DEFAULT_AGENTS_FILENAME,
path: "/tmp/AGENTS.md",
content: "",
missing: false,
...overrides,
});
describe("isFailoverErrorMessage", () => {
it("matches auth/rate/billing/timeout", () => {
const samples = [
"invalid api key",
"429 rate limit exceeded",
"No available auth profile for openai-codex (all in cooldown or unavailable).",
"Provider openai-codex is in cooldown (all profiles unavailable)",
"Your credit balance is too low",
"request timed out",
"invalid request format",
];
for (const sample of samples) {
expect(isFailoverErrorMessage(sample)).toBe(true);
}
});
});