Tencent/WeKnora · error
workspace ID not found in context
Error message
workspace ID not found in context
What it means
resolveProvider cannot find a tenant/workspace ID in the request context when loading a provider entity by ID. Provider entities are tenant-scoped, so the DB lookup is impossible without it — usually missing auth middleware or context propagation.
Source
Thrown at internal/application/service/web_search.go:97
// Apply blacklist filtering
results = s.filterBlacklist(results, config.Blacklist)
return results, nil
}
// resolveProvider resolves a WebSearchProvider instance from either:
// 1. A provider entity ID (new path) — loads from DB, creates via registry
// 2. The deprecated config.Provider field (backward compatibility) — creates with empty params
func (s *WebSearchService) resolveProvider(
ctx context.Context,
providerID string,
cfg *types.WebSearchConfig,
) (interfaces.WebSearchProvider, error) {
// New path: load provider entity from DB
if providerID != "" {
tenantID, ok := types.TenantIDFromContext(ctx)
if !ok {
return nil, fmt.Errorf("workspace ID not found in context")
}
entity, err := s.providerRepo.GetByID(ctx, tenantID, providerID)
if err != nil {
return nil, fmt.Errorf("failed to load web search provider %s: %w", providerID, err)
}
if entity == nil {
return nil, fmt.Errorf("web search provider not found: %s", providerID)
}
params := mergeProxyFromWebSearchConfig(entity.Parameters, cfg)
provider, err := s.registry.CreateProvider(string(entity.Provider), params)
if err != nil {
return nil, fmt.Errorf("failed to create provider %s (%s): %w", entity.Name, entity.Provider, err)
}
return provider, nil
}
View on GitHub (pinned to 988cbb0330)
Solutions
- Ensure tenant-auth middleware runs before web search handling
- Propagate the tenant ID into the context on internal call paths
- Only use the providerID path from tenant-scoped requests
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/application/service/web_search.go:97 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/c34e16773912ff3c.
Report an issue: GitHub.