mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +01:00
Clean up unused providers for AdvancedPaste (#43433)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Clean up unused providers for AdvancedPaste <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #43429 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
This commit is contained in:
2
.github/actions/spell-check/expect.txt
vendored
2
.github/actions/spell-check/expect.txt
vendored
@@ -47,7 +47,6 @@ Allmodule
|
|||||||
ALLOWUNDO
|
ALLOWUNDO
|
||||||
ALLVIEW
|
ALLVIEW
|
||||||
ALPHATYPE
|
ALPHATYPE
|
||||||
amazonbedrock
|
|
||||||
AModifier
|
AModifier
|
||||||
amr
|
amr
|
||||||
ANDSCANS
|
ANDSCANS
|
||||||
@@ -696,7 +695,6 @@ hmonitor
|
|||||||
homies
|
homies
|
||||||
homljgmgpmcbpjbnjpfijnhipfkiclkd
|
homljgmgpmcbpjbnjpfijnhipfkiclkd
|
||||||
HOOKPROC
|
HOOKPROC
|
||||||
huggingface
|
|
||||||
HORZRES
|
HORZRES
|
||||||
HORZSIZE
|
HORZSIZE
|
||||||
Hostbackdropbrush
|
Hostbackdropbrush
|
||||||
|
|||||||
@@ -51,10 +51,8 @@
|
|||||||
<PackageVersion Include="Microsoft.AI.Foundry.Local" Version="0.3.0" />
|
<PackageVersion Include="Microsoft.AI.Foundry.Local" Version="0.3.0" />
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.66.0" />
|
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.66.0" />
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.OpenAI" Version="1.66.0" />
|
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.OpenAI" Version="1.66.0" />
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Amazon" Version="1.66.0-alpha" />
|
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureAIInference" Version="1.66.0-beta" />
|
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureAIInference" Version="1.66.0-beta" />
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Google" Version="1.66.0-alpha" />
|
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Google" Version="1.66.0-alpha" />
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.HuggingFace" Version="1.66.0-preview" />
|
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.MistralAI" Version="1.66.0-alpha" />
|
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.MistralAI" Version="1.66.0-alpha" />
|
||||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Ollama" Version="1.66.0-alpha" />
|
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Ollama" Version="1.66.0-alpha" />
|
||||||
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
|
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
|
||||||
|
|||||||
@@ -216,10 +216,6 @@ namespace winrt::PowerToys::GPOWrapper::implementation
|
|||||||
{
|
{
|
||||||
return static_cast<GpoRuleConfigured>(powertoys_gpo::getAllowedAdvancedPasteGoogleValue());
|
return static_cast<GpoRuleConfigured>(powertoys_gpo::getAllowedAdvancedPasteGoogleValue());
|
||||||
}
|
}
|
||||||
GpoRuleConfigured GPOWrapper::GetAllowedAdvancedPasteAnthropicValue()
|
|
||||||
{
|
|
||||||
return static_cast<GpoRuleConfigured>(powertoys_gpo::getAllowedAdvancedPasteAnthropicValue());
|
|
||||||
}
|
|
||||||
GpoRuleConfigured GPOWrapper::GetAllowedAdvancedPasteOllamaValue()
|
GpoRuleConfigured GPOWrapper::GetAllowedAdvancedPasteOllamaValue()
|
||||||
{
|
{
|
||||||
return static_cast<GpoRuleConfigured>(powertoys_gpo::getAllowedAdvancedPasteOllamaValue());
|
return static_cast<GpoRuleConfigured>(powertoys_gpo::getAllowedAdvancedPasteOllamaValue());
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ namespace winrt::PowerToys::GPOWrapper::implementation
|
|||||||
static GpoRuleConfigured GetAllowedAdvancedPasteAzureAIInferenceValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteAzureAIInferenceValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteMistralValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteMistralValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteGoogleValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteGoogleValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteAnthropicValue();
|
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteOllamaValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteOllamaValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteFoundryLocalValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteFoundryLocalValue();
|
||||||
static GpoRuleConfigured GetConfiguredNewPlusEnabledValue();
|
static GpoRuleConfigured GetConfiguredNewPlusEnabledValue();
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ namespace PowerToys
|
|||||||
static GpoRuleConfigured GetAllowedAdvancedPasteAzureAIInferenceValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteAzureAIInferenceValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteMistralValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteMistralValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteGoogleValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteGoogleValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteAnthropicValue();
|
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteOllamaValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteOllamaValue();
|
||||||
static GpoRuleConfigured GetAllowedAdvancedPasteFoundryLocalValue();
|
static GpoRuleConfigured GetAllowedAdvancedPasteFoundryLocalValue();
|
||||||
static GpoRuleConfigured GetConfiguredNewPlusEnabledValue();
|
static GpoRuleConfigured GetConfiguredNewPlusEnabledValue();
|
||||||
|
|||||||
@@ -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_AZURE_AI_INFERENCE = L"AllowAdvancedPasteAzureAIInference";
|
||||||
const std::wstring POLICY_ALLOW_ADVANCED_PASTE_MISTRAL = L"AllowAdvancedPasteMistral";
|
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_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_OLLAMA = L"AllowAdvancedPasteOllama";
|
||||||
const std::wstring POLICY_ALLOW_ADVANCED_PASTE_FOUNDRY_LOCAL = L"AllowAdvancedPasteFoundryLocal";
|
const std::wstring POLICY_ALLOW_ADVANCED_PASTE_FOUNDRY_LOCAL = L"AllowAdvancedPasteFoundryLocal";
|
||||||
const std::wstring POLICY_MWB_CLIPBOARD_SHARING_ENABLED = L"MwbClipboardSharingEnabled";
|
const std::wstring POLICY_MWB_CLIPBOARD_SHARING_ENABLED = L"MwbClipboardSharingEnabled";
|
||||||
@@ -615,11 +614,6 @@ namespace powertoys_gpo
|
|||||||
return getConfiguredValue(POLICY_ALLOW_ADVANCED_PASTE_GOOGLE);
|
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()
|
inline gpo_rule_configured_t getAllowedAdvancedPasteOllamaValue()
|
||||||
{
|
{
|
||||||
return getConfiguredValue(POLICY_ALLOW_ADVANCED_PASTE_OLLAMA);
|
return getConfiguredValue(POLICY_ALLOW_ADVANCED_PASTE_OLLAMA);
|
||||||
|
|||||||
@@ -59,10 +59,8 @@
|
|||||||
<PackageReference Include="CommunityToolkit.WinUI.Controls.Primitives" />
|
<PackageReference Include="CommunityToolkit.WinUI.Controls.Primitives" />
|
||||||
<!-- Including MessagePack to force version, since it's used by StreamJsonRpc but contains vulnerabilities. After StreamJsonRpc updates the version of MessagePack, we can upgrade StreamJsonRpc instead. -->
|
<!-- Including MessagePack to force version, since it's used by StreamJsonRpc but contains vulnerabilities. After StreamJsonRpc updates the version of MessagePack, we can upgrade StreamJsonRpc instead. -->
|
||||||
<PackageReference Include="MessagePack" />
|
<PackageReference Include="MessagePack" />
|
||||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Amazon" />
|
|
||||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAIInference" />
|
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAIInference" />
|
||||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Google" />
|
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Google" />
|
||||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.HuggingFace" />
|
|
||||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.MistralAI" />
|
<PackageReference Include="Microsoft.SemanticKernel.Connectors.MistralAI" />
|
||||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Ollama" />
|
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Ollama" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting" />
|
<PackageReference Include="Microsoft.Extensions.Hosting" />
|
||||||
|
|||||||
@@ -11,12 +11,6 @@ using AdvancedPaste.Settings;
|
|||||||
using Microsoft.PowerToys.Settings.UI.Library;
|
using Microsoft.PowerToys.Settings.UI.Library;
|
||||||
using Microsoft.SemanticKernel;
|
using Microsoft.SemanticKernel;
|
||||||
using Microsoft.SemanticKernel.ChatCompletion;
|
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;
|
using Microsoft.SemanticKernel.Connectors.OpenAI;
|
||||||
|
|
||||||
namespace AdvancedPaste.Services;
|
namespace AdvancedPaste.Services;
|
||||||
|
|||||||
@@ -181,8 +181,6 @@ namespace AdvancedPaste.Services.CustomActions
|
|||||||
{
|
{
|
||||||
AIServiceType.Onnx => false,
|
AIServiceType.Onnx => false,
|
||||||
AIServiceType.Ollama => false,
|
AIServiceType.Ollama => false,
|
||||||
AIServiceType.Anthropic => false,
|
|
||||||
AIServiceType.AmazonBedrock => false,
|
|
||||||
_ => true,
|
_ => true,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,10 +11,8 @@ using AdvancedPaste.Models;
|
|||||||
using Microsoft.PowerToys.Settings.UI.Library;
|
using Microsoft.PowerToys.Settings.UI.Library;
|
||||||
using Microsoft.SemanticKernel;
|
using Microsoft.SemanticKernel;
|
||||||
using Microsoft.SemanticKernel.ChatCompletion;
|
using Microsoft.SemanticKernel.ChatCompletion;
|
||||||
using Microsoft.SemanticKernel.Connectors.Amazon;
|
|
||||||
using Microsoft.SemanticKernel.Connectors.AzureAIInference;
|
using Microsoft.SemanticKernel.Connectors.AzureAIInference;
|
||||||
using Microsoft.SemanticKernel.Connectors.Google;
|
using Microsoft.SemanticKernel.Connectors.Google;
|
||||||
using Microsoft.SemanticKernel.Connectors.HuggingFace;
|
|
||||||
using Microsoft.SemanticKernel.Connectors.MistralAI;
|
using Microsoft.SemanticKernel.Connectors.MistralAI;
|
||||||
using Microsoft.SemanticKernel.Connectors.Ollama;
|
using Microsoft.SemanticKernel.Connectors.Ollama;
|
||||||
using Microsoft.SemanticKernel.Connectors.OpenAI;
|
using Microsoft.SemanticKernel.Connectors.OpenAI;
|
||||||
@@ -29,11 +27,8 @@ namespace AdvancedPaste.Services.CustomActions
|
|||||||
AIServiceType.AzureOpenAI,
|
AIServiceType.AzureOpenAI,
|
||||||
AIServiceType.Mistral,
|
AIServiceType.Mistral,
|
||||||
AIServiceType.Google,
|
AIServiceType.Google,
|
||||||
AIServiceType.HuggingFace,
|
|
||||||
AIServiceType.AzureAIInference,
|
AIServiceType.AzureAIInference,
|
||||||
AIServiceType.Ollama,
|
AIServiceType.Ollama,
|
||||||
AIServiceType.Anthropic,
|
|
||||||
AIServiceType.AmazonBedrock,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public static PasteAIProviderRegistration Registration { get; } = new(SupportedTypes, config => new SemanticKernelPasteProvider(config));
|
public static PasteAIProviderRegistration Registration { get; } = new(SupportedTypes, config => new SemanticKernelPasteProvider(config));
|
||||||
@@ -142,21 +137,12 @@ namespace AdvancedPaste.Services.CustomActions
|
|||||||
case AIServiceType.Google:
|
case AIServiceType.Google:
|
||||||
kernelBuilder.AddGoogleAIGeminiChatCompletion(_config.Model, apiKey: apiKey);
|
kernelBuilder.AddGoogleAIGeminiChatCompletion(_config.Model, apiKey: apiKey);
|
||||||
break;
|
break;
|
||||||
case AIServiceType.HuggingFace:
|
|
||||||
kernelBuilder.AddHuggingFaceChatCompletion(_config.Model, apiKey: apiKey);
|
|
||||||
break;
|
|
||||||
case AIServiceType.AzureAIInference:
|
case AIServiceType.AzureAIInference:
|
||||||
kernelBuilder.AddAzureAIInferenceChatCompletion(_config.Model, apiKey: apiKey, endpoint: new Uri(endpoint));
|
kernelBuilder.AddAzureAIInferenceChatCompletion(_config.Model, apiKey: apiKey, endpoint: new Uri(endpoint));
|
||||||
break;
|
break;
|
||||||
case AIServiceType.Ollama:
|
case AIServiceType.Ollama:
|
||||||
kernelBuilder.AddOllamaChatCompletion(_config.Model, endpoint: new Uri(endpoint));
|
kernelBuilder.AddOllamaChatCompletion(_config.Model, endpoint: new Uri(endpoint));
|
||||||
break;
|
break;
|
||||||
case AIServiceType.Anthropic:
|
|
||||||
kernelBuilder.AddBedrockChatCompletionService(_config.Model);
|
|
||||||
break;
|
|
||||||
case AIServiceType.AmazonBedrock:
|
|
||||||
kernelBuilder.AddBedrockChatCompletionService(_config.Model);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new NotSupportedException($"Provider '{_config.ProviderType}' is not supported by {nameof(SemanticKernelPasteProvider)}");
|
throw new NotSupportedException($"Provider '{_config.ProviderType}' is not supported by {nameof(SemanticKernelPasteProvider)}");
|
||||||
@@ -184,8 +170,6 @@ namespace AdvancedPaste.Services.CustomActions
|
|||||||
return serviceType switch
|
return serviceType switch
|
||||||
{
|
{
|
||||||
AIServiceType.Ollama => false,
|
AIServiceType.Ollama => false,
|
||||||
AIServiceType.Anthropic => false,
|
|
||||||
AIServiceType.AmazonBedrock => false,
|
|
||||||
_ => true,
|
_ => true,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,16 +156,10 @@ public sealed class EnhancedVaultCredentialsProvider : IAICredentialsProvider
|
|||||||
resource = "https://ai.google.dev/";
|
resource = "https://ai.google.dev/";
|
||||||
serviceKey = "google";
|
serviceKey = "google";
|
||||||
break;
|
break;
|
||||||
case AIServiceType.HuggingFace:
|
|
||||||
resource = "https://huggingface.co/settings/tokens";
|
|
||||||
serviceKey = "huggingface";
|
|
||||||
break;
|
|
||||||
case AIServiceType.FoundryLocal:
|
case AIServiceType.FoundryLocal:
|
||||||
case AIServiceType.ML:
|
case AIServiceType.ML:
|
||||||
case AIServiceType.Onnx:
|
case AIServiceType.Onnx:
|
||||||
case AIServiceType.Ollama:
|
case AIServiceType.Ollama:
|
||||||
case AIServiceType.Anthropic:
|
|
||||||
case AIServiceType.AmazonBedrock:
|
|
||||||
return null;
|
return null;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace AdvancedPaste.Telemetry;
|
|||||||
public class AdvancedPasteEndpointUsageEvent : EventBase, IEvent
|
public class AdvancedPasteEndpointUsageEvent : EventBase, IEvent
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the AI provider type (e.g., OpenAI, AzureOpenAI, Anthropic).
|
/// Gets or sets the AI provider type (e.g., OpenAI, AzureOpenAI, Google).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ProviderType { get; set; }
|
public string ProviderType { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -798,7 +798,6 @@ namespace AdvancedPaste.ViewModels
|
|||||||
AIServiceType.AzureAIInference => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteAzureAIInferenceValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled,
|
AIServiceType.AzureAIInference => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteAzureAIInferenceValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled,
|
||||||
AIServiceType.Mistral => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteMistralValue() != 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.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.Ollama => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteOllamaValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled,
|
||||||
AIServiceType.FoundryLocal => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteFoundryLocalValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled,
|
AIServiceType.FoundryLocal => PowerToys.GPOWrapper.GPOWrapper.GetAllowedAdvancedPasteFoundryLocalValue() != PowerToys.GPOWrapper.GpoRuleConfigured.Disabled,
|
||||||
_ => true, // Allow unknown types by default
|
_ => true, // Allow unknown types by default
|
||||||
|
|||||||
@@ -17,10 +17,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
|
|||||||
FoundryLocal,
|
FoundryLocal,
|
||||||
Mistral,
|
Mistral,
|
||||||
Google,
|
Google,
|
||||||
HuggingFace,
|
|
||||||
AzureAIInference,
|
AzureAIInference,
|
||||||
Ollama,
|
Ollama,
|
||||||
Anthropic,
|
|
||||||
AmazonBedrock,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,11 +29,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library
|
|||||||
"ml" or "windowsml" or "winml" => AIServiceType.ML,
|
"ml" or "windowsml" or "winml" => AIServiceType.ML,
|
||||||
"mistral" => AIServiceType.Mistral,
|
"mistral" => AIServiceType.Mistral,
|
||||||
"google" or "googleai" or "googlegemini" => AIServiceType.Google,
|
"google" or "googleai" or "googlegemini" => AIServiceType.Google,
|
||||||
"huggingface" => AIServiceType.HuggingFace,
|
|
||||||
"azureaiinference" or "azureinference" => AIServiceType.AzureAIInference,
|
"azureaiinference" or "azureinference" => AIServiceType.AzureAIInference,
|
||||||
"ollama" => AIServiceType.Ollama,
|
"ollama" => AIServiceType.Ollama,
|
||||||
"anthropic" => AIServiceType.Anthropic,
|
|
||||||
"amazonbedrock" or "bedrock" => AIServiceType.AmazonBedrock,
|
|
||||||
_ => AIServiceType.Unknown,
|
_ => AIServiceType.Unknown,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -52,11 +49,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library
|
|||||||
AIServiceType.ML => "ML",
|
AIServiceType.ML => "ML",
|
||||||
AIServiceType.Mistral => "Mistral",
|
AIServiceType.Mistral => "Mistral",
|
||||||
AIServiceType.Google => "Google",
|
AIServiceType.Google => "Google",
|
||||||
AIServiceType.HuggingFace => "HuggingFace",
|
|
||||||
AIServiceType.AzureAIInference => "AzureAIInference",
|
AIServiceType.AzureAIInference => "AzureAIInference",
|
||||||
AIServiceType.Ollama => "Ollama",
|
AIServiceType.Ollama => "Ollama",
|
||||||
AIServiceType.Anthropic => "Anthropic",
|
|
||||||
AIServiceType.AmazonBedrock => "AmazonBedrock",
|
|
||||||
AIServiceType.Unknown => string.Empty,
|
AIServiceType.Unknown => string.Empty,
|
||||||
_ => throw new ArgumentOutOfRangeException(nameof(serviceType), serviceType, "Unsupported AI service type."),
|
_ => throw new ArgumentOutOfRangeException(nameof(serviceType), serviceType, "Unsupported AI service type."),
|
||||||
};
|
};
|
||||||
@@ -76,11 +70,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library
|
|||||||
AIServiceType.ML => "ml",
|
AIServiceType.ML => "ml",
|
||||||
AIServiceType.Mistral => "mistral",
|
AIServiceType.Mistral => "mistral",
|
||||||
AIServiceType.Google => "google",
|
AIServiceType.Google => "google",
|
||||||
AIServiceType.HuggingFace => "huggingface",
|
|
||||||
AIServiceType.AzureAIInference => "azureaiinference",
|
AIServiceType.AzureAIInference => "azureaiinference",
|
||||||
AIServiceType.Ollama => "ollama",
|
AIServiceType.Ollama => "ollama",
|
||||||
AIServiceType.Anthropic => "anthropic",
|
|
||||||
AIServiceType.AmazonBedrock => "amazonbedrock",
|
|
||||||
_ => string.Empty,
|
_ => string.Empty,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,31 +15,6 @@ public static class AIServiceTypeRegistry
|
|||||||
{
|
{
|
||||||
private static readonly Dictionary<AIServiceType, AIServiceTypeMetadata> MetadataMap = new()
|
private static readonly Dictionary<AIServiceType, AIServiceTypeMetadata> 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
|
[AIServiceType.AzureAIInference] = new AIServiceTypeMetadata
|
||||||
{
|
{
|
||||||
ServiceType = AIServiceType.AzureAIInference,
|
ServiceType = AIServiceType.AzureAIInference,
|
||||||
@@ -85,14 +60,6 @@ public static class AIServiceTypeRegistry
|
|||||||
PrivacyLabel = "AdvancedPaste_Google_PrivacyLabel",
|
PrivacyLabel = "AdvancedPaste_Google_PrivacyLabel",
|
||||||
PrivacyUri = new Uri("https://support.google.com/gemini/answer/13594961"),
|
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
|
[AIServiceType.Mistral] = new AIServiceTypeMetadata
|
||||||
{
|
{
|
||||||
ServiceType = AIServiceType.Mistral,
|
ServiceType = AIServiceType.Mistral,
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g clip-path="url(#clip0_2092_1822)">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.718 2.34668H12.12L16.5 13.3333H14.098L9.718 2.34668ZM4.87933 2.34668H7.39067L11.7707 13.3333H9.32133L8.426 11.026H3.84467L2.94867 13.3327H0.5L4.88 2.34801L4.87933 2.34668ZM7.634 8.98601L6.13533 5.12468L4.63667 8.98668H7.63333L7.634 8.98601Z" fill="black"/>
|
|
||||||
</g>
|
|
||||||
<defs>
|
|
||||||
<clipPath id="clip0_2092_1822">
|
|
||||||
<rect width="16" height="16" fill="white" transform="translate(0.5)"/>
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 585 B |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 5.7 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 35 KiB |
@@ -317,7 +317,6 @@ namespace Microsoft.PowerToys.Settings.UI.Views
|
|||||||
bool requiresEndpoint = serviceKind is AIServiceType.AzureOpenAI
|
bool requiresEndpoint = serviceKind is AIServiceType.AzureOpenAI
|
||||||
or AIServiceType.AzureAIInference
|
or AIServiceType.AzureAIInference
|
||||||
or AIServiceType.Mistral
|
or AIServiceType.Mistral
|
||||||
or AIServiceType.HuggingFace
|
|
||||||
or AIServiceType.Ollama;
|
or AIServiceType.Ollama;
|
||||||
bool requiresDeployment = serviceKind == AIServiceType.AzureOpenAI;
|
bool requiresDeployment = serviceKind == AIServiceType.AzureOpenAI;
|
||||||
bool requiresApiVersion = 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.AzureOpenAI => "https://your-resource.openai.azure.com/",
|
||||||
AIServiceType.AzureAIInference => "https://{resource-name}.cognitiveservices.azure.com/",
|
AIServiceType.AzureAIInference => "https://{resource-name}.cognitiveservices.azure.com/",
|
||||||
AIServiceType.Mistral => "https://api.mistral.ai/v1/",
|
AIServiceType.Mistral => "https://api.mistral.ai/v1/",
|
||||||
AIServiceType.HuggingFace => "https://api-inference.huggingface.co/models/",
|
|
||||||
AIServiceType.Ollama => "http://localhost:11434/",
|
AIServiceType.Ollama => "http://localhost:11434/",
|
||||||
_ => "https://your-resource.openai.azure.com/",
|
_ => "https://your-resource.openai.azure.com/",
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -708,15 +708,6 @@ Please review the placeholder content that represents the final terms and usage
|
|||||||
<data name="AdvancedPaste_Google_PrivacyLabel" xml:space="preserve">
|
<data name="AdvancedPaste_Google_PrivacyLabel" xml:space="preserve">
|
||||||
<value>Google Privacy Policy</value>
|
<value>Google Privacy Policy</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AdvancedPaste_Anthropic_LegalDescription" xml:space="preserve">
|
|
||||||
<value>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.</value>
|
|
||||||
</data>
|
|
||||||
<data name="AdvancedPaste_Anthropic_TermsLabel" xml:space="preserve">
|
|
||||||
<value>Anthropic Terms of Service</value>
|
|
||||||
</data>
|
|
||||||
<data name="AdvancedPaste_Anthropic_PrivacyLabel" xml:space="preserve">
|
|
||||||
<value>Anthropic Privacy Policy</value>
|
|
||||||
</data>
|
|
||||||
<data name="AdvancedPaste_Mistral_LegalDescription" xml:space="preserve">
|
<data name="AdvancedPaste_Mistral_LegalDescription" xml:space="preserve">
|
||||||
<value>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.</value>
|
<value>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.</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -726,15 +717,6 @@ Please review the placeholder content that represents the final terms and usage
|
|||||||
<data name="AdvancedPaste_Mistral_PrivacyLabel" xml:space="preserve">
|
<data name="AdvancedPaste_Mistral_PrivacyLabel" xml:space="preserve">
|
||||||
<value>Mistral Privacy Policy</value>
|
<value>Mistral Privacy Policy</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AdvancedPaste_AmazonBedrock_LegalDescription" xml:space="preserve">
|
|
||||||
<value>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.</value>
|
|
||||||
</data>
|
|
||||||
<data name="AdvancedPaste_AmazonBedrock_TermsLabel" xml:space="preserve">
|
|
||||||
<value>AWS Service Terms</value>
|
|
||||||
</data>
|
|
||||||
<data name="AdvancedPaste_AmazonBedrock_PrivacyLabel" xml:space="preserve">
|
|
||||||
<value>AWS Privacy Notice</value>
|
|
||||||
</data>
|
|
||||||
<data name="AdvancedPaste_Ollama_TermsLabel" xml:space="preserve">
|
<data name="AdvancedPaste_Ollama_TermsLabel" xml:space="preserve">
|
||||||
<value>Ollama Terms of Service</value>
|
<value>Ollama Terms of Service</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -10,10 +10,8 @@ using System.ComponentModel;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO.Abstractions;
|
using System.IO.Abstractions;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
|
||||||
using System.Runtime.Versioning;
|
using System.Runtime.Versioning;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Text.Json.Serialization;
|
|
||||||
|
|
||||||
using global::PowerToys.GPOWrapper;
|
using global::PowerToys.GPOWrapper;
|
||||||
using Microsoft.PowerToys.Settings.UI.Helpers;
|
using Microsoft.PowerToys.Settings.UI.Helpers;
|
||||||
@@ -57,6 +55,16 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
|
|
||||||
private Func<string, int> SendConfigMSG { get; }
|
private Func<string, int> SendConfigMSG { get; }
|
||||||
|
|
||||||
|
private static readonly HashSet<string> CustomActionNonPersistedProperties = new(StringComparer.Ordinal)
|
||||||
|
{
|
||||||
|
nameof(AdvancedPasteCustomAction.CanMoveUp),
|
||||||
|
nameof(AdvancedPasteCustomAction.CanMoveDown),
|
||||||
|
nameof(AdvancedPasteCustomAction.IsValid),
|
||||||
|
nameof(AdvancedPasteCustomAction.HasConflict),
|
||||||
|
nameof(AdvancedPasteCustomAction.Tooltip),
|
||||||
|
nameof(AdvancedPasteCustomAction.SubActions),
|
||||||
|
};
|
||||||
|
|
||||||
public AdvancedPasteViewModel(
|
public AdvancedPasteViewModel(
|
||||||
ISettingsUtils settingsUtils,
|
ISettingsUtils settingsUtils,
|
||||||
ISettingsRepository<GeneralSettings> settingsRepository,
|
ISettingsRepository<GeneralSettings> settingsRepository,
|
||||||
@@ -558,11 +566,9 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
AIServiceType.OpenAI => "gpt-4",
|
AIServiceType.OpenAI => "gpt-4",
|
||||||
AIServiceType.AzureOpenAI => "gpt-4",
|
AIServiceType.AzureOpenAI => "gpt-4",
|
||||||
AIServiceType.Mistral => "mistral-large-latest",
|
AIServiceType.Mistral => "mistral-large-latest",
|
||||||
AIServiceType.Google => "gemini-1.5-pro",
|
AIServiceType.Google => "gemini-2.5-pro",
|
||||||
AIServiceType.AzureAIInference => "gpt-4o-mini",
|
AIServiceType.AzureAIInference => "gpt-4o-mini",
|
||||||
AIServiceType.Ollama => "llama3",
|
AIServiceType.Ollama => "llama3",
|
||||||
AIServiceType.Anthropic => "claude-3-5-sonnet",
|
|
||||||
AIServiceType.AmazonBedrock => "anthropic.claude-3-haiku",
|
|
||||||
_ => string.Empty,
|
_ => string.Empty,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -589,7 +595,6 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
AIServiceType.AzureAIInference => GPOWrapper.GetAllowedAdvancedPasteAzureAIInferenceValue(),
|
AIServiceType.AzureAIInference => GPOWrapper.GetAllowedAdvancedPasteAzureAIInferenceValue(),
|
||||||
AIServiceType.Mistral => GPOWrapper.GetAllowedAdvancedPasteMistralValue(),
|
AIServiceType.Mistral => GPOWrapper.GetAllowedAdvancedPasteMistralValue(),
|
||||||
AIServiceType.Google => GPOWrapper.GetAllowedAdvancedPasteGoogleValue(),
|
AIServiceType.Google => GPOWrapper.GetAllowedAdvancedPasteGoogleValue(),
|
||||||
AIServiceType.Anthropic => GPOWrapper.GetAllowedAdvancedPasteAnthropicValue(),
|
|
||||||
_ => GpoRuleConfigured.Unavailable,
|
_ => GpoRuleConfigured.Unavailable,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -844,9 +849,6 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
"azureaiinference" => "https://azure.microsoft.com/products/ai-services/ai-inference",
|
"azureaiinference" => "https://azure.microsoft.com/products/ai-services/ai-inference",
|
||||||
"mistral" => "https://console.mistral.ai/account/api-keys",
|
"mistral" => "https://console.mistral.ai/account/api-keys",
|
||||||
"google" => "https://ai.google.dev/",
|
"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/",
|
"ollama" => "https://ollama.com/",
|
||||||
_ => "https://platform.openai.com/api-keys",
|
_ => "https://platform.openai.com/api-keys",
|
||||||
};
|
};
|
||||||
@@ -1000,7 +1002,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
|
|
||||||
private void OnCustomActionPropertyChanged(object sender, PropertyChangedEventArgs e)
|
private void OnCustomActionPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (typeof(AdvancedPasteCustomAction).GetProperty(e.PropertyName).GetCustomAttribute<JsonIgnoreAttribute>() == null)
|
if (!string.IsNullOrEmpty(e.PropertyName) && !CustomActionNonPersistedProperties.Contains(e.PropertyName))
|
||||||
{
|
{
|
||||||
SaveCustomActions();
|
SaveCustomActions();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ void ReportGPOValues(const std::filesystem::path &tmpDir)
|
|||||||
report << "getAllowedAdvancedPasteAzureAIInferenceValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteAzureAIInferenceValue()) << std::endl;
|
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 << "getAllowedAdvancedPasteMistralValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteMistralValue()) << std::endl;
|
||||||
report << "getAllowedAdvancedPasteGoogleValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteGoogleValue()) << 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 << "getAllowedAdvancedPasteOllamaValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteOllamaValue()) << std::endl;
|
||||||
report << "getAllowedAdvancedPasteFoundryLocalValue: " << gpo_rule_configured_to_string(powertoys_gpo::getAllowedAdvancedPasteFoundryLocalValue()) << 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;
|
report << "getConfiguredMwbClipboardSharingEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredMwbClipboardSharingEnabledValue()) << std::endl;
|
||||||
|
|||||||
Reference in New Issue
Block a user