From 39eea4b11a6a920d4e8b2f8ccf4164ff5332f2a4 Mon Sep 17 00:00:00 2001 From: gemini-cli-robot Date: Mon, 9 Feb 2026 16:14:18 -0500 Subject: [PATCH] fix(patch): cherry-pick 07056c8 to release/v0.28.0-preview.6-pr-18656 to patch version v0.28.0-preview.6 and create version 0.28.0-preview.7 (#18672) Co-authored-by: Jacob Richman --- packages/core/src/code_assist/converter.test.ts | 10 ++++++++++ packages/core/src/code_assist/converter.ts | 10 +++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/core/src/code_assist/converter.test.ts b/packages/core/src/code_assist/converter.test.ts index 17dba1e4da..31e66bcd17 100644 --- a/packages/core/src/code_assist/converter.test.ts +++ b/packages/core/src/code_assist/converter.test.ts @@ -331,6 +331,16 @@ describe('converter', () => { const genaiRes = fromGenerateContentResponse(codeAssistRes); expect(genaiRes.responseId).toBeUndefined(); }); + + it('should handle missing response property gracefully', () => { + const invalidRes = { + traceId: 'some-trace-id', + } as unknown as CaGenerateContentResponse; + + const genaiRes = fromGenerateContentResponse(invalidRes); + expect(genaiRes.responseId).toEqual('some-trace-id'); + expect(genaiRes.candidates).toEqual([]); + }); }); describe('toContents', () => { diff --git a/packages/core/src/code_assist/converter.ts b/packages/core/src/code_assist/converter.ts index 2b8b0a3a33..8dcfe80d78 100644 --- a/packages/core/src/code_assist/converter.ts +++ b/packages/core/src/code_assist/converter.ts @@ -133,14 +133,18 @@ export function toGenerateContentRequest( export function fromGenerateContentResponse( res: CaGenerateContentResponse, ): GenerateContentResponse { - const inres = res.response; const out = new GenerateContentResponse(); - out.candidates = inres.candidates; + out.responseId = res.traceId; + const inres = res.response; + if (!inres) { + out.candidates = []; + return out; + } + out.candidates = inres.candidates ?? []; out.automaticFunctionCallingHistory = inres.automaticFunctionCallingHistory; out.promptFeedback = inres.promptFeedback; out.usageMetadata = inres.usageMetadata; out.modelVersion = inres.modelVersion; - out.responseId = res.traceId; return out; }