@vybestack/llxprt-code-tools 0.10.0-nightly.260724.a20e30f14 → 0.10.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.
- package/README.md +1 -1
- package/dist/src/tools/ast-edit/ast-edit-invocation.d.ts +10 -2
- package/dist/src/tools/ast-edit/ast-edit-invocation.js +35 -4
- package/dist/src/tools/ast-edit/ast-edit-invocation.js.map +1 -1
- package/dist/src/tools/ast-edit.d.ts +3 -2
- package/dist/src/tools/ast-edit.js +4 -2
- package/dist/src/tools/ast-edit.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +3 -2
- package/dist/src/tools/write-file.js +22 -4
- package/dist/src/tools/write-file.js.map +1 -1
- package/package.json +1 -1
- package/src/tools/ast-edit/ast-edit-invocation.ts +39 -3
- package/src/tools/ast-edit.ts +7 -1
- package/src/tools/write-file.ts +34 -3
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ Get started immediately with powerful LLM options:
|
|
|
23
23
|
# Your Claude Pro / Max subscription
|
|
24
24
|
/auth anthropic enable
|
|
25
25
|
/provider anthropic
|
|
26
|
-
/model claude-opus-
|
|
26
|
+
/model claude-opus-5
|
|
27
27
|
|
|
28
28
|
# Your ChatGPT Plus / Pro subscription (Codex)
|
|
29
29
|
/auth codex enable
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { ToolCallConfirmationDetails, ToolInvocation, ToolLocation } from '../tools.js';
|
|
9
9
|
import { type ToolResult } from '../tools.js';
|
|
10
|
-
import type { IToolHost, ILspService } from '../../interfaces/index.js';
|
|
10
|
+
import type { IToolHost, IIdeService, ILspService } from '../../interfaces/index.js';
|
|
11
11
|
import type { AnsiOutput } from '../../utils/terminalSerializer.js';
|
|
12
12
|
import type { ASTEditToolParams } from './types.js';
|
|
13
13
|
import type { ASTContextCollector } from './context-collector.js';
|
|
@@ -17,7 +17,15 @@ export declare class ASTEditToolInvocation implements ToolInvocation<ASTEditTool
|
|
|
17
17
|
params: ASTEditToolParams;
|
|
18
18
|
private readonly contextCollector;
|
|
19
19
|
private readonly lspService?;
|
|
20
|
-
|
|
20
|
+
private readonly ideService?;
|
|
21
|
+
/**
|
|
22
|
+
* When the IDE diff view accepts user-modified content, that full file
|
|
23
|
+
* content overrides the model-computed replacement on write (mirrors
|
|
24
|
+
* write_file). Undefined when there is no IDE confirmation or the user
|
|
25
|
+
* rejected the diff.
|
|
26
|
+
*/
|
|
27
|
+
private ideAcceptedContent;
|
|
28
|
+
constructor(host: IToolHost, params: ASTEditToolParams, contextCollector: ASTContextCollector, lspService?: ILspService | undefined, ideService?: IIdeService | undefined);
|
|
21
29
|
toolLocations(): ToolLocation[];
|
|
22
30
|
shouldConfirmExecute(abortSignal: AbortSignal): Promise<ToolCallConfirmationDetails | false>;
|
|
23
31
|
getDescription(): string;
|
|
@@ -11,6 +11,7 @@ import * as Diff from 'diff';
|
|
|
11
11
|
import { ToolConfirmationOutcome, } from '../tools.js';
|
|
12
12
|
import { ToolErrorType } from '../../types/tool-error.js';
|
|
13
13
|
import { makeRelative, shortenPath } from '../../utils/paths.js';
|
|
14
|
+
import { toIdeConnectionStatus } from '../edit-utils.js';
|
|
14
15
|
import { hasLspCap } from '../../interfaces/host-capabilities.js';
|
|
15
16
|
import { DEFAULT_CREATE_PATCH_OPTIONS } from '../../utils/diffOptions.js';
|
|
16
17
|
import { collectLspDiagnosticsBlock } from '../../utils/lsp-diagnostics-helper.js';
|
|
@@ -28,11 +29,20 @@ export class ASTEditToolInvocation {
|
|
|
28
29
|
params;
|
|
29
30
|
contextCollector;
|
|
30
31
|
lspService;
|
|
31
|
-
|
|
32
|
+
ideService;
|
|
33
|
+
/**
|
|
34
|
+
* When the IDE diff view accepts user-modified content, that full file
|
|
35
|
+
* content overrides the model-computed replacement on write (mirrors
|
|
36
|
+
* write_file). Undefined when there is no IDE confirmation or the user
|
|
37
|
+
* rejected the diff.
|
|
38
|
+
*/
|
|
39
|
+
ideAcceptedContent;
|
|
40
|
+
constructor(host, params, contextCollector, lspService, ideService) {
|
|
32
41
|
this.host = host;
|
|
33
42
|
this.params = params;
|
|
34
43
|
this.contextCollector = contextCollector;
|
|
35
44
|
this.lspService = lspService;
|
|
45
|
+
this.ideService = ideService;
|
|
36
46
|
}
|
|
37
47
|
toolLocations() {
|
|
38
48
|
return [{ path: this.params.file_path }];
|
|
@@ -56,6 +66,14 @@ export class ASTEditToolInvocation {
|
|
|
56
66
|
}
|
|
57
67
|
const fileName = path.basename(this.params.file_path);
|
|
58
68
|
const fileDiff = Diff.createPatch(fileName, editData.currentContent ?? '', editData.newContent, 'Current', 'Proposed', DEFAULT_CREATE_PATCH_OPTIONS);
|
|
69
|
+
const ideConfirmation = this.ideService !== undefined &&
|
|
70
|
+
toIdeConnectionStatus(this.ideService.getConnectionStatus()) ===
|
|
71
|
+
'connected'
|
|
72
|
+
? this.ideService.applyDiff({
|
|
73
|
+
filePath: this.params.file_path,
|
|
74
|
+
diff: editData.newContent,
|
|
75
|
+
})
|
|
76
|
+
: undefined;
|
|
59
77
|
const confirmationDetails = {
|
|
60
78
|
type: 'edit',
|
|
61
79
|
title: `Confirm Edit: ${shortenPath(makeRelative(this.params.file_path, this.host.getTargetDir()))}`,
|
|
@@ -68,7 +86,16 @@ export class ASTEditToolInvocation {
|
|
|
68
86
|
if (outcome === ToolConfirmationOutcome.ProceedAlways) {
|
|
69
87
|
this.host.setApprovalMode('auto');
|
|
70
88
|
}
|
|
89
|
+
if (ideConfirmation) {
|
|
90
|
+
const result = await ideConfirmation;
|
|
91
|
+
if (result.status === 'accepted' && result.content !== undefined) {
|
|
92
|
+
// The IDE returns the full file content the user reviewed (and
|
|
93
|
+
// possibly edited) in the diff view; write exactly that.
|
|
94
|
+
this.ideAcceptedContent = result.content;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
71
97
|
},
|
|
98
|
+
ideConfirmation,
|
|
72
99
|
metadata: {
|
|
73
100
|
astValidation: editData.astValidation,
|
|
74
101
|
fileFreshness: editData.fileFreshness,
|
|
@@ -239,15 +266,19 @@ export class ASTEditToolInvocation {
|
|
|
239
266
|
}
|
|
240
267
|
async writeEditResult(editData) {
|
|
241
268
|
try {
|
|
269
|
+
// When the user accepted (and possibly edited) content in the IDE diff
|
|
270
|
+
// view, that full-file content takes precedence over the model-computed
|
|
271
|
+
// replacement — mirrors write_file/edit behavior.
|
|
272
|
+
const contentToWrite = this.ideAcceptedContent ?? editData.newContent;
|
|
242
273
|
await ensureParentDirectoriesExist(this.params.file_path);
|
|
243
|
-
await fsPromises.writeFile(this.params.file_path,
|
|
274
|
+
await fsPromises.writeFile(this.params.file_path, contentToWrite, 'utf-8');
|
|
244
275
|
const fileName = path.basename(this.params.file_path);
|
|
245
|
-
const fileDiff = Diff.createPatch(fileName, editData.currentContent ?? '',
|
|
276
|
+
const fileDiff = Diff.createPatch(fileName, editData.currentContent ?? '', contentToWrite, 'Current', 'Applied', DEFAULT_CREATE_PATCH_OPTIONS);
|
|
246
277
|
const displayResult = {
|
|
247
278
|
fileDiff,
|
|
248
279
|
fileName,
|
|
249
280
|
originalContent: editData.currentContent,
|
|
250
|
-
newContent:
|
|
281
|
+
newContent: contentToWrite,
|
|
251
282
|
applied: true,
|
|
252
283
|
metadata: { astValidation: editData.astValidation },
|
|
253
284
|
};
|
|
@@ -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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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { ToolInvocation } from './tools.js';
|
|
17
17
|
import { BaseDeclarativeTool, type ToolResult } from './tools.js';
|
|
18
|
-
import type { IToolHost, ILspService } from '../interfaces/index.js';
|
|
18
|
+
import type { IToolHost, IIdeService, ILspService } from '../interfaces/index.js';
|
|
19
19
|
import type { ModifiableDeclarativeTool, ModifyContext } from './modifiable-tool.js';
|
|
20
20
|
import type { EnhancedDeclaration, ASTEditToolParams, ASTReadFileToolParams } from './ast-edit/types.js';
|
|
21
21
|
import { KEYWORDS, COMMENT_PREFIXES, REGEX, LANGUAGE_MAP, JAVASCRIPT_FAMILY_EXTENSIONS } from './ast-edit/constants.js';
|
|
@@ -24,11 +24,12 @@ export type { EnhancedDeclaration, ASTEditToolParams, ASTReadFileToolParams };
|
|
|
24
24
|
export { KEYWORDS, COMMENT_PREFIXES, REGEX, LANGUAGE_MAP, JAVASCRIPT_FAMILY_EXTENSIONS, };
|
|
25
25
|
export declare class ASTEditTool extends BaseDeclarativeTool<ASTEditToolParams, ToolResult> implements ModifiableDeclarativeTool<ASTEditToolParams> {
|
|
26
26
|
private readonly host;
|
|
27
|
+
private readonly ideService?;
|
|
27
28
|
private readonly lspService?;
|
|
28
29
|
static readonly Name = "ast_edit";
|
|
29
30
|
private contextCollector;
|
|
30
31
|
static applyReplacement: typeof applyReplacement;
|
|
31
|
-
constructor(host: IToolHost, lspService?: ILspService | undefined);
|
|
32
|
+
constructor(host: IToolHost, ideService?: IIdeService | undefined, lspService?: ILspService | undefined);
|
|
32
33
|
protected validateToolParamValues(params: ASTEditToolParams): string | null;
|
|
33
34
|
protected createInvocation(params: ASTEditToolParams): ToolInvocation<ASTEditToolParams, ToolResult>;
|
|
34
35
|
getModifyContext(_: AbortSignal): ModifyContext<ASTEditToolParams>;
|
|
@@ -48,11 +48,12 @@ function validateFilePathParam(host, params) {
|
|
|
48
48
|
// ===== ASTEdit Tool Implementation =====
|
|
49
49
|
export class ASTEditTool extends BaseDeclarativeTool {
|
|
50
50
|
host;
|
|
51
|
+
ideService;
|
|
51
52
|
lspService;
|
|
52
53
|
static Name = 'ast_edit';
|
|
53
54
|
contextCollector;
|
|
54
55
|
static applyReplacement = applyReplacement;
|
|
55
|
-
constructor(host, lspService) {
|
|
56
|
+
constructor(host, ideService, lspService) {
|
|
56
57
|
super(ASTEditTool.Name, 'ASTEdit', `Enhanced edit tool with intelligent context awareness. Performs precise text replacement with validation.
|
|
57
58
|
|
|
58
59
|
Replaces exact text matches in files with comprehensive analysis:
|
|
@@ -92,6 +93,7 @@ export class ASTEditTool extends BaseDeclarativeTool {
|
|
|
92
93
|
type: 'object',
|
|
93
94
|
});
|
|
94
95
|
this.host = host;
|
|
96
|
+
this.ideService = ideService;
|
|
95
97
|
this.lspService = lspService;
|
|
96
98
|
this.contextCollector = new ASTContextCollector();
|
|
97
99
|
}
|
|
@@ -99,7 +101,7 @@ export class ASTEditTool extends BaseDeclarativeTool {
|
|
|
99
101
|
return validateFilePathParam(this.host, params);
|
|
100
102
|
}
|
|
101
103
|
createInvocation(params) {
|
|
102
|
-
return new ASTEditToolInvocation(this.host, params, this.contextCollector, this.lspService);
|
|
104
|
+
return new ASTEditToolInvocation(this.host, params, this.contextCollector, this.lspService, this.ideService);
|
|
103
105
|
}
|
|
104
106
|
getModifyContext(_) {
|
|
105
107
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-edit.js","sourceRoot":"","sources":["../../../src/tools/ast-edit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAmB,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ast-edit.js","sourceRoot":"","sources":["../../../src/tools/ast-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { BaseDeclarativeTool, type ToolResult, type ToolInvocation } from './tools.js';
|
|
7
|
-
import type { IToolHost, IToolMessageBus } from '../interfaces/index.js';
|
|
7
|
+
import type { IToolHost, IToolMessageBus, IIdeService } from '../interfaces/index.js';
|
|
8
8
|
import { type ModifiableDeclarativeTool, type ModifyContext } from './modifiable-tool.js';
|
|
9
9
|
/**
|
|
10
10
|
* Parameters for the WriteFile tool
|
|
@@ -38,7 +38,8 @@ export interface WriteFileToolParams {
|
|
|
38
38
|
export declare class WriteFileTool extends BaseDeclarativeTool<WriteFileToolParams, ToolResult> implements ModifiableDeclarativeTool<WriteFileToolParams> {
|
|
39
39
|
private host;
|
|
40
40
|
static readonly Name: string;
|
|
41
|
-
|
|
41
|
+
private readonly ideService?;
|
|
42
|
+
constructor(host: IToolHost, messageBusOrIdeService?: IToolMessageBus | IIdeService, ideService?: IIdeService);
|
|
42
43
|
protected validateToolParamValues(params: WriteFileToolParams): string | null;
|
|
43
44
|
protected createInvocation(params: WriteFileToolParams, messageBus?: IToolMessageBus, toolName?: string, displayName?: string): ToolInvocation<WriteFileToolParams, ToolResult>;
|
|
44
45
|
getModifyContext(_abortSignal: AbortSignal): ModifyContext<WriteFileToolParams>;
|
|
@@ -8,6 +8,7 @@ import path from 'path';
|
|
|
8
8
|
import * as Diff from 'diff';
|
|
9
9
|
import { BaseDeclarativeTool, BaseToolInvocation, Kind, ToolConfirmationOutcome, } from './tools.js';
|
|
10
10
|
import { ToolErrorType } from '../types/tool-error.js';
|
|
11
|
+
import { resolveConstructorArguments } from './edit-utils.js';
|
|
11
12
|
import { makeRelative, shortenPath } from '../utils/paths.js';
|
|
12
13
|
import { getErrorMessage, isNodeError } from '../utils/errors.js';
|
|
13
14
|
import { DEFAULT_CREATE_PATCH_OPTIONS, getDiffStat, } from '../utils/diffOptions.js';
|
|
@@ -52,9 +53,11 @@ async function getCorrectedFileContent(filePath, proposedContent, _host) {
|
|
|
52
53
|
}
|
|
53
54
|
class WriteFileToolInvocation extends BaseToolInvocation {
|
|
54
55
|
host;
|
|
55
|
-
|
|
56
|
+
ideService;
|
|
57
|
+
constructor(host, ideService, params, messageBus, toolName, displayName) {
|
|
56
58
|
super(params, messageBus, toolName, displayName);
|
|
57
59
|
this.host = host;
|
|
60
|
+
this.ideService = ideService;
|
|
58
61
|
}
|
|
59
62
|
getToolName() {
|
|
60
63
|
return WriteFileTool.Name;
|
|
@@ -92,6 +95,9 @@ class WriteFileToolInvocation extends BaseToolInvocation {
|
|
|
92
95
|
const originalContent = correctedContentResult.originalContent;
|
|
93
96
|
const newContent = correctedContentResult.correctedContent;
|
|
94
97
|
const fileDiff = Diff.createPatch(fileName, originalContent, newContent, 'Original', 'Written', DEFAULT_CREATE_PATCH_OPTIONS);
|
|
98
|
+
const ideConfirmation = this.ideService?.getConnectionStatus() === 'connected'
|
|
99
|
+
? this.ideService.applyDiff({ filePath, diff: newContent })
|
|
100
|
+
: undefined;
|
|
95
101
|
return {
|
|
96
102
|
type: 'edit',
|
|
97
103
|
title: 'Confirm Write File',
|
|
@@ -107,7 +113,16 @@ class WriteFileToolInvocation extends BaseToolInvocation {
|
|
|
107
113
|
else {
|
|
108
114
|
await this.publishPolicyUpdate(outcome);
|
|
109
115
|
}
|
|
116
|
+
if (ideConfirmation) {
|
|
117
|
+
const result = await ideConfirmation;
|
|
118
|
+
if (result.status === 'accepted' && result.content !== undefined) {
|
|
119
|
+
// The IDE returns the full file content the user reviewed (and
|
|
120
|
+
// possibly edited) in the diff view; write exactly that.
|
|
121
|
+
this.params.content = result.content;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
110
124
|
},
|
|
125
|
+
ideConfirmation,
|
|
111
126
|
};
|
|
112
127
|
}
|
|
113
128
|
async execute(_abortSignal) {
|
|
@@ -229,7 +244,9 @@ class WriteFileToolInvocation extends BaseToolInvocation {
|
|
|
229
244
|
export class WriteFileTool extends BaseDeclarativeTool {
|
|
230
245
|
host;
|
|
231
246
|
static Name = 'write_file';
|
|
232
|
-
|
|
247
|
+
ideService;
|
|
248
|
+
constructor(host, messageBusOrIdeService, ideService) {
|
|
249
|
+
const resolved = resolveConstructorArguments(host, messageBusOrIdeService, ideService, undefined);
|
|
233
250
|
super(WriteFileTool.Name, 'WriteFile', `Writes content to a specified file in the local filesystem.
|
|
234
251
|
|
|
235
252
|
The user has the ability to modify \`content\`. If modified, this will be stated in the response.`, Kind.Edit, {
|
|
@@ -249,8 +266,9 @@ export class WriteFileTool extends BaseDeclarativeTool {
|
|
|
249
266
|
},
|
|
250
267
|
required: ['content'],
|
|
251
268
|
type: 'object',
|
|
252
|
-
}, true, false, messageBus);
|
|
269
|
+
}, true, false, resolved.messageBus);
|
|
253
270
|
this.host = host;
|
|
271
|
+
this.ideService = resolved.ideService;
|
|
254
272
|
}
|
|
255
273
|
validateToolParamValues(params) {
|
|
256
274
|
const filePath = stringOrDefault(params.absolute_path, stringOrDefault(params.file_path, ''));
|
|
@@ -282,7 +300,7 @@ export class WriteFileTool extends BaseDeclarativeTool {
|
|
|
282
300
|
if (!normalizedParams.absolute_path && normalizedParams.file_path) {
|
|
283
301
|
normalizedParams.absolute_path = normalizedParams.file_path;
|
|
284
302
|
}
|
|
285
|
-
return new WriteFileToolInvocation(this.host, normalizedParams, messageBus, toolName ?? this.name, displayName ?? this.displayName);
|
|
303
|
+
return new WriteFileToolInvocation(this.host, this.ideService, normalizedParams, messageBus, toolName ?? this.name, displayName ?? this.displayName);
|
|
286
304
|
}
|
|
287
305
|
getModifyContext(_abortSignal) {
|
|
288
306
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -25,8 +25,10 @@ import { makeRelative, shortenPath } from '../../utils/paths.js';
|
|
|
25
25
|
import type {
|
|
26
26
|
Diagnostic,
|
|
27
27
|
IToolHost,
|
|
28
|
+
IIdeService,
|
|
28
29
|
ILspService,
|
|
29
30
|
} from '../../interfaces/index.js';
|
|
31
|
+
import { toIdeConnectionStatus } from '../edit-utils.js';
|
|
30
32
|
import { hasLspCap } from '../../interfaces/host-capabilities.js';
|
|
31
33
|
import { DEFAULT_CREATE_PATCH_OPTIONS } from '../../utils/diffOptions.js';
|
|
32
34
|
import { collectLspDiagnosticsBlock } from '../../utils/lsp-diagnostics-helper.js';
|
|
@@ -53,11 +55,20 @@ function normalizeSeverity(severity: unknown): string {
|
|
|
53
55
|
export class ASTEditToolInvocation
|
|
54
56
|
implements ToolInvocation<ASTEditToolParams, ToolResult>
|
|
55
57
|
{
|
|
58
|
+
/**
|
|
59
|
+
* When the IDE diff view accepts user-modified content, that full file
|
|
60
|
+
* content overrides the model-computed replacement on write (mirrors
|
|
61
|
+
* write_file). Undefined when there is no IDE confirmation or the user
|
|
62
|
+
* rejected the diff.
|
|
63
|
+
*/
|
|
64
|
+
private ideAcceptedContent: string | undefined;
|
|
65
|
+
|
|
56
66
|
constructor(
|
|
57
67
|
private readonly host: IToolHost,
|
|
58
68
|
public params: ASTEditToolParams,
|
|
59
69
|
private readonly contextCollector: ASTContextCollector,
|
|
60
70
|
private readonly lspService?: ILspService,
|
|
71
|
+
private readonly ideService?: IIdeService,
|
|
61
72
|
) {}
|
|
62
73
|
|
|
63
74
|
toolLocations(): ToolLocation[] {
|
|
@@ -98,6 +109,16 @@ export class ASTEditToolInvocation
|
|
|
98
109
|
DEFAULT_CREATE_PATCH_OPTIONS,
|
|
99
110
|
);
|
|
100
111
|
|
|
112
|
+
const ideConfirmation =
|
|
113
|
+
this.ideService !== undefined &&
|
|
114
|
+
toIdeConnectionStatus(this.ideService.getConnectionStatus()) ===
|
|
115
|
+
'connected'
|
|
116
|
+
? this.ideService.applyDiff({
|
|
117
|
+
filePath: this.params.file_path,
|
|
118
|
+
diff: editData.newContent,
|
|
119
|
+
})
|
|
120
|
+
: undefined;
|
|
121
|
+
|
|
101
122
|
const confirmationDetails: ToolEditConfirmationDetails = {
|
|
102
123
|
type: 'edit',
|
|
103
124
|
title: `Confirm Edit: ${shortenPath(makeRelative(this.params.file_path, this.host.getTargetDir()))}`,
|
|
@@ -110,7 +131,17 @@ export class ASTEditToolInvocation
|
|
|
110
131
|
if (outcome === ToolConfirmationOutcome.ProceedAlways) {
|
|
111
132
|
this.host.setApprovalMode('auto');
|
|
112
133
|
}
|
|
134
|
+
|
|
135
|
+
if (ideConfirmation) {
|
|
136
|
+
const result = await ideConfirmation;
|
|
137
|
+
if (result.status === 'accepted' && result.content !== undefined) {
|
|
138
|
+
// The IDE returns the full file content the user reviewed (and
|
|
139
|
+
// possibly edited) in the diff view; write exactly that.
|
|
140
|
+
this.ideAcceptedContent = result.content;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
113
143
|
},
|
|
144
|
+
ideConfirmation,
|
|
114
145
|
metadata: {
|
|
115
146
|
astValidation: editData.astValidation,
|
|
116
147
|
fileFreshness: editData.fileFreshness,
|
|
@@ -355,10 +386,15 @@ export class ASTEditToolInvocation
|
|
|
355
386
|
|
|
356
387
|
private async writeEditResult(editData: CalculatedEdit): Promise<ToolResult> {
|
|
357
388
|
try {
|
|
389
|
+
// When the user accepted (and possibly edited) content in the IDE diff
|
|
390
|
+
// view, that full-file content takes precedence over the model-computed
|
|
391
|
+
// replacement — mirrors write_file/edit behavior.
|
|
392
|
+
const contentToWrite = this.ideAcceptedContent ?? editData.newContent;
|
|
393
|
+
|
|
358
394
|
await ensureParentDirectoriesExist(this.params.file_path);
|
|
359
395
|
await fsPromises.writeFile(
|
|
360
396
|
this.params.file_path,
|
|
361
|
-
|
|
397
|
+
contentToWrite,
|
|
362
398
|
'utf-8',
|
|
363
399
|
);
|
|
364
400
|
|
|
@@ -366,7 +402,7 @@ export class ASTEditToolInvocation
|
|
|
366
402
|
const fileDiff = Diff.createPatch(
|
|
367
403
|
fileName,
|
|
368
404
|
editData.currentContent ?? '',
|
|
369
|
-
|
|
405
|
+
contentToWrite,
|
|
370
406
|
'Current',
|
|
371
407
|
'Applied',
|
|
372
408
|
DEFAULT_CREATE_PATCH_OPTIONS,
|
|
@@ -376,7 +412,7 @@ export class ASTEditToolInvocation
|
|
|
376
412
|
fileDiff,
|
|
377
413
|
fileName,
|
|
378
414
|
originalContent: editData.currentContent,
|
|
379
|
-
newContent:
|
|
415
|
+
newContent: contentToWrite,
|
|
380
416
|
applied: true,
|
|
381
417
|
metadata: { astValidation: editData.astValidation },
|
|
382
418
|
};
|
package/src/tools/ast-edit.ts
CHANGED
|
@@ -19,7 +19,11 @@ import fs from 'fs';
|
|
|
19
19
|
import type { ToolInvocation } from './tools.js';
|
|
20
20
|
import { BaseDeclarativeTool, Kind, type ToolResult } from './tools.js';
|
|
21
21
|
import { isNodeError } from '../utils/errors.js';
|
|
22
|
-
import type {
|
|
22
|
+
import type {
|
|
23
|
+
IToolHost,
|
|
24
|
+
IIdeService,
|
|
25
|
+
ILspService,
|
|
26
|
+
} from '../interfaces/index.js';
|
|
23
27
|
import { hasWorkspaceContextCap } from '../interfaces/host-capabilities.js';
|
|
24
28
|
import type {
|
|
25
29
|
ModifiableDeclarativeTool,
|
|
@@ -99,6 +103,7 @@ export class ASTEditTool
|
|
|
99
103
|
|
|
100
104
|
constructor(
|
|
101
105
|
private readonly host: IToolHost,
|
|
106
|
+
private readonly ideService?: IIdeService,
|
|
102
107
|
private readonly lspService?: ILspService,
|
|
103
108
|
) {
|
|
104
109
|
super(
|
|
@@ -167,6 +172,7 @@ export class ASTEditTool
|
|
|
167
172
|
params,
|
|
168
173
|
this.contextCollector,
|
|
169
174
|
this.lspService,
|
|
175
|
+
this.ideService,
|
|
170
176
|
);
|
|
171
177
|
}
|
|
172
178
|
|
package/src/tools/write-file.ts
CHANGED
|
@@ -19,7 +19,12 @@ import {
|
|
|
19
19
|
ToolConfirmationOutcome,
|
|
20
20
|
} from './tools.js';
|
|
21
21
|
import { ToolErrorType } from '../types/tool-error.js';
|
|
22
|
-
import type {
|
|
22
|
+
import type {
|
|
23
|
+
IToolHost,
|
|
24
|
+
IToolMessageBus,
|
|
25
|
+
IIdeService,
|
|
26
|
+
} from '../interfaces/index.js';
|
|
27
|
+
import { resolveConstructorArguments } from './edit-utils.js';
|
|
23
28
|
import { makeRelative, shortenPath } from '../utils/paths.js';
|
|
24
29
|
import { getErrorMessage, isNodeError } from '../utils/errors.js';
|
|
25
30
|
import {
|
|
@@ -121,6 +126,7 @@ class WriteFileToolInvocation extends BaseToolInvocation<
|
|
|
121
126
|
> {
|
|
122
127
|
constructor(
|
|
123
128
|
private readonly host: IToolHost,
|
|
129
|
+
private readonly ideService: IIdeService | undefined,
|
|
124
130
|
params: WriteFileToolParams,
|
|
125
131
|
messageBus: IToolMessageBus,
|
|
126
132
|
toolName?: string,
|
|
@@ -188,6 +194,11 @@ class WriteFileToolInvocation extends BaseToolInvocation<
|
|
|
188
194
|
DEFAULT_CREATE_PATCH_OPTIONS,
|
|
189
195
|
);
|
|
190
196
|
|
|
197
|
+
const ideConfirmation =
|
|
198
|
+
this.ideService?.getConnectionStatus() === 'connected'
|
|
199
|
+
? this.ideService.applyDiff({ filePath, diff: newContent })
|
|
200
|
+
: undefined;
|
|
201
|
+
|
|
191
202
|
return {
|
|
192
203
|
type: 'edit',
|
|
193
204
|
title: 'Confirm Write File',
|
|
@@ -202,7 +213,17 @@ class WriteFileToolInvocation extends BaseToolInvocation<
|
|
|
202
213
|
} else {
|
|
203
214
|
await this.publishPolicyUpdate(outcome);
|
|
204
215
|
}
|
|
216
|
+
|
|
217
|
+
if (ideConfirmation) {
|
|
218
|
+
const result = await ideConfirmation;
|
|
219
|
+
if (result.status === 'accepted' && result.content !== undefined) {
|
|
220
|
+
// The IDE returns the full file content the user reviewed (and
|
|
221
|
+
// possibly edited) in the diff view; write exactly that.
|
|
222
|
+
this.params.content = result.content;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
205
225
|
},
|
|
226
|
+
ideConfirmation,
|
|
206
227
|
};
|
|
207
228
|
}
|
|
208
229
|
|
|
@@ -381,11 +402,19 @@ export class WriteFileTool
|
|
|
381
402
|
implements ModifiableDeclarativeTool<WriteFileToolParams>
|
|
382
403
|
{
|
|
383
404
|
static readonly Name: string = 'write_file';
|
|
405
|
+
private readonly ideService?: IIdeService;
|
|
384
406
|
|
|
385
407
|
constructor(
|
|
386
408
|
private host: IToolHost,
|
|
387
|
-
|
|
409
|
+
messageBusOrIdeService?: IToolMessageBus | IIdeService,
|
|
410
|
+
ideService?: IIdeService,
|
|
388
411
|
) {
|
|
412
|
+
const resolved = resolveConstructorArguments(
|
|
413
|
+
host,
|
|
414
|
+
messageBusOrIdeService,
|
|
415
|
+
ideService,
|
|
416
|
+
undefined,
|
|
417
|
+
);
|
|
389
418
|
super(
|
|
390
419
|
WriteFileTool.Name,
|
|
391
420
|
'WriteFile',
|
|
@@ -415,8 +444,9 @@ export class WriteFileTool
|
|
|
415
444
|
},
|
|
416
445
|
true,
|
|
417
446
|
false,
|
|
418
|
-
messageBus,
|
|
447
|
+
resolved.messageBus,
|
|
419
448
|
);
|
|
449
|
+
this.ideService = resolved.ideService;
|
|
420
450
|
}
|
|
421
451
|
|
|
422
452
|
protected override validateToolParamValues(
|
|
@@ -469,6 +499,7 @@ export class WriteFileTool
|
|
|
469
499
|
}
|
|
470
500
|
return new WriteFileToolInvocation(
|
|
471
501
|
this.host,
|
|
502
|
+
this.ideService,
|
|
472
503
|
normalizedParams,
|
|
473
504
|
messageBus as IToolMessageBus,
|
|
474
505
|
toolName ?? this.name,
|