"""Event-driven architecture with Kafka, SQS, NATS, and Memory support.""" from libs.schemas.events import ( EVENT_SCHEMA_MAP, BaseEventData, CalculationReadyEventData, DocumentExtractedEventData, DocumentIngestedEventData, DocumentOCRReadyEventData, FirmSyncCompletedEventData, FormFilledEventData, HMRCSubmittedEventData, KGUpsertedEventData, KGUpsertReadyEventData, RAGIndexedEventData, ReviewCompletedEventData, ReviewRequestedEventData, get_schema_for_topic, validate_event_data, ) from .base import EventBus, EventPayload from .factory import create_event_bus from .memory_bus import MemoryEventBus from .nats_bus import NATSEventBus from .topics import EventTopics __all__ = [ "EventPayload", "EventBus", "MemoryEventBus", "NATSEventBus", "create_event_bus", "EventTopics", # Event schemas "BaseEventData", "DocumentIngestedEventData", "DocumentOCRReadyEventData", "DocumentExtractedEventData", "KGUpsertReadyEventData", "KGUpsertedEventData", "RAGIndexedEventData", "CalculationReadyEventData", "FormFilledEventData", "HMRCSubmittedEventData", "ReviewRequestedEventData", "ReviewCompletedEventData", "FirmSyncCompletedEventData", "EVENT_SCHEMA_MAP", "validate_event_data", "get_schema_for_topic", ]