Expose Arena ELO sync in feature flags (#3821)

Adds ARENA_ELO_SYNC_ENABLED to the Dashboard Feature Flags registry (DB-overridable),
routes Arena ELO startup/status checks through the shared feature-flag resolver while
preserving the existing env fallback, and refreshes env docs (adds the missing
STREAM_READINESS_TIMEOUT_MS example) so env/doc sync stays green.

Integrated into release/v3.8.25.

Co-authored-by: R.D. <rogerproself@gmail.com>
This commit is contained in:
Randi
2026-06-14 07:45:02 -04:00
committed by GitHub
parent ebf06b5e6c
commit 31e4e46ef9
11 changed files with 143 additions and 41 deletions

View File

@@ -265,18 +265,18 @@ export async function registerNodejs(): Promise<void> {
console.warn("[STARTUP] Auto-refresh daemon failed to start (non-fatal):", msg);
}
// Arena ELO sync: model intelligence from the Arena AI leaderboard, powering the
// Free Provider Rankings page. On by default (opt out with ARENA_ELO_SYNC_ENABLED=false).
// Non-blocking — the initial sync is fire-and-forget and never fatal.
if (process.env.ARENA_ELO_SYNC_ENABLED !== "false") {
try {
const { initArenaEloSync } = await import("@/lib/arenaEloSync");
await initArenaEloSync();
try {
// Arena ELO sync: model intelligence from the Arena AI leaderboard, powering the
// Free Provider Rankings page. On by default; configurable from Dashboard Feature Flags.
// Non-blocking — the initial sync is fire-and-forget and never fatal.
const { initArenaEloSync } = await import("@/lib/arenaEloSync");
const started = await initArenaEloSync();
if (started) {
console.log("[STARTUP] Arena ELO sync initialized");
} catch (err: unknown) {
const msg = err instanceof Error ? err.message : String(err);
console.warn("[STARTUP] Arena ELO sync failed to start (non-fatal):", msg);
}
} catch (err: unknown) {
const msg = err instanceof Error ? err.message : String(err);
console.warn("[STARTUP] Arena ELO sync failed to start (non-fatal):", msg);
}
// Pricing sync: opt-in external pricing data (self-gated by PRICING_SYNC_ENABLED inside