fix: preserve reasoning markdown boundaries

This commit is contained in:
mesalogo
2026-09-08 21:55:47 +08:00
parent 78418a56fa
commit 22a60497cb
2 changed files with 86 additions and 1 deletions
+11 -1
View File
@@ -2348,6 +2348,7 @@ export class OpenCodeRuntime implements AgentRuntime {
}
>();
const reasoningPartIds = new Set<string>();
let lastReasoningPartId: string | undefined;
const subagentProgress = new OpenCodeSubagentProgress(
request.requestId,
sessionId,
@@ -2516,7 +2517,16 @@ export class OpenCodeRuntime implements AgentRuntime {
) {
hasResponseTextAfterFailure = true;
}
const retained = retainOutputDelta(event.properties.delta);
const delta =
reasoning &&
lastReasoningPartId !== undefined &&
lastReasoningPartId !== event.properties.partID
? `\n\n${event.properties.delta}`
: event.properties.delta;
if (reasoning) {
lastReasoningPartId = event.properties.partID;
}
const retained = retainOutputDelta(delta);
if (retained.delta) {
yield {
requestId: request.requestId,