"""Shared domain exceptions."""


class DomainException(Exception):
    """Base exception for domain errors."""

    pass


class InvalidStateException(DomainException):
    """Raised when an operation is attempted in an invalid state."""

    pass


class NotFoundException(DomainException):
    """Raised when a requested resource is not found."""

    pass


class DuplicateException(DomainException):
    """Raised when attempting to create a duplicate resource."""

    pass


class ValidationException(DomainException):
    """Raised when domain validation fails."""

    pass
