@codingame/monaco-vscode-extensions-service-override 26.2.2 → 28.0.0

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 (66) hide show
  1. package/index.js +4 -0
  2. package/package.json +3 -3
  3. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
  4. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +25 -25
  5. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
  6. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +4 -0
  7. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +104 -5
  8. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +2 -3
  9. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +26 -11
  10. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +15 -0
  11. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +114 -0
  12. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +14 -9
  13. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +133 -66
  14. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +4 -1
  15. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -2
  16. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
  17. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +1 -0
  18. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
  19. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
  20. package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.d.ts +21 -0
  21. package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.js +111 -0
  22. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +3 -2
  23. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +33 -4
  24. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +2 -1
  25. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +8 -3
  26. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.d.ts +1 -1
  27. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +11 -8
  28. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +10 -1
  29. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +34 -10
  30. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  31. package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.d.ts +9 -0
  32. package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.js +26 -0
  33. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
  34. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
  35. package/vscode/src/vs/workbench/api/browser/mainThreadPower.d.ts +16 -0
  36. package/vscode/src/vs/workbench/api/browser/mainThreadPower.js +54 -0
  37. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
  38. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +4 -0
  39. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
  40. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  41. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +4 -2
  42. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +1 -1
  43. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +8 -7
  44. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
  45. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
  46. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.d.ts +1 -1
  47. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +2 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
  49. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +8 -9
  50. package/vscode/src/vs/workbench/api/common/shared/tasks.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/git/common/gitService.d.ts +44 -0
  53. package/vscode/src/vs/workbench/contrib/git/common/gitService.js +10 -0
  54. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
  55. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
  56. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +3 -3
  57. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +13 -13
  58. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +2 -0
  59. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +6 -1
  60. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +1 -0
  61. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
  62. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
  63. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.d.ts +1 -0
  64. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +3 -0
  65. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +2 -1
  66. package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +13 -9
@@ -405,7 +405,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
405
405
  this._register(workingCopyService.registerWorkingCopy(this));
406
406
  this._register(extensionService.onWillStop(e => {
407
407
  e.veto(true, ( localize(
408
- 2504,
408
+ 2549,
409
409
  "An extension provided editor for '{0}' is still open that would close otherwise.",
410
410
  this.name
411
411
  )));
@@ -473,7 +473,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
473
473
  this._undoService.pushElement({
474
474
  type: UndoRedoElementType.Resource,
475
475
  resource: this._editorResource,
476
- label: label ?? ( localize(2505, "Edit")),
476
+ label: label ?? ( localize(2550, "Edit")),
477
477
  code: "undoredo.customEditorEdit",
478
478
  undo: () => this.undo(),
479
479
  redo: () => this.redo()
@@ -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(2506, "Aborted onWillCreateEditSessionIdentity-event after 10000ms"))))), this.timeout);
17
+ setTimeout(() => reject(( new Error(( localize(2551, "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);
@@ -142,6 +142,7 @@ class MainThreadTextEditor {
142
142
  }
143
143
  dispose() {
144
144
  this._modelListeners.dispose();
145
+ this._onPropertiesChanged.dispose();
145
146
  this._codeEditor = null;
146
147
  this._codeEditorListeners.dispose();
147
148
  }
@@ -111,7 +111,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
111
111
  this._notificationService.notify({
112
112
  severity: Severity.Error,
113
113
  message: ( localize(
114
- 2507,
114
+ 2552,
115
115
  "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?",
116
116
  extName,
117
117
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -119,7 +119,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
119
119
  actions: {
120
120
  primary: [toAction({
121
121
  id: "reload",
122
- label: ( localize(2508, "Reload Window")),
122
+ label: ( localize(2553, "Reload Window")),
123
123
  run: () => this._hostService.reload()
124
124
  })]
125
125
  }
@@ -130,7 +130,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
130
130
  this._notificationService.notify({
131
131
  severity: Severity.Error,
132
132
  message: ( localize(
133
- 2509,
133
+ 2554,
134
134
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
135
135
  extName,
136
136
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -140,7 +140,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
140
140
  this._notificationService.notify({
141
141
  severity: Severity.Error,
142
142
  message: ( localize(
143
- 2510,
143
+ 2555,
144
144
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
145
145
  extName,
146
146
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -148,7 +148,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
148
148
  actions: {
149
149
  primary: [toAction({
150
150
  id: "manageWorkspaceTrust",
151
- label: ( localize(2511, "Manage Workspace Trust")),
151
+ label: ( localize(2556, "Manage Workspace Trust")),
152
152
  run: () => this._commandService.executeCommand("workbench.trust.manage")
153
153
  })]
154
154
  }
@@ -157,7 +157,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
157
157
  this._notificationService.notify({
158
158
  severity: Severity.Error,
159
159
  message: ( localize(
160
- 2512,
160
+ 2557,
161
161
  "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?",
162
162
  extName,
163
163
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -165,7 +165,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
165
165
  actions: {
166
166
  primary: [toAction({
167
167
  id: "enable",
168
- label: ( localize(2513, "Enable and Reload")),
168
+ label: ( localize(2558, "Enable and Reload")),
169
169
  enabled: true,
170
170
  run: () => this._extensionEnablementService.setEnablement(
171
171
  [missingInstalledDependency],
@@ -178,7 +178,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
178
178
  this._notificationService.notify({
179
179
  severity: Severity.Error,
180
180
  message: ( localize(
181
- 2514,
181
+ 2559,
182
182
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
183
183
  extName,
184
184
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -199,7 +199,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
199
199
  this._notificationService.notify({
200
200
  severity: Severity.Error,
201
201
  message: ( localize(
202
- 2515,
202
+ 2560,
203
203
  "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?",
204
204
  extName,
205
205
  dependencyExtension.displayName,
@@ -208,14 +208,14 @@ let MainThreadExtensionService = class MainThreadExtensionService {
208
208
  actions: {
209
209
  primary: [toAction({
210
210
  id: "install",
211
- label: ( localize(2516, "Install and Reload")),
211
+ label: ( localize(2561, "Install and Reload")),
212
212
  run: () => this._extensionsWorkbenchService.install(dependencyExtension).then(() => this._hostService.reload(), e => this._notificationService.error(e))
213
213
  })]
214
214
  }
215
215
  });
216
216
  } else {
217
217
  this._notificationService.error(( localize(
218
- 2517,
218
+ 2562,
219
219
  "Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
220
220
  extName,
221
221
  missingDependency
@@ -94,25 +94,25 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
94
94
  if (data.extensionNames.length === 1) {
95
95
  if (operation === FileOperation.CREATE) {
96
96
  message = ( localize(
97
- 2518,
97
+ 2563,
98
98
  "Extension '{0}' wants to make refactoring changes with this file creation",
99
99
  data.extensionNames[0]
100
100
  ));
101
101
  } else if (operation === FileOperation.COPY) {
102
102
  message = ( localize(
103
- 2519,
103
+ 2564,
104
104
  "Extension '{0}' wants to make refactoring changes with this file copy",
105
105
  data.extensionNames[0]
106
106
  ));
107
107
  } else if (operation === FileOperation.MOVE) {
108
108
  message = ( localize(
109
- 2520,
109
+ 2565,
110
110
  "Extension '{0}' wants to make refactoring changes with this file move",
111
111
  data.extensionNames[0]
112
112
  ));
113
113
  } else {
114
114
  message = ( localize(
115
- 2521,
115
+ 2566,
116
116
  "Extension '{0}' wants to make refactoring changes with this file deletion",
117
117
  data.extensionNames[0]
118
118
  ));
@@ -120,25 +120,25 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
120
120
  } else {
121
121
  if (operation === FileOperation.CREATE) {
122
122
  message = ( localize(
123
- 2522,
123
+ 2567,
124
124
  "{0} extensions want to make refactoring changes with this file creation",
125
125
  data.extensionNames.length
126
126
  ));
127
127
  } else if (operation === FileOperation.COPY) {
128
128
  message = ( localize(
129
- 2523,
129
+ 2568,
130
130
  "{0} extensions want to make refactoring changes with this file copy",
131
131
  data.extensionNames.length
132
132
  ));
133
133
  } else if (operation === FileOperation.MOVE) {
134
134
  message = ( localize(
135
- 2524,
135
+ 2569,
136
136
  "{0} extensions want to make refactoring changes with this file move",
137
137
  data.extensionNames.length
138
138
  ));
139
139
  } else {
140
140
  message = ( localize(
141
- 2525,
141
+ 2570,
142
142
  "{0} extensions want to make refactoring changes with this file deletion",
143
143
  data.extensionNames.length
144
144
  ));
@@ -150,8 +150,8 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
150
150
  } = await dialogService.confirm({
151
151
  type: Severity.Info,
152
152
  message,
153
- primaryButton: ( localize(2526, "Show &&Preview")),
154
- cancelButton: ( localize(2527, "Skip Changes"))
153
+ primaryButton: ( localize(2571, "Show &&Preview")),
154
+ cancelButton: ( localize(2572, "Skip Changes"))
155
155
  });
156
156
  showPreview = true;
157
157
  if (!confirmed) {
@@ -171,18 +171,18 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
171
171
  type: Severity.Info,
172
172
  message,
173
173
  buttons: [{
174
- label: ( localize(2528, "&&OK")),
174
+ label: ( localize(2573, "&&OK")),
175
175
  run: () => Choice.OK
176
176
  }, {
177
- label: ( localize(2526, "Show &&Preview")),
177
+ label: ( localize(2571, "Show &&Preview")),
178
178
  run: () => Choice.Preview
179
179
  }],
180
180
  cancelButton: {
181
- label: ( localize(2527, "Skip Changes")),
181
+ label: ( localize(2572, "Skip Changes")),
182
182
  run: () => Choice.Cancel
183
183
  },
184
184
  checkbox: {
185
- label: ( localize(2529, "Do not ask me again"))
185
+ label: ( localize(2574, "Do not ask me again"))
186
186
  }
187
187
  });
188
188
  if (result === Choice.Cancel) {
@@ -211,15 +211,15 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
211
211
  _progressLabel(operation) {
212
212
  switch (operation) {
213
213
  case FileOperation.CREATE:
214
- return localize(2530, "Running 'File Create' participants...");
214
+ return localize(2575, "Running 'File Create' participants...");
215
215
  case FileOperation.MOVE:
216
- return localize(2531, "Running 'File Rename' participants...");
216
+ return localize(2576, "Running 'File Rename' participants...");
217
217
  case FileOperation.COPY:
218
- return localize(2532, "Running 'File Copy' participants...");
218
+ return localize(2577, "Running 'File Copy' participants...");
219
219
  case FileOperation.DELETE:
220
- return localize(2533, "Running 'File Delete' participants...");
220
+ return localize(2578, "Running 'File Delete' participants...");
221
221
  case FileOperation.WRITE:
222
- return localize(2534, "Running 'File Write' participants...");
222
+ return localize(2579, "Running 'File Write' participants...");
223
223
  }
224
224
  }
225
225
  })();
@@ -307,7 +307,7 @@ registerAction2(class ResetMemento extends Action2 {
307
307
  super({
308
308
  id: "files.participants.resetChoice",
309
309
  title: {
310
- value: ( localize(2535, "Reset choice for 'File operation needs preview'")),
310
+ value: ( localize(2580, "Reset choice for 'File operation needs preview'")),
311
311
  original: `Reset choice for 'File operation needs preview'`
312
312
  },
313
313
  f1: true
@@ -0,0 +1,21 @@
1
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { IGitExtensionDelegate, GitRef, GitRefQuery, IGitRepository } from "../../contrib/git/common/gitService.js";
5
+ import { IGitService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/git/common/gitService.service";
6
+ import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
7
+ import { MainThreadGitExtensionShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
8
+ export declare class MainThreadGitExtensionService extends Disposable implements MainThreadGitExtensionShape, IGitExtensionDelegate {
9
+ private readonly gitService;
10
+ private readonly _proxy;
11
+ private readonly _openRepositorySequencer;
12
+ private _repositoryHandles;
13
+ private _repositories;
14
+ get repositories(): Iterable<IGitRepository>;
15
+ constructor(extHostContext: IExtHostContext, gitService: IGitService);
16
+ private _initializeDelegate;
17
+ private _getRepositoryByUri;
18
+ openRepository(uri: URI): Promise<IGitRepository | undefined>;
19
+ getRefs(root: URI, query: GitRefQuery, token?: CancellationToken): Promise<GitRef[]>;
20
+ $onDidChangeRepository(handle: number): Promise<void>;
21
+ }
@@ -0,0 +1,111 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Sequencer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
6
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
+ import { GitRepository } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/git/browser/gitService';
8
+ import { GitRefType } from '../../contrib/git/common/gitService.js';
9
+ import { IGitService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/git/common/gitService.service';
10
+ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
11
+ import { GitRefTypeDto, ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
12
+
13
+ function toGitRefType(type) {
14
+ switch (type) {
15
+ case GitRefTypeDto.Head:
16
+ return GitRefType.Head;
17
+ case GitRefTypeDto.RemoteHead:
18
+ return GitRefType.RemoteHead;
19
+ case GitRefTypeDto.Tag:
20
+ return GitRefType.Tag;
21
+ default:
22
+ throw ( new Error(`Unknown GitRefType: ${type}`));
23
+ }
24
+ }
25
+ function toGitRepositoryState(dto) {
26
+ return {
27
+ HEAD: dto?.HEAD ? {
28
+ type: toGitRefType(dto.HEAD.type),
29
+ name: dto.HEAD.name,
30
+ commit: dto.HEAD.commit,
31
+ remote: dto.HEAD.remote,
32
+ upstream: dto.HEAD.upstream,
33
+ ahead: dto.HEAD.ahead,
34
+ behind: dto.HEAD.behind
35
+ } : undefined
36
+ };
37
+ }
38
+ let MainThreadGitExtensionService = class MainThreadGitExtensionService extends Disposable {
39
+ get repositories() {
40
+ return ( this._repositories.values());
41
+ }
42
+ constructor(extHostContext, gitService) {
43
+ super();
44
+ this.gitService = gitService;
45
+ this._openRepositorySequencer = ( new Sequencer());
46
+ this._repositoryHandles = ( new ResourceMap());
47
+ this._repositories = ( new Map());
48
+ this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostGitExtension));
49
+ this._initializeDelegate();
50
+ }
51
+ async _initializeDelegate() {
52
+ const isExtensionAvailable = await this._proxy.$isGitExtensionAvailable();
53
+ if (isExtensionAvailable && !this._store.isDisposed) {
54
+ this._register(this.gitService.setDelegate(this));
55
+ }
56
+ }
57
+ _getRepositoryByUri(uri) {
58
+ const handle = this._repositoryHandles.get(uri);
59
+ return handle !== undefined ? this._repositories.get(handle) : undefined;
60
+ }
61
+ async openRepository(uri) {
62
+ return this._openRepositorySequencer.queue(async () => {
63
+ const existingRepository = this._getRepositoryByUri(uri);
64
+ if (existingRepository) {
65
+ return existingRepository;
66
+ }
67
+ const result = await this._proxy.$openRepository(uri);
68
+ if (!result) {
69
+ return undefined;
70
+ }
71
+ const repositoryRootUri = URI.revive(result.rootUri);
72
+ const existingRepositoryForRoot = this._getRepositoryByUri(repositoryRootUri);
73
+ if (existingRepositoryForRoot) {
74
+ return existingRepositoryForRoot;
75
+ }
76
+ const state = toGitRepositoryState(result.state);
77
+ const repository = ( new GitRepository(repositoryRootUri, state, this));
78
+ this._repositories.set(result.handle, repository);
79
+ this._repositoryHandles.set(repositoryRootUri, result.handle);
80
+ return repository;
81
+ });
82
+ }
83
+ async getRefs(root, query, token) {
84
+ const handle = this._repositoryHandles.get(root);
85
+ if (handle === undefined) {
86
+ return [];
87
+ }
88
+ const result = await this._proxy.$getRefs(handle, query, token);
89
+ if (token?.isCancellationRequested) {
90
+ return [];
91
+ }
92
+ return ( result.map(ref => ({
93
+ ...ref,
94
+ type: toGitRefType(ref.type)
95
+ })));
96
+ }
97
+ async $onDidChangeRepository(handle) {
98
+ const repository = this._repositories.get(handle);
99
+ if (!repository) {
100
+ return;
101
+ }
102
+ const state = await this._proxy.$getRepositoryState(handle);
103
+ if (!state) {
104
+ return;
105
+ }
106
+ repository.updateState(toGitRepositoryState(state));
107
+ }
108
+ };
109
+ MainThreadGitExtensionService = __decorate([extHostNamedCustomer(MainContext.MainThreadGitExtension), ( __param(1, IGitService))], MainThreadGitExtensionService);
110
+
111
+ export { MainThreadGitExtensionService };
@@ -11,7 +11,7 @@ import { ILanguageFeaturesService } from "@codingame/monaco-vscode-api/vscode/vs
11
11
  import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
12
12
  import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
13
13
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
14
- import { ExtHostLanguageFeaturesShape, ICodeActionProviderMetadataDto, IDocumentDropEditProviderMetadata, IDocumentFilterDto, IInlineCompletionChangeHintDto, IInlineCompletionModelInfoDto, ILanguageConfigurationDto, IPasteEditProviderMetadataDto, ISignatureHelpProviderMetadataDto, MainThreadLanguageFeaturesShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
14
+ import { ExtHostLanguageFeaturesShape, ICodeActionProviderMetadataDto, IDocumentDropEditProviderMetadata, IDocumentFilterDto, IInlineCompletionChangeHintDto, IInlineCompletionModelInfoDto, IInlineCompletionProviderOptionDto, 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
16
  import { IInlineCompletionsUnificationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service";
17
17
  export declare class MainThreadLanguageFeatures extends Disposable implements MainThreadLanguageFeaturesShape {
@@ -63,9 +63,10 @@ export declare class MainThreadLanguageFeatures extends Disposable implements Ma
63
63
  $registerDocumentRangeSemanticTokensProvider(handle: number, selector: IDocumentFilterDto[], legend: languages.SemanticTokensLegend, eventHandle: number | undefined): void;
64
64
  private static _inflateSuggestDto;
65
65
  $registerCompletionsProvider(handle: number, selector: IDocumentFilterDto[], triggerCharacters: string[], supportsResolveDetails: boolean, extensionId: ExtensionIdentifier): void;
66
- $registerInlineCompletionsSupport(handle: number, selector: IDocumentFilterDto[], supportsHandleEvents: boolean, extensionId: string, extensionVersion: string, groupId: string | undefined, yieldsToExtensionIds: string[], displayName: string | undefined, debounceDelayMs: number | undefined, excludesExtensionIds: string[], supportsOnDidChange: boolean, supportsSetModelId: boolean, initialModelInfo: IInlineCompletionModelInfoDto | undefined, supportsOnDidChangeModelInfo: boolean): void;
66
+ $registerInlineCompletionsSupport(handle: number, selector: IDocumentFilterDto[], supportsHandleEvents: boolean, extensionId: string, extensionVersion: string, groupId: string | undefined, yieldsToExtensionIds: string[], displayName: string | undefined, debounceDelayMs: number | undefined, excludesExtensionIds: string[], supportsOnDidChange: boolean, supportsSetModelId: boolean, initialModelInfo: IInlineCompletionModelInfoDto | undefined, supportsOnDidChangeModelInfo: boolean, supportsSetProviderOption: boolean, initialProviderOptions: readonly IInlineCompletionProviderOptionDto[] | undefined, supportsOnDidChangeProviderOptions: boolean): void;
67
67
  $emitInlineCompletionsChange(handle: number, changeHint: IInlineCompletionChangeHintDto | undefined): void;
68
68
  $emitInlineCompletionModelInfoChange(handle: number, data: IInlineCompletionModelInfoDto | undefined): void;
69
+ $emitInlineCompletionProviderOptionsChange(handle: number, data: readonly IInlineCompletionProviderOptionDto[] | undefined): void;
69
70
  $registerSignatureHelpProvider(handle: number, selector: IDocumentFilterDto[], metadata: ISignatureHelpProviderMetadataDto): void;
70
71
  $registerInlayHintsProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean, eventHandle: number | undefined, displayName: string | undefined): void;
71
72
  $emitInlayHintsEvent(eventHandle: number): void;
@@ -598,7 +598,10 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
598
598
  supportsOnDidChange,
599
599
  supportsSetModelId,
600
600
  initialModelInfo,
601
- supportsOnDidChangeModelInfo
601
+ supportsOnDidChangeModelInfo,
602
+ supportsSetProviderOption,
603
+ initialProviderOptions,
604
+ supportsOnDidChangeProviderOptions
602
605
  ) {
603
606
  const providerId = new ProviderId(extensionId, extensionVersion, groupId);
604
607
  const provider = this._instantiationService.createInstance(
@@ -615,6 +618,9 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
615
618
  supportsSetModelId,
616
619
  supportsOnDidChange,
617
620
  supportsOnDidChangeModelInfo,
621
+ initialProviderOptions,
622
+ supportsSetProviderOption,
623
+ supportsOnDidChangeProviderOptions,
618
624
  selector,
619
625
  this._proxy
620
626
  );
@@ -632,6 +638,12 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
632
638
  obj._setModelInfo(data);
633
639
  }
634
640
  }
641
+ $emitInlineCompletionProviderOptionsChange(handle, data) {
642
+ const obj = this._registrations.get(handle);
643
+ if (obj instanceof ExtensionBackedInlineCompletionsProvider) {
644
+ obj._setProviderOptions(data);
645
+ }
646
+ }
635
647
  $registerSignatureHelpProvider(handle, selector, metadata) {
636
648
  this._registrations.set(
637
649
  handle,
@@ -1175,6 +1187,9 @@ let ExtensionBackedInlineCompletionsProvider = class ExtensionBackedInlineComple
1175
1187
  _supportsSetModelId,
1176
1188
  _supportsOnDidChange,
1177
1189
  _supportsOnDidChangeModelInfo,
1190
+ providerOptions,
1191
+ _supportsSetProviderOption,
1192
+ _supportsOnDidChangeProviderOptions,
1178
1193
  _selector,
1179
1194
  _proxy,
1180
1195
  _languageFeaturesService,
@@ -1194,18 +1209,26 @@ let ExtensionBackedInlineCompletionsProvider = class ExtensionBackedInlineComple
1194
1209
  this._supportsSetModelId = _supportsSetModelId;
1195
1210
  this._supportsOnDidChange = _supportsOnDidChange;
1196
1211
  this._supportsOnDidChangeModelInfo = _supportsOnDidChangeModelInfo;
1212
+ this.providerOptions = providerOptions;
1213
+ this._supportsSetProviderOption = _supportsSetProviderOption;
1214
+ this._supportsOnDidChangeProviderOptions = _supportsOnDidChangeProviderOptions;
1197
1215
  this._selector = _selector;
1198
1216
  this._proxy = _proxy;
1199
1217
  this._languageFeaturesService = _languageFeaturesService;
1200
1218
  this._aiEditTelemetryService = _aiEditTelemetryService;
1201
1219
  this._instantiationService = _instantiationService;
1202
- this._onDidChangeEmitter = ( new Emitter());
1203
- this._onDidChangeModelInfoEmitter = ( new Emitter());
1220
+ this._onDidChangeEmitter = this._register(( new Emitter()));
1221
+ this._onDidChangeModelInfoEmitter = this._register(( new Emitter()));
1222
+ this._onDidProviderOptionsChangeEmitter = this._register(( new Emitter()));
1204
1223
  this.setModelId = this._supportsSetModelId ? async modelId => {
1205
1224
  await this._proxy.$handleInlineCompletionSetCurrentModelId(this.handle, modelId);
1206
1225
  } : undefined;
1226
+ this.setProviderOption = this._supportsSetProviderOption ? async (optionId, valueId) => {
1227
+ await this._proxy.$handleInlineCompletionSetProviderOption(this.handle, optionId, valueId);
1228
+ } : undefined;
1207
1229
  this.onDidChangeInlineCompletions = this._supportsOnDidChange ? this._onDidChangeEmitter.event : undefined;
1208
1230
  this.onDidChangeModelInfo = this._supportsOnDidChangeModelInfo ? this._onDidChangeModelInfoEmitter.event : undefined;
1231
+ this.onDidProviderOptionsChange = this._supportsOnDidChangeProviderOptions ? this._onDidProviderOptionsChangeEmitter.event : undefined;
1209
1232
  this._register(
1210
1233
  this._languageFeaturesService.inlineCompletionsProvider.register(this._selector, this)
1211
1234
  );
@@ -1216,6 +1239,12 @@ let ExtensionBackedInlineCompletionsProvider = class ExtensionBackedInlineComple
1216
1239
  this._onDidChangeModelInfoEmitter.fire();
1217
1240
  }
1218
1241
  }
1242
+ _setProviderOptions(newProviderOptions) {
1243
+ this.providerOptions = newProviderOptions;
1244
+ if (this._supportsOnDidChangeProviderOptions) {
1245
+ this._onDidProviderOptionsChangeEmitter.fire();
1246
+ }
1247
+ }
1219
1248
  _emitDidChange(changeHint) {
1220
1249
  if (this._supportsOnDidChange) {
1221
1250
  this._onDidChangeEmitter.fire(changeHint);
@@ -1350,7 +1379,7 @@ let ExtensionBackedInlineCompletionsProvider = class ExtensionBackedInlineComple
1350
1379
  return `InlineCompletionsProvider(${( this.providerId.toString())})`;
1351
1380
  }
1352
1381
  };
1353
- ExtensionBackedInlineCompletionsProvider = ( __decorate([( __param(14, ILanguageFeaturesService)), ( __param(15, IAiEditTelemetryService)), ( __param(16, IInstantiationService))], ExtensionBackedInlineCompletionsProvider));
1382
+ ExtensionBackedInlineCompletionsProvider = ( __decorate([( __param(17, ILanguageFeaturesService)), ( __param(18, IAiEditTelemetryService)), ( __param(19, IInstantiationService))], ExtensionBackedInlineCompletionsProvider));
1354
1383
  function extractEngineFromCorrelationId(correlationId) {
1355
1384
  if (!correlationId) {
1356
1385
  return undefined;
@@ -49,7 +49,8 @@ let MainThreadLanguageModelTools = class MainThreadLanguageModelTools extends Di
49
49
  );
50
50
  const out = {
51
51
  content: result.content,
52
- toolMetadata: result.toolMetadata
52
+ toolMetadata: result.toolMetadata,
53
+ toolResultError: result.toolResultError
53
54
  };
54
55
  return toolResultHasBuffers(result) ? ( new SerializableObjectWithBuffers(out)) : out;
55
56
  }
@@ -178,11 +178,13 @@ let MainThreadLanguageModels = class MainThreadLanguageModels {
178
178
  if (this._authenticationService.getProviderIds().includes(authProviderId)) {
179
179
  return Disposable.None;
180
180
  }
181
- const accountLabel = auth.accountLabel ?? ( localize(2536, "Language Models"));
181
+ const accountLabel = auth.accountLabel ?? ( localize(2581, "Language Models"));
182
182
  const disposables = ( new DisposableStore());
183
- this._authenticationService.registerAuthenticationProvider(authProviderId, ( new LanguageModelAccessAuthProvider(authProviderId, auth.providerLabel, accountLabel)));
183
+ const provider = ( new LanguageModelAccessAuthProvider(authProviderId, auth.providerLabel, accountLabel));
184
+ this._authenticationService.registerAuthenticationProvider(authProviderId, provider);
184
185
  disposables.add(toDisposable(() => {
185
186
  this._authenticationService.unregisterAuthenticationProvider(authProviderId);
187
+ provider.dispose();
186
188
  }));
187
189
  disposables.add(
188
190
  this._authenticationAccessService.onDidChangeExtensionSessionAccess(async e => {
@@ -259,7 +261,7 @@ class LanguageModelAccessAuthProvider {
259
261
  }
260
262
  confirmation(extensionName, _recreatingSession) {
261
263
  return localize(
262
- 2537,
264
+ 2582,
263
265
  "The extension '{0}' wants to access the language models provided by {1}.",
264
266
  extensionName,
265
267
  this.label
@@ -276,6 +278,9 @@ class LanguageModelAccessAuthProvider {
276
278
  scopes
277
279
  };
278
280
  }
281
+ dispose() {
282
+ this._onDidChangeSessions.dispose();
283
+ }
279
284
  }
280
285
 
281
286
  export { MainThreadLanguageModels };
@@ -2,8 +2,8 @@ import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buf
2
2
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
3
  import { ManagedSocket, RemoteSocketHalf } from "../../../platform/remote/common/managedSocket.js";
4
4
  import { IRemoteSocketFactoryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/remote/common/remoteSocketFactoryService.service";
5
- import { ExtHostManagedSocketsShape, MainThreadManagedSocketsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
6
5
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
6
+ import { ExtHostManagedSocketsShape, MainThreadManagedSocketsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
7
7
  export declare class MainThreadManagedSockets extends Disposable implements MainThreadManagedSocketsShape {
8
8
  private readonly _remoteSocketFactoryService;
9
9
  private readonly _proxy;
@@ -1,24 +1,25 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
- import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
+ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
5
  import { SocketCloseEventType } from '@codingame/monaco-vscode-api/vscode/vs/base/parts/ipc/common/ipc.net';
6
6
  import { ManagedSocket, connectManagedSocket } from '../../../platform/remote/common/managedSocket.js';
7
7
  import { RemoteConnectionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/remote/common/remoteAuthorityResolver';
8
8
  import { IRemoteSocketFactoryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/remote/common/remoteSocketFactoryService.service';
9
- import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
10
9
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
10
+ import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
11
11
 
12
12
  let MainThreadManagedSockets = class MainThreadManagedSockets extends Disposable {
13
13
  constructor(extHostContext, _remoteSocketFactoryService) {
14
14
  super();
15
15
  this._remoteSocketFactoryService = _remoteSocketFactoryService;
16
- this._registrations = ( new Map());
16
+ this._registrations = this._register(( new DisposableMap()));
17
17
  this._remoteSockets = ( new Map());
18
18
  this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostManagedSockets));
19
19
  }
20
20
  async $registerSocketFactory(socketFactoryId) {
21
21
  const that = this;
22
+ const store = ( new DisposableStore());
22
23
  const socketFactory = new (class {
23
24
  supports(connectTo) {
24
25
  return (connectTo.id === socketFactoryId);
@@ -37,7 +38,9 @@ let MainThreadManagedSockets = class MainThreadManagedSockets extends Disposable
37
38
  };
38
39
  that._remoteSockets.set(socketId, half);
39
40
  MainThreadManagedSocket.connect(socketId, that._proxy, path, query, debugLabel, half).then(socket => {
40
- socket.onDidDispose(() => that._remoteSockets.delete(socketId));
41
+ store.add(
42
+ Event.once(socket.onDidDispose)(() => that._remoteSockets.delete(socketId))
43
+ );
41
44
  resolve(socket);
42
45
  }, err => {
43
46
  that._remoteSockets.delete(socketId);
@@ -47,13 +50,13 @@ let MainThreadManagedSockets = class MainThreadManagedSockets extends Disposable
47
50
  }));
48
51
  }
49
52
  })();
50
- this._registrations.set(
51
- socketFactoryId,
53
+ store.add(
52
54
  this._remoteSocketFactoryService.register(RemoteConnectionType.Managed, socketFactory)
53
55
  );
56
+ this._registrations.set(socketFactoryId, store);
54
57
  }
55
58
  async $unregisterSocketFactory(socketFactoryId) {
56
- this._registrations.get(socketFactoryId)?.dispose();
59
+ this._registrations.deleteAndDispose(socketFactoryId);
57
60
  }
58
61
  $onDidManagedSocketHaveData(socketId, data) {
59
62
  this._remoteSockets.get(socketId)?.onData.fire(data);