@opensumi/ide-ai-native 3.8.1-next-1741092802.0 → 3.8.1-next-1741093151.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 (64) hide show
  1. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  2. package/lib/browser/chat/chat-manager.service.js +4 -0
  3. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  4. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  5. package/lib/browser/chat/chat.view.js +7 -1
  6. package/lib/browser/chat/chat.view.js.map +1 -1
  7. package/lib/browser/components/chat-history.module.less +1 -0
  8. package/lib/browser/mcp/base-apply.service.d.ts +18 -7
  9. package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
  10. package/lib/browser/mcp/base-apply.service.js +185 -65
  11. package/lib/browser/mcp/base-apply.service.js.map +1 -1
  12. package/lib/browser/mcp/tools/components/EditFile.d.ts.map +1 -1
  13. package/lib/browser/mcp/tools/components/EditFile.js +15 -9
  14. package/lib/browser/mcp/tools/components/EditFile.js.map +1 -1
  15. package/lib/browser/mcp/tools/components/index.module.less +3 -0
  16. package/lib/browser/mcp/tools/createNewFileWithText.d.ts +1 -0
  17. package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
  18. package/lib/browser/mcp/tools/createNewFileWithText.js +18 -11
  19. package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
  20. package/lib/browser/mcp/tools/handlers/EditFile.js +1 -1
  21. package/lib/browser/mcp/tools/handlers/EditFile.js.map +1 -1
  22. package/lib/browser/model/msg-history-manager.d.ts +1 -0
  23. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  24. package/lib/browser/model/msg-history-manager.js +3 -0
  25. package/lib/browser/model/msg-history-manager.js.map +1 -1
  26. package/lib/browser/widget/inline-diff/inline-diff-manager.d.ts.map +1 -1
  27. package/lib/browser/widget/inline-diff/inline-diff-manager.js +68 -8
  28. package/lib/browser/widget/inline-diff/inline-diff-manager.js.map +1 -1
  29. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +10 -4
  30. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
  31. package/lib/browser/widget/inline-diff/inline-diff-previewer.js +14 -3
  32. package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
  33. package/lib/browser/widget/inline-diff/inline-diff-widget.module.less +25 -4
  34. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +3 -3
  35. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
  36. package/lib/browser/widget/inline-diff/inline-diff.controller.js +10 -5
  37. package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
  38. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +46 -17
  39. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
  40. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +110 -53
  41. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
  42. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +4 -0
  43. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
  44. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +26 -1
  45. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  46. package/lib/common/types.d.ts +1 -0
  47. package/lib/common/types.d.ts.map +1 -1
  48. package/package.json +23 -23
  49. package/src/browser/chat/chat-manager.service.ts +6 -0
  50. package/src/browser/chat/chat.view.tsx +7 -2
  51. package/src/browser/components/chat-history.module.less +1 -0
  52. package/src/browser/mcp/base-apply.service.ts +222 -67
  53. package/src/browser/mcp/tools/components/EditFile.tsx +16 -9
  54. package/src/browser/mcp/tools/components/index.module.less +3 -0
  55. package/src/browser/mcp/tools/createNewFileWithText.ts +20 -12
  56. package/src/browser/mcp/tools/handlers/EditFile.ts +1 -1
  57. package/src/browser/model/msg-history-manager.ts +4 -0
  58. package/src/browser/widget/inline-diff/inline-diff-manager.tsx +143 -21
  59. package/src/browser/widget/inline-diff/inline-diff-previewer.ts +25 -7
  60. package/src/browser/widget/inline-diff/inline-diff-widget.module.less +25 -4
  61. package/src/browser/widget/inline-diff/inline-diff.controller.ts +16 -8
  62. package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +139 -68
  63. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +30 -1
  64. package/src/common/types.ts +1 -0
@@ -1,6 +1,10 @@
1
+ import { Injector } from '@opensumi/di';
1
2
  import { Disposable, Emitter, Event } from '@opensumi/ide-core-browser';
2
- import { ICodeEditor, Range, Selection } from '@opensumi/ide-monaco';
3
+ import { ICodeEditor, ITextModel, Range, Selection } from '@opensumi/ide-monaco';
4
+ import { ISettableObservable } from '@opensumi/ide-monaco/lib/common/observable';
3
5
  import { LineRange } from '@opensumi/monaco-editor-core/esm/vs/editor/common/core/lineRange';
6
+ import { LineTokens } from '@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/lineTokens';
7
+ import { UndoRedoGroup } from '@opensumi/monaco-editor-core/esm/vs/platform/undoRedo/common/undoRedo';
4
8
  import { IDiffPreviewerOptions, IInlineDiffPreviewerNode } from '../inline-diff/inline-diff-previewer';
5
9
  import { LivePreviewDiffDecorationModel } from './live-preview.decoration';
6
10
  interface IRangeChangeData {
@@ -22,43 +26,50 @@ export declare enum EComputerMode {
22
26
  legacy = "legacy",
23
27
  default = "default"
24
28
  }
25
- export declare class InlineStreamDiffHandler extends Disposable implements IInlineDiffPreviewerNode {
26
- private readonly monacoEditor;
27
- private readonly injector;
29
+ /**
30
+ * Abstract base class for inline streaming diff handlers
31
+ */
32
+ export declare abstract class BaseInlineStreamDiffHandler extends Disposable implements IInlineDiffPreviewerNode {
33
+ protected readonly monacoEditor: ICodeEditor;
34
+ protected readonly injector: Injector;
28
35
  protected readonly _onDidEditChange: Emitter<void>;
29
36
  readonly onDidEditChange: Event<void>;
30
37
  protected readonly onDiffFinishedEmitter: Emitter<IComputeDiffData>;
31
38
  readonly onDiffFinished: Event<IComputeDiffData>;
32
39
  previewerOptions: IDiffPreviewerOptions;
33
- private originalModel;
34
- private virtualModel;
35
- private rawOriginalTextLines;
36
- private rawOriginalTextLinesTokens;
37
- private undoRedoGroup;
38
- private readonly diffModel;
39
- private readonly finallyDiffModel;
40
+ protected savedModel: ITextModel;
41
+ protected virtualModel: ITextModel;
42
+ protected rawSavedTextLines: string[];
43
+ protected rawOriginTextLinesTokens: LineTokens[] | undefined;
44
+ protected undoRedoGroup: UndoRedoGroup;
45
+ protected readonly finallyDiffModel: ISettableObservable<IComputeDiffData | undefined>;
40
46
  livePreviewDiffDecorationModel: LivePreviewDiffDecorationModel;
41
47
  get uri(): import("@opensumi/ide-monaco").Uri;
42
48
  constructor(monacoEditor: ICodeEditor);
43
49
  setPreviewerOptions(options: IDiffPreviewerOptions): void;
44
- initialize(selection: Selection): void;
50
+ abstract initialize(selection: Selection): void;
45
51
  getVirtualModelValue(): string;
46
52
  getOriginModelValue(): string;
47
53
  get onPartialEditWidgetListChange(): Event<import("./live-preview.component").AcceptPartialEditWidget[]>;
48
- private computeDiff;
54
+ protected computeDiff(originalTextLines: string[], newTextLines: string[], computerMode?: EComputerMode): IComputeDiffData;
49
55
  private calculateAddedDecorationCollectionState;
50
56
  private renderPartialEditWidgets;
51
57
  private renderAddedRangeDecoration;
52
58
  private renderRemovedRangeDecoration;
59
+ /**
60
+ * Get the original model for diff operations
61
+ */
62
+ protected abstract getOriginalModel(): ITextModel;
53
63
  /**
54
64
  * 令当前的 inline diff 在流式渲染过程当中使用 pushEditOperations 进行编辑的操作都放在同一组 undo/redo 堆栈里
55
65
  * 一旦撤销到最顶层则关闭当前的 inline diff
56
66
  */
57
67
  private pushStackElement;
58
- private renderDiffEdits;
59
- recompute(computerMode: EComputerMode, newContent?: string): IComputeDiffData;
60
- private currentEditLine;
61
- private isEditing;
68
+ protected renderDiffEdits(diffModel: IComputeDiffData): void;
69
+ recompute(computerMode: EComputerMode, content?: string): IComputeDiffData;
70
+ protected currentEditLine: number;
71
+ protected isEditing: boolean;
72
+ protected abstract processDiffComputation(currentText: string[], computerMode?: EComputerMode): IComputeDiffData;
62
73
  rateRenderEditController(): Promise<void>;
63
74
  addLinesToDiff(newText: string, computerMode?: EComputerMode): void;
64
75
  pushRateFinallyDiffStack(diffModel: IComputeDiffData): void;
@@ -71,5 +82,23 @@ export declare class InlineStreamDiffHandler extends Disposable implements IInli
71
82
  getZone(): LineRange;
72
83
  getTotalCodeInfo(): import("./live-preview.decoration").ITotalCodeInfo;
73
84
  }
85
+ /**
86
+ * Regular inline stream diff handler (non-reverse mode)
87
+ */
88
+ export declare class InlineStreamDiffHandler extends BaseInlineStreamDiffHandler {
89
+ initialize(selection: Selection): void;
90
+ protected processDiffComputation(currentText: string[], computerMode?: EComputerMode): IComputeDiffData;
91
+ protected getOriginalModel(): ITextModel;
92
+ }
93
+ /**
94
+ * Reverse inline stream diff handler
95
+ * In reverse mode, the roles of savedModel and virtualModel are swapped
96
+ */
97
+ export declare class ReverseInlineStreamDiffHandler extends BaseInlineStreamDiffHandler {
98
+ recompute(computerMode: EComputerMode, content?: string): IComputeDiffData;
99
+ initialize(): void;
100
+ protected getOriginalModel(): ITextModel;
101
+ protected processDiffComputation(currentText: string[], computerMode?: EComputerMode): IComputeDiffData;
102
+ }
74
103
  export {};
75
104
  //# sourceMappingURL=inline-stream-diff.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-stream-diff.handler.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline-stream-diff.handler.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InlineStreamDiffHandler = exports.EComputerMode = void 0;
3
+ exports.ReverseInlineStreamDiffHandler = exports.InlineStreamDiffHandler = exports.BaseInlineStreamDiffHandler = exports.EComputerMode = 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");
@@ -11,6 +11,7 @@ const lineRange_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/c
11
11
  const linesDiffComputers_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/diff/linesDiffComputers");
12
12
  const rangeMapping_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/diff/rangeMapping");
13
13
  const model_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/services/model");
14
+ const lineTokens_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/lineTokens");
14
15
  const undoRedo_1 = require("@opensumi/monaco-editor-core/esm/vs/platform/undoRedo/common/undoRedo");
15
16
  const inline_stream_diff_computer_1 = require("./inline-stream-diff-computer");
16
17
  const live_preview_decoration_1 = require("./live-preview.decoration");
@@ -20,9 +21,12 @@ var EComputerMode;
20
21
  EComputerMode["default"] = "default";
21
22
  })(EComputerMode || (exports.EComputerMode = EComputerMode = {}));
22
23
  const inlineStreamDiffComputer = new inline_stream_diff_computer_1.InlineStreamDiffComputer();
23
- let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_browser_1.Disposable {
24
+ /**
25
+ * Abstract base class for inline streaming diff handlers
26
+ */
27
+ let BaseInlineStreamDiffHandler = class BaseInlineStreamDiffHandler extends ide_core_browser_1.Disposable {
24
28
  get uri() {
25
- return this.originalModel.uri;
29
+ return this.savedModel.uri;
26
30
  }
27
31
  constructor(monacoEditor) {
28
32
  super();
@@ -31,18 +35,18 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
31
35
  this.onDidEditChange = this._onDidEditChange.event;
32
36
  this.onDiffFinishedEmitter = this.registerDispose(new ide_core_browser_1.Emitter());
33
37
  this.onDiffFinished = this.onDiffFinishedEmitter.event;
34
- this.rawOriginalTextLinesTokens = [];
35
38
  this.undoRedoGroup = new undoRedo_1.UndoRedoGroup();
36
- this.diffModel = (0, observable_1.observableValue)(this, undefined);
37
39
  this.finallyDiffModel = (0, observable_1.observableValue)(this, undefined);
38
40
  this.currentEditLine = 0;
39
41
  this.isEditing = false;
40
42
  const modelService = services_1.StandaloneServices.get(model_1.IModelService);
41
- this.virtualModel = modelService.createModel('', null, ide_core_browser_1.Uri.from({
43
+ const savedModel = this.monacoEditor.getModel();
44
+ const setModel = modelService.createModel('', null, ide_core_browser_1.Uri.from({
42
45
  scheme: ide_core_browser_1.Schemes.inMemory,
43
46
  path: 'inline-stream-diff/' + (0, ide_core_browser_1.randomString)(8),
44
47
  }), true);
45
- this.originalModel = this.monacoEditor.getModel();
48
+ this.savedModel = savedModel;
49
+ this.virtualModel = setModel;
46
50
  this.livePreviewDiffDecorationModel = this.injector.get(live_preview_decoration_1.LivePreviewDiffDecorationModel, [this.monacoEditor]);
47
51
  this.addDispose(this.livePreviewDiffDecorationModel);
48
52
  this.addDispose(this.virtualModel);
@@ -61,27 +65,11 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
61
65
  renderRemovedWidgetImmediately: options.renderRemovedWidgetImmediately,
62
66
  });
63
67
  }
64
- initialize(selection) {
65
- const eol = this.originalModel.getEOL();
66
- const startPosition = selection.getStartPosition();
67
- const endPosition = selection.getEndPosition();
68
- this.rawOriginalTextLines = this.originalModel
69
- .getValueInRange(ide_monaco_1.Range.fromPositions(startPosition, endPosition))
70
- .split(eol);
71
- this.rawOriginalTextLinesTokens = this.rawOriginalTextLines.map((_, index) => {
72
- const lineNumber = startPosition.lineNumber + index;
73
- this.originalModel.tokenization.forceTokenization(lineNumber);
74
- const lineTokens = this.originalModel.tokenization.getLineTokens(lineNumber);
75
- return lineTokens;
76
- });
77
- const zone = lineRange_1.LineRange.fromRangeInclusive(ide_monaco_1.Range.fromPositions({ lineNumber: selection.startLineNumber, column: 1 }, { lineNumber: selection.endLineNumber, column: Number.MAX_SAFE_INTEGER }));
78
- this.livePreviewDiffDecorationModel.initialize(zone);
79
- }
80
68
  getVirtualModelValue() {
81
69
  return this.virtualModel.getValue();
82
70
  }
83
71
  getOriginModelValue() {
84
- return this.rawOriginalTextLines.join('\n');
72
+ return this.rawSavedTextLines.join('\n');
85
73
  }
86
74
  get onPartialEditWidgetListChange() {
87
75
  return this.livePreviewDiffDecorationModel.onPartialEditWidgetListChange;
@@ -181,10 +169,17 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
181
169
  column: 1,
182
170
  lineNumber: zone.startLineNumber + removedLinesOriginalRange.startLineNumber - 2 - preRemovedLen,
183
171
  },
184
- textLines: removedTextLines.map((text, index) => ({
185
- text,
186
- lineTokens: this.rawOriginalTextLinesTokens[removedLinesOriginalRange.startLineNumber - 1 + index],
187
- })),
172
+ textLines: removedTextLines.map((text, index) => {
173
+ var _a;
174
+ return ({
175
+ text,
176
+ lineTokens: ((_a = this.rawOriginTextLinesTokens) === null || _a === void 0 ? void 0 : _a[removedLinesOriginalRange.startLineNumber - 1 + index]) ||
177
+ lineTokens_1.LineTokens.createEmpty(text, {
178
+ encodeLanguageId: () => 0,
179
+ decodeLanguageId: () => 'plaintext',
180
+ }),
181
+ });
182
+ }),
188
183
  });
189
184
  }
190
185
  preRemovedLen += removedLinesOriginalRange.length - addedRange.length;
@@ -206,12 +201,13 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
206
201
  }
207
202
  renderDiffEdits(diffModel) {
208
203
  const { activeLine, newFullRangeTextLines, pendingRange } = diffModel;
209
- const eol = this.originalModel.getEOL();
210
204
  const zone = this.getZone();
205
+ const originalModel = this.getOriginalModel();
206
+ const eol = originalModel.getEOL();
211
207
  const validZone = zone.startLineNumber < zone.endLineNumberExclusive
212
- ? new ide_monaco_1.Range(zone.startLineNumber, 1, zone.endLineNumberExclusive - 1, this.originalModel.getLineMaxColumn(zone.endLineNumberExclusive - 1))
208
+ ? new ide_monaco_1.Range(zone.startLineNumber, 1, zone.endLineNumberExclusive - 1, originalModel.getLineMaxColumn(zone.endLineNumberExclusive - 1))
213
209
  : new ide_monaco_1.Range(zone.startLineNumber, 1, zone.startLineNumber, 1);
214
- const newOriginalTextLines = this.originalModel.getValueInRange(validZone).split(eol);
210
+ const newOriginalTextLines = originalModel.getValueInRange(validZone).split(eol);
215
211
  const diffComputation = linesDiffComputers_1.linesDiffComputers.getDefault().computeDiff(newOriginalTextLines, newFullRangeTextLines, {
216
212
  computeMoves: false,
217
213
  maxComputationTimeMs: 200,
@@ -243,7 +239,7 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
243
239
  newText = null;
244
240
  }
245
241
  else {
246
- newRange = new ide_monaco_1.Range(validZone.startLineNumber + change.original.startLineNumber - 1, 1, validZone.startLineNumber + change.original.endLineNumberExclusive - 2, this.originalModel.getLineMaxColumn(validZone.startLineNumber + change.original.endLineNumberExclusive - 2));
242
+ newRange = new ide_monaco_1.Range(validZone.startLineNumber + change.original.startLineNumber - 1, 1, validZone.startLineNumber + change.original.endLineNumberExclusive - 2, originalModel.getLineMaxColumn(validZone.startLineNumber + change.original.endLineNumberExclusive - 2));
247
243
  }
248
244
  const edit = {
249
245
  range: newRange,
@@ -253,7 +249,7 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
253
249
  realTimeChanges.push(edit);
254
250
  }
255
251
  }
256
- this.originalModel.pushEditOperations(null, realTimeChanges, () => null, this.undoRedoGroup);
252
+ originalModel.pushEditOperations(null, realTimeChanges, () => null, this.undoRedoGroup);
257
253
  /**
258
254
  * 根据 newFullRangeTextLines 内容长度重新计算 zone,避免超过最大长度,进而影响未选中的代码区域
259
255
  */
@@ -286,12 +282,12 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
286
282
  this.renderRemovedRangeDecoration(diffModel);
287
283
  this._onDidEditChange.fire();
288
284
  }
289
- recompute(computerMode, newContent) {
290
- if (newContent) {
291
- this.virtualModel.setValue(newContent);
285
+ recompute(computerMode, content) {
286
+ if (content) {
287
+ this.virtualModel.setValue(content);
292
288
  }
293
- const newTextLines = this.virtualModel.getLinesContent();
294
- return this.computeDiff(this.rawOriginalTextLines, newTextLines, computerMode);
289
+ const textLines = this.virtualModel.getLinesContent();
290
+ return this.processDiffComputation(textLines, computerMode);
295
291
  }
296
292
  async rateRenderEditController() {
297
293
  var _a;
@@ -303,15 +299,12 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
303
299
  }
304
300
  const virtualTextLines = this.virtualModel.getLinesContent();
305
301
  const currentText = virtualTextLines.slice(0, this.currentEditLine);
306
- const currentDiffModel = this.computeDiff(this.rawOriginalTextLines, currentText);
307
- (0, observable_1.transaction)((tx) => {
308
- this.diffModel.set(currentDiffModel, tx);
309
- });
310
- this.onDiffFinishedEmitter.fire(currentDiffModel);
311
- if (this.originalModel.id === ((_a = this.monacoEditor.getModel()) === null || _a === void 0 ? void 0 : _a.id)) {
302
+ const currentDiffModel = this.processDiffComputation(currentText);
303
+ if (this.savedModel.id === ((_a = this.monacoEditor.getModel()) === null || _a === void 0 ? void 0 : _a.id)) {
312
304
  this.renderDiffEdits(currentDiffModel);
313
305
  }
314
306
  this.currentEditLine += 1;
307
+ // 这个 sleep 会带来潜在的时序问题,如 finallyRender 时模型已经被 dispose
315
308
  await (0, ide_core_browser_1.sleep)(ide_core_browser_1.FRAME_THREE);
316
309
  }
317
310
  const finallyDiffModel = this.finallyDiffModel.get();
@@ -322,10 +315,7 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
322
315
  }
323
316
  }
324
317
  addLinesToDiff(newText, computerMode = EComputerMode.default) {
325
- const diffModel = this.recompute(computerMode, newText);
326
- (0, observable_1.transaction)((tx) => {
327
- this.diffModel.set(diffModel, tx);
328
- });
318
+ this.recompute(computerMode, newText);
329
319
  }
330
320
  pushRateFinallyDiffStack(diffModel) {
331
321
  (0, observable_1.transaction)((tx) => {
@@ -340,12 +330,14 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
340
330
  var _a;
341
331
  (0, observable_1.transaction)((tx) => {
342
332
  this.finallyDiffModel.set(diffModel, tx);
343
- this.diffModel.set(diffModel, tx);
344
333
  });
345
- if (this.originalModel.id !== ((_a = this.monacoEditor.getModel()) === null || _a === void 0 ? void 0 : _a.id)) {
334
+ if (this.savedModel.id !== ((_a = this.monacoEditor.getModel()) === null || _a === void 0 ? void 0 : _a.id)) {
346
335
  return;
347
336
  }
348
337
  this.onDiffFinishedEmitter.fire(diffModel);
338
+ if (this.livePreviewDiffDecorationModel.disposed) {
339
+ return;
340
+ }
349
341
  this.renderPartialEditWidgets(diffModel);
350
342
  this.renderDiffEdits(diffModel);
351
343
  this.pushStackElement();
@@ -379,13 +371,78 @@ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends ide_core_bro
379
371
  return this.livePreviewDiffDecorationModel.getTotalCodeInfo();
380
372
  }
381
373
  };
382
- exports.InlineStreamDiffHandler = InlineStreamDiffHandler;
374
+ exports.BaseInlineStreamDiffHandler = BaseInlineStreamDiffHandler;
383
375
  tslib_1.__decorate([
384
376
  (0, di_1.Autowired)(di_1.INJECTOR_TOKEN),
385
377
  tslib_1.__metadata("design:type", di_1.Injector)
386
- ], InlineStreamDiffHandler.prototype, "injector", void 0);
387
- exports.InlineStreamDiffHandler = InlineStreamDiffHandler = tslib_1.__decorate([
378
+ ], BaseInlineStreamDiffHandler.prototype, "injector", void 0);
379
+ exports.BaseInlineStreamDiffHandler = BaseInlineStreamDiffHandler = tslib_1.__decorate([
388
380
  (0, di_1.Injectable)({ multiple: true }),
389
381
  tslib_1.__metadata("design:paramtypes", [Object])
382
+ ], BaseInlineStreamDiffHandler);
383
+ /**
384
+ * Regular inline stream diff handler (non-reverse mode)
385
+ */
386
+ let InlineStreamDiffHandler = class InlineStreamDiffHandler extends BaseInlineStreamDiffHandler {
387
+ initialize(selection) {
388
+ const eol = this.savedModel.getEOL();
389
+ const startPosition = selection.getStartPosition();
390
+ const endPosition = selection.getEndPosition();
391
+ this.rawSavedTextLines = this.savedModel
392
+ .getValueInRange(ide_monaco_1.Range.fromPositions(startPosition, endPosition))
393
+ .split(eol);
394
+ const zone = lineRange_1.LineRange.fromRangeInclusive(ide_monaco_1.Range.fromPositions({ lineNumber: selection.startLineNumber, column: 1 }, { lineNumber: selection.endLineNumber, column: Number.MAX_SAFE_INTEGER }));
395
+ this.livePreviewDiffDecorationModel.initialize(zone);
396
+ this.rawOriginTextLinesTokens = this.rawSavedTextLines.map((_, index) => {
397
+ const lineNumber = startPosition.lineNumber + index;
398
+ this.savedModel.tokenization.forceTokenization(lineNumber);
399
+ const lineTokens = this.savedModel.tokenization.getLineTokens(lineNumber);
400
+ return lineTokens;
401
+ });
402
+ }
403
+ processDiffComputation(currentText, computerMode) {
404
+ return this.computeDiff(this.rawSavedTextLines, currentText, computerMode);
405
+ }
406
+ getOriginalModel() {
407
+ return this.savedModel;
408
+ }
409
+ };
410
+ exports.InlineStreamDiffHandler = InlineStreamDiffHandler;
411
+ exports.InlineStreamDiffHandler = InlineStreamDiffHandler = tslib_1.__decorate([
412
+ (0, di_1.Injectable)({ multiple: true })
390
413
  ], InlineStreamDiffHandler);
414
+ /**
415
+ * Reverse inline stream diff handler
416
+ * In reverse mode, the roles of savedModel and virtualModel are swapped
417
+ */
418
+ let ReverseInlineStreamDiffHandler = class ReverseInlineStreamDiffHandler extends BaseInlineStreamDiffHandler {
419
+ recompute(computerMode, content) {
420
+ const result = super.recompute(computerMode, content);
421
+ this.rawOriginTextLinesTokens = this.virtualModel.getLinesContent().map((_, index) => {
422
+ const lineNumber = index + 1;
423
+ this.virtualModel.tokenization.forceTokenization(lineNumber);
424
+ const lineTokens = this.virtualModel.tokenization.getLineTokens(lineNumber);
425
+ return lineTokens;
426
+ });
427
+ return result;
428
+ }
429
+ initialize() {
430
+ const eol = this.savedModel.getEOL();
431
+ // reverse 模式不支持 range
432
+ this.rawSavedTextLines = this.savedModel.getValue().split(eol);
433
+ // TODO: reverse 模式暂不支持 range
434
+ const zone = lineRange_1.LineRange.fromRangeInclusive(ide_monaco_1.Range.fromPositions({ lineNumber: 1, column: 1 }, { lineNumber: this.virtualModel.getLineCount(), column: Number.MAX_SAFE_INTEGER }));
435
+ this.livePreviewDiffDecorationModel.initialize(zone);
436
+ }
437
+ getOriginalModel() {
438
+ return this.virtualModel;
439
+ }
440
+ processDiffComputation(currentText, computerMode) {
441
+ return this.computeDiff(currentText, this.rawSavedTextLines, computerMode);
442
+ }
443
+ };
444
+ exports.ReverseInlineStreamDiffHandler = ReverseInlineStreamDiffHandler;
445
+ exports.ReverseInlineStreamDiffHandler = ReverseInlineStreamDiffHandler = tslib_1.__decorate([
446
+ (0, di_1.Injectable)({ multiple: true })
447
+ ], ReverseInlineStreamDiffHandler);
391
448
  //# sourceMappingURL=inline-stream-diff.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-stream-diff.handler.js","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx"],"names":[],"mappings":";;;;AAAA,qCAA+E;AAC/E,iEAAwH;AAExH,qDAAiF;AACjF,mFAA0F;AAC1F,2EAA+G;AAC/G,gGAA6F;AAC7F,kHAA+G;AAC/G,sGAA+G;AAC/G,4FAAiG;AAEjG,oGAAsG;AAKtG,+EAAyE;AAEzE,uEAA2E;AAqB3E,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,MAAM,wBAAwB,GAAG,IAAI,sDAAwB,EAAE,CAAC;AAGzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,6BAAU;IA2BrD,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,YAA6B,YAAyB;QACpD,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAa;QA3BnC,qBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,0BAAO,EAAQ,CAAC,CAAC;QAChE,oBAAe,GAAgB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAExD,0BAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,0BAAO,EAAoB,CAAC,CAAC;QACjF,mBAAc,GAA4B,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAQnF,+BAA0B,GAAiB,EAAE,CAAC;QAC9C,kBAAa,GAAkB,IAAI,wBAAa,EAAE,CAAC;QAE1C,cAAS,GAAsD,IAAA,4BAAe,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChG,qBAAgB,GAAsD,IAAA,4BAAe,EACpG,IAAI,EACJ,SAAS,CACV,CAAC;QA0WM,oBAAe,GAAG,CAAC,CAAC;QACpB,cAAS,GAAG,KAAK,CAAC;QAhWxB,MAAM,YAAY,GAAG,6BAAkB,CAAC,GAAG,CAAC,qBAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,CAC1C,EAAE,EACF,IAAI,EACJ,sBAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,0BAAO,CAAC,QAAQ;YACxB,IAAI,EAAE,qBAAqB,GAAG,IAAA,+BAAY,EAAC,CAAC,CAAC;SAC9C,CAAC,EACF,IAAI,CACL,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAG,CAAC;QAEnD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,wDAA8B,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEnC,+CAA+C;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,GAAG,EAAE;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,OAA8B;QAChD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAEhC,IAAI,CAAC,8BAA8B,CAAC,mBAAmB,CAAC;YACtD,wBAAwB,EAAE;gBACxB,2BAA2B,EAAE,OAAO,CAAC,2BAA2B;aACjE;YACD,8BAA8B,EAAE,OAAO,CAAC,8BAA8B;SACvE,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,SAAoB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;QAE/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa;aAC3C,eAAe,CAAC,kBAAK,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;aAChE,KAAK,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7E,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,qBAAS,CAAC,kBAAkB,CACvC,kBAAK,CAAC,aAAa,CACjB,EAAE,UAAU,EAAE,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,EACpD,EAAE,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,CACzE,CACF,CAAC;QAEF,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,6BAA6B;QAC/B,OAAO,IAAI,CAAC,8BAA8B,CAAC,6BAA6B,CAAC;IAC3E,CAAC;IAEO,WAAW,CACjB,iBAA2B,EAC3B,YAAsB,EACtB,eAA8B,aAAa,CAAC,OAAO;QAEnD,MAAM,aAAa,GAAG,CACpB,YAAY,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,uCAAkB,CAAC,SAAS,EAAE,CACnG,CAAC,WAAW,CAAC,iBAAiB,EAAE,YAAY,EAAE;YAC7C,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,GAAG;YACzB,oBAAoB,EAAE,KAAK;YAC3B,kCAAkC,EAAE,IAAI;SACzC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QAEpC,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,GAAG;gBACR,IAAI,uCAAwB,CAC1B,IAAI,qBAAS,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,EAC9C,IAAI,qBAAS,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,SAAS,CACV;aACF,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAuB,EAAE,CAAC;QAC7C,IAAI,gBAAgB,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IACE,MAAM,CAAC,QAAQ,CAAC,sBAAsB,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC;gBAClE,YAAY,KAAK,aAAa,CAAC,OAAO,EACtC,CAAC;gBACD,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CACxC,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EACnC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,CAC3C,CAAC;gBACF,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBAED,aAAa,CAAC,IAAI,CAAC;oBACjB,gBAAgB,EAAE,EAAE;oBACpB,yBAAyB,EAAE,IAAI,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAC1G,UAAU,EAAE,MAAM,CAAC,QAAQ;oBAC3B,oBAAoB,EAAE,SAAS;iBAChC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC;oBACjB,gBAAgB,EAAE,iBAAiB,CAAC,KAAK,CACvC,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EACnC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,CAC3C;oBACD,yBAAyB,EAAE,MAAM,CAAC,QAAQ;oBAC1C,UAAU,EAAE,MAAM,CAAC,QAAQ;oBAC3B,oBAAoB,EAAE,MAAM,CAAC,YAAY;wBACvC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;4BACxC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC;4BACpF,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC;yBACrF,CAAC,CAAC;wBACL,CAAC,CAAC,SAAS;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,qBAAqB,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC;QAErE,IAAI,UAAU,GAAW,CAAC,CAAC;QAC3B,IAAI,YAAY,GAAG,IAAI,qBAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,YAAY,GAAG,IAAI,qBAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO;YACL,OAAO,EAAE,aAAa;YACtB,qBAAqB;YACrB,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,uCAAuC,CAAC,SAA2B;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;YACvB,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC9F,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,sBAAsB,GAAG,CAAC;gBAC/D,MAAM,EAAE,CAAC;aACV,CAAC;YAEF,OAAO;gBACL,aAAa;gBACb,WAAW;gBACX,GAAG,EAAE,CAAC,CAAC,sBAAsB,GAAG,CAAC,CAAC,eAAe;aAClD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,wBAAwB,CAAC,SAA2B;QAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,uCAAuC,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,CAAC,8BAA8B,CAAC,uBAAuB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACtH,CAAC;IAEO,0BAA0B,CAAC,SAA2B;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,uCAAuC,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEO,4BAA4B,CAAC,SAA2B;QAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE5B,IAAI,aAAa,GAAW,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,EAA2B,CAAC;QAE3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE3E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE;wBACR,MAAM,EAAE,CAAC;wBACT,UAAU,EAAE,IAAI,CAAC,eAAe,GAAG,yBAAyB,CAAC,eAAe,GAAG,CAAC,GAAG,aAAa;qBACjG;oBACD,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;wBAChD,IAAI;wBACJ,UAAU,EAAE,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC;qBACnG,CAAC,CAAC;iBACJ,CAAC,CAAC;YACL,CAAC;YAED,aAAa,IAAI,yBAAyB,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE;YAClE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7F,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACvD,KAAK,CAAC,YAAY,CAAC,CAAC,eAAe,EAAE,EAAE;YACrC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,SAA2B;QACjD,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE5B,MAAM,SAAS,GACb,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB;YAChD,CAAC,CAAC,IAAI,kBAAK,CACP,IAAI,CAAC,eAAe,EACpB,CAAC,EACD,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAC/B,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,CACrE;YACH,CAAC,CAAC,IAAI,kBAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtF,MAAM,eAAe,GAAG,uCAAkB,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,qBAAqB,EAAE;YAC/G,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,GAAG;YACzB,oBAAoB,EAAE,KAAK;SAC5B,CAAC,CAAC;QAEH,MAAM,eAAe,GAA2B,EAAE,CAAC;QAEnD,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YAC/B,IAAI,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,OAAO;gBACb,gBAAgB,EAAE,KAAK;aACxB,CAAC;YACF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,OAAO,GAAkB,qBAAqB;qBAC/C,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,CAAC;qBACtF,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,IAAI,QAAe,CAAC;gBACpB,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC5B,QAAQ,GAAG,IAAI,kBAAK,CAClB,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAC/D,CAAC,EACD,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAC/D,CAAC,CACF,CAAC;oBACF,OAAO,IAAI,GAAG,CAAC;gBACjB,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnC,QAAQ,GAAG,IAAI,kBAAK,CAClB,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAC/D,CAAC,EACD,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,EACtE,CAAC,CACF,CAAC;oBACF,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,kBAAK,CAClB,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAC/D,CAAC,EACD,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,EACtE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAC5G,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG;oBACX,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,OAAO;oBACb,gBAAgB,EAAE,KAAK;iBACxB,CAAC;gBACF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE7F;;WAEG;QACH,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAC5C,IAAI,qBAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,CACzF,CAAC;QAEF;;WAEG;QACH,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,8BAA8B,CAAC,eAAe,EAAE,CAAC;QACxD,CAAC;QAED;;WAEG;QACH,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAE3C;;WAEG;QACH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,8BAA8B,CAAC,gBAAgB,EAAE,CAAC;QACzD,CAAC;QAED;;WAEG;QACH,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAEM,SAAS,CAAC,YAA2B,EAAE,UAAmB;QAC/D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACjF,CAAC;IAIM,KAAK,CAAC,wBAAwB;;QACnC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC1E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;gBAC7D,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;gBAClF,IAAA,wBAAW,EAAC,CAAC,EAAE,EAAE,EAAE;oBACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAElD,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,0CAAE,EAAE,CAAA,EAAE,CAAC;oBAC/D,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBACzC,CAAC;gBAED,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;gBAE1B,MAAM,IAAA,wBAAK,EAAC,8BAAW,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,OAAe,EAAE,eAA8B,aAAa,CAAC,OAAO;QACxF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,IAAA,wBAAW,EAAC,CAAC,EAAE,EAAE,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wBAAwB,CAAC,SAA2B;QACzD,IAAA,wBAAW,EAAC,CAAC,EAAE,EAAE,EAAE;YACjB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzC,4CAA4C;YAC5C,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,aAAa,CAAC,SAA2B;;QAC9C,IAAA,wBAAW,EAAC,CAAC,EAAE,EAAE,EAAE;YACjB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,0CAAE,EAAE,CAAA,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAEM,MAAM;QACX,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,CAAC;IAC/C,CAAC;IAED,SAAS;QACP,IAAI,CAAC,8BAA8B,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,8BAA8B,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,8BAA8B,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,CAAC;IACvD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,8BAA8B,CAAC,gBAAgB,EAAE,CAAC;IAChE,CAAC;CACF,CAAA;AA3eY,0DAAuB;AAEjB;IADhB,IAAA,cAAS,EAAC,mBAAc,CAAC;sCACC,aAAQ;yDAAC;kCAFzB,uBAAuB;IADnC,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;GAClB,uBAAuB,CA2enC"}
1
+ {"version":3,"file":"inline-stream-diff.handler.js","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare class LivePreviewDiffDecorationModel extends Disposable {
23
23
  private readonly aiReporter;
24
24
  private readonly inlineStreamDiffService;
25
25
  private readonly inlineDiffService;
26
+ private readonly messageService;
26
27
  private activeLineDec;
27
28
  private pendingRangeDec;
28
29
  private aiNativeContextKey;
@@ -35,6 +36,7 @@ export declare class LivePreviewDiffDecorationModel extends Disposable {
35
36
  private partialEditWidgetList;
36
37
  private removedZoneWidgets;
37
38
  private zone;
39
+ get partialEditWidgetCount(): number;
38
40
  constructor(monacoEditor: ICodeEditor);
39
41
  clear(): void;
40
42
  hide(): void;
@@ -76,6 +78,8 @@ export declare class LivePreviewDiffDecorationModel extends Disposable {
76
78
  clearPartialEditWidgetList(): void;
77
79
  clearRemovedWidgets(): void;
78
80
  revealFirstDiff(): void;
81
+ currentChangeIndex: number;
82
+ revealSiblingChange(direction: 'up' | 'down'): number | undefined;
79
83
  setPreviewerOptions(options: IModelOptions): void;
80
84
  }
81
85
  //# 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":"AAEA,OAAO,EAGL,UAAU,EACV,OAAO,EACP,KAAK,EAIN,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAgC,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AAI9G,OAAO,EAAE,SAAS,EAAE,MAAM,kEAAkE,CAAC;AAE7F,OAAO,EAAoB,aAAa,EAAE,MAAM,uEAAuE,CAAC;AAGxH,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAKtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,uBAAuB,EAMvB,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,CAAC;IACpC,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;IACrD,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,qBACa,8BAA+B,SAAQ,UAAU;IAwChD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAtCzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAGzC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAGlE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IAEjD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAmB;IAE1C,SAAS,CAAC,QAAQ,CAAC,8BAA8B,qCAAkE;IACnH,SAAgB,6BAA6B,EAAE,KAAK,CAAC,uBAAuB,EAAE,CAAC,CACnC;IAE5C,SAAS,CAAC,OAAO,EAAE,aAAa,CAE9B;IAEF,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;IAE5B,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,qBAAqB,CAAiC;IAC9D,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,IAAI,CAAY;IAExB,IAAW,sBAAsB,WAEhC;gBAE4B,YAAY,EAAE,WAAW;IA0DtD,KAAK;IAQL,IAAI;IASJ;;OAEG;IACH,MAAM;IAMN,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAIjC,iBAAiB,IAAI,iBAAiB,EAAE;IAIjC,6BAA6B,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,gBAAgB,EAAE,EACzB,OAAO,EAAE,yBAAyB,GACjC,IAAI;IAqBA,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAIpC,OAAO,IAAI,SAAS;IAIpB,eAAe,CAAC,UAAU,EAAE,MAAM;IAmBzC,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,uBAAuB;IAoK/B,OAAO,CAAC,yBAAyB;IAM1B,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,+BAA+B;IAMpF,MAAM,CAAC,eAAe,CACpB,qBAAqB,EAAE,uBAAuB,EAAE,EAChD,YAAY,EAAE,4BAA4B,EAAE,EAC5C,iBAAiB,EAAE,iBAAiB,EAAE,GACrC,cAAc;IA0CjB;;;;OAIG;IACH,gBAAgB,IAAI,cAAc;IAQlC;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAYpC,iBAAiB,IAAI,IAAI;IAOzB,kBAAkB,IAAI,IAAI;IAOjC,OAAO,CAAC,uBAAuB;IA0BxB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE;IAM7C,eAAe,CAAC,MAAM,EAAE,4BAA4B,EAAE;IA+BtD,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI;IAgBjE,iBAAiB,CAAC,KAAK,EAAE,SAAS;IAwBlC,gBAAgB;IAIhB,eAAe;IAIf,cAAc;IAId,0BAA0B;IAQ1B,mBAAmB;IAO1B,eAAe,IAAI,IAAI;IAUvB,kBAAkB,EAAE,MAAM,CAAK;IAE/B,mBAAmB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM;IAkB5C,mBAAmB,CAAC,OAAO,EAAE,aAAa;CAG3C"}
@@ -8,6 +8,7 @@ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
8
  const ide_core_common_1 = require("@opensumi/ide-core-common");
9
9
  const ide_monaco_1 = require("@opensumi/ide-monaco");
10
10
  const services_1 = require("@opensumi/ide-monaco/lib/browser/monaco-api/services");
11
+ const ide_overlay_1 = require("@opensumi/ide-overlay");
11
12
  const editOperation_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/core/editOperation");
12
13
  const textModel_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/model/textModel");
13
14
  const undoRedo_1 = require("@opensumi/monaco-editor-core/esm/vs/platform/undoRedo/common/undoRedo");
@@ -18,6 +19,9 @@ const inline_stream_diff_service_1 = require("./inline-stream-diff.service");
18
19
  const live_preview_stack_1 = require("./live-preview-stack");
19
20
  const live_preview_component_1 = require("./live-preview.component");
20
21
  let LivePreviewDiffDecorationModel = LivePreviewDiffDecorationModel_1 = class LivePreviewDiffDecorationModel extends ide_core_common_1.Disposable {
22
+ get partialEditWidgetCount() {
23
+ return this.partialEditWidgetList.length;
24
+ }
21
25
  constructor(monacoEditor) {
22
26
  super();
23
27
  this.monacoEditor = monacoEditor;
@@ -28,6 +32,7 @@ let LivePreviewDiffDecorationModel = LivePreviewDiffDecorationModel_1 = class Li
28
32
  };
29
33
  this.partialEditWidgetList = [];
30
34
  this.removedZoneWidgets = [];
35
+ this.currentChangeIndex = 0;
31
36
  this.model = this.monacoEditor.getModel();
32
37
  this.undoRedoService = services_1.StandaloneServices.get(undoRedo_1.IUndoRedoService);
33
38
  this.aiNativeContextKey = this.injector.get(ai_core_contextkeys_1.AINativeContextKey, [this.monacoEditor.contextKeyService]);
@@ -456,7 +461,7 @@ let LivePreviewDiffDecorationModel = LivePreviewDiffDecorationModel_1 = class Li
456
461
  run();
457
462
  }
458
463
  else {
459
- (0, ide_core_common_1.runWhenIdle)(run);
464
+ this.addDispose((0, ide_core_common_1.runWhenIdle)(run));
460
465
  }
461
466
  }
462
467
  touchPendingRange(range) {
@@ -509,6 +514,22 @@ let LivePreviewDiffDecorationModel = LivePreviewDiffDecorationModel_1 = class Li
509
514
  }
510
515
  }
511
516
  }
517
+ revealSiblingChange(direction) {
518
+ this.currentChangeIndex = this.currentChangeIndex + (direction === 'up' ? -1 : 1);
519
+ if (this.currentChangeIndex >= 0 && this.currentChangeIndex < this.partialEditWidgetList.length) {
520
+ const siblingChange = this.partialEditWidgetList[this.currentChangeIndex];
521
+ const pos = siblingChange.getPosition();
522
+ if (pos === null || pos === void 0 ? void 0 : pos.position) {
523
+ this.monacoEditor.revealLineInCenter(pos.position.lineNumber);
524
+ return this.currentChangeIndex;
525
+ }
526
+ }
527
+ else {
528
+ this.messageService.info(direction === 'up'
529
+ ? (0, ide_core_common_1.localize)('aiNative.inlineDiff.noMoreChangesUp')
530
+ : (0, ide_core_common_1.localize)('aiNative.inlineDiff.noMoreChangesDown'));
531
+ }
532
+ }
512
533
  setPreviewerOptions(options) {
513
534
  this.options = options;
514
535
  }
@@ -530,6 +551,10 @@ tslib_1.__decorate([
530
551
  (0, di_1.Autowired)(inline_diff_1.InlineDiffService),
531
552
  tslib_1.__metadata("design:type", inline_diff_1.InlineDiffService)
532
553
  ], LivePreviewDiffDecorationModel.prototype, "inlineDiffService", void 0);
554
+ tslib_1.__decorate([
555
+ (0, di_1.Autowired)(ide_overlay_1.IMessageService),
556
+ tslib_1.__metadata("design:type", Object)
557
+ ], LivePreviewDiffDecorationModel.prototype, "messageService", void 0);
533
558
  exports.LivePreviewDiffDecorationModel = LivePreviewDiffDecorationModel = LivePreviewDiffDecorationModel_1 = tslib_1.__decorate([
534
559
  (0, di_1.Injectable)({ multiple: true }),
535
560
  tslib_1.__metadata("design:paramtypes", [Object])