1pub mod budget;
17#[cfg(feature = "runtime")]
18pub mod circuit_breaker;
19pub mod errors;
20pub mod ids;
21pub mod inference;
22pub mod limits;
23#[cfg(feature = "runtime")]
24pub mod observability;
25#[cfg(feature = "runtime")]
26pub mod registry;
27#[cfg(feature = "runtime")]
28pub mod scoped_metrics;
29#[cfg(feature = "runtime")]
30pub mod scoped_registry;
31pub mod types;
32
33#[cfg(feature = "runtime")]
35pub use observability::{
36 init_tracing, AuditLogEntry, ComponentHealth, ComponentHealthTracker, HealthStatus,
37 RequestMetrics,
38};
39
40#[cfg(feature = "runtime")]
42#[deprecated(since = "0.2.0", note = "Use ComponentHealthTracker instead")]
43pub type HealthChecker = ComponentHealthTracker;
44
45pub use errors::{SentinelError, SentinelResult};
47
48pub use limits::{Limits, RateLimiter};
50
51pub use ids::{AgentId, CorrelationId, QualifiedId, RequestId, RouteId, Scope, UpstreamId};
53
54pub use types::{CircuitBreakerConfig, TraceIdFormat};
56
57pub use inference::{
59 ColdModelAction, InferenceProbeConfig, InferenceReadinessConfig, ModelStatusConfig,
60 QueueDepthConfig, WarmthDetectionConfig,
61};
62
63#[cfg(feature = "runtime")]
65pub use circuit_breaker::CircuitBreaker;
66
67#[cfg(feature = "runtime")]
69pub use registry::Registry;
70#[cfg(feature = "runtime")]
71pub use scoped_registry::ScopedRegistry;
72
73#[cfg(feature = "runtime")]
75pub use scoped_metrics::{ScopedMetrics, ScopeLabels};
76
77pub use budget::{
79 BudgetAlert, BudgetCheckResult, BudgetPeriod, CostAttributionConfig, CostResult,
80 ModelPricing, TenantBudgetStatus, TokenBudgetConfig,
81};