ruvnet/ruflo · error

[embeddings] No real embedding provider available for 'auto'

Error message

[embeddings] No real embedding provider available for 'auto'. Install agentic-flow OR @xenova/transformers, OR pass provider:"openai" with apiKey, OR explicitly request provider:"mock" if mock embeddings are intentional (tests only).

What it means

Thrown when provider 'auto' finds no real embedding backend. Defense: probe providers in a deterministic order and require an explicit provider in production; never silently degrade to mock embeddings outside tests.

Source

Thrown at v3/@claude-flow/embeddings/src/embedding-service.ts:996

      }
    }

    // Try transformers (good quality, built-in)
    try {
      const service = new TransformersEmbeddingService({
        provider: 'transformers',
        model: rest.model ?? 'Xenova/all-MiniLM-L6-v2',
        cacheSize: rest.cacheSize,
      });
      // Validate it can initialize
      await service.embed('test');
      return service;
    } catch {
      // Fall through to mock
    }

    // No real provider available — refuse to silently fall back to mock embeddings.
    throw new Error(
      "[embeddings] No real embedding provider available for 'auto'. " +
      'Install agentic-flow OR @xenova/transformers, OR pass provider:"openai" with apiKey, ' +
      'OR explicitly request provider:"mock" if mock embeddings are intentional (tests only).'
    );
  }

  // Specific provider with optional fallback
  const createPrimary = (): IEmbeddingService => {
    switch (provider) {
      case 'agentic-flow':
        return new AgenticFlowEmbeddingService({
          provider: 'agentic-flow',
          modelId: rest.modelId ?? 'all-MiniLM-L6-v2',
          dimensions: rest.dimensions ?? 384,
          cacheSize: rest.cacheSize,
        });
      case 'transformers':
        return new TransformersEmbeddingService({

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Install agentic-flow or @xenova/transformers so provider 'auto' has a real backend.
  2. Pass provider:'openai' together with apiKey.
  3. Use provider:'mock' explicitly in tests only.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at v3/@claude-flow/embeddings/src/embedding-service.ts:996 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/0dbbde35ab5195da. Report an issue: GitHub.