@vybestack/llxprt-code-core 0.4.1-nightly.251005.fc764b9f → 0.4.1-nightly.251007.ac5be77e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/src/tools/edit.js +16 -7
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/todo-schemas.d.ts +4 -4
- package/dist/src/tools/write-file.d.ts +1 -1
- package/dist/src/tools/write-file.js +3 -15
- package/dist/src/tools/write-file.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/utils/deterministicEditCorrector.d.ts +0 -28
- package/dist/src/utils/deterministicEditCorrector.js +0 -295
- package/dist/src/utils/deterministicEditCorrector.js.map +0 -1
- package/dist/src/utils/editCorrector.d.ts +0 -53
- package/dist/src/utils/editCorrector.js +0 -347
- package/dist/src/utils/editCorrector.js.map +0 -1
package/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# LLxprt Code
|
2
2
|
|
3
|
-
[](https://github.com/vybestack/llxprt-code/actions/workflows/ci.yml)
|
4
4
|
|
5
5
|
[](https://github.com/Piebald-AI/awesome-gemini-cli)
|
6
6
|
|
@@ -46,7 +46,7 @@ You have two options to install LLxprt Code.
|
|
46
46
|
Or run directly with npx:
|
47
47
|
|
48
48
|
```bash
|
49
|
-
npx https://github.com/
|
49
|
+
npx https://github.com/vybestack/llxprt-code
|
50
50
|
```
|
51
51
|
|
52
52
|
### Common Configuration Steps
|
package/dist/src/tools/edit.js
CHANGED
@@ -11,7 +11,6 @@ import { ToolErrorType } from './tool-error.js';
|
|
11
11
|
import { makeRelative, shortenPath } from '../utils/paths.js';
|
12
12
|
import { isNodeError } from '../utils/errors.js';
|
13
13
|
import { ApprovalMode } from '../config/config.js';
|
14
|
-
import { ensureCorrectEdit } from '../utils/editCorrector.js';
|
15
14
|
import { DEFAULT_DIFF_OPTIONS, getDiffStat } from './diffOptions.js';
|
16
15
|
import { ReadFileTool } from './read-file.js';
|
17
16
|
import { IDEConnectionStatus } from '../ide/ide-client.js';
|
@@ -96,7 +95,7 @@ class EditToolInvocation {
|
|
96
95
|
* @returns An object describing the potential edit outcome
|
97
96
|
* @throws File system errors if reading the file fails unexpectedly (e.g., permissions)
|
98
97
|
*/
|
99
|
-
async calculateEdit(params,
|
98
|
+
async calculateEdit(params, _abortSignal) {
|
100
99
|
// Apply emoji filtering to edit content
|
101
100
|
// NOTE: old_string is NOT filtered because it needs to match existing content exactly
|
102
101
|
// Only new_string is filtered to remove emojis from the replacement text
|
@@ -158,11 +157,21 @@ class EditToolInvocation {
|
|
158
157
|
};
|
159
158
|
}
|
160
159
|
else if (currentContent !== null) {
|
161
|
-
// Editing an existing file
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
160
|
+
// Editing an existing file - count occurrences directly
|
161
|
+
finalOldString = filteredParams.old_string;
|
162
|
+
finalNewString = filteredParams.new_string;
|
163
|
+
if (finalOldString === '') {
|
164
|
+
occurrences = 0;
|
165
|
+
}
|
166
|
+
else {
|
167
|
+
let count = 0;
|
168
|
+
let pos = currentContent.indexOf(finalOldString);
|
169
|
+
while (pos !== -1) {
|
170
|
+
count++;
|
171
|
+
pos = currentContent.indexOf(finalOldString, pos + finalOldString.length);
|
172
|
+
}
|
173
|
+
occurrences = count;
|
174
|
+
}
|
166
175
|
if (filteredParams.old_string === '' && expectedReplacements > 1) {
|
167
176
|
// Error: Invalid combination that would cause infinite loop
|
168
177
|
error = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/edit.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/edit.ts"],"names":[],"mappings":"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"}
|
@@ -123,7 +123,7 @@ export declare const TodoSchema: z.ZodObject<{
|
|
123
123
|
id: string;
|
124
124
|
status: "in_progress" | "completed" | "pending";
|
125
125
|
content: string;
|
126
|
-
priority: "high" | "
|
126
|
+
priority: "high" | "low" | "medium";
|
127
127
|
toolCalls?: {
|
128
128
|
id: string;
|
129
129
|
timestamp: Date;
|
@@ -144,7 +144,7 @@ export declare const TodoSchema: z.ZodObject<{
|
|
144
144
|
id: string | number;
|
145
145
|
status: "in_progress" | "completed" | "pending";
|
146
146
|
content: string;
|
147
|
-
priority: "high" | "
|
147
|
+
priority: "high" | "low" | "medium";
|
148
148
|
toolCalls?: {
|
149
149
|
id: string | number;
|
150
150
|
timestamp: Date;
|
@@ -225,7 +225,7 @@ export declare const TodoArraySchema: z.ZodArray<z.ZodObject<{
|
|
225
225
|
id: string;
|
226
226
|
status: "in_progress" | "completed" | "pending";
|
227
227
|
content: string;
|
228
|
-
priority: "high" | "
|
228
|
+
priority: "high" | "low" | "medium";
|
229
229
|
toolCalls?: {
|
230
230
|
id: string;
|
231
231
|
timestamp: Date;
|
@@ -246,7 +246,7 @@ export declare const TodoArraySchema: z.ZodArray<z.ZodObject<{
|
|
246
246
|
id: string | number;
|
247
247
|
status: "in_progress" | "completed" | "pending";
|
248
248
|
content: string;
|
249
|
-
priority: "high" | "
|
249
|
+
priority: "high" | "low" | "medium";
|
250
250
|
toolCalls?: {
|
251
251
|
id: string | number;
|
252
252
|
timestamp: Date;
|
@@ -44,7 +44,7 @@ interface GetCorrectedFileContentResult {
|
|
44
44
|
/**
|
45
45
|
* Gets corrected file content using AI correction services
|
46
46
|
*/
|
47
|
-
export declare function getCorrectedFileContent(filePath: string, proposedContent: string, config: Config,
|
47
|
+
export declare function getCorrectedFileContent(filePath: string, proposedContent: string, config: Config, _abortSignal: AbortSignal): Promise<GetCorrectedFileContentResult>;
|
48
48
|
/**
|
49
49
|
* Implementation of the WriteFile tool logic
|
50
50
|
*/
|
@@ -11,7 +11,6 @@ import { BaseDeclarativeTool, BaseToolInvocation, ToolConfirmationOutcome, Kind,
|
|
11
11
|
import { ToolErrorType } from './tool-error.js';
|
12
12
|
import { makeRelative, shortenPath } from '../utils/paths.js';
|
13
13
|
import { getErrorMessage, isNodeError } from '../utils/errors.js';
|
14
|
-
import { ensureCorrectEdit, ensureCorrectFileContent, } from '../utils/editCorrector.js';
|
15
14
|
import { DEFAULT_DIFF_OPTIONS, getDiffStat } from './diffOptions.js';
|
16
15
|
import { getSpecificMimeType } from '../utils/fileUtils.js';
|
17
16
|
import { recordFileOperationMetric, FileOperation, } from '../telemetry/metrics.js';
|
@@ -40,7 +39,7 @@ function getEmojiFilter(config) {
|
|
40
39
|
/**
|
41
40
|
* Gets corrected file content using AI correction services
|
42
41
|
*/
|
43
|
-
export async function getCorrectedFileContent(filePath, proposedContent, config,
|
42
|
+
export async function getCorrectedFileContent(filePath, proposedContent, config, _abortSignal) {
|
44
43
|
let originalContent = '';
|
45
44
|
let fileExists = false;
|
46
45
|
let correctedContent = proposedContent;
|
@@ -70,19 +69,8 @@ export async function getCorrectedFileContent(filePath, proposedContent, config,
|
|
70
69
|
// If readError is set, we have returned.
|
71
70
|
// So, file was either read successfully (fileExists=true, originalContent set)
|
72
71
|
// or it was ENOENT (fileExists=false, originalContent='').
|
73
|
-
|
74
|
-
|
75
|
-
const { params: correctedParams } = await ensureCorrectEdit(filePath, originalContent, {
|
76
|
-
old_string: originalContent, // Treat entire current content as old_string
|
77
|
-
new_string: proposedContent,
|
78
|
-
file_path: filePath,
|
79
|
-
}, config.getGeminiClient(), abortSignal);
|
80
|
-
correctedContent = correctedParams.new_string;
|
81
|
-
}
|
82
|
-
else {
|
83
|
-
// This implies new file (ENOENT)
|
84
|
-
correctedContent = await ensureCorrectFileContent(proposedContent, config.getGeminiClient(), abortSignal);
|
85
|
-
}
|
72
|
+
// Use the proposed content directly without correction
|
73
|
+
correctedContent = proposedContent;
|
86
74
|
return { originalContent, correctedContent, fileExists };
|
87
75
|
}
|
88
76
|
class WriteFileToolInvocation extends BaseToolInvocation {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,28 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright 2025 Vybestack LLC
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
/**
|
17
|
-
* Attempts to find the best match for a snippet in file content
|
18
|
-
* by fixing escaping and whitespace issues
|
19
|
-
*/
|
20
|
-
export declare function correctOldStringMismatch(fileContent: string, problematicSnippet: string): string;
|
21
|
-
/**
|
22
|
-
* Adjusts the new_string to align with corrections made to old_string
|
23
|
-
*/
|
24
|
-
export declare function correctNewString(originalOldString: string, correctedOldString: string, originalNewString: string): string;
|
25
|
-
/**
|
26
|
-
* Fixes escaping issues in new_string
|
27
|
-
*/
|
28
|
-
export declare function correctNewStringEscaping(oldString: string, potentiallyProblematicNewString: string): string;
|
@@ -1,295 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright 2025 Vybestack LLC
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
/**
|
17
|
-
* Deterministic edit correction utilities that fix common LLM escaping issues
|
18
|
-
* without requiring additional LLM calls.
|
19
|
-
*/
|
20
|
-
/**
|
21
|
-
* Common escape sequences that LLMs often over-escape
|
22
|
-
*/
|
23
|
-
const ESCAPE_PATTERNS = [
|
24
|
-
{ overEscaped: /\\\\n/g, correct: '\n' }, // \\n -> \n (newline)
|
25
|
-
{ overEscaped: /\\\\t/g, correct: '\t' }, // \\t -> \t (tab)
|
26
|
-
{ overEscaped: /\\\\r/g, correct: '\r' }, // \\r -> \r (carriage return)
|
27
|
-
{ overEscaped: /\\\\"/g, correct: '"' }, // \\" -> " (quote)
|
28
|
-
{ overEscaped: /\\\\'/g, correct: "'" }, // \\' -> ' (single quote)
|
29
|
-
{ overEscaped: /\\\\\\/g, correct: '\\' }, // \\\\ -> \\ (backslash)
|
30
|
-
];
|
31
|
-
/**
|
32
|
-
* Patterns for template literal escaping issues
|
33
|
-
*/
|
34
|
-
const TEMPLATE_LITERAL_PATTERNS = [
|
35
|
-
// Over-escaped template literal backticks: \\` -> `
|
36
|
-
{ overEscaped: /\\\\`/g, correct: '`' },
|
37
|
-
// Over-escaped template literal expressions: \\${ -> ${
|
38
|
-
{ overEscaped: /\\\\\$\{/g, correct: '${' },
|
39
|
-
];
|
40
|
-
/**
|
41
|
-
* Normalizes whitespace differences between strings
|
42
|
-
*/
|
43
|
-
function normalizeWhitespace(str) {
|
44
|
-
return str
|
45
|
-
.replace(/\r\n/g, '\n') // Normalize line endings
|
46
|
-
.replace(/\r/g, '\n') // Convert Mac line endings
|
47
|
-
.replace(/[ \t]+$/gm, '') // Remove trailing whitespace on each line
|
48
|
-
.replace(/\n{3,}/g, '\n\n'); // Collapse multiple blank lines to max 2
|
49
|
-
}
|
50
|
-
/**
|
51
|
-
* Calculates similarity between two strings using Levenshtein distance
|
52
|
-
* Returns a score between 0 and 1 (1 being identical)
|
53
|
-
*/
|
54
|
-
function calculateSimilarity(str1, str2) {
|
55
|
-
const len1 = str1.length;
|
56
|
-
const len2 = str2.length;
|
57
|
-
if (len1 === 0)
|
58
|
-
return len2 === 0 ? 1 : 0;
|
59
|
-
if (len2 === 0)
|
60
|
-
return 0;
|
61
|
-
const matrix = [];
|
62
|
-
// Initialize first column
|
63
|
-
for (let i = 0; i <= len1; i++) {
|
64
|
-
matrix[i] = [i];
|
65
|
-
}
|
66
|
-
// Initialize first row
|
67
|
-
for (let j = 0; j <= len2; j++) {
|
68
|
-
matrix[0][j] = j;
|
69
|
-
}
|
70
|
-
// Calculate Levenshtein distance
|
71
|
-
for (let i = 1; i <= len1; i++) {
|
72
|
-
for (let j = 1; j <= len2; j++) {
|
73
|
-
const cost = str1[i - 1] === str2[j - 1] ? 0 : 1;
|
74
|
-
matrix[i][j] = Math.min(matrix[i - 1][j] + 1, // deletion
|
75
|
-
matrix[i][j - 1] + 1, // insertion
|
76
|
-
matrix[i - 1][j - 1] + cost);
|
77
|
-
}
|
78
|
-
}
|
79
|
-
const distance = matrix[len1][len2];
|
80
|
-
const maxLength = Math.max(len1, len2);
|
81
|
-
return 1 - distance / maxLength;
|
82
|
-
}
|
83
|
-
/**
|
84
|
-
* Fixes common over-escaping issues in a string
|
85
|
-
*/
|
86
|
-
function fixOverEscaping(str) {
|
87
|
-
let result = str;
|
88
|
-
// Apply common escape fixes
|
89
|
-
for (const pattern of ESCAPE_PATTERNS) {
|
90
|
-
result = result.replace(pattern.overEscaped, pattern.correct);
|
91
|
-
}
|
92
|
-
// Apply template literal fixes
|
93
|
-
for (const pattern of TEMPLATE_LITERAL_PATTERNS) {
|
94
|
-
result = result.replace(pattern.overEscaped, pattern.correct);
|
95
|
-
}
|
96
|
-
return result;
|
97
|
-
}
|
98
|
-
/**
|
99
|
-
* Attempts to find the best match for a snippet in file content
|
100
|
-
* by fixing escaping and whitespace issues
|
101
|
-
*/
|
102
|
-
export function correctOldStringMismatch(fileContent, problematicSnippet) {
|
103
|
-
// First, try exact match
|
104
|
-
if (fileContent.includes(problematicSnippet)) {
|
105
|
-
return problematicSnippet;
|
106
|
-
}
|
107
|
-
// Try fixing over-escaping in the snippet
|
108
|
-
const unescapedSnippet = fixOverEscaping(problematicSnippet);
|
109
|
-
if (fileContent.includes(unescapedSnippet)) {
|
110
|
-
return unescapedSnippet;
|
111
|
-
}
|
112
|
-
// Try normalizing whitespace
|
113
|
-
const normalizedSnippet = normalizeWhitespace(unescapedSnippet);
|
114
|
-
const normalizedContent = normalizeWhitespace(fileContent);
|
115
|
-
if (normalizedContent.includes(normalizedSnippet)) {
|
116
|
-
// Find the actual text in the original file that matches
|
117
|
-
const startIdx = normalizedContent.indexOf(normalizedSnippet);
|
118
|
-
if (startIdx !== -1) {
|
119
|
-
// Map back to original content (approximate)
|
120
|
-
return findOriginalMatch(fileContent, normalizedSnippet, startIdx);
|
121
|
-
}
|
122
|
-
}
|
123
|
-
// Try fuzzy matching for similar content
|
124
|
-
const bestMatch = findBestFuzzyMatch(fileContent, unescapedSnippet);
|
125
|
-
if (bestMatch && calculateSimilarity(unescapedSnippet, bestMatch) > 0.8) {
|
126
|
-
return bestMatch;
|
127
|
-
}
|
128
|
-
// If all else fails, return the original
|
129
|
-
return problematicSnippet;
|
130
|
-
}
|
131
|
-
/**
|
132
|
-
* Finds the original text in file content that corresponds to a normalized match
|
133
|
-
*/
|
134
|
-
function findOriginalMatch(originalContent, normalizedMatch, _approximateStart) {
|
135
|
-
// This is a simplified approach - in practice, you might need more sophisticated mapping
|
136
|
-
const lines = originalContent.split('\n');
|
137
|
-
const matchLines = normalizedMatch.split('\n');
|
138
|
-
let bestMatch = '';
|
139
|
-
let bestScore = 0;
|
140
|
-
// Search for the best matching sequence of lines
|
141
|
-
for (let i = 0; i <= lines.length - matchLines.length; i++) {
|
142
|
-
const candidate = lines.slice(i, i + matchLines.length).join('\n');
|
143
|
-
const score = calculateSimilarity(normalizeWhitespace(candidate), normalizedMatch);
|
144
|
-
if (score > bestScore) {
|
145
|
-
bestScore = score;
|
146
|
-
bestMatch = candidate;
|
147
|
-
}
|
148
|
-
}
|
149
|
-
return bestScore > 0.8 ? bestMatch : normalizedMatch;
|
150
|
-
}
|
151
|
-
/**
|
152
|
-
* Finds the best fuzzy match for a snippet in file content
|
153
|
-
*/
|
154
|
-
function findBestFuzzyMatch(fileContent, snippet) {
|
155
|
-
const snippetLength = snippet.length;
|
156
|
-
const margin = Math.floor(snippetLength * 0.2); // Allow 20% size difference
|
157
|
-
let bestMatch = '';
|
158
|
-
let bestScore = 0;
|
159
|
-
// Slide through the content looking for similar segments
|
160
|
-
for (let i = 0; i < fileContent.length - snippetLength + margin; i++) {
|
161
|
-
for (let len = Math.max(1, snippetLength - margin); len <= Math.min(fileContent.length - i, snippetLength + margin); len++) {
|
162
|
-
const candidate = fileContent.substring(i, i + len);
|
163
|
-
const score = calculateSimilarity(snippet, candidate);
|
164
|
-
if (score > bestScore) {
|
165
|
-
bestScore = score;
|
166
|
-
bestMatch = candidate;
|
167
|
-
}
|
168
|
-
}
|
169
|
-
}
|
170
|
-
return bestScore > 0.8 ? bestMatch : null;
|
171
|
-
}
|
172
|
-
/**
|
173
|
-
* Adjusts the new_string to align with corrections made to old_string
|
174
|
-
*/
|
175
|
-
export function correctNewString(originalOldString, correctedOldString, originalNewString) {
|
176
|
-
if (originalOldString === correctedOldString) {
|
177
|
-
return originalNewString;
|
178
|
-
}
|
179
|
-
// Check for escape corrections
|
180
|
-
const originalUnescaped = fixOverEscaping(originalOldString);
|
181
|
-
if (originalUnescaped === correctedOldString) {
|
182
|
-
// The correction was to unescape - apply same to new string
|
183
|
-
return fixOverEscaping(originalNewString);
|
184
|
-
}
|
185
|
-
// Check for whitespace normalization
|
186
|
-
const originalNormalized = normalizeWhitespace(originalOldString);
|
187
|
-
const correctedNormalized = normalizeWhitespace(correctedOldString);
|
188
|
-
if (originalNormalized === correctedNormalized) {
|
189
|
-
// The correction was whitespace - apply similar normalization
|
190
|
-
return applyWhitespaceCorrections(originalOldString, correctedOldString, originalNewString);
|
191
|
-
}
|
192
|
-
// For more complex corrections, try to identify patterns
|
193
|
-
const patterns = identifyPatternDifferences(originalOldString, correctedOldString);
|
194
|
-
return applyPatterns(originalNewString, patterns);
|
195
|
-
}
|
196
|
-
/**
|
197
|
-
* Applies whitespace corrections from old string to new string
|
198
|
-
*/
|
199
|
-
function applyWhitespaceCorrections(originalOld, correctedOld, originalNew) {
|
200
|
-
// Identify leading/trailing whitespace changes
|
201
|
-
const oldLeading = originalOld.match(/^\s*/)?.[0] || '';
|
202
|
-
const correctedLeading = correctedOld.match(/^\s*/)?.[0] || '';
|
203
|
-
const oldTrailing = originalOld.match(/\s*$/)?.[0] || '';
|
204
|
-
const correctedTrailing = correctedOld.match(/\s*$/)?.[0] || '';
|
205
|
-
let result = originalNew;
|
206
|
-
// Apply leading whitespace correction
|
207
|
-
if (oldLeading !== correctedLeading) {
|
208
|
-
result = result.replace(/^\s*/, correctedLeading);
|
209
|
-
}
|
210
|
-
// Apply trailing whitespace correction
|
211
|
-
if (oldTrailing !== correctedTrailing) {
|
212
|
-
result = result.replace(/\s*$/, correctedTrailing);
|
213
|
-
}
|
214
|
-
return result;
|
215
|
-
}
|
216
|
-
/**
|
217
|
-
* Identifies pattern differences between original and corrected strings
|
218
|
-
*/
|
219
|
-
function identifyPatternDifferences(original, corrected) {
|
220
|
-
const patterns = [];
|
221
|
-
// Check for quote style changes
|
222
|
-
if (original.includes('\\"') && corrected.includes('"')) {
|
223
|
-
patterns.push({ pattern: /\\"/g, replacement: '"' });
|
224
|
-
}
|
225
|
-
if (original.includes("\\'") && corrected.includes("'")) {
|
226
|
-
patterns.push({ pattern: /\\'/g, replacement: "'" });
|
227
|
-
}
|
228
|
-
// Check for newline style changes
|
229
|
-
if (original.includes('\\n') && corrected.includes('\n')) {
|
230
|
-
patterns.push({ pattern: /\\n/g, replacement: '\n' });
|
231
|
-
}
|
232
|
-
// Check for tab style changes
|
233
|
-
if (original.includes('\\t') && corrected.includes('\t')) {
|
234
|
-
patterns.push({ pattern: /\\t/g, replacement: '\t' });
|
235
|
-
}
|
236
|
-
return patterns;
|
237
|
-
}
|
238
|
-
/**
|
239
|
-
* Applies identified patterns to a string
|
240
|
-
*/
|
241
|
-
function applyPatterns(str, patterns) {
|
242
|
-
let result = str;
|
243
|
-
for (const { pattern, replacement } of patterns) {
|
244
|
-
result = result.replace(pattern, replacement);
|
245
|
-
}
|
246
|
-
return result;
|
247
|
-
}
|
248
|
-
/**
|
249
|
-
* Fixes escaping issues in new_string
|
250
|
-
*/
|
251
|
-
export function correctNewStringEscaping(oldString, potentiallyProblematicNewString) {
|
252
|
-
// Apply standard unescaping
|
253
|
-
let corrected = fixOverEscaping(potentiallyProblematicNewString);
|
254
|
-
// Check for specific patterns that indicate over-escaping
|
255
|
-
// If the old string has actual newlines but new string has escaped ones
|
256
|
-
if (oldString.includes('\n') &&
|
257
|
-
potentiallyProblematicNewString.includes('\\n')) {
|
258
|
-
corrected = corrected.replace(/\\n/g, '\n');
|
259
|
-
}
|
260
|
-
if (oldString.includes('\t') &&
|
261
|
-
potentiallyProblematicNewString.includes('\\t')) {
|
262
|
-
corrected = corrected.replace(/\\t/g, '\t');
|
263
|
-
}
|
264
|
-
// Handle template literals specifically
|
265
|
-
if (oldString.includes('`') || oldString.includes('${')) {
|
266
|
-
corrected = corrected.replace(/\\`/g, '`').replace(/\\\${/g, '${');
|
267
|
-
}
|
268
|
-
// Validate that the correction didn't break syntax (basic check)
|
269
|
-
if (isLikelySyntaxError(corrected)) {
|
270
|
-
// If we might have broken syntax, return original
|
271
|
-
return potentiallyProblematicNewString;
|
272
|
-
}
|
273
|
-
return corrected;
|
274
|
-
}
|
275
|
-
/**
|
276
|
-
* Basic check for likely syntax errors
|
277
|
-
*/
|
278
|
-
function isLikelySyntaxError(str) {
|
279
|
-
// Count quotes and check for balance
|
280
|
-
const singleQuotes = (str.match(/'/g) || []).length;
|
281
|
-
const doubleQuotes = (str.match(/"/g) || []).length;
|
282
|
-
const backticks = (str.match(/`/g) || []).length;
|
283
|
-
// Odd number of quotes often indicates a problem
|
284
|
-
// (though this is a simplified check)
|
285
|
-
if (singleQuotes % 2 !== 0 || doubleQuotes % 2 !== 0 || backticks % 2 !== 0) {
|
286
|
-
// But it might be intentional in some cases, so don't be too strict
|
287
|
-
// Only flag if it looks really wrong
|
288
|
-
const hasUnclosedString = /["'`][^"'`]*$/.test(str);
|
289
|
-
if (hasUnclosedString) {
|
290
|
-
return true;
|
291
|
-
}
|
292
|
-
}
|
293
|
-
return false;
|
294
|
-
}
|
295
|
-
//# sourceMappingURL=deterministicEditCorrector.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"deterministicEditCorrector.js","sourceRoot":"","sources":["../../../src/utils/deterministicEditCorrector.ts"],"names":[],"mappings":"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"}
|
@@ -1,53 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright 2025 Google LLC
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
5
|
-
*/
|
6
|
-
import { GeminiClient } from '../core/client.js';
|
7
|
-
import { EditToolParams } from '../tools/edit.js';
|
8
|
-
/**
|
9
|
-
* Defines the structure of the parameters within CorrectedEditResult
|
10
|
-
*/
|
11
|
-
interface CorrectedEditParams {
|
12
|
-
file_path: string;
|
13
|
-
old_string: string;
|
14
|
-
new_string: string;
|
15
|
-
}
|
16
|
-
/**
|
17
|
-
* Defines the result structure for ensureCorrectEdit.
|
18
|
-
*/
|
19
|
-
export interface CorrectedEditResult {
|
20
|
-
params: CorrectedEditParams;
|
21
|
-
occurrences: number;
|
22
|
-
}
|
23
|
-
/**
|
24
|
-
* Attempts to correct edit parameters if the original old_string is not found.
|
25
|
-
* It tries unescaping, and then LLM-based correction.
|
26
|
-
* Results are cached to avoid redundant processing.
|
27
|
-
*
|
28
|
-
* @param currentContent The current content of the file.
|
29
|
-
* @param originalParams The original EditToolParams
|
30
|
-
* @param client The GeminiClient for LLM calls.
|
31
|
-
* @returns A promise resolving to an object containing the (potentially corrected)
|
32
|
-
* EditToolParams (as CorrectedEditParams) and the final occurrences count.
|
33
|
-
*/
|
34
|
-
export declare function ensureCorrectEdit(filePath: string, currentContent: string, originalParams: EditToolParams, // This is the EditToolParams from edit.ts, without \'corrected\'
|
35
|
-
client: GeminiClient, abortSignal: AbortSignal): Promise<CorrectedEditResult>;
|
36
|
-
export declare function ensureCorrectFileContent(content: string, client: GeminiClient, abortSignal: AbortSignal): Promise<string>;
|
37
|
-
export declare function correctOldStringMismatch(_geminiClient: GeminiClient, fileContent: string, problematicSnippet: string, _abortSignal: AbortSignal): Promise<string>;
|
38
|
-
/**
|
39
|
-
* Adjusts the new_string to align with a corrected old_string, maintaining the original intent.
|
40
|
-
*/
|
41
|
-
export declare function correctNewString(_geminiClient: GeminiClient, originalOldString: string, correctedOldString: string, originalNewString: string, _abortSignal: AbortSignal): Promise<string>;
|
42
|
-
export declare function correctNewStringEscaping(_geminiClient: GeminiClient, oldString: string, potentiallyProblematicNewString: string, _abortSignal: AbortSignal): Promise<string>;
|
43
|
-
export declare function correctStringEscaping(potentiallyProblematicString: string, _client: GeminiClient, _abortSignal: AbortSignal): Promise<string>;
|
44
|
-
/**
|
45
|
-
* Unescapes a string that might have been overly escaped by an LLM.
|
46
|
-
*/
|
47
|
-
export declare function unescapeStringForGeminiBug(inputString: string): string;
|
48
|
-
/**
|
49
|
-
* Counts occurrences of a substring in a string
|
50
|
-
*/
|
51
|
-
export declare function countOccurrences(str: string, substr: string): number;
|
52
|
-
export declare function resetEditCorrectorCaches_TEST_ONLY(): void;
|
53
|
-
export {};
|
@@ -1,347 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright 2025 Google LLC
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
5
|
-
*/
|
6
|
-
import { EditTool } from '../tools/edit.js';
|
7
|
-
import { WriteFileTool } from '../tools/write-file.js';
|
8
|
-
import { ReadFileTool } from '../tools/read-file.js';
|
9
|
-
import { ReadManyFilesTool } from '../tools/read-many-files.js';
|
10
|
-
import { GrepTool } from '../tools/grep.js';
|
11
|
-
import { LruCache } from './LruCache.js';
|
12
|
-
import { isFunctionResponse, isFunctionCall, } from '../utils/messageInspectors.js';
|
13
|
-
import { promises as fsPromises } from 'fs';
|
14
|
-
import { correctOldStringMismatch as deterministicCorrectOldString, correctNewString as deterministicCorrectNewString, correctNewStringEscaping as deterministicCorrectNewStringEscaping, } from './deterministicEditCorrector.js';
|
15
|
-
const MAX_CACHE_SIZE = 50;
|
16
|
-
// Cache for ensureCorrectEdit results
|
17
|
-
const editCorrectionCache = new LruCache(MAX_CACHE_SIZE);
|
18
|
-
// Cache for ensureCorrectFileContent results
|
19
|
-
const fileContentCorrectionCache = new LruCache(MAX_CACHE_SIZE);
|
20
|
-
/**
|
21
|
-
* Extracts the timestamp from the .id value, which is in format
|
22
|
-
* <tool.name>-<timestamp>-<uuid>
|
23
|
-
* @param fcnId the ID value of a functionCall or functionResponse object
|
24
|
-
* @returns -1 if the timestamp could not be extracted, else the timestamp (as a number)
|
25
|
-
*/
|
26
|
-
function getTimestampFromFunctionId(fcnId) {
|
27
|
-
const idParts = fcnId.split('-');
|
28
|
-
if (idParts.length > 2) {
|
29
|
-
const timestamp = parseInt(idParts[1], 10);
|
30
|
-
if (!isNaN(timestamp)) {
|
31
|
-
return timestamp;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
return -1;
|
35
|
-
}
|
36
|
-
/**
|
37
|
-
* Will look through the gemini client history and determine when the most recent
|
38
|
-
* edit to a target file occurred. If no edit happened, it will return -1
|
39
|
-
* @param filePath the path to the file
|
40
|
-
* @param client the geminiClient, so that we can get the history
|
41
|
-
* @returns a DateTime (as a number) of when the last edit occurred, or -1 if no edit was found.
|
42
|
-
*/
|
43
|
-
async function findLastEditTimestamp(filePath, client) {
|
44
|
-
const history = (await client.getHistory()) ?? [];
|
45
|
-
// Tools that may reference the file path in their FunctionResponse `output`.
|
46
|
-
const toolsInResp = new Set([
|
47
|
-
WriteFileTool.Name,
|
48
|
-
EditTool.Name,
|
49
|
-
ReadManyFilesTool.Name,
|
50
|
-
GrepTool.Name,
|
51
|
-
]);
|
52
|
-
// Tools that may reference the file path in their FunctionCall `args`.
|
53
|
-
const toolsInCall = new Set([...toolsInResp, ReadFileTool.Name]);
|
54
|
-
// Iterate backwards to find the most recent relevant action.
|
55
|
-
for (const entry of history.slice().reverse()) {
|
56
|
-
if (!entry.parts)
|
57
|
-
continue;
|
58
|
-
for (const part of entry.parts) {
|
59
|
-
let id;
|
60
|
-
let content;
|
61
|
-
// Check for a relevant FunctionCall with the file path in its arguments.
|
62
|
-
if (isFunctionCall(entry) &&
|
63
|
-
part.functionCall?.name &&
|
64
|
-
toolsInCall.has(part.functionCall.name)) {
|
65
|
-
id = part.functionCall.id;
|
66
|
-
content = part.functionCall.args;
|
67
|
-
}
|
68
|
-
// Check for a relevant FunctionResponse with the file path in its output.
|
69
|
-
else if (isFunctionResponse(entry) &&
|
70
|
-
part.functionResponse?.name &&
|
71
|
-
toolsInResp.has(part.functionResponse.name)) {
|
72
|
-
const { response } = part.functionResponse;
|
73
|
-
if (response && !('error' in response) && 'output' in response) {
|
74
|
-
id = part.functionResponse.id;
|
75
|
-
content = response.output;
|
76
|
-
}
|
77
|
-
}
|
78
|
-
if (!id || content === undefined)
|
79
|
-
continue;
|
80
|
-
// Use the "blunt hammer" approach to find the file path in the content.
|
81
|
-
// Note that the tool response data is inconsistent in their formatting
|
82
|
-
// with successes and errors - so, we just check for the existence
|
83
|
-
// as the best guess to if error/failed occurred with the response.
|
84
|
-
const stringified = JSON.stringify(content);
|
85
|
-
if (!stringified.includes('Error') && // only applicable for functionResponse
|
86
|
-
!stringified.includes('Failed') && // only applicable for functionResponse
|
87
|
-
stringified.includes(filePath)) {
|
88
|
-
return getTimestampFromFunctionId(id);
|
89
|
-
}
|
90
|
-
}
|
91
|
-
}
|
92
|
-
return -1;
|
93
|
-
}
|
94
|
-
/**
|
95
|
-
* Attempts to correct edit parameters if the original old_string is not found.
|
96
|
-
* It tries unescaping, and then LLM-based correction.
|
97
|
-
* Results are cached to avoid redundant processing.
|
98
|
-
*
|
99
|
-
* @param currentContent The current content of the file.
|
100
|
-
* @param originalParams The original EditToolParams
|
101
|
-
* @param client The GeminiClient for LLM calls.
|
102
|
-
* @returns A promise resolving to an object containing the (potentially corrected)
|
103
|
-
* EditToolParams (as CorrectedEditParams) and the final occurrences count.
|
104
|
-
*/
|
105
|
-
export async function ensureCorrectEdit(filePath, currentContent, originalParams, // This is the EditToolParams from edit.ts, without \'corrected\'
|
106
|
-
client, abortSignal) {
|
107
|
-
const cacheKey = `${currentContent}---${originalParams.old_string}---${originalParams.new_string}`;
|
108
|
-
const cachedResult = editCorrectionCache.get(cacheKey);
|
109
|
-
if (cachedResult) {
|
110
|
-
return cachedResult;
|
111
|
-
}
|
112
|
-
let finalNewString = originalParams.new_string;
|
113
|
-
const newStringPotentiallyEscaped = unescapeStringForGeminiBug(originalParams.new_string) !==
|
114
|
-
originalParams.new_string;
|
115
|
-
const expectedReplacements = originalParams.expected_replacements ?? 1;
|
116
|
-
let finalOldString = originalParams.old_string;
|
117
|
-
let occurrences = countOccurrences(currentContent, finalOldString);
|
118
|
-
if (occurrences === expectedReplacements) {
|
119
|
-
if (newStringPotentiallyEscaped) {
|
120
|
-
finalNewString = await correctNewStringEscaping(client, finalOldString, originalParams.new_string, abortSignal);
|
121
|
-
}
|
122
|
-
}
|
123
|
-
else if (occurrences > expectedReplacements) {
|
124
|
-
const expectedReplacements = originalParams.expected_replacements ?? 1;
|
125
|
-
// If user expects multiple replacements, return as-is
|
126
|
-
if (occurrences === expectedReplacements) {
|
127
|
-
const result = {
|
128
|
-
params: { ...originalParams },
|
129
|
-
occurrences,
|
130
|
-
};
|
131
|
-
editCorrectionCache.set(cacheKey, result);
|
132
|
-
return result;
|
133
|
-
}
|
134
|
-
// If user expects 1 but found multiple, try to correct (existing behavior)
|
135
|
-
if (expectedReplacements === 1) {
|
136
|
-
const result = {
|
137
|
-
params: { ...originalParams },
|
138
|
-
occurrences,
|
139
|
-
};
|
140
|
-
editCorrectionCache.set(cacheKey, result);
|
141
|
-
return result;
|
142
|
-
}
|
143
|
-
// If occurrences don't match expected, return as-is (will fail validation later)
|
144
|
-
const result = {
|
145
|
-
params: { ...originalParams },
|
146
|
-
occurrences,
|
147
|
-
};
|
148
|
-
editCorrectionCache.set(cacheKey, result);
|
149
|
-
return result;
|
150
|
-
}
|
151
|
-
else {
|
152
|
-
// occurrences is 0 or some other unexpected state initially
|
153
|
-
const unescapedOldStringAttempt = unescapeStringForGeminiBug(originalParams.old_string);
|
154
|
-
occurrences = countOccurrences(currentContent, unescapedOldStringAttempt);
|
155
|
-
if (occurrences === expectedReplacements) {
|
156
|
-
finalOldString = unescapedOldStringAttempt;
|
157
|
-
if (newStringPotentiallyEscaped) {
|
158
|
-
finalNewString = await correctNewString(client, originalParams.old_string, // original old
|
159
|
-
unescapedOldStringAttempt, // corrected old
|
160
|
-
originalParams.new_string, // original new (which is potentially escaped)
|
161
|
-
abortSignal);
|
162
|
-
}
|
163
|
-
}
|
164
|
-
else if (occurrences === 0) {
|
165
|
-
if (filePath) {
|
166
|
-
// In order to keep from clobbering edits made outside our system,
|
167
|
-
// let's check if there was a more recent edit to the file than what
|
168
|
-
// our system has done
|
169
|
-
const lastEditedByUsTime = await findLastEditTimestamp(filePath, client);
|
170
|
-
// Add a 1-second buffer to account for timing inaccuracies. If the file
|
171
|
-
// was modified more than a second after the last edit tool was run, we
|
172
|
-
// can assume it was modified by something else.
|
173
|
-
if (lastEditedByUsTime > 0) {
|
174
|
-
const stats = await fsPromises.stat(filePath);
|
175
|
-
const diff = stats.mtimeMs - lastEditedByUsTime;
|
176
|
-
if (diff > 2000) {
|
177
|
-
// Hard coded for 2 seconds
|
178
|
-
// This file was edited sooner
|
179
|
-
const result = {
|
180
|
-
params: { ...originalParams },
|
181
|
-
occurrences: 0, // Explicitly 0 as LLM failed
|
182
|
-
};
|
183
|
-
editCorrectionCache.set(cacheKey, result);
|
184
|
-
return result;
|
185
|
-
}
|
186
|
-
}
|
187
|
-
}
|
188
|
-
const llmCorrectedOldString = await correctOldStringMismatch(client, currentContent, unescapedOldStringAttempt, abortSignal);
|
189
|
-
const llmOldOccurrences = countOccurrences(currentContent, llmCorrectedOldString);
|
190
|
-
if (llmOldOccurrences === expectedReplacements) {
|
191
|
-
finalOldString = llmCorrectedOldString;
|
192
|
-
occurrences = llmOldOccurrences;
|
193
|
-
if (newStringPotentiallyEscaped) {
|
194
|
-
const baseNewStringForLLMCorrection = unescapeStringForGeminiBug(originalParams.new_string);
|
195
|
-
finalNewString = await correctNewString(client, originalParams.old_string, // original old
|
196
|
-
llmCorrectedOldString, // corrected old
|
197
|
-
baseNewStringForLLMCorrection, // base new for correction
|
198
|
-
abortSignal);
|
199
|
-
}
|
200
|
-
}
|
201
|
-
else {
|
202
|
-
// LLM correction also failed for old_string
|
203
|
-
const result = {
|
204
|
-
params: { ...originalParams },
|
205
|
-
occurrences: 0, // Explicitly 0 as LLM failed
|
206
|
-
};
|
207
|
-
editCorrectionCache.set(cacheKey, result);
|
208
|
-
return result;
|
209
|
-
}
|
210
|
-
}
|
211
|
-
else {
|
212
|
-
// Unescaping old_string resulted in > 1 occurrence
|
213
|
-
const result = {
|
214
|
-
params: { ...originalParams },
|
215
|
-
occurrences, // This will be > 1
|
216
|
-
};
|
217
|
-
editCorrectionCache.set(cacheKey, result);
|
218
|
-
return result;
|
219
|
-
}
|
220
|
-
}
|
221
|
-
const { targetString, pair } = trimPairIfPossible(finalOldString, finalNewString, currentContent, expectedReplacements);
|
222
|
-
finalOldString = targetString;
|
223
|
-
finalNewString = pair;
|
224
|
-
// Final result construction
|
225
|
-
const result = {
|
226
|
-
params: {
|
227
|
-
file_path: originalParams.file_path,
|
228
|
-
old_string: finalOldString,
|
229
|
-
new_string: finalNewString,
|
230
|
-
},
|
231
|
-
occurrences: countOccurrences(currentContent, finalOldString), // Recalculate occurrences with the final old_string
|
232
|
-
};
|
233
|
-
editCorrectionCache.set(cacheKey, result);
|
234
|
-
return result;
|
235
|
-
}
|
236
|
-
export async function ensureCorrectFileContent(content, client, abortSignal) {
|
237
|
-
const cachedResult = fileContentCorrectionCache.get(content);
|
238
|
-
if (cachedResult) {
|
239
|
-
return cachedResult;
|
240
|
-
}
|
241
|
-
const contentPotentiallyEscaped = unescapeStringForGeminiBug(content) !== content;
|
242
|
-
if (!contentPotentiallyEscaped) {
|
243
|
-
fileContentCorrectionCache.set(content, content);
|
244
|
-
return content;
|
245
|
-
}
|
246
|
-
const correctedContent = await correctStringEscaping(content, client, abortSignal);
|
247
|
-
fileContentCorrectionCache.set(content, correctedContent);
|
248
|
-
return correctedContent;
|
249
|
-
}
|
250
|
-
// JSON schemas removed - using deterministic correction instead of LLM
|
251
|
-
export async function correctOldStringMismatch(_geminiClient, fileContent, problematicSnippet, _abortSignal) {
|
252
|
-
// Use deterministic correction instead of LLM
|
253
|
-
return deterministicCorrectOldString(fileContent, problematicSnippet);
|
254
|
-
}
|
255
|
-
/**
|
256
|
-
* Adjusts the new_string to align with a corrected old_string, maintaining the original intent.
|
257
|
-
*/
|
258
|
-
export async function correctNewString(_geminiClient, originalOldString, correctedOldString, originalNewString, _abortSignal) {
|
259
|
-
// Use deterministic correction instead of LLM
|
260
|
-
return deterministicCorrectNewString(originalOldString, correctedOldString, originalNewString);
|
261
|
-
}
|
262
|
-
export async function correctNewStringEscaping(_geminiClient, oldString, potentiallyProblematicNewString, _abortSignal) {
|
263
|
-
// Use deterministic correction instead of LLM
|
264
|
-
return deterministicCorrectNewStringEscaping(oldString, potentiallyProblematicNewString);
|
265
|
-
}
|
266
|
-
export async function correctStringEscaping(potentiallyProblematicString, _client, _abortSignal) {
|
267
|
-
// Use deterministic correction instead of LLM
|
268
|
-
// This is a general string escaping correction without old_string context
|
269
|
-
return deterministicCorrectNewStringEscaping('', potentiallyProblematicString);
|
270
|
-
}
|
271
|
-
function trimPairIfPossible(target, trimIfTargetTrims, currentContent, expectedReplacements) {
|
272
|
-
const trimmedTargetString = target.trim();
|
273
|
-
if (target.length !== trimmedTargetString.length) {
|
274
|
-
const trimmedTargetOccurrences = countOccurrences(currentContent, trimmedTargetString);
|
275
|
-
if (trimmedTargetOccurrences === expectedReplacements) {
|
276
|
-
const trimmedReactiveString = trimIfTargetTrims.trim();
|
277
|
-
return {
|
278
|
-
targetString: trimmedTargetString,
|
279
|
-
pair: trimmedReactiveString,
|
280
|
-
};
|
281
|
-
}
|
282
|
-
}
|
283
|
-
return {
|
284
|
-
targetString: target,
|
285
|
-
pair: trimIfTargetTrims,
|
286
|
-
};
|
287
|
-
}
|
288
|
-
/**
|
289
|
-
* Unescapes a string that might have been overly escaped by an LLM.
|
290
|
-
*/
|
291
|
-
export function unescapeStringForGeminiBug(inputString) {
|
292
|
-
// Regex explanation:
|
293
|
-
// \\ : Matches exactly one literal backslash character.
|
294
|
-
// (n|t|r|'|"|`|\\|\n) : This is a capturing group. It matches one of the following:
|
295
|
-
// n, t, r, ', ", ` : These match the literal characters 'n', 't', 'r', single quote, double quote, or backtick.
|
296
|
-
// This handles cases like "\\n", "\\`", etc.
|
297
|
-
// \\ : This matches a literal backslash. This handles cases like "\\\\" (escaped backslash).
|
298
|
-
// \n : This matches an actual newline character. This handles cases where the input
|
299
|
-
// string might have something like "\\\n" (a literal backslash followed by a newline).
|
300
|
-
// g : Global flag, to replace all occurrences.
|
301
|
-
return inputString.replace(/\\+(n|t|r|'|"|`|\\|\n)/g, (match, capturedChar) => {
|
302
|
-
// 'match' is the entire erroneous sequence, e.g., if the input (in memory) was "\\\\`", match is "\\\\`".
|
303
|
-
// 'capturedChar' is the character that determines the true meaning, e.g., '`'.
|
304
|
-
switch (capturedChar) {
|
305
|
-
case 'n':
|
306
|
-
return '\n'; // Correctly escaped: \n (newline character)
|
307
|
-
case 't':
|
308
|
-
return '\t'; // Correctly escaped: \t (tab character)
|
309
|
-
case 'r':
|
310
|
-
return '\r'; // Correctly escaped: \r (carriage return character)
|
311
|
-
case "'":
|
312
|
-
return "'"; // Correctly escaped: ' (apostrophe character)
|
313
|
-
case '"':
|
314
|
-
return '"'; // Correctly escaped: " (quotation mark character)
|
315
|
-
case '`':
|
316
|
-
return '`'; // Correctly escaped: ` (backtick character)
|
317
|
-
case '\\': // This handles when 'capturedChar' is a literal backslash
|
318
|
-
return '\\'; // Replace escaped backslash (e.g., "\\\\") with single backslash
|
319
|
-
case '\n': // This handles when 'capturedChar' is an actual newline
|
320
|
-
return '\n'; // Replace the whole erroneous sequence (e.g., "\\\n" in memory) with a clean newline
|
321
|
-
default:
|
322
|
-
// This fallback should ideally not be reached if the regex captures correctly.
|
323
|
-
// It would return the original matched sequence if an unexpected character was captured.
|
324
|
-
return match;
|
325
|
-
}
|
326
|
-
});
|
327
|
-
}
|
328
|
-
/**
|
329
|
-
* Counts occurrences of a substring in a string
|
330
|
-
*/
|
331
|
-
export function countOccurrences(str, substr) {
|
332
|
-
if (substr === '') {
|
333
|
-
return 0;
|
334
|
-
}
|
335
|
-
let count = 0;
|
336
|
-
let pos = str.indexOf(substr);
|
337
|
-
while (pos !== -1) {
|
338
|
-
count++;
|
339
|
-
pos = str.indexOf(substr, pos + substr.length); // Start search after the current match
|
340
|
-
}
|
341
|
-
return count;
|
342
|
-
}
|
343
|
-
export function resetEditCorrectorCaches_TEST_ONLY() {
|
344
|
-
editCorrectionCache.clear();
|
345
|
-
fileContentCorrectionCache.clear();
|
346
|
-
}
|
347
|
-
//# sourceMappingURL=editCorrector.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"editCorrector.js","sourceRoot":"","sources":["../../../src/utils/editCorrector.ts"],"names":[],"mappings":"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"}
|