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