//! Runtime-configuration primitives shared by vehicle-specific schemas. //! //! This crate has no knowledge of MAVLink, filesystems, board routing, motors, //! or a particular airframe. It owns the staged-versus-active lifecycle and //! parameter metadata; vehicle crates provide the typed schema and complete //! validation. CBOR storage and MAVLink transport are separate adapters. #![no_std] extern crate self as kaptan_config; pub mod error; pub mod field; pub mod lifecycle; pub mod storage; pub mod validation; pub use error::{ConfigViolation, ValidationRule}; pub use field::{ ApplyPolicy, ConfigModel, ConfigValue, FieldDescriptor, FieldId, FieldWriteError, ValueKind, }; pub use kaptan_config_derive::ConfigValidate; pub use lifecycle::{BeginError, CommitError, ConfigManager, ConfigState, SetError, StartupError}; pub use storage::{Generation, ProfileStore}; pub use validation::{ConfigAggregate, ConfigSection, ValidateFields};