#![cfg_attr(docsrs, feature(doc_cfg))]
#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
#![warn(rustdoc::private_intra_doc_links)]
#![warn(rustdoc::invalid_codeblock_attributes)]
#![warn(rustdoc::invalid_html_tags)]
#![warn(rustdoc::bare_urls)]
#![warn(clippy::all)]
#![deny(unsafe_code)]
pub mod auth;
pub mod client;
pub mod config;
pub mod error;
pub mod types;
pub mod vault;
pub mod transport;
mod user_agent;
pub mod middleware;
pub mod control;
pub mod testing;
#[cfg(feature = "tracing")]
#[cfg_attr(docsrs, doc(cfg(feature = "tracing")))]
pub mod tracing_support;
#[cfg(feature = "wasm")]
#[cfg_attr(docsrs, doc(cfg(feature = "wasm")))]
pub mod wasm;
pub mod prelude;
pub use client::{
Client, ClientBuilder, ComponentHealth, HealthResponse, HealthStatus, ReadinessCriteria,
ShutdownGuard, ShutdownHandle,
};
pub use error::{AccessDenied, Error, ErrorKind};
pub use types::{
ConsistencyToken, Context, ContextValue, Decision, DecisionMetadata, DecisionReason, EntityRef,
ParseError, Relationship, Resource, Subject, SubjectRef,
};
pub use vault::VaultClient;
pub use auth::{
BearerCredentialsConfig, ClientCredentialsConfig, Credentials, CredentialsProvider,
Ed25519PrivateKey,
};
pub use config::{
CacheConfig, CircuitBreakerConfig, CircuitEvent, CircuitState, CircuitStats, DegradationConfig,
FailureMode, FailurePredicate, RetryConfig, TlsConfig,
};
pub use transport::{
FallbackReason, FallbackTrigger, GrpcStats, PoolConfig, RestStats, Transport, TransportEvent,
TransportStats, TransportStrategy,
};
pub use testing::{AuthorizationClient, InMemoryClient, MockClient};
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub mod derive {
pub use inferadb_derive::{Resource, Subject};
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_crate_compiles() {
let _ = ErrorKind::Unauthorized;
}
}