from enum import Enum
from typing import Any

from pydantic import BaseModel


class RIEndpoint(str, Enum):
    SPEECH = "actuate/speech"
    PING = "ping"
    NEGOTIATE_PORTS = "negotiate/ports"


class RIMessage(BaseModel):
    endpoint: RIEndpoint
    data: Any


class SpeechCommand(RIMessage):
    endpoint: RIEndpoint = RIEndpoint(RIEndpoint.SPEECH)
    data: str
