class ChitraGuptBaseError(Exception):
    """Base class for exceptions explicitly used in ChitraGupt."""

    pass


class ChitraGuptPathError(ChitraGuptBaseError):
    """Exception raised for errors related to invalid or problematic file paths."""

    pass


class ChitraGuptCommandRegisteredError(ChitraGuptBaseError):
    """Exception raised when attempting to register a command that has already been registered."""

    pass


class ChitraGuptInvalidDataTypeError(ChitraGuptBaseError):
    """Exception raised when an invalid data type is specified for a parameter."""

    pass


class ChitraGuptInvalidNameError(ChitraGuptBaseError):
    """Exception raised when an invalid name is provided."""

    pass


class ChitraGuptBrowserSearchError(ChitraGuptBaseError):
    """
    Base exception class for errors that occur during browser search operations.

    This exception is primarily used for issues arising in duckduckgo_search.
    """

    pass


class ChitraGuptBrowserRatelimitError(ChitraGuptBaseError):
    """Exception raised when the rate limit for API requests is exceeded."""

    pass


class ChitraGuptBrowserTimeoutError(ChitraGuptBaseError):
    """Exception raised when a timeout occurs during an API request."""

    pass


class ChitraGuptBrowserConversationLimitError(ChitraGuptBaseError):
    """Exception raised when the conversation limit is reached during API requests to an AI endpoint."""

    pass


class ChitraGuptBrowserNotInitializedError(ChitraGuptBaseError):
    """Exception raised when an operation is attempted on an uninitialized browser."""

    pass


class ChitraGuptLoadFunctionNotFoundError(ChitraGuptBaseError):
    """Exception raised when a plugin module does not define the required `load` function."""

    pass


class ChitraGuptBaseGitHubError(ChitraGuptBaseError):
    """Base exception class for GitHub-related errors within ChitraGupt."""

    pass


class ChitraGuptGitHubFetchError(ChitraGuptBaseError):
    """Exception raised when fetching data from GitHub fails."""

    pass
