PruneDisabledProviderKeys removes entries from keys that do not belong to an enabled provider. It clears ByProvider and BaseURLByProvider entries for disabled providers and zeroes the legacy OpenAI and Anthropic fields when those providers are not enabled.
(keys *ProviderAPIKeys, enabledProviders map[string]struct{})
| 541 | // legacy OpenAI and Anthropic fields when those providers are not |
| 542 | // enabled. |
| 543 | func PruneDisabledProviderKeys(keys *ProviderAPIKeys, enabledProviders map[string]struct{}) { |
| 544 | for provider := range keys.ByProvider { |
| 545 | if _, ok := enabledProviders[provider]; ok { |
| 546 | continue |
| 547 | } |
| 548 | delete(keys.ByProvider, provider) |
| 549 | delete(keys.BaseURLByProvider, provider) |
| 550 | } |
| 551 | if _, ok := enabledProviders[NormalizeProvider("openai")]; !ok { |
| 552 | keys.OpenAI = "" |
| 553 | } |
| 554 | if _, ok := enabledProviders[NormalizeProvider("anthropic")]; !ok { |
| 555 | keys.Anthropic = "" |
| 556 | } |
| 557 | } |
| 558 | |
| 559 | func newChatModel(provider, modelID, displayName string) codersdk.ChatModel { |
| 560 | name := strings.TrimSpace(displayName) |