@codingame/monaco-vscode-extensions-service-override 22.1.9 → 23.0.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.
Files changed (78) hide show
  1. package/index.js +1 -0
  2. package/package.json +30 -29
  3. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
  4. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +3 -1
  5. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +47 -41
  6. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +1 -1
  7. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
  8. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +3 -1
  9. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +52 -24
  10. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +16 -0
  11. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +43 -0
  12. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +23 -17
  13. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +133 -90
  14. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.d.ts +2 -1
  15. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.d.ts +1 -1
  16. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.d.ts +1 -1
  17. package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +6 -2
  18. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +1 -1
  19. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +8 -6
  20. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.d.ts +1 -1
  21. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.d.ts +1 -1
  22. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  23. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
  24. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
  25. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +7 -7
  26. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
  27. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +1 -1
  28. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.d.ts +1 -1
  29. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +1 -1
  30. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +21 -14
  31. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
  32. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +7 -5
  33. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +17 -6
  34. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +1 -1
  35. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +3 -3
  36. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +5 -5
  37. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +29 -21
  38. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  39. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +4 -5
  40. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +2 -2
  41. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +2 -2
  42. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +2 -2
  43. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.d.ts +1 -1
  44. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +13 -17
  45. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +2 -2
  46. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
  47. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.d.ts +24 -3
  49. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +172 -55
  50. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +2 -1
  51. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +57 -6
  52. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
  53. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +2 -1
  54. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +1 -1
  55. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +2 -2
  56. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.d.ts +2 -1
  57. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +6 -6
  58. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +7 -7
  59. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
  60. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
  61. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +1 -1
  62. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +5 -5
  63. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +1 -1
  64. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
  65. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  67. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +3 -1
  68. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
  69. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
  70. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +2 -2
  71. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +1 -1
  72. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +12 -12
  73. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
  74. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
  75. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
  76. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.d.ts +1 -0
  77. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +6 -0
  78. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +1 -1
@@ -1,19 +1,38 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Toggle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/toggle/toggle';
4
+ import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
5
+ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { basenameOrAuthority, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
8
+ import { URI, isUriComponents } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
9
+ import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
10
+ import { getIconClasses } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/getIconClasses';
11
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
12
+ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
13
+ import { QuickInputButtonLocation } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput';
3
14
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
4
- import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
15
+ import { asCssVariable } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
16
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
17
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/chartsColors';
18
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/editorColors';
19
+ import { inputActiveOptionBackground, inputActiveOptionForeground, inputActiveOptionBorder } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/inputColors';
20
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/listColors';
21
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/menuColors';
22
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/minimapColors';
23
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/miscColors';
24
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
25
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
26
+ import { ICustomEditorLabelService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/customEditorLabelService.service';
5
27
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
6
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
- import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
28
+ import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
8
29
 
9
- function reviveIconPathUris(iconPath) {
10
- iconPath.dark = URI.revive(iconPath.dark);
11
- if (iconPath.light) {
12
- iconPath.light = URI.revive(iconPath.light);
13
- }
14
- }
15
30
  let MainThreadQuickOpen = class MainThreadQuickOpen {
16
- constructor(extHostContext, quickInputService) {
31
+ constructor(extHostContext, quickInputService, labelService, customEditorLabelService, modelService, languageService) {
32
+ this.labelService = labelService;
33
+ this.customEditorLabelService = customEditorLabelService;
34
+ this.modelService = modelService;
35
+ this.languageService = languageService;
17
36
  this._items = {};
18
37
  this.sessions = ( new Map());
19
38
  this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostQuickOpen));
@@ -55,6 +74,7 @@ let MainThreadQuickOpen = class MainThreadQuickOpen {
55
74
  }
56
75
  $setItems(instance, items) {
57
76
  if (this._items[instance]) {
77
+ items.forEach(item => this.expandItemProps(item));
58
78
  this._items[instance].resolve(items);
59
79
  delete this._items[instance];
60
80
  }
@@ -119,59 +139,71 @@ let MainThreadQuickOpen = class MainThreadQuickOpen {
119
139
  session = {
120
140
  input,
121
141
  handlesToItems: ( new Map()),
142
+ handlesToToggles: ( new Map()),
122
143
  store
123
144
  };
124
145
  this.sessions.set(sessionId, session);
125
146
  }
126
147
  const { input, handlesToItems } = session;
148
+ const quickPick = input;
127
149
  for (const param in params) {
128
- if (param === 'id' || param === 'type') {
129
- continue;
130
- }
131
- if (param === 'visible') {
132
- if (params.visible) {
133
- input.show();
134
- }
135
- else {
136
- input.hide();
137
- }
138
- }
139
- else if (param === 'items') {
140
- handlesToItems.clear();
141
- params[param].forEach((item) => {
142
- if (item.type === 'separator') {
143
- return;
144
- }
145
- if (item.buttons) {
146
- item.buttons = ( item.buttons.map((button) => {
147
- if (button.iconPath) {
148
- reviveIconPathUris(button.iconPath);
149
- }
150
- return button;
151
- }));
150
+ switch (param) {
151
+ case 'id':
152
+ case 'type':
153
+ continue;
154
+ case 'visible':
155
+ if (params.visible) {
156
+ input.show();
152
157
  }
153
- handlesToItems.set(item.handle, item);
154
- });
155
- input[param] = params[param];
156
- }
157
- else if (param === 'activeItems' || param === 'selectedItems') {
158
- input[param] = ( params[param]
159
- .filter((handle) => ( handlesToItems.has(handle)))
160
- .map((handle) => handlesToItems.get(handle)));
161
- }
162
- else if (param === 'buttons') {
163
- input[param] = ( params.buttons.map(button => {
164
- if (button.handle === -1) {
165
- return this._quickInputService.backButton;
158
+ else {
159
+ input.hide();
166
160
  }
167
- if (button.iconPath) {
168
- reviveIconPathUris(button.iconPath);
161
+ break;
162
+ case 'items': {
163
+ handlesToItems.clear();
164
+ params.items?.forEach((item) => {
165
+ this.expandItemProps(item);
166
+ if (item.type !== 'separator') {
167
+ item.buttons?.forEach(button => this.expandIconPath(button));
168
+ handlesToItems.set(item.handle, item);
169
+ }
170
+ });
171
+ quickPick.items = params.items;
172
+ break;
173
+ }
174
+ case 'activeItems':
175
+ quickPick.activeItems = params.activeItems
176
+ ?.map((handle) => handlesToItems.get(handle))
177
+ .filter(Boolean);
178
+ break;
179
+ case 'selectedItems':
180
+ quickPick.selectedItems = params.selectedItems
181
+ ?.map((handle) => handlesToItems.get(handle))
182
+ .filter(Boolean);
183
+ break;
184
+ case 'buttons': {
185
+ const buttons = [], toggles = [];
186
+ for (const button of params.buttons) {
187
+ if (button.handle === -1) {
188
+ buttons.push(this._quickInputService.backButton);
189
+ }
190
+ else {
191
+ this.expandIconPath(button);
192
+ if (button.location === QuickInputButtonLocation.Input) {
193
+ toggles.push(button);
194
+ }
195
+ else {
196
+ buttons.push(button);
197
+ }
198
+ }
169
199
  }
170
- return button;
171
- }));
172
- }
173
- else {
174
- input[param] = params[param];
200
+ input.buttons = buttons;
201
+ this.updateToggles(sessionId, session, toggles);
202
+ break;
203
+ }
204
+ default:
205
+ input[param] = params[param];
206
+ break;
175
207
  }
176
208
  }
177
209
  return Promise.resolve(undefined);
@@ -184,10 +216,95 @@ let MainThreadQuickOpen = class MainThreadQuickOpen {
184
216
  }
185
217
  return Promise.resolve(undefined);
186
218
  }
219
+ expandItemProps(item) {
220
+ if (item.type === 'separator') {
221
+ return;
222
+ }
223
+ if (!item.resourceUri) {
224
+ this.expandIconPath(item);
225
+ return;
226
+ }
227
+ const resourceUri = ( URI.from(item.resourceUri));
228
+ item.label ??= this.customEditorLabelService.getName(resourceUri) || '';
229
+ if (item.label) {
230
+ item.description ??= this.labelService.getUriLabel(resourceUri, { relative: true });
231
+ }
232
+ else {
233
+ item.label = basenameOrAuthority(resourceUri);
234
+ item.description ??= this.labelService.getUriLabel(dirname(resourceUri), { relative: true });
235
+ }
236
+ const icon = item.iconPathDto;
237
+ if (ThemeIcon.isThemeIcon(icon) && (ThemeIcon.isFile(icon) || ThemeIcon.isFolder(icon))) {
238
+ const iconClasses = ( new Lazy(() => getIconClasses(this.modelService, this.languageService, resourceUri)));
239
+ Object.defineProperty(item, 'iconClasses', { get: () => iconClasses.value });
240
+ }
241
+ else {
242
+ this.expandIconPath(item);
243
+ }
244
+ }
245
+ expandIconPath(target) {
246
+ const icon = target.iconPathDto;
247
+ if (!icon) {
248
+ return;
249
+ }
250
+ else if (ThemeIcon.isThemeIcon(icon)) {
251
+ target.iconClass = ThemeIcon.asClassName(icon);
252
+ }
253
+ else if (isUriComponents(icon)) {
254
+ const uri = ( URI.from(icon));
255
+ target.iconPath = { dark: uri, light: uri };
256
+ }
257
+ else {
258
+ const { dark, light } = icon;
259
+ target.iconPath = { dark: ( URI.from(dark)), light: ( URI.from(light)) };
260
+ }
261
+ }
262
+ updateToggles(sessionId, session, buttons) {
263
+ const { input, handlesToToggles, store } = session;
264
+ const toggles = [];
265
+ for (const button of buttons) {
266
+ const title = button.tooltip || '';
267
+ const isChecked = !!button.checked;
268
+ const icon = ThemeIcon.isThemeIcon(button.iconPathDto) ? button.iconPathDto : undefined;
269
+ let { toggle } = handlesToToggles.get(button.handle) || {};
270
+ if (toggle) {
271
+ toggle.setTitle(title);
272
+ toggle.setIcon(icon);
273
+ toggle.checked = isChecked;
274
+ }
275
+ else {
276
+ toggle = store.add(( new Toggle({
277
+ title,
278
+ icon,
279
+ isChecked,
280
+ inputActiveOptionBorder: asCssVariable(inputActiveOptionBorder),
281
+ inputActiveOptionForeground: asCssVariable(inputActiveOptionForeground),
282
+ inputActiveOptionBackground: asCssVariable(inputActiveOptionBackground)
283
+ })));
284
+ const listener = store.add(toggle.onChange(() => {
285
+ this._proxy.$onDidTriggerButton(sessionId, button.handle, toggle.checked);
286
+ }));
287
+ handlesToToggles.set(button.handle, { toggle, listener });
288
+ }
289
+ toggles.push(toggle);
290
+ }
291
+ for (const [handle, { toggle, listener }] of handlesToToggles) {
292
+ if (!( buttons.some(button => button.handle === handle))) {
293
+ handlesToToggles.delete(handle);
294
+ store.delete(toggle);
295
+ store.delete(listener);
296
+ }
297
+ }
298
+ input.toggles = toggles;
299
+ }
187
300
  };
188
301
  MainThreadQuickOpen = __decorate([
189
302
  extHostNamedCustomer(MainContext.MainThreadQuickOpen),
190
- ( __param(1, IQuickInputService))
303
+ ( __param(1, IQuickInputService)),
304
+ ( __param(2, ILabelService)),
305
+ ( __param(3, ICustomEditorLabelService)),
306
+ ( __param(4, IModelService)),
307
+ ( __param(5, ILanguageService))
191
308
  ], MainThreadQuickOpen);
192
309
 
193
310
  export { MainThreadQuickOpen };
@@ -1,5 +1,5 @@
1
1
  import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
- import { InputValidationType } from "@codingame/monaco-vscode-ff9fa663-eae3-5274-8573-c2b918871e4b-common/vscode/vs/workbench/contrib/scm/common/scm";
2
+ import { InputValidationType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm";
3
3
  import { ISCMViewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
4
4
  import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service";
5
5
  import { MainThreadSCMShape, SCMProviderFeatures, SCMRawResourceSplices, SCMGroupFeatures, SCMHistoryItemRefsChangeEventDto, SCMHistoryItemRefDto } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
@@ -53,4 +53,5 @@ export declare class MainThreadSCM implements MainThreadSCMShape {
53
53
  $setValidationProviderIsEnabled(sourceControlHandle: number, enabled: boolean): Promise<void>;
54
54
  $onDidChangeHistoryProviderCurrentHistoryItemRefs(sourceControlHandle: number, historyItemRef?: SCMHistoryItemRefDto, historyItemRemoteRef?: SCMHistoryItemRefDto, historyItemBaseRef?: SCMHistoryItemRefDto): Promise<void>;
55
55
  $onDidChangeHistoryProviderHistoryItemRefs(sourceControlHandle: number, historyItemRefs: SCMHistoryItemRefsChangeEventDto): Promise<void>;
56
+ $onDidChangeArtifacts(sourceControlHandle: number, groups: string[]): Promise<void>;
56
57
  }
@@ -12,7 +12,7 @@ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/c
12
12
  import { MarshalledId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
13
13
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
14
14
  import { IQuickDiffService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff.service';
15
- import { ResourceTree } from '@codingame/monaco-vscode-5084de40-f866-5cb5-9d9b-33a10f6f235d-common/vscode/vs/base/common/resourceTree';
15
+ import { ResourceTree } from '@codingame/monaco-vscode-bc6f260d-ec63-5c95-9446-1ca7d0872719-common/vscode/vs/base/common/resourceTree';
16
16
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
17
17
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
18
18
  import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
@@ -21,7 +21,7 @@ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/com
21
21
  import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
22
22
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
23
23
  import { structuralEquals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/equals';
24
- import { historyItemRefColor, historyItemRemoteRefColor, historyItemBaseRefColor } from '@codingame/monaco-vscode-5084de40-f866-5cb5-9d9b-33a10f6f235d-common/vscode/vs/workbench/contrib/scm/browser/scmHistory';
24
+ import { historyItemRefColor, historyItemRemoteRefColor, historyItemBaseRefColor } from '@codingame/monaco-vscode-be8ddbb5-094a-5657-b1cc-fe106c94c632-common/vscode/vs/workbench/contrib/scm/browser/scmHistory';
25
25
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
26
26
  import { observableValueOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValueOpts';
27
27
  import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
@@ -141,6 +141,30 @@ class MainThreadSCMResource {
141
141
  };
142
142
  }
143
143
  }
144
+ class MainThreadSCMArtifactProvider {
145
+ constructor(proxy, handle) {
146
+ this.proxy = proxy;
147
+ this.handle = handle;
148
+ this._onDidChangeArtifacts = ( new Emitter());
149
+ this.onDidChangeArtifacts = this._onDidChangeArtifacts.event;
150
+ this._disposables = ( new DisposableStore());
151
+ this._disposables.add(this._onDidChangeArtifacts);
152
+ }
153
+ async provideArtifactGroups(token) {
154
+ const artifactGroups = await this.proxy.$provideArtifactGroups(this.handle, token ?? CancellationToken.None);
155
+ return artifactGroups?.map(group => ({ ...group, icon: getIconFromIconDto(group.icon) }));
156
+ }
157
+ async provideArtifacts(group, token) {
158
+ const artifacts = await this.proxy.$provideArtifacts(this.handle, group, token ?? CancellationToken.None);
159
+ return artifacts?.map(artifact => ({ ...artifact, icon: getIconFromIconDto(artifact.icon) }));
160
+ }
161
+ $onDidChangeArtifacts(groups) {
162
+ this._onDidChangeArtifacts.fire(groups);
163
+ }
164
+ dispose() {
165
+ this._disposables.dispose();
166
+ }
167
+ }
144
168
  class MainThreadSCMHistoryProvider {
145
169
  get historyItemRef() { return this._historyItemRef; }
146
170
  get historyItemRemoteRef() { return this._historyItemRemoteRef; }
@@ -226,6 +250,7 @@ class MainThreadSCMProvider {
226
250
  get name() { return this._name ?? this._label; }
227
251
  get commitTemplate() { return this._commitTemplate; }
228
252
  get actionButton() { return this._actionButton; }
253
+ get artifactProvider() { return this._artifactProvider; }
229
254
  get historyProvider() { return this._historyProvider; }
230
255
  constructor(proxy, _handle, _parentHandle, _providerId, _label, _rootUri, _iconPath, _inputBoxTextModel, _quickDiffService, _uriIdentService, _workspaceContextService) {
231
256
  this.proxy = proxy;
@@ -251,6 +276,7 @@ class MainThreadSCMProvider {
251
276
  this._statusBarCommands = observableValue(this, undefined);
252
277
  this._commitTemplate = observableValue(this, '');
253
278
  this._actionButton = observableValue(this, undefined);
279
+ this._artifactProvider = observableValue(this, undefined);
254
280
  this._historyProvider = observableValue(this, undefined);
255
281
  if (_rootUri) {
256
282
  const folder = this._workspaceContextService.getWorkspaceFolder(_rootUri);
@@ -317,6 +343,13 @@ class MainThreadSCMProvider {
317
343
  this._stagedQuickDiff.dispose();
318
344
  this._stagedQuickDiff = undefined;
319
345
  }
346
+ if (features.hasArtifactProvider && !this.artifactProvider.get()) {
347
+ const artifactProvider = ( new MainThreadSCMArtifactProvider(this.proxy, this.handle));
348
+ this._artifactProvider.set(artifactProvider, undefined);
349
+ }
350
+ else if (features.hasArtifactProvider === false && this.artifactProvider.get()) {
351
+ this._artifactProvider.set(undefined, undefined);
352
+ }
320
353
  if (features.hasHistoryProvider && !this.historyProvider.get()) {
321
354
  const historyProvider = ( new MainThreadSCMHistoryProvider(this.proxy, this.handle));
322
355
  this._historyProvider.set(historyProvider, undefined);
@@ -414,16 +447,25 @@ class MainThreadSCMProvider {
414
447
  return result && URI.revive(result);
415
448
  }
416
449
  $onDidChangeHistoryProviderCurrentHistoryItemRefs(historyItemRef, historyItemRemoteRef, historyItemBaseRef) {
417
- if (!this.historyProvider.get()) {
450
+ const provider = this.historyProvider.get();
451
+ if (!provider) {
418
452
  return;
419
453
  }
420
- this._historyProvider.get()?.$onDidChangeCurrentHistoryItemRefs(historyItemRef, historyItemRemoteRef, historyItemBaseRef);
454
+ provider.$onDidChangeCurrentHistoryItemRefs(historyItemRef, historyItemRemoteRef, historyItemBaseRef);
421
455
  }
422
456
  $onDidChangeHistoryProviderHistoryItemRefs(historyItemRefs) {
423
- if (!this.historyProvider.get()) {
457
+ const provider = this.historyProvider.get();
458
+ if (!provider) {
459
+ return;
460
+ }
461
+ provider.$onDidChangeHistoryItemRefs(historyItemRefs);
462
+ }
463
+ $onDidChangeArtifacts(groups) {
464
+ const provider = this.artifactProvider.get();
465
+ if (!provider) {
424
466
  return;
425
467
  }
426
- this._historyProvider.get()?.$onDidChangeHistoryItemRefs(historyItemRefs);
468
+ provider.$onDidChangeArtifacts(groups);
427
469
  }
428
470
  toJSON() {
429
471
  return {
@@ -628,6 +670,15 @@ let MainThreadSCM = class MainThreadSCM {
628
670
  const provider = repository.provider;
629
671
  provider.$onDidChangeHistoryProviderHistoryItemRefs(historyItemRefs);
630
672
  }
673
+ async $onDidChangeArtifacts(sourceControlHandle, groups) {
674
+ await this._repositoryBarriers.get(sourceControlHandle)?.wait();
675
+ const repository = this._repositories.get(sourceControlHandle);
676
+ if (!repository) {
677
+ return;
678
+ }
679
+ const provider = repository.provider;
680
+ provider.$onDidChangeArtifacts(groups);
681
+ }
631
682
  };
632
683
  MainThreadSCM = __decorate([
633
684
  extHostNamedCustomer(MainContext.MainThreadSCM),
@@ -17,7 +17,7 @@ class ExtHostSaveParticipant {
17
17
  return undefined;
18
18
  }
19
19
  const p = ( new Promise((resolve, reject) => {
20
- setTimeout(() => reject(( new Error(( localize(2507, "Aborted onWillSaveTextDocument-event after 1750ms"))))), 1750);
20
+ setTimeout(() => reject(( new Error(( localize(2519, "Aborted onWillSaveTextDocument-event after 1750ms"))))), 1750);
21
21
  this._proxy.$participateInSave(editorModel.resource, context.reason).then(values => {
22
22
  if (!values.every(success => success)) {
23
23
  return Promise.reject(( new Error('listener failed')));
@@ -1,5 +1,6 @@
1
1
  import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
2
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
+ import { ITelemetryData } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry";
3
4
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
4
5
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
5
6
  import { IRawFileMatch2 } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search";
@@ -22,5 +23,5 @@ export declare class MainThreadSearch implements MainThreadSearchShape {
22
23
  $handleFileMatch(handle: number, session: number, data: UriComponents[]): void;
23
24
  $handleTextMatch(handle: number, session: number, data: IRawFileMatch2[]): void;
24
25
  $handleKeywordResult(handle: number, session: number, data: AISearchKeyword): void;
25
- $handleTelemetry(eventName: string, data: any): void;
26
+ $handleTelemetry(eventName: string, data: ITelemetryData | undefined): void;
26
27
  }
@@ -10,7 +10,7 @@ import { SearchProviderType, QueryType } from '@codingame/monaco-vscode-api/vsco
10
10
  import { ISearchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search.service';
11
11
  import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
12
12
  import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
13
- import { SearchContext } from '@codingame/monaco-vscode-5084de40-f866-5cb5-9d9b-33a10f6f235d-common/vscode/vs/workbench/contrib/search/common/constants';
13
+ import { SearchContext } from '@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/contrib/search/common/constants';
14
14
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
15
15
 
16
16
  let MainThreadSearch = class MainThreadSearch {
@@ -335,7 +335,7 @@ var TaskHandleDTO;
335
335
  (function (TaskHandleDTO) {
336
336
  function is(value) {
337
337
  const candidate = value;
338
- return candidate && isString(candidate.id) && !!candidate.workspaceFolder;
338
+ return !!candidate && isString(candidate.id) && !!candidate.workspaceFolder;
339
339
  }
340
340
  TaskHandleDTO.is = is;
341
341
  })(TaskHandleDTO || (TaskHandleDTO = {}));
@@ -405,7 +405,7 @@ var TaskDTO;
405
405
  }
406
406
  command.presentation = TaskPresentationOptionsDTO.to(task.presentationOptions);
407
407
  const source = TaskSourceDTO.to(task.source, workspace);
408
- const label = ( localize(2508, '{0}: {1}', source.label, task.name));
408
+ const label = ( localize(2520, '{0}: {1}', source.label, task.name));
409
409
  const definition = TaskDefinitionDTO.to(task.definition, executeOnly);
410
410
  const id = (CustomExecutionDTO.is(task.execution) && task._id) ? task._id : `${task.source.extensionId}.${definition._key}`;
411
411
  const result = ( new ContributedTask(
@@ -3,6 +3,7 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
3
3
  import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
4
4
  import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
5
5
  import { ClassifiedEvent, IGDPRProperty, OmitMetadata, StrictPropertyCheck } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/gdprTypings";
6
+ import { ITelemetryData } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry";
6
7
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
7
8
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
8
9
  import { MainThreadTelemetryShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
@@ -15,6 +16,6 @@ export declare class MainThreadTelemetry extends Disposable implements MainThrea
15
16
  private static readonly _name;
16
17
  constructor(extHostContext: IExtHostContext, _telemetryService: ITelemetryService, _configurationService: IConfigurationService, _environmentService: IEnvironmentService, _productService: IProductService);
17
18
  private get telemetryLevel();
18
- $publicLog(eventName: string, data?: any): void;
19
+ $publicLog(eventName: string, data?: ITelemetryData): void;
19
20
  $publicLog2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): void;
20
21
  }
@@ -19,7 +19,7 @@ import { Promises } from '@codingame/monaco-vscode-api/vscode/vs/base/common/asy
19
19
  import { ITerminalLinkProviderService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/links/browser/links.service';
20
20
  import { TerminalQuickFixType } from '@codingame/monaco-vscode-2a94c04a-b85b-5669-b06b-89c1bfa11cb9-common/vscode/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix';
21
21
  import { ITerminalQuickFixService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service';
22
- import { TerminalCapability } from '@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common/vscode/vs/platform/terminal/common/capabilities/capabilities';
22
+ import { TerminalCapability } from '@codingame/monaco-vscode-10af0e5d-64cb-56de-b584-29ab4a355d15-common/vscode/vs/platform/terminal/common/capabilities/capabilities';
23
23
  import { ITerminalCompletionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service';
24
24
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
25
25
 
@@ -226,19 +226,19 @@ let MainThreadTerminalService = class MainThreadTerminalService {
226
226
  $registerCompletionProvider(id, extensionIdentifier, ...triggerCharacters) {
227
227
  this._completionProviders.set(id, this._terminalCompletionService.registerTerminalCompletionProvider(extensionIdentifier, id, {
228
228
  id,
229
- provideCompletions: async (commandLine, cursorPosition, allowFallbackCompletions, token) => {
230
- const completions = await this._proxy.$provideTerminalCompletions(id, { commandLine, cursorPosition, allowFallbackCompletions }, token);
229
+ provideCompletions: async (commandLine, cursorIndex, token) => {
230
+ const completions = await this._proxy.$provideTerminalCompletions(id, { commandLine, cursorIndex }, token);
231
231
  if (!completions) {
232
232
  return undefined;
233
233
  }
234
- if (completions.resourceRequestConfig) {
235
- const { cwd, globPattern, ...rest } = completions.resourceRequestConfig;
234
+ if (completions.resourceOptions) {
235
+ const { cwd, globPattern, ...rest } = completions.resourceOptions;
236
236
  return {
237
237
  items: completions.items?.map(c => ({
238
238
  provider: `ext:${id}`,
239
239
  ...c,
240
240
  })),
241
- resourceRequestConfig: {
241
+ resourceOptions: {
242
242
  ...rest,
243
243
  cwd,
244
244
  globPattern
@@ -2,7 +2,7 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
4
  import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
- import { TerminalCapability } from '@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common/vscode/vs/platform/terminal/common/capabilities/capabilities';
5
+ import { TerminalCapability } from '@codingame/monaco-vscode-10af0e5d-64cb-56de-b584-29ab4a355d15-common/vscode/vs/platform/terminal/common/capabilities/capabilities';
6
6
  import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
7
7
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
8
8
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
@@ -29,10 +29,7 @@ let MainThreadTerminalShellIntegration = class MainThreadTerminalShellIntegratio
29
29
  }
30
30
  }
31
31
  const onDidAddCommandDetection = this._store.add(this._terminalService.createOnInstanceEvent(instance => {
32
- return ( Event.map(
33
- Event.filter(instance.capabilities.onDidAddCapabilityType, e => e === TerminalCapability.CommandDetection),
34
- () => instance
35
- ));
32
+ return ( Event.map(instance.capabilities.onDidAddCommandDetectionCapability, () => instance));
36
33
  })).event;
37
34
  this._store.add(onDidAddCommandDetection(e => this._enableShellIntegration(e)));
38
35
  const cwdChangeEvent = this._store.add(this._terminalService.createOnInstanceCapabilityEvent(TerminalCapability.CwdDetection, e => e.onDidChangeCwd));
@@ -56,7 +53,7 @@ let MainThreadTerminalShellIntegration = class MainThreadTerminalShellIntegratio
56
53
  }
57
54
  currentCommand = e.data;
58
55
  const instanceId = e.instance.instanceId;
59
- this._proxy.$shellExecutionStart(instanceId, e.data.command, convertToExtHostCommandLineConfidence(e.data), e.data.isTrusted, e.data.cwd);
56
+ this._proxy.$shellExecutionStart(instanceId, instanceSupportsExecuteCommandApi(e.instance), e.data.command, convertToExtHostCommandLineConfidence(e.data), e.data.isTrusted, e.data.cwd);
60
57
  instanceDataListeners.get(instanceId)?.dispose();
61
58
  instanceDataListeners.set(instanceId, Event.accumulate(e.instance.onData, 50, this._store)(events => {
62
59
  this._proxy.$shellExecutionData(instanceId, events.join(''));
@@ -79,7 +76,7 @@ let MainThreadTerminalShellIntegration = class MainThreadTerminalShellIntegratio
79
76
  if (instance.shellType) {
80
77
  this._extensionService.activateByEvent(`onTerminalShellIntegration:${instance.shellType}`);
81
78
  }
82
- this._proxy.$shellIntegrationChange(instance.instanceId);
79
+ this._proxy.$shellIntegrationChange(instance.instanceId, instanceSupportsExecuteCommandApi(instance));
83
80
  const cwdDetection = instance.capabilities.get(TerminalCapability.CwdDetection);
84
81
  if (cwdDetection) {
85
82
  this._proxy.$cwdChange(instance.instanceId, cwdDetection.getCwd());
@@ -103,5 +100,8 @@ function convertToExtHostCommandLineConfidence(command) {
103
100
  return TerminalShellExecutionCommandLineConfidence.Low;
104
101
  }
105
102
  }
103
+ function instanceSupportsExecuteCommandApi(instance) {
104
+ return instance.shellLaunchConfig.type !== 'Task';
105
+ }
106
106
 
107
107
  export { MainThreadTerminalShellIntegration };
@@ -112,13 +112,13 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
112
112
  }
113
113
  async elevationPrompt(tunnelOptions, tunnel, source) {
114
114
  return this.notificationService.prompt(Severity.Info, ( localize(
115
- 2509,
115
+ 2521,
116
116
  "The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
117
117
  source,
118
118
  tunnelOptions.remoteAddress.port,
119
119
  tunnelOptions.localAddressPort
120
120
  )), [{
121
- label: ( localize(2510, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
121
+ label: ( localize(2522, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
122
122
  run: async () => {
123
123
  this.elevateionRetry = true;
124
124
  await this.remoteExplorerService.close({ host: tunnel.tunnelRemoteHost, port: tunnel.tunnelRemotePort }, TunnelCloseReason.Other);
@@ -52,7 +52,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
52
52
  }
53
53
  catch (e) {
54
54
  if (!isCancellationError(e)) {
55
- const openDefaultAction = ( new Action('default', ( localize(2511, "Open using default opener")), undefined, undefined, async () => {
55
+ const openDefaultAction = ( new Action('default', ( localize(2523, "Open using default opener")), undefined, undefined, async () => {
56
56
  await this.openerService.open(uri, {
57
57
  allowTunneling: false,
58
58
  allowContributedOpeners: defaultExternalUriOpenerId,
@@ -61,7 +61,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
61
61
  openDefaultAction.tooltip = ( uri.toString());
62
62
  this.notificationService.notify({
63
63
  severity: Severity.Error,
64
- message: ( localize(2512, 'Could not open uri with \'{0}\': {1}', id, (e.toString()))),
64
+ message: ( localize(2524, 'Could not open uri with \'{0}\': {1}', id, (e.toString()))),
65
65
  actions: {
66
66
  primary: [
67
67
  openDefaultAction
@@ -1,7 +1,7 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
3
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
4
- import { WebviewInput } from "@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput";
4
+ import { WebviewInput } from "@codingame/monaco-vscode-4db3f2fb-d745-58fe-9e0e-eb67152ab711-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput";
5
5
  import { IWebviewWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service";
6
6
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
7
7
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";