MCPcopy Index your code
hub / github.com/coder/coder / configuredProvidersFromAIProviders

Method configuredProvidersFromAIProviders

coderd/exp_chats.go:6662–6683  ·  view source on GitHub ↗
(ctx context.Context, providers []database.AIProvider)

Source from the content-addressed store, hash-verified

6660}
6661
6662func (api *API) configuredProvidersFromAIProviders(ctx context.Context, providers []database.AIProvider) ([]chatprovider.ConfiguredProvider, error) {
6663 if len(providers) == 0 {
6664 return nil, nil
6665 }
6666 providerIDs := make([]uuid.UUID, 0, len(providers))
6667 for _, provider := range providers {
6668 providerIDs = append(providerIDs, provider.ID)
6669 }
6670 keys, err := api.Database.GetAIProviderKeysByProviderIDs(ctx, providerIDs)
6671 if err != nil {
6672 return nil, xerrors.Errorf("get AI provider keys: %w", err)
6673 }
6674 keysByProviderID := make(map[uuid.UUID][]database.AIProviderKey, len(providers))
6675 for _, key := range keys {
6676 keysByProviderID[key.ProviderID] = append(keysByProviderID[key.ProviderID], key)
6677 }
6678 configuredProviders := make([]chatprovider.ConfiguredProvider, 0, len(providers))
6679 for _, provider := range providers {
6680 configuredProviders = append(configuredProviders, api.configuredProviderFromAIProviderKeys(provider, keysByProviderID[provider.ID]))
6681 }
6682 return configuredProviders, nil
6683}
6684
6685func (api *API) configuredProviderFromAIProviderKeys(provider database.AIProvider, keys []database.AIProviderKey) chatprovider.ConfiguredProvider {
6686 apiKey := ""

Callers 1

Calls 3

ErrorfMethod · 0.45

Tested by

no test coverage detected