"""Meshulash Guard - Python SDK for the Meshulash AI security engine."""

from .guard import Guard
from .models import ScanResult, ScannerResult, Detection
from .enums import Action, Condition
from .exceptions import (
    MeshulashError,
    AuthError,
    ServerError,
    ConnectionError,
    ValidationError,
    ServerNormalizerUnsupported,
    FileParseError,
    PasswordProtectedError,
    UnsupportedFormatError,
)
from .file_parser import FileParser
from .normalizers import (
    UnicodeNormalizer,
    InvisibleTextNormalizer,
    HomoglyphNormalizer,
    EncodingNormalizer,
    StripHtmlNormalizer,
    StripMarkdownNormalizer,
    LowercaseNormalizer,
    CollapseWhitespaceNormalizer,
)
from .scanners import (
    PIIScanner, PIILabel,
    TopicScanner, TopicLabel,
    ToxicityScanner, ToxicityLabel,
    CyberScanner, CyberLabel,
    JailbreakScanner, JailbreakLabel,
    EmotionScanner, EmotionLabel,
    LanguageScanner,
    CodeScanner, CodeLanguage,
    SentimentScanner,
    GibberishScanner,
    BanSubstringsScanner, MatchType,
)

__version__ = "0.2.0"
__all__ = [
    # Core
    "Guard",
    "FileParser",
    "ScanResult",
    "ScannerResult",
    "Detection",
    "Action",
    "Condition",
    # Exceptions
    "MeshulashError",
    "AuthError",
    "ServerError",
    "ConnectionError",
    "ValidationError",
    "ServerNormalizerUnsupported",
    "FileParseError",
    "PasswordProtectedError",
    "UnsupportedFormatError",
    # Scanners
    "PIIScanner",
    "PIILabel",
    "TopicScanner",
    "TopicLabel",
    "ToxicityScanner",
    "ToxicityLabel",
    "CyberScanner",
    "CyberLabel",
    "JailbreakScanner",
    "JailbreakLabel",
    "EmotionScanner",
    "EmotionLabel",
    "LanguageScanner",
    "CodeScanner",
    "CodeLanguage",
    "SentimentScanner",
    "GibberishScanner",
    "BanSubstringsScanner",
    "MatchType",
    # Normalizers
    "UnicodeNormalizer",
    "InvisibleTextNormalizer",
    "HomoglyphNormalizer",
    "EncodingNormalizer",
    "StripHtmlNormalizer",
    "StripMarkdownNormalizer",
    "LowercaseNormalizer",
    "CollapseWhitespaceNormalizer",
]
