@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.
- package/lib/browser/chat/apply.service.d.ts +3 -0
- package/lib/browser/chat/apply.service.d.ts.map +1 -1
- package/lib/browser/chat/apply.service.js +47 -0
- package/lib/browser/chat/apply.service.js.map +1 -1
- package/lib/browser/mcp/base-apply.service.d.ts +3 -2
- package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
- package/lib/browser/mcp/base-apply.service.js +23 -5
- package/lib/browser/mcp/base-apply.service.js.map +1 -1
- package/package.json +24 -24
- package/src/browser/chat/apply.service.ts +62 -1
- package/src/browser/mcp/base-apply.service.ts +30 -9
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAGA,OAAO,EAIL,SAAS,EAET,aAAa,EACb,OAAO,EAGP,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EAGrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAY,KAAK,EAAiC,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAiD,GAAG,EAAQ,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAiD,MAAM,uBAAuB,CAAC;AAE/G,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AAE3G,8BAAsB,gBAAiB,SAAQ,YAAY;IACzD,MAAM,CAAC,QAAQ,CAAC,mCAAmC,yBAAyB;IAG5E,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGnD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAG/B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAG/C,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA8B;IAGzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC,OAAO,CAAC,wBAAwB,CAAgC;IACzD,iBAAiB,4DAAuC;IAE/D,OAAO,CAAC,gBAAgB,CAAC,CAAS;;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;AAAA,+BAAmC;AAEnC,qCAAyC;AACzC,iEAWoC;AACpC,qDAA8D;AAC9D,8DAK0C;AAC1C,uDAAuD;AACvD,qDAA+G;AAC/G,mDAA+F;AAE/F,wGAAqG;AAErG,yCAAgG;AAEhG,yEAAoE;AACpE,yFAAoF;AACpF,uDAA+G;AAI/G,MAAsB,gBAAiB,SAAQ,+BAAY;IA6BzD;QACE,KAAK,EAAE,CAAC;QANF,6BAAwB,GAAG,IAAI,mBAAO,EAAiB,CAAC;QACzD,sBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QA+DvD,uBAAkB,GAAG,IAAI,CAAC,eAAe,CAC/C,IAAI,yBAAa,EAAgE,CAClF,CAAC;QAEM,sBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAa,EAAuB,CAAC,CAAC;QA7DzF,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,EAAE;YAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC;YACrF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,EAAE;YACrD,IAAI,SAAS,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,EAAE;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,EAAE;YACxD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,SAAiB,EACjB,SAAkB;QAElB,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,YAAY,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;IAC/B,CAAC;IASD,kBAAkB,CAAC,KAA4B;QAC7C,MAAM,YAAY,GAAG,gBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5G,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IAGK,AAAN,KAAK,CAAC,iBAAiB,CAAC,KAA2B;;QACjD,MAAM,YAAY,GAAG,gBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5G,IACE,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC;YACzC,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EACnE,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,kBAAkB,GACtB,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,KAAI,EAAE,CAAC;QACzG,wBAAwB;QACxB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;YAC3D,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB;;QAClB,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,aAAa,0CAAE,UAAU,CAAC;QAChE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,gBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAQ;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,gBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,OAAO,iBAAiB;aACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC;aACtD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,SAAkB;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5G,CAAC;IAED,oBAAoB,CAAC,SAAkB;QACrC,MAAM,YAAY,GAAG,SAAS;YAC5B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,YAAY,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACnE,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;aAC3C,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAA4C,CAAC;aAC/F,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAqB,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,UAAkB,EAAE,SAAkB;QACjD,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC;QACrF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAES,eAAe,CAAC,SAAwB;QAChD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,EAAE;YAC5E,YAAY;SACb,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,YAAoB,EACpB,OAAe,EACf,UAAkB,EAClB,YAAqB;;QAErB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,aAAc,CAAC;QACnF,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5G,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,oBAAoB,CACjF,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAC/D,CAAC;QACF,MAAM,QAAQ,GAAkB;YAC9B,QAAQ,EAAE,OAAO;YACjB,YAAY;YACZ,MAAM,EAAE,YAA+B;YACvC,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU;YACV,SAAS,EAAE,aAAa;YACxB,YAAY;YACZ,gBAAgB;YAChB,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE;SAClD,CAAC;QACF,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE,CAAC;YAC1B,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,kDAAkD;gBAClD,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,KAAI,MAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,eAAe,0CAAE,MAAM,CAAA,EAAE,CAAC;oBACtF,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACzE,iBAAiB,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAChF,YAAY,EAAE,iBAAiB;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAID;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,SAAwB;QAClC,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,sBAAsB;YACtB,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,YAAY;gBACjD,CAAC,CAAC;oBACE,MAAM,EAAE,SAAS,CAAC,QAAQ;iBAC3B;gBACH,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAC/D,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxD,4DAA4D;gBAC5D,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAC/B,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CACpF,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC7D,CAAC;YACD,+DAA+D;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAC1C,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CACzE,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,EACpC,SAAS,EACT,CAAC,mBAAmB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAE,EAC3D,mBAAmB,CAAC,KAAK,CAC1B,CAAC;YACF,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YACxC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;YAC7B,mBAAmB;YACnB,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAEhC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAmB,EACnB,SAAwB,EACxB,sBAAkE,EAClE,KAAa;;QAEb,MAAM,QAAQ,GAAG,IAAI,oBAAQ,EAAkF,CAAC;QAChH,MAAM,oBAAoB,GAAG,kCAAoB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAC/D,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAG,CAAC,iBAAiB,EAAE,CAAC;QAExD,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,sBAAsB,CAAC;YAC9C,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,EAAG,CAAC,QAAQ,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,oBAAoB,KAAK,cAAc,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,KAAK,CAAA,EAAE,CAAC;gBACxE,MAAA,MAAM,CAAC,QAAQ,EAAE,0CAAE,kBAAkB,CAAC,EAAE,EAAE,CAAC,6BAAa,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACtG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,oBAAoB,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YACvG,MAAM,uBAAuB,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxF,IAAI,CAAA,MAAA,CAAC,uBAAuB,IAAI,SAAS,CAAC,0CAAE,YAAY,MAAK,cAAc,EAAE,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YACD,wBAAwB;YACxB,MAAM,SAAS,GAAG,oBAAoB,CAAC,mBAAmB,CACxD,MAAM,EACN,sBAAS,CAAC,SAAS,CAAC,KAAK,EAAE,+BAAkB,CAAC,GAAG,CAAC,EAClD;gBACE,uBAAuB,EAAE,IAAI;gBAC7B,8BAA8B,EAAE,IAAI;gBACpC,OAAO,EAAE,IAAI;aACd,CACyB,CAAC;YAC7B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC/D,0BAA0B;YAC1B,SAAS,CAAC,QAAQ,CAAC,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,YAAY,KAAI,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;YAC5F,kBAAkB;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,0CAAgC,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACpE,IAAI,MAAM,EAAE,CAAC;oBACX,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpG,CAAC,CAAC,CAAC;YAEH,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,aAAa,CACrD,SAAS,CAAC,YAAY,EACtB,cAAc,EACd,SAAS,CAAC,YAAY,CACvB,CAAC;YACF,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACvG,QAAQ,CAAC,OAAO,CAAC;gBACf,MAAM,EAAE;oBACN,IAAI;oBACJ,eAAe;iBAChB;gBACD,WAAW,EAAE,cAAc;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,IAAI,6CAAoB,EAAE,CAAC;YAC9C,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;YAEjD,MAAM,SAAS,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,EAAE;gBACnE,cAAc,EAAE,sBAAS,CAAC,SAAS,CAAC,KAAK,EAAE,+BAAkB,CAAC,GAAG,CAAC;gBAClE,YAAY,EAAE,UAAU;gBACxB,gBAAgB,EAAE;oBAChB,uBAAuB,EAAE,IAAI;oBAC7B,8BAA8B,EAAE,KAAK;iBACtC;aACF,CAA4B,CAAC;YAE9B,IAAI,CAAC,UAAU,CACb,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CACH,CAAC;YACF,IAAI,CAAC,UAAU,CACb,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;gBACtB,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CACH,CAAC;YACF,IAAI,CAAC,UAAU;YACb,mBAAmB;YACnB,SAAS,CAAC,OAAO,EAAG,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;gBACtD,mBAAmB;gBACnB,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,eAAe;gBACf,IAAI,SAAS,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;oBAC3C,SAAS,CAAC,OAAO,EAAE,CAAC;oBACpB,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBACjD,OAAO;gBACT,CAAC;gBACD,SAAS,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;oBACzE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAwB,EAAE,UAAoB;;QACxD,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxE,aAAa;YACb,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAC/B,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CACpF,CAAC;YACF,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxD,MAAA,MAAA,IAAI,CAAC,kBAAkB;qBACpB,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,0CAC1B,OAAO,EAAE,0CACT,8BAA8B,CAAC,kBAAkB,EAAE,CAAC;gBACxD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC7D,CAAC;YACD,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,cAAc,CAAC,SAAkB;QAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC/D,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,SAAwB;;QAC1C,MAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,WAAW,0CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU;YACV,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,kCAAkC,CAAE,CAAC;YAC/E,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,YAAY,CAAC,IAAI,sBAAS,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAyB,EAAE,GAAS;;QACnD,MAAM,UAAU,GAAG,GAAG;YACpB,CAAC,CAAC,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;YAC3E,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,aAAa,GAAG,GAAG;YACvB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9B,CAAC,CAAC,UAAU;iBACP,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;iBAClC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAc,CAAC,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,aAAa;aAC/B,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;aACtG,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;QACD,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC/B,SAAS,CAAC,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/D,aAAa;YACb,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,SAAS,CAAC,IAAyB,EAAE,YAAoB;;QACjE,MAAM,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,OAAO,EAAE,0CAAE,8BAA8B,CAAC;QAC7G,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,eAAe,CAAC,iBAAiB,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,kBAAkB,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAG,CAAC,IAAI,CAAC,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAES,iBAAiB,CAAC,KAAiB,EAAE,SAAwB;QACrE,MAAM,QAAQ,GAAG,IAAI,oBAAQ,EAAgD,CAAC;QAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/D,IACE,KAAK,CAAC,qBAAqB,KAAK,KAAK,CAAC,wBAAwB;gBAC9D,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC5C,CAAC;gBACD,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;oBACrC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;oBAC7B,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACvC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,aAAa,CACrD,SAAS,CAAC,YAAY,EACtB,aAAa,EACb,SAAS,CAAC,YAAY,CACvB,CAAC;oBACF,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC,CAAC;oBAC1F,0BAA0B;oBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,gCAAa,CAAC,IAAI;wBAC3B,UAAU,EAAE,iCAAc,CAAC,MAAM;wBACjC,YAAY,EAAE,mCAAgB,CAAC,IAAI;wBACnC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS;wBAC1D,SAAS,EAAE,IAAI;wBACf,YAAY;wBACZ,MAAM,EAAE,KAAK,CAAC,sBAAsB,KAAK,KAAK,CAAC,qBAAqB;wBACpE,IAAI,EAAE,aAAa;wBACnB,UAAU,EAAE,SAAS,CAAC,YAAY;wBAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;4BACtB,IAAI;4BACJ,eAAe;4BACf,YAAY,EAAE,SAAS,CAAC,YAAY;4BACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ;4BAC5B,gBAAgB,EAAE,KAAK,CAAC,qBAAqB;4BAC7C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;4BACpD,eAAe,EAAE,KAAK,CAAC,oBAAoB;4BAC3C,iBAAiB,EAAE,KAAK,CAAC,sBAAsB;yBAChD,CAAC;qBACH,CAAC,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC;wBACf,IAAI;wBACJ,eAAe;qBAChB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS;oBACT,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC/B,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,gCAAa,CAAC,IAAI;wBAC3B,UAAU,EAAE,iCAAc,CAAC,OAAO;wBAClC,YAAY,EAAE,mCAAgB,CAAC,IAAI;wBACnC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS;wBAC1D,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,SAAS,CAAC,YAAY;wBAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;4BACtB,YAAY,EAAE,SAAS,CAAC,YAAY;4BACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ;yBAC7B,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAES,aAAa,CAAC,eAAuB,EAAE,aAAqB,EAAE,YAAoB;QAC1F,MAAM,UAAU,GAAG,IAAA,kBAAW,EAAC,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7G,MAAM,kBAAkB,GAAG,UAAU;aAClC,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAE,CAAC;gBACjF,OAAO,IAAI,kBAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACjG,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAYS,kBAAkB,CAAC,GAAW,EAAE,MAAe;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,QAAQ,IAAI,iCAAc,CAAC,OAAO;YACzC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,qBAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAC3G,CAAC;IACJ,CAAC;;AA1lBH,4CA2lBC;AA1lBiB,oDAAmC,GAAG,qBAAqB,AAAxB,CAAyB;AAGlE;IADT,IAAA,cAAS,EAAC,6BAAoB,CAAC;sCACD,2CAAmB;6DAAC;AAGzC;IADT,IAAA,cAAS,EAAC,4BAAS,CAAC;;mDACU;AAGZ;IADlB,IAAA,cAAS,EAAC,mCAAsB,CAAC;sCACA,mCAAsB;uDAAC;AAGxC;IADhB,IAAA,cAAS,EAAC,+BAAsB,CAAC;;2DACqB;AAGtC;IADhB,IAAA,cAAS,EAAC,4BAAc,CAAC;;uDACqB;AAG9B;IADhB,IAAA,cAAS,EAAC,qCAA2B,CAAC;;oEACkC;AAGxD;IADhB,IAAA,cAAS,EAAC,8BAAW,CAAC;;oDACkB;AAyEzC;IADC,IAAA,0BAAO,EAAC,+BAAqB,CAAC;;6CACL,+BAAqB;;0DAO9C;AAGK;IADL,IAAA,0BAAO,EAAC,8BAAoB,CAAC;;6CACC,8BAAoB;;yDAgBlD"}
|
|
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": "
|
|
66
|
+
"gitHead": "8f0f4598a7fb17dcb5546928a4da0a1c45363e14"
|
|
67
67
|
}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
|
-
import {
|
|
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
|
-
|
|
318
|
-
|
|
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;
|
|
340
|
-
const deferred = new Deferred<{ result?: { diff: 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
|
-
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
598
|
+
rangesFromDiffHunk,
|
|
578
599
|
});
|
|
579
600
|
} else {
|
|
580
601
|
// 用户全部取消
|