@codingame/monaco-vscode-extensions-service-override 26.2.2 → 27.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.
- package/index.js +4 -0
- package/package.json +3 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +25 -25
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +53 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +2 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +26 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +15 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +114 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +14 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +133 -66
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.d.ts +21 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.js +111 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +33 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +8 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +10 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +34 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.js +26 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadPower.d.ts +16 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadPower.js +54 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +4 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +8 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +6 -7
- package/vscode/src/vs/workbench/api/common/shared/tasks.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/git/common/gitService.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/git/common/gitService.js +10 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +3 -3
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +13 -13
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +6 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +3 -0
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +2 -1
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +5 -5
|
@@ -111,7 +111,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
111
111
|
this._notificationService.notify({
|
|
112
112
|
severity: Severity.Error,
|
|
113
113
|
message: ( localize(
|
|
114
|
-
|
|
114
|
+
2547,
|
|
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(
|
|
122
|
+
label: ( localize(2548, "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
|
-
|
|
133
|
+
2549,
|
|
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
|
-
|
|
143
|
+
2550,
|
|
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(
|
|
151
|
+
label: ( localize(2551, "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
|
-
|
|
160
|
+
2552,
|
|
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(
|
|
168
|
+
label: ( localize(2553, "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
|
-
|
|
181
|
+
2554,
|
|
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
|
-
|
|
202
|
+
2555,
|
|
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(
|
|
211
|
+
label: ( localize(2556, "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
|
-
|
|
218
|
+
2557,
|
|
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
|
-
|
|
97
|
+
2558,
|
|
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
|
-
|
|
103
|
+
2559,
|
|
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
|
-
|
|
109
|
+
2560,
|
|
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
|
-
|
|
115
|
+
2561,
|
|
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
|
-
|
|
123
|
+
2562,
|
|
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
|
-
|
|
129
|
+
2563,
|
|
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
|
-
|
|
135
|
+
2564,
|
|
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
|
-
|
|
141
|
+
2565,
|
|
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(
|
|
154
|
-
cancelButton: ( localize(
|
|
153
|
+
primaryButton: ( localize(2566, "Show &&Preview")),
|
|
154
|
+
cancelButton: ( localize(2567, "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(
|
|
174
|
+
label: ( localize(2568, "&&OK")),
|
|
175
175
|
run: () => Choice.OK
|
|
176
176
|
}, {
|
|
177
|
-
label: ( localize(
|
|
177
|
+
label: ( localize(2566, "Show &&Preview")),
|
|
178
178
|
run: () => Choice.Preview
|
|
179
179
|
}],
|
|
180
180
|
cancelButton: {
|
|
181
|
-
label: ( localize(
|
|
181
|
+
label: ( localize(2567, "Skip Changes")),
|
|
182
182
|
run: () => Choice.Cancel
|
|
183
183
|
},
|
|
184
184
|
checkbox: {
|
|
185
|
-
label: ( localize(
|
|
185
|
+
label: ( localize(2569, "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(
|
|
214
|
+
return localize(2570, "Running 'File Create' participants...");
|
|
215
215
|
case FileOperation.MOVE:
|
|
216
|
-
return localize(
|
|
216
|
+
return localize(2571, "Running 'File Rename' participants...");
|
|
217
217
|
case FileOperation.COPY:
|
|
218
|
-
return localize(
|
|
218
|
+
return localize(2572, "Running 'File Copy' participants...");
|
|
219
219
|
case FileOperation.DELETE:
|
|
220
|
-
return localize(
|
|
220
|
+
return localize(2573, "Running 'File Delete' participants...");
|
|
221
221
|
case FileOperation.WRITE:
|
|
222
|
-
return localize(
|
|
222
|
+
return localize(2574, "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(
|
|
310
|
+
value: ( localize(2575, "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(
|
|
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(
|
|
181
|
+
const accountLabel = auth.accountLabel ?? ( localize(2576, "Language Models"));
|
|
182
182
|
const disposables = ( new DisposableStore());
|
|
183
|
-
|
|
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
|
-
|
|
264
|
+
2577,
|
|
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 };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
3
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
3
4
|
import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
4
5
|
import { LogLevel } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log";
|
|
5
6
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
7
|
+
import { IWorkbenchMcpGatewayService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpGatewayService.service";
|
|
6
8
|
import { IMcpRegistry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service";
|
|
7
9
|
import { McpCollectionDefinition, McpConnectionState, McpServerDefinition } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes";
|
|
8
10
|
import { IAuthenticationMcpAccessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service";
|
|
@@ -25,13 +27,15 @@ export declare class MainThreadMcp extends Disposable implements MainThreadMcpSh
|
|
|
25
27
|
private readonly _extensionService;
|
|
26
28
|
private readonly _contextKeyService;
|
|
27
29
|
private readonly _telemetryService;
|
|
30
|
+
private readonly _mcpGatewayService;
|
|
28
31
|
private _serverIdCounter;
|
|
29
32
|
private readonly _servers;
|
|
30
33
|
private readonly _serverDefinitions;
|
|
31
34
|
private readonly _serverAuthTracking;
|
|
32
35
|
private readonly _proxy;
|
|
33
36
|
private readonly _collectionDefinitions;
|
|
34
|
-
|
|
37
|
+
private readonly _gateways;
|
|
38
|
+
constructor(_extHostContext: IExtHostContext, _mcpRegistry: IMcpRegistry, dialogService: IDialogService, _authenticationService: IAuthenticationService, authenticationMcpServersService: IAuthenticationMcpService, authenticationMCPServerAccessService: IAuthenticationMcpAccessService, authenticationMCPServerUsageService: IAuthenticationMcpUsageService, _dynamicAuthenticationProviderStorageService: IDynamicAuthenticationProviderStorageService, _extensionService: IExtensionService, _contextKeyService: IContextKeyService, _telemetryService: ITelemetryService, _mcpGatewayService: IWorkbenchMcpGatewayService);
|
|
35
39
|
private _publishServerDefinitions;
|
|
36
40
|
$upsertMcpCollection(collection: McpCollectionDefinition.FromExtHost, serversDto: McpServerDefinition.Serialized[]): void;
|
|
37
41
|
$deleteMcpCollection(collectionId: string): void;
|
|
@@ -44,6 +48,11 @@ export declare class MainThreadMcp extends Disposable implements MainThreadMcpSh
|
|
|
44
48
|
private continueWithIncorrectAccountPrompt;
|
|
45
49
|
private _onDidChangeAuthSessions;
|
|
46
50
|
$logMcpAuthSetup(data: IAuthMetadataSource): void;
|
|
51
|
+
$startMcpGateway(): Promise<{
|
|
52
|
+
address: URI;
|
|
53
|
+
gatewayId: string;
|
|
54
|
+
} | undefined>;
|
|
55
|
+
$disposeMcpGateway(gatewayId: string): void;
|
|
47
56
|
private loginPrompt;
|
|
48
57
|
dispose(): void;
|
|
49
58
|
}
|