* feat: capture BYOK upstream inference cost per call
OpenRouter's usage.cost on a BYOK request is only the credit charge, so a
miner using their own provider key reported near-zero spend. Record
usage.cost_details.upstream_inference_cost beside it as
inference_byok_cost_usd / inference_byok_requests (and per-model
byok_cost_usd / byok_requests) through InferenceStats, the sandbox stats
reader and merge, and the completion payload's episode summaries.
inference_cost_usd keeps its credit-only meaning.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* fix: count zero-charge BYOK calls via usage.is_byok
A successful call counts toward inference_byok_requests (and per-model
byok_requests) when usage.is_byok is True (strict bool) or
upstream_inference_cost > 0, so free-model BYOK calls are not dropped.
inference_byok_cost_usd stays the summed upstream amount.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>