pub mod backend;
pub mod capability;
pub mod chat;
pub mod error;
pub mod registry;
pub mod selection;
pub use backend::{Backend, BackendKind};
pub use capability::Capability;
pub use chat::{
BoxFuture, ChatBackend, ChatMessage, ChatRequest, ChatResponse, ChatRole, DynChatBackend,
FinishReason, LlmError, ResponseFormat, TokenUsage, ToolCall, ToolDefinition,
};
pub use error::{BackendError, BackendErrorKind};
pub use registry::{
ChatBackendCapabilities, ChatBackendDescriptor, ChatBackendRegistry, ContextWindowTokens,
LatencyMillis, ModelName, ProviderName, QualityScore, RegisteredChatBackend,
RegistryValueError, ResolvedChatBackend,
};
pub use selection::{
AgentRequirements, BackendRequirements, BackendSelector, CapabilityAssignment,
ChatBackendSelectionConfig, ChatBackendSelectionConfigError, ComplianceLevel, CostClass,
CostTier, DataSovereignty, Jurisdiction, LatencyClass, ModelSelectorTrait, ProviderAssignment,
ProviderRequest, RequiredCapabilities, SelectionCriteria, TaskComplexity,
};