@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.
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces/IShellToolHost.d.ts +2 -1
- package/dist/src/tools/ast-edit/ast-edit-invocation.d.ts +3 -2
- package/dist/src/tools/ast-edit/ast-edit-invocation.js +38 -11
- package/dist/src/tools/ast-edit/ast-edit-invocation.js.map +1 -1
- package/dist/src/tools/ast-edit/ast-read-file-invocation.d.ts +2 -2
- package/dist/src/tools/ast-edit/ast-read-file-invocation.js.map +1 -1
- package/dist/src/tools/ast-edit/edit-calculator.d.ts +6 -3
- package/dist/src/tools/ast-edit/edit-calculator.js +24 -6
- package/dist/src/tools/ast-edit/edit-calculator.js.map +1 -1
- package/dist/src/tools/ast-edit/validation-categorizer.d.ts +58 -0
- package/dist/src/tools/ast-edit/validation-categorizer.js +207 -0
- package/dist/src/tools/ast-edit/validation-categorizer.js.map +1 -0
- package/dist/src/tools/codesearch.js.map +1 -1
- package/dist/src/tools/direct-web-fetch.js.map +1 -1
- package/dist/src/tools/exa-web-search.js.map +1 -1
- package/dist/src/tools/shell.d.ts +2 -2
- package/dist/src/tools/shell.js +17 -3
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/todo-pause.d.ts +2 -2
- package/dist/src/tools/todo-pause.js +1 -1
- package/dist/src/tools/todo-pause.js.map +1 -1
- package/dist/src/tools/todo-read.d.ts +2 -2
- package/dist/src/tools/todo-read.js +1 -1
- package/dist/src/tools/todo-read.js.map +1 -1
- package/dist/src/tools/todo-write.d.ts +2 -2
- package/dist/src/tools/todo-write.js +1 -1
- package/dist/src/tools/todo-write.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +3 -3
- package/dist/src/tools/tool-registry.js +6 -43
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tools.d.ts +6 -5
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/utils/fileUtils.js +8 -1
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/terminalSerializer.d.ts +12 -0
- package/package.json +151 -1
- package/src/index.ts +11 -0
- package/src/interfaces/IShellToolHost.ts +3 -1
- package/src/tools/ast-edit/ast-edit-invocation.ts +82 -12
- package/src/tools/ast-edit/ast-read-file-invocation.ts +2 -2
- package/src/tools/ast-edit/edit-calculator.ts +26 -6
- package/src/tools/ast-edit/validation-categorizer.ts +263 -0
- package/src/tools/codesearch.ts +2 -1
- package/src/tools/direct-web-fetch.ts +2 -1
- package/src/tools/exa-web-search.ts +2 -1
- package/src/tools/shell.ts +19 -6
- package/src/tools/todo-pause.ts +7 -2
- package/src/tools/todo-read.ts +7 -2
- package/src/tools/todo-write.ts +7 -2
- package/src/tools/tool-registry.ts +16 -82
- package/src/tools/tools.ts +10 -6
- package/src/utils/fileUtils.ts +11 -1
- package/src/utils/terminalSerializer.ts +9 -0
package/dist/src/index.d.ts
CHANGED
|
@@ -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
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,gFAAgF;AAChF,2EAA2E;AAC3E,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,SAAS,GACV,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EAGL,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,aAAa,EACb,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAa3C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAQ9D,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,cAAc,GACf,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,eAAe,IAAI,wBAAwB,EAC3C,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,4BAA4B,GAG7B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAE7C,gBAAgB;AAChB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAI7E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,GAEhB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,WAAW,GAEZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,WAAW,GAEZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,eAAe,GAIhB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAE3C,4BAA4B;AAC5B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,IAAI,GACL,MAAM,kBAAkB,CAAC;
|
|
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 {
|
|
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?: (
|
|
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
|
|
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
|
-
|
|
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: ${
|
|
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: {
|
|
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: ${
|
|
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 {
|
|
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?: (
|
|
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":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AAMpB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,OAAO,yBAAyB;IAIjB;IACV;IACU;IAHnB,YACmB,IAAe,EACzB,MAA6B,EACnB,gBAAqC;QAFrC,SAAI,GAAJ,IAAI,CAAW;QACzB,WAAM,GAAN,MAAM,CAAuB;QACnB,qBAAgB,GAAhB,gBAAgB,CAAqB;IACrD,CAAC;IAEJ,aAAa;QACX,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,cAAc;QACZ,MAAM,YAAY,GAAG,YAAY,CAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CACzB,CAAC;QACF,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,KAAK,CAAC,CAAC,0CAA0C;IAC1D,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAAqB,EACrB,
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
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;
|