// HTTP status codes export const HTTP_STATUS = { BAD_REQUEST: 400, UNAUTHORIZED: 401, PAYMENT_REQUIRED: 402, FORBIDDEN: 403, NOT_FOUND: 404, NOT_ACCEPTABLE: 406, REQUEST_TIMEOUT: 408, RATE_LIMITED: 429, SERVER_ERROR: 500, BAD_GATEWAY: 502, SERVICE_UNAVAILABLE: 503, GATEWAY_TIMEOUT: 504 }; // Re-export error config (backward compat) export { ERROR_TYPES, DEFAULT_ERROR_MESSAGES, BACKOFF_CONFIG, COOLDOWN_MS } from "./errorConfig.js"; // Cache TTLs (seconds) export const CACHE_TTL = { userInfo: 300, // 5 minutes modelAlias: 3600 // 1 hour }; // Memory management config export const MEMORY_CONFIG = { sessionTtlMs: 2 * 60 * 60 * 1000, sessionCleanupIntervalMs: 30 * 60 * 1000, dnsCacheTtlMs: 5 * 60 * 1000, proxyDispatchersMaxSize: 20, }; // Default token limits export const DEFAULT_MAX_TOKENS = 64000; export const DEFAULT_MIN_TOKENS = 32000; // Retry config for 429 responses (legacy - kept for backward compatibility) export const RETRY_CONFIG = { maxAttempts: 2, delayMs: 2000 }; // Default retry config by status code (number of retry attempts) export const DEFAULT_RETRY_CONFIG = { 429: 0, // Rate limit - no retry, use account fallback instead 503: 1, // Service unavailable - retry 1 time (transient) 502: 1 // Bad gateway - retry 1 time (transient) }; // Requests containing these texts will bypass provider export const SKIP_PATTERNS = [ "Please write a 5-10 word title for the following conversation:" ];