litellm/tests/integration/cost_calculation/cases
devin-ai-integration[bot] 184ec7b894
fix(vertex_ai): build the cachedContents collection URL under a custom api_base (#44783)
* fix(gemini): use collection endpoint for custom context cache

* fix(vertex_ai): build the cachedContents collection URL under a custom api_base

* fix(vertex_ai): keep a gateway prefix that contains /publishers/

* test(integration): expect the cachedContents collection URL on a custom Gemini api_base

* fix(vertex_ai): cut cache collection URLs at the base's location, graft a mount prefix

* fix(vertex_ai): cache under a publisher model api_base in that model's location

A Vertex AI api_base that names an endpoint or no model keeps its old cache URL, so
no cache is created that the chat call cannot use. The cache body takes its project and
location from the api_base model, matching the collection URL.

* fix(vertex_ai): cache for the api_base's model and skip caching on a Gemini v1 base

A Vertex api_base naming a publisher model now gives the cache its model as well as its project and location, so the cache matches the model generateContent calls. A Gemini api_base ending in /v1 skips context caching, since the v1 API has no cachedContents and rejects the cachedContent field.

* fix(vertex_ai): check the cache token minimum against the api_base's model

The cache is created for the model a publisher-model api_base names, so the minimum prompt size now comes from that model too. A prompt below its minimum is sent uncached instead of failing at cache create.

* fix(vertex_ai): use the stricter cache minimum and send a Gemini base's 404 uncached

---------

Co-authored-by: paulo037 <paulo.h.carneiro.18@gmail.com>
Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
2026-10-29 03:46:35 -07:00
..
__init__.py test(integration): move the openai cost tracking cases from cost_tracking_cases.json to CostTrackingTestCase literals (#45879) 2026-10-10 23:29:23 +00:00
anthropic.py test(cost): run azure_ai claude bridge pairs, add anthropic usage speed and vertex gemini audio priority price (#47582) 2026-10-20 17:10:16 +00:00
azure.py test(cost): add tier 1 cost tracking cells and sync usage shapes for 2026-10-17 (#47141) 2026-10-17 11:11:46 -07:00
batch_realtime.py test(integration): move the openai cost tracking cases from cost_tracking_cases.json to CostTrackingTestCase literals (#45879) 2026-10-10 23:29:23 +00:00
bedrock_chat_completions.py test(cost): add xai grok-4.7, Bedrock runtime chat completions and Bedrock Mantle cost cases (#46154) 2026-10-13 09:06:19 -07:00
bedrock_converse.py test(cost): add tier 1 cost tracking cells and sync usage shapes for 2026-10-17 (#47141) 2026-10-17 11:11:46 -07:00
bedrock_mantle.py test(cost): add tier 1 cost tracking cells and sync usage shapes for 2026-10-17 (#47141) 2026-10-17 11:11:46 -07:00
decisions.py test(decisions): audit #47508 (#48777) 2026-10-28 04:38:21 -07:00
fireworks_ai.py test(cost): pin litellm's own prompt count over a tool-call history when the stream carries no usage (#46710) 2026-10-15 17:47:43 +00:00
gemini.py fix(vertex_ai): build the cachedContents collection URL under a custom api_base (#44783) 2026-10-29 03:46:35 -07:00
misc.py test(cost): add tier 1 cost tracking cells and sync usage shapes for 2026-10-17 (#47141) 2026-10-17 11:11:46 -07:00
openai.py feat(cost): bill openai 12-hour prompt cache writes at their own rate (#48088) 2026-10-24 09:07:02 -07:00
together_ai.py test(integration): move the openai cost tracking cases from cost_tracking_cases.json to CostTrackingTestCase literals (#45879) 2026-10-10 23:29:23 +00:00
vertex_ai.py test(integration): repair seven stale integration tests on main (#47600) 2026-10-20 11:21:04 -07:00
xai.py fix(cost): split xai spend rows across input and output instead of booking the total as output (#46320) 2026-10-14 17:02:00 -07:00