@codingame/monaco-vscode-edit-sessions-service-override 2.2.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,57 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { Event } from 'vscode/vscode/vs/base/common/event';
4
+ import { FileSystemProviderErrorCode, FileType, FilePermission } from 'vscode/vscode/vs/platform/files/common/files';
5
+ import { EDIT_SESSIONS_SCHEME, ChangeType, decodeEditSessionFileContent, IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions';
6
+ import { NotSupportedError } from 'vscode/vscode/vs/base/common/errors';
7
+
8
+ let EditSessionsFileSystemProvider = class EditSessionsFileSystemProvider {
9
+ static { this.SCHEMA = EDIT_SESSIONS_SCHEME; }
10
+ constructor(editSessionsStorageService) {
11
+ this.editSessionsStorageService = editSessionsStorageService;
12
+ this.capabilities = 2048 + 2 ;
13
+ this.onDidChangeCapabilities = Event.None;
14
+ this.onDidChangeFile = Event.None;
15
+ }
16
+ async readFile(resource) {
17
+ const match = /(?<ref>[^/]+)\/(?<folderName>[^/]+)\/(?<filePath>.*)/.exec(resource.path.substring(1));
18
+ if (!match?.groups) {
19
+ throw FileSystemProviderErrorCode.FileNotFound;
20
+ }
21
+ const { ref, folderName, filePath } = match.groups;
22
+ const data = await this.editSessionsStorageService.read('editSessions', ref);
23
+ if (!data) {
24
+ throw FileSystemProviderErrorCode.FileNotFound;
25
+ }
26
+ const content = JSON.parse(data.content);
27
+ const change = content.folders.find((f) => f.name === folderName)?.workingChanges.find((change) => change.relativeFilePath === filePath);
28
+ if (!change || change.type === ChangeType.Deletion) {
29
+ throw FileSystemProviderErrorCode.FileNotFound;
30
+ }
31
+ return decodeEditSessionFileContent(content.version, change.contents).buffer;
32
+ }
33
+ async stat(resource) {
34
+ const content = await this.readFile(resource);
35
+ const currentTime = Date.now();
36
+ return {
37
+ type: FileType.File,
38
+ permissions: FilePermission.Readonly,
39
+ mtime: currentTime,
40
+ ctime: currentTime,
41
+ size: content.byteLength
42
+ };
43
+ }
44
+ watch(resource, opts) { return Disposable.None; }
45
+ async mkdir(resource) { }
46
+ async readdir(resource) { return []; }
47
+ async rename(from, to, opts) { }
48
+ async delete(resource, opts) { }
49
+ async writeFile() {
50
+ throw new NotSupportedError();
51
+ }
52
+ };
53
+ EditSessionsFileSystemProvider = ( __decorate([
54
+ ( __param(0, IEditSessionsStorageService))
55
+ ], EditSessionsFileSystemProvider));
56
+
57
+ export { EditSessionsFileSystemProvider };
@@ -0,0 +1,457 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { Disposable, DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { localizeWithPath } from 'vscode/vscode/vs/nls';
4
+ import { registerAction2, Action2, MenuId, MenuRegistry } from 'vscode/vscode/vs/platform/actions/common/actions';
5
+ import { ContextKeyExpr, IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
6
+ import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment';
7
+ import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
8
+ import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
9
+ import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput';
10
+ import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
11
+ import { createSyncHeaders } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
12
+ import { IAuthenticationService } from 'vscode/vscode/vs/workbench/services/authentication/common/authentication';
13
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
14
+ import { EDIT_SESSIONS_SIGNED_IN, EDIT_SESSIONS_PENDING_KEY, EDIT_SESSIONS_SIGNED_IN_KEY, EDIT_SESSION_SYNC_CATEGORY, IEditSessionsLogService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions';
15
+ import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
16
+ import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
17
+ import { getCurrentAuthenticationSessionInfo } from 'vscode/vscode/vs/workbench/services/authentication/browser/authenticationService';
18
+ import { isWeb } from 'vscode/vscode/vs/base/common/platform';
19
+ import { UserDataSyncMachinesService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSyncMachines';
20
+ import { Emitter } from 'vscode/vscode/vs/base/common/event';
21
+ import { CancellationError } from 'vscode/vscode/vs/base/common/errors';
22
+ import { ISecretStorageService } from 'vscode/vscode/vs/platform/secrets/common/secrets';
23
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
24
+
25
+ var EditSessionsWorkbenchService_1;
26
+ let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Disposable {
27
+ static { EditSessionsWorkbenchService_1 = this; }
28
+ static { this.CACHED_SESSION_STORAGE_KEY = 'editSessionAccountPreference'; }
29
+ get isSignedIn() {
30
+ return this.existingSessionId !== undefined;
31
+ }
32
+ get onDidSignIn() {
33
+ return this._didSignIn.event;
34
+ }
35
+ get onDidSignOut() {
36
+ return this._didSignOut.event;
37
+ }
38
+ get lastWrittenResources() {
39
+ return this._lastWrittenResources;
40
+ }
41
+ get lastReadResources() {
42
+ return this._lastReadResources;
43
+ }
44
+ constructor(fileService, storageService, quickInputService, authenticationService, extensionService, environmentService, logService, productService, contextKeyService, dialogService, secretStorageService) {
45
+ super();
46
+ this.fileService = fileService;
47
+ this.storageService = storageService;
48
+ this.quickInputService = quickInputService;
49
+ this.authenticationService = authenticationService;
50
+ this.extensionService = extensionService;
51
+ this.environmentService = environmentService;
52
+ this.logService = logService;
53
+ this.productService = productService;
54
+ this.contextKeyService = contextKeyService;
55
+ this.dialogService = dialogService;
56
+ this.secretStorageService = secretStorageService;
57
+ this.SIZE_LIMIT = Math.floor(1024 * 1024 * 1.9);
58
+ this.serverConfiguration = this.productService['editSessions.store'];
59
+ this.initialized = false;
60
+ this._didSignIn = ( new Emitter());
61
+ this._didSignOut = ( new Emitter());
62
+ this._lastWrittenResources = ( new Map());
63
+ this._lastReadResources = ( new Map());
64
+ this._register(this.authenticationService.onDidChangeSessions((e) => this.onDidChangeSessions(e.event)));
65
+ this._register(this.storageService.onDidChangeValue(-1 , EditSessionsWorkbenchService_1.CACHED_SESSION_STORAGE_KEY, this._register(( new DisposableStore())))(() => this.onDidChangeStorage()));
66
+ this.registerSignInAction();
67
+ this.registerResetAuthenticationAction();
68
+ this.signedInContext = EDIT_SESSIONS_SIGNED_IN.bindTo(this.contextKeyService);
69
+ this.signedInContext.set(this.existingSessionId !== undefined);
70
+ }
71
+ async write(resource, content) {
72
+ await this.initialize('write', false);
73
+ if (!this.initialized) {
74
+ throw new Error('Please sign in to store your edit session.');
75
+ }
76
+ if (typeof content !== 'string' && content.machine === undefined) {
77
+ content.machine = await this.getOrCreateCurrentMachineId();
78
+ }
79
+ content = typeof content === 'string' ? content : JSON.stringify(content);
80
+ const ref = await this.storeClient.writeResource(resource, content, null, undefined, createSyncHeaders(generateUuid()));
81
+ this._lastWrittenResources.set(resource, { ref, content });
82
+ return ref;
83
+ }
84
+ async read(resource, ref) {
85
+ await this.initialize('read', false);
86
+ if (!this.initialized) {
87
+ throw new Error('Please sign in to apply your latest edit session.');
88
+ }
89
+ let content;
90
+ const headers = createSyncHeaders(generateUuid());
91
+ try {
92
+ if (ref !== undefined) {
93
+ content = await this.storeClient?.resolveResourceContent(resource, ref, undefined, headers);
94
+ }
95
+ else {
96
+ const result = await this.storeClient?.readResource(resource, null, undefined, headers);
97
+ content = result?.content;
98
+ ref = result?.ref;
99
+ }
100
+ }
101
+ catch (ex) {
102
+ this.logService.error(ex);
103
+ }
104
+ if (content !== undefined && content !== null && ref !== undefined) {
105
+ this._lastReadResources.set(resource, { ref, content });
106
+ return { ref, content };
107
+ }
108
+ return undefined;
109
+ }
110
+ async delete(resource, ref) {
111
+ await this.initialize('write', false);
112
+ if (!this.initialized) {
113
+ throw new Error(`Unable to delete edit session with ref ${ref}.`);
114
+ }
115
+ try {
116
+ await this.storeClient?.deleteResource(resource, ref);
117
+ }
118
+ catch (ex) {
119
+ this.logService.error(ex);
120
+ }
121
+ }
122
+ async list(resource) {
123
+ await this.initialize('read', false);
124
+ if (!this.initialized) {
125
+ throw new Error(`Unable to list edit sessions.`);
126
+ }
127
+ try {
128
+ return this.storeClient?.getAllResourceRefs(resource) ?? [];
129
+ }
130
+ catch (ex) {
131
+ this.logService.error(ex);
132
+ }
133
+ return [];
134
+ }
135
+ async initialize(reason, silent = false) {
136
+ if (this.initialized) {
137
+ return true;
138
+ }
139
+ this.initialized = await this.doInitialize(reason, silent);
140
+ this.signedInContext.set(this.initialized);
141
+ if (this.initialized) {
142
+ this._didSignIn.fire();
143
+ }
144
+ return this.initialized;
145
+ }
146
+ async doInitialize(reason, silent) {
147
+ await this.extensionService.whenInstalledExtensionsRegistered();
148
+ if (!this.serverConfiguration?.url) {
149
+ throw new Error('Unable to initialize sessions sync as session sync preference is not configured in product.json.');
150
+ }
151
+ if (this.storeClient === undefined) {
152
+ return false;
153
+ }
154
+ this._register(this.storeClient.onTokenFailed(() => {
155
+ this.logService.info('Clearing edit sessions authentication preference because of successive token failures.');
156
+ this.clearAuthenticationPreference();
157
+ }));
158
+ if (this.machineClient === undefined) {
159
+ this.machineClient = ( new UserDataSyncMachinesService(
160
+ this.environmentService,
161
+ this.fileService,
162
+ this.storageService,
163
+ this.storeClient,
164
+ this.logService,
165
+ this.productService
166
+ ));
167
+ }
168
+ if (this.authenticationInfo !== undefined) {
169
+ return true;
170
+ }
171
+ const authenticationSession = await this.getAuthenticationSession(reason, silent);
172
+ if (authenticationSession !== undefined) {
173
+ this.authenticationInfo = authenticationSession;
174
+ this.storeClient.setAuthToken(authenticationSession.token, authenticationSession.providerId);
175
+ }
176
+ return authenticationSession !== undefined;
177
+ }
178
+ async getMachineById(machineId) {
179
+ await this.initialize('read', false);
180
+ if (!this.cachedMachines) {
181
+ const machines = await this.machineClient.getMachines();
182
+ this.cachedMachines = machines.reduce((map, machine) => map.set(machine.id, machine.name), ( new Map()));
183
+ }
184
+ return this.cachedMachines.get(machineId);
185
+ }
186
+ async getOrCreateCurrentMachineId() {
187
+ const currentMachineId = await this.machineClient.getMachines().then((machines) => machines.find((m) => m.isCurrent)?.id);
188
+ if (currentMachineId === undefined) {
189
+ await this.machineClient.addCurrentMachine();
190
+ return await this.machineClient.getMachines().then((machines) => machines.find((m) => m.isCurrent).id);
191
+ }
192
+ return currentMachineId;
193
+ }
194
+ async getAuthenticationSession(reason, silent) {
195
+ if (this.existingSessionId) {
196
+ this.logService.info(`Searching for existing authentication session with ID ${this.existingSessionId}`);
197
+ const existingSession = await this.getExistingSession();
198
+ if (existingSession) {
199
+ this.logService.info(`Found existing authentication session with ID ${existingSession.session.id}`);
200
+ return { sessionId: existingSession.session.id, token: existingSession.session.idToken ?? existingSession.session.accessToken, providerId: existingSession.session.providerId };
201
+ }
202
+ else {
203
+ this._didSignOut.fire();
204
+ }
205
+ }
206
+ if (this.shouldAttemptEditSessionInit()) {
207
+ this.logService.info(`Reusing user data sync enablement`);
208
+ const authenticationSessionInfo = await getCurrentAuthenticationSessionInfo(this.secretStorageService, this.productService);
209
+ if (authenticationSessionInfo !== undefined) {
210
+ this.logService.info(`Using current authentication session with ID ${authenticationSessionInfo.id}`);
211
+ this.existingSessionId = authenticationSessionInfo.id;
212
+ return { sessionId: authenticationSessionInfo.id, token: authenticationSessionInfo.accessToken, providerId: authenticationSessionInfo.providerId };
213
+ }
214
+ }
215
+ if (silent) {
216
+ return;
217
+ }
218
+ const authenticationSession = await this.getAccountPreference(reason);
219
+ if (authenticationSession !== undefined) {
220
+ this.existingSessionId = authenticationSession.id;
221
+ return { sessionId: authenticationSession.id, token: authenticationSession.idToken ?? authenticationSession.accessToken, providerId: authenticationSession.providerId };
222
+ }
223
+ return undefined;
224
+ }
225
+ shouldAttemptEditSessionInit() {
226
+ return isWeb && this.storageService.isNew(-1 ) && this.storageService.isNew(1 );
227
+ }
228
+ async getAccountPreference(reason) {
229
+ const quickpick = this.quickInputService.createQuickPick();
230
+ quickpick.ok = false;
231
+ quickpick.placeholder = reason === 'read' ? ( localizeWithPath(
232
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
233
+ 'choose account read placeholder',
234
+ "Select an account to restore your working changes from the cloud"
235
+ )) : ( localizeWithPath(
236
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
237
+ 'choose account placeholder',
238
+ "Select an account to store your working changes in the cloud"
239
+ ));
240
+ quickpick.ignoreFocusOut = true;
241
+ quickpick.items = await this.createQuickpickItems();
242
+ return ( new Promise((resolve, reject) => {
243
+ quickpick.onDidHide((e) => {
244
+ reject(( new CancellationError()));
245
+ quickpick.dispose();
246
+ });
247
+ quickpick.onDidAccept(async (e) => {
248
+ const selection = quickpick.selectedItems[0];
249
+ const session = 'provider' in selection ? { ...(await this.authenticationService.createSession(selection.provider.id, selection.provider.scopes)), providerId: selection.provider.id } : ('session' in selection ? selection.session : undefined);
250
+ resolve(session);
251
+ quickpick.hide();
252
+ });
253
+ quickpick.show();
254
+ }));
255
+ }
256
+ async createQuickpickItems() {
257
+ const options = [];
258
+ options.push({ type: 'separator', label: ( localizeWithPath(
259
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
260
+ 'signed in',
261
+ "Signed In"
262
+ )) });
263
+ const sessions = await this.getAllSessions();
264
+ options.push(...sessions);
265
+ options.push({ type: 'separator', label: ( localizeWithPath(
266
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
267
+ 'others',
268
+ "Others"
269
+ )) });
270
+ for (const authenticationProvider of (await this.getAuthenticationProviders())) {
271
+ const signedInForProvider = ( sessions.some(account => account.session.providerId === authenticationProvider.id));
272
+ if (!signedInForProvider || this.authenticationService.supportsMultipleAccounts(authenticationProvider.id)) {
273
+ const providerName = this.authenticationService.getLabel(authenticationProvider.id);
274
+ options.push({ label: ( localizeWithPath(
275
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
276
+ 'sign in using account',
277
+ "Sign in with {0}",
278
+ providerName
279
+ )), provider: authenticationProvider });
280
+ }
281
+ }
282
+ return options;
283
+ }
284
+ async getAllSessions() {
285
+ const authenticationProviders = await this.getAuthenticationProviders();
286
+ const accounts = ( new Map());
287
+ let currentSession;
288
+ for (const provider of authenticationProviders) {
289
+ const sessions = await this.authenticationService.getSessions(provider.id, provider.scopes);
290
+ for (const session of sessions) {
291
+ const item = {
292
+ label: session.account.label,
293
+ description: this.authenticationService.getLabel(provider.id),
294
+ session: { ...session, providerId: provider.id }
295
+ };
296
+ accounts.set(item.session.account.id, item);
297
+ if (this.existingSessionId === session.id) {
298
+ currentSession = item;
299
+ }
300
+ }
301
+ }
302
+ if (currentSession !== undefined) {
303
+ accounts.set(currentSession.session.account.id, currentSession);
304
+ }
305
+ return [...( accounts.values())].sort((a, b) => a.label.localeCompare(b.label));
306
+ }
307
+ async getAuthenticationProviders() {
308
+ if (!this.serverConfiguration) {
309
+ throw new Error('Unable to get configured authentication providers as session sync preference is not configured in product.json.');
310
+ }
311
+ const authenticationProviders = this.serverConfiguration.authenticationProviders;
312
+ const configuredAuthenticationProviders = ( Object.keys(authenticationProviders)).reduce((result, id) => {
313
+ result.push({ id, scopes: authenticationProviders[id].scopes });
314
+ return result;
315
+ }, []);
316
+ const availableAuthenticationProviders = this.authenticationService.declaredProviders;
317
+ return configuredAuthenticationProviders.filter(({ id }) => ( availableAuthenticationProviders.some(provider => provider.id === id)));
318
+ }
319
+ get existingSessionId() {
320
+ return this.storageService.get(EditSessionsWorkbenchService_1.CACHED_SESSION_STORAGE_KEY, -1 );
321
+ }
322
+ set existingSessionId(sessionId) {
323
+ this.logService.trace(`Saving authentication session preference for ID ${sessionId}.`);
324
+ if (sessionId === undefined) {
325
+ this.storageService.remove(EditSessionsWorkbenchService_1.CACHED_SESSION_STORAGE_KEY, -1 );
326
+ }
327
+ else {
328
+ this.storageService.store(EditSessionsWorkbenchService_1.CACHED_SESSION_STORAGE_KEY, sessionId, -1 , 1 );
329
+ }
330
+ }
331
+ async getExistingSession() {
332
+ const accounts = await this.getAllSessions();
333
+ return accounts.find((account) => account.session.id === this.existingSessionId);
334
+ }
335
+ async onDidChangeStorage() {
336
+ const newSessionId = this.existingSessionId;
337
+ const previousSessionId = this.authenticationInfo?.sessionId;
338
+ if (previousSessionId !== newSessionId) {
339
+ this.logService.trace(`Resetting authentication state because authentication session ID preference changed from ${previousSessionId} to ${newSessionId}.`);
340
+ this.authenticationInfo = undefined;
341
+ this.initialized = false;
342
+ }
343
+ }
344
+ clearAuthenticationPreference() {
345
+ this.authenticationInfo = undefined;
346
+ this.initialized = false;
347
+ this.existingSessionId = undefined;
348
+ this.signedInContext.set(false);
349
+ }
350
+ onDidChangeSessions(e) {
351
+ if (this.authenticationInfo?.sessionId && e.removed?.find(session => session.id === this.authenticationInfo?.sessionId)) {
352
+ this.clearAuthenticationPreference();
353
+ }
354
+ }
355
+ registerSignInAction() {
356
+ const that = this;
357
+ const id = 'workbench.editSessions.actions.signIn';
358
+ const when = ( ContextKeyExpr.and(( ContextKeyExpr.equals(EDIT_SESSIONS_PENDING_KEY, false)), ( ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, false))));
359
+ this._register(registerAction2(class ResetEditSessionAuthenticationAction extends Action2 {
360
+ constructor() {
361
+ super({
362
+ id,
363
+ title: ( localizeWithPath(
364
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
365
+ 'sign in',
366
+ 'Turn on Cloud Changes...'
367
+ )),
368
+ category: EDIT_SESSION_SYNC_CATEGORY,
369
+ precondition: when,
370
+ menu: [{
371
+ id: MenuId.CommandPalette,
372
+ },
373
+ {
374
+ id: MenuId.AccountsContext,
375
+ group: '2_editSessions',
376
+ when,
377
+ }]
378
+ });
379
+ }
380
+ async run() {
381
+ return await that.initialize('write', false);
382
+ }
383
+ }));
384
+ this._register(( MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
385
+ group: '2_editSessions',
386
+ command: {
387
+ id,
388
+ title: ( localizeWithPath(
389
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
390
+ 'sign in badge',
391
+ 'Turn on Cloud Changes... (1)'
392
+ )),
393
+ },
394
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(EDIT_SESSIONS_PENDING_KEY, true)), ( ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, false))))
395
+ })));
396
+ }
397
+ registerResetAuthenticationAction() {
398
+ const that = this;
399
+ this._register(registerAction2(class ResetEditSessionAuthenticationAction extends Action2 {
400
+ constructor() {
401
+ super({
402
+ id: 'workbench.editSessions.actions.resetAuth',
403
+ title: ( localizeWithPath(
404
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
405
+ 'reset auth.v3',
406
+ 'Turn off Cloud Changes...'
407
+ )),
408
+ category: EDIT_SESSION_SYNC_CATEGORY,
409
+ precondition: ( ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, true)),
410
+ menu: [{
411
+ id: MenuId.CommandPalette,
412
+ },
413
+ {
414
+ id: MenuId.AccountsContext,
415
+ group: '2_editSessions',
416
+ when: ( ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, true)),
417
+ }]
418
+ });
419
+ }
420
+ async run() {
421
+ const result = await that.dialogService.confirm({
422
+ message: ( localizeWithPath(
423
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
424
+ 'sign out of cloud changes clear data prompt',
425
+ 'Do you want to disable storing working changes in the cloud?'
426
+ )),
427
+ checkbox: { label: ( localizeWithPath(
428
+ 'vs/workbench/contrib/editSessions/browser/editSessionsStorageService',
429
+ 'delete all cloud changes',
430
+ 'Delete all stored data from the cloud.'
431
+ )) }
432
+ });
433
+ if (result.confirmed) {
434
+ if (result.checkboxChecked) {
435
+ that.storeClient?.deleteResource('editSessions', null);
436
+ }
437
+ that.clearAuthenticationPreference();
438
+ }
439
+ }
440
+ }));
441
+ }
442
+ };
443
+ EditSessionsWorkbenchService = EditSessionsWorkbenchService_1 = ( __decorate([
444
+ ( __param(0, IFileService)),
445
+ ( __param(1, IStorageService)),
446
+ ( __param(2, IQuickInputService)),
447
+ ( __param(3, IAuthenticationService)),
448
+ ( __param(4, IExtensionService)),
449
+ ( __param(5, IEnvironmentService)),
450
+ ( __param(6, IEditSessionsLogService)),
451
+ ( __param(7, IProductService)),
452
+ ( __param(8, IContextKeyService)),
453
+ ( __param(9, IDialogService)),
454
+ ( __param(10, ISecretStorageService))
455
+ ], EditSessionsWorkbenchService));
456
+
457
+ export { EditSessionsWorkbenchService };