Fix log crash

This commit is contained in:
Colin McDonnell
2025-12-17 12:49:29 -08:00
parent 4826e9acb1
commit 2c92e27b4d
3 changed files with 46 additions and 13 deletions
+9 -3
View File
@@ -184,6 +184,7 @@ export const gemini = agent({
}
let finalOutput = "";
let stdoutBuffer = ""; // buffer for incomplete lines across chunks
try {
const result = await spawn({
cmd: "node",
@@ -195,8 +196,13 @@ export const gemini = agent({
const text = chunk.toString();
finalOutput += text;
// parse each line as JSON (gemini cli outputs one JSON object per line)
const lines = text.split("\n");
// buffer incomplete lines across chunks (NDJSON format)
stdoutBuffer += text;
const lines = stdoutBuffer.split("\n");
// keep the last element (may be incomplete) in the buffer
stdoutBuffer = lines.pop() || "";
for (const line of lines) {
const trimmed = line.trim();
if (!trimmed) continue;
@@ -210,8 +216,8 @@ export const gemini = agent({
await handler(event as never);
}
} catch {
console.log("parse error", trimmed);
// ignore parse errors - might be non-JSON output from gemini cli
log.debug(`[gemini] non-JSON stdout line: ${trimmed.substring(0, 200)}`);
}
}
},