Serialize a RouteRecord into the shape returned by /v1/stats/recent.
(r: RouteRecord)
| 587 | |
| 588 | |
| 589 | def record_to_recent_dict(r: RouteRecord) -> dict[str, Any]: |
| 590 | """Serialize a RouteRecord into the shape returned by /v1/stats/recent.""" |
| 591 | return { |
| 592 | "request_id": r.request_id, |
| 593 | "turn_id": r.turn_id, |
| 594 | "timestamp": r.timestamp, |
| 595 | "mode": r.mode, |
| 596 | "model": r.model, |
| 597 | "tier": _normalize_tier_label(r.tier), |
| 598 | "decision_tier": _normalize_tier_label(r.decision_tier or r.tier), |
| 599 | "served_quality": _normalize_served_quality(r.served_quality), |
| 600 | "served_quality_target": _normalize_served_quality(r.served_quality_target), |
| 601 | "served_quality_floor": _normalize_served_quality(r.served_quality_floor), |
| 602 | "capability_lane": str(r.capability_lane or "").strip().lower(), |
| 603 | "method": r.method, |
| 604 | "cost": _effective_cost(r), |
| 605 | "savings": r.savings, |
| 606 | "raw_confidence": r.raw_confidence, |
| 607 | "confidence_source": r.confidence_source, |
| 608 | "transport": r.transport, |
| 609 | "cache_mode": r.cache_mode, |
| 610 | "cache_family": r.cache_family, |
| 611 | "cache_breakpoints": r.cache_breakpoints, |
| 612 | "cache_hit_ratio": r.cache_hit_ratio, |
| 613 | "cache_read_input_tokens": r.cache_read_input_tokens, |
| 614 | "input_tokens_before": r.input_tokens_before, |
| 615 | "input_tokens_after": r.input_tokens_after, |
| 616 | "artifacts_created": r.artifacts_created, |
| 617 | "prompt_preview": r.prompt_preview, |
| 618 | "complexity": getattr(r, "complexity", 0.33), |
| 619 | "route_reasoning": r.route_reasoning, |
| 620 | "constraint_tags": list(r.constraint_tags or []), |
| 621 | "hint_tags": list(r.hint_tags or []), |
| 622 | "feature_tags": list(r.feature_tags or []), |
| 623 | "answer_depth": r.answer_depth, |
| 624 | "status_code": r.status_code, |
| 625 | "error_code": r.error_code, |
| 626 | "error_stage": r.error_stage, |
| 627 | "error_message": r.error_message, |
| 628 | "feedback_signal": r.feedback_signal, |
| 629 | "feedback_ok": r.feedback_ok, |
| 630 | "feedback_action": r.feedback_action, |
| 631 | "feedback_from_tier": r.feedback_from_tier, |
| 632 | "feedback_to_tier": r.feedback_to_tier, |
| 633 | "feedback_reason": r.feedback_reason, |
| 634 | "feedback_submitted_at": r.feedback_submitted_at, |
| 635 | } |
| 636 | |
| 637 | |
| 638 | def _record_payload(r: RouteRecord) -> dict[str, Any]: |
no test coverage detected