After talking to Kai, we decided that the rare case of sensitive files edits should just use our standard confirmation UI instead of adding more variances to the base chat experience.
* Use lineNumberStyle for FileVariable
* vitest
* update test files with no baseline...
* Update baseline scores for toolCalling tests to reflect recent changes
* tests
* Update baseline
---------
Co-authored-by: Ulugbek Abdullaev <ulugbekna@gmail.com>
Refs https://github.com/microsoft/vscode/issues/257379
I hypothesize that what's happening is the model tries to make an edit
with an invalid `oldString`. We then go to healing and the healing
process incorrectly causes the `newString` to no-op. This makes a
couple changes:
- Explicitly throw if oldString===newString, which we will get in telemetry
- Only do the `unescapeStringForGeminiBug` for Gemini, not Claude. Claude
may not have this issue and is generally really good at self-correcting,
I strongly suspect this code path is where things go awry.
* test implementation of gemini-inspired model based healing
* rationalize types in string replace tools
* cleanup and add telemetry for string_replace healing
* prompting improvements
* add failsafe for string-replace healing
* update snapshot