99 """Lossless JSON-serialisation of an ``IterationStat``.
101 Converts the ``tools`` tuple to a list for JSON compatibility.
102 Returns a single line (no indentation).
108 "effort": stat.effort,
109 "tools": list(stat.tools),
110 "prompt_tokens": stat.prompt_tokens,
111 "completion_tokens": stat.completion_tokens,
112 "cache_hit_tokens": stat.cache_hit_tokens,
113 "cache_miss_tokens": stat.cache_miss_tokens,
114 "dur_ms": stat.dur_ms,
116 return json.dumps(d, ensure_ascii=
False, sort_keys=
False)