Files
whit3rabbitandClaude 5d6a780c45 fix(providers): preserve adaptive-only list across snapshot regen
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>
2026-08-03 15:17:26 -05:00
..