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