selectProviders method

  1. @override
List<AIProvider> selectProviders(
  1. List<AIProvider> available,
  2. Map<String, List<Duration>> latencyHistory
)
override

Orders the available providers based on this strategy's logic.

Implementation

@override
List<AIProvider> selectProviders(
  List<AIProvider> available,
  Map<String, List<Duration>> latencyHistory,
) {
  final sorted = List<AIProvider>.from(available);
  sorted.sort((a, b) {
    final aCost = _getCost(a);
    final bCost = _getCost(b);
    return aCost.compareTo(bCost);
  });
  return sorted;
}