mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-22 10:14:22 +01:00
fix: openai reasoning issue (#2780)
This commit is contained in:
@@ -115,6 +115,7 @@ export namespace MessageV2 {
|
|||||||
end: z.number().optional(),
|
end: z.number().optional(),
|
||||||
})
|
})
|
||||||
.optional(),
|
.optional(),
|
||||||
|
metadata: z.record(z.string(), z.any()).optional(),
|
||||||
}).meta({
|
}).meta({
|
||||||
ref: "TextPart",
|
ref: "TextPart",
|
||||||
})
|
})
|
||||||
@@ -138,6 +139,7 @@ export namespace MessageV2 {
|
|||||||
callID: z.string(),
|
callID: z.string(),
|
||||||
tool: z.string(),
|
tool: z.string(),
|
||||||
state: ToolState,
|
state: ToolState,
|
||||||
|
metadata: z.record(z.string(), z.any()).optional(),
|
||||||
}).meta({
|
}).meta({
|
||||||
ref: "ToolPart",
|
ref: "ToolPart",
|
||||||
})
|
})
|
||||||
@@ -519,6 +521,7 @@ export namespace MessageV2 {
|
|||||||
{
|
{
|
||||||
type: "text",
|
type: "text",
|
||||||
text: part.text,
|
text: part.text,
|
||||||
|
providerMetadata: part.metadata,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
if (part.type === "step-start")
|
if (part.type === "step-start")
|
||||||
@@ -536,6 +539,7 @@ export namespace MessageV2 {
|
|||||||
toolCallId: part.callID,
|
toolCallId: part.callID,
|
||||||
input: part.state.input,
|
input: part.state.input,
|
||||||
output: part.state.time.compacted ? "[Old tool result content cleared]" : part.state.output,
|
output: part.state.time.compacted ? "[Old tool result content cleared]" : part.state.output,
|
||||||
|
callProviderMetadata: part.metadata,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
if (part.state.status === "error")
|
if (part.state.status === "error")
|
||||||
@@ -546,6 +550,7 @@ export namespace MessageV2 {
|
|||||||
toolCallId: part.callID,
|
toolCallId: part.callID,
|
||||||
input: part.state.input,
|
input: part.state.input,
|
||||||
errorText: part.state.error,
|
errorText: part.state.error,
|
||||||
|
callProviderMetadata: part.metadata,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -892,6 +892,7 @@ export namespace SessionPrompt {
|
|||||||
time: {
|
time: {
|
||||||
start: Date.now(),
|
start: Date.now(),
|
||||||
},
|
},
|
||||||
|
metadata: value.providerMetadata,
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
|
||||||
@@ -913,6 +914,7 @@ export namespace SessionPrompt {
|
|||||||
...part.time,
|
...part.time,
|
||||||
end: Date.now(),
|
end: Date.now(),
|
||||||
}
|
}
|
||||||
|
if (value.providerMetadata) part.metadata = value.providerMetadata
|
||||||
await Session.updatePart(part)
|
await Session.updatePart(part)
|
||||||
delete reasoningMap[value.id]
|
delete reasoningMap[value.id]
|
||||||
}
|
}
|
||||||
@@ -952,6 +954,7 @@ export namespace SessionPrompt {
|
|||||||
start: Date.now(),
|
start: Date.now(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
metadata: value.providerMetadata,
|
||||||
})
|
})
|
||||||
toolcalls[value.toolCallId] = part as MessageV2.ToolPart
|
toolcalls[value.toolCallId] = part as MessageV2.ToolPart
|
||||||
}
|
}
|
||||||
@@ -1054,12 +1057,14 @@ export namespace SessionPrompt {
|
|||||||
time: {
|
time: {
|
||||||
start: Date.now(),
|
start: Date.now(),
|
||||||
},
|
},
|
||||||
|
metadata: value.providerMetadata,
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
|
||||||
case "text-delta":
|
case "text-delta":
|
||||||
if (currentText) {
|
if (currentText) {
|
||||||
currentText.text += value.text
|
currentText.text += value.text
|
||||||
|
if (value.providerMetadata) currentText.metadata = value.providerMetadata
|
||||||
if (currentText.text) await Session.updatePart(currentText)
|
if (currentText.text) await Session.updatePart(currentText)
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
@@ -1071,6 +1076,7 @@ export namespace SessionPrompt {
|
|||||||
start: Date.now(),
|
start: Date.now(),
|
||||||
end: Date.now(),
|
end: Date.now(),
|
||||||
}
|
}
|
||||||
|
if (value.providerMetadata) currentText.metadata = value.providerMetadata
|
||||||
await Session.updatePart(currentText)
|
await Session.updatePart(currentText)
|
||||||
}
|
}
|
||||||
currentText = undefined
|
currentText = undefined
|
||||||
|
|||||||
Reference in New Issue
Block a user