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

Method resolveModelConfigAndNormalizedProvider

coderd/x/chatd/subagent.go:487–530  ·  view source on GitHub ↗
(
	ctx context.Context,
	modelConfigID uuid.UUID,
)

Source from the content-addressed store, hash-verified

485}
486
487func (p *Server) resolveModelConfigAndNormalizedProvider(
488 ctx context.Context,
489 modelConfigID uuid.UUID,
490) (database.ChatModelConfig, string, error) {
491 if modelConfigID == uuid.Nil {
492 return database.ChatModelConfig{}, "", sql.ErrNoRows
493 }
494 modelConfig, err := p.configCache.ModelConfigByID(ctx, modelConfigID)
495 if err != nil {
496 return database.ChatModelConfig{}, "", err
497 }
498 if !modelConfig.Enabled {
499 return database.ChatModelConfig{}, "", sql.ErrNoRows
500 }
501 if modelConfig.AIProviderID.Valid {
502 provider, err := p.db.GetAIProviderByID(ctx, modelConfig.AIProviderID.UUID)
503 if err != nil {
504 return database.ChatModelConfig{}, "", err
505 }
506 if !provider.Enabled {
507 return database.ChatModelConfig{}, "", sql.ErrNoRows
508 }
509 providerName := chatprovider.NormalizeProvider(string(provider.Type))
510 if providerName == "" {
511 return database.ChatModelConfig{}, "", errInvalidModelOverrideMetadata
512 }
513 if _, _, err := chatprovider.ResolveModelWithProviderHint(modelConfig.Model, providerName); err != nil {
514 return database.ChatModelConfig{}, "", errInvalidModelOverrideMetadata
515 }
516 return modelConfig, providerName, nil
517 }
518 modelConfig, providerName, err := validateModelConfigAndResolveProvider(modelConfig)
519 if err != nil {
520 return database.ChatModelConfig{}, "", err
521 }
522 enabledProviders, err := p.configCache.EnabledProviders(ctx)
523 if err != nil {
524 return database.ChatModelConfig{}, "", err
525 }
526 if !enabledProviderContainsName(enabledProviders, providerName) {
527 return database.ChatModelConfig{}, "", sql.ErrNoRows
528 }
529 return modelConfig, providerName, nil
530}
531
532func (p *Server) subagentTools(
533 ctx context.Context,

Callers 1

Calls 7

NormalizeProviderFunction · 0.92
ModelConfigByIDMethod · 0.80
EnabledProvidersMethod · 0.80
GetAIProviderByIDMethod · 0.65

Tested by

no test coverage detected