pub mod capabilities;
pub mod client;
pub mod compact;
pub mod coordinator;
pub mod exporter;
pub mod governor;
pub mod llm_service;
pub mod micro;
pub mod model_catalog;
pub mod observability;
pub mod plugins;
pub mod pool;
pub mod provider_registry;
#[cfg(feature = "anthropic")]
pub mod anthropic;
#[cfg(feature = "azure")]
pub mod azure;
#[cfg(feature = "bedrock")]
pub mod bedrock;
#[cfg(feature = "llamacpp")]
pub mod llamacpp;
#[cfg(feature = "ollama")]
pub mod ollama;
#[cfg(feature = "openai")]
pub mod openai;
pub use capabilities::{
CapabilityRequirements, CapabilityRequirementsBuilder, ModelCapabilities, ModelWithCapabilities,
};
pub use client::{GenerationHints, LLMClient, LLMClientFactory, LLMResponse, Provider};
pub use compact::{
CompactConfig, CompactEvent, CompactionSnapshot, CompactionState, Compactor, TurnEntry,
};
pub use coordinator::{
ConversationMessage, CoordinatorResult, FinishReason, MessageRole, ToolCallRecord,
ToolCallingConfig, ToolCoordinator,
};
pub use exporter::{ExporterRouter, LogExporter, RecordLevel, TracingExporter};
pub use governor::{GovernorConfig, ProviderGovernor};
pub use llm_service::{Breaker, Llm, ModelOverride, TenantModelPolicy};
pub use micro::{MicroCacheConfig, MicroEngine, MicroOutcome, MicroTask};
pub use observability::{LlmCallRecord, ObservabilitySink};
pub use plugins::{install_tracing_router, register_plugins};
pub use pool::{ClientPool, ClientPoolBuilder, PoolConfig, PoolStats, PooledClientGuard};
pub use provider_registry::{ConfigBasedLLMFactory, ProviderRegistry};
pub mod config;
pub mod nvidia_catalog;
pub use config::{ModelConfig, ProviderConfig};
pub use model_catalog::{
Capability, ModelCatalog, ModelProfile, RouteConstraints, SpeedTier, TaskModality,
};
pub use nvidia_catalog::{CatalogEntry, NvidiaCatalogCache, NvidiaConfig};
#[cfg(test)]
mod lib_tests {
use super::{CapabilityRequirements, ModelCapabilities, ProviderRegistry};
#[test]
fn capability_requirements_builder_defaults() {
let reqs = CapabilityRequirements::builder().build();
assert!(reqs.min_context_window.is_none());
}
#[test]
fn model_capabilities_default_context_window() {
let caps = ModelCapabilities::default();
assert!(caps.context_window >= 4096);
}
#[test]
fn provider_registry_type_is_constructible() {
let _ = ProviderRegistry::new();
}
}