mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
Currently all errors in apply_diff diff structure are assumed to be related to merge conflicts. This is unfortunate because it is way more likely that LLM simply made an error structuring the diff. The LLM is then directed to fix escaping in the diff from which it doesn't recover. It is safe to assume that missing or extra "<<<<<<< SEARCH" or ">>>>>>> REPLACE" strings are likely bad diff structure, because while "<<<<<<<" and ">>>>>>>" are common merge conflict markers, no tools add "SEARCH" and "REPLACE" strings after them. This is likely output of the LLM itself. LLM not recovering has been observed in Claude 3.5 Sonnet and Claude 3.7 Sonnet models. To address the issue, error message now mentions merge conflict markers and their escaping only if it's clear that errors may come from this source. In the rest of cases the error message repeats the expected diff structure back to the LLM. |
||
|---|---|---|
| .. | ||
| strategies | ||
| DiffStrategy.ts | ||
| insert-groups.ts | ||
| types.ts | ||