//! Mizan client kernel.
//!
//! Rust port of `@mizan/base` (frontends/mizan-base/src/index.ts). Same
//! public surface, same protocol, same wire shape. Consumers — generated
//! per-app crates, the GPU worker, the Python `PyMizanClient` — depend
//! on this kernel and never construct HTTP requests directly.
//!
//! Modules:
//! - [`client`] — `MizanClient`, `MizanConfig`, session init
//! - [`context`] — registry, `ContextState`, `ContextHandle`, `stable_key`
//! - [`error`] — `MizanError`, envelope parsing
//! - [`transport`] — `mizan_fetch`, `mizan_call`, retry, header resolution
//! - [`merge`] — `splice_slot`
//! - [`invalidation`] — `InvalidationQueue`, debounced flush

pub mod client;
pub mod context;
pub mod error;
pub mod invalidation;
pub mod merge;
pub mod transport;

#[cfg(feature = "pyo3")]
pub mod pyo3_bridge;

pub use client::{MizanClient, MizanConfig};
pub use context::{ContextHandle, ContextState, ContextStateRaw, ContextStatus, stable_key};
pub use error::MizanError;
