From ab56c56206c338d1d58c90d6f0f01e0c66e362fc Mon Sep 17 00:00:00 2001 From: Jeffery Date: Wed, 24 Jun 2026 14:22:38 +0000 Subject: [PATCH] =?UTF-8?q?fix(app):=20=E5=81=9C=E6=AD=A2=E4=B8=B2?= =?UTF-8?q?=E6=B5=81=20Codex=20transcript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/main.js | 13 ++++--------- tests/entrypoint_test.sh | 2 +- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/app/main.js b/app/main.js index d87f06a..0687011 100644 --- a/app/main.js +++ b/app/main.js @@ -215,8 +215,6 @@ function runCodex(model, prompt) { output.append(Buffer.from(`Codex execution timed out after ${timeoutMs} ms.\n`)); }, timeoutMs); - child.stderr.pipe(process.stdout); - child.stdout.on("data", (chunk) => { output.append(chunk); }); @@ -239,14 +237,11 @@ function runCodex(model, prompt) { output.append(Buffer.from(`Codex process terminated by signal ${signal}.\n`)); } - let lastMessage = ""; - try { - lastMessage = fs.readFileSync(lastMessageFile, "utf8"); - } catch { - lastMessage = ""; - } + const lastMessage = fs.existsSync(lastMessageFile) ? fs.readFileSync(lastMessageFile, "utf8") : null; + const diagnosticOutput = output.toString(); + const resultOutput = code === 0 && lastMessage !== null ? lastMessage : diagnosticOutput || lastMessage || ""; - resolve({ status: code ?? 1, output: lastMessage || output.toString() }); + resolve({ status: code ?? 1, output: resultOutput }); }); }); } diff --git a/tests/entrypoint_test.sh b/tests/entrypoint_test.sh index 97155ee..613d43a 100755 --- a/tests/entrypoint_test.sh +++ b/tests/entrypoint_test.sh @@ -70,7 +70,7 @@ while [ "$#" -gt 0 ]; do shift done -printf '%s\n' 'codex' 'final answer' 'tokens used' '123' 'final answer' +printf '%s\n' 'codex' 'final answer' 'tokens used' '123' 'final answer' >&2 printf '%s\n' 'final answer' > "$last_message_file" SH chmod +x "$dir/codex"