Tencent/WeKnora · error
invalid provider type: %s
Error message
invalid provider type: %s
What it means
Validation in webSearchProviderService.CreateProvider: the provider entity's Provider type string is not one of the recognized web search provider types (Bing, Google, Tavily, Baidu, Searxng, etc.). The %s echoes the rejected value; the entity is rejected before persistence so no unusable provider config reaches the registry.
Source
Thrown at internal/application/service/web_search_provider.go:30
// webSearchProviderService implements interfaces.WebSearchProviderService
type webSearchProviderService struct {
repo interfaces.WebSearchProviderRepository
}
// NewWebSearchProviderService creates a new web search provider service
func NewWebSearchProviderService(repo interfaces.WebSearchProviderRepository) interfaces.WebSearchProviderService {
return &webSearchProviderService{repo: repo}
}
// CreateProvider creates a new web search provider configuration.
func (s *webSearchProviderService) CreateProvider(ctx context.Context, provider *types.WebSearchProviderEntity) error {
if provider.TenantID == 0 {
return fmt.Errorf("tenant ID is required")
}
if !isValidProviderType(provider.Provider) {
return fmt.Errorf("invalid provider type: %s", provider.Provider)
}
if err := validateProviderParameters(provider.Provider, provider.Parameters); err != nil {
return err
}
if provider.IsDefault {
if err := s.repo.ClearDefault(ctx, provider.TenantID, ""); err != nil {
logger.Warnf(ctx, "Failed to clear default providers: %v", err)
}
}
logger.Infof(ctx, "Creating web search provider: tenant=%d, name=%s, type=%s", provider.TenantID, provider.Name, provider.Provider)
return s.repo.Create(ctx, provider)
}
// UpdateProvider updates an existing provider.
func (s *webSearchProviderService) UpdateProvider(ctx context.Context, provider *types.WebSearchProviderEntity) error {View on GitHub (pinned to 988cbb0330)
Solutions
- Send a supported provider type (bing, google, tavily, searxng, etc.)
- Check the API handler's type binding/enum mapping
- Fix the entity payload before persisting
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/application/service/web_search_provider.go:30 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/1ed5b9b49cad8c8a.
Report an issue: GitHub.