{"record":{"id":"686ba334d84e19f8","repo":"continuedev/continue","slug":"method-not-implemented-686ba3","errorCode":null,"errorMessage":"Method not implemented.","messagePattern":"Method not implemented\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"packages/openai-adapters/src/apis/Gemini.ts","lineNumber":454,"sourceCode":"  }\n\n  async *streamWithGenAI(\n    genAI: GoogleGenAI,\n    body: ChatCompletionCreateParamsStreaming,\n  ): AsyncGenerator<ChatCompletionChunk> {\n    const convertedBody = this._convertBody(body, false, true);\n    const response = await this.generateStream(\n      genAI,\n      body.model,\n      convertedBody,\n    );\n    yield* this.processStreamResponse(response, body.model);\n  }\n\n  completionNonStream(\n    _body: CompletionCreateParamsNonStreaming,\n  ): Promise<Completion> {\n    throw new Error(\"Method not implemented.\");\n  }\n  completionStream(\n    body: CompletionCreateParamsStreaming,\n  ): AsyncGenerator<Completion> {\n    throw new Error(\"Method not implemented.\");\n  }\n  fimStream(\n    body: FimCreateParamsStreaming,\n  ): AsyncGenerator<ChatCompletionChunk> {\n    throw new Error(\"Method not implemented.\");\n  }\n  async rerank(body: RerankCreateParams): Promise<CreateRerankResponse> {\n    throw new Error(\"Method not implemented.\");\n  }\n\n  async embed(body: EmbeddingCreateParams): Promise<CreateEmbeddingResponse> {\n    const inputs = Array.isArray(body.input) ? body.input : [body.input];\n    const response = await customFetch(this.config.requestOptions)(","sourceCodeStart":436,"sourceCodeEnd":472,"githubUrl":"https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/packages/openai-adapters/src/apis/Gemini.ts#L436-L472","documentation":"The Gemini adapter does not support legacy non-streaming text completions; completionNonStream is an intentional stub. Gemini is only reachable through its chat/generateContent surface here.","triggerScenarios":"Calling completionNonStream(CompletionCreateParamsNonStreaming) on the Gemini adapter.","commonSituations":"Unified completion routers falling back to /v1/completions for base-model prompts routed to Gemini.","solutions":["Use chatCompletionNonStream instead.","Route legacy prompt-style requests to a completions-capable provider.","Add capability flags in your router."],"exampleFix":"// before\nawait gemini.completionNonStream({ model: 'gemini-2.0-flash', prompt: 'hi' });\n// after\nawait gemini.chatCompletionNonStream({ model: 'gemini-2.0-flash', messages: [{ role: 'user', content: 'hi' }] });","handlingStrategy":"fallback","validationCode":null,"typeGuard":"const supportsLegacyCompletions = (p: API): boolean => !(p instanceof Gemini);","tryCatchPattern":"catch (e) { if (/not implemented/.test(e.message)) return p.chatCompletionNonStream(promptToChat(body)); throw e; }","preventionTips":["Use messages-format chat APIs for Gemini.","Map prompt -> single user message when migrating."],"tags":["gemini","not-implemented","completions"],"backgroundTag":"method-not-implemented","analyzedSha":"5522c6f44ca0ac3528b37244818fbfa39b5af470","analyzedAt":"2026-08-27T11:28:54.683Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}