mcp-code-context 3.5.2 → 3.6.0

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.
Files changed (83) hide show
  1. package/CHANGELOG.md +57 -3
  2. package/HIRE_ME.md +234 -0
  3. package/INSTRUCTIONS.md +274 -0
  4. package/README.md +486 -304
  5. package/SECURITY.md +14 -14
  6. package/SPONSORS.md +104 -0
  7. package/dist/src/core/cacheManager.d.ts +44 -0
  8. package/dist/src/core/cacheManager.js +255 -0
  9. package/dist/src/core/cacheManager.js.map +1 -0
  10. package/dist/src/core/engine.d.ts +1 -1
  11. package/dist/src/core/engine.js +1 -1
  12. package/dist/src/core/validator.d.ts +1 -1
  13. package/dist/src/core/validator.js +21 -9
  14. package/dist/src/core/validator.js.map +1 -1
  15. package/dist/src/index.d.ts +6 -1
  16. package/dist/src/index.js +197 -20
  17. package/dist/src/index.js.map +1 -1
  18. package/dist/src/operations/compress.d.ts +3 -1
  19. package/dist/src/operations/compress.js +47 -48
  20. package/dist/src/operations/compress.js.map +1 -1
  21. package/dist/src/operations/confirmationStore.d.ts +1 -1
  22. package/dist/src/operations/confirmationStore.js +1 -1
  23. package/dist/src/operations/read.d.ts +5 -1
  24. package/dist/src/operations/read.js +129 -60
  25. package/dist/src/operations/read.js.map +1 -1
  26. package/dist/src/operations/write.d.ts +2 -2
  27. package/dist/src/operations/write.js +83 -59
  28. package/dist/src/operations/write.js.map +1 -1
  29. package/dist/src/parsers/base.d.ts +1 -1
  30. package/dist/src/parsers/base.js +1 -1
  31. package/dist/src/parsers/dartTreeSitter.d.ts +1 -1
  32. package/dist/src/parsers/dartTreeSitter.js +1 -1
  33. package/dist/src/parsers/php.d.ts +1 -1
  34. package/dist/src/parsers/php.js +1 -1
  35. package/dist/src/parsers/python.d.ts +1 -1
  36. package/dist/src/parsers/python.js +1 -1
  37. package/dist/src/parsers/registry.d.ts +1 -1
  38. package/dist/src/parsers/registry.js +1 -1
  39. package/dist/src/parsers/typescript.d.ts +1 -1
  40. package/dist/src/parsers/typescript.js +1 -1
  41. package/dist/src/utils/auditLogger.d.ts +1 -1
  42. package/dist/src/utils/auditLogger.js +3 -2
  43. package/dist/src/utils/auditLogger.js.map +1 -1
  44. package/dist/src/utils/backupManager.d.ts +30 -9
  45. package/dist/src/utils/backupManager.js +75 -33
  46. package/dist/src/utils/backupManager.js.map +1 -1
  47. package/dist/src/utils/constants.d.ts +13 -2
  48. package/dist/src/utils/constants.js +21 -2
  49. package/dist/src/utils/constants.js.map +1 -1
  50. package/dist/src/utils/diff.d.ts +37 -7
  51. package/dist/src/utils/diff.js +91 -101
  52. package/dist/src/utils/diff.js.map +1 -1
  53. package/dist/src/utils/fileLock.d.ts +25 -50
  54. package/dist/src/utils/fileLock.js +66 -100
  55. package/dist/src/utils/fileLock.js.map +1 -1
  56. package/dist/src/utils/fileWalker.d.ts +28 -0
  57. package/dist/src/utils/fileWalker.js +57 -0
  58. package/dist/src/utils/fileWalker.js.map +1 -0
  59. package/dist/src/utils/fileWatcher.d.ts +23 -0
  60. package/dist/src/utils/fileWatcher.js +80 -0
  61. package/dist/src/utils/fileWatcher.js.map +1 -0
  62. package/dist/src/utils/fuzzySearch.d.ts +22 -0
  63. package/dist/src/utils/fuzzySearch.js +36 -0
  64. package/dist/src/utils/fuzzySearch.js.map +1 -0
  65. package/dist/src/utils/logger.d.ts +19 -0
  66. package/dist/src/utils/logger.js +50 -0
  67. package/dist/src/utils/logger.js.map +1 -0
  68. package/dist/src/utils/rateLimiter.d.ts +1 -1
  69. package/dist/src/utils/rateLimiter.js +1 -1
  70. package/dist/src/utils/safeRegex.d.ts +1 -1
  71. package/dist/src/utils/safeRegex.js +1 -1
  72. package/dist/src/utils/searchTools.d.ts +14 -0
  73. package/dist/src/utils/searchTools.js +94 -0
  74. package/dist/src/utils/searchTools.js.map +1 -0
  75. package/dist/src/utils/streaming.d.ts +1 -1
  76. package/dist/src/utils/streaming.js +1 -1
  77. package/dist/src/utils/telemetry.d.ts +1 -1
  78. package/dist/src/utils/telemetry.js +1 -1
  79. package/llms.txt +5 -5
  80. package/package.json +44 -11
  81. package/vitest.config.ts +37 -0
  82. package/CHANGELOG_v3.2.0.md +0 -196
  83. package/CHANGELOG_v3.3.0.md +0 -266
@@ -1,19 +1,70 @@
1
1
  /**
2
- * Read Operations - v3.5.2
2
+ * Read Operations - v3.6.0
3
3
  * FIXES: extractSymbol args, batch regex (worker_threads) in readLines/searchPattern
4
4
  */
5
5
  import * as fs from "node:fs/promises";
6
6
  import * as path from "node:path";
7
- import { EXCLUDE_DIRS, SUPPORTED_EXTENSIONS } from "../utils/constants.js";
7
+ import * as crypto from "node:crypto";
8
+ import { EXCLUDE_DIRS, SUPPORTED_EXTENSIONS, MAX_FILES_SEARCH, OPERATION_TIMEOUT_MS } from "../utils/constants.js";
8
9
  import { safeRegexFindFirst, safeRegexMultiFileBatchTest, validateRegexPattern } from "../utils/safeRegex.js";
10
+ import { walkDir } from "../utils/fileWalker.js";
11
+ import { CacheManager } from "../core/cacheManager.js";
12
+ import { fuzzySearch } from "../utils/fuzzySearch.js";
13
+ import { searchWithNativeTool } from "../utils/searchTools.js";
14
+ const DEFAULT_MAX_RESULTS = 10; // Changed from 50 for pagination
15
+ const SCAN_TIMEOUT_BASE_MS = 1000;
16
+ const SCAN_TIMEOUT_PER_FILE_MS = 10;
17
+ // Global cache instance per project
18
+ const cacheInstances = new Map();
19
+ function getCacheManager(projectRoot) {
20
+ if (!cacheInstances.has(projectRoot)) {
21
+ cacheInstances.set(projectRoot, new CacheManager(projectRoot));
22
+ }
23
+ return cacheInstances.get(projectRoot);
24
+ }
25
+ async function getFileHash(filePath) {
26
+ const content = await fs.readFile(filePath, 'utf-8');
27
+ return crypto.createHash('md5').update(content).digest('hex');
28
+ }
9
29
  /**
10
30
  * Extract a specific symbol from a file
11
31
  */
12
32
  export async function extractSymbol(params) {
13
33
  try {
34
+ const useCache = params.useCache !== false;
35
+ const cache = useCache ? getCacheManager(params.projectRoot) : null;
36
+ // Try cache first
37
+ if (cache) {
38
+ const hash = await getFileHash(params.filePath);
39
+ const cached = await cache.get(params.filePath, hash);
40
+ if (cached) {
41
+ const symbol = cached.symbols.find(s => s.name === params.symbolName && (!params.className || s.className === params.className));
42
+ if (symbol) {
43
+ const content = await fs.readFile(params.filePath, "utf-8");
44
+ const tree = params.parser.parse(content);
45
+ const extracted = params.parser.extractSymbol(tree, params.symbolName, params.className);
46
+ if (extracted) {
47
+ return { success: true, content: extracted };
48
+ }
49
+ }
50
+ }
51
+ }
52
+ // Cache miss - parse file
14
53
  const content = await fs.readFile(params.filePath, "utf-8");
15
54
  const tree = params.parser.parse(content);
16
- // CRITICAL FIX: args were (tree, content, symbolName) — content was passed as symbolName
55
+ const symbols = params.parser.findSymbols(tree);
56
+ // Update cache
57
+ if (cache) {
58
+ const hash = await getFileHash(params.filePath);
59
+ const stat = await fs.stat(params.filePath);
60
+ await cache.set({
61
+ filePath: params.filePath,
62
+ hash,
63
+ symbols,
64
+ lastModified: stat.mtimeMs,
65
+ cachedAt: Date.now(),
66
+ });
67
+ }
17
68
  const extracted = params.parser.extractSymbol(tree, params.symbolName, params.className);
18
69
  if (!extracted) {
19
70
  const symbols = params.parser.findSymbols(tree);
@@ -109,8 +160,23 @@ export async function readLines(params) {
109
160
  */
110
161
  export async function searchPattern(params) {
111
162
  try {
112
- const maxResults = params.maxResults || 50;
113
- // Validate regex pattern
163
+ const maxResults = params.maxResults || DEFAULT_MAX_RESULTS;
164
+ // Try native tools first (ripgrep > ugrep > ag > findstr/grep)
165
+ const nativeResult = await searchWithNativeTool(params.pattern, params.rootDir, maxResults, 10000);
166
+ if (nativeResult && !nativeResult.timedOut) {
167
+ const startIdx = params.startIndex || 0;
168
+ const paginatedMatches = nativeResult.matches.slice(startIdx, startIdx + maxResults);
169
+ const results = paginatedMatches.map(m => ({
170
+ file: m.file,
171
+ line: m.line,
172
+ content: m.content,
173
+ }));
174
+ const totalResults = nativeResult.matches.length;
175
+ const hasMore = startIdx + maxResults < totalResults;
176
+ const footer = `\n\nShowing ${startIdx + 1}-${startIdx + results.length} of ${totalResults} results (via ${nativeResult.tool})${hasMore ? ' (use startIndex to see more)' : ''}`;
177
+ return { success: true, content: JSON.stringify(results, null, 2) + footer };
178
+ }
179
+ // Fallback to regex-based search
114
180
  const validation = validateRegexPattern(params.pattern);
115
181
  if (!validation.safe) {
116
182
  return {
@@ -123,27 +189,23 @@ export async function searchPattern(params) {
123
189
  const excludeDirs = params.excludeDirs || EXCLUDE_DIRS;
124
190
  // Step 1: Collect all files and their lines
125
191
  const fileEntries = [];
126
- async function walkDir(dir) {
127
- const entries = await fs.readdir(dir, { withFileTypes: true });
128
- for (const entry of entries) {
129
- const fullPath = path.join(dir, entry.name);
130
- if (entry.isDirectory()) {
131
- if (!excludeDirs.includes(entry.name)) {
132
- await walkDir(fullPath);
133
- }
134
- }
135
- else if (entry.isFile()) {
136
- const ext = path.extname(entry.name);
137
- if (extensions.includes(ext)) {
138
- const content = await fs.readFile(fullPath, "utf-8");
139
- fileEntries.push({ path: fullPath, lines: content.split("\n") });
140
- }
141
- }
142
- }
192
+ await walkDir(params.rootDir, {
193
+ extensions,
194
+ excludeDirs,
195
+ onFile: async (fullPath) => {
196
+ const content = await fs.readFile(fullPath, "utf-8");
197
+ fileEntries.push({ path: fullPath, lines: content.split("\n") });
198
+ },
199
+ });
200
+ // CRITICAL: Prevent OOM in large monorepos
201
+ if (fileEntries.length > MAX_FILES_SEARCH) {
202
+ return {
203
+ success: false,
204
+ error: `Too many files to search (${fileEntries.length}). Maximum: ${MAX_FILES_SEARCH}. Try narrowing your search with fileExtensions or excludeDirs.`
205
+ };
143
206
  }
144
- await walkDir(params.rootDir);
145
207
  // Step 2: ONE worker for ALL files — eliminates N worker spawns
146
- const scanTimeout = Math.min(30000, 1000 + fileEntries.length * 10);
208
+ const scanTimeout = Math.min(OPERATION_TIMEOUT_MS, SCAN_TIMEOUT_BASE_MS + fileEntries.length * SCAN_TIMEOUT_PER_FILE_MS);
147
209
  const batchResult = await safeRegexMultiFileBatchTest(regex, fileEntries, scanTimeout);
148
210
  if (batchResult.timedOut) {
149
211
  console.warn(`\u26a0\ufe0f Regex scan timed out across ${fileEntries.length} files`);
@@ -152,20 +214,38 @@ export async function searchPattern(params) {
152
214
  if (!batchResult.success) {
153
215
  return { success: false, error: batchResult.error };
154
216
  }
155
- // Step 3: Collect results up to maxResults
156
- const results = [];
157
- for (const match of batchResult.results) {
158
- if (results.length >= maxResults)
159
- break;
160
- results.push({
161
- file: match.file,
162
- line: match.index + 1,
163
- content: match.content,
217
+ // Step 3: Collect results with pagination
218
+ const startIdx = params.startIndex || 0;
219
+ const maxRes = params.maxResults || DEFAULT_MAX_RESULTS;
220
+ const allMatches = batchResult.results;
221
+ // Apply fuzzy filtering if requested
222
+ let filteredMatches = allMatches;
223
+ if (params.fuzzyMatch) {
224
+ const fuzzyThreshold = params.fuzzyThreshold ?? 0.4;
225
+ const searchItems = allMatches.map(m => ({
226
+ ...m,
227
+ searchText: `${m.file} ${m.content}`,
228
+ }));
229
+ const fuzzyResults = fuzzySearch(searchItems, params.pattern, {
230
+ threshold: fuzzyThreshold,
231
+ keys: ['searchText'],
164
232
  });
233
+ filteredMatches = fuzzyResults.map(r => r.item);
165
234
  }
235
+ // Paginate results
236
+ const paginatedMatches = filteredMatches.slice(startIdx, startIdx + maxRes);
237
+ const results = paginatedMatches.map(match => ({
238
+ file: match.file,
239
+ line: match.index + 1,
240
+ content: match.content,
241
+ }));
242
+ // Add pagination footer
243
+ const totalResults = filteredMatches.length;
244
+ const hasMore = startIdx + maxRes < totalResults;
245
+ const footer = `\n\nShowing ${startIdx + 1}-${startIdx + results.length} of ${totalResults} results${hasMore ? ' (use startIndex to see more)' : ''}`;
166
246
  return {
167
247
  success: true,
168
- content: JSON.stringify(results, null, 2),
248
+ content: JSON.stringify(results, null, 2) + footer,
169
249
  };
170
250
  }
171
251
  catch (error) {
@@ -182,33 +262,22 @@ export async function analyzeImpact(params) {
182
262
  try {
183
263
  const dependents = [];
184
264
  const targetFile = path.basename(params.filePath);
185
- async function walkDir(dir) {
186
- const entries = await fs.readdir(dir, { withFileTypes: true });
187
- for (const entry of entries) {
188
- const fullPath = path.join(dir, entry.name);
189
- if (entry.isDirectory()) {
190
- if (!EXCLUDE_DIRS.includes(entry.name)) {
191
- await walkDir(fullPath);
192
- }
193
- }
194
- else if (entry.isFile()) {
195
- const ext = path.extname(entry.name);
196
- if (SUPPORTED_EXTENSIONS.includes(ext)) {
197
- const content = await fs.readFile(fullPath, "utf-8");
198
- // Check for imports/requires
199
- const importPatterns = [
200
- new RegExp(`import.*from.*['"].*${targetFile.replace(/\.[^.]+$/, "")}`, "g"),
201
- new RegExp(`require\\(['"].*${targetFile}`, "g"),
202
- new RegExp(`from.*${targetFile.replace(/\.[^.]+$/, "")}.*import`, "g"),
203
- ];
204
- if (importPatterns.some(pattern => pattern.test(content))) {
205
- dependents.push(fullPath);
206
- }
207
- }
265
+ await walkDir(params.rootDir, {
266
+ extensions: SUPPORTED_EXTENSIONS,
267
+ excludeDirs: EXCLUDE_DIRS,
268
+ onFile: async (fullPath) => {
269
+ const content = await fs.readFile(fullPath, "utf-8");
270
+ // Check for imports/requires
271
+ const importPatterns = [
272
+ new RegExp(`import.*from.*['"].*${targetFile.replace(/\.[^.]+$/, "")}`, "g"),
273
+ new RegExp(`require\\(['"].*${targetFile}`, "g"),
274
+ new RegExp(`from.*${targetFile.replace(/\.[^.]+$/, "")}.*import`, "g"),
275
+ ];
276
+ if (importPatterns.some(pattern => pattern.test(content))) {
277
+ dependents.push(fullPath);
208
278
  }
209
- }
210
- }
211
- await walkDir(params.rootDir);
279
+ },
280
+ });
212
281
  return {
213
282
  success: true,
214
283
  content: JSON.stringify({ file: params.filePath, dependents }, null, 2),
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/operations/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/operations/read.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Write Operations - v3.5.2
2
+ * Write Operations - v3.6.0
3
3
  * FIXES: SecurityValidator in renameSymbol, atomic writes, AST-based positioning
4
4
  * CRITICAL: renameSymbol Phase 1 is now pure-functional (no disk writes)
5
5
  */
@@ -53,7 +53,7 @@ export declare function insertCode(options: InsertOptions): Promise<WriteResult>
53
53
  export declare function removeSymbol(options: RemoveOptions): Promise<WriteResult>;
54
54
  /**
55
55
  * Rename symbol using AST-aware replacement
56
- * v3.5.2 - CRITICAL FIX: Pure-functional Phase 1 (no writes to disk)
56
+ * v3.6.0 - CRITICAL FIX: Pure-functional Phase 1 (no writes to disk)
57
57
  * All changes are accumulated in pendingWrites for Phase 2 confirmation.
58
58
  */
59
59
  export declare function renameSymbol(params: {
@@ -1,14 +1,14 @@
1
1
  /**
2
- * Write Operations - v3.5.2
2
+ * Write Operations - v3.6.0
3
3
  * FIXES: SecurityValidator in renameSymbol, atomic writes, AST-based positioning
4
4
  * CRITICAL: renameSymbol Phase 1 is now pure-functional (no disk writes)
5
5
  */
6
6
  import * as fs from "node:fs/promises";
7
- import * as path from "node:path";
8
7
  import { SecurityValidator } from "../core/validator.js";
9
8
  import { EXCLUDE_DIRS, SUPPORTED_EXTENSIONS } from "../utils/constants.js";
10
9
  import { generateUnifiedDiff } from "../utils/diff.js";
11
10
  import { sanitizeRegexPattern } from "../utils/safeRegex.js";
11
+ import { walkDir } from "../utils/fileWalker.js";
12
12
  /**
13
13
  * Validate syntax of generated code
14
14
  */
@@ -171,23 +171,88 @@ export async function removeSymbol(options) {
171
171
  };
172
172
  }
173
173
  }
174
+ /**
175
+ * Validate rename parameters and return validated paths
176
+ */
177
+ async function validateRenameParams(params) {
178
+ const validator = new SecurityValidator(params.projectRoot);
179
+ // Validate definition file path
180
+ const defValidation = await validator.validateFilePath(params.filePath);
181
+ if (!defValidation.valid) {
182
+ return { valid: false, error: defValidation.error };
183
+ }
184
+ // Sanitize to prevent regex injection
185
+ const sanitizedOld = sanitizeRegexPattern(params.oldName);
186
+ return {
187
+ valid: true,
188
+ resolvedPath: defValidation.resolvedPath,
189
+ sanitizedOld
190
+ };
191
+ }
192
+ /**
193
+ * Find all files that depend on the symbol being renamed
194
+ */
195
+ async function findDependentFiles(rootDir, sanitizedOldName, projectRoot) {
196
+ const dependents = [];
197
+ const validator = new SecurityValidator(projectRoot);
198
+ await walkDir(rootDir, {
199
+ extensions: SUPPORTED_EXTENSIONS,
200
+ excludeDirs: EXCLUDE_DIRS,
201
+ onFile: async (fullPath) => {
202
+ const depValidation = await validator.validateFilePath(fullPath);
203
+ if (!depValidation.valid)
204
+ return;
205
+ const fileContent = await fs.readFile(fullPath, "utf-8");
206
+ const importPatterns = [
207
+ new RegExp(`import.*\\b${sanitizedOldName}\\b`, "g"),
208
+ new RegExp(`from.*\\b${sanitizedOldName}\\b`, "g"),
209
+ new RegExp(`require.*\\b${sanitizedOldName}\\b`, "g"),
210
+ new RegExp(`use.*\\b${sanitizedOldName}\\b`, "g"),
211
+ ];
212
+ if (importPatterns.some(p => p.test(fileContent))) {
213
+ dependents.push({ path: fullPath, content: fileContent });
214
+ }
215
+ },
216
+ });
217
+ return dependents;
218
+ }
219
+ /**
220
+ * Generate all rename changes (definition + dependents) and consolidated diff
221
+ */
222
+ function generateRenameChanges(oldName, newName, sanitizedOld, definitionPath, definitionContent, definitionNewContent, dependents) {
223
+ const pendingWrites = [];
224
+ const diffParts = [];
225
+ // Accumulate dependent file changes (reuse cached content — no second read)
226
+ for (const dep of dependents) {
227
+ const depNewContent = dep.content.replace(new RegExp(`\\b${sanitizedOld}\\b`, "g"), newName);
228
+ pendingWrites.push({ filePath: dep.path, newContent: depNewContent });
229
+ diffParts.push(`--- ${dep.path}\n${generateDiff(dep.content, depNewContent)}`);
230
+ }
231
+ // Accumulate definition file change
232
+ pendingWrites.push({ filePath: definitionPath, newContent: definitionNewContent });
233
+ diffParts.push(`--- ${definitionPath}\n${generateDiff(definitionContent, definitionNewContent)}`);
234
+ const consolidatedDiff = `Renamed "${oldName}" \u2192 "${newName}" in ${pendingWrites.length} files\n\n${diffParts.join("\n\n")}`;
235
+ return { pendingWrites, diff: consolidatedDiff };
236
+ }
174
237
  /**
175
238
  * Rename symbol using AST-aware replacement
176
- * v3.5.2 - CRITICAL FIX: Pure-functional Phase 1 (no writes to disk)
239
+ * v3.6.0 - CRITICAL FIX: Pure-functional Phase 1 (no writes to disk)
177
240
  * All changes are accumulated in pendingWrites for Phase 2 confirmation.
178
241
  */
179
242
  export async function renameSymbol(params) {
180
243
  try {
181
- const validator = new SecurityValidator(params.projectRoot);
182
- // Validate definition file path
183
- const defValidation = await validator.validateFilePath(params.filePath);
184
- if (!defValidation.valid) {
185
- return { success: false, error: defValidation.error };
244
+ // Step 1: Validate parameters
245
+ const validation = await validateRenameParams({
246
+ filePath: params.filePath,
247
+ projectRoot: params.projectRoot,
248
+ oldName: params.oldName,
249
+ });
250
+ if (!validation.valid) {
251
+ return { success: false, error: validation.error };
186
252
  }
187
- // Sanitize to prevent regex injection
188
- const sanitizedOld = sanitizeRegexPattern(params.oldName);
189
- // Step 1: Rename in definition file using AST
190
- const content = await fs.readFile(defValidation.resolvedPath, "utf-8");
253
+ const { resolvedPath, sanitizedOld } = validation;
254
+ // Step 2: Rename in definition file using AST
255
+ const content = await fs.readFile(resolvedPath, "utf-8");
191
256
  const tree = params.parser.parse(content);
192
257
  const symbols = params.parser.findSymbols(tree);
193
258
  const targetSymbol = symbols.find(s => s.name === params.oldName);
@@ -202,55 +267,14 @@ export async function renameSymbol(params) {
202
267
  content.substring(targetSymbol.startIndex, targetSymbol.endIndex)
203
268
  .replace(new RegExp(`\\b${sanitizedOld}\\b`, "g"), params.newName) +
204
269
  content.substring(targetSymbol.endIndex);
205
- // Step 2: Find dependent files and cache their content (single read per file)
206
- const dependents = [];
207
- async function walkDir(dir) {
208
- const entries = await fs.readdir(dir, { withFileTypes: true });
209
- for (const entry of entries) {
210
- const fullPath = path.join(dir, entry.name);
211
- if (entry.isDirectory()) {
212
- if (!EXCLUDE_DIRS.includes(entry.name)) {
213
- await walkDir(fullPath);
214
- }
215
- }
216
- else if (entry.isFile()) {
217
- const ext = path.extname(entry.name);
218
- if (SUPPORTED_EXTENSIONS.includes(ext)) {
219
- const depValidation = await validator.validateFilePath(fullPath);
220
- if (!depValidation.valid)
221
- continue;
222
- const fileContent = await fs.readFile(fullPath, "utf-8");
223
- const importPatterns = [
224
- new RegExp(`import.*\\b${sanitizedOld}\\b`, "g"),
225
- new RegExp(`from.*\\b${sanitizedOld}\\b`, "g"),
226
- new RegExp(`require.*\\b${sanitizedOld}\\b`, "g"),
227
- new RegExp(`use.*\\b${sanitizedOld}\\b`, "g"),
228
- ];
229
- if (importPatterns.some(p => p.test(fileContent))) {
230
- dependents.push({ path: fullPath, content: fileContent });
231
- }
232
- }
233
- }
234
- }
235
- }
236
- await walkDir(params.rootDir);
237
- // Step 3: Accumulate ALL changes in memory — NO writes in Phase 1
238
- const pendingWrites = [];
239
- const diffParts = [];
240
- // Accumulate dependent file changes (reuse cached content — no second read)
241
- for (const dep of dependents) {
242
- const depNewContent = dep.content.replace(new RegExp(`\\b${sanitizedOld}\\b`, "g"), params.newName);
243
- pendingWrites.push({ filePath: dep.path, newContent: depNewContent });
244
- diffParts.push(`--- ${dep.path}\n${generateDiff(dep.content, depNewContent)}`);
245
- }
246
- // Accumulate definition file change
247
- pendingWrites.push({ filePath: defValidation.resolvedPath, newContent });
248
- diffParts.push(`--- ${defValidation.resolvedPath}\n${generateDiff(content, newContent)}`);
249
- const consolidatedDiff = `Renamed "${params.oldName}" \u2192 "${params.newName}" in ${pendingWrites.length} files\n\n${diffParts.join("\n\n")}`;
270
+ // Step 3: Find dependent files
271
+ const dependents = await findDependentFiles(params.rootDir, sanitizedOld, params.projectRoot);
272
+ // Step 4: Generate all changes and consolidated diff
273
+ const { pendingWrites, diff } = generateRenameChanges(params.oldName, params.newName, sanitizedOld, resolvedPath, content, newContent, dependents);
250
274
  return {
251
275
  success: true,
252
276
  newContent,
253
- diff: consolidatedDiff,
277
+ diff,
254
278
  pendingWrites,
255
279
  };
256
280
  }
@@ -273,6 +297,6 @@ export async function writeFile(filePath, content) {
273
297
  * Generate unified diff
274
298
  */
275
299
  function generateDiff(oldContent, newContent) {
276
- return generateUnifiedDiff(oldContent, newContent, 3);
300
+ return generateUnifiedDiff(oldContent, newContent);
277
301
  }
278
302
  //# sourceMappingURL=write.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../src/operations/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../src/operations/write.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Base Parser - v3.5.2
2
+ * Base Parser - v3.6.0
3
3
  * Abstract base for all language parsers
4
4
  * IMPROVEMENT: replaceSymbol moved here using AST indices (eliminates indexOf fragility)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Base Parser - v3.5.2
2
+ * Base Parser - v3.6.0
3
3
  * Abstract base for all language parsers
4
4
  * IMPROVEMENT: replaceSymbol moved here using AST indices (eliminates indexOf fragility)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Dart Tree-sitter Parser - v3.5.2
2
+ * Dart Tree-sitter Parser - v3.6.0
3
3
  * 100% AST accuracy via WASM
4
4
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Dart Tree-sitter Parser - v3.5.2
2
+ * Dart Tree-sitter Parser - v3.6.0
3
3
  * 100% AST accuracy via WASM
4
4
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PHP Parser - v3.5.2
2
+ * PHP Parser - v3.6.0
3
3
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
4
4
  */
5
5
  import { Tree } from "web-tree-sitter";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PHP Parser - v3.5.2
2
+ * PHP Parser - v3.6.0
3
3
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
4
4
  */
5
5
  import { BaseParser } from "./base.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Python Parser - v3.5.2
2
+ * Python Parser - v3.6.0
3
3
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
4
4
  */
5
5
  import { Tree } from "web-tree-sitter";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Python Parser - v3.5.2
2
+ * Python Parser - v3.6.0
3
3
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
4
4
  */
5
5
  import { BaseParser } from "./base.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Parser Registry - v3.5.2
2
+ * Parser Registry - v3.6.0
3
3
  * Manages all language parsers
4
4
  */
5
5
  import { BaseParser } from "./base.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Parser Registry - v3.5.2
2
+ * Parser Registry - v3.6.0
3
3
  * Manages all language parsers
4
4
  */
5
5
  import { TypeScriptParser } from "./typescript.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * TypeScript Parser - v3.5.2
2
+ * TypeScript Parser - v3.6.0
3
3
  * Tree-sitter based TS/JS parser
4
4
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * TypeScript Parser - v3.5.2
2
+ * TypeScript Parser - v3.6.0
3
3
  * Tree-sitter based TS/JS parser
4
4
  * CLEANUP: replaceSymbol removed (inherited from BaseParser)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Audit Logger - v3.5.2
2
+ * Audit Logger - v3.6.0
3
3
  * Comprehensive audit trail for all operations
4
4
  */
5
5
  export interface AuditEntry {