buildModelListing method

Future<ModelListingCapability> buildModelListing()

Builds a provider with ModelListingCapability

Returns a provider that implements ModelListingCapability for discovering available models.

Throws UnsupportedCapabilityError if the provider doesn't support model listing.

Example:

final modelProvider = await ai()
    .openai()
    .apiKey(apiKey)
    .buildModelListing();

// Direct usage without type casting
final models = await modelProvider.listModels();

Implementation

Future<ModelListingCapability> buildModelListing() async {
  final provider = await build();
  if (provider is! ModelListingCapability) {
    throw UnsupportedCapabilityError(
      'Provider "$_providerId" does not support model listing capabilities. '
      'Supported providers: OpenAI, Anthropic, DeepSeek, Ollama',
    );
  }
  return provider as ModelListingCapability;
}