"""
PayloadGuard - Lightweight, zero-dependency shape-based payload filtering and sanitization for Python.

Compatible with FastAPI, Flask, Django, and Pydantic.
"""

from .core.types import (
    ValidationError,
    ValidationResult,
    FieldConfig,
    ShapeDescriptor,
    GuardConfig,
    PrimitiveType,
    ErrorCodes,
)
from .core.filter import guard, Guard, build_shape
from .core.compiler import compile_shape
from .core.security import (
    is_sensitive,
    DEFAULT_SENSITIVE_FIELDS,
    remove_sensitive,
    mask_value,
)
from .core.sanitizer import (
    trim_string,
    coerce_primitive,
    validate_type,
    sanitize_string,
)

__version__ = "1.0.0"
__all__ = [
    # Version
    "__version__",
    # Types
    "ValidationError",
    "ValidationResult",
    "FieldConfig",
    "ShapeDescriptor",
    "GuardConfig",
    "PrimitiveType",
    "ErrorCodes",
    # Main API
    "guard",
    "Guard",
    "build_shape",
    "compile_shape",
    # Security
    "is_sensitive",
    "DEFAULT_SENSITIVE_FIELDS",
    "remove_sensitive",
    "mask_value",
    # Sanitizer
    "trim_string",
    "coerce_primitive",
    "validate_type",
    "sanitize_string",
]
