"""Admin view of the last day of model request and response text.""" from __future__ import annotations from fastapi import APIRouter, Request from pydantic import BaseModel, Field from app.gateway.routers.admin_users import _require_admin from deerflow.models.model_exchange_log import query_model_exchanges router = APIRouter(prefix="/api/admin/model-exchanges", tags=["admin-model-exchanges"]) class ModelExchangeRecord(BaseModel): id: str at: str model: str = "" user_id: str = "" enable_thinking: str = "unset" request_preview: str = "" response_preview: str = "" request_text: str = "" response_text: str = "" request_body: str = "" response_raw: str = "" response_content: str = "" response_reasoning: str = "" reasoning_field: str = "" class ModelExchangeListResponse(BaseModel): records: list[ModelExchangeRecord] = Field(default_factory=list) @router.get("", response_model=ModelExchangeListResponse) async def list_model_exchanges(request: Request) -> ModelExchangeListResponse: await _require_admin(request) return ModelExchangeListResponse(records=query_model_exchanges())