{"record":{"id":"3989dcac85407a34","repo":"continuedev/continue","slug":"method-not-implemented-3989dc","errorCode":null,"errorMessage":"Method not implemented.","messagePattern":"Method not implemented\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/openai-adapters/src/apis/Jina.ts","lineNumber":31,"sourceCode":"import { customFetch, rerank } from \"../util.js\";\nimport {\n  BaseLlmApi,\n  CreateRerankResponse,\n  FimCreateParamsStreaming,\n  RerankCreateParams,\n} from \"./base.js\";\n\nexport class JinaApi implements BaseLlmApi {\n  apiBase: string = \"https://api.jina.ai/v1/\";\n\n  constructor(protected config: JinaConfig) {\n    this.apiBase = config.apiBase ?? this.apiBase;\n  }\n\n  async chatCompletionNonStream(\n    body: ChatCompletionCreateParamsNonStreaming,\n  ): Promise<ChatCompletion> {\n    throw new Error(\"Method not implemented.\");\n  }\n  async *chatCompletionStream(\n    body: ChatCompletionCreateParamsStreaming,\n  ): AsyncGenerator<ChatCompletionChunk, any, unknown> {\n    throw new Error(\"Method not implemented.\");\n  }\n  async completionNonStream(\n    body: CompletionCreateParamsNonStreaming,\n  ): Promise<Completion> {\n    throw new Error(\"Method not implemented.\");\n  }\n  async *completionStream(\n    body: CompletionCreateParamsStreaming,\n  ): AsyncGenerator<Completion, any, unknown> {\n    throw new Error(\"Method not implemented.\");\n  }\n  async *fimStream(\n    body: FimCreateParamsStreaming,","sourceCodeStart":13,"sourceCodeEnd":49,"githubUrl":"https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/packages/openai-adapters/src/apis/Jina.ts#L13-L49","documentation":"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.","triggerScenarios":"Calling chatCompletionNonStream() on a Jina adapter instance, e.g. routing a chat model request through the 'jina' provider.","commonSituations":"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.","solutions":["Switch the model's provider to an adapter that implements chat completions (OpenAI, Anthropic, etc.) and keep Jina only for embed/rerank","Remove chat models backed by the jina provider from your model config","Contribute or request a chat implementation for the Jina adapter"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":"const supportsChat = (a: any) => typeof a.chatCompletionNonStream === 'function' && !/not implemented/.test(String(a.chatCompletionNonStream));","typeGuard":"const isChatCapable = (a: BaseAdapter): boolean => adapterProvider(a) !== 'jina';","tryCatchPattern":"try { await api.chatCompletionNonStream(body); } catch (e) { if (e instanceof Error && e.message === 'Method not implemented.') throw new UnsupportedProviderError('jina chat'); throw e; }","preventionTips":["Maintain a provider→capability matrix and validate routes at startup","Never bind chat models to the jina provider"],"tags":["jina","not-implemented","chat-completion"],"backgroundTag":"method-not-implemented","analyzedSha":"5522c6f44ca0ac3528b37244818fbfa39b5af470","analyzedAt":"2026-08-27T11:28:54.683Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}