winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit d8de934fea8910cab9bed4515bf289516d6348d8
parent 5701ace06672d341c3b75d8d1bf3000fd132a0bf
Author: KEINOS <github+fork-qiita-news@keinos.com>
Date:   Fri,  1 Aug 2025 21:28:19 +0000

Merge remote-tracking branch 'upstream/master'

Diffstat:
Msrc/Directory.Packages.props | 75++++++++++++++++++++++++++++++++++++++-------------------------------------
Msrc/WinGetMCPServer/Exceptions/ToolResponseException.cs | 4++--
Msrc/WinGetMCPServer/Response/PackageResponse.cs | 24++++++++++++------------
Msrc/WinGetMCPServer/Response/ToolResponse.cs | 12++++++------
Msrc/WinGetMCPServer/WingetPackageTools.cs | 4++--
5 files changed, 60 insertions(+), 59 deletions(-)

diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props @@ -1,39 +1,39 @@ -<Project> - <PropertyGroup> - <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> +<Project> + <PropertyGroup> + <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> <!-- !!! Remove or update this on the next Microsoft.Windows.CsWinRT package version update. !!! - --> - <WindowsSdkPackageVersion>10.0.26100.53</WindowsSdkPackageVersion> - </PropertyGroup> - <ItemGroup> - <PackageVersion Include="coverlet.collector" Version="3.1.2" /> - <PackageVersion Include="Microsoft.ApplicationInsights" Version="2.21.0" /> - <PackageVersion Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" /> - <PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.6" /> - <PackageVersion Include="Microsoft.CSharp" Version="4.7.0" /> - <PackageVersion Include="Microsoft.Msix.Utils" Version="2.1.1" /> - <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> - <PackageVersion Include="Microsoft.PowerShell.SDK" Version="7.4.6" /> - <PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" /> - <PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.1.6" /> - <PackageVersion Include="Microsoft.Windows.SDK.Contracts" Version="10.0.26100.1742" /> - <PackageVersion Include="ModelContextProtocol" Version="0.2.0-preview.3" /> - <PackageVersion Include="Moq" Version="4.18.2" /> - <PackageVersion Include="Newtonsoft.Json" Version="13.0.3" /> - <PackageVersion Include="nunit" Version="3.12.0" /> - <PackageVersion Include="NUnit3TestAdapter" Version="3.15.1" /> - <PackageVersion Include="Octokit" Version="4.0.3" /> - <PackageVersion Include="PowerShellStandard.Library" Version="5.1.1" /> - <PackageVersion Include="Semver" Version="2.3.0" /> - <PackageVersion Include="StyleCop.Analyzers" Version="1.1.118" /> - <PackageVersion Include="System.Data.SqlClient" Version="4.8.6" /> - <PackageVersion Include="System.Net.Http" Version="4.3.4" /> - <PackageVersion Include="System.Private.Uri" Version="4.3.2" /> - <PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" /> - <PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" /> - <PackageVersion Include="xunit" Version="2.4.2" /> - <PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5" /> - <PackageVersion Include="YamlDotNet" Version="16.3.0" /> - </ItemGroup> -</Project> + --> + <WindowsSdkPackageVersion>10.0.26100.53</WindowsSdkPackageVersion> + </PropertyGroup> + <ItemGroup> + <PackageVersion Include="coverlet.collector" Version="3.1.2" /> + <PackageVersion Include="Microsoft.ApplicationInsights" Version="2.21.0" /> + <PackageVersion Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" /> + <PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.6" /> + <PackageVersion Include="Microsoft.CSharp" Version="4.7.0" /> + <PackageVersion Include="Microsoft.Msix.Utils" Version="2.1.1" /> + <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageVersion Include="Microsoft.PowerShell.SDK" Version="7.4.6" /> + <PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" /> + <PackageVersion Include="Microsoft.Windows.CsWinRT" Version="2.1.6" /> + <PackageVersion Include="Microsoft.Windows.SDK.Contracts" Version="10.0.26100.1742" /> + <PackageVersion Include="ModelContextProtocol" Version="0.3.0-preview.3" /> + <PackageVersion Include="Moq" Version="4.18.2" /> + <PackageVersion Include="Newtonsoft.Json" Version="13.0.3" /> + <PackageVersion Include="nunit" Version="3.12.0" /> + <PackageVersion Include="NUnit3TestAdapter" Version="3.15.1" /> + <PackageVersion Include="Octokit" Version="4.0.3" /> + <PackageVersion Include="PowerShellStandard.Library" Version="5.1.1" /> + <PackageVersion Include="Semver" Version="2.3.0" /> + <PackageVersion Include="StyleCop.Analyzers" Version="1.1.118" /> + <PackageVersion Include="System.Data.SqlClient" Version="4.8.6" /> + <PackageVersion Include="System.Net.Http" Version="4.3.4" /> + <PackageVersion Include="System.Private.Uri" Version="4.3.2" /> + <PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" /> + <PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" /> + <PackageVersion Include="xunit" Version="2.4.2" /> + <PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5" /> + <PackageVersion Include="YamlDotNet" Version="16.3.0" /> + </ItemGroup> +</Project>+ \ No newline at end of file diff --git a/src/WinGetMCPServer/Exceptions/ToolResponseException.cs b/src/WinGetMCPServer/Exceptions/ToolResponseException.cs @@ -13,11 +13,11 @@ namespace WinGetMCPServer.Exceptions /// </summary> internal class ToolResponseException : Exception { - public ToolResponseException(CallToolResponse toolResponse) + public ToolResponseException(CallToolResult toolResponse) { this.Response = toolResponse; } - public CallToolResponse Response { get; private set; } + public CallToolResult Response { get; private set; } } } diff --git a/src/WinGetMCPServer/Response/PackageResponse.cs b/src/WinGetMCPServer/Response/PackageResponse.cs @@ -20,12 +20,12 @@ namespace WinGetMCPServer.Response /// </summary> /// <param name="connectResult">The connect result.</param> /// <returns>The response.</returns> - public static CallToolResponse ForConnectError(ConnectResult connectResult) + public static CallToolResult ForConnectError(ConnectResult connectResult) { - return new CallToolResponse() + return new CallToolResult() { IsError = true, - Content = [new Content() { Text = $"Failed when connecting to the package source with error: {connectResult.ExtendedErrorCode.Message} [0x{connectResult.ExtendedErrorCode.HResult:X8}]" }], + Content = [new TextContentBlock() { Text = $"Failed when connecting to the package source with error: {connectResult.ExtendedErrorCode.Message} [0x{connectResult.ExtendedErrorCode.HResult:X8}]" }], }; } @@ -34,12 +34,12 @@ namespace WinGetMCPServer.Response /// </summary> /// <param name="findResult">The find packages result.</param> /// <returns>The response.</returns> - public static CallToolResponse ForFindError(FindPackagesResult findResult) + public static CallToolResult ForFindError(FindPackagesResult findResult) { - return new CallToolResponse() + return new CallToolResult() { IsError = true, - Content = [new Content() { Text = $"Failed when finding packages with reason {findResult.Status} and error: {findResult.ExtendedErrorCode.Message} [0x{findResult.ExtendedErrorCode.HResult:X8}]" }], + Content = [new TextContentBlock() { Text = $"Failed when finding packages with reason {findResult.Status} and error: {findResult.ExtendedErrorCode.Message} [0x{findResult.ExtendedErrorCode.HResult:X8}]" }], }; } @@ -47,12 +47,12 @@ namespace WinGetMCPServer.Response /// Creates a response that indicates the operation was cancelled before any changes were made. /// </summary> /// <returns>The response.</returns> - public static CallToolResponse ForCancelBeforeSystemChange() + public static CallToolResult ForCancelBeforeSystemChange() { - return new CallToolResponse() + return new CallToolResult() { IsError = true, - Content = [new Content() { Text = $"The operation was cancelled before any system change was started" }], + Content = [new TextContentBlock() { Text = $"The operation was cancelled before any system change was started" }], }; } @@ -62,7 +62,7 @@ namespace WinGetMCPServer.Response /// <param name="identifer">The identifier used when searching.</param> /// <param name="source">The source that was searched.</param> /// <returns>The response.</returns> - public static CallToolResponse ForEmptyFind(string identifer, string? source) + public static CallToolResult ForEmptyFind(string identifer, string? source) { PackageIdentityErrorResult result = new() { @@ -81,7 +81,7 @@ namespace WinGetMCPServer.Response /// <param name="source">The source that was searched.</param> /// <param name="findResult">The result that contains multiple packages.</param> /// <returns>The response.</returns> - public static CallToolResponse ForMultiFind(string identifer, string? source, FindPackagesResult findResult) + public static CallToolResult ForMultiFind(string identifer, string? source, FindPackagesResult findResult) { PackageIdentityErrorResult result = new() { @@ -101,7 +101,7 @@ namespace WinGetMCPServer.Response /// <param name="installResult">The install operation result.</param> /// <param name="findResult">The post-install package data.</param> /// <returns>The response.</returns> - public static CallToolResponse ForInstallOperation(InstallResult installResult, FindPackagesResult? findResult) + public static CallToolResult ForInstallOperation(InstallResult installResult, FindPackagesResult? findResult) { InstallOperationResult result = new InstallOperationResult(); diff --git a/src/WinGetMCPServer/Response/ToolResponse.cs b/src/WinGetMCPServer/Response/ToolResponse.cs @@ -25,10 +25,10 @@ namespace WinGetMCPServer.Response { if (!GroupPolicy.GetInstance().IsEnabled(Policy.McpServer)) { - throw new ToolResponseException(new CallToolResponse() + throw new ToolResponseException(new CallToolResult() { IsError = true, - Content = [new Content() { Text = "The Windows Package Manager MCP server is disabled by group policy." }] + Content = [new TextContentBlock() { Text = "The Windows Package Manager MCP server is disabled by group policy." }] }); } } @@ -39,7 +39,7 @@ namespace WinGetMCPServer.Response /// <param name="value">The object to return in the response.</param> /// <param name="isError">Whether or not the response is an error.</param> /// <returns>The response.</returns> - public static CallToolResponse FromObject(object value, bool isError = false) + public static CallToolResult FromObject(object value, bool isError = false) { return FromObject(value, isError, GetDefaultJsonOptions()); } @@ -51,12 +51,12 @@ namespace WinGetMCPServer.Response /// <param name="isError">Whether or not the response is an error.</param> /// <param name="jsonSerializerOptions">The JSON serializer options for serializing the object.</param> /// <returns>The response.</returns> - public static CallToolResponse FromObject(object value, bool isError, JsonSerializerOptions jsonSerializerOptions) + public static CallToolResult FromObject(object value, bool isError, JsonSerializerOptions jsonSerializerOptions) { - return new CallToolResponse() + return new CallToolResult() { IsError = isError, - Content = [new Content() { Text = JsonSerializer.Serialize(value, GetDefaultJsonOptions()) }] + Content = [new TextContentBlock() { Text = JsonSerializer.Serialize(value, GetDefaultJsonOptions()) }] }; } diff --git a/src/WinGetMCPServer/WingetPackageTools.cs b/src/WinGetMCPServer/WingetPackageTools.cs @@ -35,7 +35,7 @@ namespace WinGetMCPServer ReadOnly = true, OpenWorld = false)] [Description("Find installed and available packages using WinGet")] - public CallToolResponse FindPackages( + public CallToolResult FindPackages( [Description("Find packages identified by this value")] string query) { try @@ -77,7 +77,7 @@ namespace WinGetMCPServer Idempotent = false, OpenWorld = false)] [Description("Install or update a package using WinGet")] - public async Task<CallToolResponse> InstallPackage( + public async Task<CallToolResult> InstallPackage( [Description("The identifier of the WinGet package")] string identifier, IProgress<ProgressNotificationValue> progress, CancellationToken cancellationToken,