mod access_control;
mod audit;
mod error;
mod middleware;
mod permission;
mod role;
pub mod scope;
#[cfg(feature = "auth-bridge")]
pub mod auth_bridge;
#[cfg(feature = "sso")]
pub mod sso;
pub mod secrets;
#[cfg(feature = "otlp-audit")]
pub mod audit_otlp;
#[cfg(feature = "postgres-audit")]
pub mod audit_postgres;
pub use access_control::{AccessControl, AccessControlBuilder};
pub use audit::{
AuditEvent, AuditEventType, AuditFilter, AuditOutcome, AuditSink, FileAuditSink,
InMemoryAuditSink,
};
pub use error::{AccessDenied, AuthError};
pub use middleware::{AuthMiddleware, ProtectedTool, ProtectedToolDyn, ToolExt};
pub use permission::Permission;
pub use role::Role;
pub use scope::{
ContextScopeResolver, ScopeDenied, ScopeGuard, ScopeResolver, ScopeToolExt, ScopedTool,
ScopedToolDyn, StaticScopeResolver, check_scopes,
};
#[cfg(feature = "auth-bridge")]
pub use auth_bridge::{JwtRequestContextExtractor, JwtRequestContextExtractorBuilder};
#[cfg(feature = "otlp-audit")]
pub use audit_otlp::OtlpAuditSink;
#[cfg(feature = "postgres-audit")]
pub use audit_postgres::PostgresAuditSink;