@codingame/monaco-vscode-extensions-service-override 1.85.0 → 1.85.2

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 (60) hide show
  1. package/extensions.js +3 -3
  2. package/package.json +3 -3
  3. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +3 -3
  4. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +1 -1
  5. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +3 -3
  6. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
  7. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +8 -8
  8. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +1 -1
  9. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +2 -2
  10. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +3 -3
  11. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +2 -2
  12. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +1 -1
  13. package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -3
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +0 -40
  15. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +0 -141
  16. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +0 -37
  17. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +0 -342
  18. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +0 -1197
  19. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +0 -117
  20. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.js +0 -83
  21. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +0 -543
  22. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +0 -6
  23. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +0 -292
  24. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +0 -169
  25. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +0 -6
  26. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +0 -255
  27. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +0 -195
  28. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +0 -260
  29. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +0 -5
  30. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +0 -26
  31. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +0 -63
  32. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +0 -51
  33. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +0 -649
  34. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +0 -302
  35. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +0 -62
  36. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +0 -251
  37. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +0 -109
  38. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +0 -335
  39. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +0 -6
  40. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +0 -101
  41. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +0 -57
  42. package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +0 -3
  43. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +0 -144
  44. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +0 -482
  45. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +0 -6
  46. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +0 -92
  47. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +0 -56
  48. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +0 -110
  49. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +0 -260
  50. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +0 -616
  51. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +0 -309
  52. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +0 -38
  53. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +0 -167
  54. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +0 -80
  55. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +0 -70
  56. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +0 -3
  57. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +0 -108
  58. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +0 -506
  59. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +0 -132
  60. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +0 -79
@@ -1,292 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import './codeBlockPart.css.js';
3
- import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
4
- import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
5
- import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
6
- import { Button } from 'monaco-editor/esm/vs/base/browser/ui/button/button.js';
7
- import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
8
- import { EditorExtensionsRegistry } from 'monaco-editor/esm/vs/editor/browser/editorExtensions.js';
9
- import { CodeEditorWidget } from 'monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js';
10
- import { EDITOR_FONT_DEFAULTS } from 'monaco-editor/esm/vs/editor/common/config/editorOptions.js';
11
- import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
12
- import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
13
- import { PLAINTEXT_LANGUAGE_ID } from 'monaco-editor/esm/vs/editor/common/languages/modesRegistry.js';
14
- import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
15
- import { BracketMatchingController } from 'monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js';
16
- import { ContextMenuController } from 'monaco-editor/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js';
17
- import { ViewportSemanticTokensContribution } from 'monaco-editor/esm/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';
18
- import { SmartSelectController } from 'monaco-editor/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js';
19
- import { WordHighlighterContribution } from 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js';
20
- import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
21
- import { IAccessibilityService } from 'monaco-editor/esm/vs/platform/accessibility/common/accessibility.js';
22
- import { MenuWorkbenchToolBar } from 'monaco-editor/esm/vs/platform/actions/browser/toolbar.js';
23
- import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
24
- import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
25
- import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
26
- import { ServiceCollection } from 'monaco-editor/esm/vs/platform/instantiation/common/serviceCollection.js';
27
- import { isResponseVM } from '../common/chatViewModel.js';
28
- import { MenuPreventer } from 'vscode/vscode/vs/workbench/contrib/codeEditor/browser/menuPreventer';
29
- import { SelectionClipboardContributionID } from 'vscode/vscode/vs/workbench/contrib/codeEditor/browser/selectionClipboard';
30
- import { getSimpleEditorOptions } from 'vscode/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions';
31
-
32
- const $ = dom.$;
33
- const defaultCodeblockPadding = 10;
34
- let CodeBlockPart = class CodeBlockPart extends Disposable {
35
- constructor(options, menuId, instantiationService, contextKeyService, languageService, modelService, configurationService, accessibilityService) {
36
- super();
37
- this.options = options;
38
- this.menuId = menuId;
39
- this.languageService = languageService;
40
- this.modelService = modelService;
41
- this.configurationService = configurationService;
42
- this.accessibilityService = accessibilityService;
43
- this._onDidChangeContentHeight = this._register(( new Emitter()));
44
- this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
45
- this.currentScrollWidth = 0;
46
- this.element = $('.interactive-result-code-block');
47
- this.contextKeyService = this._register(contextKeyService.createScoped(this.element));
48
- const scopedInstantiationService = instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.contextKeyService])));
49
- const editorElement = dom.append(this.element, $('.interactive-result-editor'));
50
- this.editor = this._register(scopedInstantiationService.createInstance(CodeEditorWidget, editorElement, {
51
- ...getSimpleEditorOptions(this.configurationService),
52
- readOnly: true,
53
- lineNumbers: 'off',
54
- selectOnLineNumbers: true,
55
- scrollBeyondLastLine: false,
56
- lineDecorationsWidth: 8,
57
- dragAndDrop: false,
58
- padding: { top: defaultCodeblockPadding, bottom: defaultCodeblockPadding },
59
- mouseWheelZoom: false,
60
- scrollbar: {
61
- alwaysConsumeMouseWheel: false
62
- },
63
- ariaLabel: ( localizeWithPath(
64
- 'vs/workbench/contrib/chat/browser/codeBlockPart',
65
- 'chat.codeBlockHelp',
66
- 'Code block'
67
- )),
68
- ...this.getEditorOptionsFromConfig()
69
- }, {
70
- isSimpleWidget: true,
71
- contributions: EditorExtensionsRegistry.getSomeEditorContributions([
72
- MenuPreventer.ID,
73
- SelectionClipboardContributionID,
74
- ContextMenuController.ID,
75
- WordHighlighterContribution.ID,
76
- ViewportSemanticTokensContribution.ID,
77
- BracketMatchingController.ID,
78
- SmartSelectController.ID,
79
- ])
80
- }));
81
- const toolbarElement = dom.append(this.element, $('.interactive-result-code-block-toolbar'));
82
- const editorScopedService = this.editor.contextKeyService.createScoped(toolbarElement);
83
- const editorScopedInstantiationService = scopedInstantiationService.createChild(( new ServiceCollection([IContextKeyService, editorScopedService])));
84
- this.toolbar = this._register(editorScopedInstantiationService.createInstance(MenuWorkbenchToolBar, toolbarElement, menuId, {
85
- menuOptions: {
86
- shouldForwardArgs: true
87
- }
88
- }));
89
- const vulnsContainer = dom.append(this.element, $('.interactive-result-vulns'));
90
- const vulnsHeaderElement = dom.append(vulnsContainer, $('.interactive-result-vulns-header', undefined));
91
- this.vulnsButton = ( new Button(vulnsHeaderElement, {
92
- buttonBackground: undefined,
93
- buttonBorder: undefined,
94
- buttonForeground: undefined,
95
- buttonHoverBackground: undefined,
96
- buttonSecondaryBackground: undefined,
97
- buttonSecondaryForeground: undefined,
98
- buttonSecondaryHoverBackground: undefined,
99
- buttonSeparator: undefined,
100
- supportIcons: true
101
- }));
102
- this.vulnsListElement = dom.append(vulnsContainer, $('ul.interactive-result-vulns-list'));
103
- this.vulnsButton.onDidClick(() => {
104
- const element = this.currentCodeBlockData.element;
105
- element.vulnerabilitiesListExpanded = !element.vulnerabilitiesListExpanded;
106
- this.vulnsButton.label = this.getVulnerabilitiesLabel();
107
- this.element.classList.toggle('chat-vulnerabilities-collapsed', !element.vulnerabilitiesListExpanded);
108
- this._onDidChangeContentHeight.fire();
109
- });
110
- this._register(this.toolbar.onDidChangeDropdownVisibility(e => {
111
- toolbarElement.classList.toggle('force-visibility', e);
112
- }));
113
- this._configureForScreenReader();
114
- this._register(this.accessibilityService.onDidChangeScreenReaderOptimized(() => this._configureForScreenReader()));
115
- this._register(this.configurationService.onDidChangeConfiguration((e) => {
116
- if (( e.affectedKeys.has(
117
- "accessibility.verbosity.panelChat"
118
- ))) {
119
- this._configureForScreenReader();
120
- }
121
- }));
122
- this._register(this.options.onDidChange(() => {
123
- this.editor.updateOptions(this.getEditorOptionsFromConfig());
124
- }));
125
- this._register(this.editor.onDidScrollChange(e => {
126
- this.currentScrollWidth = e.scrollWidth;
127
- }));
128
- this._register(this.editor.onDidContentSizeChange(e => {
129
- if (e.contentHeightChanged) {
130
- this._onDidChangeContentHeight.fire();
131
- }
132
- }));
133
- this._register(this.editor.onDidBlurEditorWidget(() => {
134
- this.element.classList.remove('focused');
135
- WordHighlighterContribution.get(this.editor)?.stopHighlighting();
136
- }));
137
- this._register(this.editor.onDidFocusEditorWidget(() => {
138
- this.element.classList.add('focused');
139
- WordHighlighterContribution.get(this.editor)?.restoreViewState(true);
140
- }));
141
- this.textModel = this._register(this.modelService.createModel('', null, undefined, true));
142
- this.editor.setModel(this.textModel);
143
- }
144
- focus() {
145
- this.editor.focus();
146
- }
147
- updatePaddingForLayout() {
148
- const horizontalScrollbarVisible = this.currentScrollWidth > this.editor.getLayoutInfo().contentWidth;
149
- const scrollbarHeight = this.editor.getLayoutInfo().horizontalScrollbarHeight;
150
- const bottomPadding = horizontalScrollbarVisible ?
151
- Math.max(defaultCodeblockPadding - scrollbarHeight, 2) :
152
- defaultCodeblockPadding;
153
- this.editor.updateOptions({ padding: { top: defaultCodeblockPadding, bottom: bottomPadding } });
154
- }
155
- _configureForScreenReader() {
156
- const toolbarElt = this.toolbar.getElement();
157
- if (this.accessibilityService.isScreenReaderOptimized()) {
158
- toolbarElt.style.display = 'block';
159
- toolbarElt.ariaLabel = this.configurationService.getValue("accessibility.verbosity.panelChat" ) ? ( localizeWithPath(
160
- 'vs/workbench/contrib/chat/browser/codeBlockPart',
161
- 'chat.codeBlock.toolbarVerbose',
162
- 'Toolbar for code block which can be reached via tab'
163
- )) : ( localizeWithPath(
164
- 'vs/workbench/contrib/chat/browser/codeBlockPart',
165
- 'chat.codeBlock.toolbar',
166
- 'Code block toolbar'
167
- ));
168
- }
169
- else {
170
- toolbarElt.style.display = '';
171
- }
172
- }
173
- getEditorOptionsFromConfig() {
174
- return {
175
- wordWrap: this.options.configuration.resultEditor.wordWrap,
176
- fontLigatures: this.options.configuration.resultEditor.fontLigatures,
177
- bracketPairColorization: this.options.configuration.resultEditor.bracketPairColorization,
178
- fontFamily: this.options.configuration.resultEditor.fontFamily === 'default' ?
179
- EDITOR_FONT_DEFAULTS.fontFamily :
180
- this.options.configuration.resultEditor.fontFamily,
181
- fontSize: this.options.configuration.resultEditor.fontSize,
182
- fontWeight: this.options.configuration.resultEditor.fontWeight,
183
- lineHeight: this.options.configuration.resultEditor.lineHeight,
184
- };
185
- }
186
- layout(width) {
187
- const realContentHeight = this.editor.getContentHeight();
188
- const editorBorder = 2;
189
- this.editor.layout({ width: width - editorBorder, height: realContentHeight });
190
- this.updatePaddingForLayout();
191
- }
192
- render(data, width) {
193
- this.currentCodeBlockData = data;
194
- if (data.parentContextKeyService) {
195
- this.contextKeyService.updateParent(data.parentContextKeyService);
196
- }
197
- if (this.options.configuration.resultEditor.wordWrap === 'on') {
198
- this.layout(width);
199
- }
200
- const text = this.fixCodeText(data.text, data.languageId);
201
- this.setText(text);
202
- const vscodeLanguageId = this.languageService.getLanguageIdByLanguageName(data.languageId) ?? undefined;
203
- this.setLanguage(vscodeLanguageId);
204
- this.layout(width);
205
- this.editor.updateOptions({ ariaLabel: ( localizeWithPath(
206
- 'vs/workbench/contrib/chat/browser/codeBlockPart',
207
- 'chat.codeBlockLabel',
208
- "Code block {0}",
209
- data.codeBlockIndex + 1
210
- )) });
211
- this.toolbar.context = {
212
- code: data.text,
213
- codeBlockIndex: data.codeBlockIndex,
214
- element: data.element,
215
- languageId: vscodeLanguageId
216
- };
217
- if (data.hideToolbar) {
218
- dom.hide(this.toolbar.getElement());
219
- }
220
- else {
221
- dom.show(this.toolbar.getElement());
222
- }
223
- if (data.vulns?.length && isResponseVM(data.element)) {
224
- dom.clearNode(this.vulnsListElement);
225
- this.element.classList.remove('no-vulns');
226
- this.element.classList.toggle('chat-vulnerabilities-collapsed', !data.element.vulnerabilitiesListExpanded);
227
- dom.append(this.vulnsListElement, ...( data.vulns.map(
228
- v => $('li', undefined, $('span.chat-vuln-title', undefined, v.title), ' ' + v.description)
229
- )));
230
- this.vulnsButton.label = this.getVulnerabilitiesLabel();
231
- }
232
- else {
233
- this.element.classList.add('no-vulns');
234
- }
235
- }
236
- getVulnerabilitiesLabel() {
237
- if (!this.currentCodeBlockData || !this.currentCodeBlockData.vulns) {
238
- return '';
239
- }
240
- const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ?
241
- ( localizeWithPath(
242
- 'vs/workbench/contrib/chat/browser/codeBlockPart',
243
- 'vulnerabilitiesPlural',
244
- "{0} vulnerabilities",
245
- this.currentCodeBlockData.vulns.length
246
- )) :
247
- ( localizeWithPath(
248
- 'vs/workbench/contrib/chat/browser/codeBlockPart',
249
- 'vulnerabilitiesSingular',
250
- "{0} vulnerability",
251
- 1
252
- ));
253
- const icon = (element) => element.vulnerabilitiesListExpanded ? Codicon.chevronDown : Codicon.chevronRight;
254
- return `${referencesLabel} $(${icon(this.currentCodeBlockData.element).id})`;
255
- }
256
- fixCodeText(text, languageId) {
257
- if (languageId === 'php') {
258
- if (!text.trim().startsWith('<')) {
259
- return `<?php\n${text}\n?>`;
260
- }
261
- }
262
- return text;
263
- }
264
- setText(newText) {
265
- const currentText = this.textModel.getValue(1 );
266
- if (newText === currentText) {
267
- return;
268
- }
269
- if (newText.startsWith(currentText)) {
270
- const text = newText.slice(currentText.length);
271
- const lastLine = this.textModel.getLineCount();
272
- const lastCol = this.textModel.getLineMaxColumn(lastLine);
273
- this.textModel.applyEdits([{ range: ( new Range(lastLine, lastCol, lastLine, lastCol)), text }]);
274
- }
275
- else {
276
- this.textModel.setValue(newText);
277
- }
278
- }
279
- setLanguage(vscodeLanguageId) {
280
- this.textModel.setLanguage(vscodeLanguageId ?? PLAINTEXT_LANGUAGE_ID);
281
- }
282
- };
283
- CodeBlockPart = ( __decorate([
284
- ( __param(2, IInstantiationService)),
285
- ( __param(3, IContextKeyService)),
286
- ( __param(4, ILanguageService)),
287
- ( __param(5, IModelService)),
288
- ( __param(6, IConfigurationService)),
289
- ( __param(7, IAccessibilityService))
290
- ], CodeBlockPart));
291
-
292
- export { CodeBlockPart };
@@ -1,169 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
2
- import { coalesce } from 'monaco-editor/esm/vs/base/common/arrays.js';
3
- import { MarkdownString } from 'monaco-editor/esm/vs/base/common/htmlContent.js';
4
- import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
- import { basename } from 'monaco-editor/esm/vs/base/common/resources.js';
6
- import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
7
- import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
8
- import { ITextModelService } from 'monaco-editor/esm/vs/editor/common/services/resolverService.js';
9
- import { Action2, registerAction2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
10
- import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
11
- import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
12
- import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
13
- import { ChatWidget } from '../chatWidget.js';
14
-
15
- var ChatDynamicVariableModel_1;
16
- const dynamicVariableDecorationType = 'chat-dynamic-variable';
17
- let ChatDynamicVariableModel = class ChatDynamicVariableModel extends Disposable {
18
- static { ChatDynamicVariableModel_1 = this; }
19
- static { this.ID = 'chatDynamicVariableModel'; }
20
- get variables() {
21
- return [...this._variables];
22
- }
23
- get id() {
24
- return ChatDynamicVariableModel_1.ID;
25
- }
26
- constructor(widget, labelService, logService) {
27
- super();
28
- this.widget = widget;
29
- this.labelService = labelService;
30
- this.logService = logService;
31
- this._variables = [];
32
- this._register(widget.inputEditor.onDidChangeModelContent(e => {
33
- e.changes.forEach(c => {
34
- this._variables = coalesce(( this._variables.map(ref => {
35
- if (Range.areIntersecting(ref.range, c.range)) {
36
- return null;
37
- }
38
- else if (Range.compareRangesUsingStarts(ref.range, c.range) > 0) {
39
- const delta = c.text.length - c.rangeLength;
40
- return {
41
- ...ref,
42
- range: {
43
- startLineNumber: ref.range.startLineNumber,
44
- startColumn: ref.range.startColumn + delta,
45
- endLineNumber: ref.range.endLineNumber,
46
- endColumn: ref.range.endColumn + delta
47
- }
48
- };
49
- }
50
- return ref;
51
- })));
52
- });
53
- this.updateDecorations();
54
- }));
55
- }
56
- getInputState() {
57
- return this.variables;
58
- }
59
- setInputState(s) {
60
- if (!Array.isArray(s)) {
61
- this.logService.warn('ChatDynamicVariableModel.setInputState called with invalid state: ' + JSON.stringify(s));
62
- return;
63
- }
64
- this._variables = s;
65
- this.updateDecorations();
66
- }
67
- addReference(ref) {
68
- this._variables.push(ref);
69
- this.updateDecorations();
70
- }
71
- updateDecorations() {
72
- this.widget.inputEditor.setDecorationsByType('chat', dynamicVariableDecorationType, ( this._variables.map(r => ({
73
- range: r.range,
74
- hoverMessage: this.getHoverForReference(r)
75
- }))));
76
- }
77
- getHoverForReference(ref) {
78
- const value = ref.data[0];
79
- if (URI.isUri(value.value)) {
80
- return ( new MarkdownString(this.labelService.getUriLabel(value.value, { relative: true })));
81
- }
82
- else {
83
- return ( value.value.toString());
84
- }
85
- }
86
- };
87
- ChatDynamicVariableModel = ChatDynamicVariableModel_1 = ( __decorate([
88
- ( __param(1, ILabelService)),
89
- ( __param(2, ILogService))
90
- ], ChatDynamicVariableModel));
91
- ChatWidget.CONTRIBS.push(ChatDynamicVariableModel);
92
- function isSelectAndInsertFileActionContext(context) {
93
- return 'widget' in context && 'range' in context;
94
- }
95
- class SelectAndInsertFileAction extends Action2 {
96
- static { this.ID = 'workbench.action.chat.selectAndInsertFile'; }
97
- constructor() {
98
- super({
99
- id: SelectAndInsertFileAction.ID,
100
- title: ''
101
- });
102
- }
103
- async run(accessor, ...args) {
104
- const textModelService = accessor.get(ITextModelService);
105
- const logService = accessor.get(ILogService);
106
- const context = args[0];
107
- if (!isSelectAndInsertFileActionContext(context)) {
108
- return;
109
- }
110
- const doCleanup = () => {
111
- context.widget.inputEditor.executeEdits('chatInsertFile', [{ range: context.range, text: `` }]);
112
- };
113
- const quickInputService = accessor.get(IQuickInputService);
114
- const picks = await quickInputService.quickAccess.pick('');
115
- if (!picks?.length) {
116
- logService.trace('SelectAndInsertFileAction: no file selected');
117
- doCleanup();
118
- return;
119
- }
120
- const resource = picks[0].resource;
121
- if (!textModelService.canHandleResource(resource)) {
122
- logService.trace('SelectAndInsertFileAction: non-text resource selected');
123
- doCleanup();
124
- return;
125
- }
126
- const fileName = basename(resource);
127
- const editor = context.widget.inputEditor;
128
- const text = `#file:${fileName}`;
129
- const range = context.range;
130
- const success = editor.executeEdits('chatInsertFile', [{ range, text: text + ' ' }]);
131
- if (!success) {
132
- logService.trace(`SelectAndInsertFileAction: failed to insert "${text}"`);
133
- doCleanup();
134
- return;
135
- }
136
- context.widget.getContrib(ChatDynamicVariableModel.ID)?.addReference({
137
- range: { startLineNumber: range.startLineNumber, startColumn: range.startColumn, endLineNumber: range.endLineNumber, endColumn: range.startColumn + text.length },
138
- data: [{ level: 'full', value: resource }]
139
- });
140
- }
141
- }
142
- registerAction2(SelectAndInsertFileAction);
143
- function isAddDynamicVariableContext(context) {
144
- return 'widget' in context &&
145
- 'range' in context &&
146
- 'variableData' in context;
147
- }
148
- class AddDynamicVariableAction extends Action2 {
149
- static { this.ID = 'workbench.action.chat.addDynamicVariable'; }
150
- constructor() {
151
- super({
152
- id: AddDynamicVariableAction.ID,
153
- title: ''
154
- });
155
- }
156
- async run(accessor, ...args) {
157
- const context = args[0];
158
- if (!isAddDynamicVariableContext(context)) {
159
- return;
160
- }
161
- context.widget.getContrib(ChatDynamicVariableModel.ID)?.addReference({
162
- range: context.range,
163
- data: context.variableData
164
- });
165
- }
166
- }
167
- registerAction2(AddDynamicVariableAction);
168
-
169
- export { AddDynamicVariableAction, ChatDynamicVariableModel, SelectAndInsertFileAction, dynamicVariableDecorationType };
@@ -1,6 +0,0 @@
1
- import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
-
3
- var css = ".interactive-session{margin:auto;max-width:850px}.interactive-list>.monaco-list>.monaco-scrollable-element>.monaco-list-rows>.monaco-list-row>.monaco-tl-row>.monaco-tl-twistie{display:none!important}.interactive-item-container{color:var(--vscode-interactive-session-foreground);cursor:default;display:flex;flex-direction:column;gap:8px;padding:16px 20px;user-select:text;-webkit-user-select:text}.interactive-item-container .header{align-items:center;display:flex;justify-content:space-between}.interactive-item-container .header.hidden{display:none}.interactive-item-container .header .user{align-items:center;display:flex;gap:6px}.interactive-item-container .header .username{font-size:12px;font-weight:600;margin:0}.interactive-item-container .header .detail-container{font-size:.9em;opacity:.7}.interactive-item-container .chat-animated-ellipsis{display:inline-block;width:11px}.interactive-item-container:not(.show-detail-progress) .chat-animated-ellipsis{display:none}@keyframes ellipsis{0%{content:\"\"}25%{content:\".\"}50%{content:\"..\"}75%{content:\"...\"}to{content:\"\"}}.interactive-item-container .chat-animated-ellipsis:after{animation:ellipsis 1s steps(4) infinite;content:\"\";overflow:hidden;white-space:nowrap;width:3em}.interactive-item-container .header .avatar-container{display:flex;pointer-events:none;user-select:none}.interactive-item-container .header .avatar{align-items:center;border-radius:50%;display:flex;height:24px;justify-content:center;outline:1px solid var(--vscode-chat-requestBorder);width:24px}.interactive-item-container .header .avatar.codicon-avatar{background:var(--vscode-chat-avatarBackground)}.interactive-item-container .header .avatar+.avatar{margin-left:-8px}.interactive-item-container .header .avatar .icon{border-radius:50%;height:24px;width:24px}.interactive-item-container .header .avatar .codicon{color:var(--vscode-chat-avatarForeground)!important;font-size:14px}.interactive-item-container .header .agent-avatar-container{margin-left:-30px;transition:margin .15s ease-out;transition-delay:.5s;z-index:-1}.interactive-item-container .header .agent-avatar-container.loading{margin-left:0;z-index:1}.interactive-item-container .header .agent-avatar-container.complete{margin-left:-12px;z-index:1}.monaco-list-row:not(.focused) .interactive-item-container:not(:hover) .header .monaco-toolbar,.monaco-list-row:not(.focused) .interactive-item-container:not(:hover) .header .monaco-toolbar .action-label,.monaco-list:not(:focus-within) .monaco-list-row .interactive-item-container:not(:hover) .header .monaco-toolbar,.monaco-list:not(:focus-within) .monaco-list-row .interactive-item-container:not(:hover) .header .monaco-toolbar .action-label{display:none}.interactive-item-container .header .monaco-toolbar .monaco-action-bar .actions-container{gap:4px}.interactive-item-container .header .monaco-toolbar .action-label{border:1px solid transparent;padding:2px}.interactive-item-container .header .monaco-toolbar .checked.action-label,.interactive-item-container .header .monaco-toolbar .checked.action-label:hover{background-color:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);color:var(--vscode-inputOption-activeForeground)!important}.interactive-item-container .value{width:100%}.interactive-item-container .value .rendered-markdown table{margin-bottom:16px;text-align:left;width:100%}.interactive-item-container .value .rendered-markdown table,.interactive-item-container .value .rendered-markdown table td,.interactive-item-container .value .rendered-markdown table th{border:1px solid var(--vscode-chat-requestBorder);border-collapse:collapse;padding:4px 6px}.interactive-item-container .value .interactive-session-followups,.interactive-item-container .value .rendered-markdown a,.interactive-item-container .value .rendered-markdown a code{color:var(--vscode-textLink-foreground)}.interactive-item-container .value .rendered-markdown a:active,.interactive-item-container .value .rendered-markdown a:hover{color:var(--vscode-textLink-activeForeground)}.hc-black .interactive-item-container .value .rendered-markdown a code,.hc-black .interactive-item-container .value .rendered-markdown a:active,.hc-black .interactive-item-container .value .rendered-markdown a:hover,.hc-light .interactive-item-container .value .rendered-markdown a code,.hc-light .interactive-item-container .value .rendered-markdown a:active,.hc-light .interactive-item-container .value .rendered-markdown a:hover{color:var(--vscode-textPreformat-foreground)}.interactive-list{overflow:hidden}.interactive-request{border-bottom:1px solid var(--vscode-chat-requestBorder);border-top:1px solid var(--vscode-chat-requestBorder)}.interactive-item-container .value{word-wrap:break-word;white-space:normal}.interactive-item-container .value>:last-child.rendered-markdown>:last-child{margin-bottom:0}.interactive-item-container .value .rendered-markdown h1{font-size:20px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown h2{font-size:16px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown h3{font-size:14px;font-weight:600;margin:16px 0}.interactive-item-container .value .rendered-markdown p{line-height:1.5em;margin:0 0 16px}.interactive-item-container .value .rendered-markdown ul{padding-inline-start:24px}.interactive-item-container .value .rendered-markdown ol{padding-inline-start:28px}.interactive-item-container .value .rendered-markdown li{line-height:1.3rem}.interactive-item-container .monaco-tokenized-source,.interactive-item-container code{background-color:var(--vscode-textPreformat-background);border-radius:4px;color:var(--vscode-textPreformat-foreground);font-family:var(--monaco-monospace-font);font-size:12px;padding:1px 3px}.interactive-item-container.interactive-item-compact{padding:8px 20px}.interactive-item-container.interactive-item-compact.no-padding{gap:unset;padding:unset}.interactive-item-container.interactive-item-compact .header{height:16px}.interactive-item-container.interactive-item-compact .header .avatar{height:18px;width:18px}.interactive-item-container.interactive-item-compact .header .avatar .icon{height:16px;width:16px}.interactive-item-container.interactive-item-compact .header .codicon-avatar .codicon{font-size:12px}.interactive-item-container.interactive-item-compact .header .avatar+.avatar{margin-left:-4px}.interactive-item-container.interactive-item-compact .value{min-height:0}.interactive-item-container.interactive-item-compact .value .rendered-markdown h1,.interactive-item-container.interactive-item-compact .value .rendered-markdown h2,.interactive-item-container.interactive-item-compact .value .rendered-markdown h3{margin:8px 0}.interactive-item-container.interactive-item-compact .value .rendered-markdown p{margin:0 0 8px}.interactive-session .interactive-input-and-execute-toolbar{align-items:center;background-color:var(--vscode-input-background);border:1px solid var(--vscode-input-border,transparent);border-radius:4px;box-sizing:border-box;cursor:text;display:flex;justify-content:space-between;margin:0 20px 4px;padding:0 6px;position:relative}.interactive-session .interactive-input-and-side-toolbar{align-items:center;display:flex;gap:4px}.interactive-session .interactive-input-and-execute-toolbar.focused{border-color:var(--vscode-focusBorder)}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor,.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .monaco-editor-background{background-color:var(--vscode-input-background)!important}.interactive-session .interactive-input-and-execute-toolbar .monaco-editor .cursors-layer{padding-left:4px}.interactive-session .interactive-input-part .interactive-execute-toolbar{height:22px}.interactive-session .interactive-input-part .interactive-execute-toolbar .codicon-debug-stop{color:var(--vscode-icon-foreground)!important}.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor,.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor .margin,.interactive-response .interactive-result-code-block .interactive-result-editor .monaco-editor .monaco-editor-background{background-color:var(--vscode-interactive-result-editor-background-color)!important}.interactive-item-compact .interactive-result-code-block{margin:0 0 8px}.interactive-item-container .interactive-result-code-block .monaco-toolbar .monaco-action-bar .actions-container{padding-inline-start:unset}.interactive-response .interactive-response-error-details{align-items:start;display:flex;gap:6px}.interactive-response .interactive-response-error-details .rendered-markdown :last-child{margin-bottom:0}.interactive-response .interactive-response-error-details .codicon{margin-top:1px}.interactive-response .interactive-response-error-details .codicon-error{color:var(--vscode-errorForeground)!important}.interactive-response .interactive-response-error-details .codicon-info{color:var(--vscode-notificationsInfoIcon-foreground)!important}.interactive-session .interactive-input-part{display:flex;flex-direction:column;padding:12px 0}.interactive-session-followups{align-items:start;display:flex;flex-direction:column;gap:6px}.interactive-session-followups .monaco-button{text-align:left;width:auto}.interactive-session-followups .monaco-button .codicon{margin-left:0;margin-top:1px}.interactive-item-container .interactive-response-followups .monaco-button{padding:4px 8px}.interactive-session .interactive-input-part .interactive-input-followups{margin:0 20px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups{margin-bottom:8px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups .monaco-button{color:var(--vscode-textLink-foreground);display:block;font-size:12px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups code{font-family:var(--monaco-monospace-font);font-size:11px}.interactive-session .interactive-input-part .interactive-input-followups .interactive-session-followups .monaco-button .codicon-sparkle{float:left}.interactive-session-followups .monaco-button.interactive-followup-reply{border:none;padding:0}.interactive-welcome .value .interactive-session-followups{margin-bottom:16px}.interactive-item-container .monaco-toolbar .codicon{color:var(--vscode-icon-foreground)!important}.interactive-item-container.filtered-response .value>.rendered-markdown{-webkit-mask-image:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.05) 60%,transparent 80%);mask-image:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.05) 60%,transparent 80%);pointer-events:none}.quick-input-widget .interactive-session .interactive-input-part{padding:8px 6px 6px}.quick-input-widget .interactive-session .interactive-input-part .interactive-execute-toolbar{bottom:1px}.quick-input-widget .interactive-session .interactive-input-and-execute-toolbar{border-radius:2px;margin:0;padding:0 4px 0 6px}.quick-input-widget .interactive-list{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.quick-input-widget .interactive-response{min-height:86px}.interactive-response-progress-tree .monaco-list-row:not(.selected) .monaco-tl-row:hover{background-color:var(--vscode-list-hoverBackground)}.interactive-response-progress-tree{margin:16px 0}.interactive-response-progress-tree.focused{border-color:var(--vscode-focusBorder,transparent)}.interactive-item-container .value .interactive-response-placeholder-codicon .codicon{color:var(--vscode-editorGhostText-foreground)}.interactive-item-container .value .interactive-response-placeholder-content{color:var(--vscode-editorGhostText-foreground);font-size:12px}.interactive-response .interactive-response-codicon-details{align-items:start;display:flex;gap:6px}.chat-used-context-list .monaco-list{border:none;border-radius:4px;width:auto}.interactive-item-container .chat-resource-widget{background-color:var(--vscode-chat-slashCommandBackground);border-radius:4px;color:var(--vscode-chat-slashCommandForeground);padding:1px 3px;white-space:nowrap}.interactive-session .chat-used-context.chat-used-context-collapsed .chat-used-context-list{display:none}.interactive-session .chat-used-context{display:flex;flex-direction:column;gap:6px}.interactive-response-progress-tree,.interactive-session .chat-used-context-list{border:1px solid var(--vscode-chat-requestBorder);border-radius:4px;margin-bottom:8px;padding:4px}.interactive-session .chat-used-context-list .monaco-list .monaco-list-row{border-radius:2px}.interactive-session .chat-used-context-label{color:var(--vscode-foreground);font-size:12px;opacity:.8;user-select:none}.interactive-session .chat-used-context-label:hover{opacity:unset}.interactive-session .chat-used-context-label .monaco-button{border:none;display:inline-flex;justify-content:normal;padding:0;text-align:initial;width:100%}.interactive-session .chat-used-context-label .monaco-text-button:focus{outline:none}.interactive-session .chat-used-context-label .monaco-text-button:focus-visible{outline:1px solid var(--vscode-focusBorder)}.interactive-session .chat-used-context .chat-used-context-label .monaco-button .codicon{margin:0 0 0 4px}.interactive-item-container .progress-steps{display:flex;flex-direction:column;gap:4px;margin-left:4px;white-space:normal}.interactive-item-container .progress-steps .progress-step{align-items:center;display:flex;gap:5px;opacity:.7}.interactive-item-container .progress-steps .progress-step .codicon{color:var(--vscode-icon-foreground)!important}.interactive-item-container .progress-steps .progress-step .codicon.codicon-check{color:var(--vscode-debugIcon-startForeground)!important;font-size:14px}";
4
- n(css,{});
5
-
6
- export { css, css as default };