fix: stabilize notes and reasoning replay

This commit is contained in:
Peter Steinberger
2026-01-11 04:36:16 +01:00
parent edb3651c32
commit eeae5ce7fd
5 changed files with 29 additions and 19 deletions

View File

@@ -27,3 +27,19 @@ index 188a8294f26fe1bfe3fb298a7f58e4d8eaf2a529..a3aeb6a7ff53bc4f7f44362adb950b2c
}));
}
function mapStopReason(status) {
diff --git a/dist/providers/openai-responses.js b/dist/providers/openai-responses.js
index 7b58a79c989abc76bb8fc9e99fb49126e5fd7de4..a1a7f35ad47975dc1268d1a0c2078b0b651e97b4 100644
--- a/dist/providers/openai-responses.js
+++ b/dist/providers/openai-responses.js
@@ -396,9 +396,10 @@ function convertMessages(model, context) {
}
else if (msg.role === "assistant") {
const output = [];
+ const hasAssistantText = msg.content.some((block) => block.type === "text");
for (const block of msg.content) {
// Do not submit thinking blocks if the completion had an error (i.e. abort)
- if (block.type === "thinking" && msg.stopReason !== "error") {
+ if (block.type === "thinking" && msg.stopReason !== "error" && hasAssistantText) {
if (block.thinkingSignature) {
const reasoningItem = JSON.parse(block.thinkingSignature);
output.push(reasoningItem);