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>{
    LLMCapability.chat,
    LLMCapability.streaming,
    LLMCapability.embedding,
  };

  // Add capabilities based on model and configuration
  if (config.supportsToolCalling) {
    capabilities.add(LLMCapability.toolCalling);
  }

  if (config.supportsVision) {
    capabilities.add(LLMCapability.vision);
  }

  if (config.supportsReasoning) {
    capabilities.add(LLMCapability.reasoning);
  }

  if (config.supportsSearch || config.isLiveSearchEnabled) {
    capabilities.add(LLMCapability.liveSearch);
  }

  return capabilities;
}