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