"""API models.""" from pydantic import BaseModel, Field from typing import Optional class ChatMessage(BaseModel): """Chat message model.""" message: str = Field(..., min_length=1, max_length=500) class DroneTelemetry(BaseModel): """Drone telemetry data received from hardware.""" altitude: float = Field(..., description="Current altitude in meters") batteryRemaining: int = Field(..., description="Battery percentage remaining") cellCount: int = Field(..., description="Number of battery cells") distance: int = Field(..., description="Total distance traveled in meters") distanceToHome: float = Field(..., description="Distance to home position in meters") firmware: str = Field(..., description="Firmware version") flightTime: int = Field(..., description="Total flight time in seconds") frame: str = Field(..., description="Aircraft frame type") frameId: int = Field(..., description="Frame type ID") groundSpeed: float = Field(..., description="Ground speed in m/s") heading: float = Field(..., description="Heading in degrees") latitude: float = Field(..., description="Current latitude") longitude: float = Field(..., description="Current longitude") mode: str = Field(..., description="Current flight mode") pitch: float = Field(..., description="Pitch angle in degrees") roll: float = Field(..., description="Roll angle in degrees") satellite: int = Field(..., description="Number of GPS satellites") voltage: float = Field(..., description="Battery voltage") yaw: float = Field(..., description="Yaw angle in degrees")