ruvnet/ruflo · error

Unknown embedding provider: '${(config as EmbeddingConfig).p

Error message

Unknown embedding provider: '${(config as EmbeddingConfig).provider}'. Use 'agentic-flow' (recommended), 'transformers', 'openai', 'rvf', or 'mock' (tests only).

What it means

createEmbeddingService() was given a config whose provider string matches none of the supported providers (agentic-flow, transformers, openai, rvf, mock). The switch falls through to this error, which enumerates the valid choices — typically a typo'd or outdated provider name in configuration.

Source

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

/**
 * Create embedding service based on configuration (sync version)
 * Note: For 'auto' provider or smart fallback, use createEmbeddingServiceAsync
 */
export function createEmbeddingService(config: EmbeddingConfig): IEmbeddingService {
  switch (config.provider) {
    case 'openai':
      return new OpenAIEmbeddingService(config as OpenAIEmbeddingConfig);
    case 'transformers':
      return new TransformersEmbeddingService(config as TransformersEmbeddingConfig);
    case 'mock':
      return new MockEmbeddingService(config as MockEmbeddingConfig);
    case 'agentic-flow':
      return new AgenticFlowEmbeddingService(config as AgenticFlowEmbeddingConfig);
    case 'rvf':
      return new RvfEmbeddingService(config as RvfEmbeddingConfig);
    default:
      throw new Error(
        `Unknown embedding provider: '${(config as EmbeddingConfig).provider}'. ` +
        `Use 'agentic-flow' (recommended), 'transformers', 'openai', 'rvf', or 'mock' (tests only).`
      );
  }
}

/**
 * Extended config with auto provider option
 */
export interface AutoEmbeddingConfig {
  /** Provider: 'auto' will pick best available (agentic-flow > transformers > mock) */
  provider: EmbeddingProvider | 'auto';
  /** Fallback provider if primary fails */
  fallback?: EmbeddingProvider;
  /** Auto-install agentic-flow if not available (default: true for 'auto' provider) */
  autoInstall?: boolean;
  /** Model ID for agentic-flow */
  modelId?: string;

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Set provider to one of 'agentic-flow', 'transformers', 'openai', 'rvf', or 'mock' (tests only).
  2. Fix typos in the provider name in your EmbeddingConfig.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/@claude-flow/embeddings/src/embedding-service.ts:892 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/6ede27fbf33391fe. Report an issue: GitHub.