mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-15 09:12:18 +00:00
* feat(decisions): support Vercel AI Gateway decision models * test(decisions): cover Vercel AI Gateway dispatch through the proxy * feat(decisions): add Vercel AI Gateway cost map rows for Jev * fix(decisions): bill Vercel AI Gateway decisions at the charge Vercel reports Vercel returns the charge for every call under provider_metadata.gateway.cost, already net of cache discounts, so unpriced evaluation models and luna cache hits now bill what Vercel charged instead of zero or the full input rate. Jev 1.14.0 and the jev alias also take box questions, as Vercel serves them * fix(decisions): bill Vercel gateway charges with margin and BYOK, forward providerOptions Decisions now records a provider's reported charge as upstream_usage_cost, so the operator's cost discount and margin apply to it like any other provider-billed cost. Vercel calls served on the caller's own provider key bill marketCost on top of the gateway fee, the cache split comes from the upstream usage Vercel nests under provider_metadata, providerOptions reach the gateway, remote images are inlined, and typesafe-ai/jev, which reads text only, refuses or drops images * fix(decisions): stop forwarding caller providerOptions to Vercel and send Jev images Decisions no longer sends a caller's providerOptions to Vercel. Gateway routing and provider keys are set on the Vercel team instead. Vercel serves typesafe-ai/jev images at 768x768 (the earlier 400 came from a 96x96 image TypeSafe rejects for its size), so the Jev rows read images and the per-model image refusal is removed. * fix(decisions): report provider charges on the cost header and read Vercel's cache split from the serving provider Decisions goes back to reporting a provider's own charge through the response cost header, the way main does for OpenRouter. Moving it onto upstream_usage_cost dropped every cost header on free calls, priced base_model deployments from the cost map, and put the margin in the response header but not in the SystemOne body cost. Vercel's cache split now comes from the provider_metadata entry of the provider that served the call, and only when that entry reports input_tokens_details. Any credentialType value is accepted. The Jev 1.13.0 and 1.14.0 rows record their image probes. * test(decisions): type the async image fetch fixture in the Vercel inline image test --------- Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_endpoints.py | ||