@opensumi/ide-ai-native 3.9.0 → 3.9.1-next-1747791726.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.
@@ -1,9 +1,12 @@
1
1
  import { IChatProgress } from '@opensumi/ide-core-browser';
2
+ import { ICodeEditor } from '@opensumi/ide-monaco';
2
3
  import { SumiReadableStream } from '@opensumi/ide-utils/lib/stream';
3
4
  import { Range } from '@opensumi/monaco-editor-core';
4
5
  import { CodeBlockData } from '../../common/types';
5
6
  import { BaseApplyService } from '../mcp/base-apply.service';
6
7
  export declare class ApplyService extends BaseApplyService {
8
+ private commandService;
9
+ protected postApplyHandler(editor: ICodeEditor): Promise<void>;
7
10
  private readonly modelService;
8
11
  private readonly aiBackService;
9
12
  private readonly chatProxyService;
@@ -1 +1 @@
1
- {"version":3,"file":"apply.service.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/apply.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,aAAa,EAAa,MAAM,4BAA4B,CAAC;AAEzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D,qBACa,YAAa,SAAQ,gBAAgB;IAEhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAG3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;cAEpC,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC;QACzD,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CA4BH"}
1
+ {"version":3,"file":"apply.service.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/apply.service.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EAGd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAwD,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAc7D,qBACa,YAAa,SAAQ,gBAAgB;IAEhD,OAAO,CAAC,cAAc,CAAiB;cAEvB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAG3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;cAEpC,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC;QACzD,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CA4BH"}
@@ -4,11 +4,54 @@ exports.ApplyService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const di_1 = require("@opensumi/di");
6
6
  const ide_core_browser_1 = require("@opensumi/ide-core-browser");
7
+ const command_1 = require("@opensumi/ide-core-common/lib/command");
7
8
  const browser_1 = require("@opensumi/ide-editor/lib/browser");
9
+ const ide_monaco_1 = require("@opensumi/ide-monaco");
10
+ const languages_1 = require("@opensumi/ide-monaco/lib/browser/monaco-api/languages");
8
11
  const common_1 = require("../../common");
9
12
  const base_apply_service_1 = require("../mcp/base-apply.service");
10
13
  const chat_proxy_service_1 = require("./chat-proxy.service");
14
+ /**
15
+ * Filter code actions to only apply batch fixes
16
+ * Skip individual fixes as consecutive WorkspaceEdits may interfere with each other
17
+ * @param codeAction The code action to check
18
+ * @returns boolean indicating if the action is auto-fixable
19
+ */
20
+ function isAutoFixable(codeAction) {
21
+ return codeAction.title.toLowerCase().includes('all');
22
+ }
11
23
  let ApplyService = class ApplyService extends base_apply_service_1.BaseApplyService {
24
+ async postApplyHandler(editor) {
25
+ const model = editor.getModel();
26
+ if (!model) {
27
+ return Promise.resolve();
28
+ }
29
+ const providers = languages_1.languageFeaturesService.codeActionProvider.ordered(model);
30
+ if (!providers) {
31
+ return Promise.resolve();
32
+ }
33
+ const [provider] = providers;
34
+ const range = model.getFullModelRange();
35
+ const context = {
36
+ trigger: ide_monaco_1.CodeActionTriggerType.Auto,
37
+ };
38
+ const ts = new ide_core_browser_1.CancellationTokenSource();
39
+ const actionList = await provider.provideCodeActions(model, range, context, ts.token);
40
+ // 提取所有可修复的代码操作
41
+ const fixableActions = (actionList === null || actionList === void 0 ? void 0 : actionList.actions.filter(isAutoFixable)) || [];
42
+ if (fixableActions.length === 0) {
43
+ return Promise.resolve();
44
+ }
45
+ // 执行所有可修复的代码操作
46
+ await Promise.allSettled(fixableActions.map(async (action) => {
47
+ if (action.command) {
48
+ try {
49
+ await this.commandService.executeCommand(action.command.id, ...(action.command.arguments || []));
50
+ }
51
+ catch (err) { }
52
+ }
53
+ }));
54
+ }
12
55
  async doApply(codeBlock) {
13
56
  const uri = new ide_core_browser_1.URI(ide_core_browser_1.path.join(this.appConfig.workspaceDir, codeBlock.relativePath));
14
57
  const modelReference = await this.modelService.createModelReference(uri);
@@ -34,6 +77,10 @@ let ApplyService = class ApplyService extends base_apply_service_1.BaseApplyServ
34
77
  }
35
78
  };
36
79
  exports.ApplyService = ApplyService;
80
+ tslib_1.__decorate([
81
+ (0, di_1.Autowired)(command_1.CommandService),
82
+ tslib_1.__metadata("design:type", Object)
83
+ ], ApplyService.prototype, "commandService", void 0);
37
84
  tslib_1.__decorate([
38
85
  (0, di_1.Autowired)(browser_1.IEditorDocumentModelService),
39
86
  tslib_1.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"apply.service.js","sourceRoot":"","sources":["../../../src/browser/chat/apply.service.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,iEAAyG;AACzG,8DAA+E;AAI/E,yCAAqD;AAErD,kEAA6D;AAE7D,6DAAwD;AAGjD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,qCAAgB;IAStC,KAAK,CAAC,OAAO,CAAC,SAAwB;QAK9C,MAAM,GAAG,GAAG,IAAI,sBAAG,CAAC,uBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CACnD;;;;;YAKM,WAAW;;cAET,SAAS,CAAC,QAAQ;MAC1B,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE;;CAEpF,EACK;YACE,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE;YAC5C,SAAS,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YAChD,MAAM,EACJ,4GAA4G;SAC/G,CACF,CAAC;QAEF,OAAO;YACL,MAAM;SACP,CAAC;IACJ,CAAC;CACF,CAAA;AAzCY,oCAAY;AAEN;IADhB,IAAA,cAAS,EAAC,qCAA2B,CAAC;;kDACoB;AAG1C;IADhB,IAAA,cAAS,EAAC,oCAAiB,CAAC;;mDACkB;AAE9B;IADhB,IAAA,cAAS,EAAC,8BAAqB,CAAC;sCACE,qCAAgB;sDAAC;uBAPzC,YAAY;IADxB,IAAA,eAAU,GAAE;GACA,YAAY,CAyCxB"}
1
+ {"version":3,"file":"apply.service.js","sourceRoot":"","sources":["../../../src/browser/chat/apply.service.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export declare abstract class BaseApplyService extends WithEventBus {
20
20
  private onCodeBlockUpdateEmitter;
21
21
  onCodeBlockUpdate: import("@opensumi/ide-core-browser").Event<CodeBlockData>;
22
22
  private currentSessionId?;
23
+ protected abstract postApplyHandler(editor: ICodeEditor): Promise<void>;
23
24
  constructor();
24
25
  private getMessageCodeBlocks;
25
26
  private activePreviewerMap;
@@ -48,7 +49,7 @@ export declare abstract class BaseApplyService extends WithEventBus {
48
49
  renderApplyResult(editor: ICodeEditor, codeBlock: CodeBlockData, updatedContentOrStream: string | SumiReadableStream<IChatProgress>, range?: Range): Promise<{
49
50
  result?: {
50
51
  diff: string;
51
- diagnosticInfos: IMarker[];
52
+ rangesFromDiffHunk: Range[];
52
53
  };
53
54
  updatedCode: string;
54
55
  }>;
@@ -62,7 +63,7 @@ export declare abstract class BaseApplyService extends WithEventBus {
62
63
  protected doProcess(type: 'accept' | 'reject', relativePath: string): void;
63
64
  protected listenPartialEdit(model: ITextModel, codeBlock: CodeBlockData): Promise<{
64
65
  diff: string;
65
- diagnosticInfos: IMarker[];
66
+ rangesFromDiffHunk: Range[];
66
67
  }>;
67
68
  protected getDiffResult(originalContent: string, appliedResult: string, relativePath: string): {
68
69
  diff: string;
@@ -1 +1 @@
1
- {"version":3,"file":"base-apply.service.d.ts","sourceRoot":"","sources":["../../../src/browser/mcp/base-apply.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-apply.service.d.ts","sourceRoot":"","sources":["../../../src/browser/mcp/base-apply.service.ts"],"names":[],"mappings":"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"}
@@ -193,6 +193,7 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
193
193
  * Apply changes of a code block
194
194
  */
195
195
  async apply(codeBlock) {
196
+ var _a, _b;
196
197
  try {
197
198
  this.duringApply = true;
198
199
  if (codeBlock.iterationCount > 3) {
@@ -222,8 +223,22 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
222
223
  const res = await this.renderApplyResult(result.group.codeEditor.monacoEditor, codeBlock, (fastApplyFileResult.result || fastApplyFileResult.stream), fastApplyFileResult.range);
223
224
  codeBlock.updatedCode = res.updatedCode;
224
225
  codeBlock.status = 'pending';
226
+ // apply 结果流式输出完成后,自动尝试修复代码中的 lint 错误
227
+ if (this.postApplyHandler && typeof this.postApplyHandler === 'function') {
228
+ try {
229
+ await this.postApplyHandler(result.group.codeEditor.monacoEditor);
230
+ }
231
+ catch (error) { }
232
+ }
233
+ const textModel = result.group.codeEditor.monacoEditor.getModel();
234
+ const diagnosticInfos = this.getDiagnosticInfos(textModel.uri.toString(), ((_a = res.result) === null || _a === void 0 ? void 0 : _a.rangesFromDiffHunk) || []);
225
235
  // 用户实际接受的 apply 结果
226
- codeBlock.applyResult = res.result;
236
+ if (res.result) {
237
+ codeBlock.applyResult = {
238
+ diff: (_b = res.result) === null || _b === void 0 ? void 0 : _b.diff,
239
+ diagnosticInfos,
240
+ };
241
+ }
227
242
  this.updateCodeBlock(codeBlock);
228
243
  return codeBlock;
229
244
  }
@@ -272,17 +287,20 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
272
287
  this.eventBus.fire(new browser_1.RegisterEditorSideComponentEvent());
273
288
  this.listenPartialEdit(editor.getModel(), codeBlock).then((result) => {
274
289
  if (result) {
275
- codeBlock.applyResult = result;
290
+ const diagnosticInfos = this.getDiagnosticInfos(editor.getModel().uri.toString(), rangesFromDiffHunk);
291
+ codeBlock.applyResult = {
292
+ diff: result.diff,
293
+ diagnosticInfos,
294
+ };
276
295
  }
277
296
  this.updateCodeBlock(codeBlock);
278
297
  this.editorService.save(ide_utils_1.URI.file(ide_utils_1.path.join(this.appConfig.workspaceDir, codeBlock.relativePath)));
279
298
  });
280
299
  const { diff, rangesFromDiffHunk } = this.getDiffResult(codeBlock.originalCode, updatedContent, codeBlock.relativePath);
281
- const diagnosticInfos = this.getDiagnosticInfos(editor.getModel().uri.toString(), rangesFromDiffHunk);
282
300
  deferred.resolve({
283
301
  result: {
284
302
  diff,
285
- diagnosticInfos,
303
+ rangesFromDiffHunk,
286
304
  },
287
305
  updatedCode: updatedContent,
288
306
  });
@@ -452,7 +470,7 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
452
470
  });
453
471
  deferred.resolve({
454
472
  diff,
455
- diagnosticInfos,
473
+ rangesFromDiffHunk,
456
474
  });
457
475
  }
458
476
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"base-apply.service.js","sourceRoot":"","sources":["../../../src/browser/mcp/base-apply.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-apply.service.js","sourceRoot":"","sources":["../../../src/browser/mcp/base-apply.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-ai-native",
3
- "version": "3.9.0",
3
+ "version": "3.9.1-next-1747791726.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -24,27 +24,27 @@
24
24
  "@ai-sdk/openai": "^1.1.9",
25
25
  "@ai-sdk/openai-compatible": "^0.1.11",
26
26
  "@modelcontextprotocol/sdk": "^1.3.1",
27
- "@opensumi/ide-addons": "3.9.0",
28
- "@opensumi/ide-components": "3.9.0",
29
- "@opensumi/ide-connection": "3.9.0",
30
- "@opensumi/ide-core-common": "3.9.0",
31
- "@opensumi/ide-core-node": "3.9.0",
32
- "@opensumi/ide-debug": "3.9.0",
33
- "@opensumi/ide-design": "3.9.0",
34
- "@opensumi/ide-editor": "3.9.0",
35
- "@opensumi/ide-file-search": "3.9.0",
36
- "@opensumi/ide-file-service": "3.9.0",
37
- "@opensumi/ide-main-layout": "3.9.0",
38
- "@opensumi/ide-markers": "3.9.0",
39
- "@opensumi/ide-monaco": "3.9.0",
40
- "@opensumi/ide-outline": "3.9.0",
41
- "@opensumi/ide-overlay": "3.9.0",
42
- "@opensumi/ide-preferences": "3.9.0",
43
- "@opensumi/ide-search": "3.9.0",
44
- "@opensumi/ide-terminal-next": "3.9.0",
45
- "@opensumi/ide-theme": "3.9.0",
46
- "@opensumi/ide-utils": "3.9.0",
47
- "@opensumi/ide-workspace": "3.9.0",
27
+ "@opensumi/ide-addons": "3.9.1-next-1747791726.0",
28
+ "@opensumi/ide-components": "3.9.1-next-1747791726.0",
29
+ "@opensumi/ide-connection": "3.9.1-next-1747791726.0",
30
+ "@opensumi/ide-core-common": "3.9.1-next-1747791726.0",
31
+ "@opensumi/ide-core-node": "3.9.1-next-1747791726.0",
32
+ "@opensumi/ide-debug": "3.9.1-next-1747791726.0",
33
+ "@opensumi/ide-design": "3.9.1-next-1747791726.0",
34
+ "@opensumi/ide-editor": "3.9.1-next-1747791726.0",
35
+ "@opensumi/ide-file-search": "3.9.1-next-1747791726.0",
36
+ "@opensumi/ide-file-service": "3.9.1-next-1747791726.0",
37
+ "@opensumi/ide-main-layout": "3.9.1-next-1747791726.0",
38
+ "@opensumi/ide-markers": "3.9.1-next-1747791726.0",
39
+ "@opensumi/ide-monaco": "3.9.1-next-1747791726.0",
40
+ "@opensumi/ide-outline": "3.9.1-next-1747791726.0",
41
+ "@opensumi/ide-overlay": "3.9.1-next-1747791726.0",
42
+ "@opensumi/ide-preferences": "3.9.1-next-1747791726.0",
43
+ "@opensumi/ide-search": "3.9.1-next-1747791726.0",
44
+ "@opensumi/ide-terminal-next": "3.9.1-next-1747791726.0",
45
+ "@opensumi/ide-theme": "3.9.1-next-1747791726.0",
46
+ "@opensumi/ide-utils": "3.9.1-next-1747791726.0",
47
+ "@opensumi/ide-workspace": "3.9.1-next-1747791726.0",
48
48
  "@xterm/xterm": "5.5.0",
49
49
  "ai": "^4.1.45",
50
50
  "ansi-regex": "^2.0.0",
@@ -61,7 +61,7 @@
61
61
  "zod-to-json-schema": "^3.24.1"
62
62
  },
63
63
  "devDependencies": {
64
- "@opensumi/ide-core-browser": "3.9.0"
64
+ "@opensumi/ide-core-browser": "3.9.1-next-1747791726.0"
65
65
  },
66
- "gitHead": "6791ce569a373e2f65df9486c6ff312f23d4707c"
66
+ "gitHead": "8f0f4598a7fb17dcb5546928a4da0a1c45363e14"
67
67
  }
@@ -1,6 +1,16 @@
1
1
  import { Autowired, Injectable } from '@opensumi/di';
2
- import { AIBackSerivcePath, IAIBackService, IChatProgress, URI, path } from '@opensumi/ide-core-browser';
2
+ import {
3
+ AIBackSerivcePath,
4
+ CancellationTokenSource,
5
+ IAIBackService,
6
+ IChatProgress,
7
+ URI,
8
+ path,
9
+ } from '@opensumi/ide-core-browser';
10
+ import { CommandService } from '@opensumi/ide-core-common/lib/command';
3
11
  import { IEditorDocumentModelService } from '@opensumi/ide-editor/lib/browser';
12
+ import { CodeAction, CodeActionContext, CodeActionTriggerType, ICodeEditor } from '@opensumi/ide-monaco';
13
+ import { languageFeaturesService } from '@opensumi/ide-monaco/lib/browser/monaco-api/languages';
4
14
  import { SumiReadableStream } from '@opensumi/ide-utils/lib/stream';
5
15
  import { Range } from '@opensumi/monaco-editor-core';
6
16
 
@@ -10,8 +20,59 @@ import { BaseApplyService } from '../mcp/base-apply.service';
10
20
 
11
21
  import { ChatProxyService } from './chat-proxy.service';
12
22
 
23
+ /**
24
+ * Filter code actions to only apply batch fixes
25
+ * Skip individual fixes as consecutive WorkspaceEdits may interfere with each other
26
+ * @param codeAction The code action to check
27
+ * @returns boolean indicating if the action is auto-fixable
28
+ */
29
+ function isAutoFixable(codeAction: CodeAction): boolean {
30
+ return codeAction.title.toLowerCase().includes('all');
31
+ }
32
+
13
33
  @Injectable()
14
34
  export class ApplyService extends BaseApplyService {
35
+ @Autowired(CommandService)
36
+ private commandService: CommandService;
37
+
38
+ protected async postApplyHandler(editor: ICodeEditor): Promise<void> {
39
+ const model = editor.getModel();
40
+ if (!model) {
41
+ return Promise.resolve();
42
+ }
43
+ const providers = languageFeaturesService.codeActionProvider.ordered(model);
44
+
45
+ if (!providers) {
46
+ return Promise.resolve();
47
+ }
48
+
49
+ const [provider] = providers;
50
+ const range = model.getFullModelRange();
51
+ const context: CodeActionContext = {
52
+ trigger: CodeActionTriggerType.Auto,
53
+ };
54
+ const ts = new CancellationTokenSource();
55
+ const actionList = await provider.provideCodeActions(model, range, context, ts.token);
56
+
57
+ // 提取所有可修复的代码操作
58
+ const fixableActions = actionList?.actions.filter(isAutoFixable) || [];
59
+
60
+ if (fixableActions.length === 0) {
61
+ return Promise.resolve();
62
+ }
63
+
64
+ // 执行所有可修复的代码操作
65
+ await Promise.allSettled(
66
+ fixableActions.map(async (action) => {
67
+ if (action.command) {
68
+ try {
69
+ await this.commandService.executeCommand(action.command.id, ...(action.command.arguments || []));
70
+ } catch (err) {}
71
+ }
72
+ }),
73
+ );
74
+ }
75
+
15
76
  @Autowired(IEditorDocumentModelService)
16
77
  private readonly modelService: IEditorDocumentModelService;
17
78
 
@@ -63,6 +63,8 @@ export abstract class BaseApplyService extends WithEventBus {
63
63
 
64
64
  private currentSessionId?: string;
65
65
 
66
+ protected abstract postApplyHandler(editor: ICodeEditor): Promise<void>;
67
+
66
68
  constructor() {
67
69
  super();
68
70
  this.addDispose(
@@ -313,10 +315,26 @@ export abstract class BaseApplyService extends WithEventBus {
313
315
  );
314
316
  codeBlock.updatedCode = res.updatedCode;
315
317
  codeBlock.status = 'pending';
318
+
319
+ // apply 结果流式输出完成后,自动尝试修复代码中的 lint 错误
320
+ if (this.postApplyHandler && typeof this.postApplyHandler === 'function') {
321
+ try {
322
+ await this.postApplyHandler(result.group.codeEditor.monacoEditor);
323
+ } catch (error) {}
324
+ }
325
+
326
+ const textModel = result.group.codeEditor.monacoEditor.getModel();
327
+ const diagnosticInfos = this.getDiagnosticInfos(textModel!.uri.toString(), res.result?.rangesFromDiffHunk || []);
328
+
316
329
  // 用户实际接受的 apply 结果
317
- codeBlock.applyResult = res.result;
318
- this.updateCodeBlock(codeBlock);
330
+ if (res.result) {
331
+ codeBlock.applyResult = {
332
+ diff: res.result?.diff,
333
+ diagnosticInfos,
334
+ };
335
+ }
319
336
 
337
+ this.updateCodeBlock(codeBlock);
320
338
  return codeBlock;
321
339
  } catch (err) {
322
340
  codeBlock.status = 'failed';
@@ -336,8 +354,8 @@ export abstract class BaseApplyService extends WithEventBus {
336
354
  codeBlock: CodeBlockData,
337
355
  updatedContentOrStream: string | SumiReadableStream<IChatProgress>,
338
356
  range?: Range,
339
- ): Promise<{ result?: { diff: string; diagnosticInfos: IMarker[] }; updatedCode: string }> {
340
- const deferred = new Deferred<{ result?: { diff: string; diagnosticInfos: IMarker[] }; updatedCode: string }>();
357
+ ): Promise<{ result?: { diff: string; rangesFromDiffHunk: Range[] }; updatedCode: string }> {
358
+ const deferred = new Deferred<{ result?: { diff: string; rangesFromDiffHunk: Range[] }; updatedCode: string }>();
341
359
  const inlineDiffController = InlineDiffController.get(editor)!;
342
360
  range = range || editor.getModel()!.getFullModelRange();
343
361
 
@@ -373,7 +391,11 @@ export abstract class BaseApplyService extends WithEventBus {
373
391
 
374
392
  this.listenPartialEdit(editor.getModel()!, codeBlock).then((result) => {
375
393
  if (result) {
376
- codeBlock.applyResult = result;
394
+ const diagnosticInfos = this.getDiagnosticInfos(editor.getModel()!.uri.toString(), rangesFromDiffHunk);
395
+ codeBlock.applyResult = {
396
+ diff: result.diff,
397
+ diagnosticInfos,
398
+ };
377
399
  }
378
400
  this.updateCodeBlock(codeBlock);
379
401
  this.editorService.save(URI.file(path.join(this.appConfig.workspaceDir, codeBlock.relativePath)));
@@ -384,11 +406,10 @@ export abstract class BaseApplyService extends WithEventBus {
384
406
  updatedContent,
385
407
  codeBlock.relativePath,
386
408
  );
387
- const diagnosticInfos = this.getDiagnosticInfos(editor.getModel()!.uri.toString(), rangesFromDiffHunk);
388
409
  deferred.resolve({
389
410
  result: {
390
411
  diff,
391
- diagnosticInfos,
412
+ rangesFromDiffHunk,
392
413
  },
393
414
  updatedCode: updatedContent,
394
415
  });
@@ -534,7 +555,7 @@ export abstract class BaseApplyService extends WithEventBus {
534
555
  }
535
556
 
536
557
  protected listenPartialEdit(model: ITextModel, codeBlock: CodeBlockData) {
537
- const deferred = new Deferred<{ diff: string; diagnosticInfos: IMarker[] }>();
558
+ const deferred = new Deferred<{ diff: string; rangesFromDiffHunk: Range[] }>();
538
559
  const uriString = model.uri.toString();
539
560
  const toDispose = this.inlineDiffService.onPartialEdit((event) => {
540
561
  if (
@@ -574,7 +595,7 @@ export abstract class BaseApplyService extends WithEventBus {
574
595
  });
575
596
  deferred.resolve({
576
597
  diff,
577
- diagnosticInfos,
598
+ rangesFromDiffHunk,
578
599
  });
579
600
  } else {
580
601
  // 用户全部取消