//! API response types and filter DSL for Cruxi.
//!
//! This crate provides:
//! - Response envelope types for API responses
//! - Pagination, sorting, and field selection types
//! - A filter DSL for query string parsing
//! - Query metadata for request context
//!
//! Feature flags:
//! - `coded-error`: enables conversions from `cruxi::CodedError` into
//!   [`ApiError`] and [`ErrorCause`].

mod filter;
mod pagination;
mod query;
mod response;

pub use filter::{
    Filter, FilterError, FilterField, FilterOp, FilterSchema, FilterValue, parse_filters,
};
pub use pagination::{Fields, Page, Sort, SortDirection};
pub use query::QueryMeta;
pub use response::{ApiError, ErrorCause, Includes, Meta, Response};
