@vybestack/llxprt-code-core 0.2.25 → 0.3.4-nightly.250912.5e46408e
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/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/code_assist/converter.js +35 -3
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +1 -1
- package/dist/src/code_assist/oauth2.js +18 -25
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/config/config.d.ts +33 -2
- package/dist/src/config/config.js +73 -13
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/storage.d.ts +33 -0
- package/dist/src/config/storage.js +93 -0
- package/dist/src/config/storage.js.map +1 -0
- package/dist/src/core/client.d.ts +8 -5
- package/dist/src/core/client.js +119 -20
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.js +11 -0
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +18 -12
- package/dist/src/core/coreToolScheduler.js +235 -241
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/logger.d.ts +3 -1
- package/dist/src/core/logger.js +5 -3
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.js +2 -2
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/subagent.js +2 -12
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/core/turn.d.ts +13 -2
- package/dist/src/core/turn.js +15 -4
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/filters/EmojiFilter.d.ts +5 -0
- package/dist/src/filters/EmojiFilter.js +3 -2
- package/dist/src/filters/EmojiFilter.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +8 -3
- package/dist/src/ide/detect-ide.js +29 -11
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +5 -4
- package/dist/src/ide/ide-client.js +21 -17
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-installer.d.ts +1 -1
- package/dist/src/ide/ide-installer.js +29 -20
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/process-utils.d.ts +7 -5
- package/dist/src/ide/process-utils.js +80 -47
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/file-token-store.d.ts +58 -0
- package/dist/src/mcp/file-token-store.js +181 -0
- package/dist/src/mcp/file-token-store.js.map +1 -0
- package/dist/src/mcp/oauth-token-storage.d.ts +13 -28
- package/dist/src/mcp/oauth-token-storage.js +21 -87
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +8 -0
- package/dist/src/mcp/oauth-utils.js +41 -27
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/token-store.d.ts +99 -0
- package/dist/src/mcp/token-store.js +77 -0
- package/dist/src/mcp/token-store.js.map +1 -0
- package/dist/src/parsers/TextToolCallParser.d.ts +5 -0
- package/dist/src/parsers/TextToolCallParser.js +3 -13
- package/dist/src/parsers/TextToolCallParser.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.js +8 -9
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.js +16 -1
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +5 -0
- package/dist/src/providers/openai/OpenAIProvider.js +21 -38
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/services/gitService.d.ts +3 -1
- package/dist/src/services/gitService.js +20 -10
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/history/ContentConverters.js +40 -1
- package/dist/src/services/history/ContentConverters.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +8 -2
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +2 -1
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/settings/SettingsService.d.ts +5 -0
- package/dist/src/settings/SettingsService.js +5 -0
- package/dist/src/settings/SettingsService.js.map +1 -1
- package/dist/src/settings/settingsServiceInstance.d.ts +5 -0
- package/dist/src/settings/settingsServiceInstance.js +5 -0
- package/dist/src/settings/settingsServiceInstance.js.map +1 -1
- package/dist/src/settings/types.d.ts +5 -0
- package/dist/src/settings/types.js +3 -1
- package/dist/src/settings/types.js.map +1 -1
- package/dist/src/tools/IToolFormatter.d.ts +5 -0
- package/dist/src/tools/IToolFormatter.js +3 -13
- package/dist/src/tools/IToolFormatter.js.map +1 -1
- package/dist/src/tools/ToolFormatter.d.ts +5 -0
- package/dist/src/tools/ToolFormatter.js +3 -13
- package/dist/src/tools/ToolFormatter.js.map +1 -1
- package/dist/src/tools/doubleEscapeUtils.d.ts +3 -13
- package/dist/src/tools/doubleEscapeUtils.js +5 -0
- package/dist/src/tools/doubleEscapeUtils.js.map +1 -1
- package/dist/src/tools/edit.js +10 -1
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/glob.d.ts +0 -4
- package/dist/src/tools/glob.js +18 -42
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/grep.d.ts +0 -4
- package/dist/src/tools/grep.js +41 -77
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/ls.d.ts +2 -6
- package/dist/src/tools/ls.js +18 -13
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +7 -0
- package/dist/src/tools/mcp-client.js +26 -21
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-tool.js +12 -2
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.js +7 -2
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/read-file.js +2 -30
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-many-files.js +29 -52
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +46 -0
- package/dist/src/tools/ripGrep.js +368 -0
- package/dist/src/tools/ripGrep.js.map +1 -0
- package/dist/src/tools/shell.js +13 -2
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/todo-pause.js +0 -1
- package/dist/src/tools/todo-pause.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +18 -2
- package/dist/src/tools/tool-error.js +27 -1
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +13 -2
- package/dist/src/tools/tool-registry.js +30 -2
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tools.d.ts +7 -5
- package/dist/src/tools/tools.js +12 -0
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.js +101 -76
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-search-invocation.js +13 -1
- package/dist/src/tools/web-search-invocation.js.map +1 -1
- package/dist/src/utils/deterministicEditCorrector.d.ts +28 -0
- package/dist/src/utils/deterministicEditCorrector.js +295 -0
- package/dist/src/utils/deterministicEditCorrector.js.map +1 -0
- package/dist/src/utils/editCorrector.d.ts +4 -4
- package/dist/src/utils/editCorrector.js +15 -213
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editor.js +1 -1
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/errors.d.ts +19 -0
- package/dist/src/utils/errors.js +32 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +2 -7
- package/dist/src/utils/fileUtils.js +16 -47
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
- package/dist/src/utils/filesearch/fileSearch.js +14 -9
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/ignorePatterns.d.ts +103 -0
- package/dist/src/utils/ignorePatterns.js +220 -0
- package/dist/src/utils/ignorePatterns.js.map +1 -0
- package/dist/src/utils/installationManager.d.ts +16 -0
- package/dist/src/utils/installationManager.js +50 -0
- package/dist/src/utils/installationManager.js.map +1 -0
- package/dist/src/utils/memoryDiscovery.d.ts +1 -1
- package/dist/src/utils/memoryDiscovery.js +64 -43
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/paths.d.ts +0 -17
- package/dist/src/utils/paths.js +0 -26
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +4 -0
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +1 -1
- package/dist/src/utils/shell-utils.js +23 -29
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.d.ts +19 -0
- package/dist/src/utils/tool-utils.js +58 -0
- package/dist/src/utils/tool-utils.js.map +1 -0
- package/dist/src/utils/userAccountManager.d.ts +20 -0
- package/dist/src/utils/userAccountManager.js +122 -0
- package/dist/src/utils/userAccountManager.js.map +1 -0
- package/dist/src/utils/workspaceContext.js +11 -5
- package/dist/src/utils/workspaceContext.js.map +1 -1
- package/package.json +7 -3
- package/dist/src/utils/nextSpeakerChecker.d.ts +0 -12
- package/dist/src/utils/nextSpeakerChecker.js +0 -97
- package/dist/src/utils/nextSpeakerChecker.js.map +0 -1
- package/dist/src/utils/user_account.d.ts +0 -9
- package/dist/src/utils/user_account.js +0 -109
- package/dist/src/utils/user_account.js.map +0 -1
- package/dist/src/utils/user_id.d.ts +0 -11
- package/dist/src/utils/user_id.js +0 -49
- package/dist/src/utils/user_id.js.map +0 -1
@@ -0,0 +1,295 @@
|
|
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
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deterministicEditCorrector.js","sourceRoot":"","sources":["../../../src/utils/deterministicEditCorrector.ts"],"names":[],"mappings":"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"}
|
@@ -34,13 +34,13 @@ export interface CorrectedEditResult {
|
|
34
34
|
export declare function ensureCorrectEdit(filePath: string, currentContent: string, originalParams: EditToolParams, // This is the EditToolParams from edit.ts, without \'corrected\'
|
35
35
|
client: GeminiClient, abortSignal: AbortSignal): Promise<CorrectedEditResult>;
|
36
36
|
export declare function ensureCorrectFileContent(content: string, client: GeminiClient, abortSignal: AbortSignal): Promise<string>;
|
37
|
-
export declare function correctOldStringMismatch(
|
37
|
+
export declare function correctOldStringMismatch(_geminiClient: GeminiClient, fileContent: string, problematicSnippet: string, _abortSignal: AbortSignal): Promise<string>;
|
38
38
|
/**
|
39
39
|
* Adjusts the new_string to align with a corrected old_string, maintaining the original intent.
|
40
40
|
*/
|
41
|
-
export declare function correctNewString(
|
42
|
-
export declare function correctNewStringEscaping(
|
43
|
-
export declare function correctStringEscaping(potentiallyProblematicString: string,
|
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
44
|
/**
|
45
45
|
* Unescapes a string that might have been overly escaped by an LLM.
|
46
46
|
*/
|
@@ -9,15 +9,9 @@ import { ReadFileTool } from '../tools/read-file.js';
|
|
9
9
|
import { ReadManyFilesTool } from '../tools/read-many-files.js';
|
10
10
|
import { GrepTool } from '../tools/grep.js';
|
11
11
|
import { LruCache } from './LruCache.js';
|
12
|
-
import { DEFAULT_GEMINI_FLASH_LITE_MODEL } from '../config/models.js';
|
13
12
|
import { isFunctionResponse, isFunctionCall, } from '../utils/messageInspectors.js';
|
14
13
|
import * as fs from 'fs';
|
15
|
-
|
16
|
-
const EditConfig = {
|
17
|
-
thinkingConfig: {
|
18
|
-
thinkingBudget: 0,
|
19
|
-
},
|
20
|
-
};
|
14
|
+
import { correctOldStringMismatch as deterministicCorrectOldString, correctNewString as deterministicCorrectNewString, correctNewStringEscaping as deterministicCorrectNewStringEscaping, } from './deterministicEditCorrector.js';
|
21
15
|
const MAX_CACHE_SIZE = 50;
|
22
16
|
// Cache for ensureCorrectEdit results
|
23
17
|
const editCorrectionCache = new LruCache(MAX_CACHE_SIZE);
|
@@ -253,218 +247,26 @@ export async function ensureCorrectFileContent(content, client, abortSignal) {
|
|
253
247
|
fileContentCorrectionCache.set(content, correctedContent);
|
254
248
|
return correctedContent;
|
255
249
|
}
|
256
|
-
//
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
corrected_target_snippet: {
|
261
|
-
type: 'string',
|
262
|
-
description: 'The corrected version of the target snippet that exactly and uniquely matches a segment within the provided file content.',
|
263
|
-
},
|
264
|
-
},
|
265
|
-
required: ['corrected_target_snippet'],
|
266
|
-
};
|
267
|
-
export async function correctOldStringMismatch(geminiClient, fileContent, problematicSnippet, abortSignal) {
|
268
|
-
const prompt = `
|
269
|
-
Context: A process needs to find an exact literal, unique match for a specific text snippet within a file's content. The provided snippet failed to match exactly. This is most likely because it has been overly escaped.
|
270
|
-
|
271
|
-
Task: Analyze the provided file content and the problematic target snippet. Identify the segment in the file content that the snippet was *most likely* intended to match. Output the *exact*, literal text of that segment from the file content. Focus *only* on removing extra escape characters and correcting formatting, whitespace, or minor differences to achieve a PERFECT literal match. The output must be the exact literal text as it appears in the file.
|
272
|
-
|
273
|
-
Problematic target snippet:
|
274
|
-
\`\`\`
|
275
|
-
${problematicSnippet}
|
276
|
-
\`\`\`
|
277
|
-
|
278
|
-
File Content:
|
279
|
-
\`\`\`
|
280
|
-
${fileContent}
|
281
|
-
\`\`\`
|
282
|
-
|
283
|
-
For example, if the problematic target snippet was "\\\\\\nconst greeting = \`Hello \\\\\`\${name}\\\\\`\`;" and the file content had content that looked like "\nconst greeting = \`Hello ${'\\`'}\${name}${'\\`'}\`;", then corrected_target_snippet should likely be "\nconst greeting = \`Hello ${'\\`'}\${name}${'\\`'}\`;" to fix the incorrect escaping to match the original file content.
|
284
|
-
If the differences are only in whitespace or formatting, apply similar whitespace/formatting changes to the corrected_target_snippet.
|
285
|
-
|
286
|
-
Return ONLY the corrected target snippet in the specified JSON format with the key 'corrected_target_snippet'. If no clear, unique match can be found, return an empty string for 'corrected_target_snippet'.
|
287
|
-
`.trim();
|
288
|
-
const contents = [{ role: 'user', parts: [{ text: prompt }] }];
|
289
|
-
try {
|
290
|
-
const result = await geminiClient.generateJson(contents, OLD_STRING_CORRECTION_SCHEMA, abortSignal, EditModel, EditConfig);
|
291
|
-
if (result &&
|
292
|
-
typeof result.corrected_target_snippet === 'string' &&
|
293
|
-
result.corrected_target_snippet.length > 0) {
|
294
|
-
return result.corrected_target_snippet;
|
295
|
-
}
|
296
|
-
else {
|
297
|
-
return problematicSnippet;
|
298
|
-
}
|
299
|
-
}
|
300
|
-
catch (error) {
|
301
|
-
if (abortSignal.aborted) {
|
302
|
-
throw error;
|
303
|
-
}
|
304
|
-
console.error('Error during LLM call for old string snippet correction:', error);
|
305
|
-
return problematicSnippet;
|
306
|
-
}
|
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);
|
307
254
|
}
|
308
|
-
// Define the expected JSON schema for the new_string correction LLM response
|
309
|
-
const NEW_STRING_CORRECTION_SCHEMA = {
|
310
|
-
type: 'object',
|
311
|
-
properties: {
|
312
|
-
corrected_new_string: {
|
313
|
-
type: 'string',
|
314
|
-
description: 'The original_new_string adjusted to be a suitable replacement for the corrected_old_string, while maintaining the original intent of the change.',
|
315
|
-
},
|
316
|
-
},
|
317
|
-
required: ['corrected_new_string'],
|
318
|
-
};
|
319
255
|
/**
|
320
256
|
* Adjusts the new_string to align with a corrected old_string, maintaining the original intent.
|
321
257
|
*/
|
322
|
-
export async function correctNewString(
|
323
|
-
|
324
|
-
|
325
|
-
}
|
326
|
-
const prompt = `
|
327
|
-
Context: A text replacement operation was planned. The original text to be replaced (original_old_string) was slightly different from the actual text in the file (corrected_old_string). The original_old_string has now been corrected to match the file content.
|
328
|
-
We now need to adjust the replacement text (original_new_string) so that it makes sense as a replacement for the corrected_old_string, while preserving the original intent of the change.
|
329
|
-
|
330
|
-
original_old_string (what was initially intended to be found):
|
331
|
-
\`\`\`
|
332
|
-
${originalOldString}
|
333
|
-
\`\`\`
|
334
|
-
|
335
|
-
corrected_old_string (what was actually found in the file and will be replaced):
|
336
|
-
\`\`\`
|
337
|
-
${correctedOldString}
|
338
|
-
\`\`\`
|
339
|
-
|
340
|
-
original_new_string (what was intended to replace original_old_string):
|
341
|
-
\`\`\`
|
342
|
-
${originalNewString}
|
343
|
-
\`\`\`
|
344
|
-
|
345
|
-
Task: Based on the differences between original_old_string and corrected_old_string, and the content of original_new_string, generate a corrected_new_string. This corrected_new_string should be what original_new_string would have been if it was designed to replace corrected_old_string directly, while maintaining the spirit of the original transformation.
|
346
|
-
|
347
|
-
For example, if original_old_string was "\\\\\\nconst greeting = \`Hello \\\\\`\${name}\\\\\`\`;" and corrected_old_string is "\nconst greeting = \`Hello ${'\\`'}\${name}${'\\`'}\`;", and original_new_string was "\\\\\\nconst greeting = \`Hello \\\\\`\${name} \${lastName}\\\\\`\`;", then corrected_new_string should likely be "\nconst greeting = \`Hello ${'\\`'}\${name} \${lastName}${'\\`'}\`;" to fix the incorrect escaping.
|
348
|
-
If the differences are only in whitespace or formatting, apply similar whitespace/formatting changes to the corrected_new_string.
|
349
|
-
|
350
|
-
Return ONLY the corrected string in the specified JSON format with the key 'corrected_new_string'. If no adjustment is deemed necessary or possible, return the original_new_string.
|
351
|
-
`.trim();
|
352
|
-
const contents = [{ role: 'user', parts: [{ text: prompt }] }];
|
353
|
-
try {
|
354
|
-
const result = await geminiClient.generateJson(contents, NEW_STRING_CORRECTION_SCHEMA, abortSignal, EditModel, EditConfig);
|
355
|
-
if (result &&
|
356
|
-
typeof result.corrected_new_string === 'string' &&
|
357
|
-
result.corrected_new_string.length > 0) {
|
358
|
-
return result.corrected_new_string;
|
359
|
-
}
|
360
|
-
else {
|
361
|
-
return originalNewString;
|
362
|
-
}
|
363
|
-
}
|
364
|
-
catch (error) {
|
365
|
-
if (abortSignal.aborted) {
|
366
|
-
throw error;
|
367
|
-
}
|
368
|
-
console.error('Error during LLM call for new_string correction:', error);
|
369
|
-
return originalNewString;
|
370
|
-
}
|
258
|
+
export async function correctNewString(_geminiClient, originalOldString, correctedOldString, originalNewString, _abortSignal) {
|
259
|
+
// Use deterministic correction instead of LLM
|
260
|
+
return deterministicCorrectNewString(originalOldString, correctedOldString, originalNewString);
|
371
261
|
}
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
corrected_new_string_escaping: {
|
376
|
-
type: 'string',
|
377
|
-
description: 'The new_string with corrected escaping, ensuring it is a proper replacement for the old_string, especially considering potential over-escaping issues from previous LLM generations.',
|
378
|
-
},
|
379
|
-
},
|
380
|
-
required: ['corrected_new_string_escaping'],
|
381
|
-
};
|
382
|
-
export async function correctNewStringEscaping(geminiClient, oldString, potentiallyProblematicNewString, abortSignal) {
|
383
|
-
const prompt = `
|
384
|
-
Context: A text replacement operation is planned. The text to be replaced (old_string) has been correctly identified in the file. However, the replacement text (new_string) might have been improperly escaped by a previous LLM generation (e.g. too many backslashes for newlines like \\n instead of \n, or unnecessarily quotes like \\"Hello\\" instead of "Hello").
|
385
|
-
|
386
|
-
old_string (this is the exact text that will be replaced):
|
387
|
-
\`\`\`
|
388
|
-
${oldString}
|
389
|
-
\`\`\`
|
390
|
-
|
391
|
-
potentially_problematic_new_string (this is the text that should replace old_string, but MIGHT have bad escaping, or might be entirely correct):
|
392
|
-
\`\`\`
|
393
|
-
${potentiallyProblematicNewString}
|
394
|
-
\`\`\`
|
395
|
-
|
396
|
-
Task: Analyze the potentially_problematic_new_string. If it's syntactically invalid due to incorrect escaping (e.g., "\n", "\t", "\\", "\\'", "\\""), correct the invalid syntax. The goal is to ensure the new_string, when inserted into the code, will be a valid and correctly interpreted.
|
397
|
-
|
398
|
-
For example, if old_string is "foo" and potentially_problematic_new_string is "bar\\nbaz", the corrected_new_string_escaping should be "bar\nbaz".
|
399
|
-
If potentially_problematic_new_string is console.log(\\"Hello World\\"), it should be console.log("Hello World").
|
400
|
-
|
401
|
-
Return ONLY the corrected string in the specified JSON format with the key 'corrected_new_string_escaping'. If no escaping correction is needed, return the original potentially_problematic_new_string.
|
402
|
-
`.trim();
|
403
|
-
const contents = [{ role: 'user', parts: [{ text: prompt }] }];
|
404
|
-
try {
|
405
|
-
const result = await geminiClient.generateJson(contents, CORRECT_NEW_STRING_ESCAPING_SCHEMA, abortSignal, EditModel, EditConfig);
|
406
|
-
if (result &&
|
407
|
-
typeof result.corrected_new_string_escaping === 'string' &&
|
408
|
-
result.corrected_new_string_escaping.length > 0) {
|
409
|
-
return result.corrected_new_string_escaping;
|
410
|
-
}
|
411
|
-
else {
|
412
|
-
return potentiallyProblematicNewString;
|
413
|
-
}
|
414
|
-
}
|
415
|
-
catch (error) {
|
416
|
-
if (abortSignal.aborted) {
|
417
|
-
throw error;
|
418
|
-
}
|
419
|
-
console.error('Error during LLM call for new_string escaping correction:', error);
|
420
|
-
return potentiallyProblematicNewString;
|
421
|
-
}
|
262
|
+
export async function correctNewStringEscaping(_geminiClient, oldString, potentiallyProblematicNewString, _abortSignal) {
|
263
|
+
// Use deterministic correction instead of LLM
|
264
|
+
return deterministicCorrectNewStringEscaping(oldString, potentiallyProblematicNewString);
|
422
265
|
}
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
type: 'string',
|
428
|
-
description: 'The string with corrected escaping, ensuring it is valid, specially considering potential over-escaping issues from previous LLM generations.',
|
429
|
-
},
|
430
|
-
},
|
431
|
-
required: ['corrected_string_escaping'],
|
432
|
-
};
|
433
|
-
export async function correctStringEscaping(potentiallyProblematicString, client, abortSignal) {
|
434
|
-
const prompt = `
|
435
|
-
Context: An LLM has just generated potentially_problematic_string and the text might have been improperly escaped (e.g. too many backslashes for newlines like \\n instead of \n, or unnecessarily quotes like \\"Hello\\" instead of "Hello").
|
436
|
-
|
437
|
-
potentially_problematic_string (this text MIGHT have bad escaping, or might be entirely correct):
|
438
|
-
\`\`\`
|
439
|
-
${potentiallyProblematicString}
|
440
|
-
\`\`\`
|
441
|
-
|
442
|
-
Task: Analyze the potentially_problematic_string. If it's syntactically invalid due to incorrect escaping (e.g., "\n", "\t", "\\", "\\'", "\\""), correct the invalid syntax. The goal is to ensure the text will be a valid and correctly interpreted.
|
443
|
-
|
444
|
-
For example, if potentially_problematic_string is "bar\\nbaz", the corrected_new_string_escaping should be "bar\nbaz".
|
445
|
-
If potentially_problematic_string is console.log(\\"Hello World\\"), it should be console.log("Hello World").
|
446
|
-
|
447
|
-
Return ONLY the corrected string in the specified JSON format with the key 'corrected_string_escaping'. If no escaping correction is needed, return the original potentially_problematic_string.
|
448
|
-
`.trim();
|
449
|
-
const contents = [{ role: 'user', parts: [{ text: prompt }] }];
|
450
|
-
try {
|
451
|
-
const result = await client.generateJson(contents, CORRECT_STRING_ESCAPING_SCHEMA, abortSignal, EditModel, EditConfig);
|
452
|
-
if (result &&
|
453
|
-
typeof result.corrected_string_escaping === 'string' &&
|
454
|
-
result.corrected_string_escaping.length > 0) {
|
455
|
-
return result.corrected_string_escaping;
|
456
|
-
}
|
457
|
-
else {
|
458
|
-
return potentiallyProblematicString;
|
459
|
-
}
|
460
|
-
}
|
461
|
-
catch (error) {
|
462
|
-
if (abortSignal.aborted) {
|
463
|
-
throw error;
|
464
|
-
}
|
465
|
-
console.error('Error during LLM call for string escaping correction:', error);
|
466
|
-
return potentiallyProblematicString;
|
467
|
-
}
|
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);
|
468
270
|
}
|
469
271
|
function trimPairIfPossible(target, trimIfTargetTrims, currentContent, expectedReplacements) {
|
470
272
|
const trimmedTargetString = target.trim();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"editCorrector.js","sourceRoot":"","sources":["../../../src/utils/editCorrector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,SAAS,GAAG,+BAA+B,CAAC;AAClD,MAAM,UAAU,GAA0B;IACxC,cAAc,EAAE;QACd,cAAc,EAAE,CAAC;KAClB;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,sCAAsC;AACtC,MAAM,mBAAmB,GAAG,IAAI,QAAQ,CACtC,cAAc,CACf,CAAC;AAEF,6CAA6C;AAC7C,MAAM,0BAA0B,GAAG,IAAI,QAAQ,CAAiB,cAAc,CAAC,CAAC;AAmBhF;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,KAAa;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,qBAAqB,CAClC,QAAgB,EAChB,MAAoB;IAEpB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;IAElD,6EAA6E;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,aAAa,CAAC,IAAI;QAClB,QAAQ,CAAC,IAAI;QACb,iBAAiB,CAAC,IAAI;QACtB,QAAQ,CAAC,IAAI;KACd,CAAC,CAAC;IACH,uEAAuE;IACvE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjE,6DAA6D;IAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,SAAS;QAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,EAAsB,CAAC;YAC3B,IAAI,OAAgB,CAAC;YAErB,yEAAyE;YACzE,IACE,cAAc,CAAC,KAAK,CAAC;gBACrB,IAAI,CAAC,YAAY,EAAE,IAAI;gBACvB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACvC,CAAC;gBACD,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnC,CAAC;YACD,0EAA0E;iBACrE,IACH,kBAAkB,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,gBAAgB,EAAE,IAAI;gBAC3B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC3C,CAAC;gBACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC3C,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBAC/D,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9B,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YAE3C,wEAAwE;YACxE,uEAAuE;YACvE,kEAAkE;YAClE,mEAAmE;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,IACE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,uCAAuC;gBACzE,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,uCAAuC;gBAC1E,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC9B,CAAC;gBACD,OAAO,0BAA0B,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,cAAsB,EACtB,cAA8B,EAAE,iEAAiE;AACjG,MAAoB,EACpB,WAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,cAAc,MAAM,cAAc,CAAC,UAAU,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;IACnG,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC;IAC/C,MAAM,2BAA2B,GAC/B,0BAA0B,CAAC,cAAc,CAAC,UAAU,CAAC;QACrD,cAAc,CAAC,UAAU,CAAC;IAE5B,MAAM,oBAAoB,GAAG,cAAc,CAAC,qBAAqB,IAAI,CAAC,CAAC;IAEvE,IAAI,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC;IAC/C,IAAI,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAEnE,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;QACzC,IAAI,2BAA2B,EAAE,CAAC;YAChC,cAAc,GAAG,MAAM,wBAAwB,CAC7C,MAAM,EACN,cAAc,EACd,cAAc,CAAC,UAAU,EACzB,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,GAAG,oBAAoB,EAAE,CAAC;QAC9C,MAAM,oBAAoB,GAAG,cAAc,CAAC,qBAAqB,IAAI,CAAC,CAAC;QAEvE,sDAAsD;QACtD,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;YACzC,MAAM,MAAM,GAAwB;gBAClC,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;gBAC7B,WAAW;aACZ,CAAC;YACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2EAA2E;QAC3E,IAAI,oBAAoB,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAwB;gBAClC,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;gBAC7B,WAAW;aACZ,CAAC;YACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,iFAAiF;QACjF,MAAM,MAAM,GAAwB;YAClC,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;YAC7B,WAAW;SACZ,CAAC;QACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,4DAA4D;QAC5D,MAAM,yBAAyB,GAAG,0BAA0B,CAC1D,cAAc,CAAC,UAAU,CAC1B,CAAC;QACF,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;QAE1E,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;YACzC,cAAc,GAAG,yBAAyB,CAAC;YAC3C,IAAI,2BAA2B,EAAE,CAAC;gBAChC,cAAc,GAAG,MAAM,gBAAgB,CACrC,MAAM,EACN,cAAc,CAAC,UAAU,EAAE,eAAe;gBAC1C,yBAAyB,EAAE,gBAAgB;gBAC3C,cAAc,CAAC,UAAU,EAAE,8CAA8C;gBACzE,WAAW,CACZ,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,kEAAkE;gBAClE,oEAAoE;gBACpE,sBAAsB;gBACtB,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CACpD,QAAQ,EACR,MAAM,CACP,CAAC;gBAEF,wEAAwE;gBACxE,uEAAuE;gBACvE,gDAAgD;gBAChD,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,kBAAkB,CAAC;oBAChD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;wBAChB,2BAA2B;wBAC3B,8BAA8B;wBAC9B,MAAM,MAAM,GAAwB;4BAClC,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;4BAC7B,WAAW,EAAE,CAAC,EAAE,6BAA6B;yBAC9C,CAAC;wBACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC1C,OAAO,MAAM,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAC1D,MAAM,EACN,cAAc,EACd,yBAAyB,EACzB,WAAW,CACZ,CAAC;YACF,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,cAAc,EACd,qBAAqB,CACtB,CAAC;YAEF,IAAI,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;gBAC/C,cAAc,GAAG,qBAAqB,CAAC;gBACvC,WAAW,GAAG,iBAAiB,CAAC;gBAEhC,IAAI,2BAA2B,EAAE,CAAC;oBAChC,MAAM,6BAA6B,GAAG,0BAA0B,CAC9D,cAAc,CAAC,UAAU,CAC1B,CAAC;oBACF,cAAc,GAAG,MAAM,gBAAgB,CACrC,MAAM,EACN,cAAc,CAAC,UAAU,EAAE,eAAe;oBAC1C,qBAAqB,EAAE,gBAAgB;oBACvC,6BAA6B,EAAE,0BAA0B;oBACzD,WAAW,CACZ,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,MAAM,MAAM,GAAwB;oBAClC,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;oBAC7B,WAAW,EAAE,CAAC,EAAE,6BAA6B;iBAC9C,CAAC;gBACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC1C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,MAAM,MAAM,GAAwB;gBAClC,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;gBAC7B,WAAW,EAAE,mBAAmB;aACjC,CAAC;YACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAC/C,cAAc,EACd,cAAc,EACd,cAAc,EACd,oBAAoB,CACrB,CAAC;IACF,cAAc,GAAG,YAAY,CAAC;IAC9B,cAAc,GAAG,IAAI,CAAC;IAEtB,4BAA4B;IAC5B,MAAM,MAAM,GAAwB;QAClC,MAAM,EAAE;YACN,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,UAAU,EAAE,cAAc;YAC1B,UAAU,EAAE,cAAc;SAC3B;QACD,WAAW,EAAE,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,oDAAoD;KACpH,CAAC;IACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAe,EACf,MAAoB,EACpB,WAAwB;IAExB,MAAM,YAAY,GAAG,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,yBAAyB,GAC7B,0BAA0B,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IAClD,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,0BAA0B,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAClD,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;IACF,0BAA0B,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC1D,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,iFAAiF;AACjF,MAAM,4BAA4B,GAA4B;IAC5D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,wBAAwB,EAAE;YACxB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,2HAA2H;SAC9H;KACF;IACD,QAAQ,EAAE,CAAC,0BAA0B,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,YAA0B,EAC1B,WAAmB,EACnB,kBAA0B,EAC1B,WAAwB;IAExB,MAAM,MAAM,GAAG;;;;;;;EAOf,kBAAkB;;;;;EAKlB,WAAW;;;6LAGgL,KAAK,WAAW,KAAK,oFAAoF,KAAK,WAAW,KAAK;;;;CAI1T,CAAC,IAAI,EAAE,CAAC;IAEP,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,QAAQ,EACR,4BAA4B,EAC5B,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IACE,MAAM;YACN,OAAO,MAAM,CAAC,wBAAwB,KAAK,QAAQ;YACnD,MAAM,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAC1C,CAAC;YACD,OAAO,MAAM,CAAC,wBAAwB,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,kBAAkB,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,KAAK,CACX,0DAA0D,EAC1D,KAAK,CACN,CAAC;QAEF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,4BAA4B,GAA4B;IAC5D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,oBAAoB,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,kJAAkJ;SACrJ;KACF;IACD,QAAQ,EAAE,CAAC,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAA0B,EAC1B,iBAAyB,EACzB,kBAA0B,EAC1B,iBAAyB,EACzB,WAAwB;IAExB,IAAI,iBAAiB,KAAK,kBAAkB,EAAE,CAAC;QAC7C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,MAAM,GAAG;;;;;;EAMf,iBAAiB;;;;;EAKjB,kBAAkB;;;;;EAKlB,iBAAiB;;;;;4JAKyI,KAAK,WAAW,KAAK,oLAAoL,KAAK,wBAAwB,KAAK;;;;GAIpY,CAAC,IAAI,EAAE,CAAC;IAET,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,QAAQ,EACR,4BAA4B,EAC5B,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IACE,MAAM;YACN,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;YAC/C,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EACtC,CAAC;YACD,OAAO,MAAM,CAAC,oBAAoB,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,kCAAkC,GAA4B;IAClE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,6BAA6B,EAAE;YAC7B,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,sLAAsL;SACzL;KACF;IACD,QAAQ,EAAE,CAAC,+BAA+B,CAAC;CAC5C,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,YAA0B,EAC1B,SAAiB,EACjB,+BAAuC,EACvC,WAAwB;IAExB,MAAM,MAAM,GAAG;;;;;EAKf,SAAS;;;;;EAKT,+BAA+B;;;;;;;;;GAS9B,CAAC,IAAI,EAAE,CAAC;IAET,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,QAAQ,EACR,kCAAkC,EAClC,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IACE,MAAM;YACN,OAAO,MAAM,CAAC,6BAA6B,KAAK,QAAQ;YACxD,MAAM,CAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAC/C,CAAC;YACD,OAAO,MAAM,CAAC,6BAA6B,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,+BAA+B,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,KAAK,CACX,2DAA2D,EAC3D,KAAK,CACN,CAAC;QACF,OAAO,+BAA+B,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,8BAA8B,GAA4B;IAC9D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,yBAAyB,EAAE;YACzB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,+IAA+I;SAClJ;KACF;IACD,QAAQ,EAAE,CAAC,2BAA2B,CAAC;CACxC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,4BAAoC,EACpC,MAAoB,EACpB,WAAwB;IAExB,MAAM,MAAM,GAAG;;;;;EAKf,4BAA4B;;;;;;;;;GAS3B,CAAC,IAAI,EAAE,CAAC;IAET,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CACtC,QAAQ,EACR,8BAA8B,EAC9B,WAAW,EACX,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IACE,MAAM;YACN,OAAO,MAAM,CAAC,yBAAyB,KAAK,QAAQ;YACpD,MAAM,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAC3C,CAAC;YACD,OAAO,MAAM,CAAC,yBAAyB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,4BAA4B,CAAC;QACtC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,KAAK,CACX,uDAAuD,EACvD,KAAK,CACN,CAAC;QACF,OAAO,4BAA4B,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,iBAAyB,EACzB,cAAsB,EACtB,oBAA4B;IAE5B,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,wBAAwB,GAAG,gBAAgB,CAC/C,cAAc,EACd,mBAAmB,CACpB,CAAC;QAEF,IAAI,wBAAwB,KAAK,oBAAoB,EAAE,CAAC;YACtD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACvD,OAAO;gBACL,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,qBAAqB;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,MAAM;QACpB,IAAI,EAAE,iBAAiB;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,qBAAqB;IACrB,wDAAwD;IACxD,oFAAoF;IACpF,kHAAkH;IAClH,mEAAmE;IACnE,+FAA+F;IAC/F,sFAAsF;IACtF,8FAA8F;IAC9F,+CAA+C;IAE/C,OAAO,WAAW,CAAC,OAAO,CACxB,yBAAyB,EACzB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACtB,0GAA0G;QAC1G,+EAA+E;QAE/E,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,CAAC,4CAA4C;YAC3D,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,CAAC,wCAAwC;YACvD,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,CAAC,oDAAoD;YACnE,KAAK,GAAG;gBACN,OAAO,GAAG,CAAC,CAAC,8CAA8C;YAC5D,KAAK,GAAG;gBACN,OAAO,GAAG,CAAC,CAAC,kDAAkD;YAChE,KAAK,GAAG;gBACN,OAAO,GAAG,CAAC,CAAC,4CAA4C;YAC1D,KAAK,IAAI,EAAE,0DAA0D;gBACnE,OAAO,IAAI,CAAC,CAAC,iEAAiE;YAChF,KAAK,IAAI,EAAE,wDAAwD;gBACjE,OAAO,IAAI,CAAC,CAAC,qFAAqF;YACpG;gBACE,+EAA+E;gBAC/E,yFAAyF;gBACzF,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,MAAc;IAC1D,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,KAAK,EAAE,CAAC;QACR,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,uCAAuC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kCAAkC;IAChD,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5B,0BAA0B,CAAC,KAAK,EAAE,CAAC;AACrC,CAAC"}
|
1
|
+
{"version":3,"file":"editCorrector.js","sourceRoot":"","sources":["../../../src/utils/editCorrector.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils/editor.js
CHANGED
@@ -104,7 +104,7 @@ export function getDiffCommand(oldPath, newPath, editor) {
|
|
104
104
|
'wincmd l | setlocal statusline=%#StatusBold#NEW\\ FILE\\ :wqa(save\\ &\\ quit)\\ \\|\\ i/esc(toggle\\ edit\\ mode)',
|
105
105
|
// Auto close all windows when one is closed
|
106
106
|
'-c',
|
107
|
-
'autocmd
|
107
|
+
'autocmd BufWritePost * wqa',
|
108
108
|
oldPath,
|
109
109
|
newPath,
|
110
110
|
],
|