diff --git a/frontend/packages/agent/src/agent.css b/frontend/packages/agent/src/agent.css index 8353f45d..6fda797d 100644 --- a/frontend/packages/agent/src/agent.css +++ b/frontend/packages/agent/src/agent.css @@ -947,3 +947,88 @@ pre.diff { color: var(--purple-dim); text-transform: uppercase; } + +/* ─── /stats page ────────────────────────────────────────────────────────── */ + +.stats-nav { + display: flex; + gap: 0.75rem; + align-items: baseline; + margin-bottom: 0.5rem; +} +.stats-nav a { color: var(--cyan); text-decoration: none; } +.stats-nav a:hover { text-decoration: underline; } + +.window-tabs { + display: flex; + gap: 0.4rem; + margin: 0.5rem 0 1rem; +} +.window-tabs button { + background: var(--bg-elev); + color: var(--fg); + border: 1px solid var(--border); + padding: 0.3rem 0.8rem; + font-family: inherit; + cursor: pointer; +} +.window-tabs button.active { + background: var(--purple-dim); + border-color: var(--purple); + color: var(--purple); +} + +.summary { + display: flex; + gap: 0.75rem; + flex-wrap: wrap; + margin-bottom: 1rem; +} +.summary .chip { + display: flex; + flex-direction: column; + justify-content: center; + align-items: stretch; + background: var(--bg-elev); + border: 1px solid var(--border); + padding: 0.5rem 0.9rem; + border-radius: 4px; + box-sizing: border-box; + min-width: 9rem; + height: 3.4rem; + line-height: 1.2; +} +.summary .chip .label { + color: var(--muted); + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.05em; +} +.summary .chip .value { + color: var(--cyan); + font-weight: bold; + font-size: 1.05rem; +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); + gap: 1rem; +} +.stats-card { + background: var(--bg-elev); + border: 1px solid var(--border); + padding: 0.75rem 1rem 1rem; + border-radius: 4px; +} +.stats-card h3 { + margin: 0 0 0.5rem; + color: var(--purple); + font-size: 0.95rem; + font-weight: normal; +} +.stats-card .chart-wrap { position: relative; height: 220px; } +.stats-card.wide { grid-column: 1 / -1; } +.stats-card.wide .chart-wrap { height: 260px; } + +.stats-empty-note { color: var(--muted); font-style: italic; } diff --git a/frontend/packages/agent/src/stats.html b/frontend/packages/agent/src/stats.html index 8b3ae9fd..bab85f85 100644 --- a/frontend/packages/agent/src/stats.html +++ b/frontend/packages/agent/src/stats.html @@ -5,60 +5,6 @@ hyperhive agent — stats - @@ -79,15 +25,15 @@
-
-

turns per bucket

-

turn duration (ms) — p50 / p95 / avg

-

context tokens (last inference per turn) — avg / max

-

token cost per bucket (sum across inferences)

-

turns by model per bucket — model drives token cost

-

top tools

-

wake source mix

-

result mix

+
+

turns per bucket

+

turn duration (ms) — p50 / p95 / avg

+

context tokens (last inference per turn) — avg / max

+

token cost per bucket (sum across inferences)

+

turns by model per bucket — model drives token cost

+

top tools

+

wake source mix

+

result mix