okami.mom/albedo
git clone https://git.nkp.pet/okami.mom/albedo
0a3eddd
main
1// A usage event's timing reaches the CLI under the daemon's keys. A key renamed 2// on one side would drop every turn's rate without an error. 3package daemon 4 5import ( 6"encoding/json" 7"testing" 8) 9 10func TestUsageEventKeepsTheRateTheDaemonReports (t * testing.T ) { 11raw := json .RawMessage (`{"type":"usage","sequence":1,"data":{"model":"m","observed_at":null,"prompt_tokens":10,"cached_prompt_tokens":null,"cache_write_tokens":null,"completion_tokens":100,"total_tokens":110,"elapsed_ms":2000,"tokens_per_second":50,"context_window_tokens":null,"cache_ttl_seconds":null,"cache_fade":[]}}` ) 12event ,err := decodeChatEvent (raw ) 13if err != nil { 14t .Fatal (err ) 15 } 16usage := event .Usage 17if usage == nil || usage .ElapsedMs == nil || * usage .ElapsedMs != 2000 || usage .TokensPerSecond == nil || * usage .TokensPerSecond != 50 { 18t .Fatalf ("usage event lost its timing: %+v" ,usage ) 19 } 20}