@codingame/monaco-vscode-extensions-service-override 20.5.0 → 21.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 (50) hide show
  1. package/package.json +28 -27
  2. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
  3. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +6 -24
  4. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +74 -74
  5. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
  6. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +2 -4
  7. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +52 -9
  8. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +271 -134
  9. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
  10. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +4 -4
  11. package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.d.ts +1 -1
  12. package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +1 -1
  13. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  14. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
  15. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
  16. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +2 -2
  17. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
  18. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +1 -1
  19. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
  20. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
  21. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +4 -2
  22. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +58 -8
  23. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +2 -2
  24. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +6 -6
  25. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +7 -7
  26. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  27. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +7 -0
  28. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +1 -1
  29. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +1 -1
  30. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +2 -2
  31. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
  32. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
  33. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
  34. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +1 -1
  35. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  36. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +3 -2
  37. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
  38. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
  39. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +1 -1
  40. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
  41. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +5 -5
  42. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +1 -1
  44. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
  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
  49. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService.d.ts +0 -30
  50. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService.js +0 -67
@@ -89,13 +89,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
89
89
  this._notificationService.notify({
90
90
  severity: Severity.Error,
91
91
  message: ( localize(
92
- 2450,
92
+ 2454,
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(2451, "Reload Window")), '', true, () => this._hostService.reload()))]
98
+ primary: [( new Action('reload', ( localize(2455, "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
- 2452,
108
+ 2456,
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
- 2453,
119
+ 2457,
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(2454, "Manage Workspace Trust")), '', true, () => this._commandService.executeCommand('workbench.trust.manage')))]
125
+ primary: [( new Action('manageWorkspaceTrust', ( localize(2458, "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
- 2455,
133
+ 2459,
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(2456, "Enable and Reload")), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === EnablementState.DisabledGlobally ? EnablementState.EnabledGlobally : EnablementState.EnabledWorkspace)
139
+ primary: [( new Action('enable', ( localize(2460, "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
- 2457,
148
+ 2461,
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
- 2458,
169
+ 2462,
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(2459, "Install and Reload")), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
176
+ primary: [( new Action('install', ( localize(2463, "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
- 2460,
183
+ 2464,
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
- 2461,
78
+ 2465,
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
- 2462,
85
+ 2466,
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
- 2463,
92
+ 2467,
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
- 2464,
99
+ 2468,
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
- 2465,
108
+ 2469,
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
- 2466,
115
+ 2470,
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
- 2467,
122
+ 2471,
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
- 2468,
129
+ 2472,
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(2469, "Show &&Preview")),
140
- cancelButton: ( localize(2470, "Skip Changes"))
139
+ primaryButton: ( localize(2473, "Show &&Preview")),
140
+ cancelButton: ( localize(2474, "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(2471, "&&OK")),
159
+ label: ( localize(2475, "&&OK")),
160
160
  run: () => Choice.OK
161
161
  },
162
162
  {
163
- label: ( localize(2469, "Show &&Preview")),
163
+ label: ( localize(2473, "Show &&Preview")),
164
164
  run: () => Choice.Preview
165
165
  }
166
166
  ],
167
167
  cancelButton: {
168
- label: ( localize(2470, "Skip Changes")),
168
+ label: ( localize(2474, "Skip Changes")),
169
169
  run: () => Choice.Cancel
170
170
  },
171
- checkbox: { label: ( localize(2472, "Do not ask me again")) }
171
+ checkbox: { label: ( localize(2476, "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(2473, "Running 'File Create' participants...");
188
+ return localize(2477, "Running 'File Create' participants...");
189
189
  case FileOperation.MOVE:
190
- return localize(2474, "Running 'File Rename' participants...");
190
+ return localize(2478, "Running 'File Rename' participants...");
191
191
  case FileOperation.COPY:
192
- return localize(2475, "Running 'File Copy' participants...");
192
+ return localize(2479, "Running 'File Copy' participants...");
193
193
  case FileOperation.DELETE:
194
- return localize(2476, "Running 'File Delete' participants...");
194
+ return localize(2480, "Running 'File Delete' participants...");
195
195
  case FileOperation.WRITE:
196
- return localize(2477, "Running 'File Write' participants...");
196
+ return localize(2481, "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(2478, "Reset choice for 'File operation needs preview'")),
267
+ value: ( localize(2482, "Reset choice for 'File operation needs preview'")),
268
268
  original: `Reset choice for 'File operation needs preview'`
269
269
  },
270
270
  f1: true
@@ -13,15 +13,17 @@ import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/plat
13
13
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
14
14
  import { ExtHostLanguageFeaturesShape, ICodeActionProviderMetadataDto, IDocumentDropEditProviderMetadata, IDocumentFilterDto, ILanguageConfigurationDto, IPasteEditProviderMetadataDto, ISignatureHelpProviderMetadataDto, MainThreadLanguageFeaturesShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
15
15
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
16
+ import { IInlineCompletionsUnificationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service";
16
17
  export declare class MainThreadLanguageFeatures extends Disposable implements MainThreadLanguageFeaturesShape {
17
18
  private readonly _languageService;
18
19
  private readonly _languageConfigurationService;
19
20
  private readonly _languageFeaturesService;
20
21
  private readonly _uriIdentService;
21
22
  private readonly _instantiationService;
23
+ private readonly _inlineCompletionsUnificationService;
22
24
  private readonly _proxy;
23
25
  private readonly _registrations;
24
- constructor(extHostContext: IExtHostContext, _languageService: ILanguageService, _languageConfigurationService: ILanguageConfigurationService, _languageFeaturesService: ILanguageFeaturesService, _uriIdentService: IUriIdentityService, _instantiationService: IInstantiationService);
26
+ constructor(extHostContext: IExtHostContext, _languageService: ILanguageService, _languageConfigurationService: ILanguageConfigurationService, _languageFeaturesService: ILanguageFeaturesService, _uriIdentService: IUriIdentityService, _instantiationService: IInstantiationService, _inlineCompletionsUnificationService: IInlineCompletionsUnificationService);
25
27
  $unregister(handle: number): void;
26
28
  private static _reviveLocationDto;
27
29
  private static _reviveLocationLinkDto;
@@ -60,7 +62,7 @@ export declare class MainThreadLanguageFeatures extends Disposable implements Ma
60
62
  $registerDocumentRangeSemanticTokensProvider(handle: number, selector: IDocumentFilterDto[], legend: languages.SemanticTokensLegend): void;
61
63
  private static _inflateSuggestDto;
62
64
  $registerCompletionsProvider(handle: number, selector: IDocumentFilterDto[], triggerCharacters: string[], supportsResolveDetails: boolean, extensionId: ExtensionIdentifier): void;
63
- $registerInlineCompletionsSupport(handle: number, selector: IDocumentFilterDto[], supportsHandleEvents: boolean, extensionId: string, extensionVersion: string, groupId: string | undefined, yieldsToExtensionIds: string[], displayName: string | undefined, debounceDelayMs: number | undefined, eventHandle: number | undefined): void;
65
+ $registerInlineCompletionsSupport(handle: number, selector: IDocumentFilterDto[], supportsHandleEvents: boolean, extensionId: string, extensionVersion: string, groupId: string | undefined, yieldsToExtensionIds: string[], displayName: string | undefined, debounceDelayMs: number | undefined, excludesExtensionIds: string[], eventHandle: number | undefined): void;
64
66
  $emitInlineCompletionsChange(handle: number): void;
65
67
  $registerSignatureHelpProvider(handle: number, selector: IDocumentFilterDto[], metadata: ISignatureHelpProviderMetadataDto): void;
66
68
  $registerInlayHintsProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean, eventHandle: number | undefined, displayName: string | undefined): void;
@@ -19,23 +19,27 @@ 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-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/contrib/search/common/search';
22
+ import { WorkspaceSymbolProviderRegistry } from '@codingame/monaco-vscode-4dda7789-5a25-5e8b-b2de-c2f11b1b96e5-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 { DataChannelForwardingTelemetryService } from '../../contrib/editTelemetry/browser/telemetry/forwardingTelemetryService.js';
28
+ import { forwardToChannelIf, isCopilotLikeExtension, DataChannelForwardingTelemetryService } from '@codingame/monaco-vscode-bba55be6-41a2-50cd-a3cc-8bafa35bfa89-common/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService';
29
+ import { IAiEditTelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service';
30
+ import { EditDeltaInfo } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource';
31
+ import { IInlineCompletionsUnificationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service';
29
32
 
30
33
  var MainThreadLanguageFeatures_1;
31
34
  let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThreadLanguageFeatures extends Disposable {
32
- constructor(extHostContext, _languageService, _languageConfigurationService, _languageFeaturesService, _uriIdentService, _instantiationService) {
35
+ constructor(extHostContext, _languageService, _languageConfigurationService, _languageFeaturesService, _uriIdentService, _instantiationService, _inlineCompletionsUnificationService) {
33
36
  super();
34
37
  this._languageService = _languageService;
35
38
  this._languageConfigurationService = _languageConfigurationService;
36
39
  this._languageFeaturesService = _languageFeaturesService;
37
40
  this._uriIdentService = _uriIdentService;
38
41
  this._instantiationService = _instantiationService;
42
+ this._inlineCompletionsUnificationService = _inlineCompletionsUnificationService;
39
43
  this._registrations = this._register(( new DisposableMap()));
40
44
  this._pasteEditProviders = ( new Map());
41
45
  this._documentOnDropEditProviders = ( new Map());
@@ -68,6 +72,12 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
68
72
  }));
69
73
  updateAllWordDefinitions();
70
74
  }
75
+ if (this._inlineCompletionsUnificationService) {
76
+ this._register(this._inlineCompletionsUnificationService.onDidStateChange(() => {
77
+ this._proxy.$acceptInlineCompletionsUnificationState(this._inlineCompletionsUnificationService.state);
78
+ }));
79
+ this._proxy.$acceptInlineCompletionsUnificationState(this._inlineCompletionsUnificationService.state);
80
+ }
71
81
  }
72
82
  $unregister(handle) {
73
83
  this._registrations.deleteAndDispose(handle);
@@ -155,7 +165,7 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
155
165
  },
156
166
  resolveCodeLens: async (model, codeLens, token) => {
157
167
  const result = await this._proxy.$resolveCodeLens(handle, codeLens, token);
158
- if (!result) {
168
+ if (!result || token.isCancellationRequested) {
159
169
  return undefined;
160
170
  }
161
171
  return {
@@ -500,12 +510,25 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
500
510
  }
501
511
  this._registrations.set(handle, this._languageFeaturesService.completionProvider.register(selector, provider));
502
512
  }
503
- $registerInlineCompletionsSupport(handle, selector, supportsHandleEvents, extensionId, extensionVersion, groupId, yieldsToExtensionIds, displayName, debounceDelayMs, eventHandle) {
513
+ $registerInlineCompletionsSupport(handle, selector, supportsHandleEvents, extensionId, extensionVersion, groupId, yieldsToExtensionIds, displayName, debounceDelayMs, excludesExtensionIds, eventHandle) {
504
514
  const provider = {
505
515
  provideInlineCompletions: async (model, position, context, token) => {
506
- return this._proxy.$provideInlineCompletions(handle, model.uri, position, context, token);
516
+ const result = await this._proxy.$provideInlineCompletions(handle, model.uri, position, context, token);
517
+ return result;
507
518
  },
508
519
  handleItemDidShow: async (completions, item, updatedInsertText) => {
520
+ this._instantiationService.invokeFunction(accessor => {
521
+ 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
+ });
531
+ });
509
532
  if (supportsHandleEvents) {
510
533
  await this._proxy.$handleInlineCompletionDidShow(handle, completions.pid, item.idx, updatedInsertText);
511
534
  }
@@ -528,12 +551,32 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
528
551
  if (supportsHandleEvents) {
529
552
  await this._proxy.$handleInlineCompletionEndOfLifetime(handle, completions.pid, item.idx, mapReason(reason, i => ({ pid: completions.pid, idx: i.idx })));
530
553
  }
554
+ if (reason.kind === InlineCompletionEndOfLifeReasonKind.Accepted) {
555
+ this._instantiationService.invokeFunction(accessor => {
556
+ 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
+ });
568
+ });
569
+ }
531
570
  const endOfLifeSummary = {
532
571
  id: lifetimeSummary.requestUuid,
572
+ opportunityId: lifetimeSummary.requestUuid,
573
+ correlationId: lifetimeSummary.correlationId,
533
574
  shown: lifetimeSummary.shown,
534
575
  shownDuration: lifetimeSummary.shownDuration,
535
576
  shownDurationUncollapsed: lifetimeSummary.shownDurationUncollapsed,
536
577
  timeUntilShown: lifetimeSummary.timeUntilShown,
578
+ timeUntilProviderRequest: lifetimeSummary.timeUntilProviderRequest,
579
+ timeUntilProviderResponse: lifetimeSummary.timeUntilProviderResponse,
537
580
  editorType: lifetimeSummary.editorType,
538
581
  viewKind: lifetimeSummary.viewKind,
539
582
  preceeded: lifetimeSummary.preceeded,
@@ -552,11 +595,16 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
552
595
  sameShapeReplacements: lifetimeSummary.sameShapeReplacements,
553
596
  extensionId,
554
597
  extensionVersion,
598
+ groupId,
555
599
  partiallyAccepted: lifetimeSummary.partiallyAccepted,
600
+ partiallyAcceptedCountSinceOriginal: lifetimeSummary.partiallyAcceptedCountSinceOriginal,
601
+ partiallyAcceptedRatioSinceOriginal: lifetimeSummary.partiallyAcceptedRatioSinceOriginal,
602
+ partiallyAcceptedCharactersSinceOriginal: lifetimeSummary.partiallyAcceptedCharactersSinceOriginal,
556
603
  superseded: reason.kind === InlineCompletionEndOfLifeReasonKind$1.Ignored && !!reason.supersededBy,
557
604
  reason: reason.kind === InlineCompletionEndOfLifeReasonKind$1.Accepted ? 'accepted'
558
605
  : reason.kind === InlineCompletionEndOfLifeReasonKind$1.Rejected ? 'rejected'
559
- : 'ignored'
606
+ : 'ignored',
607
+ ...forwardToChannelIf(isCopilotLikeExtension(extensionId)),
560
608
  };
561
609
  const telemetryService = this._instantiationService.createInstance(DataChannelForwardingTelemetryService);
562
610
  telemetryService.publicLog2('inlineCompletion.endOfLife', endOfLifeSummary);
@@ -572,6 +620,7 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
572
620
  groupId: groupId ?? extensionId,
573
621
  providerId: new ProviderId(extensionId, extensionVersion, groupId),
574
622
  yieldsToGroupIds: yieldsToExtensionIds,
623
+ excludesGroupIds: excludesExtensionIds,
575
624
  debounceDelayMs,
576
625
  displayName,
577
626
  toString() {
@@ -888,7 +937,8 @@ MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = __decorate([
888
937
  ( __param(2, ILanguageConfigurationService)),
889
938
  ( __param(3, ILanguageFeaturesService)),
890
939
  ( __param(4, IUriIdentityService)),
891
- ( __param(5, IInstantiationService))
940
+ ( __param(5, IInstantiationService)),
941
+ ( __param(6, IInlineCompletionsUnificationService))
892
942
  ], MainThreadLanguageFeatures);
893
943
  let MainThreadPasteEditProvider = class MainThreadPasteEditProvider {
894
944
  constructor(_handle, _proxy, metadata, _uriIdentService) {
@@ -4,7 +4,7 @@ import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/commo
4
4
  import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
5
5
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
6
  import { ILanguageModelIgnoredFilesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/ignoredFiles.service";
7
- import { IChatMessage, IChatResponseFragment, ILanguageModelChatSelector } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
7
+ import { IChatMessage, IChatResponsePart, ILanguageModelChatSelector } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
8
8
  import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
9
9
  import { IAuthenticationAccessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationAccessService.service";
10
10
  import { IAuthenticationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service";
@@ -29,7 +29,7 @@ export declare class MainThreadLanguageModels implements MainThreadLanguageModel
29
29
  dispose(): void;
30
30
  $registerLanguageModelProvider(vendor: string): void;
31
31
  $onLMProviderChange(vendor: string): void;
32
- $reportResponsePart(requestId: number, chunk: IChatResponseFragment | IChatResponseFragment[]): Promise<void>;
32
+ $reportResponsePart(requestId: number, chunk: SerializableObjectWithBuffers<IChatResponsePart | IChatResponsePart[]>): Promise<void>;
33
33
  $reportResponseDone(requestId: number, err: SerializedError | undefined): Promise<void>;
34
34
  $unregisterProvider(vendor: string): void;
35
35
  $selectChatModels(selector: ILanguageModelChatSelector): Promise<string[]>;
@@ -46,8 +46,8 @@ let MainThreadLanguageModels = class MainThreadLanguageModels {
46
46
  const dipsosables = ( new DisposableStore());
47
47
  dipsosables.add(this._chatProviderService.registerLanguageModelProvider(vendor, {
48
48
  onDidChange: Event.filter(this._lmProviderChange.event, e => e.vendor === vendor, dipsosables),
49
- prepareLanguageModelChat: async (options, token) => {
50
- const modelsAndIdentifiers = await this._proxy.$prepareLanguageModelProvider(vendor, options, token);
49
+ provideLanguageModelChatInfo: async (options, token) => {
50
+ const modelsAndIdentifiers = await this._proxy.$provideLanguageModelChatInfo(vendor, options, token);
51
51
  modelsAndIdentifiers.forEach(m => {
52
52
  if (m.metadata.auth) {
53
53
  dipsosables.add(this._registerAuthenticationProvider(m.metadata.extension, m.metadata.auth));
@@ -90,7 +90,7 @@ let MainThreadLanguageModels = class MainThreadLanguageModels {
90
90
  const data = this._pendingProgress.get(requestId);
91
91
  this._logService.trace('[LM] report response PART', Boolean(data), requestId, chunk);
92
92
  if (data) {
93
- data.stream.emitOne(chunk);
93
+ data.stream.emitOne(chunk.value);
94
94
  }
95
95
  }
96
96
  async $reportResponseDone(requestId, err) {
@@ -129,7 +129,7 @@ let MainThreadLanguageModels = class MainThreadLanguageModels {
129
129
  try {
130
130
  for await (const part of response.stream) {
131
131
  this._logService.trace('[CHAT] request PART', extension.value, requestId, part);
132
- await this._proxy.$acceptResponsePart(requestId, part);
132
+ await this._proxy.$acceptResponsePart(requestId, ( new SerializableObjectWithBuffers(part)));
133
133
  }
134
134
  this._logService.trace('[CHAT] request DONE', extension.value, requestId);
135
135
  }
@@ -154,7 +154,7 @@ let MainThreadLanguageModels = class MainThreadLanguageModels {
154
154
  if (this._authenticationService.getProviderIds().includes(authProviderId)) {
155
155
  return Disposable.None;
156
156
  }
157
- const accountLabel = auth.accountLabel ?? ( localize(2479, 'Language Models'));
157
+ const accountLabel = auth.accountLabel ?? ( localize(2483, 'Language Models'));
158
158
  const disposables = ( new DisposableStore());
159
159
  this._authenticationService.registerAuthenticationProvider(authProviderId, ( new LanguageModelAccessAuthProvider(authProviderId, auth.providerLabel, accountLabel)));
160
160
  disposables.add(toDisposable(() => {
@@ -230,7 +230,7 @@ class LanguageModelAccessAuthProvider {
230
230
  }
231
231
  confirmation(extensionName, _recreatingSession) {
232
232
  return localize(
233
- 2480,
233
+ 2484,
234
234
  "The extension '{0}' wants to access the language models provided by {1}.",
235
235
  extensionName,
236
236
  this.label
@@ -177,9 +177,9 @@ let MainThreadMcp = class MainThreadMcp extends Disposable {
177
177
  }
178
178
  async continueWithIncorrectAccountPrompt(chosenAccountLabel, requestedAccountLabel) {
179
179
  const result = await this.dialogService.prompt({
180
- message: ( localize(2481, "Incorrect account detected")),
180
+ message: ( localize(2485, "Incorrect account detected")),
181
181
  detail: ( localize(
182
- 2482,
182
+ 2486,
183
183
  "The chosen account, {0}, does not match the requested account, {1}.",
184
184
  chosenAccountLabel,
185
185
  requestedAccountLabel
@@ -188,11 +188,11 @@ let MainThreadMcp = class MainThreadMcp extends Disposable {
188
188
  cancelButton: true,
189
189
  buttons: [
190
190
  {
191
- label: ( localize(2483, 'Keep {0}', chosenAccountLabel)),
191
+ label: ( localize(2487, 'Keep {0}', chosenAccountLabel)),
192
192
  run: () => chosenAccountLabel
193
193
  },
194
194
  {
195
- label: ( localize(2484, 'Login with {0}', requestedAccountLabel)),
195
+ label: ( localize(2488, 'Login with {0}', requestedAccountLabel)),
196
196
  run: () => requestedAccountLabel
197
197
  }
198
198
  ],
@@ -205,20 +205,20 @@ let MainThreadMcp = class MainThreadMcp extends Disposable {
205
205
  async loginPrompt(mcpLabel, providerLabel, recreatingSession) {
206
206
  const message = recreatingSession
207
207
  ? ( localize(
208
- 2485,
208
+ 2489,
209
209
  "The MCP Server Definition '{0}' wants you to authenticate to {1}.",
210
210
  mcpLabel,
211
211
  providerLabel
212
212
  ))
213
213
  : ( localize(
214
- 2486,
214
+ 2490,
215
215
  "The MCP Server Definition '{0}' wants to authenticate to {1}.",
216
216
  mcpLabel,
217
217
  providerLabel
218
218
  ));
219
219
  const buttons = [
220
220
  {
221
- label: ( localize(2487, "&&Allow")),
221
+ label: ( localize(2491, "&&Allow")),
222
222
  run() {
223
223
  return true;
224
224
  },
@@ -60,13 +60,13 @@ let MainThreadMessageService = class MainThreadMessageService {
60
60
  sourceIsUrgent = MainThreadMessageService_1.URGENT_NOTIFICATION_SOURCES.includes(source.id);
61
61
  }
62
62
  if (!source) {
63
- source = ( localize(2488, "Extension"));
63
+ source = ( localize(2492, "Extension"));
64
64
  }
65
65
  const secondaryActions = [];
66
66
  if (options.source) {
67
67
  secondaryActions.push(toAction({
68
68
  id: options.source.identifier.value,
69
- label: ( localize(2489, "Manage Extension")),
69
+ label: ( localize(2493, "Manage Extension")),
70
70
  run: () => {
71
71
  return this._commandService.executeCommand('_extensions.manage', options.source.identifier.value);
72
72
  }
@@ -103,13 +103,13 @@ let MainThreadMessageService = class MainThreadMessageService {
103
103
  if (!cancelButton) {
104
104
  if (buttons.length > 0) {
105
105
  cancelButton = {
106
- label: ( localize(2490, "Cancel")),
106
+ label: ( localize(2494, "Cancel")),
107
107
  run: () => undefined
108
108
  };
109
109
  }
110
110
  else {
111
111
  cancelButton = {
112
- label: ( localize(2491, "&&OK")),
112
+ label: ( localize(2495, "&&OK")),
113
113
  run: () => undefined
114
114
  };
115
115
  }
@@ -18,6 +18,7 @@ import { SerializableObjectWithBuffers } from '@codingame/monaco-vscode-api/vsco
18
18
  import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
19
19
  import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
20
20
  import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
21
+ import { FileOperationError } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
21
22
 
22
23
  let MainThreadNotebooks = class MainThreadNotebooks {
23
24
  constructor(extHostContext, _notebookService, _cellStatusBarService, _logService) {
@@ -64,6 +65,9 @@ let MainThreadNotebooks = class MainThreadNotebooks {
64
65
  },
65
66
  save: async (uri, versionId, options, token) => {
66
67
  const stat = await this._proxy.$saveNotebook(handle, uri, versionId, options, token);
68
+ if (isFileOperationError(stat)) {
69
+ throw ( new FileOperationError(stat.message, stat.fileOperationResult, stat.options));
70
+ }
67
71
  return {
68
72
  ...stat,
69
73
  children: undefined,
@@ -192,5 +196,8 @@ CommandsRegistry.registerCommand('_executeNotebookToData', async (accessor, ...a
192
196
  const bytes = await info.serializer.notebookToData(data);
193
197
  return bytes;
194
198
  });
199
+ function isFileOperationError(error) {
200
+ return typeof error.fileOperationResult === 'number' && typeof error.message === 'string';
201
+ }
195
202
 
196
203
  export { MainThreadNotebooks };
@@ -8,7 +8,7 @@ import { MainThreadNotebookDocuments } from './mainThreadNotebookDocuments.js';
8
8
  import { NotebookDto } from './mainThreadNotebookDto.js';
9
9
  import { MainThreadNotebookEditors } from './mainThreadNotebookEditors.js';
10
10
  import { extHostCustomer } from '../../services/extensions/common/extHostCustomers.js';
11
- import { editorGroupToColumn } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
11
+ import { editorGroupToColumn } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
12
12
  import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
13
13
  import { INotebookEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service';
14
14
  import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
@@ -7,7 +7,7 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
7
7
  import { EditorActivation } from '@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor';
8
8
  import { getNotebookEditorFromEditorPane } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
9
9
  import { INotebookEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service';
10
- import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
10
+ import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
11
11
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
12
12
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
13
13
  import { ExtHostContext, NotebookEditorRevealType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
@@ -6,7 +6,7 @@ import { extHostCustomer } from '../../services/extensions/common/extHostCustome
6
6
  import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
7
7
  import { raceCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
8
8
  import { IWorkingCopyFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService.service';
9
- import { NotebookFileWorkingCopyModel } from '@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common/vscode/vs/workbench/contrib/notebook/common/notebookEditorModel';
9
+ import { NotebookFileWorkingCopyModel } from '@codingame/monaco-vscode-bba55be6-41a2-50cd-a3cc-8bafa35bfa89-common/vscode/vs/workbench/contrib/notebook/common/notebookEditorModel';
10
10
 
11
11
  class ExtHostNotebookDocumentSaveParticipant {
12
12
  constructor(extHostContext) {
@@ -18,7 +18,7 @@ class ExtHostNotebookDocumentSaveParticipant {
18
18
  }
19
19
  let _warningTimeout;
20
20
  const p = ( new Promise((resolve, reject) => {
21
- _warningTimeout = setTimeout(() => reject(( new Error(( localize(2492, "Aborted onWillSaveNotebookDocument-event after 1750ms"))))), 1750);
21
+ _warningTimeout = setTimeout(() => reject(( new Error(( localize(2496, "Aborted onWillSaveNotebookDocument-event after 1750ms"))))), 1750);
22
22
  this._proxy.$participateInSave(workingCopy.resource, context.reason, token).then(_ => {
23
23
  clearTimeout(_warningTimeout);
24
24
  return undefined;