修正 Codex Action 重複輸出最後回答 #4
+4
-9
@@ -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 });
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user