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"),
description: nls.localize('chatFeatureDescription', "Allows the extension to make requests to the Large Language Model (LLM)."),
access: {
canToggle: true,
requireUserConsent: true,
canToggle: false,
},
renderer: new SyncDescriptor(ChatFeatureMarkdowneRenderer),
});

View File

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