//! car-runtime — umbrella entry point for external Rust consumers
//! of Common Agent Runtime.
//!
//! Bundles the runtime execution layer (engine cluster, sandbox,
//! active planner) and the perception cluster (browser, desktop,
//! ast, voice) under a single `cargo add`. External consumers
//! reach types through namespaced sub-modules — one umbrella
//! dep replaces ~7 per-crate deps.
//!
//! Sibling published crates intentionally NOT exposed through
//! this umbrella (each is a distinct subsystem consumed
//! independently):
//!
//! - [`car-memgine`](https://docs.rs/car-memgine) — graph memory + skill distillation
//! - [`car-inference`](https://docs.rs/car-inference) — model gateway
//! - [`car-multi`](https://docs.rs/car-multi) — multi-agent coordination + built-in agents
//! - [`car-server-core`](https://docs.rs/car-server-core) — daemon protocol types
//!
//! See [`Parslee-ai/car#205`](https://github.com/Parslee-ai/car/issues/205)
//! for the publish-surface rationale.
//!
//! ## Migration from per-crate deps
//!
//! Replace `use car_X::Y` with `use car_runtime::X::Y`:
//!
//! ```ignore
//! // Before:
//! use car_engine::Runtime;
//! use car_sandbox::SandboxPolicy;
//! use car_desktop::models::Frame;
//!
//! // After:
//! use car_runtime::engine::Runtime;
//! use car_runtime::sandbox::SandboxPolicy;
//! use car_runtime::desktop::models::Frame;
//! ```
//!
//! The module-renaming `pub use` preserves all nested module
//! access transitively — `car_runtime::desktop::models::*` works
//! exactly as `car_desktop::models::*` did, and all of
//! car-engine's own re-exports (which already cover `car-ir`,
//! `car-state`, `car-verify`, `car-eventlog`, `car-policy`, and
//! `car-planner`) are reachable through `car_runtime::engine::*`.

pub use car_engine as engine;
pub use car_sandbox as sandbox;
pub use car_active_planner as active_planner;
pub use car_browser as browser;
pub use car_desktop as desktop;
pub use car_ast as ast;
pub use car_voice as voice;
