feat: deferred items — arena token API + UI, ToolShim docs
- Arena API: token_breakdown selected in contestant query - ArenaPane: token category breakdown bar (s/u/a/t/r) in expanded contestant view - apps/server/CLAUDE.md: document tool-shim and loop-detectors
This commit is contained in:
@@ -218,6 +218,16 @@ function ContestantRow({
|
||||
|
||||
{isExpanded && (
|
||||
<div className="border-t border-border/50 bg-muted/10 max-h-[55vh] overflow-y-auto">
|
||||
{data.token_breakdown && (
|
||||
<div className="flex items-center gap-1.5 px-3 py-2 text-xs text-muted-foreground border-b border-border/30">
|
||||
{data.token_breakdown.system > 0 && <span title="system">{data.token_breakdown.system}s</span>}
|
||||
{data.token_breakdown.user > 0 && <span title="user">{data.token_breakdown.user}u</span>}
|
||||
{data.token_breakdown.assistant > 0 && <span title="assistant">{data.token_breakdown.assistant}a</span>}
|
||||
{data.token_breakdown.tools > 0 && <span title="tools">{data.token_breakdown.tools}t</span>}
|
||||
{data.token_breakdown.reasoning > 0 && <span title="reasoning" className="text-amber-500">{data.token_breakdown.reasoning}r</span>}
|
||||
{data.token_breakdown.total > 0 && <span className="font-medium tabular-nums ml-1">∑{data.token_breakdown.total}</span>}
|
||||
</div>
|
||||
)}
|
||||
{output.length === 0 ? (
|
||||
<div className="flex items-center justify-center py-6 text-sm text-muted-foreground">
|
||||
{data.status === 'queued'
|
||||
|
||||
Reference in New Issue
Block a user