roboticus_core/lib.rs
1//! # roboticus-core
2//!
3//! Core types, configuration, error handling, and encrypted credential storage
4//! for the Roboticus agent runtime. This is the leaf crate in the dependency
5//! graph -- every other workspace crate depends on it.
6//!
7//! ## Key Types
8//!
9//! - [`RoboticusConfig`] -- Central configuration loaded from `roboticus.toml`
10//! - [`RoboticusError`] / [`Result`] -- Unified error type (13 variants) used across all crates
11//! - [`Keystore`] -- Encrypted key-value storage for API keys and secrets
12//! - [`SurvivalTier`] -- Financial health tier derived from on-chain balance
13//!
14//! ## Modules
15//!
16//! - `config` -- Configuration structs, TOML parsing, tilde expansion, validation
17//! - `error` -- `RoboticusError` enum and `Result` type alias
18//! - `keystore` -- Encrypted JSON file store with machine-key auto-unlock
19//! - `personality` -- OS/firmware personality loading from workspace
20//! - `style` -- Terminal theme (CRT, typewriter effect, icons)
21//! - `types` -- Shared domain enums: `SurvivalTier`, `AgentState`, `ApiFormat`,
22//! `ModelTier`, `PolicyDecision`, `RiskLevel`, `SkillManifest`, etc.
23
24pub mod config;
25pub mod config_utils;
26pub mod error;
27pub mod input_capability_scan;
28pub mod keystore;
29pub mod personality;
30pub mod security;
31pub mod style;
32pub mod types;
33
34pub use config::{RoboticusConfig, home_dir, resolve_config_path};
35pub use error::{RoboticusError, Result};
36pub use keystore::Keystore;
37pub use types::*;