MCPcopy Create free account
hub / github.com/compozy/agh / providerModelConfigsFromPayload

Function providerModelConfigsFromPayload

internal/api/core/settings.go:979–1002  ·  view source on GitHub ↗
(
	payloads []contract.SettingsProviderModelPayload,
)

Source from the content-addressed store, hash-verified

977}
978
979func providerModelConfigsFromPayload(
980 payloads []contract.SettingsProviderModelPayload,
981) []aghconfig.ProviderModelConfig {
982 if payloads == nil {
983 return nil
984 }
985 models := make([]aghconfig.ProviderModelConfig, 0, len(payloads))
986 for _, payload := range payloads {
987 models = append(models, aghconfig.ProviderModelConfig{
988 ID: strings.TrimSpace(payload.ID),
989 DisplayName: strings.TrimSpace(payload.DisplayName),
990 ContextWindow: cloneInt64Ptr(payload.ContextWindow),
991 MaxInputTokens: cloneInt64Ptr(payload.MaxInputTokens),
992 MaxOutputTokens: cloneInt64Ptr(payload.MaxOutputTokens),
993 SupportsTools: cloneBoolPtr(payload.SupportsTools),
994 SupportsReasoning: cloneBoolPtr(payload.SupportsReasoning),
995 ReasoningEfforts: trimStringSliceInternal(payload.ReasoningEfforts),
996 DefaultReasoningEffort: strings.TrimSpace(payload.DefaultReasoningEffort),
997 CostInputPerMillion: cloneFloat64Ptr(payload.CostInputPerMillion),
998 CostOutputPerMillion: cloneFloat64Ptr(payload.CostOutputPerMillion),
999 })
1000 }
1001 return models
1002}
1003
1004func cloneFloat64Ptr(value *float64) *float64 {
1005 if value == nil {

Callers 1

Calls 5

appendFunction · 0.85
trimStringSliceInternalFunction · 0.85
cloneInt64PtrFunction · 0.70
cloneBoolPtrFunction · 0.70
cloneFloat64PtrFunction · 0.70

Tested by

no test coverage detected