(providers []chatprovider.ConfiguredProvider)
| 8697 | } |
| 8698 | |
| 8699 | func ensureUniqueConfiguredProviderTypes(providers []chatprovider.ConfiguredProvider) error { |
| 8700 | seen := make(map[string]uuid.UUID, len(providers)) |
| 8701 | for _, provider := range providers { |
| 8702 | normalizedProvider := chatprovider.NormalizeProvider(provider.Provider) |
| 8703 | if normalizedProvider == "" { |
| 8704 | continue |
| 8705 | } |
| 8706 | if existingProviderID, ok := seen[normalizedProvider]; ok && existingProviderID != provider.ProviderID { |
| 8707 | return xerrors.Errorf("multiple enabled AI providers use provider type %q; select an AI provider by ID", normalizedProvider) |
| 8708 | } |
| 8709 | seen[normalizedProvider] = provider.ProviderID |
| 8710 | } |
| 8711 | return nil |
| 8712 | } |
| 8713 | |
| 8714 | func (p *Server) resolveUserProviderAPIKeysForProvider( |
| 8715 | ctx context.Context, |
no test coverage detected