@opensumi/ide-ai-native 3.2.4 → 3.2.5-next-1724062137.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 (181) hide show
  1. package/lib/browser/ai-core.contribution.d.ts +1 -0
  2. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  3. package/lib/browser/ai-core.contribution.js +14 -25
  4. package/lib/browser/ai-core.contribution.js.map +1 -1
  5. package/lib/browser/ai-editor.contribution.d.ts +1 -0
  6. package/lib/browser/ai-editor.contribution.d.ts.map +1 -1
  7. package/lib/browser/ai-editor.contribution.js +8 -0
  8. package/lib/browser/ai-editor.contribution.js.map +1 -1
  9. package/lib/browser/chat/chat-agent.service.d.ts +1 -0
  10. package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
  11. package/lib/browser/chat/chat-agent.service.js +1 -3
  12. package/lib/browser/chat/chat-agent.service.js.map +1 -1
  13. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  14. package/lib/browser/chat/chat.view.js +22 -4
  15. package/lib/browser/chat/chat.view.js.map +1 -1
  16. package/lib/browser/components/ChatEditor.d.ts +2 -1
  17. package/lib/browser/components/ChatEditor.d.ts.map +1 -1
  18. package/lib/browser/components/ChatEditor.js +8 -8
  19. package/lib/browser/components/ChatEditor.js.map +1 -1
  20. package/lib/browser/components/ChatMarkdown.d.ts +1 -0
  21. package/lib/browser/components/ChatMarkdown.d.ts.map +1 -1
  22. package/lib/browser/components/ChatMarkdown.js +2 -2
  23. package/lib/browser/components/ChatMarkdown.js.map +1 -1
  24. package/lib/browser/components/ChatThinking.d.ts.map +1 -1
  25. package/lib/browser/components/ChatThinking.js +2 -2
  26. package/lib/browser/components/ChatThinking.js.map +1 -1
  27. package/lib/browser/contextkey/ai-native.contextkey.service.d.ts +1 -0
  28. package/lib/browser/contextkey/ai-native.contextkey.service.d.ts.map +1 -1
  29. package/lib/browser/contextkey/ai-native.contextkey.service.js +1 -0
  30. package/lib/browser/contextkey/ai-native.contextkey.service.js.map +1 -1
  31. package/lib/browser/contrib/inline-completions/completeProvider.d.ts +4 -31
  32. package/lib/browser/contrib/inline-completions/completeProvider.d.ts.map +1 -1
  33. package/lib/browser/contrib/inline-completions/completeProvider.js +3 -224
  34. package/lib/browser/contrib/inline-completions/completeProvider.js.map +1 -1
  35. package/lib/browser/contrib/inline-completions/inline-completions.handler.d.ts +1 -3
  36. package/lib/browser/contrib/inline-completions/inline-completions.handler.d.ts.map +1 -1
  37. package/lib/browser/contrib/inline-completions/inline-completions.handler.js +8 -20
  38. package/lib/browser/contrib/inline-completions/inline-completions.handler.js.map +1 -1
  39. package/lib/browser/contrib/inline-completions/model/competionModel.d.ts +2 -2
  40. package/lib/browser/contrib/inline-completions/model/competionModel.d.ts.map +1 -1
  41. package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.d.ts +28 -0
  42. package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.d.ts.map +1 -0
  43. package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js +210 -0
  44. package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js.map +1 -0
  45. package/lib/browser/contrib/inline-completions/promptCache.d.ts +3 -2
  46. package/lib/browser/contrib/inline-completions/promptCache.d.ts.map +1 -1
  47. package/lib/browser/contrib/inline-completions/promptCache.js.map +1 -1
  48. package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts +7 -6
  49. package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts.map +1 -1
  50. package/lib/browser/contrib/inline-completions/service/ai-completions.service.js +48 -25
  51. package/lib/browser/contrib/inline-completions/service/ai-completions.service.js.map +1 -1
  52. package/lib/browser/contrib/intelligent-completions/diff-computer.d.ts +18 -0
  53. package/lib/browser/contrib/intelligent-completions/diff-computer.d.ts.map +1 -0
  54. package/lib/browser/contrib/intelligent-completions/diff-computer.js +144 -0
  55. package/lib/browser/contrib/intelligent-completions/diff-computer.js.map +1 -0
  56. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts +8 -0
  57. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts.map +1 -0
  58. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js +47 -0
  59. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js.map +1 -0
  60. package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts +15 -0
  61. package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts.map +1 -0
  62. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts +8 -0
  63. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts.map +1 -0
  64. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js +19 -0
  65. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js.map +1 -0
  66. package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.d.ts +20 -0
  67. package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.d.ts.map +1 -0
  68. package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.js +94 -0
  69. package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.js.map +1 -0
  70. package/lib/browser/contrib/intelligent-completions/intelligent-completions.js +3 -0
  71. package/lib/browser/contrib/intelligent-completions/intelligent-completions.js.map +1 -0
  72. package/lib/browser/contrib/intelligent-completions/multi-line.decoration.d.ts +33 -0
  73. package/lib/browser/contrib/intelligent-completions/multi-line.decoration.d.ts.map +1 -0
  74. package/lib/browser/contrib/intelligent-completions/multi-line.decoration.js +258 -0
  75. package/lib/browser/contrib/intelligent-completions/multi-line.decoration.js.map +1 -0
  76. package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.d.ts +0 -1
  77. package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.d.ts.map +1 -1
  78. package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.js +0 -3
  79. package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.js.map +1 -1
  80. package/lib/browser/contrib/rename/rename.handler.d.ts.map +1 -1
  81. package/lib/browser/contrib/rename/rename.handler.js +1 -0
  82. package/lib/browser/contrib/rename/rename.handler.js.map +1 -1
  83. package/lib/browser/index.d.ts.map +1 -1
  84. package/lib/browser/index.js +7 -0
  85. package/lib/browser/index.js.map +1 -1
  86. package/lib/browser/layout/ai-layout.d.ts.map +1 -1
  87. package/lib/browser/layout/ai-layout.js +4 -4
  88. package/lib/browser/layout/ai-layout.js.map +1 -1
  89. package/lib/browser/model/enhanceDecorationsCollection.d.ts +38 -4
  90. package/lib/browser/model/enhanceDecorationsCollection.d.ts.map +1 -1
  91. package/lib/browser/model/enhanceDecorationsCollection.js +44 -23
  92. package/lib/browser/model/enhanceDecorationsCollection.js.map +1 -1
  93. package/lib/browser/types.d.ts +20 -13
  94. package/lib/browser/types.d.ts.map +1 -1
  95. package/lib/browser/types.js +0 -4
  96. package/lib/browser/types.js.map +1 -1
  97. package/lib/browser/widget/inline-chat/inline-chat.handler.d.ts.map +1 -1
  98. package/lib/browser/widget/inline-chat/inline-chat.handler.js +31 -12
  99. package/lib/browser/widget/inline-chat/inline-chat.handler.js.map +1 -1
  100. package/lib/browser/widget/inline-chat/inline-content-widget.d.ts +5 -2
  101. package/lib/browser/widget/inline-chat/inline-content-widget.d.ts.map +1 -1
  102. package/lib/browser/widget/inline-chat/inline-content-widget.js +45 -53
  103. package/lib/browser/widget/inline-chat/inline-content-widget.js.map +1 -1
  104. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +20 -14
  105. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
  106. package/lib/browser/widget/inline-diff/inline-diff-previewer.js +114 -46
  107. package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
  108. package/lib/browser/widget/inline-diff/inline-diff-widget.d.ts +5 -2
  109. package/lib/browser/widget/inline-diff/inline-diff-widget.d.ts.map +1 -1
  110. package/lib/browser/widget/inline-diff/inline-diff-widget.js +3 -0
  111. package/lib/browser/widget/inline-diff/inline-diff-widget.js.map +1 -1
  112. package/lib/browser/widget/inline-diff/inline-diff.handler.d.ts +13 -13
  113. package/lib/browser/widget/inline-diff/inline-diff.handler.d.ts.map +1 -1
  114. package/lib/browser/widget/inline-diff/inline-diff.handler.js +71 -76
  115. package/lib/browser/widget/inline-diff/inline-diff.handler.js.map +1 -1
  116. package/lib/browser/widget/inline-input/inline-input-widget.d.ts +1 -0
  117. package/lib/browser/widget/inline-input/inline-input-widget.d.ts.map +1 -1
  118. package/lib/browser/widget/inline-input/inline-input-widget.js +1 -0
  119. package/lib/browser/widget/inline-input/inline-input-widget.js.map +1 -1
  120. package/lib/browser/widget/inline-input/inline-input.handler.js +2 -2
  121. package/lib/browser/widget/inline-input/inline-input.handler.js.map +1 -1
  122. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +28 -15
  123. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
  124. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +52 -31
  125. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
  126. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.module.less +9 -6
  127. package/lib/browser/widget/inline-stream-diff/live-preview-stack.d.ts +21 -0
  128. package/lib/browser/widget/inline-stream-diff/live-preview-stack.d.ts.map +1 -0
  129. package/lib/browser/widget/inline-stream-diff/live-preview-stack.js +41 -0
  130. package/lib/browser/widget/inline-stream-diff/live-preview-stack.js.map +1 -0
  131. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts +105 -0
  132. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -0
  133. package/lib/browser/widget/inline-stream-diff/live-preview.component.js +237 -0
  134. package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -0
  135. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +27 -103
  136. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
  137. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +185 -369
  138. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  139. package/lib/common/index.d.ts +1 -0
  140. package/lib/common/index.d.ts.map +1 -1
  141. package/lib/common/index.js.map +1 -1
  142. package/package.json +19 -19
  143. package/src/browser/ai-core.contribution.ts +14 -28
  144. package/src/browser/ai-editor.contribution.ts +9 -0
  145. package/src/browser/chat/chat-agent.service.ts +1 -3
  146. package/src/browser/chat/chat.view.tsx +49 -4
  147. package/src/browser/components/ChatEditor.tsx +21 -7
  148. package/src/browser/components/ChatMarkdown.tsx +8 -2
  149. package/src/browser/components/ChatThinking.tsx +3 -1
  150. package/src/browser/contextkey/ai-native.contextkey.service.ts +3 -0
  151. package/src/browser/contrib/inline-completions/completeProvider.ts +7 -289
  152. package/src/browser/contrib/inline-completions/inline-completions.handler.ts +15 -22
  153. package/src/browser/contrib/inline-completions/model/competionModel.ts +3 -2
  154. package/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts +272 -0
  155. package/src/browser/contrib/inline-completions/promptCache.ts +3 -2
  156. package/src/browser/contrib/inline-completions/service/ai-completions.service.ts +55 -38
  157. package/src/browser/contrib/intelligent-completions/diff-computer.ts +185 -0
  158. package/src/browser/contrib/intelligent-completions/intelligent-completions.contribution.ts +54 -0
  159. package/src/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.ts +17 -0
  160. package/src/browser/contrib/intelligent-completions/intelligent-completions.handler.ts +130 -0
  161. package/src/browser/contrib/intelligent-completions/intelligent-completions.ts +15 -0
  162. package/src/browser/contrib/intelligent-completions/multi-line.decoration.ts +325 -0
  163. package/src/browser/contrib/merge-conflict/merge-conflict.feature.registry.ts +0 -4
  164. package/src/browser/contrib/rename/rename.handler.ts +1 -0
  165. package/src/browser/index.ts +8 -1
  166. package/src/browser/layout/ai-layout.tsx +7 -1
  167. package/src/browser/model/enhanceDecorationsCollection.ts +71 -34
  168. package/src/browser/types.ts +27 -14
  169. package/src/browser/widget/inline-chat/inline-chat.handler.ts +34 -19
  170. package/src/browser/widget/inline-chat/inline-content-widget.tsx +58 -61
  171. package/src/browser/widget/inline-diff/inline-diff-previewer.ts +118 -61
  172. package/src/browser/widget/inline-diff/inline-diff-widget.tsx +8 -2
  173. package/src/browser/widget/inline-diff/inline-diff.handler.ts +83 -92
  174. package/src/browser/widget/inline-input/inline-input-widget.tsx +1 -0
  175. package/src/browser/widget/inline-input/inline-input.handler.ts +2 -2
  176. package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +98 -44
  177. package/src/browser/widget/inline-stream-diff/inline-stream-diff.module.less +9 -6
  178. package/src/browser/widget/inline-stream-diff/live-preview-stack.ts +52 -0
  179. package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +388 -0
  180. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +243 -543
  181. package/src/common/index.ts +2 -0
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ var AcceptPartialEditWidget_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RemovedZoneWidget = exports.AcceptPartialEditWidget = exports.EPartialEdit = exports.PendingRangeDecoration = exports.AddedRangeDecoration = exports.ActiveLineDecoration = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
7
+ const react_1 = tslib_1.__importStar(require("react"));
8
+ const client_1 = tslib_1.__importDefault(require("react-dom/client"));
9
+ const di_1 = require("@opensumi/di");
10
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
11
+ const command_1 = require("@opensumi/ide-core-browser/lib/ai-native/command");
12
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
13
+ const BaseInlineContentWidget_1 = require("@opensumi/ide-monaco/lib/browser/ai-native/BaseInlineContentWidget");
14
+ const editor_1 = require("@opensumi/ide-monaco/lib/browser/monaco-exports/editor");
15
+ const editorOptions_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/config/editorOptions");
16
+ const zoneWidget_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget");
17
+ const index_1 = require("../ghost-text-widget/index");
18
+ const inline_stream_diff_module_less_1 = tslib_1.__importDefault(require("./inline-stream-diff.module.less"));
19
+ exports.ActiveLineDecoration = 'activeLine-decoration';
20
+ exports.AddedRangeDecoration = 'added-range-decoration';
21
+ exports.PendingRangeDecoration = 'pending-range-decoration';
22
+ var EPartialEdit;
23
+ (function (EPartialEdit) {
24
+ EPartialEdit["accept"] = "accept";
25
+ EPartialEdit["discard"] = "discard";
26
+ })(EPartialEdit = exports.EPartialEdit || (exports.EPartialEdit = {}));
27
+ const PartialEditComponent = (props) => {
28
+ const { keyStrings, onAccept, onDiscard, editor } = props;
29
+ const [scrollLeft, setScrollLeft] = react_1.default.useState(0);
30
+ const handleAccept = (0, react_1.useCallback)(() => {
31
+ onAccept === null || onAccept === void 0 ? void 0 : onAccept();
32
+ }, [onAccept]);
33
+ const handleDiscard = (0, react_1.useCallback)(() => {
34
+ onDiscard === null || onDiscard === void 0 ? void 0 : onDiscard();
35
+ }, [onDiscard]);
36
+ (0, ide_core_browser_1.useDisposable)(() => editor.onDidScrollChange((event) => {
37
+ const { scrollLeftChanged, scrollLeft } = event;
38
+ if (scrollLeftChanged) {
39
+ setScrollLeft(scrollLeft);
40
+ }
41
+ }), [editor]);
42
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)('kt-inline-diff-accept-partial-widget-container', inline_stream_diff_module_less_1.default.inline_diff_accept_partial_widget_container), style: { marginLeft: scrollLeft } },
43
+ react_1.default.createElement("div", { className: inline_stream_diff_module_less_1.default.content },
44
+ react_1.default.createElement("span", { className: (0, classnames_1.default)(inline_stream_diff_module_less_1.default.accept_btn, inline_stream_diff_module_less_1.default.btn), onClick: handleAccept }, keyStrings.acceptSequence),
45
+ react_1.default.createElement("span", { className: (0, classnames_1.default)(inline_stream_diff_module_less_1.default.discard_btn, inline_stream_diff_module_less_1.default.btn), onClick: handleDiscard }, keyStrings.discardSequence))));
46
+ };
47
+ let AcceptPartialEditWidget = AcceptPartialEditWidget_1 = class AcceptPartialEditWidget extends BaseInlineContentWidget_1.ReactInlineContentWidget {
48
+ constructor() {
49
+ super(...arguments);
50
+ this._onAccept = this.registerDispose(new ide_core_common_1.Emitter());
51
+ this.onAccept = this._onAccept.event;
52
+ this._onDiscard = this.registerDispose(new ide_core_common_1.Emitter());
53
+ this.onDiscard = this._onDiscard.event;
54
+ this.positionPreference = [editor_1.ContentWidgetPositionPreference.EXACT];
55
+ this.addedLinesCount = 0;
56
+ this.deletedLinesCount = 0;
57
+ this.status = 'pending';
58
+ }
59
+ get group() {
60
+ return this._group;
61
+ }
62
+ getSequenceKeyStrings() {
63
+ let keybindings = this.keybindingRegistry.getKeybindingsForCommand(command_1.AI_INLINE_DIFF_PARTIAL_EDIT.id);
64
+ keybindings = keybindings.sort((a, b) => b.args - a.args);
65
+ if (!keybindings || (keybindings.length !== 2 && keybindings.some((k) => (0, ide_core_common_1.isUndefined)(k.resolved)))) {
66
+ return;
67
+ }
68
+ return {
69
+ acceptSequence: this.keybindingRegistry.acceleratorForSequence(keybindings[0].resolved, '')[0],
70
+ discardSequence: this.keybindingRegistry.acceleratorForSequence(keybindings[1].resolved, '')[0],
71
+ };
72
+ }
73
+ renderView() {
74
+ const keyStrings = this.getSequenceKeyStrings();
75
+ if (!keyStrings) {
76
+ return;
77
+ }
78
+ return (react_1.default.createElement(PartialEditComponent, { keyStrings: keyStrings, onAccept: () => this._onAccept.fire(), onDiscard: () => this._onDiscard.fire(), editor: this.editor }));
79
+ }
80
+ id() {
81
+ if (!this._id) {
82
+ this._id = `${AcceptPartialEditWidget_1.ID}_${(0, ide_core_common_1.uuid)(4)}`;
83
+ }
84
+ return this._id;
85
+ }
86
+ getClassName() {
87
+ return inline_stream_diff_module_less_1.default.accept_partial_edit_widget_id;
88
+ }
89
+ recordDecorationId(id) {
90
+ this._decorationId = id;
91
+ }
92
+ getDecorationId() {
93
+ return this._decorationId;
94
+ }
95
+ resume() {
96
+ this.status = 'pending';
97
+ this.addedLinesCount = 0;
98
+ this.deletedLinesCount = 0;
99
+ super.resume();
100
+ }
101
+ setGroup(group) {
102
+ this._group = group;
103
+ }
104
+ accept(addedLinesCount, deletedLinesCount) {
105
+ this.status = 'accept';
106
+ this.addedLinesCount = addedLinesCount;
107
+ this.deletedLinesCount = deletedLinesCount;
108
+ super.hide();
109
+ }
110
+ get isAccepted() {
111
+ return this.status === 'accept';
112
+ }
113
+ discard(addedLinesCount, deletedLinesCount) {
114
+ this.status = 'discard';
115
+ this.addedLinesCount = addedLinesCount;
116
+ this.deletedLinesCount = deletedLinesCount;
117
+ super.hide();
118
+ }
119
+ get isRejected() {
120
+ return this.status === 'discard';
121
+ }
122
+ };
123
+ AcceptPartialEditWidget.ID = 'AcceptPartialEditWidgetID';
124
+ tslib_1.__decorate([
125
+ (0, di_1.Autowired)(ide_core_browser_1.KeybindingRegistry),
126
+ tslib_1.__metadata("design:type", Object)
127
+ ], AcceptPartialEditWidget.prototype, "keybindingRegistry", void 0);
128
+ AcceptPartialEditWidget = AcceptPartialEditWidget_1 = tslib_1.__decorate([
129
+ (0, di_1.Injectable)({ multiple: true })
130
+ ], AcceptPartialEditWidget);
131
+ exports.AcceptPartialEditWidget = AcceptPartialEditWidget;
132
+ const RemovedWidgetComponent = ({ dom, editor }) => {
133
+ const ref = react_1.default.useRef(null);
134
+ const [scrollLeft, setScrollLeft] = react_1.default.useState(0);
135
+ const [marginWidth, setMarginWidth] = react_1.default.useState(0);
136
+ (0, react_1.useEffect)(() => {
137
+ if (dom && ref && ref.current) {
138
+ ref.current.appendChild(dom);
139
+ }
140
+ }, [dom, ref]);
141
+ (0, ide_core_browser_1.useDisposable)(() => editor.onDidScrollChange((event) => {
142
+ const { scrollLeftChanged, scrollLeft } = event;
143
+ if (scrollLeftChanged) {
144
+ setScrollLeft(scrollLeft);
145
+ }
146
+ }), [editor]);
147
+ (0, ide_core_browser_1.useDisposable)(() => {
148
+ setMarginWidth(editor.getOption(editorOptions_1.EditorOption.layoutInfo).contentLeft);
149
+ return editor.onDidChangeConfiguration((event) => {
150
+ if (event.hasChanged(editorOptions_1.EditorOption.layoutInfo)) {
151
+ setMarginWidth(editor.getOption(editorOptions_1.EditorOption.layoutInfo).contentLeft);
152
+ }
153
+ });
154
+ }, [editor]);
155
+ return (react_1.default.createElement("div", { className: inline_stream_diff_module_less_1.default.inline_diff_remove_zone_fixed_box, style: { marginLeft: marginWidth + 'px' } },
156
+ react_1.default.createElement("div", { className: inline_stream_diff_module_less_1.default.inline_diff_remove_zone, ref: ref, style: { marginLeft: -scrollLeft + 'px' } })));
157
+ };
158
+ class RemovedZoneWidget extends zoneWidget_1.ZoneWidget {
159
+ get isHidden() {
160
+ return this._hidden;
161
+ }
162
+ get group() {
163
+ return this._group;
164
+ }
165
+ constructor(editor, textLines, options) {
166
+ super(editor, options);
167
+ this.textLines = textLines;
168
+ this._hidden = false;
169
+ if ((0, ide_core_common_1.isDefined)(options.isHidden)) {
170
+ this._hidden = options.isHidden;
171
+ }
172
+ if ((0, ide_core_common_1.isDefined)(options.recordPosition)) {
173
+ this._recordPosition = options.recordPosition;
174
+ }
175
+ if ((0, ide_core_common_1.isDefined)(options.undoRedoGroup)) {
176
+ this._group = options.undoRedoGroup;
177
+ }
178
+ // 监听 position 的位置变化
179
+ const positionMarkerId = this['_positionMarkerId'];
180
+ this._disposables.add(positionMarkerId.onDidChange((event) => {
181
+ const range = positionMarkerId.getRange(0);
182
+ if (range) {
183
+ this._recordPosition = range.getStartPosition();
184
+ }
185
+ }));
186
+ }
187
+ setGroup(group) {
188
+ this._group = group;
189
+ }
190
+ _fillContainer(container) {
191
+ container.classList.add(inline_stream_diff_module_less_1.default.inline_diff_remove_zone_widget_container);
192
+ this.root = client_1.default.createRoot(container);
193
+ }
194
+ getRemovedTextLines() {
195
+ return this.textLines.map((v) => v.text);
196
+ }
197
+ get height() {
198
+ return this.textLines.length;
199
+ }
200
+ getLastPosition() {
201
+ return this.position || this._recordPosition;
202
+ }
203
+ hide() {
204
+ this._hidden = true;
205
+ super.hide();
206
+ }
207
+ resume() {
208
+ const position = this.getLastPosition();
209
+ if (position) {
210
+ this.show(position, this.height);
211
+ }
212
+ }
213
+ show(pos, heightInLines) {
214
+ this._hidden = false;
215
+ super.show(pos, heightInLines);
216
+ }
217
+ revealRange() { }
218
+ create() {
219
+ super.create();
220
+ this.mountRender();
221
+ }
222
+ mountRender() {
223
+ const dom = document.createElement('div');
224
+ (0, index_1.renderLines)(dom, this.editor.getOption(editorOptions_1.EditorOption.tabIndex), this.textLines.map(({ text: content, lineTokens }) => ({
225
+ content,
226
+ decorations: [],
227
+ lineTokens,
228
+ })), this.editor.getOptions());
229
+ this.root.render(react_1.default.createElement(RemovedWidgetComponent, { dom: dom, editor: this.editor }));
230
+ }
231
+ dispose() {
232
+ this.root.unmount();
233
+ super.dispose();
234
+ }
235
+ }
236
+ exports.RemovedZoneWidget = RemovedZoneWidget;
237
+ //# sourceMappingURL=live-preview.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-preview.component.js","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/live-preview.component.tsx"],"names":[],"mappings":"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"}
@@ -1,116 +1,47 @@
1
- import React from 'react';
2
- import { Disposable, Emitter, Event, IPosition } from '@opensumi/ide-core-common';
3
- import { ICodeEditor, ITextModel, Selection } from '@opensumi/ide-monaco';
4
- import { ReactInlineContentWidget } from '@opensumi/ide-monaco/lib/browser/ai-native/BaseInlineContentWidget';
5
- import { URI } from '@opensumi/ide-monaco/lib/browser/monaco-api';
6
- import { ContentWidgetPositionPreference } from '@opensumi/ide-monaco/lib/browser/monaco-exports/editor';
1
+ import { Disposable, Emitter, Event } from '@opensumi/ide-core-common';
2
+ import { ICodeEditor, ITextModel } from '@opensumi/ide-monaco';
7
3
  import { LineRange } from '@opensumi/monaco-editor-core/esm/vs/editor/common/core/lineRange';
8
- import { LineTokens } from '@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/lineTokens';
9
- import { UndoRedoGroup } from '@opensumi/monaco-editor-core/esm/vs/platform/undoRedo/common/undoRedo';
10
- import { IDecorationSerializableState } from '../../model/enhanceDecorationsCollection';
11
- export declare enum EPartialEdit {
12
- accept = "accept",
13
- discard = "discard"
14
- }
15
- export interface IPartialEditEvent {
16
- uri: URI;
17
- /**
18
- * 总 diff 数
19
- */
20
- totalPartialEditCount: number;
21
- /**
22
- * 已处理的个数
23
- */
24
- resolvedPartialEditCount: number;
25
- /**
26
- * 已添加行数
27
- */
28
- totalAddedLinesCount: number;
29
- /**
30
- * 已删除行数
31
- */
32
- totalDeletedLinesCount: number;
33
- currentPartialEdit: {
34
- type: EPartialEdit;
35
- addedLinesCount: number;
36
- deletedLinesCount: number;
37
- };
38
- }
39
- export interface ITextLinesTokens {
40
- text: string;
41
- lineTokens: LineTokens;
42
- }
43
- type IWidgetStatus = 'accept' | 'discard' | 'pending';
44
- export interface IWidgetSerializedState {
45
- addedLinesCount: number;
46
- deletedLinesCount: number;
47
- status: IWidgetStatus;
48
- lineNumber: number;
49
- }
50
- export interface SerializableState {
51
- addedState: IDecorationSerializableState[];
52
- removedTextLines: IRemovedWidgetSerializedState[];
53
- widgets: IWidgetSerializedState[];
54
- selection: Selection;
55
- }
56
- export declare class AcceptPartialEditWidget extends ReactInlineContentWidget {
57
- static ID: string;
58
- private readonly keybindingRegistry;
59
- private _id;
60
- private _decorationId;
61
- private readonly _onAccept;
62
- readonly onAccept: Event<void>;
63
- private readonly _onDiscard;
64
- readonly onDiscard: Event<void>;
65
- positionPreference: ContentWidgetPositionPreference[];
66
- addedLinesCount: number;
67
- deletedLinesCount: number;
68
- status: IWidgetStatus;
69
- private getSequenceKeyStrings;
70
- renderView(): React.ReactNode;
71
- id(): string;
72
- getClassName(): string;
73
- recordDecorationId(id: string): void;
74
- getDecorationId(): string;
75
- resume(): void;
76
- accept(addedLinesCount: number, deletedLinesCount: number): void;
77
- get isAccepted(): boolean;
78
- discard(addedLinesCount: number, deletedLinesCount: number): void;
79
- get isRejected(): boolean;
80
- serializeState(): IWidgetSerializedState;
81
- restoreSerializedState(state: IWidgetSerializedState): void;
82
- }
83
- export interface IRemovedWidgetSerializedState {
84
- textLines: ITextLinesTokens[];
85
- position: IPosition;
4
+ import { ResourceEditStackSnapshot, UndoRedoGroup } from '@opensumi/monaco-editor-core/esm/vs/platform/undoRedo/common/undoRedo';
5
+ import { IDecorationSerializableState, IEnhanceModelDeltaDecoration } from '../../model/enhanceDecorationsCollection';
6
+ import { LivePreviewUndoRedoStackElement } from './live-preview-stack';
7
+ import { AcceptPartialEditWidget, IPartialEditEvent, IRemovedWidgetState, IRemovedZoneWidgetOptions, ITextLinesTokens, RemovedZoneWidget } from './live-preview.component';
8
+ export interface ILivePreviewDiffDecorationSnapshotData {
9
+ addedDecList: IEnhanceModelDeltaDecoration[];
10
+ partialEditWidgetList: AcceptPartialEditWidget[];
11
+ removedWidgetList: RemovedZoneWidget[];
12
+ editStackSnapshot: ResourceEditStackSnapshot;
13
+ zone: LineRange;
86
14
  }
87
15
  export declare class LivePreviewDiffDecorationModel extends Disposable {
88
16
  private readonly monacoEditor;
89
- private selection;
90
17
  private readonly injector;
91
18
  private readonly inlineStreamDiffService;
92
19
  private readonly _onPartialEditEvent;
93
20
  readonly onPartialEditEvent: Event<IPartialEditEvent>;
94
21
  private activeLineDec;
95
22
  private pendingRangeDec;
96
- private addedRangeDec;
97
- private partialEditWidgetList;
98
- private removedZoneWidgets;
99
- private undoRedoService;
100
- private zone;
101
23
  private aiNativeContextKey;
24
+ private undoRedoService;
102
25
  protected readonly _onPartialEditWidgetListChange: Emitter<AcceptPartialEditWidget[]>;
103
26
  readonly onPartialEditWidgetListChange: Event<AcceptPartialEditWidget[]>;
104
27
  protected model: ITextModel;
105
- constructor(monacoEditor: ICodeEditor, selection: Selection);
28
+ private addedRangeDec;
29
+ private partialEditWidgetList;
30
+ private removedZoneWidgets;
31
+ private zone;
32
+ constructor(monacoEditor: ICodeEditor);
106
33
  clear(): void;
107
- updateSelection(selection: Selection): void;
108
- showRemovedWidgetByLineNumber(lineNumber: number, texts: ITextLinesTokens[]): void;
34
+ initialize(zone: LineRange): void;
35
+ restoreSnapshot(snapshot: ILivePreviewDiffDecorationSnapshotData): void;
36
+ createSnapshot(): ILivePreviewDiffDecorationSnapshotData;
37
+ showRemovedWidgetByLineNumber(lineNumber: number, texts: ITextLinesTokens[], options: IRemovedZoneWidgetOptions): void;
109
38
  updateZone(newZone: LineRange): void;
110
39
  getZone(): LineRange;
111
40
  touchActiveLine(lineNumber: number): void;
112
41
  private doDiscardPartialWidget;
113
42
  private handlePartialEditAction;
43
+ private firePartialEditWidgetList;
44
+ createEditStackElement(group: UndoRedoGroup): LivePreviewUndoRedoStackElement;
114
45
  protected getTotalCodeCount(): {
115
46
  totalAddedLinesCount: number;
116
47
  totalDeletedLinesCount: number;
@@ -121,23 +52,16 @@ export declare class LivePreviewDiffDecorationModel extends Disposable {
121
52
  private recordPartialEditWidgetWithAddedDec;
122
53
  acceptUnProcessed(): void;
123
54
  discardUnProcessed(): void;
124
- pushUndoElement(data: {
125
- undo: () => void;
126
- redo: () => void;
127
- group?: UndoRedoGroup;
128
- }): void;
129
- touchPartialEditWidgets(startLineNumbers: number[]): void;
55
+ private createPartialEditWidget;
56
+ touchPartialEditWidgets(lineNumbers: number[]): void;
130
57
  touchAddedRange(ranges: IDecorationSerializableState[]): void;
131
- touchRemovedWidget(states: IRemovedWidgetSerializedState[]): void;
58
+ touchRemovedWidget(states: IRemovedWidgetState[]): void;
132
59
  touchPendingRange(range: LineRange): void;
133
60
  clearPendingLine(): void;
134
61
  clearActiveLine(): void;
135
62
  clearAddedLine(): void;
136
63
  clearPartialEditWidgetList(): void;
137
64
  clearRemovedWidgets(): void;
138
- serializeState(): SerializableState;
139
- restoreSerializedState(state: SerializableState): void;
140
65
  revealFirstDiff(): void;
141
66
  }
142
- export {};
143
67
  //# sourceMappingURL=live-preview.decoration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live-preview.decoration.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/live-preview.decoration.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-preview.decoration.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/live-preview.decoration.tsx"],"names":[],"mappings":"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"}