#![forbid(unsafe_code)]
pub mod auth;
pub mod capabilities;
pub mod config;
pub mod error;
pub mod observability;
pub mod pagination;
pub mod permissions;
pub mod response;
#[cfg(feature = "gateway")]
pub mod gateway;
#[cfg(feature = "openapi")]
pub mod openapi;
#[cfg(feature = "web")]
pub mod middleware;
#[cfg(feature = "web")]
pub mod web;
pub use auth::{PrincipalKind, UserContext};
pub use error::{AppError, ErrorCode};
pub use pagination::{PageRequest, Paged};
pub use response::{ApiErrorDetail, ApiMeta, ApiResponse};
#[cfg(feature = "gateway")]
pub use gateway::GatewayAuthConfig;
#[cfg(all(feature = "gateway", feature = "web"))]
pub use gateway::gateway_resolver;