// file: kb-core/src/module.rs // version: 1 //! Module identity and module-kind primitives. /// Stable module name. #[derive(Clone, Debug, Eq, PartialEq)] pub struct ModuleName(pub std::string::String); /// Stable semantic module version. #[derive(Clone, Debug, Eq, PartialEq)] pub struct ModuleVersion(pub std::string::String); /// Processing module category. #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum ModuleKind { /// Raw transaction ingestion. Ingestor, /// Generic Solana extractor. Extractor, /// Program observation builder. Observer, /// Protocol decoder. Decoder, /// Business materializer. Materializer, /// Aggregation stage. Aggregator, /// Validation stage. Validator, }