upate to PR 669 (#700)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
This commit is contained in:
parent
8563e46ade
commit
91fa770196
|
@ -76,10 +76,12 @@ export async function ensureCorrectEdit(
|
||||||
unescapeStringForGeminiBug(originalParams.new_string) !==
|
unescapeStringForGeminiBug(originalParams.new_string) !==
|
||||||
originalParams.new_string;
|
originalParams.new_string;
|
||||||
|
|
||||||
|
const expectedReplacements = originalParams.expected_replacements ?? 1;
|
||||||
|
|
||||||
let finalOldString = originalParams.old_string;
|
let finalOldString = originalParams.old_string;
|
||||||
let occurrences = countOccurrences(currentContent, finalOldString);
|
let occurrences = countOccurrences(currentContent, finalOldString);
|
||||||
|
|
||||||
if (occurrences === (originalParams.expected_replacements ?? 1)) {
|
if (occurrences === expectedReplacements) {
|
||||||
if (newStringPotentiallyEscaped) {
|
if (newStringPotentiallyEscaped) {
|
||||||
finalNewString = await correctNewStringEscaping(
|
finalNewString = await correctNewStringEscaping(
|
||||||
client,
|
client,
|
||||||
|
@ -88,7 +90,7 @@ export async function ensureCorrectEdit(
|
||||||
abortSignal,
|
abortSignal,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else if (occurrences > 1) {
|
} else if (occurrences > expectedReplacements) {
|
||||||
const expectedReplacements = originalParams.expected_replacements ?? 1;
|
const expectedReplacements = originalParams.expected_replacements ?? 1;
|
||||||
|
|
||||||
// If user expects multiple replacements, return as-is
|
// If user expects multiple replacements, return as-is
|
||||||
|
@ -125,7 +127,7 @@ export async function ensureCorrectEdit(
|
||||||
);
|
);
|
||||||
occurrences = countOccurrences(currentContent, unescapedOldStringAttempt);
|
occurrences = countOccurrences(currentContent, unescapedOldStringAttempt);
|
||||||
|
|
||||||
if (occurrences === (originalParams.expected_replacements ?? 1)) {
|
if (occurrences === expectedReplacements) {
|
||||||
finalOldString = unescapedOldStringAttempt;
|
finalOldString = unescapedOldStringAttempt;
|
||||||
if (newStringPotentiallyEscaped) {
|
if (newStringPotentiallyEscaped) {
|
||||||
finalNewString = await correctNewString(
|
finalNewString = await correctNewString(
|
||||||
|
@ -148,7 +150,7 @@ export async function ensureCorrectEdit(
|
||||||
llmCorrectedOldString,
|
llmCorrectedOldString,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (llmOldOccurrences === (originalParams.expected_replacements ?? 1)) {
|
if (llmOldOccurrences === expectedReplacements) {
|
||||||
finalOldString = llmCorrectedOldString;
|
finalOldString = llmCorrectedOldString;
|
||||||
occurrences = llmOldOccurrences;
|
occurrences = llmOldOccurrences;
|
||||||
|
|
||||||
|
@ -188,7 +190,7 @@ export async function ensureCorrectEdit(
|
||||||
finalOldString,
|
finalOldString,
|
||||||
finalNewString,
|
finalNewString,
|
||||||
currentContent,
|
currentContent,
|
||||||
originalParams,
|
expectedReplacements,
|
||||||
);
|
);
|
||||||
finalOldString = targetString;
|
finalOldString = targetString;
|
||||||
finalNewString = pair;
|
finalNewString = pair;
|
||||||
|
@ -532,7 +534,7 @@ function trimPairIfPossible(
|
||||||
target: string,
|
target: string,
|
||||||
trimIfTargetTrims: string,
|
trimIfTargetTrims: string,
|
||||||
currentContent: string,
|
currentContent: string,
|
||||||
originalParams: EditToolParams,
|
expectedReplacements: number,
|
||||||
) {
|
) {
|
||||||
const trimmedTargetString = target.trim();
|
const trimmedTargetString = target.trim();
|
||||||
if (target.length !== trimmedTargetString.length) {
|
if (target.length !== trimmedTargetString.length) {
|
||||||
|
@ -541,9 +543,7 @@ function trimPairIfPossible(
|
||||||
trimmedTargetString,
|
trimmedTargetString,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (
|
if (trimmedTargetOccurrences === expectedReplacements) {
|
||||||
trimmedTargetOccurrences === (originalParams.expected_replacements ?? 1)
|
|
||||||
) {
|
|
||||||
const trimmedReactiveString = trimIfTargetTrims.trim();
|
const trimmedReactiveString = trimIfTargetTrims.trim();
|
||||||
return {
|
return {
|
||||||
targetString: trimmedTargetString,
|
targetString: trimmedTargetString,
|
||||||
|
|
Loading…
Reference in New Issue