"""ingress-recipient - Python SDK for receiving data from vikdata ingress cores.

This SDK provides server-side dependencies and types for services that
receive processed data FROM ingress cores after the 5-stage pipeline:
1. Auth - Validate API key/JWT
2. Validate - JSON Schema validation
3. Transform - Field mapping, enrichment
4. Route - Destination selection
5. Dispatch - Send to recipients

Example:
    ```python
    from ingress_recipient import RecipientData, validate_recipient_data
    from fastapi import APIRouter, Depends

    router = APIRouter()

    @router.post("/destinations/telemetry")
    async def receive_telemetry(
        data: RecipientData = Depends(validate_recipient_data),
    ):
        # Process data...
        await save_telemetry(data)
        return {"status": "accepted"}
    ```
"""

from .fastapi import ValidatedRecipientData, validate_recipient_data
from .types import RecipientData, RecipientMetadata, RecipientResponse
from .validation import safe_validate_recipient_data
from .validation import validate_recipient_data as validate_data

__version__ = "1.0.0"

__all__ = [
    # Types
    "RecipientData",
    "RecipientMetadata",
    "RecipientResponse",
    # FastAPI dependency
    "validate_recipient_data",
    "ValidatedRecipientData",
    # Validation utilities
    "validate_data",
    "safe_validate_recipient_data",
]
