From 1b960d3efec32795e8039e7ec4e214c66979dc10 Mon Sep 17 00:00:00 2001 From: Viktor Oreshkin Date: Fri, 23 Oct 2026 18:54:55 +0300 Subject: [PATCH] fix(openrouter): type embedding usage cost lookup Annotate usage as a read-only mapping before looking up cost so the empty fallback does not introduce unknown member or variable types Signed-off-by: Viktor Oreshkin --- litellm/llms/openrouter/embedding/transformation.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/litellm/llms/openrouter/embedding/transformation.py b/litellm/llms/openrouter/embedding/transformation.py index 61d6574cdd6..9307f3d80f4 100644 --- a/litellm/llms/openrouter/embedding/transformation.py +++ b/litellm/llms/openrouter/embedding/transformation.py @@ -8,6 +8,7 @@ Docs: https://openrouter.ai/docs """ import math +from collections.abc import Mapping from typing import TYPE_CHECKING, Any, Final import httpx @@ -138,7 +139,8 @@ class OpenrouterEmbeddingConfig(BaseEmbeddingConfig): model_response_object=model_response, response_type="embedding", ) - response_cost: Final[object] = (response_json.get("usage") or {}).get("cost") + usage: Final[Mapping[str, object]] = response_json.get("usage") or {} + response_cost: Final = usage.get("cost") if ( isinstance(response_cost, int | float) and not isinstance(response_cost, bool)