From 60aeb4e7256570ffdd7f8f9b0087ae4414f14be0 Mon Sep 17 00:00:00 2001 From: opficdev <162981733+opficdev@users.noreply.github.com> Date: Tue, 23 Jun 2026 00:16:09 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20Gemini=20mimeType=20enum=20=EA=B0=92?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ai/geminiPredictionClient.ts | 2 +- tests/ai/geminiPredictionClient.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ai/geminiPredictionClient.ts b/src/ai/geminiPredictionClient.ts index 6708f53..d09fdde 100644 --- a/src/ai/geminiPredictionClient.ts +++ b/src/ai/geminiPredictionClient.ts @@ -104,7 +104,7 @@ function geminiRequestBodyFor(prompt: AiPredictionPrompt): Record { assert.equal(body.systemInstruction.parts[0]?.text, "Return JSON only.") assert.equal(body.contents[0]?.parts[0]?.text, "{\"branch\":\"feature/a\"}") - assert.equal(body.generationConfig.responseFormat.text.mimeType, "application/json") + assert.equal(body.generationConfig.responseFormat.text.mimeType, "APPLICATION_JSON") }) // Gemini JSON text 응답이 기존 AI prediction validator에 넘길 수 있는 object로 parse되는지 확인 From 5250b591390c08627ebad79d4953bdbf5e9b58eb Mon Sep 17 00:00:00 2001 From: opficdev <162981733+opficdev@users.noreply.github.com> Date: Tue, 23 Jun 2026 00:19:15 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20Gemini=20client=20=EC=A4=91?= =?UTF-8?q?=EB=B3=B5=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/ai/geminiPredictionClient.test.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/tests/ai/geminiPredictionClient.test.ts b/tests/ai/geminiPredictionClient.test.ts index dc0b5a6..9889695 100644 --- a/tests/ai/geminiPredictionClient.test.ts +++ b/tests/ai/geminiPredictionClient.test.ts @@ -84,18 +84,6 @@ test("sends prompt to Gemini generateContent endpoint", async () => { assert.equal(body.generationConfig.responseFormat.text.mimeType, "APPLICATION_JSON") }) -// Gemini JSON text 응답이 기존 AI prediction validator에 넘길 수 있는 object로 parse되는지 확인 -test("parses Gemini JSON text response", async () => { - const client = new GeminiPredictionClient({ - apiKey: "gemini-key", - fetch: fetchSpy(validGeminiResponse()) - }) - - const response = await client.predict(prompt()) - - assert.deepEqual(response, validPrediction()) -}) - // Gemini HTTP 실패가 branch 단위 failed result로 격리될 수 있도록 Error로 노출되는지 확인 test("throws when Gemini request fails", async () => { const client = new GeminiPredictionClient({