mod batches;
mod constraints;
mod decisions;
mod evaluations;
mod experiments;
mod export;
mod feedback;
mod files;
mod routing;
mod sessions;
pub use batches::Batches;
pub use constraints::Constraints;
pub use decisions::Decisions;
pub use evaluations::Evaluations;
pub use experiments::Experiments;
pub use export::{DecisionExportStream, Export};
pub use feedback::Feedback;
pub use files::Files;
pub use routing::Routing;
pub use sessions::Sessions;
use crate::error::{Error, Result};
pub(crate) fn require<T>(data: Option<T>) -> Result<T> {
data.ok_or_else(|| Error::Decode("gateway returned an empty response body".to_owned()))
}