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

Function SessionProviderOptionPayloadsFromConfig

internal/api/core/conversions.go:1246–1270  ·  view source on GitHub ↗

SessionProviderOptionPayloadsFromConfig converts the merged workspace config into a stable, UI-ready list of visible provider options.

(cfg *aghconfig.Config)

Source from the content-addressed store, hash-verified

1244// SessionProviderOptionPayloadsFromConfig converts the merged workspace config
1245// into a stable, UI-ready list of visible provider options.
1246func SessionProviderOptionPayloadsFromConfig(cfg *aghconfig.Config) []contract.SessionProviderOptionPayload {
1247 payloadsByName := make(map[string]contract.SessionProviderOptionPayload, len(aghconfig.BuiltinProviders()))
1248 for name := range aghconfig.BuiltinProviders() {
1249 payload, ok := sessionProviderOptionPayloadFromConfig(cfg, name)
1250 if !ok {
1251 continue
1252 }
1253 payloadsByName[payload.Name] = payload
1254 }
1255 if cfg != nil {
1256 for name := range cfg.Providers {
1257 payload, ok := sessionProviderOptionPayloadFromConfig(cfg, name)
1258 if !ok {
1259 continue
1260 }
1261 payloadsByName[payload.Name] = payload
1262 }
1263 }
1264
1265 defaultProvider := ""
1266 if cfg != nil {
1267 defaultProvider = aghconfig.CanonicalProviderName(cfg.Defaults.Provider)
1268 }
1269 return sortSessionProviderOptionPayloads(payloadsByName, defaultProvider)
1270}
1271
1272func sessionProviderOptionPayloadFromConfig(
1273 cfg *aghconfig.Config,