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({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