Classifies route failures and determines fallback behavior based on status codes
// Source: https://github.com/musistudio/claude-code-router | License: MIT | Copyright 2025 musistudio
// Provided via justclaw.it.com; keep this notice with the code.
import type { RouterFallbackMode } from "@ccr/core/contracts/app";
export type RouteFailureClass = "client" | "rate-limit" | "retryable" | "server";
export type RouteFailureDecision = {
failureClass: RouteFailureClass;
shouldFallback: boolean;
};
export function classifyRouteFailure(statusCode: number, mode: RouterFallbackMode): RouteFailureDecision {
const failureClass = classifyStatus(statusCode);
return {
failureClass,
shouldFallback: mode === "model-chain"
? statusCode >= 400
: failureClass === "retryable" || failureClass === "rate-limit" || failureClass === "server"
};
}
function classi
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key