OpenAICompatibleProviderConfig class

OpenAI-compatible provider configuration

This configuration defines the capabilities and behavior of providers that use OpenAI-compatible APIs. Since these providers can vary significantly in their actual capabilities, this configuration provides:

  • Default capability assumptions for unknown models
  • Model-specific overrides for known models
  • Flexible capability detection for dynamic scenarios

Constructors

OpenAICompatibleProviderConfig.new({required String providerId, required String displayName, required String description, required String defaultBaseUrl, required String defaultModel, required Set<LLMCapability> supportedCapabilities, Set<LLMCapability>? defaultCapabilities, bool allowDynamicCapabilities = true, Map<String, ModelCapabilityConfig> modelConfigs = const {}, bool supportsReasoningEffort = false, bool supportsStructuredOutput = false, Map<String, String> parameterMappings = const {}, RequestBodyTransformer? requestBodyTransformer, HeadersTransformer? headersTransformer})
const

Properties

allowDynamicCapabilities bool
Whether to allow dynamic capability detection
final
defaultBaseUrl String
Default base URL for API requests
final
defaultCapabilities Set<LLMCapability>?
Default capabilities assumed for unknown models
final
defaultModel String
Default model name
final
description String
Provider description
final
displayName String
Display name for UI
final
effectiveDefaultCapabilities Set<LLMCapability>
Get effective default capabilities for unknown models
no setter
hashCode int
The hash code for this object.
no setterinherited
headersTransformer HeadersTransformer?
Custom headers transformer for provider-specific headers
final
modelConfigs Map<String, ModelCapabilityConfig>
Provider-specific model configurations
final
parameterMappings Map<String, String>
Custom parameter mappings for this provider
final
providerId String
Provider identifier
final
requestBodyTransformer RequestBodyTransformer?
Custom request body transformer for provider-specific parameters
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
supportedCapabilities Set<LLMCapability>
Supported capabilities for this provider
final
supportsReasoningEffort bool
Whether this provider supports reasoning effort parameter
final
supportsStructuredOutput bool
Whether this provider supports structured output
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited