feat(#537): analytics screen — usage + per-model stats (#558)

* feat(#537): analytics screen — usage + per-model stats from /api/analytics/*

* fix(#537): address PR review — cancel-in-flight loads, retain cache on refresh, drop redundant async

* fix(#537): surface real analytics failure, mirror backend shape (period_days/tools), round-trip test

* fix(#537): tolerate float last_used_at in analytics (backend emits epoch as number)

* fix(#537): type tools[] as AnalyticsToolUsage (tool/count/percentage), render Top tools section

* fix(analytics): fix crashes and refactor tab layout

* perf(analytics): cache responses and prefetch day windows

---------

Co-authored-by: M57 <m57@hermes-control.app>
This commit is contained in:
M57
2026-07-12 00:04:56 +03:00
committed by GitHub
co-authored by M57
parent afa82ceec2
commit 9156064d2b
9 changed files with 1031 additions and 1 deletions
@@ -12,7 +12,7 @@ data class CommandCatalog(
val sub: Map<String, List<String>> = emptyMap(),
val canon: Map<String, String> = emptyMap(),
val categories: List<CommandCategory> = emptyList(),
val skillCount: Int = 0,
val skillCount: Double = 0.0,
val warning: String = "",
)