From 24538fbfd09ac48ba9f98f14ee036ce658ba94f8 Mon Sep 17 00:00:00 2001 From: Dissectum <124477333+Dissectum@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:56:03 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E8=87=B3=20Maa.Fram?= =?UTF-8?q?ework=201.4.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Directory.Packages.props | 4 +- src/MBA.Cli/Program.cs | 9 +- src/MBA.Cli/packages.lock.json | 92 ++++++++++--------- src/MBA.Core/Data/Config.cs | 12 +-- src/MBA.Core/Data/GlobalInfo.cs | 2 - .../Extensions/MaaJobStatusExtension.cs | 20 ---- src/MBA.Core/MBA.Core.csproj | 3 +- src/MBA.Core/Maa.cs | 9 ++ src/MBA.Core/Managers/ConfigManager.cs | 2 +- src/MBA.Core/Managers/LogManager.cs | 6 +- src/MBA.Core/Managers/TaskManager.cs | 2 +- src/MBA.Core/{Main.cs => Sensei.cs} | 35 +++---- src/MBA.Core/packages.lock.json | 85 +++++++++-------- 13 files changed, 136 insertions(+), 145 deletions(-) delete mode 100644 src/MBA.Core/Extensions/MaaJobStatusExtension.cs create mode 100644 src/MBA.Core/Maa.cs rename src/MBA.Core/{Main.cs => Sensei.cs} (73%) diff --git a/Directory.Packages.props b/Directory.Packages.props index f39f728..f83a822 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -4,9 +4,7 @@ true - - - + diff --git a/src/MBA.Cli/Program.cs b/src/MBA.Cli/Program.cs index 935af37..1703807 100644 --- a/src/MBA.Cli/Program.cs +++ b/src/MBA.Cli/Program.cs @@ -1,3 +1,4 @@ +using MBA.Core; using MBA.Core.Data; using MBA.Core.Enums; using MBA.Core.Managers; @@ -44,7 +45,7 @@ static int Main(string[] args) return -1; } - Core.Main.Current.Start(); + Sensei.Agent.Start(); TipNewVersion(); TipPause(); @@ -305,10 +306,10 @@ static bool CheckAdbAddress(string value, out string result) var parts = result.Split(':'); if (parts.Length != 2) { - var count = MaaToolKit.Extensions.MaaTool.FindDevice(Config.Core.Adb); - for (ulong i = 0; i < count; i++) + var devices = Maa.Toolkit.Find(Config.Core.Adb); + foreach (var device in devices) { - if (MaaToolKit.Extensions.MaaTool.GetDeviceAdbSerial(i) == value) + if (device.AdbSerial == value) return true; } return false; diff --git a/src/MBA.Cli/packages.lock.json b/src/MBA.Cli/packages.lock.json index 67ab1d3..b585266 100644 --- a/src/MBA.Cli/packages.lock.json +++ b/src/MBA.Cli/packages.lock.json @@ -35,85 +35,91 @@ "Serilog": "2.10.0" } }, + "Maa.AgentBinary": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "09TsLd4LbaxoK68AZAg4MZFle/kkX8JZTbjRbkJYptyUCPCtdbVr8odukKG1CUzL4Wumbu+Fk7ppNX/OSlRMOA==" + }, + "Maa.Framework.Binding": { + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "WODdI8FaiRdrfVtY8iuYuLsWcJ02Nf4AZsU89U4zw/08cdwI3SmlwZCRYtiNcUM/M7h9wSccuokdAxssIGd1mg==" + }, + "Maa.Framework.Binding.Native": { + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "v5Fs+L0Aedg3ozD2ZTy61Q1/wOu/Ch2G0LYorygbY0Sz+1U97XcOf3oTF79T5rQKtyMMpqv+GA2LHmYoiWy6Gw==", + "dependencies": { + "Maa.Framework.Binding": "1.4.0", + "Maa.Framework.Runtimes": "1.4.0" + } + }, + "Maa.Framework.Runtimes": { + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" + }, "mba.core": { "type": "Project", "dependencies": { - "Maa.AgentBinary": "[1.0.0, )", - "Maa.ToolKit.Extensions": "[1.0.0-beta.2.1, )", + "Maa.Framework": "[1.4.0, )", "Serilog": "[3.0.1, )", "Serilog.Sinks.Console": "[4.1.0, )", "Serilog.Sinks.Debug": "[2.0.0, )", "Serilog.Sinks.File": "[5.0.0, )" } }, - "Maa.AgentBinary": { - "type": "CentralTransitive", - "requested": "[1.0.0, )", - "resolved": "1.0.0", - "contentHash": "09TsLd4LbaxoK68AZAg4MZFle/kkX8JZTbjRbkJYptyUCPCtdbVr8odukKG1CUzL4Wumbu+Fk7ppNX/OSlRMOA==" - }, - "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" - }, - "Maa.ToolKit.Extensions": { + "Maa.Framework": { "type": "CentralTransitive", - "requested": "[1.0.0-beta.2.1, )", - "resolved": "1.0.0-beta.2.1", - "contentHash": "thrl7AxC1syPjp3ls5BLaK3dnECjCcCJyLxAM42bqrMuoHqQ7E8gsrbOmy1w862CJYtSAdAVXY8HSa6PoeIH5w==", + "requested": "[1.4.0, )", + "resolved": "1.4.0", + "contentHash": "lDbbTkU06pjJPLChXaqE3vPeC1nfrU3wPkDvI32YD4HrNYZKpvl3LFNyF+6+vupbX4mRDsRge0KgKCiiEMljOw==", "dependencies": { - "Maa.Framework.Runtimes": "1.0.0-beta.2" + "Maa.AgentBinary": "1.0.0", + "Maa.Framework.Binding.Native": "1.4.0" } } }, "net7.0/linux-arm64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/linux-x64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/osx-arm64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/osx-x64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/win-arm64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/win-x64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } } } diff --git a/src/MBA.Core/Data/Config.cs b/src/MBA.Core/Data/Config.cs index 2c71ba7..441d0e1 100644 --- a/src/MBA.Core/Data/Config.cs +++ b/src/MBA.Core/Data/Config.cs @@ -1,5 +1,5 @@ using MBA.Core.Enums; -using MaaToolKit.Extensions.Enums; +using MaaFramework.Binding; using System.Text.Json.Serialization; namespace MBA.Core.Data; @@ -33,11 +33,11 @@ public class CoreConfig { public string Adb { get; set; } = "adb"; public string AdbAddress { get; set; } = "127.0.0.1:5555"; - public AdbControllerType Touch { get; set; } = AdbControllerType.InputPresetAdb; - public AdbControllerType ScreenCap { get; set; } = AdbControllerType.ScreenCapRawWithGzip; + public AdbControllerTypes Touch { get; set; } = AdbControllerTypes.InputPresetAdb; + public AdbControllerTypes ScreenCap { get; set; } = AdbControllerTypes.ScreencapRawWithGzip; [JsonIgnore] - public AdbControllerType ControlType => Touch | ScreenCap; + public AdbControllerTypes ControlType => Touch | ScreenCap; } public class GameConfig @@ -93,8 +93,8 @@ public class ConfigDocument public string Adb { get; } = "adb.exe 所在路径,相对绝对均可,例如 C:/adb.exe,不要有中文"; public string AdbAddress { get; } = "adb 连接地址,例如 127.0.0.1:5555"; - public string Touch { get; } = $"点击方式:{AdbControllerType.InputPresetAdb}, {AdbControllerType.InputPresetMinitouch}, {AdbControllerType.InputPresetMaatouch}"; - public string ScreenCap { get; } = $"截图方式:{AdbControllerType.ScreenCapFastestWay}, {AdbControllerType.ScreenCapRawByNetcat}, {AdbControllerType.ScreenCapRawWithGzip}, {AdbControllerType.ScreenCapEncode}, {AdbControllerType.ScreenCapEncodeToFile}, {AdbControllerType.ScreenCapMinicapDirect}, {AdbControllerType.ScreenCapMinicapStream}"; + public string Touch { get; } = $"点击方式:{AdbControllerTypes.InputPresetAdb}, {AdbControllerTypes.InputPresetMinitouch}, {AdbControllerTypes.InputPresetMaatouch}"; + public string ScreenCap { get; } = $"截图方式:{AdbControllerTypes.ScreencapFastestWay}, {AdbControllerTypes.ScreencapRawByNetcat}, {AdbControllerTypes.ScreencapRawWithGzip}, {AdbControllerTypes.ScreencapEncode}, {AdbControllerTypes.ScreencapEncodeToFile}, {AdbControllerTypes.ScreencapMinicapDirect}, {AdbControllerTypes.ScreencapMinicapStream}"; #endregion diff --git a/src/MBA.Core/Data/GlobalInfo.cs b/src/MBA.Core/Data/GlobalInfo.cs index 3e45692..7179c99 100644 --- a/src/MBA.Core/Data/GlobalInfo.cs +++ b/src/MBA.Core/Data/GlobalInfo.cs @@ -23,7 +23,5 @@ public static class GlobalInfo internal static readonly string BaseResourceFullPath = Path.GetFullPath(BaseResource); internal static readonly string AdbConfigFileFullPath = Path.GetFullPath(AdbConfigFile); - internal static readonly int ScreenshotHeight = 720; - public static bool IsCli { get; set; } } diff --git a/src/MBA.Core/Extensions/MaaJobStatusExtension.cs b/src/MBA.Core/Extensions/MaaJobStatusExtension.cs deleted file mode 100644 index 32e33b4..0000000 --- a/src/MBA.Core/Extensions/MaaJobStatusExtension.cs +++ /dev/null @@ -1,20 +0,0 @@ -using MaaToolKit.Extensions; - -namespace MBA.Core.Extensions; - -public static class MaaJobStatusExtension -{ - public static void Log(this MaaJobStatus status) - { - // TODO - /* - switch (status) - { - case MaaJobStatus.Success: - Serilog.Log.Information("{task} done. Result: {status}"); - break; - - default: - }*/ - } -} diff --git a/src/MBA.Core/MBA.Core.csproj b/src/MBA.Core/MBA.Core.csproj index 3a14bed..cb08241 100644 --- a/src/MBA.Core/MBA.Core.csproj +++ b/src/MBA.Core/MBA.Core.csproj @@ -1,8 +1,7 @@ - - + diff --git a/src/MBA.Core/Maa.cs b/src/MBA.Core/Maa.cs new file mode 100644 index 0000000..9c4a236 --- /dev/null +++ b/src/MBA.Core/Maa.cs @@ -0,0 +1,9 @@ +using MaaFramework.Binding; + +namespace MBA.Core; + +public class Maa +{ + public static MaaToolkit Toolkit { get; } = new(); + public static MaaUtility Utility { get; } = new(); +} diff --git a/src/MBA.Core/Managers/ConfigManager.cs b/src/MBA.Core/Managers/ConfigManager.cs index dc5326a..6c5a136 100644 --- a/src/MBA.Core/Managers/ConfigManager.cs +++ b/src/MBA.Core/Managers/ConfigManager.cs @@ -93,6 +93,6 @@ public static void LogConfig() as JsonObject ?? new(); jsonObject.Remove(nameof(Config.Document)); jsonObject.Remove(nameof(Config.UI)); - Log.Verbose("Current Config: {config}", jsonObject.ToString()); + Log.Verbose("Native Config: {config}", jsonObject.ToString()); } } diff --git a/src/MBA.Core/Managers/LogManager.cs b/src/MBA.Core/Managers/LogManager.cs index 7892050..c8719be 100644 --- a/src/MBA.Core/Managers/LogManager.cs +++ b/src/MBA.Core/Managers/LogManager.cs @@ -1,4 +1,4 @@ -using MaaToolKit.Extensions; +using MaaFramework.Binding; using MBA.Core.Data; using Serilog; using Serilog.Core; @@ -61,8 +61,8 @@ public static void ConfigureLogger(bool enableDebugMode, bool startLog = false) private static void SetFrameworkLog(bool enableDebugMode) { - MaaObject.FrameworkLogDir = GlobalInfo.DebugFullPath; - MaaObject.DebugMode = enableDebugMode; + Maa.Utility.SetOption(GlobalOption.LogDir, GlobalInfo.DebugFullPath); + Maa.Utility.SetOption(GlobalOption.SaveDraw, enableDebugMode); } private static bool _logStarted = false; diff --git a/src/MBA.Core/Managers/TaskManager.cs b/src/MBA.Core/Managers/TaskManager.cs index e040b85..f5ac500 100644 --- a/src/MBA.Core/Managers/TaskManager.cs +++ b/src/MBA.Core/Managers/TaskManager.cs @@ -22,7 +22,7 @@ public static void RunTask( { try { - action(); + action.Invoke(); } catch (Exception e) { diff --git a/src/MBA.Core/Main.cs b/src/MBA.Core/Sensei.cs similarity index 73% rename from src/MBA.Core/Main.cs rename to src/MBA.Core/Sensei.cs index de50bcb..9940636 100644 --- a/src/MBA.Core/Main.cs +++ b/src/MBA.Core/Sensei.cs @@ -1,33 +1,31 @@ -using MaaToolKit.Extensions; -using MaaToolKit.Extensions.Enums; +using MaaFramework.Binding; using MBA.Core.Data; using MBA.Core.Enums; using MBA.Core.Managers; namespace MBA.Core; -public class Main +public class Sensei { private static Serilog.ILogger Log => LogManager.Logger; - public static Main Current { get; } = new(); + public static Sensei Agent { get; } = new(); // TODO: 去除静态 private static Config Config { get; } = ConfigManager.Config; public void Start() { - var location = $"{nameof(Main)}.{nameof(Start)}"; + var location = $"{nameof(Sensei)}.{nameof(Start)}"; TaskManager.RunTask(() => { // remark: lock config ConfigManager.LogConfig(); - // TODO: GetMaa 抛出的错误应该是可选择的 using var maa = GetMaa(); var tasks = GetTasks(); - if (!maa.Instance.Initialized) + if (!maa.Initialized) Log.Error("Failed to init Maa instance, a connection error or resource file corruption occurred, please refer to the log."); if (TryRunTasks(maa, tasks)) @@ -38,19 +36,15 @@ public void Start() location); } - private MaaObject GetMaa() + private MaaInstance GetMaa() { - var maa = new MaaObject( - Config.Core.Adb, - Config.Core.AdbAddress, - Config.Core.ControlType, - ConfigManager.AdbConfig, - GlobalInfo.BaseResourceFullPath, - $"{GlobalInfo.ResourceFullPath}/{Config.Game.Language}"); + var maa = new MaaInstance + { + Controller = new MaaAdbController(Config.Core.Adb, Config.Core.AdbAddress, Config.Core.ControlType, ConfigManager.AdbConfig, "./MaaAgentBinary"), + Resource = new MaaResource(GlobalInfo.BaseResourceFullPath, $"{GlobalInfo.ResourceFullPath}/{Config.Game.Language}"), + DisposeOptions = DisposeOptions.All, + }; - maa.Controller.SetOption( - ControllerOption.ScreenshotTargetShortSide, - GlobalInfo.ScreenshotHeight); maa.Controller.SetOption( ControllerOption.DefaultAppPackageEntry, Config.Game.LanguageServer.GetPackageEntry()); @@ -66,7 +60,7 @@ private List GetTasks() return configTasks; } - private bool TryRunTasks(MaaObject maa, List tasks) + private bool TryRunTasks(MaaInstance maa, List tasks) { Log.Information("Task List: {list}.", tasks); tasks.Replace(Config.Game.Server); @@ -88,8 +82,7 @@ private bool TryRunTasks(MaaObject maa, List tasks) continue; } - var status = maa.Instance - .AppendTask(task.ToString(), diffTask) + var status = maa.AppendTask(task.ToString(), diffTask) .Wait(); // TODO: MaaJob 和 MaaJobStatus 包含 任务名 及其参数 diff --git a/src/MBA.Core/packages.lock.json b/src/MBA.Core/packages.lock.json index 6de2412..6db6556 100644 --- a/src/MBA.Core/packages.lock.json +++ b/src/MBA.Core/packages.lock.json @@ -2,19 +2,14 @@ "version": 2, "dependencies": { "net7.0": { - "Maa.AgentBinary": { + "Maa.Framework": { "type": "Direct", - "requested": "[1.0.0, )", - "resolved": "1.0.0", - "contentHash": "09TsLd4LbaxoK68AZAg4MZFle/kkX8JZTbjRbkJYptyUCPCtdbVr8odukKG1CUzL4Wumbu+Fk7ppNX/OSlRMOA==" - }, - "Maa.ToolKit.Extensions": { - "type": "Direct", - "requested": "[1.0.0-beta.2.1, )", - "resolved": "1.0.0-beta.2.1", - "contentHash": "thrl7AxC1syPjp3ls5BLaK3dnECjCcCJyLxAM42bqrMuoHqQ7E8gsrbOmy1w862CJYtSAdAVXY8HSa6PoeIH5w==", + "requested": "[1.4.0, )", + "resolved": "1.4.0", + "contentHash": "lDbbTkU06pjJPLChXaqE3vPeC1nfrU3wPkDvI32YD4HrNYZKpvl3LFNyF+6+vupbX4mRDsRge0KgKCiiEMljOw==", "dependencies": { - "Maa.Framework.Runtimes": "1.0.0-beta.2" + "Maa.AgentBinary": "1.0.0", + "Maa.Framework.Binding.Native": "1.4.0" } }, "Serilog": { @@ -50,59 +45,71 @@ "Serilog": "2.10.0" } }, + "Maa.AgentBinary": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "09TsLd4LbaxoK68AZAg4MZFle/kkX8JZTbjRbkJYptyUCPCtdbVr8odukKG1CUzL4Wumbu+Fk7ppNX/OSlRMOA==" + }, + "Maa.Framework.Binding": { + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "WODdI8FaiRdrfVtY8iuYuLsWcJ02Nf4AZsU89U4zw/08cdwI3SmlwZCRYtiNcUM/M7h9wSccuokdAxssIGd1mg==" + }, + "Maa.Framework.Binding.Native": { + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "v5Fs+L0Aedg3ozD2ZTy61Q1/wOu/Ch2G0LYorygbY0Sz+1U97XcOf3oTF79T5rQKtyMMpqv+GA2LHmYoiWy6Gw==", + "dependencies": { + "Maa.Framework.Binding": "1.4.0", + "Maa.Framework.Runtimes": "1.4.0" + } + }, "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/linux-arm64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/linux-x64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/osx-arm64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/osx-x64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/win-arm64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } }, "net7.0/win-x64": { "Maa.Framework.Runtimes": { - "type": "CentralTransitive", - "requested": "[0.3.7, )", - "resolved": "1.0.0-beta.2", - "contentHash": "QKOddDHKVdSeps/l1qw8AAI4hxhGEisRNIZE8YEHVB1Q9vliM3Lo8C+UEOLdvWS7yZhUlRq9oUo7ju9hhOlk+A==" + "type": "Transitive", + "resolved": "1.4.0", + "contentHash": "d3ihdTmR9IejyMb/e7gWfjZ6jRchZaJ5GicK4p0ipC1za2oZ2Ji6zW5bX477Li4c14AfuEvl7CPG72rX5ezO0g==" } } }