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.

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.

Appendix: 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)