class RubyLLM::Models

def refresh! # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity

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