Repository navigation
fix(lmarena): modernize Arena web provider + static Direct-chat catalog - #6280
diegosouzapw merged 3 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the LMArena provider integration to support the new direct-battle evaluation endpoint and handles the updated AI-SDK SSE stream prefixes. It introduces dynamic model discovery for LMArena by fetching and parsing the initial models directly from arena.ai, complete with caching and display-name-to-internal-ID mapping. Additionally, it refactors the UI validation flow to treat "unsupported" validation results as non-blocking warnings (rendered as a neutral "N/A" badge) rather than blocking errors, and updates LMArena credential hints to reflect Supabase SSR chunked cookies. The reviewer provided several constructive feedback items for open-sse/executors/lmarena.ts, including guarding against null/undefined request bodies in transformRequest, caching the active fetch promise in getLMArenaModels to prevent thundering herd issues, optimizing string trimming and redundant operations in SSE parsing, and adding a safety guard in parseLMArenaInitialModels to prevent slicing errors.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
de4c682 to
35e92a6
Compare
|
🔀 Cycle moved: base retargeted to |
93f643d to
3dc07e6
Compare
8c7e63f to
dba3357
Compare
4f0cf6f to
652c088
Compare
196f4bc to
065960d
Compare
|
@diegosouzapw I’d like to request a quick merge. It’s been five days, and I’ve done my best to ensure there are no conflicts with recent commits. |
065960d to
e19ac82
Compare
d299663 to
e0ddb8f
Compare
Update the lmarena provider for arena.ai (product rebranded from LMArena): - Route chat via arena.ai create-evaluation with Chrome TLS impersonation (tls-client-node) and optional browser-minted recaptchaV3Token. - Seed Text+Search (48) into the chat registry; seed Image (27) only into IMAGE_PROVIDERS. Disable live HTML model discovery; resolve public names to Arena UUIDs from the static TypeScript allowlist (no scrape JSON in-repo). - Soft-exclude 404/502 model ids; slow/stop bulk test-all probes for this provider. - Do not fold IMAGE_PROVIDERS/video specialty into the chat provider catalog when a chat registry already exists (lmarena/openai/xai). - Display name Arena (Free); keep wire id `lmarena` / alias `lma` for back-compat. - Theme-aware provider icons: arena-light.svg / arena-dark.svg. - Preserve split Supabase SSR cookie reconstruction for arena-auth-prod-v1.*.
…ider reference Fold the topaz image-only catalog entry's apiFormat/supportedEndpoints into the local-catalog test fixture (route now tags media-only providers per the lmarena PR's staticModels.ts change), regenerate PROVIDER_REFERENCE.md against the merged release providers.ts, and add the changelog fragment for cheaper-inference#6280. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…try (probe path) Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
835b311 to
31db0e6
Compare
c92bdd1
into
cheaper-inference:release/v3.8.47
|
@backryun thanks for the Arena web provider modernization — merged into release/v3.8.47 (fixture + fallback-suite aligned to the new registry entry). 🙏 |
Summary
Modernize the Arena web-session provider (formerly LMArena; wire id stays
lmarena) forarena.ai.https://arena.ai/nextjs-api/stream/create-evaluationwith Chrome TLS impersonation (tls-client-node) and optional browser-mintedrecaptchaV3Token.IMAGE_PROVIDERSonly (not the chat provider page)lmarena/openai/xai).arena-light.svg/arena-dark.svg.arena-auth-prod-v1.*.Wire / back-compat
lmarena(unchanged)lmaArena (Free)https://arena.aiValidation
Local examples:
Tests added / updated
tests/unit/lmarena-provider.test.tstests/unit/lmarena-split-cookie-4271.test.tstests/unit/provider-icon-arena-themed.test.tstests/unit/bailian-coding-plan-provider.test.ts(specialty no image dump)Reviewer notes
/v1/images/generationspath for Arena is out of scope unless follow-up.directModels.ts.