"""All the exceptions specific to the `notion_annotator` project."""

# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/exceptions.ipynb.

# %% auto 0
__all__ = ['RagasError', 'ValidationError', 'DuplicateError', 'NotFoundError', 'ResourceNotFoundError', 'ProjectNotFoundError',
           'DatasetNotFoundError', 'ExperimentNotFoundError', 'DuplicateResourceError', 'DuplicateProjectError',
           'DuplicateDatasetError', 'DuplicateExperimentError']

# %% ../nbs/exceptions.ipynb 2
class RagasError(Exception):
    """Base class for all Ragas-related exceptions."""

    pass

# %% ../nbs/exceptions.ipynb 3
class ValidationError(Exception):
    """Raised when field validation fails."""

    pass


class DuplicateError(Exception):
    """Raised when multiple items are found but only one was expected."""

    pass


class NotFoundError(Exception):
    """Raised when an item is not found."""

    pass

# %% ../nbs/exceptions.ipynb 4
class ResourceNotFoundError(RagasError):
    """Exception raised when a requested resource doesn't exist."""

    pass


class ProjectNotFoundError(ResourceNotFoundError):
    """Exception raised when a project doesn't exist."""

    pass


class DatasetNotFoundError(ResourceNotFoundError):
    """Exception raised when a dataset doesn't exist."""

    pass


class ExperimentNotFoundError(ResourceNotFoundError):
    """Exception raised when an experiment doesn't exist."""

    pass

# %% ../nbs/exceptions.ipynb 5
class DuplicateResourceError(RagasError):
    """Exception raised when multiple resources exist with the same identifier."""

    pass


class DuplicateProjectError(DuplicateResourceError):
    """Exception raised when multiple projects exist with the same name."""

    pass


class DuplicateDatasetError(DuplicateResourceError):
    """Exception raised when multiple datasets exist with the same name."""

    pass


class DuplicateExperimentError(DuplicateResourceError):
    """Exception raised when multiple experiments exist with the same name."""

    pass
