"""
Notification system for Local Deep Research.

Supports multiple notification services via Apprise including:
- Email (SMTP, Gmail, etc.)
- Messaging (Discord, Slack, Telegram, etc.)
- SMS (Twilio, AWS SNS, etc.)
- Push notifications (Pushover, Gotify, etc.)
"""

from .exceptions import (
    NotificationError,
    ServiceError,
    SendError,
    RateLimitError,
)
from .service import NotificationService
from .manager import NotificationManager
from .templates import NotificationTemplate, EventType
from .url_builder import build_notification_url
from ..security.url_validator import URLValidator, URLValidationError
from .queue_helpers import (
    send_queue_notification,
    send_queue_failed_notification,
    send_queue_failed_notification_from_session,
    send_research_completed_notification_from_session,
    send_research_failed_notification_from_session,
)

__all__ = [
    "NotificationError",
    "ServiceError",
    "SendError",
    "RateLimitError",
    "NotificationService",
    "NotificationManager",
    "NotificationTemplate",
    "EventType",
    "build_notification_url",
    "URLValidator",
    "URLValidationError",
    "send_queue_notification",
    "send_queue_failed_notification",
    "send_queue_failed_notification_from_session",
    "send_research_completed_notification_from_session",
    "send_research_failed_notification_from_session",
]
