mirror of
https://github.com/whit3rabbit/anyllm-proxy.git
synced 2026-09-21 16:00:49 +00:00
Refresh the LiteLLM provider/model catalog and pricing, and fix --write-rust-snapshot so it no longer clobbers the hand-maintained ANTHROPIC_ADAPTIVE_ONLY_THINKING_MODELS list. Running the generator previously overwrote the whole file and silently dropped that constant, breaking the build until it was hand-restored. - Pricing: refresh assets/model_pricing.json + proxy copy from LiteLLM (177 -> 169 entries; +claude-opus-5, gemini-3.5/3.6-flash, gemini-omni-flash-preview; -14 gpt-*-realtime*; price changes on gpt-5.6-luna, gpt-5.6-terra). - Snapshot: regenerate litellm_snapshot.rs; claude-opus-5 (released 2026-07-24) is now in the data-driven ADAPTIVE_THINKING / MAX / XHIGH lists from upstream, which matches its documented high/xhigh/max support. - Generator (the fix): emit ANTHROPIC_ADAPTIVE_ONLY_THINKING_MODELS from a new ANTHROPIC_ADAPTIVE_ONLY_THINKING Python constant in check_litellm_providers.py, so litellm_snapshot.rs is 100% generated and the constant survives every regeneration. Add claude-opus-5 and claude-sonnet-5, which reject thinking.type:"enabled"/budget_tokens with a 400 (adaptive-only) per Anthropic's "Configurations each model rejects" table. Not derivable from LiteLLM flags (extended_thinking is true for every thinking model), so it stays hand-curated in the script. - Tests: bump anthropic catalog count 23 -> 24; assert opus-5 and sonnet-5 require adaptive thinking (reject budget_tokens). - Docs: correct the stale "hand-maintained tail" gotcha in crates/providers/CLAUDE.md; add Opus 5/Sonnet 5 to the reject-list note. Verified: idempotent regen (two runs byte-identical), cargo fmt --check clean, cargo clippy (default features, as CI runs) clean, cargo test --workspace 1728 passed / 0 failed / 10 ignored (live-API). Co-Authored-By: Claude <noreply@anthropic.com>