supportedCapabilities property

  1. @override
Set<LLMCapability> get supportedCapabilities
override

Set of capabilities this provider supports

This represents the general capabilities of the provider, but actual support may vary by specific model or configuration.

Implementation

@override
Set<LLMCapability> get supportedCapabilities {
  final capabilities = {
    LLMCapability.chat,
    LLMCapability.streaming,
    LLMCapability.embedding,
    LLMCapability.textToSpeech,
    LLMCapability.speechToText,
    LLMCapability.toolCalling,
    LLMCapability.reasoning,
    LLMCapability.vision,
    LLMCapability.imageGeneration,
    LLMCapability.fileManagement,
    LLMCapability.moderation,
    LLMCapability.assistants,
    LLMCapability.completion,
    LLMCapability.modelListing,
  };

  // Add OpenAI Responses API capability if enabled
  if (config.useResponsesAPI) {
    capabilities.add(LLMCapability.openaiResponses);
  }

  return capabilities;
}