@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 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-4-8
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
- constructor(host: IToolHost, params: ASTEditToolParams, contextCollector: ASTContextCollector, lspService?: ILspService | undefined);
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
- constructor(host, params, contextCollector, lspService) {
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, editData.newContent, 'utf-8');
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 ?? '', editData.newContent, 'Current', 'Applied', DEFAULT_CREATE_PATCH_OPTIONS);
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: editData.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":"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"}
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
- constructor(host: IToolHost, messageBus?: IToolMessageBus);
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
- constructor(host, params, messageBus, toolName, displayName) {
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
- constructor(host, messageBus) {
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAGlB,IAAI,EAIJ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,4BAA4B,EAC5B,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAwC/D;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,QAAgB,EAChB,eAAuB,EACvB,KAAgB;IAEhB,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,gBAAgB,GAAG,eAAe,CAAC;IAEvC,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChE,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,UAAU,GAAG,KAAK,CAAC;YACnB,eAAe,GAAG,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAI,CAAC;YAClB,eAAe,GAAG,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG;gBACZ,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC;gBAC7B,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aAC9C,CAAC;YACF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAED,gBAAgB,GAAG,eAAe,CAAC;IACnC,MAAM,uBAAuB,GAAG,UAAU,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7E,IACE,uBAAuB;QACvB,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAChC,CAAC;QACD,gBAAgB,GAAG,GAAG,gBAAgB,IAAI,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,uBAAwB,SAAQ,kBAGrC;IAEoB;IACA;IAFnB,YACmB,IAAe,EACf,UAAmC,EACpD,MAA2B,EAC3B,UAA2B,EAC3B,QAAiB,EACjB,WAAoB;QAEpB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAPhC,SAAI,GAAJ,IAAI,CAAW;QACf,eAAU,GAAV,UAAU,CAAyB;IAOtD,CAAC;IAEQ,WAAW;QAClB,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IAEO,WAAW;QACjB,OAAO,eAAe,CACpB,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC;IAEQ,aAAa;QACpB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAEQ,cAAc;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,4DAA4D,CAAC;QACtE,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACtE,OAAO,cAAc,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,oBAAoB,CACjC,WAAwB;QAExB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC/D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CAC1D,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,IAAI,CACV,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,sBAAsB,CAAC,eAAe,CAAC;QAC/D,MAAM,UAAU,GAAG,sBAAsB,CAAC,gBAAgB,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC/B,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,EACT,4BAA4B,CAC7B,CAAC;QAEF,MAAM,eAAe,GACnB,IAAI,CAAC,UAAU,EAAE,mBAAmB,EAAE,KAAK,WAAW;YACpD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC3D,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,oBAAoB;YAC3B,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,eAAe;YACf,UAAU;YACV,SAAS,EAAE,KAAK,EAAE,OAAgC,EAAE,EAAE;gBACpD,IAAI,OAAO,KAAK,uBAAuB,CAAC,aAAa,EAAE,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;oBACrC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACjE,+DAA+D;wBAC/D,yDAAyD;wBACzD,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,eAAe;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAAyB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CAC1D,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,IAAI,CACV,CAAC;QAEF,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC;YAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI;gBAC9B,CAAC,CAAC,iCAAiC,QAAQ,MAAM,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,GAAG;gBAC1F,CAAC,CAAC,iCAAiC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1D,OAAO;gBACL,UAAU,EAAE,QAAQ;gBACpB,aAAa,EAAE,QAAQ;gBACvB,KAAK,EAAE;oBACL,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,aAAa,CAAC,kBAAkB;iBACvC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,eAAe,EACf,gBAAgB,EAAE,WAAW,EAC7B,UAAU,GACX,GAAG,sBAAsB,CAAC;QAC3B,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC;QAE9B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,QAAgB,EAChB,WAAmB,EACnB,eAAuB,EACvB,SAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC/B,QAAQ,EACR,eAAe,EACf,WAAW,EACX,UAAU,EACV,SAAS,EACT,4BAA4B,CAC7B,CAAC;QAEF,MAAM,yBAAyB,GAC7B,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACzD,MAAM,QAAQ,GAAG,WAAW,CAC1B,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CACpB,CAAC;QAEF,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAExE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAa;YAC9B,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,eAAe;YACf,UAAU,EAAE,WAAW;YACvB,QAAQ;YACR,SAAS;SACV,CAAC;QAEF,MAAM,MAAM,GAAe;YACzB,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/C,aAAa,EAAE,aAAa;SAC7B,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,wBAAwB,CAAC,SAAkB;QACjD,MAAM,WAAW,GAAG,eAAe,CACjC,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAC3C,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,SAAS;gBACP,CAAC,CAAC,+CAA+C,WAAW,GAAG;gBAC/D,CAAC,CAAC,gCAAgC,WAAW,GAAG;SACnD,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,wCAAwC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CACnB,QAAgB,EAChB,WAAmB,EACnB,SAAkB,EAClB,QAAwC;QAExC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,mDAAmD;IACrD,CAAC;IAEO,gBAAgB,CAAC,QAAgB,EAAE,KAAc;QACvD,IAAI,QAAgB,CAAC;QACrB,IAAI,SAAS,GAAG,aAAa,CAAC,kBAAkB,CAAC;QAEjD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,0BAA0B,QAAQ,MAAM,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;YAEnF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,QAAQ,GAAG,sCAAsC,QAAQ,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;gBAC5E,SAAS,GAAG,aAAa,CAAC,iBAAiB,CAAC;YAC9C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,QAAQ,GAAG,4BAA4B,QAAQ,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;gBAClE,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC;YAC1C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,QAAQ,GAAG,sCAAsC,QAAQ,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;gBAC5E,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC;YAChD,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC5C,WAAW,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAClC,QAAQ,GAAG,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,0BAA0B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,CAAC;QAED,OAAO;YACL,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,QAAQ;YACvB,KAAK,EAAE;gBACL,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aACX,SAAQ,mBAAoD;IAOlD;IAJV,MAAM,CAAU,IAAI,GAAW,YAAY,CAAC;IAC3B,UAAU,CAAe;IAE1C,YACU,IAAe,EACvB,sBAAsD,EACtD,UAAwB;QAExB,MAAM,QAAQ,GAAG,2BAA2B,CAC1C,IAAI,EACJ,sBAAsB,EACtB,UAAU,EACV,SAAS,CACV,CAAC;QACF,KAAK,CACH,aAAa,CAAC,IAAI,EAClB,WAAW,EACX;;wGAEkG,EAClG,IAAI,CAAC,IAAI,EACT;YACE,UAAU,EAAE;gBACV,aAAa,EAAE;oBACb,WAAW,EACT,oHAAoH;oBACtH,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE;oBACT,WAAW,EACT,2GAA2G;oBAC7G,IAAI,EAAE,QAAQ;iBACf;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE,mCAAmC;oBAChD,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,QAAQ;SACf,EACD,IAAI,EACJ,KAAK,EACL,QAAQ,CAAC,UAAU,CACpB,CAAC;QAxCM,SAAI,GAAJ,IAAI,CAAW;QAyCvB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACxC,CAAC;IAEkB,uBAAuB,CACxC,MAA2B;QAE3B,MAAM,QAAQ,GAAG,eAAe,CAC9B,MAAM,CAAC,aAAa,EACpB,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CACtC,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3B,OAAO,iFAAiF,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,+BAA+B,QAAQ,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,SAAS,GAAG,2BAA2B,CAC3C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAC7B,QAAQ,CACT,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,OAAO,oCAAoC,QAAQ,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,SAAkB,EAAE,CAAC;YAC5B,OAAO,mDAAmD,QAAQ,aAAa,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACtJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CACxB,MAA2B,EAC3B,UAA4B,EAC5B,QAAiB,EACjB,WAAoB;QAEpB,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,aAAa,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAClE,gBAAgB,CAAC,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,uBAAuB,CAChC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,gBAAgB,EAChB,UAA6B,EAC7B,QAAQ,IAAI,IAAI,CAAC,IAAI,EACrB,WAAW,IAAI,IAAI,CAAC,WAAW,CAChC,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,YAAyB;QAEzB,OAAO;YACL,WAAW,EAAE,CAAC,MAA2B,EAAE,EAAE,CAC3C,eAAe,CACb,MAAM,CAAC,aAAa,EACpB,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CACtC;YACH,iBAAiB,EAAE,KAAK,EAAE,MAA2B,EAAE,EAAE;gBACvD,MAAM,QAAQ,GAAG,eAAe,CAC9B,MAAM,CAAC,aAAa,EACpB,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CACtC,CAAC;gBACF,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CAC1D,QAAQ,EACR,MAAM,CAAC,OAAO,EACd,IAAI,CAAC,IAAI,CACV,CAAC;gBACF,OAAO,sBAAsB,CAAC,eAAe,CAAC;YAChD,CAAC;YACD,kBAAkB,EAAE,KAAK,EAAE,MAA2B,EAAE,EAAE;gBACxD,MAAM,QAAQ,GAAG,eAAe,CAC9B,MAAM,CAAC,aAAa,EACpB,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CACtC,CAAC;gBACF,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CAC1D,QAAQ,EACR,MAAM,CAAC,OAAO,EACd,IAAI,CAAC,IAAI,CACV,CAAC;gBACF,OAAO,sBAAsB,CAAC,gBAAgB,CAAC;YACjD,CAAC;YACD,mBAAmB,EAAE,CACnB,WAAmB,EACnB,uBAA+B,EAC/B,cAAmC,EACnC,EAAE;gBACF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;gBACvC,OAAO;oBACL,GAAG,cAAc;oBACjB,mBAAmB,EAAE,OAAO;oBAC5B,OAAO,EAAE,uBAAuB;oBAChC,gBAAgB,EAAE,IAAI;iBACvB,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vybestack/llxprt-code-tools",
3
- "version": "0.10.0-nightly.260724.a20e30f14",
3
+ "version": "0.10.0",
4
4
  "description": "LLxprt Code Tools — built-in tool implementations, contracts, formatters, and registry",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -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
- editData.newContent,
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
- editData.newContent,
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: editData.newContent,
415
+ newContent: contentToWrite,
380
416
  applied: true,
381
417
  metadata: { astValidation: editData.astValidation },
382
418
  };
@@ -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 { IToolHost, ILspService } from '../interfaces/index.js';
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
 
@@ -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 { IToolHost, IToolMessageBus } from '../interfaces/index.js';
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
- messageBus?: IToolMessageBus,
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,