feat(metrics): Implement dashboard metrics API and integrate metrics chart components

This commit is contained in:
Abhimanyu Saharan
2026-02-04 20:49:25 +05:30
parent c3357f92d9
commit 8a41ba3f77
10 changed files with 1393 additions and 20 deletions

View File

@@ -0,0 +1,57 @@
from __future__ import annotations
from datetime import datetime
from typing import Literal
from sqlmodel import SQLModel
class DashboardSeriesPoint(SQLModel):
period: datetime
value: float
class DashboardWipPoint(SQLModel):
period: datetime
inbox: int
in_progress: int
review: int
class DashboardRangeSeries(SQLModel):
range: Literal["24h", "7d"]
bucket: Literal["hour", "day"]
points: list[DashboardSeriesPoint]
class DashboardWipRangeSeries(SQLModel):
range: Literal["24h", "7d"]
bucket: Literal["hour", "day"]
points: list[DashboardWipPoint]
class DashboardSeriesSet(SQLModel):
primary: DashboardRangeSeries
comparison: DashboardRangeSeries
class DashboardWipSeriesSet(SQLModel):
primary: DashboardWipRangeSeries
comparison: DashboardWipRangeSeries
class DashboardKpis(SQLModel):
active_agents: int
tasks_in_progress: int
error_rate_pct: float
median_cycle_time_hours_7d: float | None
class DashboardMetrics(SQLModel):
range: Literal["24h", "7d"]
generated_at: datetime
kpis: DashboardKpis
throughput: DashboardSeriesSet
cycle_time: DashboardSeriesSet
error_rate: DashboardSeriesSet
wip: DashboardWipSeriesSet