class RubyLLM::Models
def refresh! # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
def refresh! # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity configured = Provider.configured_providers # Log provider status skipped = Provider.providers.values - configured RubyLLM.logger.info "Refreshing models from #{configured.map(&:slug).join(', ')}" if configured.any? RubyLLM.logger.info "Skipping #{skipped.map(&:slug).join(', ')} - providers not configured" if skipped.any? # Store current models except from configured providers current = instance.load_models preserved = current.reject { |m| configured.map(&:slug).include?(m.provider) } all = (preserved + configured.flat_map(&:list_models)).sort_by(&:id) @instance = new(all) @instance end