"""Domain models package."""

from awx_mcp_server.domain.exceptions import (
    AWXAuthenticationError,
    AWXClientError,
    AWXConnectionError,
    AWXMCPError,
    AWXPermissionError,
    AllowlistViolationError,
    ConfigurationError,
    CredentialError,
    EnvironmentAlreadyExistsError,
    EnvironmentNotFoundError,
    JobNotFoundError,
    NoActiveEnvironmentError,
    ProjectNotFoundError,
    TemplateNotFoundError,
    ValidationError,
)
from awx_mcp_server.domain.models import (
    AuditLog,
    CredentialType,
    EnvironmentConfig,
    FailureAnalysis,
    FailureCategory,
    Inventory,
    Job,
    JobEvent,
    JobStatus,
    JobTemplate,
    Project,
)

__all__ = [
    # Exceptions
    "AWXMCPError",
    "EnvironmentNotFoundError",
    "EnvironmentAlreadyExistsError",
    "NoActiveEnvironmentError",
    "CredentialError",
    "AWXClientError",
    "AWXAuthenticationError",
    "AWXConnectionError",
    "AWXPermissionError",
    "JobNotFoundError",
    "TemplateNotFoundError",
    "ProjectNotFoundError",
    "AllowlistViolationError",
    "ConfigurationError",
    "ValidationError",
    # Models
    "EnvironmentConfig",
    "CredentialType",
    "JobTemplate",
    "Project",
    "Inventory",
    "Job",
    "JobEvent",
    "JobStatus",
    "FailureAnalysis",
    "FailureCategory",
    "AuditLog",
]
