1pub mod cache;
4pub mod error;
5pub mod http_client;
6pub mod masking;
7pub mod model_catalog;
8pub mod models;
9pub mod prompt_ir;
10pub mod protocol;
11pub mod provider;
12pub mod provider_factory;
13pub mod provider_registry;
14pub mod providers;
15pub mod resolved_model;
16pub mod router;
17pub mod types;
18
19pub mod api {
20 pub mod models {
21 pub use crate::models::*;
22 }
23
24 pub mod stream_tool_accumulator {
25 pub use crate::providers::common::stream_tool_accumulator::*;
26 }
27}
28
29pub use bamboo_config::Config;
30pub use cache::{CacheTtl, PromptCachePlan};
31pub use error::ProxyAuthRequiredError;
32pub use model_catalog::ModelCatalogService;
33pub use models::*;
34pub use prompt_ir::{Continuation, PromptIR, Segment, SegmentRole};
35pub use protocol::{
36 AnthropicProtocol, FromProvider, GeminiProtocol, OpenAIProtocol, ProtocolError, ProtocolResult,
37 ToProvider,
38};
39pub use provider::{LLMError, LLMProvider, LLMRequestOptions, LLMStream};
40pub use provider_factory::{
41 create_provider, create_provider_by_name, create_provider_with_dir, validate_provider_config,
42 AVAILABLE_PROVIDERS,
43};
44pub use provider_registry::ProviderRegistry;
45pub use providers::{AnthropicProvider, CopilotProvider, GeminiProvider, OpenAIProvider};
46pub use resolved_model::ResolvedModel;
47pub use router::ProviderModelRouter;
48pub use types::LLMChunk;