Function: resolveProviderOrder()
resolveProviderOrder(
available,preferences?):string[]
Defined in: packages/agentos/src/core/media/ProviderPreferences.ts:129
Filter and reorder an "available" provider list according to user preferences.
Resolution rules (applied in order):
- If
preferencesisundefinedor empty, returnavailableunchanged. - If
preferredis set, keep only providers that appear in bothavailableandpreferred, preserving the order ofpreferred. - If
blockedis set, remove any provider whose ID appears inblocked.
The result is never longer than available and never contains duplicates.
Parameters
available
string[]
Provider IDs currently available in the system.
preferences?
Optional preference configuration.
Returns
string[]
Filtered and reordered provider ID list.
Example
resolveProviderOrder(['a', 'b', 'c'], { preferred: ['c', 'a'] });
// => ['c', 'a']
resolveProviderOrder(['a', 'b', 'c'], { blocked: ['b'] });
// => ['a', 'c']