Skip to main content

bamboo_llm/
lib.rs

1//! LLM provider abstraction and integration for Bamboo.
2
3pub 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;