@codingame/monaco-vscode-user-data-sync-service-override 18.4.0 → 19.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/package.json +14 -15
- package/vscode/src/vs/platform/userDataSync/common/mcpSync.d.ts +24 -0
- package/vscode/src/vs/platform/userDataSync/common/mcpSync.js +47 -0
- package/vscode/src/vs/platform/userDataSync/common/promptsSync/promptsSync.js +5 -6
- package/vscode/src/vs/platform/userDataSync/common/userDataAutoSyncService.js +7 -7
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncLog.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncResourceProvider.d.ts +2 -0
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncResourceProvider.js +17 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncService.js +8 -5
- package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.js +84 -88
- package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncConflictsView.js +8 -8
- package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncViews.js +33 -33
- package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.d.ts +0 -1
- package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.js +28 -38
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-user-data-sync-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - user-data-sync service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,20 +15,19 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common": "
|
|
19
|
-
"@codingame/monaco-vscode-249dc928-1da3-51c1-82d0-45e0ba9d08a1-common": "
|
|
20
|
-
"@codingame/monaco-vscode-34a0ffd3-b9f5-5699-b43b-38af5732f38a-common": "
|
|
21
|
-
"@codingame/monaco-vscode-
|
|
22
|
-
"@codingame/monaco-vscode-
|
|
23
|
-
"@codingame/monaco-vscode-
|
|
24
|
-
"@codingame/monaco-vscode-
|
|
25
|
-
"@codingame/monaco-vscode-
|
|
26
|
-
"@codingame/monaco-vscode-
|
|
27
|
-
"@codingame/monaco-vscode-
|
|
28
|
-
"@codingame/monaco-vscode-e72c94ca-257a-5b75-8b68-5a5fa3c18255-common": "
|
|
29
|
-
"@codingame/monaco-vscode-f22e7e55-aee8-5b52-a6bc-950efd9f5890-common": "
|
|
30
|
-
"@codingame/monaco-vscode-
|
|
31
|
-
"@codingame/monaco-vscode-user-data-profile-service-override": "18.4.0"
|
|
18
|
+
"@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common": "19.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-249dc928-1da3-51c1-82d0-45e0ba9d08a1-common": "19.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-34a0ffd3-b9f5-5699-b43b-38af5732f38a-common": "19.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-4a316137-39d1-5d77-8b53-112db3547c1e-common": "19.0.0",
|
|
22
|
+
"@codingame/monaco-vscode-897bebad-39df-57cb-8a57-36a271d038be-common": "19.0.0",
|
|
23
|
+
"@codingame/monaco-vscode-937ecbdf-94c7-5b16-aefa-ad78ae557a93-common": "19.0.0",
|
|
24
|
+
"@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common": "19.0.0",
|
|
25
|
+
"@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common": "19.0.0",
|
|
26
|
+
"@codingame/monaco-vscode-api": "19.0.0",
|
|
27
|
+
"@codingame/monaco-vscode-dbfe5f85-b426-55ed-a79b-5f811b395762-common": "19.0.0",
|
|
28
|
+
"@codingame/monaco-vscode-e72c94ca-257a-5b75-8b68-5a5fa3c18255-common": "19.0.0",
|
|
29
|
+
"@codingame/monaco-vscode-f22e7e55-aee8-5b52-a6bc-950efd9f5890-common": "19.0.0",
|
|
30
|
+
"@codingame/monaco-vscode-user-data-profile-service-override": "19.0.0"
|
|
32
31
|
},
|
|
33
32
|
"main": "index.js",
|
|
34
33
|
"module": "index.js",
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
2
|
+
import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
|
|
3
|
+
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
4
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
5
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
6
|
+
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
7
|
+
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
8
|
+
import { IUserDataProfile } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile";
|
|
9
|
+
import { AbstractJsonSynchronizer } from "@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/abstractJsonSynchronizer";
|
|
10
|
+
import { IUserDataSynchroniser } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync";
|
|
11
|
+
import { IUserDataSyncLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service";
|
|
12
|
+
import { IUserDataSyncEnablementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service";
|
|
13
|
+
import { IUserDataSyncLocalStoreService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service";
|
|
14
|
+
import { IUserDataSyncStoreService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service";
|
|
15
|
+
interface IMcpSyncContent {
|
|
16
|
+
mcp?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function getMcpContentFromSyncContent(syncContent: string, logService: ILogService): string | null;
|
|
19
|
+
export declare class McpSynchroniser extends AbstractJsonSynchronizer implements IUserDataSynchroniser {
|
|
20
|
+
constructor(profile: IUserDataProfile, collection: string | undefined, userDataSyncStoreService: IUserDataSyncStoreService, userDataSyncLocalStoreService: IUserDataSyncLocalStoreService, logService: IUserDataSyncLogService, configurationService: IConfigurationService, userDataSyncEnablementService: IUserDataSyncEnablementService, fileService: IFileService, environmentService: IEnvironmentService, storageService: IStorageService, telemetryService: ITelemetryService, uriIdentityService: IUriIdentityService);
|
|
21
|
+
protected getContentFromSyncContent(syncContent: string): string | null;
|
|
22
|
+
protected toSyncContent(mcp: string | null): IMcpSyncContent;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
4
|
+
import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
|
|
5
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
6
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
7
|
+
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
8
|
+
import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
9
|
+
import { AbstractJsonSynchronizer } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/abstractJsonSynchronizer';
|
|
10
|
+
import { SyncResource } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync';
|
|
11
|
+
import { IUserDataSyncStoreService, IUserDataSyncLocalStoreService, IUserDataSyncLogService, IUserDataSyncEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service';
|
|
12
|
+
|
|
13
|
+
function getMcpContentFromSyncContent(syncContent, logService) {
|
|
14
|
+
try {
|
|
15
|
+
const parsed = JSON.parse(syncContent);
|
|
16
|
+
return parsed.mcp ?? null;
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
logService.error(e);
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
let McpSynchroniser = class McpSynchroniser extends AbstractJsonSynchronizer {
|
|
24
|
+
constructor(profile, collection, userDataSyncStoreService, userDataSyncLocalStoreService, logService, configurationService, userDataSyncEnablementService, fileService, environmentService, storageService, telemetryService, uriIdentityService) {
|
|
25
|
+
super(profile.mcpResource, { syncResource: SyncResource.Mcp, profile }, collection, 'mcp.json', fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
|
|
26
|
+
}
|
|
27
|
+
getContentFromSyncContent(syncContent) {
|
|
28
|
+
return getMcpContentFromSyncContent(syncContent, this.logService);
|
|
29
|
+
}
|
|
30
|
+
toSyncContent(mcp) {
|
|
31
|
+
return mcp ? { mcp } : {};
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
McpSynchroniser = ( __decorate([
|
|
35
|
+
( __param(2, IUserDataSyncStoreService)),
|
|
36
|
+
( __param(3, IUserDataSyncLocalStoreService)),
|
|
37
|
+
( __param(4, IUserDataSyncLogService)),
|
|
38
|
+
( __param(5, IConfigurationService)),
|
|
39
|
+
( __param(6, IUserDataSyncEnablementService)),
|
|
40
|
+
( __param(7, IFileService)),
|
|
41
|
+
( __param(8, IEnvironmentService)),
|
|
42
|
+
( __param(9, IStorageService)),
|
|
43
|
+
( __param(10, ITelemetryService)),
|
|
44
|
+
( __param(11, IUriIdentityService))
|
|
45
|
+
], McpSynchroniser));
|
|
46
|
+
|
|
47
|
+
export { McpSynchroniser, getMcpContentFromSyncContent };
|
|
@@ -7,7 +7,6 @@ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform
|
|
|
7
7
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
8
8
|
import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
9
9
|
import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
|
|
10
|
-
import { isPromptOrInstructionsFile } from '@codingame/monaco-vscode-47472025-cc45-5680-86cd-09ceaba921a1-common/vscode/vs/platform/prompts/common/prompts';
|
|
11
10
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
12
11
|
import { merge, areSame } from './promptsMerge.js';
|
|
13
12
|
import { AbstractSynchroniser } from '@codingame/monaco-vscode-249dc928-1da3-51c1-82d0-45e0ba9d08a1-common/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
|
|
@@ -411,12 +410,12 @@ let PromptsSynchronizer = class PromptsSynchronizer extends AbstractSynchroniser
|
|
|
411
410
|
}
|
|
412
411
|
for (const entry of stat.children || []) {
|
|
413
412
|
const resource = entry.resource;
|
|
414
|
-
|
|
415
|
-
|
|
413
|
+
const path = resource.path;
|
|
414
|
+
if (( ['.prompt.md', '.instructions.md', '.chatmode.md'].some(ext => path.endsWith(ext)))) {
|
|
415
|
+
const key = this.extUri.relativePath(this.promptsFolder, resource);
|
|
416
|
+
const content = await this.fileService.readFile(resource);
|
|
417
|
+
prompts[key] = content;
|
|
416
418
|
}
|
|
417
|
-
const key = this.extUri.relativePath(this.promptsFolder, resource);
|
|
418
|
-
const content = await this.fileService.readFile(resource);
|
|
419
|
-
prompts[key] = content;
|
|
420
419
|
}
|
|
421
420
|
return prompts;
|
|
422
421
|
}
|
|
@@ -406,28 +406,28 @@ class AutoSync extends Disposable {
|
|
|
406
406
|
if (this.manifest === null && (await this.userDataSyncService.hasPreviouslySynced())) {
|
|
407
407
|
if (this.hasSyncServiceChanged()) {
|
|
408
408
|
if (await this.hasDefaultServiceChanged()) {
|
|
409
|
-
throw ( new UserDataAutoSyncError(( localize(
|
|
409
|
+
throw ( new UserDataAutoSyncError(( localize(2390, "Cannot sync because default service has changed")), UserDataSyncErrorCode.DefaultServiceChanged));
|
|
410
410
|
}
|
|
411
411
|
else {
|
|
412
|
-
throw ( new UserDataAutoSyncError(( localize(
|
|
412
|
+
throw ( new UserDataAutoSyncError(( localize(2391, "Cannot sync because sync service has changed")), UserDataSyncErrorCode.ServiceChanged));
|
|
413
413
|
}
|
|
414
414
|
}
|
|
415
415
|
else {
|
|
416
|
-
throw ( new UserDataAutoSyncError(( localize(
|
|
416
|
+
throw ( new UserDataAutoSyncError(( localize(2392, "Cannot sync because syncing is turned off in the cloud")), UserDataSyncErrorCode.TurnedOff));
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
419
|
const sessionId = this.storageService.get(sessionIdKey, StorageScope.APPLICATION);
|
|
420
420
|
if (sessionId && this.manifest && sessionId !== this.manifest.session) {
|
|
421
421
|
if (this.hasSyncServiceChanged()) {
|
|
422
422
|
if (await this.hasDefaultServiceChanged()) {
|
|
423
|
-
throw ( new UserDataAutoSyncError(( localize(
|
|
423
|
+
throw ( new UserDataAutoSyncError(( localize(2390, "Cannot sync because default service has changed")), UserDataSyncErrorCode.DefaultServiceChanged));
|
|
424
424
|
}
|
|
425
425
|
else {
|
|
426
|
-
throw ( new UserDataAutoSyncError(( localize(
|
|
426
|
+
throw ( new UserDataAutoSyncError(( localize(2391, "Cannot sync because sync service has changed")), UserDataSyncErrorCode.ServiceChanged));
|
|
427
427
|
}
|
|
428
428
|
}
|
|
429
429
|
else {
|
|
430
|
-
throw ( new UserDataAutoSyncError(( localize(
|
|
430
|
+
throw ( new UserDataAutoSyncError(( localize(2393, "Cannot sync because current session is expired")), UserDataSyncErrorCode.SessionExpired));
|
|
431
431
|
}
|
|
432
432
|
}
|
|
433
433
|
const machines = await this.userDataSyncMachinesService.getMachines(this.manifest || undefined);
|
|
@@ -437,7 +437,7 @@ class AutoSync extends Disposable {
|
|
|
437
437
|
const currentMachine = machines.find(machine => machine.isCurrent);
|
|
438
438
|
if (currentMachine?.disabled) {
|
|
439
439
|
throw ( new UserDataAutoSyncError(( localize(
|
|
440
|
-
|
|
440
|
+
2394,
|
|
441
441
|
"Cannot sync because syncing is turned off on this machine from another machine."
|
|
442
442
|
)), UserDataSyncErrorCode.TurnedOff));
|
|
443
443
|
}
|
|
@@ -10,7 +10,7 @@ import { USER_DATA_SYNC_LOG_ID } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
10
10
|
let UserDataSyncLogService = class UserDataSyncLogService extends AbstractLogger {
|
|
11
11
|
constructor(loggerService, environmentService) {
|
|
12
12
|
super();
|
|
13
|
-
this.logger = this._register(loggerService.createLogger(joinPath(environmentService.logsHome, `${USER_DATA_SYNC_LOG_ID}.log`), { id: USER_DATA_SYNC_LOG_ID, name: ( localize(
|
|
13
|
+
this.logger = this._register(loggerService.createLogger(joinPath(environmentService.logsHome, `${USER_DATA_SYNC_LOG_ID}.log`), { id: USER_DATA_SYNC_LOG_ID, name: ( localize(2400, "Settings Sync")) }));
|
|
14
14
|
}
|
|
15
15
|
trace(message, ...args) {
|
|
16
16
|
this.logger.trace(message, ...args);
|
|
@@ -16,6 +16,7 @@ import { parseSettingsSyncContent } from '@codingame/monaco-vscode-a022e9a8-b522
|
|
|
16
16
|
import { getKeybindingsContentFromSyncContent } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/keybindingsSync';
|
|
17
17
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
18
18
|
import { getTasksContentFromSyncContent } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/tasksSync';
|
|
19
|
+
import { getMcpContentFromSyncContent } from './mcpSync.js';
|
|
19
20
|
import { stringify, parseExtensions, LocalExtensionsProvider } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/extensionsSync';
|
|
20
21
|
import { stringify as stringify$1, LocalGlobalStateProvider } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/globalStateSync';
|
|
21
22
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
@@ -117,6 +118,7 @@ let UserDataSyncResourceProviderService = class UserDataSyncResourceProviderServ
|
|
|
117
118
|
case SyncResource.Settings: return this.getSettingsAssociatedResources(uri, profile);
|
|
118
119
|
case SyncResource.Keybindings: return this.getKeybindingsAssociatedResources(uri, profile);
|
|
119
120
|
case SyncResource.Tasks: return this.getTasksAssociatedResources(uri, profile);
|
|
121
|
+
case SyncResource.Mcp: return this.getMcpAssociatedResources(uri, profile);
|
|
120
122
|
case SyncResource.Snippets: return this.getSnippetsAssociatedResources(uri, profile);
|
|
121
123
|
case SyncResource.Prompts: return this.getPromptsAssociatedResources(uri, profile);
|
|
122
124
|
case SyncResource.GlobalState: return this.getGlobalStateAssociatedResources(uri, profile);
|
|
@@ -185,6 +187,7 @@ let UserDataSyncResourceProviderService = class UserDataSyncResourceProviderServ
|
|
|
185
187
|
case SyncResource.Settings: return this.resolveSettingsNodeContent(syncData, node);
|
|
186
188
|
case SyncResource.Keybindings: return this.resolveKeybindingsNodeContent(syncData, node);
|
|
187
189
|
case SyncResource.Tasks: return this.resolveTasksNodeContent(syncData, node);
|
|
190
|
+
case SyncResource.Mcp: return this.resolveMcpNodeContent(syncData, node);
|
|
188
191
|
case SyncResource.Snippets: return this.resolveSnippetsNodeContent(syncData, node);
|
|
189
192
|
case SyncResource.Prompts: return this.resolvePromptsNodeContent(syncData, node);
|
|
190
193
|
case SyncResource.GlobalState: return this.resolveGlobalStateNodeContent(syncData, node);
|
|
@@ -205,6 +208,7 @@ let UserDataSyncResourceProviderService = class UserDataSyncResourceProviderServ
|
|
|
205
208
|
case SyncResource.Settings: return null;
|
|
206
209
|
case SyncResource.Keybindings: return null;
|
|
207
210
|
case SyncResource.Tasks: return null;
|
|
211
|
+
case SyncResource.Mcp: return null;
|
|
208
212
|
case SyncResource.Snippets: return null;
|
|
209
213
|
case SyncResource.Prompts: return null;
|
|
210
214
|
case SyncResource.WorkspaceState: return null;
|
|
@@ -455,7 +459,7 @@ let UserDataSyncResourceProviderService = class UserDataSyncResourceProviderServ
|
|
|
455
459
|
this.logService.error(error);
|
|
456
460
|
}
|
|
457
461
|
throw ( new UserDataSyncError(( localize(
|
|
458
|
-
|
|
462
|
+
2402,
|
|
459
463
|
"Cannot parse sync data as it is not compatible with the current version."
|
|
460
464
|
)), UserDataSyncErrorCode.IncompatibleRemoteContent, syncResource));
|
|
461
465
|
}
|
|
@@ -463,6 +467,18 @@ let UserDataSyncResourceProviderService = class UserDataSyncResourceProviderServ
|
|
|
463
467
|
const content = await this.userDataSyncStoreService.resolveResourceContent(syncResource, ref, collection);
|
|
464
468
|
return { ref, content };
|
|
465
469
|
}
|
|
470
|
+
getMcpAssociatedResources(uri, profile) {
|
|
471
|
+
const resource = this.extUri.joinPath(uri, 'mcp.json');
|
|
472
|
+
const comparableResource = profile ? profile.mcpResource : this.extUri.joinPath(uri, UserDataSyncResourceProviderService_1.NOT_EXISTING_RESOURCE);
|
|
473
|
+
return [{ resource, comparableResource }];
|
|
474
|
+
}
|
|
475
|
+
resolveMcpNodeContent(syncData, node) {
|
|
476
|
+
switch (node) {
|
|
477
|
+
case 'mcp.json':
|
|
478
|
+
return getMcpContentFromSyncContent(syncData.content, this.logService);
|
|
479
|
+
}
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
466
482
|
};
|
|
467
483
|
UserDataSyncResourceProviderService = UserDataSyncResourceProviderService_1 = ( __decorate([
|
|
468
484
|
( __param(0, IUserDataSyncStoreService)),
|
|
@@ -24,6 +24,7 @@ import { PromptsSynchronizer } from './promptsSync/promptsSync.js';
|
|
|
24
24
|
import { SettingsSynchroniser } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/settingsSync';
|
|
25
25
|
import { SnippetsSynchroniser } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/snippetsSync';
|
|
26
26
|
import { TasksSynchroniser } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/tasksSync';
|
|
27
|
+
import { McpSynchroniser } from './mcpSync.js';
|
|
27
28
|
import { UserDataProfilesManifestSynchroniser } from './userDataProfilesManifestSync.js';
|
|
28
29
|
import { SyncStatus, createSyncHeaders, UserDataSyncError, UserDataSyncErrorCode, SyncResource, ALL_SYNC_RESOURCES, USER_DATA_SYNC_CONFIGURATION_SCOPE, UserDataSyncStoreError } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync';
|
|
29
30
|
import { IUserDataSyncStoreService, IUserDataSyncStoreManagementService, IUserDataSyncLogService, IUserDataSyncEnablementService, IUserDataSyncResourceProviderService, IUserDataSyncLocalStoreService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataSync/common/userDataSync.service';
|
|
@@ -637,6 +638,7 @@ let ProfileSynchronizer = class ProfileSynchronizer extends Disposable {
|
|
|
637
638
|
case SyncResource.Snippets: return this.instantiationService.createInstance(SnippetsSynchroniser, this.profile, this.collection);
|
|
638
639
|
case SyncResource.Prompts: return this.instantiationService.createInstance(PromptsSynchronizer, this.profile, this.collection);
|
|
639
640
|
case SyncResource.Tasks: return this.instantiationService.createInstance(TasksSynchroniser, this.profile, this.collection);
|
|
641
|
+
case SyncResource.Mcp: return this.instantiationService.createInstance(McpSynchroniser, this.profile, this.collection);
|
|
640
642
|
case SyncResource.GlobalState: return this.instantiationService.createInstance(GlobalStateSynchroniser, this.profile, this.collection);
|
|
641
643
|
case SyncResource.Extensions: return this.instantiationService.createInstance(ExtensionsSynchroniser, this.profile, this.collection);
|
|
642
644
|
case SyncResource.Profiles: return this.instantiationService.createInstance(UserDataProfilesManifestSynchroniser, this.profile, this.collection);
|
|
@@ -771,11 +773,12 @@ let ProfileSynchronizer = class ProfileSynchronizer extends Disposable {
|
|
|
771
773
|
case SyncResource.Keybindings: return 1;
|
|
772
774
|
case SyncResource.Snippets: return 2;
|
|
773
775
|
case SyncResource.Tasks: return 3;
|
|
774
|
-
case SyncResource.
|
|
775
|
-
case SyncResource.
|
|
776
|
-
case SyncResource.
|
|
777
|
-
case SyncResource.
|
|
778
|
-
case SyncResource.
|
|
776
|
+
case SyncResource.Mcp: return 4;
|
|
777
|
+
case SyncResource.GlobalState: return 5;
|
|
778
|
+
case SyncResource.Extensions: return 6;
|
|
779
|
+
case SyncResource.Prompts: return 7;
|
|
780
|
+
case SyncResource.Profiles: return 8;
|
|
781
|
+
case SyncResource.WorkspaceState: return 9;
|
|
779
782
|
}
|
|
780
783
|
}
|
|
781
784
|
};
|
|
@@ -32,12 +32,12 @@ let UserDataSyncReportIssueContribution = class UserDataSyncReportIssueContribut
|
|
|
32
32
|
switch (error.code) {
|
|
33
33
|
case UserDataSyncErrorCode.LocalTooManyRequests: {
|
|
34
34
|
const message = isWeb ? ( localize(
|
|
35
|
-
|
|
35
|
+
11913,
|
|
36
36
|
"Settings sync is suspended temporarily because the current device is making too many requests. Please reload {0} to resume.",
|
|
37
37
|
this.productService.nameLong
|
|
38
38
|
))
|
|
39
39
|
: ( localize(
|
|
40
|
-
|
|
40
|
+
11914,
|
|
41
41
|
"Settings sync is suspended temporarily because the current device is making too many requests. Please restart {0} to resume.",
|
|
42
42
|
this.productService.nameLong
|
|
43
43
|
));
|
|
@@ -48,12 +48,12 @@ let UserDataSyncReportIssueContribution = class UserDataSyncReportIssueContribut
|
|
|
48
48
|
primary: [
|
|
49
49
|
toAction({
|
|
50
50
|
id: 'Show Sync Logs',
|
|
51
|
-
label: ( localize(
|
|
51
|
+
label: ( localize(11915, "Show Log")),
|
|
52
52
|
run: () => this.commandService.executeCommand(SHOW_SYNC_LOG_COMMAND_ID)
|
|
53
53
|
}),
|
|
54
54
|
toAction({
|
|
55
55
|
id: 'Restart',
|
|
56
|
-
label: isWeb ? ( localize(
|
|
56
|
+
label: isWeb ? ( localize(11916, "Reload")) : ( localize(11917, "Restart")),
|
|
57
57
|
run: () => this.hostService.restart()
|
|
58
58
|
})
|
|
59
59
|
]
|
|
@@ -62,20 +62,20 @@ let UserDataSyncReportIssueContribution = class UserDataSyncReportIssueContribut
|
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
64
|
case UserDataSyncErrorCode.TooManyRequests: {
|
|
65
|
-
const operationId = error.operationId ? ( localize(
|
|
65
|
+
const operationId = error.operationId ? ( localize(11918, "Operation Id: {0}", error.operationId)) : undefined;
|
|
66
66
|
const message = ( localize(
|
|
67
|
-
|
|
67
|
+
11919,
|
|
68
68
|
"Settings sync is disabled because the current device is making too many requests. Please wait for 10 minutes and turn on sync."
|
|
69
69
|
));
|
|
70
70
|
this.notificationService.notify({
|
|
71
71
|
severity: Severity.Error,
|
|
72
72
|
message: operationId ? `${message} ${operationId}` : message,
|
|
73
|
-
source: error.operationId ? ( localize(
|
|
73
|
+
source: error.operationId ? ( localize(11920, "Settings Sync. Operation Id: {0}", error.operationId)) : undefined,
|
|
74
74
|
actions: {
|
|
75
75
|
primary: [
|
|
76
76
|
toAction({
|
|
77
77
|
id: 'Show Sync Logs',
|
|
78
|
-
label: ( localize(
|
|
78
|
+
label: ( localize(11915, "Show Log")),
|
|
79
79
|
run: () => this.commandService.executeCommand(SHOW_SYNC_LOG_COMMAND_ID)
|
|
80
80
|
})
|
|
81
81
|
]
|
|
@@ -23,7 +23,6 @@ import { IUserDataSyncWorkbenchService } from "@codingame/monaco-vscode-api/vsco
|
|
|
23
23
|
import { IHostService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service";
|
|
24
24
|
import { IWorkbenchIssueService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/issue/common/issue.service";
|
|
25
25
|
import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
|
|
26
|
-
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
27
26
|
export declare class UserDataSyncWorkbenchContribution extends Disposable implements IWorkbenchContribution {
|
|
28
27
|
private readonly userDataSyncEnablementService;
|
|
29
28
|
private readonly userDataSyncService;
|
|
@@ -45,11 +44,10 @@ export declare class UserDataSyncWorkbenchContribution extends Disposable implem
|
|
|
45
44
|
private readonly hostService;
|
|
46
45
|
private readonly commandService;
|
|
47
46
|
private readonly workbenchIssueService;
|
|
48
|
-
private readonly configService;
|
|
49
47
|
private readonly turningOnSyncContext;
|
|
50
48
|
private readonly globalActivityBadgeDisposable;
|
|
51
49
|
private readonly accountBadgeDisposable;
|
|
52
|
-
constructor(userDataSyncEnablementService: IUserDataSyncEnablementService, userDataSyncService: IUserDataSyncService, userDataSyncWorkbenchService: IUserDataSyncWorkbenchService, contextKeyService: IContextKeyService, activityService: IActivityService, notificationService: INotificationService, editorService: IEditorService, userDataProfileService: IUserDataProfileService, dialogService: IDialogService, quickInputService: IQuickInputService, instantiationService: IInstantiationService, outputService: IOutputService, userDataAutoSyncService: IUserDataAutoSyncService, textModelResolverService: ITextModelService, preferencesService: IPreferencesService, telemetryService: ITelemetryService, productService: IProductService, openerService: IOpenerService, authenticationService: IAuthenticationService, userDataSyncStoreManagementService: IUserDataSyncStoreManagementService, hostService: IHostService, commandService: ICommandService, workbenchIssueService: IWorkbenchIssueService
|
|
50
|
+
constructor(userDataSyncEnablementService: IUserDataSyncEnablementService, userDataSyncService: IUserDataSyncService, userDataSyncWorkbenchService: IUserDataSyncWorkbenchService, contextKeyService: IContextKeyService, activityService: IActivityService, notificationService: INotificationService, editorService: IEditorService, userDataProfileService: IUserDataProfileService, dialogService: IDialogService, quickInputService: IQuickInputService, instantiationService: IInstantiationService, outputService: IOutputService, userDataAutoSyncService: IUserDataAutoSyncService, textModelResolverService: ITextModelService, preferencesService: IPreferencesService, telemetryService: ITelemetryService, productService: IProductService, openerService: IOpenerService, authenticationService: IAuthenticationService, userDataSyncStoreManagementService: IUserDataSyncStoreManagementService, hostService: IHostService, commandService: ICommandService, workbenchIssueService: IWorkbenchIssueService);
|
|
53
51
|
private get turningOnSync();
|
|
54
52
|
private set turningOnSync(value);
|
|
55
53
|
private toKey;
|