fix(tui): preserve usage telemetry fields

This commit is contained in:
chengyongru
2026-08-25 01:04:25 +08:00
committed by chengyongru
parent 9895c23cb5
commit 8bb3828487
7 changed files with 105 additions and 14 deletions
+19 -2
View File
@@ -59,7 +59,12 @@ def test_session_context_tolerates_untrusted_summary_metadata() -> None:
def test_session_context_sanitizes_usage_metadata() -> None:
usage = LLMUsage.reported(input_tokens=120, output_tokens=8, total_tokens=175)
usage = LLMUsage.reported(
input_tokens=120,
output_tokens=8,
total_tokens=175,
cache_read_tokens=48,
).with_timing(generation_ms=400, ttft_ms=75)
session = Session(
key="websocket:context",
metadata={"_last_usage": usage.to_dict()},
@@ -67,4 +72,16 @@ def test_session_context_sanitizes_usage_metadata() -> None:
payload = session_context_payload(session)
assert payload["last_usage"] == usage.to_dict()
assert payload["last_usage"] == {
"prompt_tokens": 120,
"completion_tokens": 8,
"total_tokens": 175,
"context_tokens": 120,
"cached_tokens": 48,
"request_count": 1,
"estimated_tokens": 0,
"generation_ms": 400,
"measured_completion_tokens": 8,
"ttft_ms": 75,
"timed_requests": 1,
}