Documentation
¶
Index ¶
- func CloneWithPreviousResponseID(opts fantasy.ProviderOptions, previousResponseID string) fantasy.ProviderOptions
- func IsEnvPresetProvider(provider string) bool
- func IsResponsesStoreEnabled(opts fantasy.ProviderOptions) bool
- func MergeMissingModelCostConfig(dst **codersdk.ModelCostConfig, defaults *codersdk.ModelCostConfig)
- func MergeMissingProviderOptions(dst **codersdk.ChatModelProviderOptions, ...)
- func ModelFromConfig(providerHint string, modelName string, providerKeys ProviderAPIKeys, ...) (fantasy.LanguageModel, error)
- func NormalizeProvider(provider string) string
- func OpenAITextVerbosityFromChat(value *string) *fantasyopenai.TextVerbosity
- func ProviderDisplayName(provider string) string
- func ProviderOptionsFromChatModelConfig(model fantasy.LanguageModel, options *codersdk.ChatModelProviderOptions) fantasy.ProviderOptions
- func ReasoningEffortFromChat(provider string, value *string) *string
- func ResolveModelWithProviderHint(modelName, providerHint string) (provider string, model string, err error)
- func SupportedProviders() []string
- func UserAgent() string
- type ConfiguredModel
- type ConfiguredProvider
- type ModelCatalog
- type ProviderAPIKeys
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloneWithPreviousResponseID ¶
func CloneWithPreviousResponseID( opts fantasy.ProviderOptions, previousResponseID string, ) fantasy.ProviderOptions
CloneWithPreviousResponseID shallow-clones the provider options map and the OpenAI Responses entry, setting PreviousResponseID on the clone. The original map and entry are not mutated.
func IsEnvPresetProvider ¶
IsEnvPresetProvider reports whether provider supports env presets.
func IsResponsesStoreEnabled ¶
func IsResponsesStoreEnabled(opts fantasy.ProviderOptions) bool
IsResponsesStoreEnabled checks if the OpenAI Responses provider options are present and have Store set to true. When true, the provider stores conversation history server-side, enabling follow-up chaining via PreviousResponseID.
func MergeMissingModelCostConfig ¶
func MergeMissingModelCostConfig( dst **codersdk.ModelCostConfig, defaults *codersdk.ModelCostConfig, )
MergeMissingModelCostConfig fills unset pricing metadata from defaults.
func MergeMissingProviderOptions ¶
func MergeMissingProviderOptions( dst **codersdk.ChatModelProviderOptions, defaults *codersdk.ChatModelProviderOptions, )
MergeMissingProviderOptions fills unset provider option fields from defaults.
func ModelFromConfig ¶
func ModelFromConfig( providerHint string, modelName string, providerKeys ProviderAPIKeys, userAgent string, ) (fantasy.LanguageModel, error)
ModelFromConfig resolves a provider/model pair and constructs a fantasy language model client using the provided provider credentials. The userAgent is sent as the User-Agent header on every outgoing LLM API request.
func NormalizeProvider ¶
NormalizeProvider canonicalizes a provider name.
func OpenAITextVerbosityFromChat ¶
func OpenAITextVerbosityFromChat(value *string) *fantasyopenai.TextVerbosity
OpenAITextVerbosityFromChat normalizes chat-config text verbosity values for OpenAI and returns the canonical provider verbosity value.
func ProviderDisplayName ¶
ProviderDisplayName returns a default display name for a provider.
func ProviderOptionsFromChatModelConfig ¶
func ProviderOptionsFromChatModelConfig( model fantasy.LanguageModel, options *codersdk.ChatModelProviderOptions, ) fantasy.ProviderOptions
ProviderOptionsFromChatModelConfig converts chat model provider options to fantasy provider options used for inference calls.
func ReasoningEffortFromChat ¶
ReasoningEffortFromChat normalizes chat-config reasoning effort values for a provider and returns the canonical provider effort value.
func SupportedProviders ¶
func SupportedProviders() []string
SupportedProviders returns all chat providers supported by Fantasy.
func UserAgent ¶
func UserAgent() string
UserAgent returns the User-Agent string sent on all outgoing LLM API requests made by Coder's built-in chat (chatd). The format mirrors conventions used by other coding agents so that LLM providers can identify traffic originating from Coder.
Example: coder-agents/v2.21.0 (linux/amd64)
Types ¶
type ConfiguredModel ¶
ConfiguredModel is an enabled model loaded from database config.
type ConfiguredProvider ¶
ConfiguredProvider is an enabled provider loaded from database config.
type ModelCatalog ¶
type ModelCatalog struct {
// contains filtered or unexported fields
}
func NewModelCatalog ¶
func NewModelCatalog(keys ProviderAPIKeys) *ModelCatalog
func (*ModelCatalog) ListConfiguredModels ¶
func (c *ModelCatalog) ListConfiguredModels( configuredProviders []ConfiguredProvider, configuredModels []ConfiguredModel, ) (codersdk.ChatModelsResponse, bool)
ListConfiguredModels returns a model catalog from enabled DB-backed model configs. The second return value reports whether DB-backed models were used.
func (*ModelCatalog) ListConfiguredProviderAvailability ¶
func (c *ModelCatalog) ListConfiguredProviderAvailability( configuredProviders []ConfiguredProvider, ) codersdk.ChatModelsResponse
ListConfiguredProviderAvailability returns provider availability derived from deployment/env keys merged with enabled DB provider keys.
type ProviderAPIKeys ¶
type ProviderAPIKeys struct {
OpenAI string
Anthropic string
ByProvider map[string]string
BaseURLByProvider map[string]string
}
ProviderAPIKeys contains API keys for provider calls.
func MergeProviderAPIKeys ¶
func MergeProviderAPIKeys(fallback ProviderAPIKeys, providers []ConfiguredProvider) ProviderAPIKeys
MergeProviderAPIKeys overlays configured provider keys over fallback keys.
func (ProviderAPIKeys) APIKey ¶
func (k ProviderAPIKeys) APIKey(provider string) string
APIKey returns the effective API key for a provider.
func (ProviderAPIKeys) BaseURL ¶
func (k ProviderAPIKeys) BaseURL(provider string) string
BaseURL returns the configured base URL for a provider.