litellm/litellm-rust
Yujong Lee a3ae1be8f2
feat(rust): one typed decline from core up to each host
Core used Unsupported(&str) in two enums plus a chat-only Unsupported struct, and
the SDK bridge turned a core decline into a terminal ValueError instead of falling
back. Some response transforms also raised Unsupported after the provider answered

A Decline in core-utils now means "nothing was sent, another host may serve this
as is". llms::Error and inference::Error carry it as Declined, the From impl keeps
it, and inference::Error::declined() is an exhaustive match. after_send() moves
from the chat handler into inference so every route collapses errors raised while
normalizing a response, which keeps a decline from ever leaving after the send.
Response transforms that used Unsupported now report InvalidResponse

The bridge maps a decline to RustBridgeDeclined before the route's public
exception mapping, so runtime.py falls back to legacy Python. OCR's Unsupported
was never raised and is gone
2026-10-20 20:19:08 -07:00
..
.agents/skills refactor(rust): derive strum VariantArray and string conversions (#45434) 2026-10-08 21:24:49 +00:00
crates feat(rust): one typed decline from core up to each host 2026-10-20 20:19:08 -07:00
docs/adrs docs(rust): add ADRs for the Rust core (#45205) 2026-10-08 10:21:56 -07:00
.gitignore feat: add LiteLLM Rust workspace with Mistral OCR bridge (#31033) 2026-06-23 13:16:47 -07:00
AGENTS.md feat(rust): add native OpenRouter Responses (#46000) 2026-10-15 11:02:03 -07:00
Cargo.lock feat(rust): encode LiteLLM response ids on native responses (#46572) 2026-10-18 20:52:34 -07:00
Cargo.toml refactor(host-python): run the Python driver as one async body (#46235) 2026-10-14 17:19:06 -07:00
clippy.toml feat(rust): add the MCP gateway (#43470) 2026-09-27 19:37:41 -07:00