pub mod budget;
#[cfg(feature = "runtime")]
pub mod circuit_breaker;
pub mod errors;
pub mod ids;
pub mod inference;
pub mod limits;
#[cfg(feature = "runtime")]
pub mod observability;
#[cfg(feature = "runtime")]
pub mod registry;
#[cfg(feature = "runtime")]
pub mod scoped_metrics;
#[cfg(feature = "runtime")]
pub mod scoped_registry;
pub mod types;
#[cfg(feature = "runtime")]
pub use observability::{
init_tracing, AuditLogEntry, ComponentHealth, ComponentHealthTracker, HealthStatus,
RequestMetrics,
};
#[cfg(feature = "runtime")]
#[deprecated(since = "0.2.0", note = "Use ComponentHealthTracker instead")]
pub type HealthChecker = ComponentHealthTracker;
pub use errors::{ZentinelError, ZentinelResult};
pub use limits::{Limits, RateLimiter};
pub use ids::{AgentId, CorrelationId, QualifiedId, RequestId, RouteId, Scope, UpstreamId};
pub use types::{CircuitBreakerConfig, TraceIdFormat};
pub use inference::{
ColdModelAction, InferenceProbeConfig, InferenceReadinessConfig, ModelStatusConfig,
QueueDepthConfig, WarmthDetectionConfig,
};
#[cfg(feature = "runtime")]
pub use circuit_breaker::CircuitBreaker;
#[cfg(feature = "runtime")]
pub use registry::Registry;
#[cfg(feature = "runtime")]
pub use scoped_registry::ScopedRegistry;
#[cfg(feature = "runtime")]
pub use scoped_metrics::{ScopeLabels, ScopedMetrics};
pub use budget::{
BudgetAlert, BudgetCheckResult, BudgetPeriod, CostAttributionConfig, CostResult, ModelPricing,
TenantBudgetStatus, TokenBudgetConfig,
};