class AppError(Exception): """Base error type for application-specific exceptions.""" class ConfigError(AppError): """Raised when configuration is invalid or missing.""" class InputValidationError(AppError): """Raised when input records fail validation.""" class LdapConnectionError(AppError): """Raised when LDAP connection or bind fails.""" class LdapOperationError(AppError): """Raised for LDAP operation failures.""" class StatePersistenceError(AppError): """Raised when state files cannot be read or written."""