diff --git a/src/ii_agent/agents/models/google/interactions.py b/src/ii_agent/agents/models/google/interactions.py index a8578cc72..b06893497 100644 --- a/src/ii_agent/agents/models/google/interactions.py +++ b/src/ii_agent/agents/models/google/interactions.py @@ -978,7 +978,7 @@ def _get_metrics(self, response_usage: Usage) -> Metrics: metrics.reasoning_tokens = response_usage.total_thought_tokens or 0 metrics.total_tokens = response_usage.total_tokens - metrics.cache_read_tokens = response_usage.total_cached_tokens + metrics.cache_read_tokens = response_usage.total_cached_tokens or 0 # raw metrics metrics.additional_metrics = response_usage.model_dump() return metrics diff --git a/src/tests/unit/engine/test_v1_models_google_interactions.py b/src/tests/unit/engine/test_v1_models_google_interactions.py index 8e84dcbc3..2fbf42df6 100644 --- a/src/tests/unit/engine/test_v1_models_google_interactions.py +++ b/src/tests/unit/engine/test_v1_models_google_interactions.py @@ -773,6 +773,10 @@ def test_cache_read_tokens(self): gi = _make_gi() assert gi._get_metrics(_make_usage(cached_t=30)).cache_read_tokens == 30 + def test_cache_read_tokens_none(self): + gi = _make_gi() + assert gi._get_metrics(_make_usage(cached_t=None)).cache_read_tokens == 0 + def test_additional_metrics_populated(self): gi = _make_gi() assert gi._get_metrics(_make_usage()).additional_metrics is not None