"""Pydantic models for the voice control API."""

from __future__ import annotations

from typing import Optional

from pydantic import BaseModel


class CommandRequest(BaseModel):
    """Request to send a voice command."""

    text: str


class CommandResponse(BaseModel):
    """Response from a voice command."""

    ok: bool
    text: str
    status: str


class MoveRequest(BaseModel):
    """Request to move to a position."""

    x: float
    y: float
    z: float
    roll: Optional[float] = 180.0
    pitch: Optional[float] = 0.0
    yaw: Optional[float] = 0.0


class VacuumRequest(BaseModel):
    """Request to control the vacuum."""

    on: bool
