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

Method aiProviderConfigFromKeys

coderd/x/chatd/chatd.go:8648–8670  ·  view source on GitHub ↗
(provider database.AIProvider, keys []database.AIProviderKey)

Source from the content-addressed store, hash-verified

8646}
8647
8648func (p *Server) aiProviderConfigFromKeys(provider database.AIProvider, keys []database.AIProviderKey) (chatprovider.ConfiguredProvider, error) {
8649 if !provider.Enabled {
8650 return chatprovider.ConfiguredProvider{}, xerrors.Errorf("AI provider %s is disabled", provider.ID)
8651 }
8652 apiKey := ""
8653 // GetAIProviderKeysByProviderID orders keys oldest first. chatd consumes
8654 // one provider-scoped key because runtime provider config has one API key slot.
8655 for _, key := range keys {
8656 if key.APIKey != "" {
8657 apiKey = key.APIKey
8658 break
8659 }
8660 }
8661 return chatprovider.ConfiguredProvider{
8662 ProviderID: provider.ID,
8663 Provider: string(provider.Type),
8664 APIKey: apiKey,
8665 BaseURL: provider.BaseUrl,
8666 CentralAPIKeyEnabled: true,
8667 AllowUserAPIKey: p.allowBYOK,
8668 AllowCentralAPIKeyFallback: true,
8669 }, nil
8670}
8671
8672func (p *Server) aiProviderConfigs(ctx context.Context, providers []database.AIProvider) ([]chatprovider.ConfiguredProvider, error) {
8673 if len(providers) == 0 {

Callers 2

aiProviderConfigMethod · 0.95
aiProviderConfigsMethod · 0.95

Calls 1

ErrorfMethod · 0.45

Tested by

no test coverage detected