diff --git a/src/app_controller.py b/src/app_controller.py index 20081fe4..313238ba 100644 --- a/src/app_controller.py +++ b/src/app_controller.py @@ -2300,13 +2300,9 @@ class AppController: break if kind == 'response' and 'usage' in payload: + from src.openai_schemas import UsageStats as _US u = payload['usage'] - u_stats = models.UsageStats( - input_tokens=u.get('input_tokens', 0) or 0, - output_tokens=u.get('output_tokens', 0) or 0, - cache_read_tokens=u.get('cache_read_input_tokens', 0) or 0, - cache_creation_tokens=u.get('cache_creation_input_tokens', 0) or 0, - ) + u_stats = _US.from_dict(u) for k in ['input_tokens', 'output_tokens', 'cache_read_input_tokens', 'cache_creation_input_tokens', 'total_tokens']: if k in new_usage: new_usage[k] += u.get(k, 0) or 0 tier = comms_entry.source_tier