//! WebSocket transport and contract helpers for Athena realtime chat.
//!
//! `athena-wss` owns the CDC websocket server, replay/broadcast transport, and
//! `/wss` gateway contract helpers so `athena_rs` can keep thin runtime-facing
//! compatibility wrappers. Chat events originate from [`athena_chat::ChatApp`] and
//! are fan-out through [`WsGateway`].

pub mod cdc;
pub mod commands;
pub mod connection;
pub mod error;
pub mod hub;
pub mod metrics;
pub mod presence;
pub mod protocol;
pub mod reader;
pub mod room_topics;
pub mod shutdown;
pub mod upgrade;
pub mod writer;
pub mod wss;

/// In-memory connection hub implementing [`WsGateway`].
pub use hub::{WsGateway, WsHub};
/// Client command and server event types for the `/wss` gateway contract.
pub use protocol::{ClientWsCommand, PresenceSnapshot, ServerWsEvent};
