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

Method aiProviderConfigs

coderd/x/chatd/chatd.go:8672–8697  ·  view source on GitHub ↗
(ctx context.Context, providers []database.AIProvider)

Source from the content-addressed store, hash-verified

8670}
8671
8672func (p *Server) aiProviderConfigs(ctx context.Context, providers []database.AIProvider) ([]chatprovider.ConfiguredProvider, error) {
8673 if len(providers) == 0 {
8674 return nil, nil
8675 }
8676 providerIDs := make([]uuid.UUID, 0, len(providers))
8677 for _, provider := range providers {
8678 providerIDs = append(providerIDs, provider.ID)
8679 }
8680 keys, err := p.db.GetAIProviderKeysByProviderIDs(ctx, providerIDs)
8681 if err != nil {
8682 return nil, xerrors.Errorf("get AI provider keys: %w", err)
8683 }
8684 keysByProviderID := make(map[uuid.UUID][]database.AIProviderKey, len(providers))
8685 for _, key := range keys {
8686 keysByProviderID[key.ProviderID] = append(keysByProviderID[key.ProviderID], key)
8687 }
8688 configuredProviders := make([]chatprovider.ConfiguredProvider, 0, len(providers))
8689 for _, provider := range providers {
8690 configuredProvider, err := p.aiProviderConfigFromKeys(provider, keysByProviderID[provider.ID])
8691 if err != nil {
8692 return nil, err
8693 }
8694 configuredProviders = append(configuredProviders, configuredProvider)
8695 }
8696 return configuredProviders, nil
8697}
8698
8699func ensureUniqueConfiguredProviderTypes(providers []chatprovider.ConfiguredProvider) error {
8700 seen := make(map[string]uuid.UUID, len(providers))

Callers 1

Calls 3

ErrorfMethod · 0.45

Tested by

no test coverage detected