pub trait LanguageModelProvider: 'static {
// Required methods
fn id(&self) -> LanguageModelProviderId;
fn name(&self) -> LanguageModelProviderName;
fn default_model(&self) -> Option<Arc<dyn LanguageModel>>;
fn provided_models(&self) -> Vec<Arc<dyn LanguageModel>>;
// Provided method
fn default_fast_model(&self) -> Option<Arc<dyn LanguageModel>> { ... }
}