//! TetrixAIDb SDK for Rust
//!
//! Async client for the TetrixAIDb AI-native database daemon. Connects over
//! TCP/TLS/Unix socket using a length-prefixed JSON wire protocol. Features
//! connection pooling, auth-on-connect, retry with exponential backoff, and
//! full feature parity with the Go/Python/TypeScript SDKs.
//!
//! # Quick Start
//!
//! ```rust,no_run
//! use tetrix_sdk::{TetrixClient, Config, types::*};
//! use std::sync::Arc;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//!     let client = TetrixClient::new(Config {
//!         endpoint: "tcp://localhost:7779".to_string(),
//!         username: "admin".to_string(),
//!         password: "secret".to_string(),
//!         ..Default::default()
//!     })?;
//!
//!     let health = client.health().await?;
//!     println!("Status: {}", health.status);
//!     Ok(())
//! }
//! ```

pub mod client;
pub mod errors;
pub mod types;

mod category_ops;
mod data_ops;
mod iam_ops;
mod protocol;

pub use client::{Config, RetryConfig, TetrixClient, TlsConfig};
pub use errors::{ErrorCode, TetrixError};
