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