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;
115#[cfg(feature = "export-internal-adapters")]
116pub use crate::idempotent::RedbIdempotentRepository;
117pub use crate::language_registry::LanguageRegistryError;
118pub use crate::lifecycle::adapters::controller_actor::RouteControllerHandle;
119pub use crate::lifecycle::adapters::controller_actor::spawn_controller_actor;
120pub use crate::lifecycle::adapters::controller_actor::spawn_supervision_task;
121#[cfg(feature = "export-internal-adapters")]
122pub use crate::lifecycle::adapters::exchange_uow::ExchangeUoWLayer;
123#[cfg(feature = "export-internal-adapters")]
124pub use crate::lifecycle::adapters::redb_journal::{
125 JournalDurability, JournalEntry, JournalInspectFilter, RedbJournalOptions,
126 RedbRuntimeEventJournal,
127};
128
129#[cfg(feature = "export-internal-adapters")]
130pub use crate::lifecycle::adapters::route_controller::DefaultRouteController;
131#[cfg(feature = "export-internal-adapters")]
132pub use crate::lifecycle::adapters::route_types::Route;
133#[cfg(feature = "export-internal-adapters")]
134pub use crate::lifecycle::adapters::{
135 InMemoryCommandDedup, InMemoryEventPublisher, InMemoryProjectionStore, InMemoryRouteRepository,
136 InMemoryRuntimeStore, RuntimeExecutionAdapter,
137};
138pub use crate::lifecycle::application::ports::{
139 CommandDedupPort, EventPublisherPort, InFlightCountResult, ProjectionStorePort,
140 RouteRepositoryPort, RouteStatusProjection, RuntimeEventJournalPort, RuntimeExecutionPort,
141 RuntimeUnitOfWorkPort,
142};
143pub use crate::lifecycle::application::runtime_bus::RuntimeBus;
144pub use crate::lifecycle::application::{BuilderStep, RouteDefinition};
145pub use crate::lifecycle::domain::{
146 RouteLifecycleCommand, RouteRuntimeAggregate, RouteRuntimeState, RuntimeEvent,
147};
148pub use crate::shared::components::domain::Registry;
149pub use crate::shared::observability::adapters::TracingProcessor;
150pub use crate::shared::observability::domain::{
151 DetailLevel, FileOutput, OutputFormat, StdoutOutput, TracerConfig, TracerOutputs,
152};
153pub use context::CamelContext;
154pub use language_registry::from_config as languages_from_config;
155pub use template::TemplateRegistry;
156
157pub use camel_api::CamelError;
159pub use camel_api::{RouteAction, RouteController, RouteStatus};
160
161impl From<lifecycle::domain::DomainError> for CamelError {
162 fn from(e: lifecycle::domain::DomainError) -> Self {
163 CamelError::RouteError(e.to_string())
164 }
165}
166
167impl From<crate::language_registry::LanguageRegistryError> for CamelError {
168 fn from(e: crate::language_registry::LanguageRegistryError) -> Self {
169 CamelError::Config(e.to_string())
170 }
171}