Skip to main content

car_runtime/
lib.rs

1//! car-runtime — umbrella entry point for external Rust consumers
2//! of Common Agent Runtime.
3//!
4//! Bundles the runtime execution layer (engine cluster, sandbox,
5//! active planner) and the perception cluster (browser, desktop,
6//! ast, voice) under a single `cargo add`. External consumers
7//! reach types through namespaced sub-modules — one umbrella
8//! dep replaces ~7 per-crate deps.
9//!
10//! Sibling published crates intentionally NOT exposed through
11//! this umbrella (each is a distinct subsystem consumed
12//! independently):
13//!
14//! - [`car-memgine`](https://docs.rs/car-memgine) — graph memory + skill distillation
15//! - [`car-inference`](https://docs.rs/car-inference) — model gateway
16//! - [`car-multi`](https://docs.rs/car-multi) — multi-agent coordination + built-in agents
17//! - [`car-server-core`](https://docs.rs/car-server-core) — daemon protocol types
18//!
19//! See [`Parslee-ai/car#205`](https://github.com/Parslee-ai/car/issues/205)
20//! for the publish-surface rationale.
21//!
22//! ## Migration from per-crate deps
23//!
24//! Replace `use car_X::Y` with `use car_runtime::X::Y`:
25//!
26//! ```ignore
27//! // Before:
28//! use car_engine::Runtime;
29//! use car_sandbox::SandboxPolicy;
30//! use car_desktop::models::Frame;
31//!
32//! // After:
33//! use car_runtime::engine::Runtime;
34//! use car_runtime::sandbox::SandboxPolicy;
35//! use car_runtime::desktop::models::Frame;
36//! ```
37//!
38//! The module-renaming `pub use` preserves all nested module
39//! access transitively — `car_runtime::desktop::models::*` works
40//! exactly as `car_desktop::models::*` did, and all of
41//! car-engine's own re-exports (which already cover `car-ir`,
42//! `car-state`, `car-verify`, `car-eventlog`, `car-policy`, and
43//! `car-planner`) are reachable through `car_runtime::engine::*`.
44
45pub use car_engine as engine;
46pub use car_sandbox as sandbox;
47pub use car_active_planner as active_planner;
48pub use car_browser as browser;
49pub use car_desktop as desktop;
50pub use car_ast as ast;
51pub use car_voice as voice;