build(runner): compile structured gemini API request/response logging

This commit is contained in:
2026-06-03 16:11:24 -07:00
parent a1650abe06
commit a7d4ccfc88

View File

@@ -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),