1pub mod claim_check;
62pub mod component_metadata_catalog;
63pub mod context;
64mod context_builder;
65pub mod datasource;
66pub mod health_registry;
67pub(crate) mod hot_reload;
68pub mod idempotent;
69pub mod language_registry;
70pub mod lifecycle;
71mod registry;
72pub(crate) use registry::{
76 ClaimCheckRegistry, IdempotentRegistry, SharedClaimCheckRegistry, SharedIdempotentRegistry,
77};
78pub(crate) mod shared;
79pub mod startup_validation;
80pub mod step;
81pub mod template;
82
83#[cfg(feature = "export-internal-adapters")]
84pub mod route {
85 pub use crate::lifecycle::adapters::route_compiler::{
86 PipelineRuntimeCtx, RouteChannelService, compose_pipeline, compose_pipeline_with_contracts,
87 compose_pipeline_with_handler, compose_traced_pipeline,
88 };
89 pub use crate::lifecycle::adapters::route_types::Route;
90 pub use crate::lifecycle::adapters::step_compilers::CompiledStep;
91 pub use crate::lifecycle::application::route_definition::*;
92 pub use crate::lifecycle::domain::route::RouteSpec;
93}
94
95#[cfg(feature = "export-internal-adapters")]
96pub mod route_controller {
97 pub use crate::lifecycle::adapters::route_controller::*;
98}
99
100pub mod supervising_route_controller {
101 pub use crate::lifecycle::adapters::controller_actor::spawn_supervision_task;
102}
103
104pub mod reload_watcher {
105 pub use crate::hot_reload::adapters::reload_watcher::*;
106 pub use crate::hot_reload::application::FunctionReloadContext;
107 pub use crate::hot_reload::application::execute_reload_actions;
108 pub use crate::hot_reload::domain::ReloadAction;
109}
110
111pub use crate::hot_reload::adapters::ReloadWatcher;
112pub use crate::hot_reload::application::FunctionReloadContext;
113pub use crate::hot_reload::application::execute_reload_actions;
114pub use crate::hot_reload::domain::ReloadAction;
115pub use crate::language_registry::LanguageRegistryError;
116pub use crate::lifecycle::adapters::controller_actor::RouteControllerHandle;
117pub use crate::lifecycle::adapters::controller_actor::spawn_controller_actor;
118pub use crate::lifecycle::adapters::controller_actor::spawn_supervision_task;
119#[cfg(feature = "export-internal-adapters")]
120pub use crate::lifecycle::adapters::exchange_uow::ExchangeUoWLayer;
121#[cfg(feature = "export-internal-adapters")]
122pub use crate::lifecycle::adapters::redb_journal::{
123 JournalDurability, JournalEntry, JournalInspectFilter, RedbJournalOptions,
124 RedbRuntimeEventJournal,
125};
126#[cfg(feature = "export-internal-adapters")]
127pub use crate::lifecycle::adapters::route_controller::DefaultRouteController;
128#[cfg(feature = "export-internal-adapters")]
129pub use crate::lifecycle::adapters::route_types::Route;
130#[cfg(feature = "export-internal-adapters")]
131pub use crate::lifecycle::adapters::{
132 InMemoryCommandDedup, InMemoryEventPublisher, InMemoryProjectionStore, InMemoryRouteRepository,
133 InMemoryRuntimeStore, RuntimeExecutionAdapter,
134};
135pub use crate::lifecycle::application::ports::{
136 CommandDedupPort, EventPublisherPort, InFlightCountResult, ProjectionStorePort,
137 RouteRepositoryPort, RouteStatusProjection, RuntimeEventJournalPort, RuntimeExecutionPort,
138 RuntimeUnitOfWorkPort,
139};
140pub use crate::lifecycle::application::runtime_bus::RuntimeBus;
141pub use crate::lifecycle::application::{BuilderStep, RouteDefinition};
142pub use crate::lifecycle::domain::{
143 RouteLifecycleCommand, RouteRuntimeAggregate, RouteRuntimeState, RuntimeEvent,
144};
145pub use crate::shared::components::domain::Registry;
146pub use crate::shared::observability::adapters::TracingProcessor;
147pub use crate::shared::observability::domain::{
148 DetailLevel, FileOutput, OutputFormat, StdoutOutput, TracerConfig, TracerOutputs,
149};
150pub use context::CamelContext;
151pub use language_registry::from_config as languages_from_config;
152pub use template::TemplateRegistry;
153
154pub use camel_api::CamelError;
156pub use camel_api::{RouteAction, RouteController, RouteStatus};
157
158impl From<lifecycle::domain::DomainError> for CamelError {
159 fn from(e: lifecycle::domain::DomainError) -> Self {
160 CamelError::RouteError(e.to_string())
161 }
162}
163
164impl From<crate::language_registry::LanguageRegistryError> for CamelError {
165 fn from(e: crate::language_registry::LanguageRegistryError) -> Self {
166 CamelError::Config(e.to_string())
167 }
168}