continuedev/continue · error · Error

Relace provider does not support streaming FIM completion.

Error message

Relace provider does not support streaming FIM completion.

What it means

Relace's adapter explicitly rejects FIM (fill-in-the-middle) streaming requests: 'Relace provider does not support streaming FIM completion.' Its editing model is driven through the chat edit API, not raw FIM.

Solutions

  1. Use Relace's chat edit endpoint (chatCompletionStream with prompt/prediction) instead of FIM
  2. Point FIM requests at a FIM-capable provider
  3. Gate FIM traffic on provider capability checks
Defensive patterns

Strategy: fallback

Validate before calling

if (provider === 'relace') throw new Error('Relace has no FIM; use chat edit API');

Type guard

const supportsFim = (p: string) => p !== 'relace';

Try / catch

try { yield* api.fimStream(body); } catch (e) { if (e.message.includes('does not support streaming FIM')) { /* reroute to FIM provider */ } else throw e; }

Prevention

When it happens

Trigger: Calling fimStream() on a Relace adapter with FimCreateParamsStreaming.

Common situations: Code-completion/autocomplete features configured with Relace expecting Codestral-style FIM endpoints; generic FIM routing across all providers.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


AI-assisted analysis of continuedev/continue@5522c6f44c (2026-08-27). Data as JSON: /api/errors/254ab5c09b0d14fd. Report an issue: GitHub.

Appendix: source

Thrown at packages/openai-adapters/src/apis/Relace.ts:165

  completionNonStream(
    body: CompletionCreateParamsNonStreaming,
    signal: AbortSignal,
  ): Promise<Completion> {
    throw new Error(
      "Relace provider does not support non-streaming completion.",
    );
  }
  completionStream(
    body: CompletionCreateParamsStreaming,
    signal: AbortSignal,
  ): AsyncGenerator<Completion> {
    throw new Error("Relace provider does not support streaming completion.");
  }
  fimStream(
    body: FimCreateParamsStreaming,
    signal: AbortSignal,
  ): AsyncGenerator<ChatCompletionChunk> {
    throw new Error(
      "Relace provider does not support streaming FIM completion.",
    );
  }
  embed(body: EmbeddingCreateParams): Promise<CreateEmbeddingResponse> {
    throw new Error("Relace provider does not support embeddings.");
  }
  rerank(body: RerankCreateParams): Promise<CreateRerankResponse> {
    throw new Error("Relace provider does not support reranking.");
  }
  list(): Promise<Model[]> {
    throw new Error("Relace provider does not support model listing.");
  }
}

View on GitHub (pinned to 5522c6f44c)