import pkg from "../../../package.json" with { type: "json" }; // App configuration export const APP_CONFIG = { name: "9Router Proxy", description: "AI Infrastructure Management", version: pkg.version, }; // GitHub configuration export const GITHUB_CONFIG = { changelogUrl: "https://raw.githubusercontent.com/decolua/9router/refs/heads/master/CHANGELOG.md", donateUrl: "https://9router.com/api/donate", }; // Updater configuration export const UPDATER_CONFIG = { npmPackageName: "9router", installCmd: "npm i -g 9router", installCmdLatest: "npm i -g 9router@latest --prefer-online", shutdownCountdownSec: 3, exitDelayMs: 500, statusPort: 20129, statusPollIntervalMs: 1000, statusLogTailLines: 8, installRetries: 3, installRetryDelayMs: 5000, lingerAfterDoneMs: 30000, waitForExitMinMs: 5000, waitForExitMaxMs: 20000, waitForExitCheckMs: 500, appPort: 20128, }; // Theme configuration export const THEME_CONFIG = { storageKey: "theme", defaultTheme: "system", // "light" | "dark" | "system" }; // Subscription export const SUBSCRIPTION_CONFIG = { price: 1.0, currency: "USD", interval: "month", planName: "Pro Plan", }; // API endpoints export const API_ENDPOINTS = { users: "/api/users", providers: "/api/providers", payments: "/api/payments", auth: "/api/auth", }; export const CONSOLE_LOG_CONFIG = { maxLines: 200, pollIntervalMs: 1000, }; // Client-side store TTL: how long fetched data stays fresh before re-fetching export const CLIENT_STORE_TTL_MS = 60000; // Claude auto-ping: keep 5h window warm by sending a tiny request right after reset export const CLAUDE_AUTOPING_CONFIG = { settingsKey: "claudeAutoPing", // settings table field tickIntervalMs: 60000, // scheduler tick pingLeadMs: 5000, // fire once reset passes (within tolerance) pingModel: "claude-haiku-4-5-20251001", // cheapest model pingText: "hi", pingMaxTokens: 1, refreshAheadMs: 300000, // refetch usage when within 5min of reset fiveHourKey: "session (5h)", // quota key returned by usage handler }; // Re-export from providers.js for backward compatibility export { FREE_PROVIDERS, OAUTH_PROVIDERS, APIKEY_PROVIDERS, WEB_COOKIE_PROVIDERS, AI_PROVIDERS, AUTH_METHODS, } from "./providers.js"; // Re-export from models.js for backward compatibility export { PROVIDER_MODELS, AI_MODELS, } from "./models.js";