summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Morgan <[email protected]>2025-06-02 19:59:38 -0400
committerGitHub <[email protected]>2025-06-02 16:59:38 -0700
commit91fa770196fedf1957b3b6b6efafa50f6ccda61f (patch)
treeb2e23cf6a43928c40dd327d0ccf21fde8033a21e
parent8563e46ade1e4d72651f35d05bcfbdbf839bb41c (diff)
upate to PR 669 (#700)
Co-authored-by: N. Taylor Mullen <[email protected]>
-rw-r--r--packages/core/src/utils/editCorrector.ts18
1 files changed, 9 insertions, 9 deletions
diff --git a/packages/core/src/utils/editCorrector.ts b/packages/core/src/utils/editCorrector.ts
index 5e56bac8..67d23cde 100644
--- a/packages/core/src/utils/editCorrector.ts
+++ b/packages/core/src/utils/editCorrector.ts
@@ -76,10 +76,12 @@ export async function ensureCorrectEdit(
unescapeStringForGeminiBug(originalParams.new_string) !==
originalParams.new_string;
+ const expectedReplacements = originalParams.expected_replacements ?? 1;
+
let finalOldString = originalParams.old_string;
let occurrences = countOccurrences(currentContent, finalOldString);
- if (occurrences === (originalParams.expected_replacements ?? 1)) {
+ if (occurrences === expectedReplacements) {
if (newStringPotentiallyEscaped) {
finalNewString = await correctNewStringEscaping(
client,
@@ -88,7 +90,7 @@ export async function ensureCorrectEdit(
abortSignal,
);
}
- } else if (occurrences > 1) {
+ } else if (occurrences > expectedReplacements) {
const expectedReplacements = originalParams.expected_replacements ?? 1;
// If user expects multiple replacements, return as-is
@@ -125,7 +127,7 @@ export async function ensureCorrectEdit(
);
occurrences = countOccurrences(currentContent, unescapedOldStringAttempt);
- if (occurrences === (originalParams.expected_replacements ?? 1)) {
+ if (occurrences === expectedReplacements) {
finalOldString = unescapedOldStringAttempt;
if (newStringPotentiallyEscaped) {
finalNewString = await correctNewString(
@@ -148,7 +150,7 @@ export async function ensureCorrectEdit(
llmCorrectedOldString,
);
- if (llmOldOccurrences === (originalParams.expected_replacements ?? 1)) {
+ if (llmOldOccurrences === expectedReplacements) {
finalOldString = llmCorrectedOldString;
occurrences = llmOldOccurrences;
@@ -188,7 +190,7 @@ export async function ensureCorrectEdit(
finalOldString,
finalNewString,
currentContent,
- originalParams,
+ expectedReplacements,
);
finalOldString = targetString;
finalNewString = pair;
@@ -532,7 +534,7 @@ function trimPairIfPossible(
target: string,
trimIfTargetTrims: string,
currentContent: string,
- originalParams: EditToolParams,
+ expectedReplacements: number,
) {
const trimmedTargetString = target.trim();
if (target.length !== trimmedTargetString.length) {
@@ -541,9 +543,7 @@ function trimPairIfPossible(
trimmedTargetString,
);
- if (
- trimmedTargetOccurrences === (originalParams.expected_replacements ?? 1)
- ) {
+ if (trimmedTargetOccurrences === expectedReplacements) {
const trimmedReactiveString = trimIfTargetTrims.trim();
return {
targetString: trimmedTargetString,