{# What a reply cost. Chips only, no wrapper: the same markup is swapped into the live bubble with innerHTML and rendered into the finished one, so the numbers cannot change shape when the stream ends. A tilde means the endpoint reported no token counts and these were worked out at about four characters per token. Nothing here is ever shown as exact when it is not. #} {% if metrics.has_anything %} {% if metrics.estimated %}~{% endif %}{{ metrics.total_tokens }} tokens {% if metrics.context_limit %} {# A width is data, not a design value: it is the measurement itself. #} {% if metrics.estimated %}~{% endif %}{{ metrics.percent }}% {% endif %} {% if metrics.tokens_per_second %} {% if metrics.estimated %}~{% endif %}{{ '%.1f' | format(metrics.tokens_per_second) }} tok/s {% endif %} {% endif %}