@vybestack/llxprt-code-tools 0.10.0 → 0.11.0-nightly.260728.ffaa8d5d7

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 (56) hide show
  1. package/dist/src/index.d.ts +3 -1
  2. package/dist/src/index.js +2 -0
  3. package/dist/src/index.js.map +1 -1
  4. package/dist/src/interfaces/IShellToolHost.d.ts +2 -1
  5. package/dist/src/tools/ast-edit/ast-edit-invocation.d.ts +3 -2
  6. package/dist/src/tools/ast-edit/ast-edit-invocation.js +38 -11
  7. package/dist/src/tools/ast-edit/ast-edit-invocation.js.map +1 -1
  8. package/dist/src/tools/ast-edit/ast-read-file-invocation.d.ts +2 -2
  9. package/dist/src/tools/ast-edit/ast-read-file-invocation.js.map +1 -1
  10. package/dist/src/tools/ast-edit/edit-calculator.d.ts +6 -3
  11. package/dist/src/tools/ast-edit/edit-calculator.js +24 -6
  12. package/dist/src/tools/ast-edit/edit-calculator.js.map +1 -1
  13. package/dist/src/tools/ast-edit/validation-categorizer.d.ts +58 -0
  14. package/dist/src/tools/ast-edit/validation-categorizer.js +207 -0
  15. package/dist/src/tools/ast-edit/validation-categorizer.js.map +1 -0
  16. package/dist/src/tools/codesearch.js.map +1 -1
  17. package/dist/src/tools/direct-web-fetch.js.map +1 -1
  18. package/dist/src/tools/exa-web-search.js.map +1 -1
  19. package/dist/src/tools/shell.d.ts +2 -2
  20. package/dist/src/tools/shell.js +17 -3
  21. package/dist/src/tools/shell.js.map +1 -1
  22. package/dist/src/tools/todo-pause.d.ts +2 -2
  23. package/dist/src/tools/todo-pause.js +1 -1
  24. package/dist/src/tools/todo-pause.js.map +1 -1
  25. package/dist/src/tools/todo-read.d.ts +2 -2
  26. package/dist/src/tools/todo-read.js +1 -1
  27. package/dist/src/tools/todo-read.js.map +1 -1
  28. package/dist/src/tools/todo-write.d.ts +2 -2
  29. package/dist/src/tools/todo-write.js +1 -1
  30. package/dist/src/tools/todo-write.js.map +1 -1
  31. package/dist/src/tools/tool-registry.d.ts +3 -3
  32. package/dist/src/tools/tool-registry.js +6 -43
  33. package/dist/src/tools/tool-registry.js.map +1 -1
  34. package/dist/src/tools/tools.d.ts +6 -5
  35. package/dist/src/tools/tools.js.map +1 -1
  36. package/dist/src/utils/fileUtils.js +8 -1
  37. package/dist/src/utils/fileUtils.js.map +1 -1
  38. package/dist/src/utils/terminalSerializer.d.ts +12 -0
  39. package/package.json +151 -1
  40. package/src/index.ts +11 -0
  41. package/src/interfaces/IShellToolHost.ts +3 -1
  42. package/src/tools/ast-edit/ast-edit-invocation.ts +82 -12
  43. package/src/tools/ast-edit/ast-read-file-invocation.ts +2 -2
  44. package/src/tools/ast-edit/edit-calculator.ts +26 -6
  45. package/src/tools/ast-edit/validation-categorizer.ts +263 -0
  46. package/src/tools/codesearch.ts +2 -1
  47. package/src/tools/direct-web-fetch.ts +2 -1
  48. package/src/tools/exa-web-search.ts +2 -1
  49. package/src/tools/shell.ts +19 -6
  50. package/src/tools/todo-pause.ts +7 -2
  51. package/src/tools/todo-read.ts +7 -2
  52. package/src/tools/todo-write.ts +7 -2
  53. package/src/tools/tool-registry.ts +16 -82
  54. package/src/tools/tools.ts +10 -6
  55. package/src/utils/fileUtils.ts +11 -1
  56. package/src/utils/terminalSerializer.ts +9 -0
@@ -44,7 +44,7 @@ export { TodoStatus, TodoToolCallSchema, SubtaskSchema, TodoSchema, TodoArraySch
44
44
  export type { ToolKeyRegistryEntry } from './utils/tool-key-storage-types.js';
45
45
  export { TOOL_KEY_REGISTRY, isValidToolKeyName, getToolKeyEntry, getSupportedToolNames, maskKeyForDisplay, } from './utils/tool-key-storage-types.js';
46
46
  export { BaseToolInvocation, DeclarativeTool, BaseDeclarativeTool, BaseTool, isTool, hasCycleInSchema, Kind, } from './tools/tools.js';
47
- export type { ToolInvocation, AnyToolInvocation, PolicyUpdateOptions, ToolBuilder, AnyDeclarativeTool, ToolResult, FileRead, ToolResultDisplay, FileDiff, DiffStat as ToolDiffStat, ToolEditConfirmationDetails, ToolExecuteConfirmationDetails, ToolMcpConfirmationDetails, ToolInfoConfirmationDetails, ToolCallConfirmationDetails, ToolLocation, } from './tools/tools.js';
47
+ export type { ToolInvocation, AnyToolInvocation, PolicyUpdateOptions, ToolBuilder, AnyDeclarativeTool, ToolResult, FileRead, ToolResultDisplay, FileDiff, DiffStat as ToolDiffStat, ToolEditConfirmationDetails, ToolExecuteConfirmationDetails, ToolMcpConfirmationDetails, ToolInfoConfirmationDetails, ToolCallConfirmationDetails, ToolLocation, LiveOutputUpdate, } from './tools/tools.js';
48
48
  export { isModifiableDeclarativeTool, modifyWithEditor, } from './tools/modifiable-tool.js';
49
49
  export { TodoRead, TodoRead as TodoReadTool, type TodoReadParams, } from './tools/todo-read.js';
50
50
  export { TodoWrite, TodoWrite as TodoWriteTool, type TodoWriteParams, } from './tools/todo-write.js';
@@ -56,6 +56,7 @@ export { TodoReminderService, type TodoStateChange, } from './utils/todoReminder
56
56
  export { TodoContextTracker } from './utils/todoContextTracker.js';
57
57
  export type { ModifiableDeclarativeTool, ModifyContext, ModifyResult, ModifyContentOverrides, } from './tools/modifiable-tool.js';
58
58
  export { ShellTool, ShellToolInvocation, OUTPUT_UPDATE_INTERVAL_MS, type ShellToolParams, } from './tools/shell.js';
59
+ export { buildCommandToExecute } from './tools/shell-helpers.js';
59
60
  export { DISCOVERED_TOOL_PREFIX, ToolRegistry, DiscoveredTool, } from './tools/tool-registry.js';
60
61
  export { ToolKeyStorageFacade } from './utils/tool-key-storage-facade.js';
61
62
  export { CheckAsyncTasksTool, type CheckAsyncTasksParams, type CheckAsyncTasksToolDependencies, } from './tools/check-async-tasks.js';
@@ -87,4 +88,5 @@ export { ASTConfig } from './tools/ast-edit/ast-config.js';
87
88
  export { ASTQueryExtractor } from './tools/ast-edit/ast-query-extractor.js';
88
89
  export { RepositoryContextProvider } from './tools/ast-edit/repository-context-provider.js';
89
90
  export { validateASTSyntax } from './tools/ast-edit/edit-calculator.js';
91
+ export { summarizeAstValidation, computeLineDelta, findEditStartLine, extractErrorLineNumber, formatValidationLineLabel, type AstValidationResult, type AstValidationSummary, } from './tools/ast-edit/validation-categorizer.js';
90
92
  export { detectLanguage, extractImports, } from './tools/ast-edit/language-analysis.js';
package/dist/src/index.js CHANGED
@@ -37,6 +37,7 @@ export { formatTodoListForDisplay, groupToolCalls, } from './utils/todoFormatter
37
37
  export { TodoReminderService, } from './utils/todoReminderService.js';
38
38
  export { TodoContextTracker } from './utils/todoContextTracker.js';
39
39
  export { ShellTool, ShellToolInvocation, OUTPUT_UPDATE_INTERVAL_MS, } from './tools/shell.js';
40
+ export { buildCommandToExecute } from './tools/shell-helpers.js';
40
41
  export { DISCOVERED_TOOL_PREFIX, ToolRegistry, DiscoveredTool, } from './tools/tool-registry.js';
41
42
  export { ToolKeyStorageFacade } from './utils/tool-key-storage-facade.js';
42
43
  export { CheckAsyncTasksTool, } from './tools/check-async-tasks.js';
@@ -68,5 +69,6 @@ export { ASTConfig } from './tools/ast-edit/ast-config.js';
68
69
  export { ASTQueryExtractor } from './tools/ast-edit/ast-query-extractor.js';
69
70
  export { RepositoryContextProvider } from './tools/ast-edit/repository-context-provider.js';
70
71
  export { validateASTSyntax } from './tools/ast-edit/edit-calculator.js';
72
+ export { summarizeAstValidation, computeLineDelta, findEditStartLine, extractErrorLineNumber, formatValidationLineLabel, } from './tools/ast-edit/validation-categorizer.js';
71
73
  export { detectLanguage, extractImports, } from './tools/ast-edit/language-analysis.js';
72
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  * Copyright 2025 Vybestack LLC
8
8
  * SPDX-License-Identifier: Apache-2.0
9
9
  */
10
+ import type { AnsiOutput } from '../utils/terminalSerializer.js';
10
11
  /**
11
12
  * Tools-owned interface for shell tool host dependencies.
12
13
  *
@@ -171,6 +172,6 @@ export interface IShellToolHost {
171
172
  */
172
173
  export interface ShellOutputEvent {
173
174
  type: 'data' | 'binary_detected' | 'binary_progress';
174
- chunk?: string;
175
+ chunk?: string | AnsiOutput;
175
176
  bytesReceived?: number;
176
177
  }
@@ -8,7 +8,7 @@
8
8
  import type { ToolCallConfirmationDetails, ToolInvocation, ToolLocation } from '../tools.js';
9
9
  import { type ToolResult } from '../tools.js';
10
10
  import type { IToolHost, IIdeService, ILspService } from '../../interfaces/index.js';
11
- import type { AnsiOutput } from '../../utils/terminalSerializer.js';
11
+ import type { LiveOutputUpdate } from '../../utils/terminalSerializer.js';
12
12
  import type { ASTEditToolParams } from './types.js';
13
13
  import type { ASTContextCollector } from './context-collector.js';
14
14
  import { type CalculatedEdit } from './edit-calculator.js';
@@ -29,8 +29,9 @@ export declare class ASTEditToolInvocation implements ToolInvocation<ASTEditTool
29
29
  toolLocations(): ToolLocation[];
30
30
  shouldConfirmExecute(abortSignal: AbortSignal): Promise<ToolCallConfirmationDetails | false>;
31
31
  getDescription(): string;
32
- execute(signal: AbortSignal, _updateOutput?: (output: string | AnsiOutput) => void, _terminalColumns?: number, _terminalRows?: number, _setPidCallback?: (pid: number) => void): Promise<ToolResult>;
32
+ execute(signal: AbortSignal, _updateOutput?: (update: LiveOutputUpdate) => void, _terminalColumns?: number, _terminalRows?: number, _setPidCallback?: (pid: number) => void): Promise<ToolResult>;
33
33
  private executePreview;
34
+ private computeValidationContext;
34
35
  private buildPreviewLlmContent;
35
36
  private formatConnectedFilesContext;
36
37
  private formatRelatedSymbols;
@@ -18,6 +18,7 @@ import { collectLspDiagnosticsBlock } from '../../utils/lsp-diagnostics-helper.j
18
18
  import { ensureParentDirectoriesExist } from '../../utils/ensure-dirs.js';
19
19
  import { ASTConfig } from './ast-config.js';
20
20
  import { calculateEdit, validateASTSyntax, getFileLastModified, } from './edit-calculator.js';
21
+ import { summarizeAstValidation, computeLineDelta, findEditStartLine, formatValidationLineLabel, } from './validation-categorizer.js';
21
22
  function normalizeSeverity(severity) {
22
23
  if (typeof severity !== 'number') {
23
24
  return String(severity ?? 'error');
@@ -98,6 +99,7 @@ export class ASTEditToolInvocation {
98
99
  ideConfirmation,
99
100
  metadata: {
100
101
  astValidation: editData.astValidation,
102
+ preEditValidation: editData.preEditValidation,
101
103
  fileFreshness: editData.fileFreshness,
102
104
  },
103
105
  };
@@ -143,17 +145,16 @@ export class ASTEditToolInvocation {
143
145
  const currentMtime = editData.fileFreshness ?? null;
144
146
  const workspaceRoot = this.host.getTargetDir();
145
147
  const enhancedContext = await this.contextCollector.collectEnhancedContext(this.params.file_path, currentContent, workspaceRoot);
146
- const astValidation = editData.astValidation ??
147
- this.validateASTSyntax(this.params.file_path, editData.newContent);
148
+ const { astValidation, preEditValidation, lineDelta, editStartLine } = this.computeValidationContext(editData);
148
149
  const fileName = path.basename(this.params.file_path);
149
150
  const fileDiff = Diff.createPatch(fileName, currentContent, editData.newContent, 'Current', 'Proposed', DEFAULT_CREATE_PATCH_OPTIONS);
150
- const editPreviewLlmContent = this.buildPreviewLlmContent(enhancedContext, astValidation, currentMtime, workspaceRoot);
151
+ const editPreviewLlmContent = this.buildPreviewLlmContent(enhancedContext, astValidation, preEditValidation, lineDelta, editStartLine, currentMtime, workspaceRoot);
151
152
  const returnDisplay = {
152
153
  fileDiff,
153
154
  fileName,
154
155
  originalContent: currentContent,
155
156
  newContent: editData.newContent,
156
- metadata: { astValidation, currentMtime },
157
+ metadata: { astValidation, preEditValidation, currentMtime },
157
158
  };
158
159
  return {
159
160
  llmContent: editPreviewLlmContent,
@@ -172,13 +173,31 @@ export class ASTEditToolInvocation {
172
173
  };
173
174
  }
174
175
  }
175
- buildPreviewLlmContent(enhancedContext, astValidation, currentMtime, workspaceRoot) {
176
+ computeValidationContext(editData) {
177
+ const astValidation = editData.astValidation ??
178
+ this.validateASTSyntax(this.params.file_path, editData.newContent);
179
+ const preEditValidation = editData.preEditValidation ??
180
+ (editData.currentContent !== null
181
+ ? this.validateASTSyntax(this.params.file_path, editData.currentContent)
182
+ : undefined);
183
+ const lineDelta = computeLineDelta(this.params.old_string, this.params.new_string);
184
+ const editStartLine = findEditStartLine(editData.currentContent, this.params.old_string);
185
+ return { astValidation, preEditValidation, lineDelta, editStartLine };
186
+ }
187
+ buildPreviewLlmContent(enhancedContext, astValidation, preEditValidation, lineDelta, editStartLine, currentMtime, workspaceRoot) {
188
+ const summary = summarizeAstValidation(preEditValidation, astValidation, lineDelta, editStartLine);
176
189
  return [
177
190
  `LLXPRT EDIT PREVIEW: ${this.params.file_path}`,
178
191
  `- Context: ${enhancedContext.language} file with ${enhancedContext.declarations.length} declarations`,
179
192
  `- Functions: ${enhancedContext.languageContext.functions.length}`,
180
193
  `- Classes: ${enhancedContext.languageContext.classes.length}`,
181
- `- AST validation: ${astValidation.valid ? 'PASSED' : 'FAILED'}`,
194
+ `- AST validation: ${summary.label}`,
195
+ preEditValidation && !preEditValidation.valid
196
+ ? `- Pre-existing syntax errors: Yes${formatValidationLineLabel(preEditValidation.errors)}`
197
+ : '',
198
+ !astValidation.valid
199
+ ? `- AST errors: ${astValidation.errors.join(', ')}`
200
+ : '',
182
201
  `- Relevant snippets: ${enhancedContext.relevantSnippets.length} found`,
183
202
  enhancedContext.repositoryContext
184
203
  ? `- Repository: ${enhancedContext.repositoryContext.gitUrl}`
@@ -187,9 +206,6 @@ export class ASTEditToolInvocation {
187
206
  ? `- Related files: ${enhancedContext.relatedFiles.length}`
188
207
  : '',
189
208
  this.formatConnectedFilesContext(enhancedContext, workspaceRoot),
190
- !astValidation.valid
191
- ? `- AST errors: ${astValidation.errors.join(', ')}`
192
- : '',
193
209
  currentMtime !== null ? `- Timestamp: ${currentMtime}` : '',
194
210
  '',
195
211
  'ENHANCED CONTEXT ANALYSIS:',
@@ -274,19 +290,30 @@ export class ASTEditToolInvocation {
274
290
  await fsPromises.writeFile(this.params.file_path, contentToWrite, 'utf-8');
275
291
  const fileName = path.basename(this.params.file_path);
276
292
  const fileDiff = Diff.createPatch(fileName, editData.currentContent ?? '', contentToWrite, 'Current', 'Applied', DEFAULT_CREATE_PATCH_OPTIONS);
293
+ const { astValidation, preEditValidation, lineDelta, editStartLine } = this.computeValidationContext(editData);
277
294
  const displayResult = {
278
295
  fileDiff,
279
296
  fileName,
280
297
  originalContent: editData.currentContent,
281
298
  newContent: contentToWrite,
282
299
  applied: true,
283
- metadata: { astValidation: editData.astValidation },
300
+ metadata: {
301
+ astValidation,
302
+ preEditValidation,
303
+ },
284
304
  };
305
+ const summary = summarizeAstValidation(preEditValidation, astValidation, lineDelta, editStartLine);
285
306
  const llmSuccessMessageParts = [
286
307
  `Successfully applied edit to: ${this.params.file_path}`,
287
308
  `- Changes: ${editData.occurrences} replacement(s) applied`,
288
- `- AST validation: ${editData.astValidation?.valid === true ? 'PASSED' : 'FAILED'}`,
309
+ `- AST validation: ${summary.label}`,
289
310
  ];
311
+ if (preEditValidation && !preEditValidation.valid) {
312
+ llmSuccessMessageParts.push(`- Pre-existing syntax errors: Yes${formatValidationLineLabel(preEditValidation.errors)}${summary.newlyIntroduced ? '' : ' (not introduced by this edit)'}`);
313
+ }
314
+ if (summary.newlyIntroduced) {
315
+ llmSuccessMessageParts.push(`- AST errors: ${astValidation.errors.join(', ')}`);
316
+ }
290
317
  await this.appendLspDiagnostics(llmSuccessMessageParts);
291
318
  return {
292
319
  llmContent: llmSuccessMessageParts.join('\n\n'),
@@ -1 +1 @@
1
- {"version":3,"file":"ast-edit-invocation.js","sourceRoot":"","sources":["../../../../src/tools/ast-edit/ast-edit-invocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-edit-invocation.js","sourceRoot":"","sources":["../../../../src/tools/ast-edit/ast-edit-invocation.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { type ToolInvocation, type ToolLocation, type ToolResult } from '../tools.js';
9
9
  import type { IToolHost } from '../../interfaces/index.js';
10
- import type { AnsiOutput } from '../../utils/terminalSerializer.js';
10
+ import type { LiveOutputUpdate } from '../../utils/terminalSerializer.js';
11
11
  import type { ASTReadFileToolParams } from './types.js';
12
12
  import type { ASTContextCollector } from './context-collector.js';
13
13
  export declare class ASTReadFileToolInvocation implements ToolInvocation<ASTReadFileToolParams, ToolResult> {
@@ -18,7 +18,7 @@ export declare class ASTReadFileToolInvocation implements ToolInvocation<ASTRead
18
18
  toolLocations(): ToolLocation[];
19
19
  getDescription(): string;
20
20
  shouldConfirmExecute(): Promise<false>;
21
- execute(_signal?: AbortSignal, _updateOutput?: (output: string | AnsiOutput) => void, _terminalColumns?: number, _terminalRows?: number, _setPidCallback?: (pid: number) => void): Promise<ToolResult>;
21
+ execute(_signal?: AbortSignal, _updateOutput?: (update: LiveOutputUpdate) => void, _terminalColumns?: number, _terminalRows?: number, _setPidCallback?: (pid: number) => void): Promise<ToolResult>;
22
22
  private computeLineRange;
23
23
  private buildReadLlmContent;
24
24
  private formatConnectedFilesContext;
@@ -1 +1 @@
1
- {"version":3,"file":"ast-read-file-invocation.js","sourceRoot":"","sources":["../../../../src/tools/ast-edit/ast-read-file-invocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-read-file-invocation.js","sourceRoot":"","sources":["../../../../src/tools/ast-edit/ast-read-file-invocation.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export interface CalculatedEdit {
26
26
  valid: boolean;
27
27
  errors: string[];
28
28
  };
29
+ preEditValidation?: {
30
+ valid: boolean;
31
+ errors: string[];
32
+ };
29
33
  fileFreshness?: number | null;
30
34
  }
31
35
  /**
@@ -38,12 +42,11 @@ export interface CalculatedEdit {
38
42
  */
39
43
  export declare function calculateEdit(params: ASTEditToolParams, host: IToolHost, _abortSignal: AbortSignal): Promise<CalculatedEdit>;
40
44
  /**
41
- * Counts occurrences that will be replaced (0 or 1).
42
- * Returns 0/1 not true count, aligned with String.replace() single-replacement semantics.
45
+ * Returns the true number of occurrences of searchString in content.
43
46
  *
44
47
  * @param content - File content
45
48
  * @param searchString - String to search for
46
- * @returns 0 if not found, 1 if found
49
+ * @returns Number of occurrences (0 if not found)
47
50
  */
48
51
  export declare function countOccurrences(content: string, searchString: string): number;
49
52
  /**
@@ -36,6 +36,12 @@ export async function calculateEdit(params, host, _abortSignal) {
36
36
  ? applyReplacement(currentContent, normalizedOldString, normalizedNewString, isNewFile)
37
37
  : (currentContent ?? '');
38
38
  const noChangeError = checkNoChange(error, fileExists, currentContent, newContent, params.file_path);
39
+ // Validate the original (pre-edit) content so post-edit errors can be
40
+ // categorized as pre-existing vs newly-introduced (issue #2124).
41
+ // Skipped for new files where there is no prior content to baseline.
42
+ const preEditValidation = !noChangeError && currentContent !== null
43
+ ? validateASTSyntax(params.file_path, currentContent)
44
+ : undefined;
39
45
  let astValidation;
40
46
  if (!noChangeError) {
41
47
  astValidation = validateASTSyntax(params.file_path, newContent);
@@ -47,6 +53,7 @@ export async function calculateEdit(params, host, _abortSignal) {
47
53
  error: noChangeError,
48
54
  isNewFile,
49
55
  astValidation,
56
+ preEditValidation,
50
57
  fileFreshness: currentMtime,
51
58
  };
52
59
  }
@@ -95,6 +102,7 @@ function checkFreshness(params, currentMtime, fileExists, currentContent) {
95
102
  },
96
103
  isNewFile: false,
97
104
  astValidation: undefined,
105
+ preEditValidation: undefined,
98
106
  fileFreshness: currentMtime,
99
107
  };
100
108
  }
@@ -123,6 +131,13 @@ function validateEditParams(params, currentContent, fileExists, normalizedOldStr
123
131
  type: ToolErrorType.EDIT_NO_OCCURRENCE_FOUND,
124
132
  };
125
133
  }
134
+ else if (occurrences > 1) {
135
+ error = {
136
+ display: `old_string appears ${occurrences} times. Include more surrounding context to target a specific occurrence.`,
137
+ raw: `old_string appears ${occurrences} times in ${params.file_path}. Provide more surrounding context to disambiguate.`,
138
+ type: ToolErrorType.EDIT_EXPECTED_OCCURRENCE_MISMATCH,
139
+ };
140
+ }
126
141
  else if (normalizedOldString === normalizedNewString) {
127
142
  error = {
128
143
  display: `No changes to apply. The old_string and new_string are identical.`,
@@ -144,19 +159,22 @@ function checkNoChange(error, fileExists, currentContent, newContent, filePath)
144
159
  return error;
145
160
  }
146
161
  /**
147
- * Counts occurrences that will be replaced (0 or 1).
148
- * Returns 0/1 not true count, aligned with String.replace() single-replacement semantics.
162
+ * Returns the true number of occurrences of searchString in content.
149
163
  *
150
164
  * @param content - File content
151
165
  * @param searchString - String to search for
152
- * @returns 0 if not found, 1 if found
166
+ * @returns Number of occurrences (0 if not found)
153
167
  */
154
168
  export function countOccurrences(content, searchString) {
155
169
  if (!searchString)
156
170
  return 0;
157
- // Since applyReplacement uses String.replace (single replacement),
158
- // count occurrences that will actually be replaced (0 or 1)
159
- return content.includes(searchString) ? 1 : 0;
171
+ let count = 0;
172
+ let idx = content.indexOf(searchString);
173
+ while (idx !== -1) {
174
+ count++;
175
+ idx = content.indexOf(searchString, idx + searchString.length);
176
+ }
177
+ return count;
160
178
  }
161
179
  /**
162
180
  * Validates AST syntax for the given file path and content.
@@ -1 +1 @@
1
- {"version":3,"file":"edit-calculator.js","sourceRoot":"","sources":["../../../../src/tools/ast-edit/edit-calculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-calculator.js","sourceRoot":"","sources":["../../../../src/tools/ast-edit/edit-calculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ *
6
+ * Categorizes AST validation results into pre-existing vs newly-introduced
7
+ * errors by comparing the pre-edit and post-edit parse trees.
8
+ *
9
+ * Background (issue #2124): tree-sitter is error-recovering and will report
10
+ * ERROR/MISSING nodes for any pre-existing syntax weirdness in a file. Without
11
+ * a baseline, every post-edit validation failure looks like the edit's fault,
12
+ * causing the LLM to either blindly force the edit or abandon it for a less
13
+ * capable tool. Comparing against the pre-edit baseline lets us tell the LLM
14
+ * whether the failure was already there.
15
+ */
16
+ export type AstValidationResult = {
17
+ valid: boolean;
18
+ errors: string[];
19
+ };
20
+ export interface AstValidationSummary {
21
+ /** Post-edit validation status. */
22
+ status: 'PASSED' | 'FAILED' | 'SKIPPED';
23
+ /** True when the post-edit error(s) also existed in the pre-edit content. */
24
+ preExisting: boolean;
25
+ /** True when the edit likely introduced an error that did not exist before. */
26
+ newlyIntroduced: boolean;
27
+ /** One-line label suitable for LLM-facing output. */
28
+ label: string;
29
+ }
30
+ /**
31
+ * Extracts the leading line number from a validation error message such as
32
+ * "Syntax error at line 173, column 5". Returns null when no line is found.
33
+ */
34
+ export declare function extractErrorLineNumber(error: string): number | null;
35
+ /**
36
+ * Finds the 1-based line number where an edit begins in the original content.
37
+ * Returns null when the position cannot be determined (e.g. new file) or when
38
+ * oldString appears more than once (ambiguous — indexOf would return the first
39
+ * match, but the actual edit could target a different occurrence, making the
40
+ * computed line unreliable for shift matching).
41
+ */
42
+ export declare function findEditStartLine(content: string | null, oldString: string): number | null;
43
+ /**
44
+ * Computes the net line delta an edit introduces. A positive value means the
45
+ * edit added lines (shifting errors below it downward); negative means removed.
46
+ */
47
+ export declare function computeLineDelta(oldString: string | undefined, newString: string | undefined): number;
48
+ /**
49
+ * Categorizes post-edit AST validation results relative to the pre-edit
50
+ * baseline so the LLM understands whether failures are its fault.
51
+ *
52
+ * @param preEdit - Validation result of the original file content.
53
+ * @param postEdit - Validation result of the edited file content.
54
+ * @param lineDelta - Net lines added/removed by the edit (for shift matching).
55
+ * @param editStartLine - 1-based line where the edit begins (for precise matching).
56
+ */
57
+ export declare function summarizeAstValidation(preEdit: AstValidationResult | undefined, postEdit: AstValidationResult | undefined, lineDelta?: number, editStartLine?: number | null): AstValidationSummary;
58
+ export declare function formatValidationLineLabel(errors: string[]): string;