mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-08-20 11:42:23 +02:00
38 lines
869 B
Python
38 lines
869 B
Python
from pydantic import BaseModel
|
|
from typing import Optional
|
|
|
|
|
|
class AnalyticsEvent(BaseModel):
|
|
id: Optional[int] = None
|
|
timestamp: str
|
|
event_type: str
|
|
properties: dict
|
|
session_id: Optional[str] = None
|
|
dashboard_id: Optional[str] = None
|
|
|
|
|
|
class UsageSummary(BaseModel):
|
|
total_sessions: int = 0
|
|
total_cost_usd: float = 0.0
|
|
total_messages: int = 0
|
|
total_tool_calls: int = 0
|
|
avg_session_duration_seconds: float = 0.0
|
|
session_completion_rate: float = 0.0
|
|
approval_rate: float = 0.0
|
|
models_used: dict[str, int] = {}
|
|
modes_used: dict[str, int] = {}
|
|
top_tools: list[list] = []
|
|
|
|
|
|
class TimeSeriesPoint(BaseModel):
|
|
date: str
|
|
value: float
|
|
|
|
|
|
class ExportPayload(BaseModel):
|
|
export_version: str = "1.0"
|
|
exported_at: str = ""
|
|
app_version: str = "unknown"
|
|
period: dict = {}
|
|
summary: dict = {}
|