remove user consent for chat (#204698)

This commit is contained in:
Sandeep Somavarapu 2024-02-08 01:24:20 -08:00 committed by GitHub
parent 768c8e3e93
commit 3a00525d5c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 14 deletions

View file

@ -338,8 +338,7 @@ Registry.as<IExtensionFeaturesRegistry>(ExtensionFeaturesExtensions.ExtensionFea
label: nls.localize('chat', "Chat"), label: nls.localize('chat', "Chat"),
description: nls.localize('chatFeatureDescription', "Allows the extension to make requests to the Large Language Model (LLM)."), description: nls.localize('chatFeatureDescription', "Allows the extension to make requests to the Large Language Model (LLM)."),
access: { access: {
canToggle: true, canToggle: false,
requireUserConsent: true,
}, },
renderer: new SyncDescriptor(ChatFeatureMarkdowneRenderer), renderer: new SyncDescriptor(ChatFeatureMarkdowneRenderer),
}); });

View file

@ -104,19 +104,20 @@ class ExtensionFeaturesManagementService extends Disposable implements IExtensio
} }
if (featureState.disabled === undefined) { if (featureState.disabled === undefined) {
const extensionDescription = this.extensionService.extensions.find(e => ExtensionIdentifier.equals(e.identifier, extension)); let enabled = true;
const confirmationResult = await this.dialogService.confirm({ if (feature.access.requireUserConsent) {
title: localize('accessExtensionFeature', "Access '{0}' Feature", feature.label), const extensionDescription = this.extensionService.extensions.find(e => ExtensionIdentifier.equals(e.identifier, extension));
message: localize('accessExtensionFeatureMessage', "'{0}' extension would like to access the '{1}' feature.", extensionDescription?.displayName ?? extension.value, feature.label), const confirmationResult = await this.dialogService.confirm({
detail: justification ?? feature.description, title: localize('accessExtensionFeature', "Access '{0}' Feature", feature.label),
custom: true, message: localize('accessExtensionFeatureMessage', "'{0}' extension would like to access the '{1}' feature.", extensionDescription?.displayName ?? extension.value, feature.label),
primaryButton: localize('allow', "Allow"), detail: justification ?? feature.description,
cancelButton: localize('disallow', "Don't Allow"), custom: true,
}); primaryButton: localize('allow', "Allow"),
this.setEnablement(extension, featureId, confirmationResult.confirmed); cancelButton: localize('disallow', "Don't Allow"),
if (!confirmationResult.confirmed) { });
return false; enabled = confirmationResult.confirmed;
} }
this.setEnablement(extension, featureId, enabled);
} }
featureState.accessData.current = { featureState.accessData.current = {