mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-29 06:31:32 +00:00
fix(tui): dedupe inline_diff when assistant already echoes it
Avoid duplicate diff rendering in #13729 flow. We now skip queued inline diffs that are already present in final assistant text and dedupe repeated queued diffs by exact content.
This commit is contained in:
parent
31b3b09ea4
commit
9654c9fb10
2 changed files with 24 additions and 3 deletions
|
|
@ -187,7 +187,7 @@ class TurnController {
|
|||
queueInlineDiff(diffText: string) {
|
||||
const text = diffText.trim()
|
||||
|
||||
if (!text) {
|
||||
if (!text || this.pendingInlineDiffs.includes(text)) {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -239,8 +239,9 @@ class TurnController {
|
|||
const rawText = (payload.rendered ?? payload.text ?? this.bufRef).trimStart()
|
||||
const split = splitReasoning(rawText)
|
||||
const finalText = split.text
|
||||
const inlineDiffBlock = this.pendingInlineDiffs.length
|
||||
? `\`\`\`diff\n${this.pendingInlineDiffs.join('\n\n')}\n\`\`\``
|
||||
const remainingInlineDiffs = this.pendingInlineDiffs.filter(diff => !finalText.includes(diff))
|
||||
const inlineDiffBlock = remainingInlineDiffs.length
|
||||
? `\`\`\`diff\n${remainingInlineDiffs.join('\n\n')}\n\`\`\``
|
||||
: ''
|
||||
const mergedText = [finalText, inlineDiffBlock].filter(Boolean).join('\n\n')
|
||||
const existingReasoning = this.reasoningText.trim() || String(payload.reasoning ?? '').trim()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue