diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index c0d5de7e3b..d113aa3519 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -47,7 +47,6 @@ Allmodule ALLOWUNDO ALLVIEW ALPHATYPE -amazonbedrock AModifier amr ANDSCANS @@ -696,7 +695,6 @@ hmonitor homies homljgmgpmcbpjbnjpfijnhipfkiclkd HOOKPROC -huggingface HORZRES HORZSIZE Hostbackdropbrush diff --git a/Directory.Packages.props b/Directory.Packages.props index ec93d6d829..b1ac031408 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -51,10 +51,8 @@ - - diff --git a/src/common/GPOWrapper/GPOWrapper.cpp b/src/common/GPOWrapper/GPOWrapper.cpp index 52c91a0795..2b256cd926 100644 --- a/src/common/GPOWrapper/GPOWrapper.cpp +++ b/src/common/GPOWrapper/GPOWrapper.cpp @@ -216,10 +216,6 @@ namespace winrt::PowerToys::GPOWrapper::implementation { return static_cast(powertoys_gpo::getAllowedAdvancedPasteGoogleValue()); } - GpoRuleConfigured GPOWrapper::GetAllowedAdvancedPasteAnthropicValue() - { - return static_cast(powertoys_gpo::getAllowedAdvancedPasteAnthropicValue()); - } GpoRuleConfigured GPOWrapper::GetAllowedAdvancedPasteOllamaValue() { return static_cast(powertoys_gpo::getAllowedAdvancedPasteOllamaValue()); diff --git a/src/common/GPOWrapper/GPOWrapper.h b/src/common/GPOWrapper/GPOWrapper.h index 846fba0a61..e57cccccd9 100644 --- a/src/common/GPOWrapper/GPOWrapper.h +++ b/src/common/GPOWrapper/GPOWrapper.h @@ -60,7 +60,6 @@ namespace winrt::PowerToys::GPOWrapper::implementation static GpoRuleConfigured GetAllowedAdvancedPasteAzureAIInferenceValue(); static GpoRuleConfigured GetAllowedAdvancedPasteMistralValue(); static GpoRuleConfigured GetAllowedAdvancedPasteGoogleValue(); - static GpoRuleConfigured GetAllowedAdvancedPasteAnthropicValue(); static GpoRuleConfigured GetAllowedAdvancedPasteOllamaValue(); static GpoRuleConfigured GetAllowedAdvancedPasteFoundryLocalValue(); static GpoRuleConfigured GetConfiguredNewPlusEnabledValue(); diff --git a/src/common/GPOWrapper/GPOWrapper.idl b/src/common/GPOWrapper/GPOWrapper.idl index ab6dbf0c29..06d035aa35 100644 --- a/src/common/GPOWrapper/GPOWrapper.idl +++ b/src/common/GPOWrapper/GPOWrapper.idl @@ -64,7 +64,6 @@ namespace PowerToys static GpoRuleConfigured GetAllowedAdvancedPasteAzureAIInferenceValue(); static GpoRuleConfigured GetAllowedAdvancedPasteMistralValue(); static GpoRuleConfigured GetAllowedAdvancedPasteGoogleValue(); - static GpoRuleConfigured GetAllowedAdvancedPasteAnthropicValue(); static GpoRuleConfigured GetAllowedAdvancedPasteOllamaValue(); static GpoRuleConfigured GetAllowedAdvancedPasteFoundryLocalValue(); static GpoRuleConfigured GetConfiguredNewPlusEnabledValue(); diff --git a/src/common/utils/gpo.h b/src/common/utils/gpo.h index ecf338d212..ab71d09d0b 100644 --- a/src/common/utils/gpo.h +++ b/src/common/utils/gpo.h @@ -89,7 +89,6 @@ namespace powertoys_gpo const std::wstring POLICY_ALLOW_ADVANCED_PASTE_AZURE_AI_INFERENCE = L"AllowAdvancedPasteAzureAIInference"; const std::wstring POLICY_ALLOW_ADVANCED_PASTE_MISTRAL = L"AllowAdvancedPasteMistral"; const std::wstring POLICY_ALLOW_ADVANCED_PASTE_GOOGLE = L"AllowAdvancedPasteGoogle"; - const std::wstring POLICY_ALLOW_ADVANCED_PASTE_ANTHROPIC = L"AllowAdvancedPasteAnthropic"; const std::wstring POLICY_ALLOW_ADVANCED_PASTE_OLLAMA = L"AllowAdvancedPasteOllama"; const std::wstring POLICY_ALLOW_ADVANCED_PASTE_FOUNDRY_LOCAL = L"AllowAdvancedPasteFoundryLocal"; const std::wstring POLICY_MWB_CLIPBOARD_SHARING_ENABLED = L"MwbClipboardSharingEnabled"; @@ -615,11 +614,6 @@ namespace powertoys_gpo return getConfiguredValue(POLICY_ALLOW_ADVANCED_PASTE_GOOGLE); } - inline gpo_rule_configured_t getAllowedAdvancedPasteAnthropicValue() - { - return getConfiguredValue(POLICY_ALLOW_ADVANCED_PASTE_ANTHROPIC); - } - inline gpo_rule_configured_t getAllowedAdvancedPasteOllamaValue() { return getConfiguredValue(POLICY_ALLOW_ADVANCED_PASTE_OLLAMA); diff --git a/src/modules/AdvancedPaste/AdvancedPaste/AdvancedPaste.csproj b/src/modules/AdvancedPaste/AdvancedPaste/AdvancedPaste.csproj index 54c1343c93..1c80479c2d 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/AdvancedPaste.csproj +++ b/src/modules/AdvancedPaste/AdvancedPaste/AdvancedPaste.csproj @@ -59,10 +59,8 @@ - - diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Services/AdvancedAIKernelService.cs b/src/modules/AdvancedPaste/AdvancedPaste/Services/AdvancedAIKernelService.cs index b9566ed481..2b4ea13206 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Services/AdvancedAIKernelService.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Services/AdvancedAIKernelService.cs @@ -11,12 +11,6 @@ using AdvancedPaste.Settings; using Microsoft.PowerToys.Settings.UI.Library; using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; -using Microsoft.SemanticKernel.Connectors.Amazon; -using Microsoft.SemanticKernel.Connectors.AzureAIInference; -using Microsoft.SemanticKernel.Connectors.Google; -using Microsoft.SemanticKernel.Connectors.HuggingFace; -using Microsoft.SemanticKernel.Connectors.MistralAI; -using Microsoft.SemanticKernel.Connectors.Ollama; using Microsoft.SemanticKernel.Connectors.OpenAI; namespace AdvancedPaste.Services; diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/CustomActionTransformService.cs b/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/CustomActionTransformService.cs index 721a96070d..65d37bfdd8 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/CustomActionTransformService.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/CustomActionTransformService.cs @@ -181,8 +181,6 @@ namespace AdvancedPaste.Services.CustomActions { AIServiceType.Onnx => false, AIServiceType.Ollama => false, - AIServiceType.Anthropic => false, - AIServiceType.AmazonBedrock => false, _ => true, }; } diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/SemanticKernelPasteProvider.cs b/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/SemanticKernelPasteProvider.cs index 00517e96d8..819549b466 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/SemanticKernelPasteProvider.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Services/CustomActions/SemanticKernelPasteProvider.cs @@ -11,10 +11,8 @@ using AdvancedPaste.Models; using Microsoft.PowerToys.Settings.UI.Library; using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; -using Microsoft.SemanticKernel.Connectors.Amazon; using Microsoft.SemanticKernel.Connectors.AzureAIInference; using Microsoft.SemanticKernel.Connectors.Google; -using Microsoft.SemanticKernel.Connectors.HuggingFace; using Microsoft.SemanticKernel.Connectors.MistralAI; using Microsoft.SemanticKernel.Connectors.Ollama; using Microsoft.SemanticKernel.Connectors.OpenAI; @@ -29,11 +27,8 @@ namespace AdvancedPaste.Services.CustomActions AIServiceType.AzureOpenAI, AIServiceType.Mistral, AIServiceType.Google, - AIServiceType.HuggingFace, AIServiceType.AzureAIInference, AIServiceType.Ollama, - AIServiceType.Anthropic, - AIServiceType.AmazonBedrock, }; public static PasteAIProviderRegistration Registration { get; } = new(SupportedTypes, config => new SemanticKernelPasteProvider(config)); @@ -142,21 +137,12 @@ namespace AdvancedPaste.Services.CustomActions case AIServiceType.Google: kernelBuilder.AddGoogleAIGeminiChatCompletion(_config.Model, apiKey: apiKey); break; - case AIServiceType.HuggingFace: - kernelBuilder.AddHuggingFaceChatCompletion(_config.Model, apiKey: apiKey); - break; case AIServiceType.AzureAIInference: kernelBuilder.AddAzureAIInferenceChatCompletion(_config.Model, apiKey: apiKey, endpoint: new Uri(endpoint)); break; case AIServiceType.Ollama: kernelBuilder.AddOllamaChatCompletion(_config.Model, endpoint: new Uri(endpoint)); break; - case AIServiceType.Anthropic: - kernelBuilder.AddBedrockChatCompletionService(_config.Model); - break; - case AIServiceType.AmazonBedrock: - kernelBuilder.AddBedrockChatCompletionService(_config.Model); - break; default: throw new NotSupportedException($"Provider '{_config.ProviderType}' is not supported by {nameof(SemanticKernelPasteProvider)}"); @@ -184,8 +170,6 @@ namespace AdvancedPaste.Services.CustomActions return serviceType switch { AIServiceType.Ollama => false, - AIServiceType.Anthropic => false, - AIServiceType.AmazonBedrock => false, _ => true, }; } diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Services/EnhancedVaultCredentialsProvider.cs b/src/modules/AdvancedPaste/AdvancedPaste/Services/EnhancedVaultCredentialsProvider.cs index 2542f7310e..648881fba0 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Services/EnhancedVaultCredentialsProvider.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Services/EnhancedVaultCredentialsProvider.cs @@ -156,16 +156,10 @@ public sealed class EnhancedVaultCredentialsProvider : IAICredentialsProvider resource = "https://ai.google.dev/"; serviceKey = "google"; break; - case AIServiceType.HuggingFace: - resource = "https://huggingface.co/settings/tokens"; - serviceKey = "huggingface"; - break; case AIServiceType.FoundryLocal: case AIServiceType.ML: case AIServiceType.Onnx: case AIServiceType.Ollama: - case AIServiceType.Anthropic: - case AIServiceType.AmazonBedrock: return null; default: return null; diff --git a/src/modules/AdvancedPaste/AdvancedPaste/Telemetry/AdvancedPasteEndpointUsageEvent.cs b/src/modules/AdvancedPaste/AdvancedPaste/Telemetry/AdvancedPasteEndpointUsageEvent.cs index 04777eff79..7b179a7cd5 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/Telemetry/AdvancedPasteEndpointUsageEvent.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/Telemetry/AdvancedPasteEndpointUsageEvent.cs @@ -15,7 +15,7 @@ namespace AdvancedPaste.Telemetry; public class AdvancedPasteEndpointUsageEvent : EventBase, IEvent { /// - /// Gets or sets the AI provider type (e.g., OpenAI, AzureOpenAI, Anthropic). + /// Gets or sets the AI provider type (e.g., OpenAI, AzureOpenAI, Google). /// public string ProviderType { get; set; } diff --git a/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs b/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs index 0cda4fc6e5..467497b9a9 100644 --- a/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs +++ b/src/modules/AdvancedPaste/AdvancedPaste/ViewModels/OptionsViewModel.cs @@ -798,7 +798,6 @@ namespace AdvancedPaste.ViewModels AIServiceType.AzureAIInference => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteAzureAIInferenceValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled, AIServiceType.Mistral => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteMistralValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled, AIServiceType.Google => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteGoogleValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled, - AIServiceType.Anthropic => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteAnthropicValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled, AIServiceType.Ollama => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteOllamaValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled, AIServiceType.FoundryLocal => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteFoundryLocalValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled, _ => true, // Allow unknown types by default diff --git a/src/settings-ui/Settings.UI.Library/AIServiceType.cs b/src/settings-ui/Settings.UI.Library/AIServiceType.cs index 5cbd6a855c..27eccff1cf 100644 --- a/src/settings-ui/Settings.UI.Library/AIServiceType.cs +++ b/src/settings-ui/Settings.UI.Library/AIServiceType.cs @@ -17,10 +17,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library FoundryLocal, Mistral, Google, - HuggingFace, AzureAIInference, Ollama, - Anthropic, - AmazonBedrock, } } diff --git a/src/settings-ui/Settings.UI.Library/AIServiceTypeExtensions.cs b/src/settings-ui/Settings.UI.Library/AIServiceTypeExtensions.cs index 91f035d23a..5b19212eba 100644 --- a/src/settings-ui/Settings.UI.Library/AIServiceTypeExtensions.cs +++ b/src/settings-ui/Settings.UI.Library/AIServiceTypeExtensions.cs @@ -29,11 +29,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library "ml" or "windowsml" or "winml" => AIServiceType.ML, "mistral" => AIServiceType.Mistral, "google" or "googleai" or "googlegemini" => AIServiceType.Google, - "huggingface" => AIServiceType.HuggingFace, "azureaiinference" or "azureinference" => AIServiceType.AzureAIInference, "ollama" => AIServiceType.Ollama, - "anthropic" => AIServiceType.Anthropic, - "amazonbedrock" or "bedrock" => AIServiceType.AmazonBedrock, _ => AIServiceType.Unknown, }; } @@ -52,11 +49,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library AIServiceType.ML => "ML", AIServiceType.Mistral => "Mistral", AIServiceType.Google => "Google", - AIServiceType.HuggingFace => "HuggingFace", AIServiceType.AzureAIInference => "AzureAIInference", AIServiceType.Ollama => "Ollama", - AIServiceType.Anthropic => "Anthropic", - AIServiceType.AmazonBedrock => "AmazonBedrock", AIServiceType.Unknown => string.Empty, _ => throw new ArgumentOutOfRangeException(nameof(serviceType), serviceType, "Unsupported AI service type."), }; @@ -76,11 +70,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library AIServiceType.ML => "ml", AIServiceType.Mistral => "mistral", AIServiceType.Google => "google", - AIServiceType.HuggingFace => "huggingface", AIServiceType.AzureAIInference => "azureaiinference", AIServiceType.Ollama => "ollama", - AIServiceType.Anthropic => "anthropic", - AIServiceType.AmazonBedrock => "amazonbedrock", _ => string.Empty, }; } diff --git a/src/settings-ui/Settings.UI.Library/AIServiceTypeRegistry.cs b/src/settings-ui/Settings.UI.Library/AIServiceTypeRegistry.cs index fc9e484808..c967f5d840 100644 --- a/src/settings-ui/Settings.UI.Library/AIServiceTypeRegistry.cs +++ b/src/settings-ui/Settings.UI.Library/AIServiceTypeRegistry.cs @@ -15,31 +15,6 @@ public static class AIServiceTypeRegistry { private static readonly Dictionary MetadataMap = new() { - [AIServiceType.AmazonBedrock] = new AIServiceTypeMetadata - { - ServiceType = AIServiceType.AmazonBedrock, - DisplayName = "Amazon Bedrock", - IsAvailableInUI = false, // Currently disabled in UI - IconPath = "ms-appx:///Assets/Settings/Icons/Models/Bedrock.svg", - IsOnlineService = true, - LegalDescription = "AdvancedPaste_AmazonBedrock_LegalDescription", - TermsLabel = "AdvancedPaste_AmazonBedrock_TermsLabel", - TermsUri = new Uri("https://aws.amazon.com/service-terms/"), - PrivacyLabel = "AdvancedPaste_AmazonBedrock_PrivacyLabel", - PrivacyUri = new Uri("https://aws.amazon.com/privacy/"), - }, - [AIServiceType.Anthropic] = new AIServiceTypeMetadata - { - ServiceType = AIServiceType.Anthropic, - DisplayName = "Anthropic", - IconPath = "ms-appx:///Assets/Settings/Icons/Models/Anthropic.svg", - IsOnlineService = true, - LegalDescription = "AdvancedPaste_Anthropic_LegalDescription", - TermsLabel = "AdvancedPaste_Anthropic_TermsLabel", - TermsUri = new Uri("https://privacy.claude.com/en/collections/10672567-policies-terms-of-service"), - PrivacyLabel = "AdvancedPaste_Anthropic_PrivacyLabel", - PrivacyUri = new Uri("https://privacy.claude.com/en/"), - }, [AIServiceType.AzureAIInference] = new AIServiceTypeMetadata { ServiceType = AIServiceType.AzureAIInference, @@ -85,14 +60,6 @@ public static class AIServiceTypeRegistry PrivacyLabel = "AdvancedPaste_Google_PrivacyLabel", PrivacyUri = new Uri("https://support.google.com/gemini/answer/13594961"), }, - [AIServiceType.HuggingFace] = new AIServiceTypeMetadata - { - ServiceType = AIServiceType.HuggingFace, - DisplayName = "Hugging Face", - IconPath = "ms-appx:///Assets/Settings/Icons/Models/HuggingFace.svg", - IsOnlineService = true, - IsAvailableInUI = false, // Currently disabled in UI - }, [AIServiceType.Mistral] = new AIServiceTypeMetadata { ServiceType = AIServiceType.Mistral, diff --git a/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/Anthropic.svg b/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/Anthropic.svg deleted file mode 100644 index f990d4650f..0000000000 --- a/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/Anthropic.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/Bedrock.svg b/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/Bedrock.svg deleted file mode 100644 index d7a3d800d9..0000000000 --- a/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/Bedrock.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/HuggingFace.svg b/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/HuggingFace.svg deleted file mode 100644 index 9fe0aff336..0000000000 --- a/src/settings-ui/Settings.UI/Assets/Settings/Icons/Models/HuggingFace.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml.cs b/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml.cs index c0b685cdde..e2a69e9b4d 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml.cs +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/AdvancedPastePage.xaml.cs @@ -317,7 +317,6 @@ namespace Microsoft.PowerToys.Settings.UI.Views bool requiresEndpoint = serviceKind is AIServiceType.AzureOpenAI or AIServiceType.AzureAIInference or AIServiceType.Mistral - or AIServiceType.HuggingFace or AIServiceType.Ollama; bool requiresDeployment = serviceKind == AIServiceType.AzureOpenAI; bool requiresApiVersion = serviceKind == AIServiceType.AzureOpenAI; @@ -874,7 +873,6 @@ namespace Microsoft.PowerToys.Settings.UI.Views AIServiceType.AzureOpenAI => "https://your-resource.openai.azure.com/", AIServiceType.AzureAIInference => "https://{resource-name}.cognitiveservices.azure.com/", AIServiceType.Mistral => "https://api.mistral.ai/v1/", - AIServiceType.HuggingFace => "https://api-inference.huggingface.co/models/", AIServiceType.Ollama => "http://localhost:11434/", _ => "https://your-resource.openai.azure.com/", }; diff --git a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw index 3492ba54c9..d42d948f5c 100644 --- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw +++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw @@ -708,15 +708,6 @@ Please review the placeholder content that represents the final terms and usage Google Privacy Policy - - Your API key connects directly to Anthropic services. By setting up this provider, you agree to comply with Anthropic's usage policies and data handling practices. - - - Anthropic Terms of Service - - - Anthropic Privacy Policy - Your API key connects directly to Mistral services. By setting up this provider, you agree to comply with Mistral's usage policies and data handling practices. @@ -726,15 +717,6 @@ Please review the placeholder content that represents the final terms and usage Mistral Privacy Policy - - Your API key connects directly to Amazon services. By setting up this provider, you agree to comply with Amazon's usage policies and data handling practices. - - - AWS Service Terms - - - AWS Privacy Notice - Ollama Terms of Service diff --git a/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs index 0d90899866..a7ad7e3632 100644 --- a/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/AdvancedPasteViewModel.cs @@ -10,10 +10,8 @@ using System.ComponentModel; using System.Globalization; using System.IO.Abstractions; using System.Linq; -using System.Reflection; using System.Runtime.Versioning; using System.Text.Json; -using System.Text.Json.Serialization; using global::PowerToys.GPOWrapper; using Microsoft.PowerToys.Settings.UI.Helpers; @@ -57,6 +55,16 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels private Func SendConfigMSG { get; } + private static readonly HashSet CustomActionNonPersistedProperties = new(StringComparer.Ordinal) + { + nameof(AdvancedPasteCustomAction.CanMoveUp), + nameof(AdvancedPasteCustomAction.CanMoveDown), + nameof(AdvancedPasteCustomAction.IsValid), + nameof(AdvancedPasteCustomAction.HasConflict), + nameof(AdvancedPasteCustomAction.Tooltip), + nameof(AdvancedPasteCustomAction.SubActions), + }; + public AdvancedPasteViewModel( ISettingsUtils settingsUtils, ISettingsRepository settingsRepository, @@ -558,11 +566,9 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels AIServiceType.OpenAI => "gpt-4", AIServiceType.AzureOpenAI => "gpt-4", AIServiceType.Mistral => "mistral-large-latest", - AIServiceType.Google => "gemini-1.5-pro", + AIServiceType.Google => "gemini-2.5-pro", AIServiceType.AzureAIInference => "gpt-4o-mini", AIServiceType.Ollama => "llama3", - AIServiceType.Anthropic => "claude-3-5-sonnet", - AIServiceType.AmazonBedrock => "anthropic.claude-3-haiku", _ => string.Empty, }; } @@ -589,7 +595,6 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels AIServiceType.AzureAIInference => GPOWrapper.GetAllowedAdvancedPasteAzureAIInferenceValue(), AIServiceType.Mistral => GPOWrapper.GetAllowedAdvancedPasteMistralValue(), AIServiceType.Google => GPOWrapper.GetAllowedAdvancedPasteGoogleValue(), - AIServiceType.Anthropic => GPOWrapper.GetAllowedAdvancedPasteAnthropicValue(), _ => GpoRuleConfigured.Unavailable, }; @@ -844,9 +849,6 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels "azureaiinference" => "https://azure.microsoft.com/products/ai-services/ai-inference", "mistral" => "https://console.mistral.ai/account/api-keys", "google" => "https://ai.google.dev/", - "huggingface" => "https://huggingface.co/settings/tokens", - "anthropic" => "https://console.anthropic.com/account/keys", - "amazonbedrock" => "https://aws.amazon.com/bedrock/", "ollama" => "https://ollama.com/", _ => "https://platform.openai.com/api-keys", }; @@ -1000,7 +1002,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels private void OnCustomActionPropertyChanged(object sender, PropertyChangedEventArgs e) { - if (typeof(AdvancedPasteCustomAction).GetProperty(e.PropertyName).GetCustomAttribute() == null) + if (!string.IsNullOrEmpty(e.PropertyName) && !CustomActionNonPersistedProperties.Contains(e.PropertyName)) { SaveCustomActions(); } diff --git a/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp b/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp index 9ef9505fa5..edd48839d2 100644 --- a/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp +++ b/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp @@ -92,7 +92,6 @@ void ReportGPOValues(const std::filesystem::path &tmpDir) report << "getAllowedAdvancedPasteAzureAIInferenceValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteAzureAIInferenceValue()) << std::endl; report << "getAllowedAdvancedPasteMistralValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteMistralValue()) << std::endl; report << "getAllowedAdvancedPasteGoogleValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteGoogleValue()) << std::endl; - report << "getAllowedAdvancedPasteAnthropicValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteAnthropicValue()) << std::endl; report << "getAllowedAdvancedPasteOllamaValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteOllamaValue()) << std::endl; report << "getAllowedAdvancedPasteFoundryLocalValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteFoundryLocalValue()) << std::endl; report << "getConfiguredMwbClipboardSharingEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredMwbClipboardSharingEnabledValue()) << std::endl;