Source code for sqlspec.extensions.events._models

"""Shared data models for the events subsystem."""

from dataclasses import dataclass
from datetime import datetime
from typing import Any

from typing_extensions import final

__all__ = ("EventMessage",)


[docs] @final @dataclass(slots=True) class EventMessage: """Structured payload delivered to event handlers.""" event_id: str channel: str payload: dict[str, Any] metadata: dict[str, Any] | None attempts: int available_at: datetime lease_expires_at: datetime | None created_at: datetime