1pub mod cache_manager;
6pub mod config_manager;
7pub mod cost_tracker;
8pub mod embeddings;
9pub mod error_handler;
10pub mod event_bus;
11pub mod llm_client;
12pub mod observability;
13pub mod storage_engine;
14pub mod streaming;
15pub mod utils;
16
17pub use cache_manager::CacheManager;
18pub use config_manager::{ConfigManager, GlobalSettings, ProviderConfig};
19pub use cost_tracker::CostTracker;
20pub use embeddings::{
21 CacheStats, CohereEmbeddings, EmbeddingCache, EmbeddingModel, EmbeddingProvider, Embeddings,
22 EmbeddingsConfig, EmbeddingsFactory, HuggingFaceEmbeddings, LocalEmbeddings, OpenAIEmbeddings,
23 DEFAULT_EMBEDDING_DIMENSION, DEFAULT_EMBEDDING_MODEL,
24};
25
26#[cfg(any(feature = "mock", test))]
28pub use embeddings::MockEmbeddingModel;
29pub use error_handler::{ErrorHandler, ShError, ShResult};
30pub use event_bus::{Event, EventBus, HandlerId};
31pub use llm_client::{
32 LlmClient, LlmClientTrait, LlmProvider, LlmRequestConfig, LlmResponse, Message, MessageRole,
33 TokenUsage,
34};
35pub use observability::{
36 Counter, Gauge, Histogram, LogFormat, LogLevel, MetricValue, Observability,
37 ObservabilityConfig, SpanGuard,
38};
39pub use storage_engine::StorageEngine;
40pub use streaming::{
41 AbortableStream,
42 CallbackStream,
43 ContentBlockType,
44 ContentDelta,
45 HttpAdapter,
47 HttpConfig,
48 HttpRequest,
49 HttpResponseStream,
50 MessageStream,
51 OnChunkCallback,
52 SseEvent,
53 SseParser,
54 SseStream,
55 StreamEvent,
56 StreamHandler,
57 StreamProvider,
58 StreamState,
59 StreamUsage,
60 WebSocketAdapter,
62 WebSocketConfig,
63 WebSocketMessage,
64 WebSocketMessageStream,
65};
66pub use utils::{generate_prefixed_id, generate_short_id};