pub mod adapters;
pub mod application;
pub mod domain;
pub mod error;
pub mod graph;
pub mod infrastructure;
pub mod ports;
pub mod registry;
pub mod result;
pub mod showcase;
pub mod templates;
#[cfg(feature = "static-di")]
pub mod static_di;
#[cfg(feature = "ai")]
pub mod ai;
#[cfg(feature = "container")]
pub mod container;
pub use crate::{error::hex_error::Hexserror, result::hex_result::HexResult};
pub use crate::domain::{Aggregate, DomainEvent, DomainService, HexEntity, HexValueItem};
pub use crate::ports::{InputPort, OutputPort, Query, Repository, UseCase};
pub use crate::adapters::{Adapter, Mapper};
pub use crate::application::{Application, Directive, DirectiveHandler, QueryHandler};
pub use crate::infrastructure::Config;
pub use inventory;
pub use crate::error::codes as error_codes;
pub use crate::graph::{
GraphBuilder, GraphMetadata, HexEdge, HexGraph, HexNode, Layer, NodeId, Relationship, Role,
};
pub use crate::showcase::{ArcGraphExt, Describable, Inspectable, PrettyPrint};
#[cfg(feature = "macros")]
pub use hexser_macros::{
HexAdapter, HexAggregate, HexDirective, HexDomain, HexEntity, HexPort, HexQuery, HexRepository,
HexValueItem,
};
pub mod prelude {
pub use crate::{HexResult, Hexserror};
pub use crate::domain::{Aggregate, DomainEvent, DomainService, HexEntity, HexValueItem};
pub use crate::ports::{InputPort, OutputPort, Query, Repository, UseCase};
pub use crate::adapters::{Adapter, Mapper};
pub use crate::application::{Application, Directive, DirectiveHandler, QueryHandler};
pub use crate::infrastructure::Config;
pub use crate::graph::{
GraphBuilder, GraphMetadata, HexEdge, HexGraph, HexNode, Layer, NodeId, Relationship, Role,
};
pub use crate::showcase::{ArcGraphExt, Describable, Inspectable, PrettyPrint};
#[cfg(feature = "macros")]
pub use hexser_macros::{
HexAdapter, HexAggregate, HexDirective, HexDomain, HexEntity, HexPort, HexQuery, HexRepository,
HexValueItem,
};
pub use crate::registry::{ComponentEntry, ComponentRegistry, NodeInfo, Registrable};
#[cfg(feature = "ai")]
pub use crate::ai::{AIContext, ContextBuilder};
#[cfg(feature = "container")]
pub use crate::container::{Container, Provider, Scope};
#[cfg(feature = "static-di")]
pub use crate::static_di::{StaticBuilder, StaticContainer};
}