@codingame/monaco-vscode-katex-common 25.1.0 → 25.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-katex-common",
3
- "version": "25.1.0",
3
+ "version": "25.1.1",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - common package depending on katex",
6
6
  "keywords": [],
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "25.1.0",
18
+ "@codingame/monaco-vscode-api": "25.1.1",
19
19
  "katex": "0.16.27",
20
20
  "marked": "14.0.0"
21
21
  },
@@ -1,10 +1,15 @@
1
1
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
- import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { Disposable, IDisposable, IReference } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
4
+ import { IResolvedTextEditorModel } from "@codingame/monaco-vscode-model-service-override/vscode/vs/editor/common/services/resolverService";
5
+ import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
3
6
  import { IChatProgressRenderableResponseContent, IChatTextEditGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
7
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
8
+ import { IChatResponseViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
4
9
  import { IChatListItemRendererOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
5
10
  import { DiffEditorPool } from "./chatContentCodePools.js";
6
11
  import { IChatContentPart, IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts";
7
- import { ICodeCompareModelService } from "./chatTextEditContentPart.service.js";
12
+ import { ICodeCompareModelService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.service";
8
13
  export declare class ChatTextEditContentPart extends Disposable implements IChatContentPart {
9
14
  private readonly codeCompareModelService;
10
15
  readonly domNode: HTMLElement;
@@ -16,3 +21,15 @@ export declare class ChatTextEditContentPart extends Disposable implements IChat
16
21
  hasSameContent(other: IChatProgressRenderableResponseContent): boolean;
17
22
  addDisposable(disposable: IDisposable): void;
18
23
  }
24
+ export declare class CodeCompareModelService implements ICodeCompareModelService {
25
+ private readonly textModelService;
26
+ private readonly modelService;
27
+ private readonly chatService;
28
+ readonly _serviceBrand: undefined;
29
+ constructor(textModelService: ITextModelService, modelService: IModelService, chatService: IChatService);
30
+ createModel(element: IChatResponseViewModel, chatTextEdit: IChatTextEditGroup): Promise<IReference<{
31
+ originalSha1: string;
32
+ original: IResolvedTextEditorModel;
33
+ modified: IResolvedTextEditorModel;
34
+ }>>;
35
+ }
@@ -2,24 +2,23 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { $ as $$1 } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
5
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
- import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
8
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
5
+ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
+ import { Disposable, toDisposable, RefCountedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
8
+ import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
9
  import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
10
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
11
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
12
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
13
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
14
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
15
- import '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
16
- import '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
17
- import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
18
- import '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/modelService';
10
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
11
+ import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
12
+ import { TextEdit } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
13
+ import { createTextBufferFactoryFromSnapshot } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model/textModel';
14
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
15
+ import { DefaultModelSHA1Computer } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/modelService';
16
+ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
19
17
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
20
18
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
19
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
21
20
  import { isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
22
- import { ICodeCompareModelService } from './chatTextEditContentPart.service.js';
21
+ import { ICodeCompareModelService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.service';
23
22
 
24
23
  const $ = $$1;
25
24
  let ChatTextEditContentPart = class ChatTextEditContentPart extends Disposable {
@@ -87,5 +86,72 @@ let ChatTextEditContentPart = class ChatTextEditContentPart extends Disposable {
87
86
  ChatTextEditContentPart = ( __decorate([
88
87
  ( __param(5, ICodeCompareModelService))
89
88
  ], ChatTextEditContentPart));
89
+ let CodeCompareModelService = class CodeCompareModelService {
90
+ constructor(textModelService, modelService, chatService) {
91
+ this.textModelService = textModelService;
92
+ this.modelService = modelService;
93
+ this.chatService = chatService;
94
+ }
95
+ async createModel(element, chatTextEdit) {
96
+ const original = await this.textModelService.createModelReference(chatTextEdit.uri);
97
+ const modified = await this.textModelService.createModelReference((this.modelService.createModel(createTextBufferFactoryFromSnapshot(original.object.textEditorModel.createSnapshot()), { languageId: original.object.textEditorModel.getLanguageId(), onDidChange: Event.None }, ( URI.from(
98
+ { scheme: Schemas.vscodeChatCodeBlock, path: chatTextEdit.uri.path, query: generateUuid() }
99
+ )), false)).uri);
100
+ const d = ( new RefCountedDisposable(toDisposable(() => {
101
+ original.dispose();
102
+ modified.dispose();
103
+ })));
104
+ let originalSha1 = '';
105
+ if (chatTextEdit.state) {
106
+ originalSha1 = chatTextEdit.state.sha1;
107
+ }
108
+ else {
109
+ const sha1 = ( new DefaultModelSHA1Computer());
110
+ if (sha1.canComputeSHA1(original.object.textEditorModel)) {
111
+ originalSha1 = sha1.computeSHA1(original.object.textEditorModel);
112
+ chatTextEdit.state = { sha1: originalSha1, applied: 0 };
113
+ }
114
+ }
115
+ const chatModel = this.chatService.getSession(element.sessionResource);
116
+ const editGroups = [];
117
+ for (const request of chatModel.getRequests()) {
118
+ if (!request.response) {
119
+ continue;
120
+ }
121
+ for (const item of request.response.response.value) {
122
+ if (item.kind !== 'textEditGroup' || item.state?.applied || !isEqual(item.uri, chatTextEdit.uri)) {
123
+ continue;
124
+ }
125
+ for (const group of item.edits) {
126
+ const edits = ( group.map(TextEdit.asEditOperation));
127
+ editGroups.push(edits);
128
+ }
129
+ }
130
+ if (request.response === element.model) {
131
+ break;
132
+ }
133
+ }
134
+ for (const edits of editGroups) {
135
+ modified.object.textEditorModel.pushEditOperations(null, edits, () => null);
136
+ }
137
+ d.acquire();
138
+ setTimeout(() => d.release(), 5000);
139
+ return {
140
+ object: {
141
+ originalSha1,
142
+ original: original.object,
143
+ modified: modified.object
144
+ },
145
+ dispose() {
146
+ d.release();
147
+ },
148
+ };
149
+ }
150
+ };
151
+ CodeCompareModelService = ( __decorate([
152
+ ( __param(0, ITextModelService)),
153
+ ( __param(1, IModelService)),
154
+ ( __param(2, IChatService))
155
+ ], CodeCompareModelService));
90
156
 
91
- export { ChatTextEditContentPart };
157
+ export { ChatTextEditContentPart, CodeCompareModelService };
@@ -1,13 +0,0 @@
1
- import { IReference } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { IResolvedTextEditorModel } from "@codingame/monaco-vscode-model-service-override/vscode/vs/editor/common/services/resolverService";
3
- import { IChatTextEditGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
4
- import { IChatResponseViewModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
5
- export declare const ICodeCompareModelService: import("@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation").ServiceIdentifier<ICodeCompareModelService>;
6
- export interface ICodeCompareModelService {
7
- _serviceBrand: undefined;
8
- createModel(response: IChatResponseViewModel, chatTextEdit: IChatTextEditGroup): Promise<IReference<{
9
- originalSha1: string;
10
- original: IResolvedTextEditorModel;
11
- modified: IResolvedTextEditorModel;
12
- }>>;
13
- }
@@ -1,6 +0,0 @@
1
-
2
- import { createDecorator } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
3
-
4
- const ICodeCompareModelService = ( createDecorator('ICodeCompareModelService'));
5
-
6
- export { ICodeCompareModelService };