continuedev/continue · error · Error

Method not implemented.

Error message

Method not implemented.

What it means

JinaAdapter.chatCompletionNonStream is a stub that always throws 'Method not implemented.' The Jina adapter only implements embeddings and reranking; its chat completion surface exists to satisfy the BaseAdapter interface but has no implementation.

Source

Thrown at packages/openai-adapters/src/apis/Jina.ts:31

import { customFetch, rerank } from "../util.js";
import {
  BaseLlmApi,
  CreateRerankResponse,
  FimCreateParamsStreaming,
  RerankCreateParams,
} from "./base.js";

export class JinaApi implements BaseLlmApi {
  apiBase: string = "https://api.jina.ai/v1/";

  constructor(protected config: JinaConfig) {
    this.apiBase = config.apiBase ?? this.apiBase;
  }

  async chatCompletionNonStream(
    body: ChatCompletionCreateParamsNonStreaming,
  ): Promise<ChatCompletion> {
    throw new Error("Method not implemented.");
  }
  async *chatCompletionStream(
    body: ChatCompletionCreateParamsStreaming,
  ): AsyncGenerator<ChatCompletionChunk, any, unknown> {
    throw new Error("Method not implemented.");
  }
  async completionNonStream(
    body: CompletionCreateParamsNonStreaming,
  ): Promise<Completion> {
    throw new Error("Method not implemented.");
  }
  async *completionStream(
    body: CompletionCreateParamsStreaming,
  ): AsyncGenerator<Completion, any, unknown> {
    throw new Error("Method not implemented.");
  }
  async *fimStream(
    body: FimCreateParamsStreaming,

View on GitHub (pinned to 5522c6f44c)

Solutions

  1. Switch the model's provider to an adapter that implements chat completions (OpenAI, Anthropic, etc.) and keep Jina only for embed/rerank
  2. Remove chat models backed by the jina provider from your model config
  3. Contribute or request a chat implementation for the Jina adapter
Defensive patterns

Strategy: type-guard

Validate before calling

const supportsChat = (a: any) => typeof a.chatCompletionNonStream === 'function' && !/not implemented/.test(String(a.chatCompletionNonStream));

Type guard

const isChatCapable = (a: BaseAdapter): boolean => adapterProvider(a) !== 'jina';

Try / catch

try { await api.chatCompletionNonStream(body); } catch (e) { if (e instanceof Error && e.message === 'Method not implemented.') throw new UnsupportedProviderError('jina chat'); throw e; }

Prevention

When it happens

Trigger: Calling chatCompletionNonStream() on a Jina adapter instance, e.g. routing a chat model request through the 'jina' provider.

Common situations: Using Jina (an embeddings/rerank service) as a chat model provider in a multi-provider router or config-driven model registry; the adapter instantiates fine but the first chat call fails.

Related errors


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