@opensumi/ide-ai-native 3.7.2-next-1740389792.0 → 3.8.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.
Files changed (43) hide show
  1. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  2. package/lib/browser/ai-core.contribution.js +4 -0
  3. package/lib/browser/ai-core.contribution.js.map +1 -1
  4. package/lib/browser/contrib/intelligent-completions/index.d.ts +12 -7
  5. package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -1
  6. package/lib/browser/contrib/intelligent-completions/index.js +13 -2
  7. package/lib/browser/contrib/intelligent-completions/index.js.map +1 -1
  8. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts +2 -7
  9. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts.map +1 -1
  10. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js +6 -106
  11. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js.map +1 -1
  12. package/lib/browser/contrib/intelligent-completions/view/base.d.ts +18 -0
  13. package/lib/browser/contrib/intelligent-completions/view/base.d.ts.map +1 -0
  14. package/lib/browser/contrib/intelligent-completions/view/base.js +18 -0
  15. package/lib/browser/contrib/intelligent-completions/view/base.js.map +1 -0
  16. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.d.ts +19 -0
  17. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.d.ts.map +1 -0
  18. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.js +67 -0
  19. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.js.map +1 -0
  20. package/lib/browser/contrib/intelligent-completions/view/default.d.ts +11 -0
  21. package/lib/browser/contrib/intelligent-completions/view/default.d.ts.map +1 -0
  22. package/lib/browser/contrib/intelligent-completions/view/default.js +104 -0
  23. package/lib/browser/contrib/intelligent-completions/view/default.js.map +1 -0
  24. package/lib/browser/contrib/intelligent-completions/view/legacy.d.ts +16 -0
  25. package/lib/browser/contrib/intelligent-completions/view/legacy.d.ts.map +1 -0
  26. package/lib/browser/contrib/intelligent-completions/view/legacy.js +126 -0
  27. package/lib/browser/contrib/intelligent-completions/view/legacy.js.map +1 -0
  28. package/lib/browser/preferences/schema.d.ts.map +1 -1
  29. package/lib/browser/preferences/schema.js +7 -0
  30. package/lib/browser/preferences/schema.js.map +1 -1
  31. package/lib/browser/widget/inline-hint/inline-hint.controller.d.ts.map +1 -1
  32. package/lib/browser/widget/inline-hint/inline-hint.controller.js +4 -2
  33. package/lib/browser/widget/inline-hint/inline-hint.controller.js.map +1 -1
  34. package/package.json +23 -23
  35. package/src/browser/ai-core.contribution.ts +4 -0
  36. package/src/browser/contrib/intelligent-completions/index.ts +27 -8
  37. package/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts +10 -165
  38. package/src/browser/contrib/intelligent-completions/view/base.ts +31 -0
  39. package/src/browser/contrib/intelligent-completions/view/code-edits-previewer.ts +69 -0
  40. package/src/browser/contrib/intelligent-completions/view/default.ts +146 -0
  41. package/src/browser/contrib/intelligent-completions/view/legacy.ts +182 -0
  42. package/src/browser/preferences/schema.ts +8 -0
  43. package/src/browser/widget/inline-hint/inline-hint.controller.ts +5 -1
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultCodeEditsView = void 0;
4
+ const ide_monaco_1 = require("@opensumi/ide-monaco");
5
+ const observable_1 = require("@opensumi/ide-monaco/lib/common/observable");
6
+ const equals_1 = require("@opensumi/monaco-editor-core/esm/vs/base/common/equals");
7
+ const inlineCompletionsController_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController");
8
+ const inlineCompletionsSource_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource");
9
+ const provideInlineCompletions_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions");
10
+ const base_1 = require("./base");
11
+ /**
12
+ * copy from @opensumi/monaco-editor-core/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions
13
+ */
14
+ class UpdateRequest {
15
+ constructor(position, context, versionId) {
16
+ this.position = position;
17
+ this.context = context;
18
+ this.versionId = versionId;
19
+ }
20
+ satisfies(other) {
21
+ return (this.position.equals(other.position) &&
22
+ (0, equals_1.equalsIfDefined)(this.context.selectedSuggestionInfo, other.context.selectedSuggestionInfo, (0, equals_1.itemEquals)()) &&
23
+ (other.context.triggerKind === ide_monaco_1.InlineCompletionTriggerKind.Automatic ||
24
+ this.context.triggerKind === ide_monaco_1.InlineCompletionTriggerKind.Explicit) &&
25
+ this.versionId === other.versionId);
26
+ }
27
+ get isExplicitRequest() {
28
+ return this.context.triggerKind === ide_monaco_1.InlineCompletionTriggerKind.Explicit;
29
+ }
30
+ }
31
+ class DefaultCodeEditsView extends base_1.BaseCodeEditsView {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.monacoCompletionsModel = (0, observable_1.derived)(this, (reader) => {
35
+ const inlineCompletionsController = inlineCompletionsController_1.InlineCompletionsController.get(this.monacoEditor);
36
+ if (!inlineCompletionsController) {
37
+ return;
38
+ }
39
+ return inlineCompletionsController.model.read(reader);
40
+ });
41
+ this.monacoCompletionsSource = (0, observable_1.derived)(this, (reader) => {
42
+ const model = this.monacoCompletionsModel.read(reader);
43
+ if (!model) {
44
+ return;
45
+ }
46
+ const source = model['_source'];
47
+ return source;
48
+ });
49
+ }
50
+ render(completionModel) {
51
+ const source = this.monacoCompletionsSource.get();
52
+ if (!source) {
53
+ return;
54
+ }
55
+ (0, observable_1.asyncTransaction)(async (tx) => {
56
+ var _a;
57
+ const position = (_a = this.editorObs.positions.get()) === null || _a === void 0 ? void 0 : _a[0];
58
+ if (!position) {
59
+ return;
60
+ }
61
+ const model = this.editorObs.model.get();
62
+ if (!model) {
63
+ return;
64
+ }
65
+ const versionId = this.editorObs.versionId.get();
66
+ const context = {
67
+ triggerKind: ide_monaco_1.InlineCompletionTriggerKind.Automatic,
68
+ selectedSuggestionInfo: undefined,
69
+ includeInlineCompletions: false,
70
+ includeInlineEdits: true,
71
+ };
72
+ const request = new UpdateRequest(position, context, versionId);
73
+ const inlineEdits = await (0, provideInlineCompletions_1.provideInlineCompletions)({
74
+ all: () => [
75
+ {
76
+ provideInlineCompletions: () => { },
77
+ provideInlineEditsForRange(model, range, context, token) {
78
+ return completionModel;
79
+ },
80
+ freeInlineCompletions: () => [],
81
+ },
82
+ ],
83
+ }, ide_monaco_1.Range.lift(completionModel.range), model, context);
84
+ const completions = new inlineCompletionsSource_1.UpToDateInlineCompletions(inlineEdits, request, model, this.editorObs.versionId, (0, observable_1.constObservable)(1000));
85
+ source.inlineCompletions.set(completions, tx);
86
+ });
87
+ }
88
+ accept() {
89
+ const model = this.monacoCompletionsModel.get();
90
+ model === null || model === void 0 ? void 0 : model.accept();
91
+ }
92
+ discard() {
93
+ const model = this.monacoCompletionsModel.get();
94
+ (0, observable_1.transaction)((tx) => {
95
+ model === null || model === void 0 ? void 0 : model.stop('explicitCancel', tx);
96
+ });
97
+ }
98
+ hide() {
99
+ var _a, _b;
100
+ (_b = (_a = this.monacoCompletionsSource.get()) === null || _a === void 0 ? void 0 : _a.inlineCompletions) === null || _b === void 0 ? void 0 : _b.set(undefined, undefined);
101
+ }
102
+ }
103
+ exports.DefaultCodeEditsView = DefaultCodeEditsView;
104
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/view/default.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { CodeEditsResultValue } from '../index';
2
+ import { BaseCodeEditsView } from './base';
3
+ export declare class LegacyCodeEditsView extends BaseCodeEditsView {
4
+ private get model();
5
+ private multiLineDecorationModel;
6
+ private additionsDeletionsDecorationModel;
7
+ private rewriteWidget;
8
+ protected mount(): void;
9
+ private destroyRewriteWidget;
10
+ private renderRewriteWidget;
11
+ render(completionModel: CodeEditsResultValue): void;
12
+ accept(): void;
13
+ discard(): void;
14
+ hide(): void;
15
+ }
16
+ //# sourceMappingURL=legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/view/legacy.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,CAAC,wBAAwB,CAA6E;IAC7G,OAAO,CAAC,iCAAiC,CAEvC;IACF,OAAO,CAAC,aAAa,CAAuB;IAE5C,SAAS,CAAC,KAAK,IAAI,IAAI;IAYvB,OAAO,CAAC,oBAAoB;YAOd,mBAAmB;IA2C1B,MAAM,CAAC,eAAe,EAAE,oBAAoB,GAAG,IAAI;IA2DnD,MAAM,IAAI,IAAI;IAuBd,OAAO,IAAI,IAAI;IAIf,IAAI,IAAI,IAAI;CAKpB"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LegacyCodeEditsView = void 0;
4
+ const ide_monaco_1 = require("@opensumi/ide-monaco");
5
+ const ide_utils_1 = require("@opensumi/ide-utils");
6
+ const strings_1 = require("@opensumi/ide-utils/lib/strings");
7
+ const rewrite_widget_1 = require("../../../widget/rewrite/rewrite-widget");
8
+ const additions_deletions_decoration_1 = require("../decoration/additions-deletions.decoration");
9
+ const multi_line_decoration_1 = require("../decoration/multi-line.decoration");
10
+ const diff_computer_1 = require("../diff-computer");
11
+ const base_1 = require("./base");
12
+ class LegacyCodeEditsView extends base_1.BaseCodeEditsView {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.multiLineDecorationModel = new multi_line_decoration_1.MultiLineDecorationModel(this.monacoEditor);
16
+ this.additionsDeletionsDecorationModel = new additions_deletions_decoration_1.AdditionsDeletionsDecorationModel(this.monacoEditor);
17
+ }
18
+ get model() {
19
+ return this.monacoEditor.getModel();
20
+ }
21
+ mount() {
22
+ this.addDispose(ide_utils_1.Event.any(this.monacoEditor.onDidChangeCursorPosition, this.monacoEditor.onDidChangeModelContent, this.monacoEditor.onDidBlurEditorWidget)(() => {
23
+ this.additionsDeletionsDecorationModel.clearAdditionsDecorations();
24
+ }));
25
+ }
26
+ destroyRewriteWidget() {
27
+ if (this.rewriteWidget) {
28
+ this.rewriteWidget.dispose();
29
+ this.rewriteWidget = null;
30
+ }
31
+ }
32
+ async renderRewriteWidget(wordChanges, model, range, insertTextString) {
33
+ this.destroyRewriteWidget();
34
+ const cursorPosition = this.monacoEditor.getPosition();
35
+ if (!cursorPosition) {
36
+ return;
37
+ }
38
+ this.rewriteWidget = this.injector.get(rewrite_widget_1.RewriteWidget, [this.monacoEditor]);
39
+ const startOffset = this.model.getOffsetAt({ lineNumber: range.startLineNumber, column: range.startColumn });
40
+ const endOffset = this.model.getOffsetAt({ lineNumber: range.endLineNumber, column: range.endColumn });
41
+ const allText = this.model.getValue();
42
+ // 这里是为了能在 rewrite widget 的 editor 当中完整的复用代码高亮与语法检测的能力
43
+ const newVirtualContent = allText.substring(0, startOffset) + insertTextString + allText.substring(endOffset);
44
+ const lineChangesMap = (0, diff_computer_1.wordChangesToLineChangesMap)(wordChanges, range, model);
45
+ await this.rewriteWidget.defered.promise;
46
+ const allLineChanges = Object.values(lineChangesMap).map((lineChanges) => ({
47
+ changes: lineChanges
48
+ .map((change) => change.filter((item) => item.value.trim() !== strings_1.empty))
49
+ .filter((change) => change.length > 0),
50
+ }));
51
+ this.rewriteWidget.setInsertText(insertTextString);
52
+ this.rewriteWidget.show({ position: cursorPosition });
53
+ this.rewriteWidget.setEditArea(range);
54
+ if (allLineChanges.every(({ changes }) => changes.every((change) => change.every(({ removed }) => removed)))) {
55
+ // 处理全是删除的情况
56
+ this.rewriteWidget.renderTextLineThrough(allLineChanges);
57
+ }
58
+ else {
59
+ this.rewriteWidget.renderVirtualEditor(newVirtualContent, wordChanges);
60
+ }
61
+ }
62
+ render(completionModel) {
63
+ const { items } = completionModel;
64
+ const { range, insertText } = items[0];
65
+ // code edits 必须提供 range
66
+ if (!range) {
67
+ return;
68
+ }
69
+ const position = this.monacoEditor.getPosition();
70
+ const model = this.monacoEditor.getModel();
71
+ const insertTextString = insertText.toString();
72
+ const originalContent = model === null || model === void 0 ? void 0 : model.getValueInRange(range);
73
+ const eol = this.model.getEOL();
74
+ const changes = (0, diff_computer_1.computeMultiLineDiffChanges)(originalContent, insertTextString, this.monacoEditor, range.startLineNumber, eol);
75
+ if (!changes) {
76
+ return;
77
+ }
78
+ const { singleLineCharChanges, charChanges, wordChanges, isOnlyAddingToEachWord } = changes;
79
+ // 限制 changes 数量,超过这个数量直接显示智能重写
80
+ const maxCharChanges = 20;
81
+ const maxWordChanges = 20;
82
+ if (range &&
83
+ isOnlyAddingToEachWord &&
84
+ charChanges.length <= maxCharChanges &&
85
+ wordChanges.length <= maxWordChanges) {
86
+ const modificationsResult = this.multiLineDecorationModel.applyInlineDecorations(this.monacoEditor, (0, diff_computer_1.mergeMultiLineDiffChanges)(singleLineCharChanges, eol), range.startLineNumber, position);
87
+ this.multiLineDecorationModel.clearDecorations();
88
+ if (!modificationsResult) {
89
+ this.renderRewriteWidget(wordChanges, model, range, insertTextString);
90
+ }
91
+ else if (modificationsResult && modificationsResult.inlineMods) {
92
+ this.multiLineDecorationModel.updateLineModificationDecorations(modificationsResult.inlineMods);
93
+ }
94
+ }
95
+ else {
96
+ this.additionsDeletionsDecorationModel.updateDeletionsDecoration(wordChanges, range, eol);
97
+ this.renderRewriteWidget(wordChanges, model, range, insertTextString);
98
+ }
99
+ }
100
+ accept() {
101
+ this.multiLineDecorationModel.accept();
102
+ if (this.rewriteWidget) {
103
+ this.rewriteWidget.accept();
104
+ const virtualEditor = this.rewriteWidget.getVirtualEditor();
105
+ // 采纳完之后将 virtualEditor 的 decorations 重新映射在 editor 上
106
+ if (virtualEditor) {
107
+ const editArea = this.rewriteWidget.getEditArea();
108
+ const decorations = virtualEditor.getDecorationsInRange(ide_monaco_1.Range.lift(editArea));
109
+ const preAddedDecorations = decorations === null || decorations === void 0 ? void 0 : decorations.filter((decoration) => decoration.options.description === rewrite_widget_1.REWRITE_DECORATION_INLINE_ADD);
110
+ if (preAddedDecorations) {
111
+ this.additionsDeletionsDecorationModel.updateAdditionsDecoration(preAddedDecorations.map((decoration) => decoration.range));
112
+ }
113
+ }
114
+ }
115
+ }
116
+ discard() {
117
+ this.hide();
118
+ }
119
+ hide() {
120
+ this.multiLineDecorationModel.clearDecorations();
121
+ this.additionsDeletionsDecorationModel.clearDeletionsDecorations();
122
+ this.destroyRewriteWidget();
123
+ }
124
+ }
125
+ exports.LegacyCodeEditsView = LegacyCodeEditsView;
126
+ //# sourceMappingURL=legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/view/legacy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGzF,oBAAY,sBAAsB;IAChC,UAAU,eAAe;IACzB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,wBAAwB,EAAE,gBA0HtC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKzF,oBAAY,sBAAsB;IAChC,UAAU,eAAe;IACzB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAgItC,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.aiNativePreferenceSchema = exports.EInlineDiffPreviewMode = void 0;
4
4
  const ide_core_browser_1 = require("@opensumi/ide-core-browser");
5
5
  const ide_core_common_1 = require("@opensumi/ide-core-common");
6
+ const intelligent_completions_1 = require("../contrib/intelligent-completions");
6
7
  var EInlineDiffPreviewMode;
7
8
  (function (EInlineDiffPreviewMode) {
8
9
  EInlineDiffPreviewMode["inlineLive"] = "inlineLive";
@@ -60,6 +61,12 @@ exports.aiNativePreferenceSchema = {
60
61
  type: 'boolean',
61
62
  default: false,
62
63
  },
64
+ [ide_core_browser_1.AINativeSettingSectionsId.CodeEditsRenderType]: {
65
+ type: 'string',
66
+ default: intelligent_completions_1.CodeEditsRenderType.Default,
67
+ enum: [intelligent_completions_1.CodeEditsRenderType.Legacy, intelligent_completions_1.CodeEditsRenderType.Default],
68
+ description: (0, ide_core_common_1.localize)('preference.ai.native.codeEdits.renderType'),
69
+ },
63
70
  [ide_core_browser_1.AINativeSettingSectionsId.LLMModelSelection]: {
64
71
  type: 'string',
65
72
  default: 'deepseek',
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inline-hint.controller.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-hint/inline-hint.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAMlE,qBAAa,oBAAqB,SAAQ,4BAA4B;IACpE,gBAAuB,EAAE,mCAAmC;WAE9C,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI;IAInE,OAAO,KAAK,wBAAwB,GAEnC;IAED,KAAK,IAAI,WAAW;IAIpB,OAAO,CAAC,uBAAuB;CAyFhC"}
1
+ {"version":3,"file":"inline-hint.controller.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-hint/inline-hint.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAMlE,qBAAa,oBAAqB,SAAQ,4BAA4B;IACpE,gBAAuB,EAAE,mCAAmC;WAE9C,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI;IAInE,OAAO,KAAK,wBAAwB,GAEnC;IAED,KAAK,IAAI,WAAW;IAIpB,OAAO,CAAC,uBAAuB;CA6FhC"}
@@ -27,11 +27,13 @@ class InlineHintController extends base_1.BaseAIMonacoEditorController {
27
27
  hintDisposable.dispose();
28
28
  };
29
29
  const showHint = (position) => {
30
- var _a;
31
30
  const model = monacoEditor.getModel();
32
31
  if (!model) {
33
32
  return;
34
33
  }
34
+ if (position.lineNumber > model.getLineCount()) {
35
+ return;
36
+ }
35
37
  if (this.inlineCompletionsService.isVisibleCompletion) {
36
38
  return;
37
39
  }
@@ -39,7 +41,7 @@ class InlineHintController extends base_1.BaseAIMonacoEditorController {
39
41
  const hasPreviewDecoration = decorations.some((dec) => dec.options.description === internal_type_1.InlineInputPreviewDecorationID);
40
42
  if (!hasPreviewDecoration) {
41
43
  const inlineHintLineDecoration = this.injector.get(inline_hint_line_widget_1.InlineHintLineDecoration, [monacoEditor]);
42
- const lineContent = (_a = monacoEditor.getModel()) === null || _a === void 0 ? void 0 : _a.getLineContent(position.lineNumber);
44
+ const lineContent = model.getLineContent(position.lineNumber);
43
45
  if (!(lineContent === null || lineContent === void 0 ? void 0 : lineContent.trim())) {
44
46
  inlineHintLineDecoration.show(position);
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inline-hint.controller.js","sourceRoot":"","sources":["../../../../src/browser/widget/inline-hint/inline-hint.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline-hint.controller.js","sourceRoot":"","sources":["../../../../src/browser/widget/inline-hint/inline-hint.controller.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.7.2-next-1740389792.0",
3
+ "version": "3.8.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -23,26 +23,26 @@
23
23
  "@ai-sdk/deepseek": "^0.1.8",
24
24
  "@ai-sdk/openai": "^1.1.9",
25
25
  "@modelcontextprotocol/sdk": "^1.3.1",
26
- "@opensumi/ide-addons": "3.7.2-next-1740389792.0",
27
- "@opensumi/ide-components": "3.7.2-next-1740389792.0",
28
- "@opensumi/ide-connection": "3.7.2-next-1740389792.0",
29
- "@opensumi/ide-core-common": "3.7.2-next-1740389792.0",
30
- "@opensumi/ide-core-node": "3.7.2-next-1740389792.0",
31
- "@opensumi/ide-debug": "3.7.2-next-1740389792.0",
32
- "@opensumi/ide-design": "3.7.2-next-1740389792.0",
33
- "@opensumi/ide-editor": "3.7.2-next-1740389792.0",
34
- "@opensumi/ide-file-search": "3.7.2-next-1740389792.0",
35
- "@opensumi/ide-file-service": "3.7.2-next-1740389792.0",
36
- "@opensumi/ide-main-layout": "3.7.2-next-1740389792.0",
37
- "@opensumi/ide-markers": "3.7.2-next-1740389792.0",
38
- "@opensumi/ide-monaco": "3.7.2-next-1740389792.0",
39
- "@opensumi/ide-overlay": "3.7.2-next-1740389792.0",
40
- "@opensumi/ide-preferences": "3.7.2-next-1740389792.0",
41
- "@opensumi/ide-search": "3.7.2-next-1740389792.0",
42
- "@opensumi/ide-terminal-next": "3.7.2-next-1740389792.0",
43
- "@opensumi/ide-theme": "3.7.2-next-1740389792.0",
44
- "@opensumi/ide-utils": "3.7.2-next-1740389792.0",
45
- "@opensumi/ide-workspace": "3.7.2-next-1740389792.0",
26
+ "@opensumi/ide-addons": "3.8.0",
27
+ "@opensumi/ide-components": "3.8.0",
28
+ "@opensumi/ide-connection": "3.8.0",
29
+ "@opensumi/ide-core-common": "3.8.0",
30
+ "@opensumi/ide-core-node": "3.8.0",
31
+ "@opensumi/ide-debug": "3.8.0",
32
+ "@opensumi/ide-design": "3.8.0",
33
+ "@opensumi/ide-editor": "3.8.0",
34
+ "@opensumi/ide-file-search": "3.8.0",
35
+ "@opensumi/ide-file-service": "3.8.0",
36
+ "@opensumi/ide-main-layout": "3.8.0",
37
+ "@opensumi/ide-markers": "3.8.0",
38
+ "@opensumi/ide-monaco": "3.8.0",
39
+ "@opensumi/ide-overlay": "3.8.0",
40
+ "@opensumi/ide-preferences": "3.8.0",
41
+ "@opensumi/ide-search": "3.8.0",
42
+ "@opensumi/ide-terminal-next": "3.8.0",
43
+ "@opensumi/ide-theme": "3.8.0",
44
+ "@opensumi/ide-utils": "3.8.0",
45
+ "@opensumi/ide-workspace": "3.8.0",
46
46
  "@xterm/xterm": "5.5.0",
47
47
  "ai": "^4.1.21",
48
48
  "ansi-regex": "^2.0.0",
@@ -57,7 +57,7 @@
57
57
  "zod-to-json-schema": "^3.24.1"
58
58
  },
59
59
  "devDependencies": {
60
- "@opensumi/ide-core-browser": "3.7.2-next-1740389792.0"
60
+ "@opensumi/ide-core-browser": "3.8.0"
61
61
  },
62
- "gitHead": "c6c8bce9bd2b03fc2131b9d8c6c9e4c84be1b4bd"
62
+ "gitHead": "83d7b2e19fced880459642d4b62d02516781b373"
63
63
  }
@@ -424,6 +424,10 @@ export class AINativeBrowserContribution
424
424
  id: AINativeSettingSectionsId.CodeEditsTyping,
425
425
  localized: 'preference.ai.native.codeEdits.typing',
426
426
  },
427
+ {
428
+ id: AINativeSettingSectionsId.CodeEditsRenderType,
429
+ localized: 'preference.ai.native.codeEdits.renderType',
430
+ },
427
431
  {
428
432
  id: AINativeSettingSectionsId.SystemPrompt,
429
433
  localized: 'preference.ai.native.chat.system.prompt',
@@ -1,11 +1,22 @@
1
1
  import { Disposable, ECodeEditsSourceTyping } from '@opensumi/ide-core-common';
2
- import { IModelContentChangedEvent, IPosition, IRange, InlineCompletion } from '@opensumi/ide-monaco';
2
+ import {
3
+ IModelContentChangedEvent,
4
+ IPosition,
5
+ IRange,
6
+ InlineCompletion,
7
+ InlineCompletions,
8
+ } from '@opensumi/ide-monaco';
3
9
 
4
10
  import { ITriggerData } from './source/trigger.source';
5
11
 
6
12
  import type { ILineChangeData } from './source/line-change.source';
7
13
  import type { ILinterErrorData } from './source/lint-error.source';
8
14
 
15
+ export enum CodeEditsRenderType {
16
+ Legacy = 'legacy',
17
+ Default = 'default',
18
+ }
19
+
9
20
  /**
10
21
  * 有效弃用时间(毫秒)
11
22
  * 在可见的情况下超过 750ms 弃用才算有效数据,否则视为无效数据
@@ -31,7 +42,7 @@ export interface ICodeEditsContextBean {
31
42
  };
32
43
  }
33
44
 
34
- export interface ICodeEdit {
45
+ export interface ICodeEdit extends InlineCompletion {
35
46
  /**
36
47
  * 插入的文本
37
48
  */
@@ -41,16 +52,24 @@ export interface ICodeEdit {
41
52
  */
42
53
  readonly range: IRange;
43
54
  }
44
- export interface ICodeEditsResult {
45
- readonly items: ICodeEdit[];
55
+
56
+ export interface ICodeEditsResult<T extends ICodeEdit = ICodeEdit> extends InlineCompletions<T> {
57
+ readonly items: readonly T[];
46
58
  }
47
59
 
48
- export class CodeEditsResultValue extends Disposable {
49
- constructor(private readonly raw: ICodeEditsResult) {
60
+ export class CodeEditsResultValue<T extends ICodeEdit = ICodeEdit> extends Disposable {
61
+ constructor(private readonly raw: ICodeEditsResult<T>) {
50
62
  super();
51
63
  }
52
64
 
53
- public get items(): ICodeEdit[] {
54
- return this.raw.items;
65
+ public get items(): T[] {
66
+ return this.raw.items.map((item) => ({
67
+ ...item,
68
+ isInlineEdit: true,
69
+ }));
70
+ }
71
+
72
+ public get range(): IRange {
73
+ return this.raw.items[0].range;
55
74
  }
56
75
  }