"""Custom exceptions for session-store."""


class SessionStoreError(Exception):
    """Base exception for session-store errors."""


class SessionNotFoundError(SessionStoreError):
    """Raised when a session ID does not exist in the source."""


class SessionLoadError(SessionStoreError):
    """Raised when a session cannot be loaded due to I/O or parse failure."""


class MessageNotFoundError(SessionStoreError):
    """Raised when a target expression cannot be resolved to a message."""


class NoActiveSessionError(SessionStoreError):
    """Raised when no active session can be detected from any source."""
