修复会话消息中的思考状态显示不正确

This commit is contained in:
xintaofei
2026-03-11 14:06:17 +08:00
parent ced25b6169
commit 99cfc6c91e
12 changed files with 54 additions and 34 deletions

View File

@@ -603,7 +603,8 @@ function buildToolResultMap(
*/
export function adaptMessageTurn(
turn: MessageTurn,
text: AdapterMessageText
text: AdapterMessageText,
isStreaming: boolean = false
): AdaptedMessage {
const adaptedContent: AdaptedContentPart[] = []
const resultMap = buildToolResultMap(turn.blocks)
@@ -703,6 +704,14 @@ export function adaptMessageTurn(
}
}
// Mark the last reasoning block as streaming if the turn is actively streaming
if (isStreaming) {
const last = adaptedContent[adaptedContent.length - 1]
if (last?.type === "reasoning") {
last.isStreaming = true
}
}
const userSplit =
turn.role === "user"
? splitUserTextAndResources(adaptedContent, text.attachedResources)
@@ -730,9 +739,12 @@ export function adaptMessageTurn(
*/
export function adaptMessageTurns(
turns: MessageTurn[],
text: AdapterMessageText
text: AdapterMessageText,
streamingIndices?: Set<number>
): AdaptedMessage[] {
return turns.map((turn) => adaptMessageTurn(turn, text))
return turns.map((turn, i) =>
adaptMessageTurn(turn, text, streamingIndices?.has(i) ?? false)
)
}
/**