"""Authentication schemas for error responses."""

from pydantic import BaseModel


class ErrorDetail(BaseModel):
    """Error detail structure.

    Attributes:
        code: Error code identifier.
        message: Human-readable error message.
    """

    code: str
    message: str


class ErrorResponse(BaseModel):
    """Standard error response wrapper.

    Attributes:
        error: Error detail object.
    """

    error: ErrorDetail


class RateLimitErrorResponse(BaseModel):
    """Rate limit error response with retry info.

    Attributes:
        error: Error detail object.
        retry_after: Seconds until rate limit resets.
    """

    error: ErrorDetail
    retry_after: int
