| 152 | // ── Query: Aggregated Stats ────────────────────────────────────────── |
| 153 | |
| 154 | export interface MetadataStats { |
| 155 | total_requests: number |
| 156 | since: number | null // oldest event timestamp |
| 157 | uptime_ms: number |
| 158 | |
| 159 | // Breakdown by mode |
| 160 | by_mode: Record<string, number> |
| 161 | by_tier: Record<string, number> |
| 162 | by_endpoint: Record<string, number> |
| 163 | |
| 164 | // Model usage |
| 165 | models: { |
| 166 | total_queries: number // sum of all individual model calls |
| 167 | unique_models: number |
| 168 | by_model: Record<string, { |
| 169 | queries: number |
| 170 | wins: number |
| 171 | avg_score: number |
| 172 | avg_duration_ms: number |
| 173 | success_rate: number |
| 174 | }> |
| 175 | } |
| 176 | |
| 177 | // Pipeline usage |
| 178 | pipeline: { |
| 179 | godmode_rate: number // % of requests with godmode enabled |
| 180 | autotune_rate: number |
| 181 | parseltongue_rate: number |
| 182 | stm_usage: Record<string, number> // module -> count |
| 183 | strategy_usage: Record<string, number> |
| 184 | } |
| 185 | |
| 186 | // Context detection (from autotune) |
| 187 | contexts: Record<string, number> |
| 188 | |
| 189 | // Latency |
| 190 | latency: { |
| 191 | avg_ms: number |
| 192 | p50_ms: number |
| 193 | p95_ms: number |
| 194 | p99_ms: number |
| 195 | } |
| 196 | |
| 197 | // Response sizes |
| 198 | response_lengths: { |
| 199 | avg: number |
| 200 | p50: number |
| 201 | p95: number |
| 202 | } |
| 203 | |
| 204 | // Streaming |
| 205 | streaming: { |
| 206 | stream_rate: number // % of requests that used streaming |
| 207 | avg_upgrades: number // avg leader changes per stream |
| 208 | avg_first_response_ms: number // avg time to first leader |
| 209 | } |
| 210 | |
| 211 | // Errors |
nothing calls this directly
no outgoing calls
no test coverage detected