//! Nodes Registry Gear
//!
//! This gear manages node information in the `Gears` deployment.
//! A node represents a deployment unit (host, VM, container) where `Gears` components are running.
//!
//! Each node contains:
//! - System information (OS, CPU, memory, etc.)
//! - System capabilities (hardware, software features)
//! - Node metadata (ID, hostname, IP, etc.)
//!
//! The gear provides REST API endpoints to:
//! - List all nodes
//! - Get node information by ID
//! - Access node sysinfo via /nodes/{id}/sysinfo
//! - Access node syscap via /nodes/{id}/syscap
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]

// === PUBLIC CONTRACT ===
pub use nodes_registry_sdk::{
    BatteryInfo, CpuInfo, GpuInfo, HostInfo, MemoryInfo, Node, NodeSysCap, NodeSysInfo,
    NodesRegistryClient, NodesRegistryError, OsInfo, SysCap,
};

// === MODULE DEFINITION ===
pub mod gear;
pub use gear::NodesRegistry;

// === INTERNAL MODULES ===
#[doc(hidden)]
pub mod api;
#[doc(hidden)]
pub mod config;
#[doc(hidden)]
pub mod domain;
