From a7d4ccfc88845b62ed3da73e36ab3b748b5fb7c0 Mon Sep 17 00:00:00 2001 From: mawkone Date: Wed, 3 Jun 2026 16:11:24 -0700 Subject: [PATCH] build(runner): compile structured gemini API request/response logging --- vibn-agent-runner/dist/llm/gemini-chat.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/vibn-agent-runner/dist/llm/gemini-chat.js b/vibn-agent-runner/dist/llm/gemini-chat.js index 93a35257..c868ed9c 100644 --- a/vibn-agent-runner/dist/llm/gemini-chat.js +++ b/vibn-agent-runner/dist/llm/gemini-chat.js @@ -78,11 +78,22 @@ async function callGeminiChat(opts) { const fns = toGeminiFunctions(opts.tools ?? []); if (fns) config.tools = fns; + console.log("\n========================================================"); + console.log("➡️ [GEMINI API REQUEST]"); + console.log("========================================================"); + console.log(`System Prompt: ${config.systemInstruction ? config.systemInstruction.slice(0, 1000) + "..." : "None"}`); + console.log("Contents Payload:", JSON.stringify(toGeminiContents(opts.messages), null, 2)); + console.log("========================================================\n"); const response = await ai.models.generateContent({ model: GEMINI_MODEL, contents: toGeminiContents(opts.messages), config, }); + console.log("\n========================================================"); + console.log("⬅️ [GEMINI API RESPONSE]"); + console.log("========================================================"); + console.log("Raw Candidates:", JSON.stringify(response.candidates, null, 2)); + console.log("========================================================\n"); let text = ""; let thoughts = ""; const toolCalls = []; @@ -131,6 +142,12 @@ async function* streamGeminiChat(opts) { const fns = toGeminiFunctions(opts.tools ?? []); if (fns) config.tools = fns; + console.log("\n========================================================"); + console.log("➡️ [GEMINI STREAM REQUEST]"); + console.log("========================================================"); + console.log(`System Prompt: ${config.systemInstruction ? config.systemInstruction.slice(0, 1000) + "..." : "None"}`); + console.log("Contents Payload:", JSON.stringify(toGeminiContents(opts.messages), null, 2)); + console.log("========================================================\n"); const streamResult = await ai.models.generateContentStream({ model: GEMINI_MODEL, contents: toGeminiContents(opts.messages),