@codingame/monaco-vscode-extensions-service-override 21.6.0 → 22.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 (48) hide show
  1. package/package.json +29 -30
  2. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
  3. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +3 -3
  4. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +41 -32
  5. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
  6. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +6 -5
  7. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +5 -2
  8. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +44 -4
  9. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
  10. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +3 -3
  11. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  12. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
  13. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
  14. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +2 -2
  15. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
  16. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +1 -1
  17. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
  18. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
  19. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +39 -27
  20. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +4 -1
  21. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +47 -41
  22. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +6 -2
  23. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +75 -27
  24. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  25. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +1 -1
  26. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +1 -1
  27. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
  28. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
  29. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
  30. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +9 -2
  31. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
  32. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +1 -1
  33. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  34. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +21 -7
  35. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.d.ts +1 -0
  36. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +5 -2
  37. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
  38. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +1 -1
  39. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
  40. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +5 -5
  41. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +1 -1
  43. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
  44. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
  45. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +12 -12
  46. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
  47. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
  48. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { raceCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
5
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
6
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
6
7
  import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
@@ -12,6 +13,7 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
12
13
  import { ChatViewId } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chat';
13
14
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
14
15
  import { ChatSessionUri } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/common/chatUri';
16
+ import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
15
17
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
16
18
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
17
19
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
@@ -84,7 +86,7 @@ class ObservableChatSession extends Disposable {
84
86
  return confirmInterrupt();
85
87
  }
86
88
  return this._dialogService.confirm({
87
- message: ( localize(2449, 'Are you sure you want to interrupt the active session?'))
89
+ message: ( localize(2455, 'Are you sure you want to interrupt the active session?'))
88
90
  }).then(confirmed => {
89
91
  if (confirmed.confirmed) {
90
92
  return confirmInterrupt();
@@ -202,12 +204,13 @@ class ObservableChatSession extends Disposable {
202
204
  }
203
205
  }
204
206
  let MainThreadChatSessions = class MainThreadChatSessions extends Disposable {
205
- constructor(_extHostContext, _chatSessionsService, _dialogService, _editorService, _logService, _viewsService) {
207
+ constructor(_extHostContext, _chatSessionsService, _dialogService, _editorService, editorGroupService, _logService, _viewsService) {
206
208
  super();
207
209
  this._extHostContext = _extHostContext;
208
210
  this._chatSessionsService = _chatSessionsService;
209
211
  this._dialogService = _dialogService;
210
212
  this._editorService = _editorService;
213
+ this.editorGroupService = editorGroupService;
211
214
  this._logService = _logService;
212
215
  this._viewsService = _viewsService;
213
216
  this._itemProvidersRegistrations = this._register(( new DisposableMap()));
@@ -235,6 +238,42 @@ let MainThreadChatSessions = class MainThreadChatSessions extends Disposable {
235
238
  $onDidChangeChatSessionItems(handle) {
236
239
  this._itemProvidersRegistrations.get(handle)?.onDidChangeItems.fire();
237
240
  }
241
+ $onDidCommitChatSessionItem(handle, original, modified) {
242
+ this._logService.trace(`$onDidCommitChatSessionItem: handle(${handle}), original(${original}), modified(${modified})`);
243
+ const chatSessionType = this._itemProvidersRegistrations.get(handle)?.provider.chatSessionType;
244
+ if (!chatSessionType) {
245
+ this._logService.error(`No chat session type found for provider handle ${handle}`);
246
+ return;
247
+ }
248
+ const originalResource = ChatSessionUri.forSession(chatSessionType, original);
249
+ const modifiedResource = ChatSessionUri.forSession(chatSessionType, modified);
250
+ const originalEditor = this._editorService.editors.find(editor => editor.resource?.toString() === ( originalResource.toString()));
251
+ let originalGroup;
252
+ for (const group of this.editorGroupService.groups) {
253
+ if (( group.editors.some(editor => editor.resource?.toString() === ( originalResource.toString())))) {
254
+ originalGroup = group;
255
+ break;
256
+ }
257
+ }
258
+ if (!originalGroup) {
259
+ originalGroup = this.editorGroupService.activeGroup;
260
+ }
261
+ if (originalEditor) {
262
+ this._chatSessionsService.provideChatSessionContent(chatSessionType, modified, CancellationToken.None).then(() => {
263
+ this._editorService.replaceEditors([{
264
+ editor: originalEditor,
265
+ replacement: {
266
+ resource: modifiedResource,
267
+ options: {}
268
+ },
269
+ }], originalGroup);
270
+ });
271
+ }
272
+ else {
273
+ this._logService.warn(`Original chat session editor not found for resource ${( originalResource.toString())}`);
274
+ this._editorService.openEditor({ resource: modifiedResource }, originalGroup);
275
+ }
276
+ }
238
277
  async _provideChatSessionItems(handle, token) {
239
278
  try {
240
279
  const sessions = await this._proxy.$provideChatSessionItems(handle, token);
@@ -377,8 +416,9 @@ MainThreadChatSessions = __decorate([
377
416
  ( __param(1, IChatSessionsService)),
378
417
  ( __param(2, IDialogService)),
379
418
  ( __param(3, IEditorService)),
380
- ( __param(4, ILogService)),
381
- ( __param(5, IViewsService))
419
+ ( __param(4, IEditorGroupsService)),
420
+ ( __param(5, ILogService)),
421
+ ( __param(6, IViewsService))
382
422
  ], MainThreadChatSessions);
383
423
 
384
424
  export { MainThreadChatSessions, ObservableChatSession };
@@ -14,7 +14,7 @@ import { COMMENTS_VIEW_ID, COMMENTS_VIEW_STORAGE_ID, COMMENTS_VIEW_TITLE } from
14
14
  import { Extensions, ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
15
15
  import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
16
16
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
17
- import { ViewPaneContainer } from '@codingame/monaco-vscode-71c8dbff-4c98-552f-aef0-e72b00fdcfc0-common/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
17
+ import { ViewPaneContainer } from '@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
18
18
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
19
19
  import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
20
20
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -424,7 +424,7 @@ class MainThreadCommentController extends Disposable {
424
424
  };
425
425
  }
426
426
  }
427
- const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(2450, 'View icon of the comments view.')));
427
+ const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(2456, 'View icon of the comments view.')));
428
428
  let MainThreadComments = class MainThreadComments extends Disposable {
429
429
  constructor(extHostContext, _commentService, _viewsService, _viewDescriptorService, _uriIdentityService, _editorService) {
430
430
  super();
@@ -27,7 +27,7 @@ import { ICustomEditorService } from '@codingame/monaco-vscode-api/vscode/vs/wor
27
27
  import { CustomTextEditorModel } from '../../contrib/customEditor/common/customTextEditorModel.js';
28
28
  import { ExtensionKeyedWebviewOriginStore } from '@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common/vscode/vs/workbench/contrib/webview/browser/webview';
29
29
  import { IWebviewWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service';
30
- import { editorGroupToColumn } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
30
+ import { editorGroupToColumn } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
31
31
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
32
32
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
33
33
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
@@ -303,7 +303,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
303
303
  this._register(workingCopyService.registerWorkingCopy(this));
304
304
  this._register(extensionService.onWillStop(e => {
305
305
  e.veto(true, ( localize(
306
- 2451,
306
+ 2457,
307
307
  "An extension provided editor for '{0}' is still open that would close otherwise.",
308
308
  this.name
309
309
  )));
@@ -371,7 +371,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
371
371
  this._undoService.pushElement({
372
372
  type: UndoRedoElementType.Resource,
373
373
  resource: this._editorResource,
374
- label: label ?? ( localize(2452, "Edit")),
374
+ label: label ?? ( localize(2458, "Edit")),
375
375
  code: 'undoredo.customEditorEdit',
376
376
  undo: () => this.undo(),
377
377
  redo: () => this.redo(),
@@ -13,7 +13,7 @@ import { MainThreadDocuments } from './mainThreadDocuments.js';
13
13
  import { MainThreadTextEditor } from './mainThreadEditor.js';
14
14
  import { MainThreadTextEditors } from './mainThreadEditors.js';
15
15
  import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
16
- import { editorGroupToColumn } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
16
+ import { editorGroupToColumn } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
17
17
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
18
18
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
19
19
  import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
@@ -14,7 +14,7 @@ class ExtHostEditSessionIdentityCreateParticipant {
14
14
  }
15
15
  async participate(workspaceFolder, token) {
16
16
  const p = ( new Promise((resolve, reject) => {
17
- setTimeout(() => reject(( new Error(( localize(2453, "Aborted onWillCreateEditSessionIdentity-event after 10000ms"))))), this.timeout);
17
+ setTimeout(() => reject(( new Error(( localize(2459, "Aborted onWillCreateEditSessionIdentity-event after 10000ms"))))), this.timeout);
18
18
  this._proxy.$onWillCreateEditSessionIdentity(workspaceFolder.uri, token, this.timeout).then(resolve, reject);
19
19
  }));
20
20
  return raceCancellationError(p, token);
@@ -1,7 +1,7 @@
1
1
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
2
2
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
3
3
  import { MainThreadEditorTabsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
4
- import { EditorGroupColumn } from "@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
4
+ import { EditorGroupColumn } from "@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
5
5
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
6
6
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
7
7
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
@@ -16,11 +16,11 @@ import { ChatEditorInput } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a3
16
16
  import { CustomEditorInput } from '@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput';
17
17
  import { InteractiveEditorInput } from '@codingame/monaco-vscode-eba0b9b3-174c-5dae-9867-a37810ca1808-common/vscode/vs/workbench/contrib/interactive/browser/interactiveEditorInput';
18
18
  import { MergeEditorInput } from '@codingame/monaco-vscode-8ccb7637-50ea-5359-97bf-00015d7fe567-common/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput';
19
- import { MultiDiffEditorInput } from '@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
19
+ import { MultiDiffEditorInput } from '@codingame/monaco-vscode-7969284a-1a12-5148-9750-fcf9656a693f-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
20
20
  import { NotebookEditorInput } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput';
21
21
  import { TerminalEditorInput } from '@codingame/monaco-vscode-05a2a821-e4de-5941-b7f9-bbf01c09f229-common/vscode/vs/workbench/contrib/terminal/browser/terminalEditorInput';
22
22
  import { WebviewInput } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput';
23
- import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
23
+ import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
24
24
  import { GroupDirection, preferredSideBySideGroupDirection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService';
25
25
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
26
26
  import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
@@ -6,7 +6,7 @@ import { IDecorationOptions, IDecorationRenderOptions } from "@codingame/monaco-
6
6
  import { ISingleEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation";
7
7
  import { MainThreadTextEditor } from "./mainThreadEditor.js";
8
8
  import { IApplyEditsOptions, ITextDocumentShowOptions, ITextEditorConfigurationUpdate, IUndoStopOptions, MainThreadTextEditorsShape, TextEditorRevealType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
9
- import { EditorGroupColumn } from "@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
9
+ import { EditorGroupColumn } from "@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
10
10
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
11
11
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
12
12
  import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
@@ -8,7 +8,7 @@ import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/edito
8
8
  import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
9
9
  import { isTextEditorDiffInformationEqual, EditorResolution, EditorActivation } from '@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor';
10
10
  import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
11
- import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
11
+ import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
12
12
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
13
13
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
14
14
  import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
@@ -89,13 +89,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
89
89
  this._notificationService.notify({
90
90
  severity: Severity.Error,
91
91
  message: ( localize(
92
- 2454,
92
+ 2460,
93
93
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension, which is not loaded. Would you like to reload the window to load the extension?",
94
94
  extName,
95
95
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
96
96
  )),
97
97
  actions: {
98
- primary: [( new Action('reload', ( localize(2455, "Reload Window")), '', true, () => this._hostService.reload()))]
98
+ primary: [( new Action('reload', ( localize(2461, "Reload Window")), '', true, () => this._hostService.reload()))]
99
99
  }
100
100
  });
101
101
  }
@@ -105,7 +105,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
105
105
  this._notificationService.notify({
106
106
  severity: Severity.Error,
107
107
  message: ( localize(
108
- 2456,
108
+ 2462,
109
109
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
110
110
  extName,
111
111
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -116,13 +116,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
116
116
  this._notificationService.notify({
117
117
  severity: Severity.Error,
118
118
  message: ( localize(
119
- 2457,
119
+ 2463,
120
120
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
121
121
  extName,
122
122
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
123
123
  )),
124
124
  actions: {
125
- primary: [( new Action('manageWorkspaceTrust', ( localize(2458, "Manage Workspace Trust")), '', true, () => this._commandService.executeCommand('workbench.trust.manage')))]
125
+ primary: [( new Action('manageWorkspaceTrust', ( localize(2464, "Manage Workspace Trust")), '', true, () => this._commandService.executeCommand('workbench.trust.manage')))]
126
126
  }
127
127
  });
128
128
  }
@@ -130,13 +130,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
130
130
  this._notificationService.notify({
131
131
  severity: Severity.Error,
132
132
  message: ( localize(
133
- 2459,
133
+ 2465,
134
134
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled. Would you like to enable the extension and reload the window?",
135
135
  extName,
136
136
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
137
137
  )),
138
138
  actions: {
139
- primary: [( new Action('enable', ( localize(2460, "Enable and Reload")), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === EnablementState.DisabledGlobally ? EnablementState.EnabledGlobally : EnablementState.EnabledWorkspace)
139
+ primary: [( new Action('enable', ( localize(2466, "Enable and Reload")), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === EnablementState.DisabledGlobally ? EnablementState.EnabledGlobally : EnablementState.EnabledWorkspace)
140
140
  .then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
141
141
  }
142
142
  });
@@ -145,7 +145,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
145
145
  this._notificationService.notify({
146
146
  severity: Severity.Error,
147
147
  message: ( localize(
148
- 2461,
148
+ 2467,
149
149
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
150
150
  extName,
151
151
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -166,21 +166,21 @@ let MainThreadExtensionService = class MainThreadExtensionService {
166
166
  this._notificationService.notify({
167
167
  severity: Severity.Error,
168
168
  message: ( localize(
169
- 2462,
169
+ 2468,
170
170
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension from '{2}', which is not installed. Would you like to install the extension and reload the window?",
171
171
  extName,
172
172
  dependencyExtension.displayName,
173
173
  dependencyExtension.publisherDisplayName
174
174
  )),
175
175
  actions: {
176
- primary: [( new Action('install', ( localize(2463, "Install and Reload")), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
176
+ primary: [( new Action('install', ( localize(2469, "Install and Reload")), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
177
177
  .then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
178
178
  }
179
179
  });
180
180
  }
181
181
  else {
182
182
  this._notificationService.error(( localize(
183
- 2464,
183
+ 2470,
184
184
  "Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
185
185
  extName,
186
186
  missingDependency
@@ -75,28 +75,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
75
75
  if (data.extensionNames.length === 1) {
76
76
  if (operation === FileOperation.CREATE) {
77
77
  message = ( localize(
78
- 2465,
78
+ 2471,
79
79
  "Extension '{0}' wants to make refactoring changes with this file creation",
80
80
  data.extensionNames[0]
81
81
  ));
82
82
  }
83
83
  else if (operation === FileOperation.COPY) {
84
84
  message = ( localize(
85
- 2466,
85
+ 2472,
86
86
  "Extension '{0}' wants to make refactoring changes with this file copy",
87
87
  data.extensionNames[0]
88
88
  ));
89
89
  }
90
90
  else if (operation === FileOperation.MOVE) {
91
91
  message = ( localize(
92
- 2467,
92
+ 2473,
93
93
  "Extension '{0}' wants to make refactoring changes with this file move",
94
94
  data.extensionNames[0]
95
95
  ));
96
96
  }
97
97
  else {
98
98
  message = ( localize(
99
- 2468,
99
+ 2474,
100
100
  "Extension '{0}' wants to make refactoring changes with this file deletion",
101
101
  data.extensionNames[0]
102
102
  ));
@@ -105,28 +105,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
105
105
  else {
106
106
  if (operation === FileOperation.CREATE) {
107
107
  message = ( localize(
108
- 2469,
108
+ 2475,
109
109
  "{0} extensions want to make refactoring changes with this file creation",
110
110
  data.extensionNames.length
111
111
  ));
112
112
  }
113
113
  else if (operation === FileOperation.COPY) {
114
114
  message = ( localize(
115
- 2470,
115
+ 2476,
116
116
  "{0} extensions want to make refactoring changes with this file copy",
117
117
  data.extensionNames.length
118
118
  ));
119
119
  }
120
120
  else if (operation === FileOperation.MOVE) {
121
121
  message = ( localize(
122
- 2471,
122
+ 2477,
123
123
  "{0} extensions want to make refactoring changes with this file move",
124
124
  data.extensionNames.length
125
125
  ));
126
126
  }
127
127
  else {
128
128
  message = ( localize(
129
- 2472,
129
+ 2478,
130
130
  "{0} extensions want to make refactoring changes with this file deletion",
131
131
  data.extensionNames.length
132
132
  ));
@@ -136,8 +136,8 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
136
136
  const { confirmed } = await dialogService.confirm({
137
137
  type: Severity.Info,
138
138
  message,
139
- primaryButton: ( localize(2473, "Show &&Preview")),
140
- cancelButton: ( localize(2474, "Skip Changes"))
139
+ primaryButton: ( localize(2479, "Show &&Preview")),
140
+ cancelButton: ( localize(2480, "Skip Changes"))
141
141
  });
142
142
  showPreview = true;
143
143
  if (!confirmed) {
@@ -156,19 +156,19 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
156
156
  message,
157
157
  buttons: [
158
158
  {
159
- label: ( localize(2475, "&&OK")),
159
+ label: ( localize(2481, "&&OK")),
160
160
  run: () => Choice.OK
161
161
  },
162
162
  {
163
- label: ( localize(2473, "Show &&Preview")),
163
+ label: ( localize(2479, "Show &&Preview")),
164
164
  run: () => Choice.Preview
165
165
  }
166
166
  ],
167
167
  cancelButton: {
168
- label: ( localize(2474, "Skip Changes")),
168
+ label: ( localize(2480, "Skip Changes")),
169
169
  run: () => Choice.Cancel
170
170
  },
171
- checkbox: { label: ( localize(2476, "Do not ask me again")) }
171
+ checkbox: { label: ( localize(2482, "Do not ask me again")) }
172
172
  });
173
173
  if (result === Choice.Cancel) {
174
174
  return;
@@ -185,15 +185,15 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
185
185
  _progressLabel(operation) {
186
186
  switch (operation) {
187
187
  case FileOperation.CREATE:
188
- return localize(2477, "Running 'File Create' participants...");
188
+ return localize(2483, "Running 'File Create' participants...");
189
189
  case FileOperation.MOVE:
190
- return localize(2478, "Running 'File Rename' participants...");
190
+ return localize(2484, "Running 'File Rename' participants...");
191
191
  case FileOperation.COPY:
192
- return localize(2479, "Running 'File Copy' participants...");
192
+ return localize(2485, "Running 'File Copy' participants...");
193
193
  case FileOperation.DELETE:
194
- return localize(2480, "Running 'File Delete' participants...");
194
+ return localize(2486, "Running 'File Delete' participants...");
195
195
  case FileOperation.WRITE:
196
- return localize(2481, "Running 'File Write' participants...");
196
+ return localize(2487, "Running 'File Write' participants...");
197
197
  }
198
198
  }
199
199
  });
@@ -264,7 +264,7 @@ registerAction2(class ResetMemento extends Action2 {
264
264
  super({
265
265
  id: 'files.participants.resetChoice',
266
266
  title: {
267
- value: ( localize(2482, "Reset choice for 'File operation needs preview'")),
267
+ value: ( localize(2488, "Reset choice for 'File operation needs preview'")),
268
268
  original: `Reset choice for 'File operation needs preview'`
269
269
  },
270
270
  f1: true
@@ -19,16 +19,17 @@ import { reviveWorkspaceEditDto } from './mainThreadBulkEdits.js';
19
19
  import { DataTransfer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHostTypeConverters';
20
20
  import { DataTransferFileCache } from '../common/shared/dataTransferCache.js';
21
21
  import { CallHierarchyProviderRegistry } from '@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy';
22
- import { WorkspaceSymbolProviderRegistry } from '@codingame/monaco-vscode-4dda7789-5a25-5e8b-b2de-c2f11b1b96e5-common/vscode/vs/workbench/contrib/search/common/search';
22
+ import { WorkspaceSymbolProviderRegistry } from '@codingame/monaco-vscode-5084de40-f866-5cb5-9d9b-33a10f6f235d-common/vscode/vs/workbench/contrib/search/common/search';
23
23
  import { TypeHierarchyProviderRegistry } from '@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common/vscode/vs/workbench/contrib/typeHierarchy/common/typeHierarchy';
24
24
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
25
25
  import { ExtHostContext, ISuggestDataDtoField, ISuggestResultDtoField, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
26
26
  import { InlineCompletionEndOfLifeReasonKind as InlineCompletionEndOfLifeReasonKind$1 } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHostTypes';
27
27
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
28
- import { forwardToChannelIf, isCopilotLikeExtension, DataChannelForwardingTelemetryService } from '@codingame/monaco-vscode-bba55be6-41a2-50cd-a3cc-8bafa35bfa89-common/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService';
28
+ import { forwardToChannelIf, isCopilotLikeExtension, DataChannelForwardingTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dataChannel/browser/forwardingTelemetryService';
29
29
  import { IAiEditTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service';
30
30
  import { EditDeltaInfo } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource';
31
31
  import { IInlineCompletionsUnificationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service';
32
+ import { sendInlineCompletionsEndOfLifeTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/inlineCompletions/browser/telemetry';
32
33
 
33
34
  var MainThreadLanguageFeatures_1;
34
35
  let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThreadLanguageFeatures extends Disposable {
@@ -511,23 +512,27 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
511
512
  this._registrations.set(handle, this._languageFeaturesService.completionProvider.register(selector, provider));
512
513
  }
513
514
  $registerInlineCompletionsSupport(handle, selector, supportsHandleEvents, extensionId, extensionVersion, groupId, yieldsToExtensionIds, displayName, debounceDelayMs, excludesExtensionIds, eventHandle) {
515
+ const providerId = new ProviderId(extensionId, extensionVersion, groupId);
514
516
  const provider = {
515
517
  provideInlineCompletions: async (model, position, context, token) => {
516
518
  const result = await this._proxy.$provideInlineCompletions(handle, model.uri, position, context, token);
517
519
  return result;
518
520
  },
519
- handleItemDidShow: async (completions, item, updatedInsertText) => {
521
+ handleItemDidShow: async (completions, item, updatedInsertText, editDeltaInfo) => {
520
522
  this._instantiationService.invokeFunction(accessor => {
521
523
  const aiEditTelemetryService = accessor.getIfExists(IAiEditTelemetryService);
522
- item.suggestionId = aiEditTelemetryService?.createSuggestionId({
523
- applyCodeBlockSuggestionId: undefined,
524
- editDeltaInfo: ( new EditDeltaInfo(1, 1, -1, -1)),
525
- feature: 'inlineSuggestion',
526
- languageId: completions.languageId,
527
- modeId: undefined,
528
- modelId: undefined,
529
- presentation: 'inlineSuggestion',
530
- });
524
+ if (item.suggestionId === undefined) {
525
+ item.suggestionId = aiEditTelemetryService?.createSuggestionId({
526
+ applyCodeBlockSuggestionId: undefined,
527
+ feature: 'inlineSuggestion',
528
+ source: providerId,
529
+ languageId: completions.languageId,
530
+ editDeltaInfo: editDeltaInfo,
531
+ modeId: undefined,
532
+ modelId: undefined,
533
+ presentation: item.isInlineEdit ? 'nextEditSuggestion' : 'inlineCompletion',
534
+ });
535
+ }
531
536
  });
532
537
  if (supportsHandleEvents) {
533
538
  await this._proxy.$handleInlineCompletionDidShow(handle, completions.pid, item.idx, updatedInsertText);
@@ -554,17 +559,20 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
554
559
  if (reason.kind === InlineCompletionEndOfLifeReasonKind.Accepted) {
555
560
  this._instantiationService.invokeFunction(accessor => {
556
561
  const aiEditTelemetryService = accessor.getIfExists(IAiEditTelemetryService);
557
- aiEditTelemetryService?.handleCodeAccepted({
558
- suggestionId: item.suggestionId,
559
- editDeltaInfo: EditDeltaInfo.tryCreate(lifetimeSummary.lineCountModified, lifetimeSummary.lineCountOriginal, lifetimeSummary.characterCountModified, lifetimeSummary.characterCountOriginal),
560
- feature: 'inlineSuggestion',
561
- languageId: completions.languageId,
562
- modeId: undefined,
563
- modelId: undefined,
564
- presentation: 'inlineSuggestion',
565
- acceptanceMethod: 'accept',
566
- applyCodeBlockSuggestionId: undefined,
567
- });
562
+ if (item.suggestionId !== undefined) {
563
+ aiEditTelemetryService?.handleCodeAccepted({
564
+ suggestionId: item.suggestionId,
565
+ feature: 'inlineSuggestion',
566
+ source: providerId,
567
+ languageId: completions.languageId,
568
+ editDeltaInfo: EditDeltaInfo.tryCreate(lifetimeSummary.lineCountModified, lifetimeSummary.lineCountOriginal, lifetimeSummary.characterCountModified, lifetimeSummary.characterCountOriginal),
569
+ modeId: undefined,
570
+ modelId: undefined,
571
+ presentation: item.isInlineEdit ? 'nextEditSuggestion' : 'inlineCompletion',
572
+ acceptanceMethod: 'accept',
573
+ applyCodeBlockSuggestionId: undefined,
574
+ });
575
+ }
568
576
  });
569
577
  }
570
578
  const endOfLifeSummary = {
@@ -593,9 +601,11 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
593
601
  characterCountModified: lifetimeSummary.characterCountModified,
594
602
  disjointReplacements: lifetimeSummary.disjointReplacements,
595
603
  sameShapeReplacements: lifetimeSummary.sameShapeReplacements,
604
+ selectedSuggestionInfo: lifetimeSummary.selectedSuggestionInfo,
596
605
  extensionId,
597
606
  extensionVersion,
598
607
  groupId,
608
+ availableProviders: lifetimeSummary.availableProviders,
599
609
  partiallyAccepted: lifetimeSummary.partiallyAccepted,
600
610
  partiallyAcceptedCountSinceOriginal: lifetimeSummary.partiallyAcceptedCountSinceOriginal,
601
611
  partiallyAcceptedRatioSinceOriginal: lifetimeSummary.partiallyAcceptedRatioSinceOriginal,
@@ -603,11 +613,13 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
603
613
  superseded: reason.kind === InlineCompletionEndOfLifeReasonKind$1.Ignored && !!reason.supersededBy,
604
614
  reason: reason.kind === InlineCompletionEndOfLifeReasonKind$1.Accepted ? 'accepted'
605
615
  : reason.kind === InlineCompletionEndOfLifeReasonKind$1.Rejected ? 'rejected'
606
- : 'ignored',
616
+ : reason.kind === InlineCompletionEndOfLifeReasonKind$1.Ignored ? 'ignored' : undefined,
617
+ noSuggestionReason: undefined,
618
+ notShownReason: lifetimeSummary.notShownReason,
607
619
  ...forwardToChannelIf(isCopilotLikeExtension(extensionId)),
608
620
  };
609
- const telemetryService = this._instantiationService.createInstance(DataChannelForwardingTelemetryService);
610
- telemetryService.publicLog2('inlineCompletion.endOfLife', endOfLifeSummary);
621
+ const dataChannelForwardingTelemetryService = this._instantiationService.createInstance(DataChannelForwardingTelemetryService);
622
+ sendInlineCompletionsEndOfLifeTelemetry(dataChannelForwardingTelemetryService, endOfLifeSummary);
611
623
  },
612
624
  disposeInlineCompletions: (completions, reason) => {
613
625
  this._proxy.$freeInlineCompletionsList(handle, completions.pid, reason);
@@ -618,7 +630,7 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
618
630
  }
619
631
  },
620
632
  groupId: groupId ?? extensionId,
621
- providerId: new ProviderId(extensionId, extensionVersion, groupId),
633
+ providerId,
622
634
  yieldsToGroupIds: yieldsToExtensionIds,
623
635
  excludesGroupIds: excludesExtensionIds,
624
636
  debounceDelayMs,
@@ -36,7 +36,10 @@ let MainThreadLanguageModelTools = class MainThreadLanguageModelTools extends Di
36
36
  }
37
37
  async $invokeTool(dto, token) {
38
38
  const result = await this._languageModelToolsService.invokeTool(dto, (input, token) => this._proxy.$countTokensForInvocation(dto.callId, input, token), token ?? CancellationToken.None);
39
- const out = { content: result.content };
39
+ const out = {
40
+ content: result.content,
41
+ toolMetadata: result.toolMetadata
42
+ };
40
43
  return toolResultHasBuffers(result) ? ( new SerializableObjectWithBuffers(out)) : out;
41
44
  }
42
45
  $acceptToolProgress(callId, progress) {