| 22 | |
| 23 | @dataclass(frozen=True, slots=True) |
| 24 | class UsageMetrics: |
| 25 | input_tokens_total: int |
| 26 | input_tokens_uncached: int |
| 27 | output_tokens: int |
| 28 | cache_read_input_tokens: int = 0 |
| 29 | cache_write_input_tokens: int = 0 |
| 30 | total_tokens: int = 0 |
| 31 | ttft_ms: float | None = None |
| 32 | tps: float | None = None |
| 33 | actual_cost: float | None = None |
| 34 | input_cost_multiplier: float = 1.0 |
| 35 | cache_hit_ratio: float = 0.0 |
| 36 | |
| 37 | |
| 38 | def provider_family_for_model( |
no outgoing calls
no test coverage detected