"""API response wrapper models.""" from __future__ import annotations from typing import Any, List, Optional from pydantic import BaseModel, Field class APIResponse(BaseModel): """Standard envelope for successful responses.""" success: bool = True data: Any message: str = "" request_id: Optional[str] = None timestamp: Optional[str] = None class PaginatedResponse(BaseModel): success: bool = True data: List[Any] total: int page: int = 1 page_size: int = 50 request_id: Optional[str] = None class ErrorResponse(BaseModel): success: bool = False error: str error_type: str = "" details: Optional[dict] = None request_id: Optional[str] = None class HealthResponse(BaseModel): status: str version: str providers: List[dict] uptime_seconds: float