diff --git a/authoring-ui.Tests/MainViewModelTests.cs b/authoring-ui.Tests/MainViewModelTests.cs
index 9748b95..a94ba18 100644
--- a/authoring-ui.Tests/MainViewModelTests.cs
+++ b/authoring-ui.Tests/MainViewModelTests.cs
@@ -155,6 +155,47 @@ public class MainViewModelTests
Assert.DoesNotContain(@"\\", viewModel.TomlPreview, StringComparison.Ordinal);
}
+ [Fact]
+ public void Generated_shortcut_tracks_app_info_and_allows_description_override()
+ {
+ var viewModel = new MainViewModel(() => null)
+ {
+ AppName = "Renamed App",
+ ApplicationFolder = "RenamedApp",
+ InstallRootToken = "{ProgramFilesX64}",
+ PrimaryPayload = @"payload\renamed.exe"
+ };
+
+ var defaultDocument = viewModel.BuildDocument();
+ var defaultShortcut = Assert.Single(defaultDocument.Shortcuts);
+ Assert.Equal(@"{Desktop}\RenamedApp.lnk", defaultShortcut.Path);
+ Assert.Equal(@"{ProgramFilesX64}\RenamedApp\bin\renamed.exe", defaultShortcut.Target);
+ Assert.Equal(@"{ProgramFilesX64}\RenamedApp", defaultShortcut.WorkingDirectory);
+ Assert.Equal("Launch Renamed App", defaultShortcut.Description);
+
+ viewModel.ShortcutDescription = "Start Renamed App";
+
+ var customShortcut = Assert.Single(viewModel.BuildDocument().Shortcuts);
+ Assert.Equal("Start Renamed App", customShortcut.Description);
+ Assert.Contains("description = 'Start Renamed App'", viewModel.TomlPreview);
+ }
+
+ [Fact]
+ public void Purge_registry_branches_track_registry_entries()
+ {
+ var viewModel = new MainViewModel(() => null)
+ {
+ ApplicationFolder = "RenamedApp"
+ };
+ viewModel.AddRegistry(@"HKLM\Software\Vendor\RenamedApp", "InstallRoot", @"{ProgramFilesX64}\RenamedApp");
+
+ var branches = viewModel.BuildDocument().Purge.RegistryBranches;
+
+ Assert.Contains(@"HKCU\Software\RenamedApp", branches);
+ Assert.Contains(@"HKLM\Software\Vendor\RenamedApp", branches);
+ Assert.Contains(@"HKLM\Software\Vendor\RenamedApp", viewModel.PurgeRegistryBranchesPreview);
+ }
+
[Fact]
public void Packaging_is_disabled_when_covenant_setup_is_missing()
{
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/CopilotIndices/18.5.39187.10602/CodeChunks.db b/authoring-ui/.vs/Covenant.Setup.Authoring/CopilotIndices/18.5.39187.10602/CodeChunks.db
new file mode 100644
index 0000000..d4775b2
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/CopilotIndices/18.5.39187.10602/CodeChunks.db differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/CopilotIndices/18.5.39187.10602/SemanticSymbols.db b/authoring-ui/.vs/Covenant.Setup.Authoring/CopilotIndices/18.5.39187.10602/SemanticSymbols.db
new file mode 100644
index 0000000..e365d26
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/CopilotIndices/18.5.39187.10602/SemanticSymbols.db differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/DesignTimeBuild/.dtbcache.v2 b/authoring-ui/.vs/Covenant.Setup.Authoring/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 0000000..86251f7
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/0cd77c29-718e-411f-850b-53b44758d61d.vsidx b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/0cd77c29-718e-411f-850b-53b44758d61d.vsidx
new file mode 100644
index 0000000..c6b38d6
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/0cd77c29-718e-411f-850b-53b44758d61d.vsidx differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/4122c16d-3df2-4cbd-84fd-6ecc53533e98.vsidx b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/4122c16d-3df2-4cbd-84fd-6ecc53533e98.vsidx
new file mode 100644
index 0000000..c403b3f
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/4122c16d-3df2-4cbd-84fd-6ecc53533e98.vsidx differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/6f5bea8e-ca23-4e8f-a27b-46e6eb3035e1.vsidx b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/6f5bea8e-ca23-4e8f-a27b-46e6eb3035e1.vsidx
new file mode 100644
index 0000000..c403b3f
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/6f5bea8e-ca23-4e8f-a27b-46e6eb3035e1.vsidx differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/9fe2b434-4d9e-426e-b9b8-d30c247df3e5.vsidx b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/9fe2b434-4d9e-426e-b9b8-d30c247df3e5.vsidx
new file mode 100644
index 0000000..c812455
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/9fe2b434-4d9e-426e-b9b8-d30c247df3e5.vsidx differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/f4653db0-d675-449e-8a65-51709e135033.vsidx b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/f4653db0-d675-449e-8a65-51709e135033.vsidx
new file mode 100644
index 0000000..49cbc08
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/FileContentIndex/f4653db0-d675-449e-8a65-51709e135033.vsidx differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/29d363de-e491-4a2d-81cd-a78c889f3602 b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/29d363de-e491-4a2d-81cd-a78c889f3602
new file mode 100644
index 0000000..4c06b95
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/29d363de-e491-4a2d-81cd-a78c889f3602 differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/2ec3fa41-1c33-4f27-b273-8e03f9021eae b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/2ec3fa41-1c33-4f27-b273-8e03f9021eae
new file mode 100644
index 0000000..54624df
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/2ec3fa41-1c33-4f27-b273-8e03f9021eae differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/4d107c14-bbd6-4617-8b3e-ce0a64bf63f6 b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/4d107c14-bbd6-4617-8b3e-ce0a64bf63f6
new file mode 100644
index 0000000..d5816b4
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/4d107c14-bbd6-4617-8b3e-ce0a64bf63f6 differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/dfee8abc-8538-4627-b391-64152585592d b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/dfee8abc-8538-4627-b391-64152585592d
new file mode 100644
index 0000000..c0746d5
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/dfee8abc-8538-4627-b391-64152585592d differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/e9acb6e7-3b88-409e-a7a0-33097dcda7ee b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/e9acb6e7-3b88-409e-a7a0-33097dcda7ee
new file mode 100644
index 0000000..309e813
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/copilot-chat/1b17085d/sessions/e9acb6e7-3b88-409e-a7a0-33097dcda7ee differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/v18/.futdcache.v2 b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/.futdcache.v2
new file mode 100644
index 0000000..e0631e9
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/.futdcache.v2 differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/v18/.suo b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/.suo
new file mode 100644
index 0000000..b598726
Binary files /dev/null and b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/.suo differ
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/v18/DocumentLayout.backup.json b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/DocumentLayout.backup.json
new file mode 100644
index 0000000..1323bb9
--- /dev/null
+++ b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/DocumentLayout.backup.json
@@ -0,0 +1,54 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|c:\\users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
+ "RelativeMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|solutionrelative:app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|c:\\users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 1,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "Program.cs",
+ "DocumentMoniker": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\Program.cs",
+ "RelativeDocumentMoniker": "Program.cs",
+ "ToolTip": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\Program.cs",
+ "RelativeToolTip": "Program.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-05-05T00:32:51.733Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "App.xaml",
+ "DocumentMoniker": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\App.xaml",
+ "RelativeDocumentMoniker": "App.xaml",
+ "ToolTip": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\App.xaml",
+ "RelativeToolTip": "App.xaml",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
+ "WhenOpened": "2026-05-05T00:30:19.531Z",
+ "EditorCaption": ""
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/authoring-ui/.vs/Covenant.Setup.Authoring/v18/DocumentLayout.json b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/DocumentLayout.json
new file mode 100644
index 0000000..1323bb9
--- /dev/null
+++ b/authoring-ui/.vs/Covenant.Setup.Authoring/v18/DocumentLayout.json
@@ -0,0 +1,54 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|c:\\users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
+ "RelativeMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|solutionrelative:app.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|c:\\users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}|Covenant.Setup.Authoring.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 1,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "Program.cs",
+ "DocumentMoniker": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\Program.cs",
+ "RelativeDocumentMoniker": "Program.cs",
+ "ToolTip": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\Program.cs",
+ "RelativeToolTip": "Program.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-05-05T00:32:51.733Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "App.xaml",
+ "DocumentMoniker": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\App.xaml",
+ "RelativeDocumentMoniker": "App.xaml",
+ "ToolTip": "C:\\Users\\jasonross\\workspace\\covenant-setup\\authoring-ui\\App.xaml",
+ "RelativeToolTip": "App.xaml",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
+ "WhenOpened": "2026-05-05T00:30:19.531Z",
+ "EditorCaption": ""
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.metadata.v10.bin b/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.metadata.v10.bin
new file mode 100644
index 0000000..06ef5e0
Binary files /dev/null and b/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.metadata.v10.bin differ
diff --git a/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.projects.v10.bin b/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.projects.v10.bin
new file mode 100644
index 0000000..6d57668
Binary files /dev/null and b/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.projects.v10.bin differ
diff --git a/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.strings.v10.bin b/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.strings.v10.bin
new file mode 100644
index 0000000..0037609
Binary files /dev/null and b/authoring-ui/.vs/ProjectEvaluation/covenant.setup.authoring.strings.v10.bin differ
diff --git a/authoring-ui/Covenant.Setup.Authoring.csproj b/authoring-ui/Covenant.Setup.Authoring.csproj
index 9742a97..d22ef97 100644
--- a/authoring-ui/Covenant.Setup.Authoring.csproj
+++ b/authoring-ui/Covenant.Setup.Authoring.csproj
@@ -4,11 +4,11 @@
net10.0-windows10.0.19041.0
true
None
- true
+ win-x64
+ true
false
false
- true
- false
+ true
win-x64
enable
enable
diff --git a/authoring-ui/Covenant.Setup.Authoring.sln b/authoring-ui/Covenant.Setup.Authoring.sln
new file mode 100644
index 0000000..76924ee
--- /dev/null
+++ b/authoring-ui/Covenant.Setup.Authoring.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 18
+VisualStudioVersion = 18.5.11723.231 stable
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Covenant.Setup.Authoring", "Covenant.Setup.Authoring.csproj", "{5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5D26E66D-8F74-39AC-8CD2-24BC7C6E0C0F}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A95CF113-E203-4D42-901D-77B6B1147DBB}
+ EndGlobalSection
+EndGlobal
diff --git a/authoring-ui/CovenantSetupTool.cs b/authoring-ui/CovenantSetupTool.cs
index 27cd4ca..6270b13 100644
--- a/authoring-ui/CovenantSetupTool.cs
+++ b/authoring-ui/CovenantSetupTool.cs
@@ -11,6 +11,11 @@ internal sealed record PackageResult(
string Output,
string Error);
+internal sealed record ToolValidationResult(
+ bool IsValid,
+ CovenantSetupTool? Tool,
+ string Message);
+
internal static class CovenantSetupToolLocator
{
public static CovenantSetupTool? Find()
@@ -82,6 +87,130 @@ internal static class CovenantSetupToolLocator
}
}
+internal static class CovenantSetupToolValidator
+{
+ public static async Task ValidateAsync(
+ string path,
+ CancellationToken cancellationToken)
+ {
+ if (string.IsNullOrWhiteSpace(path))
+ {
+ return Invalid("Pick a valid covenant-setup executable.");
+ }
+
+ string fullPath;
+ try
+ {
+ fullPath = System.IO.Path.GetFullPath(path.Trim());
+ }
+ catch (Exception ex)
+ {
+ return Invalid("The covenant-setup path is invalid: " + ex.Message);
+ }
+
+ if (!File.Exists(fullPath))
+ {
+ return Invalid("Pick a valid covenant-setup executable.");
+ }
+
+ var output = new StringBuilder();
+ var error = new StringBuilder();
+ using var process = new Process
+ {
+ StartInfo = CreateHelpStartInfo(fullPath),
+ EnableRaisingEvents = true
+ };
+
+ process.OutputDataReceived += (_, args) =>
+ {
+ if (args.Data is not null)
+ {
+ output.AppendLine(args.Data);
+ }
+ };
+ process.ErrorDataReceived += (_, args) =>
+ {
+ if (args.Data is not null)
+ {
+ error.AppendLine(args.Data);
+ }
+ };
+
+ using var timeout = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
+ timeout.CancelAfter(TimeSpan.FromSeconds(5));
+
+ try
+ {
+ if (!process.Start())
+ {
+ return Invalid("Pick a valid covenant-setup executable.");
+ }
+
+ process.BeginOutputReadLine();
+ process.BeginErrorReadLine();
+ await process.WaitForExitAsync(timeout.Token);
+ process.WaitForExit();
+ }
+ catch (OperationCanceledException) when (!cancellationToken.IsCancellationRequested)
+ {
+ TryKill(process);
+ return Invalid("The selected executable did not respond to the covenant-setup help command.");
+ }
+ catch (Exception ex)
+ {
+ return Invalid("The selected executable could not be started: " + ex.Message);
+ }
+
+ var combinedOutput = string.Join(
+ Environment.NewLine,
+ new[] { output.ToString(), error.ToString() }.Where(part => !string.IsNullOrWhiteSpace(part)));
+ if (process.ExitCode == 0 && LooksLikeCovenantSetupHelp(combinedOutput))
+ {
+ return new ToolValidationResult(true, new CovenantSetupTool(fullPath), "Packaging enabled: " + fullPath);
+ }
+
+ return Invalid("Pick a valid covenant-setup executable.");
+ }
+
+ private static ProcessStartInfo CreateHelpStartInfo(string path)
+ {
+ var startInfo = new ProcessStartInfo
+ {
+ FileName = path,
+ UseShellExecute = false,
+ CreateNoWindow = true,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true
+ };
+ startInfo.ArgumentList.Add("--help");
+ return startInfo;
+ }
+
+ private static bool LooksLikeCovenantSetupHelp(string output) =>
+ !string.IsNullOrWhiteSpace(output) &&
+ (output.Contains("covenant", StringComparison.OrdinalIgnoreCase) ||
+ (output.Contains("package", StringComparison.OrdinalIgnoreCase) &&
+ output.Contains("install", StringComparison.OrdinalIgnoreCase)));
+
+ private static ToolValidationResult Invalid(string message) =>
+ new(false, null, message);
+
+ private static void TryKill(Process process)
+ {
+ try
+ {
+ if (!process.HasExited)
+ {
+ process.Kill(entireProcessTree: true);
+ }
+ }
+ catch
+ {
+ // Best effort; the caller reports validation failure either way.
+ }
+ }
+}
+
internal static class CovenantSetupPackager
{
public static async Task PackageAsync(
diff --git a/authoring-ui/MainViewModel.cs b/authoring-ui/MainViewModel.cs
index 54a1e58..4591a73 100644
--- a/authoring-ui/MainViewModel.cs
+++ b/authoring-ui/MainViewModel.cs
@@ -13,6 +13,7 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
private string _applicationFolder = "CovenantSetupSample";
private string _primaryPayload = @"payload\sample_app.cmd";
private string _outputDirectory = Path.Combine(Environment.CurrentDirectory, "dist");
+ private string? _shortcutDescriptionOverride;
private CovenantSetupTool? _covenantSetupTool;
private string _covenantSetupStatus = "covenant-setup.exe was not found. Packaging is disabled.";
private string _tomlPreview = string.Empty;
@@ -69,6 +70,29 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
set => SetProperty(ref _primaryPayload, value);
}
+ public string ShortcutDescription
+ {
+ get => EffectiveShortcutDescription();
+ set
+ {
+ var normalized = string.IsNullOrWhiteSpace(value) ? null : value;
+ var defaultDescription = DefaultShortcutDescription(AppName.Trim());
+ var overrideValue = string.Equals(normalized, defaultDescription, StringComparison.Ordinal)
+ ? null
+ : normalized;
+
+ if (string.Equals(_shortcutDescriptionOverride, overrideValue, StringComparison.Ordinal))
+ {
+ return;
+ }
+
+ _shortcutDescriptionOverride = overrideValue;
+ OnPropertyChanged();
+ NotifyGeneratedManifestFieldsChanged();
+ RefreshPreview();
+ }
+ }
+
public string OutputDirectory
{
get => _outputDirectory;
@@ -83,6 +107,7 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
if (SetProperty(ref _covenantSetupTool, value, refreshPreview: false))
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(HasCovenantSetupTool)));
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CovenantSetupPath)));
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CanPackage)));
}
}
@@ -90,6 +115,8 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
public bool HasCovenantSetupTool => CovenantSetupTool is not null;
+ public string CovenantSetupPath => CovenantSetupTool?.Path ?? string.Empty;
+
public string CovenantSetupStatus
{
get => _covenantSetupStatus;
@@ -125,6 +152,16 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
}
}
+ public string ShortcutPath => GeneratedShortcut()?.Path ?? string.Empty;
+
+ public string ShortcutTarget => GeneratedShortcut()?.Target ?? string.Empty;
+
+ public string ShortcutWorkingDirectory => GeneratedShortcut()?.WorkingDirectory ?? string.Empty;
+
+ public string PurgePathsPreview => JoinLines(BuildDocument().Purge.Paths);
+
+ public string PurgeRegistryBranchesPreview => JoinLines(BuildDocument().Purge.RegistryBranches);
+
public ObservableCollection Directories { get; } = [];
public ObservableCollection Files { get; } = [];
public ObservableCollection Registry { get; } = [];
@@ -135,12 +172,23 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
public void RefreshCovenantSetupTool()
{
- CovenantSetupTool = _locateCovenantSetupTool();
+ SetCovenantSetupTool(_locateCovenantSetupTool());
+ }
+
+ public void SetCovenantSetupTool(CovenantSetupTool? tool)
+ {
+ CovenantSetupTool = tool;
CovenantSetupStatus = CovenantSetupTool is null
? "covenant-setup.exe was not found. Packaging is disabled."
: "Packaging enabled: " + CovenantSetupTool.Path;
}
+ public void RejectCovenantSetupTool(string message)
+ {
+ CovenantSetupTool = null;
+ CovenantSetupStatus = message;
+ }
+
public void AddDirectory(string path)
{
AddTrimmed(Directories, path, value => value);
@@ -206,18 +254,23 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
public ManifestDocument BuildDocument()
{
var template = BuildTemplateEntries();
+ var directories = CombineUnique(template.Directories, Directories);
+ var files = CombineUnique(template.Files, Files);
+ var registry = CombineUnique(template.Registry, Registry);
+ var shortcuts = CombineUnique(BuildShortcutEntries(files), Shortcuts);
+ var purgePaths = CombineUnique(BuildPurgePaths(files, registry), PurgePaths);
return new ManifestDocument
{
AppName = AppName.Trim(),
- Directories = CombineUnique(template.Directories, Directories),
- Files = CombineUnique(template.Files, Files),
- Registry = CombineUnique(template.Registry, Registry),
- Shortcuts = CombineUnique(template.Shortcuts, Shortcuts),
+ Directories = directories,
+ Files = files,
+ Registry = registry,
+ Shortcuts = shortcuts,
Scripts = Scripts.ToArray(),
Purge = new PurgeSpec
{
- Paths = CombineUnique(template.PurgePaths, PurgePaths),
- RegistryBranches = CombineUnique(template.PurgeRegistryBranches, PurgeRegistryBranches)
+ Paths = purgePaths,
+ RegistryBranches = CombineUnique(registry.Select(entry => entry.Key), PurgeRegistryBranches)
}
};
}
@@ -308,15 +361,22 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
}
field = value;
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ OnPropertyChanged(propertyName);
if (propertyName == nameof(AppName))
{
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(ExpectedManifestFileName)));
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(ManifestSubtitle)));
+ OnPropertyChanged(nameof(ExpectedManifestFileName));
+ OnPropertyChanged(nameof(ManifestSubtitle));
}
if (propertyName == nameof(OutputDirectory))
{
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CanPackage)));
+ OnPropertyChanged(nameof(CanPackage));
+ }
+ if (propertyName is nameof(AppName)
+ or nameof(InstallRootToken)
+ or nameof(ApplicationFolder)
+ or nameof(PrimaryPayload))
+ {
+ NotifyGeneratedManifestFieldsChanged();
}
if (refreshPreview)
{
@@ -327,9 +387,43 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
private void CollectionChanged(object? sender, NotifyCollectionChangedEventArgs args)
{
+ if (ReferenceEquals(sender, Files))
+ {
+ OnPropertyChanged(nameof(ShortcutPath));
+ OnPropertyChanged(nameof(ShortcutTarget));
+ OnPropertyChanged(nameof(ShortcutWorkingDirectory));
+ OnPropertyChanged(nameof(PurgePathsPreview));
+ }
+ if (ReferenceEquals(sender, Registry) || ReferenceEquals(sender, PurgePaths))
+ {
+ OnPropertyChanged(nameof(PurgePathsPreview));
+ }
+ if (ReferenceEquals(sender, Registry) || ReferenceEquals(sender, PurgeRegistryBranches))
+ {
+ OnPropertyChanged(nameof(PurgeRegistryBranchesPreview));
+ }
+
RefreshPreview();
}
+ private void NotifyGeneratedManifestFieldsChanged()
+ {
+ OnPropertyChanged(nameof(ShortcutDescription));
+ OnPropertyChanged(nameof(ShortcutPath));
+ OnPropertyChanged(nameof(ShortcutTarget));
+ OnPropertyChanged(nameof(ShortcutWorkingDirectory));
+ OnPropertyChanged(nameof(PurgePathsPreview));
+ OnPropertyChanged(nameof(PurgeRegistryBranchesPreview));
+ }
+
+ private void OnPropertyChanged([CallerMemberName] string? propertyName = null)
+ {
+ if (propertyName is not null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
private static void AddTrimmed(
ObservableCollection collection,
string value,
@@ -352,6 +446,154 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
private static string? NullIfWhiteSpace(string? value) =>
string.IsNullOrWhiteSpace(value) ? null : value.Trim();
+ private string EffectiveShortcutDescription() =>
+ _shortcutDescriptionOverride ?? DefaultShortcutDescription(AppName.Trim());
+
+ private string ManifestShortcutDescription() =>
+ NullIfWhiteSpace(EffectiveShortcutDescription()) ?? DefaultShortcutDescription(AppName.Trim());
+
+ private static string DefaultShortcutDescription(string appName) =>
+ string.IsNullOrWhiteSpace(appName) ? "Launch application" : "Launch " + appName;
+
+ private ShortcutSpec? GeneratedShortcut()
+ {
+ var template = BuildTemplateEntries();
+ var files = CombineUnique(template.Files, Files);
+ return BuildShortcutEntries(files).FirstOrDefault();
+ }
+
+ private static string JoinLines(IEnumerable values) =>
+ string.Join(Environment.NewLine, values);
+
+ private IReadOnlyList BuildShortcutEntries(IReadOnlyList files)
+ {
+ var target = files
+ .Select(file => file.Destination.Trim())
+ .FirstOrDefault(destination => !string.IsNullOrWhiteSpace(destination));
+
+ if (string.IsNullOrWhiteSpace(target))
+ {
+ return [];
+ }
+
+ return
+ [
+ new ShortcutSpec(
+ @"{Desktop}\" + ShortcutFileName(target) + ".lnk",
+ target,
+ null,
+ ParentPath(target),
+ ManifestShortcutDescription())
+ ];
+ }
+
+ private static IReadOnlyList BuildPurgePaths(
+ IReadOnlyList files,
+ IReadOnlyList registry)
+ {
+ var candidates = new List();
+ foreach (var entry in registry)
+ {
+ var value = entry.Value.Trim();
+ if (IsManifestPath(value) && !IsUnsafePurgeRoot(value))
+ {
+ candidates.Add(value);
+ }
+ }
+
+ foreach (var file in files)
+ {
+ var parent = ParentPath(file.Destination);
+ if (!string.IsNullOrWhiteSpace(parent) && !IsUnsafePurgeRoot(parent))
+ {
+ candidates.Add(parent);
+ }
+ }
+
+ return RemoveCoveredChildPaths(CombineUnique(candidates, Array.Empty()));
+ }
+
+ private string ShortcutFileName(string target)
+ {
+ var fileName = FileNameWithoutExtension(target);
+ var sanitized = SanitizeIdentifier(fileName);
+ if (!string.IsNullOrWhiteSpace(sanitized))
+ {
+ return sanitized;
+ }
+
+ var fallbackName = string.IsNullOrWhiteSpace(ApplicationFolder)
+ ? AppName
+ : ApplicationFolder;
+ return SanitizeIdentifier(fallbackName);
+ }
+
+ private static string FileNameWithoutExtension(string path)
+ {
+ var fileName = path.Trim().TrimEnd('\\');
+ var separatorIndex = fileName.LastIndexOf('\\');
+ if (separatorIndex >= 0 && separatorIndex < fileName.Length - 1)
+ {
+ fileName = fileName[(separatorIndex + 1)..];
+ }
+
+ var extensionIndex = fileName.LastIndexOf('.');
+ return extensionIndex > 0 ? fileName[..extensionIndex] : fileName;
+ }
+
+ private static string? ParentPath(string path)
+ {
+ var trimmed = path.Trim().TrimEnd('\\');
+ var separatorIndex = trimmed.LastIndexOf('\\');
+ if (separatorIndex < 0)
+ {
+ return null;
+ }
+
+ if (separatorIndex == 2 && trimmed[1] == ':')
+ {
+ return trimmed[..(separatorIndex + 1)];
+ }
+
+ return separatorIndex == 0 ? null : trimmed[..separatorIndex];
+ }
+
+ private static bool IsManifestPath(string value) =>
+ ManifestTokens.KnownPathTokens.Any(token =>
+ value.StartsWith(token + @"\", StringComparison.OrdinalIgnoreCase)) ||
+ Path.IsPathRooted(value);
+
+ private static bool IsUnsafePurgeRoot(string value)
+ {
+ var normalized = value.Trim().TrimEnd('\\');
+ if (ManifestTokens.KnownPathTokens.Any(token =>
+ string.Equals(normalized, token, StringComparison.OrdinalIgnoreCase)))
+ {
+ return true;
+ }
+
+ return normalized.Length == 2 &&
+ normalized[1] == ':' &&
+ IsAsciiLetter(normalized[0]);
+ }
+
+ private static bool IsAsciiLetter(char value) =>
+ value is >= 'A' and <= 'Z' or >= 'a' and <= 'z';
+
+ private static IReadOnlyList RemoveCoveredChildPaths(IReadOnlyList paths) =>
+ paths
+ .Where(path => !paths.Any(parent =>
+ !string.Equals(parent, path, StringComparison.OrdinalIgnoreCase) &&
+ IsParentPath(parent, path)))
+ .ToArray();
+
+ private static bool IsParentPath(string parent, string child)
+ {
+ var normalizedParent = parent.TrimEnd('\\');
+ return child.Length > normalizedParent.Length &&
+ child.StartsWith(normalizedParent + "\\", StringComparison.OrdinalIgnoreCase);
+ }
+
private static bool IsSupportedRegistryRoot(string value) =>
value.StartsWith(@"HKCU\", StringComparison.OrdinalIgnoreCase) ||
value.StartsWith(@"HKLM\", StringComparison.OrdinalIgnoreCase);
@@ -461,7 +703,6 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
var root = InstallRootToken.TrimEnd('\\') + "\\" + folder;
var registryBranch = @"HKCU\Software\" + folder;
var files = new List();
- var shortcuts = new List();
if (!string.IsNullOrWhiteSpace(PrimaryPayload))
{
@@ -471,22 +712,13 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
{
var destination = root + @"\bin\" + fileName;
files.Add(new FileSpec(source, destination));
- shortcuts.Add(new ShortcutSpec(
- @"{Desktop}\" + folder + ".lnk",
- destination,
- null,
- root,
- "Launch " + appName));
}
}
return new TemplateManifestEntries(
[root, root + @"\bin"],
files,
- [new RegistrySpec(registryBranch, "InstallRoot", root)],
- shortcuts,
- [root],
- [registryBranch]);
+ [new RegistrySpec(registryBranch, "InstallRoot", root)]);
}
private static IReadOnlyList CombineUnique(IEnumerable first, IEnumerable second)
@@ -506,8 +738,5 @@ internal sealed partial class MainViewModel : INotifyPropertyChanged
private sealed record TemplateManifestEntries(
IReadOnlyList Directories,
IReadOnlyList Files,
- IReadOnlyList Registry,
- IReadOnlyList Shortcuts,
- IReadOnlyList PurgePaths,
- IReadOnlyList PurgeRegistryBranches);
+ IReadOnlyList Registry);
}
diff --git a/authoring-ui/MainWindow.cs b/authoring-ui/MainWindow.cs
index 04d05fd..15db603 100644
--- a/authoring-ui/MainWindow.cs
+++ b/authoring-ui/MainWindow.cs
@@ -3,6 +3,7 @@ using Microsoft.UI;
using Microsoft.UI.Text;
using Microsoft.UI.Windowing;
using Microsoft.UI.Xaml;
+using Microsoft.UI.Xaml.Automation;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Media;
@@ -24,7 +25,12 @@ internal sealed class MainWindow : Window
private readonly List _secondaryTextBlocks = [];
private TextBlock _statusText = null!;
private TextBlock _toolStatusText = null!;
+ private TextBlock _installerDialogMessageText = null!;
private TextBox _previewBox = null!;
+ private Button _copyPreviewButton = null!;
+ private TextBox _covenantSetupPathBox = null!;
+ private Button _browseCovenantSetupButton = null!;
+ private Button _refreshToolButton = null!;
private TextBox _outputDirectoryBox = null!;
private Button _chooseOutputButton = null!;
private Button _generateInstallerButton = null!;
@@ -32,8 +38,10 @@ internal sealed class MainWindow : Window
private ToggleSwitch _themeToggle = null!;
private string? _lastSavedManifestPath;
private bool _isPackaging;
+ private int _copyPreviewFeedbackVersion;
private bool _syncingThemeToggle;
private bool _usingSystemTheme;
+ private bool _syncingCovenantSetupPath;
public MainWindow()
{
@@ -50,6 +58,7 @@ internal sealed class MainWindow : Window
if (args.PropertyName is nameof(MainViewModel.HasCovenantSetupTool)
or nameof(MainViewModel.CanPackage)
or nameof(MainViewModel.CovenantSetupStatus)
+ or nameof(MainViewModel.CovenantSetupPath)
or nameof(MainViewModel.OutputDirectory))
{
RefreshPackageControls();
@@ -143,19 +152,40 @@ internal sealed class MainWindow : Window
Spacing = 8
};
+ var themeControl = new StackPanel
+ {
+ Orientation = Orientation.Horizontal,
+ VerticalAlignment = VerticalAlignment.Center,
+ Spacing = 6
+ };
+ themeControl.Children.Add(new TextBlock
+ {
+ Text = "Light",
+ VerticalAlignment = VerticalAlignment.Center
+ });
+
_themeToggle = new ToggleSwitch
{
OnContent = "Dark",
- OffContent = "Light",
- MinWidth = 96
+ OffContent = string.Empty,
+ MinWidth = 72
};
_themeToggle.Toggled += (_, _) => ToggleTheme();
- actions.Children.Add(_themeToggle);
+ themeControl.Children.Add(_themeToggle);
+ actions.Children.Add(themeControl);
var validateButton = new Button { Content = "Validate", MinWidth = 92 };
validateButton.Click += async (_, _) => await ShowValidationAsync();
actions.Children.Add(validateButton);
+ var installerConfigButton = new Button { Content = "Installer Config", MinWidth = 124 };
+ installerConfigButton.Click += async (_, _) => await ShowInstallerConfigAsync();
+ actions.Children.Add(installerConfigButton);
+
+ _generateInstallerButton = new Button { Content = "Save and Build", MinWidth = 124 };
+ _generateInstallerButton.Click += async (_, _) => await GenerateInstallerAsync();
+ actions.Children.Add(_generateInstallerButton);
+
var saveButton = new Button { Content = "Save TOML", MinWidth = 104 };
saveButton.Click += async (_, _) => await SaveManifestAsync();
actions.Children.Add(saveButton);
@@ -169,13 +199,11 @@ internal sealed class MainWindow : Window
{
var stack = new StackPanel { Spacing = 12 };
stack.Children.Add(BuildAppSection());
- stack.Children.Add(BuildPackageSection());
stack.Children.Add(BuildDirectoriesSection());
stack.Children.Add(BuildFilesSection());
stack.Children.Add(BuildRegistrySection());
stack.Children.Add(BuildShortcutsSection());
stack.Children.Add(BuildScriptsSection());
- stack.Children.Add(BuildPurgeSection());
return new ScrollViewer
{
@@ -202,10 +230,11 @@ internal sealed class MainWindow : Window
VerticalAlignment = VerticalAlignment.Center
});
- var copyButton = new Button { Content = "Copy", MinWidth = 80 };
- copyButton.Click += async (_, _) => await CopyPreviewAsync();
- Grid.SetColumn(copyButton, 1);
- header.Children.Add(copyButton);
+ _copyPreviewButton = new Button { Content = "Copy", MinWidth = 80 };
+ AutomationProperties.SetName(_copyPreviewButton, "Copy TOML preview");
+ _copyPreviewButton.Click += async (_, _) => await CopyPreviewAsync();
+ Grid.SetColumn(_copyPreviewButton, 1);
+ header.Children.Add(_copyPreviewButton);
Grid.SetRow(header, 0);
preview.Children.Add(header);
@@ -262,7 +291,7 @@ internal sealed class MainWindow : Window
Labeled("Primary Payload", payloadBox));
}
- private FrameworkElement BuildPackageSection()
+ private FrameworkElement BuildInstallerConfigContent()
{
_toolStatusText = new TextBlock
{
@@ -276,28 +305,52 @@ internal sealed class MainWindow : Window
Mode = BindingMode.OneWay
});
+ _covenantSetupPathBox = new TextBox
+ {
+ PlaceholderText = @"C:\path\to\covenant-setup.exe",
+ Text = _viewModel.CovenantSetupPath
+ };
+ _covenantSetupPathBox.TextChanged += (_, _) =>
+ {
+ if (_syncingCovenantSetupPath)
+ {
+ return;
+ }
+
+ if (!string.Equals(_covenantSetupPathBox.Text, _viewModel.CovenantSetupPath, StringComparison.OrdinalIgnoreCase))
+ {
+ _viewModel.RejectCovenantSetupTool("covenant-setup.exe was not validated. Packaging is disabled.");
+ }
+ };
+ _covenantSetupPathBox.LostFocus += async (_, _) => await ValidateTypedCovenantSetupPathAsync(showInvalidMessage: true);
+
+ _browseCovenantSetupButton = new Button
+ {
+ Content = "Browse",
+ Width = 96
+ };
+ _browseCovenantSetupButton.Click += async (_, _) => await BrowseCovenantSetupPathAsync();
+
_outputDirectoryBox = BoundTextBox(nameof(MainViewModel.OutputDirectory), @"C:\path\to\dist");
_chooseOutputButton = new Button
{
Content = "Choose",
- MinWidth = 84
+ Width = 96
};
_chooseOutputButton.Click += async (_, _) => await ChooseOutputDirectoryAsync();
- var refreshButton = new Button
+ _refreshToolButton = new Button
{
Content = "Refresh Tool Check",
- MinWidth = 140
+ Width = 156
};
- refreshButton.Click += (_, _) => _viewModel.RefreshCovenantSetupTool();
-
- _generateInstallerButton = new Button
+ _refreshToolButton.Click += (_, _) =>
{
- Content = "Generate Installer EXE",
- MinWidth = 168
+ _viewModel.RefreshCovenantSetupTool();
+ SyncCovenantSetupPathBox();
+ SetInstallerDialogMessage(string.Empty);
};
- _generateInstallerButton.Click += async (_, _) => await GenerateInstallerAsync();
var actionRow = new StackPanel
{
@@ -305,14 +358,28 @@ internal sealed class MainWindow : Window
HorizontalAlignment = HorizontalAlignment.Right,
Spacing = 8
};
- actionRow.Children.Add(refreshButton);
- actionRow.Children.Add(_generateInstallerButton);
+ actionRow.Children.Add(_refreshToolButton);
- return Section(
- "Installer EXE",
- _toolStatusText,
- Labeled("Output Directory", InputRow(_outputDirectoryBox, _chooseOutputButton)),
- actionRow);
+ _installerDialogMessageText = new TextBlock
+ {
+ TextWrapping = TextWrapping.Wrap,
+ MaxLines = 6
+ };
+ _secondaryTextBlocks.Add(_installerDialogMessageText);
+
+ var stack = new StackPanel
+ {
+ Spacing = 10,
+ MinWidth = 640,
+ HorizontalAlignment = HorizontalAlignment.Stretch
+ };
+ stack.Children.Add(_toolStatusText);
+ stack.Children.Add(DialogFieldGrid(
+ ("Covenant Setup Executable", _covenantSetupPathBox, _browseCovenantSetupButton),
+ ("Output Directory", _outputDirectoryBox, _chooseOutputButton)));
+ stack.Children.Add(actionRow);
+ stack.Children.Add(_installerDialogMessageText);
+ return stack;
}
private FrameworkElement BuildDirectoriesSection()
@@ -391,41 +458,11 @@ internal sealed class MainWindow : Window
private FrameworkElement BuildShortcutsSection()
{
- var pathBox = new TextBox { PlaceholderText = @"{Desktop}\VendorApp.lnk" };
- var targetBox = new TextBox { PlaceholderText = @"{LocalAppData}\Vendor\App\bin\app.exe" };
- var argumentsBox = new TextBox { PlaceholderText = "--optional" };
- var workingDirectoryBox = new TextBox { PlaceholderText = @"{LocalAppData}\Vendor\App" };
- var descriptionBox = new TextBox { PlaceholderText = "Launch application" };
- var rows = RemovableRows(_viewModel.Shortcuts);
- var addButton = new Button { Content = "Add", MinWidth = 72 };
- addButton.Click += async (_, _) =>
- {
- if (string.IsNullOrWhiteSpace(pathBox.Text) || string.IsNullOrWhiteSpace(targetBox.Text))
- {
- await ShowNoticeAsync("Shortcut Entry", "Path and target are required.");
- return;
- }
-
- _viewModel.AddShortcut(
- pathBox.Text,
- targetBox.Text,
- argumentsBox.Text,
- workingDirectoryBox.Text,
- descriptionBox.Text);
- pathBox.Text = string.Empty;
- targetBox.Text = string.Empty;
- argumentsBox.Text = string.Empty;
- workingDirectoryBox.Text = string.Empty;
- descriptionBox.Text = string.Empty;
- };
+ var descriptionBox = BoundTextBox(nameof(MainViewModel.ShortcutDescription), "Launch application");
return Section(
"Shortcuts",
- TwoColumn(Labeled("Path", pathBox), Labeled("Target", targetBox)),
- TwoColumn(Labeled("Arguments", argumentsBox), Labeled("Working Directory", workingDirectoryBox)),
- Labeled("Description", descriptionBox),
- AlignRight(addButton),
- rows);
+ Labeled("Description", descriptionBox));
}
private FrameworkElement BuildScriptsSection()
@@ -466,33 +503,44 @@ internal sealed class MainWindow : Window
rows);
}
- private FrameworkElement BuildPurgeSection()
+ private async Task ShowInstallerConfigAsync()
{
- var pathBox = new TextBox { PlaceholderText = @"{LocalAppData}\Vendor\App" };
- var branchBox = new TextBox { PlaceholderText = @"HKCU\Software\VendorApp" };
- var pathRows = RemovableRows(_viewModel.PurgePaths);
- var branchRows = RemovableRows(_viewModel.PurgeRegistryBranches);
-
- var addPathButton = new Button { Content = "Add Path", MinWidth = 96 };
- addPathButton.Click += (_, _) =>
+ var dialog = new ContentDialog
{
- _viewModel.AddPurgePath(pathBox.Text);
- pathBox.Text = string.Empty;
+ Title = "Installer Config",
+ CloseButtonText = "Close",
+ Width = 1080,
+ MinWidth = 1080,
+ Content = BuildInstallerConfigContent()
};
- var addBranchButton = new Button { Content = "Add Branch", MinWidth = 104 };
- addBranchButton.Click += (_, _) =>
+ if (Content is FrameworkElement root)
{
- _viewModel.AddPurgeRegistryBranch(branchBox.Text);
- branchBox.Text = string.Empty;
+ dialog.XamlRoot = root.XamlRoot;
+ }
+
+ dialog.Closing += (_, args) =>
+ {
+ if (_isPackaging)
+ {
+ args.Cancel = true;
+ }
};
- return Section(
- "Purge",
- Labeled("Path", InputRow(pathBox, addPathButton)),
- pathRows,
- Labeled("Registry Branch", InputRow(branchBox, addBranchButton)),
- branchRows);
+ RefreshPackageControls();
+ _ = await dialog.ShowAsync();
+
+ if (_installerDialogMessageText is not null)
+ {
+ _secondaryTextBlocks.Remove(_installerDialogMessageText);
+ }
+ _toolStatusText = null!;
+ _installerDialogMessageText = null!;
+ _covenantSetupPathBox = null!;
+ _browseCovenantSetupButton = null!;
+ _refreshToolButton = null!;
+ _outputDirectoryBox = null!;
+ _chooseOutputButton = null!;
}
private async Task SaveManifestAsync()
@@ -505,11 +553,18 @@ internal sealed class MainWindow : Window
}
private async Task WriteManifestWithPickerAsync(bool showNotice)
+ {
+ return await WriteManifestWithPickerAsync(showNotice, ShowNoticeAsync);
+ }
+
+ private async Task WriteManifestWithPickerAsync(
+ bool showNotice,
+ Func showMessageAsync)
{
var validation = _viewModel.Validate();
if (!validation.IsValid)
{
- await ShowNoticeAsync("Validation", string.Join(Environment.NewLine, validation.Errors));
+ await showMessageAsync("Validation", string.Join(Environment.NewLine, validation.Errors));
return null;
}
@@ -524,7 +579,7 @@ internal sealed class MainWindow : Window
await File.WriteAllTextAsync(_lastSavedManifestPath, _viewModel.TomlPreview);
if (showNotice)
{
- await ShowNoticeAsync("Manifest Saved", _lastSavedManifestPath);
+ await showMessageAsync("Manifest Saved", _lastSavedManifestPath);
}
return _lastSavedManifestPath;
}
@@ -543,7 +598,7 @@ internal sealed class MainWindow : Window
if (!_viewModel.IsExpectedManifestPath(file.Path))
{
- await ShowNoticeAsync(
+ await showMessageAsync(
"Manifest File Name",
MainViewModel.ContainsWhitespace(file.Path)
? "The manifest path cannot contain spaces. Save the manifest as " + _viewModel.ExpectedManifestFileName + " in a folder path without spaces."
@@ -554,11 +609,86 @@ internal sealed class MainWindow : Window
await FileIO.WriteTextAsync(file, _viewModel.TomlPreview);
if (showNotice)
{
- await ShowNoticeAsync("Manifest Saved", file.Path);
+ await showMessageAsync("Manifest Saved", file.Path);
}
return file.Path;
}
+ private async Task BrowseCovenantSetupPathAsync()
+ {
+ var picker = new FileOpenPicker();
+ InitializeWithWindow.Initialize(picker, WindowNative.GetWindowHandle(this));
+ picker.SuggestedStartLocation = PickerLocationId.ComputerFolder;
+ picker.FileTypeFilter.Add(".exe");
+
+ var file = await picker.PickSingleFileAsync();
+ if (file is not null)
+ {
+ await AcceptCovenantSetupPathAsync(file.Path, showInvalidMessage: true);
+ }
+ }
+
+ private async Task ValidateTypedCovenantSetupPathAsync(bool showInvalidMessage)
+ {
+ if (_covenantSetupPathBox is null)
+ {
+ return;
+ }
+
+ var path = _covenantSetupPathBox.Text.Trim();
+ if (string.IsNullOrWhiteSpace(path))
+ {
+ _viewModel.RejectCovenantSetupTool("covenant-setup.exe was not found. Packaging is disabled.");
+ SetInstallerDialogMessage(string.Empty);
+ return;
+ }
+
+ if (string.Equals(path, _viewModel.CovenantSetupPath, StringComparison.OrdinalIgnoreCase))
+ {
+ return;
+ }
+
+ await AcceptCovenantSetupPathAsync(path, showInvalidMessage);
+ }
+
+ private async Task AcceptCovenantSetupPathAsync(string path, bool showInvalidMessage)
+ {
+ SetInstallerDialogMessage("Checking covenant-setup...");
+ var result = await CovenantSetupToolValidator.ValidateAsync(path, CancellationToken.None);
+ if (result.IsValid && result.Tool is not null)
+ {
+ _viewModel.SetCovenantSetupTool(result.Tool);
+ SyncCovenantSetupPathBox();
+ SetInstallerDialogMessage(string.Empty);
+ return true;
+ }
+
+ _viewModel.RejectCovenantSetupTool(result.Message);
+ if (showInvalidMessage)
+ {
+ SetInstallerDialogMessage(result.Message + " Run the help check by selecting the real covenant-setup.exe.");
+ }
+ return false;
+ }
+
+ private void SyncCovenantSetupPathBox()
+ {
+ if (_covenantSetupPathBox is null)
+ {
+ return;
+ }
+
+ _syncingCovenantSetupPath = true;
+ try
+ {
+ _covenantSetupPathBox.Text = _viewModel.CovenantSetupPath;
+ }
+ finally
+ {
+ _syncingCovenantSetupPath = false;
+ }
+ }
+
private async Task ChooseOutputDirectoryAsync()
{
var picker = new FolderPicker();
@@ -573,29 +703,30 @@ internal sealed class MainWindow : Window
}
}
- private async Task GenerateInstallerAsync()
+ private async Task GenerateInstallerAsync(Func? showMessageAsync = null)
{
+ showMessageAsync ??= ShowNoticeAsync;
var tool = _viewModel.CovenantSetupTool;
if (tool is null)
{
- await ShowNoticeAsync("Installer EXE", "covenant-setup.exe was not found. Packaging is disabled.");
+ await showMessageAsync("Installer EXE", "covenant-setup.exe was not found. Packaging is disabled.");
return;
}
var validation = _viewModel.Validate();
if (!validation.IsValid)
{
- await ShowNoticeAsync("Validation", string.Join(Environment.NewLine, validation.Errors));
+ await showMessageAsync("Validation", string.Join(Environment.NewLine, validation.Errors));
return;
}
if (string.IsNullOrWhiteSpace(_viewModel.OutputDirectory))
{
- await ShowNoticeAsync("Installer EXE", "Choose an output directory before packaging.");
+ await showMessageAsync("Installer EXE", "Choose an output directory before packaging.");
return;
}
- var manifestPath = await WriteManifestWithPickerAsync(showNotice: false);
+ var manifestPath = await WriteManifestWithPickerAsync(showNotice: false, showMessageAsync);
if (manifestPath is null)
{
return;
@@ -618,11 +749,11 @@ internal sealed class MainWindow : Window
var detail = string.Join(
Environment.NewLine + Environment.NewLine,
new[] { message, result.Output, result.Error }.Where(part => !string.IsNullOrWhiteSpace(part)));
- await ShowNoticeAsync("Installer EXE", detail);
+ await showMessageAsync("Installer EXE", detail);
}
catch (Exception ex)
{
- await ShowNoticeAsync("Installer EXE", "Packaging failed: " + ex.Message);
+ await showMessageAsync("Installer EXE", "Packaging failed: " + ex.Message);
}
finally
{
@@ -647,7 +778,40 @@ internal sealed class MainWindow : Window
var data = new DataPackage();
data.SetText(_viewModel.TomlPreview);
Clipboard.SetContent(data);
- await ShowNoticeAsync("TOML Preview", "Copied to clipboard.");
+ await ShowCopyPreviewCopiedAsync();
+ }
+
+ private async Task ShowCopyPreviewCopiedAsync()
+ {
+ var version = ++_copyPreviewFeedbackVersion;
+ var brushes = CreateThemeBrushes();
+
+ _copyPreviewButton.Content = new FontIcon
+ {
+ FontFamily = new FontFamily("Segoe MDL2 Assets"),
+ FontSize = 16,
+ Glyph = "\uE8FB",
+ Foreground = brushes.SuccessText
+ };
+ AutomationProperties.SetName(_copyPreviewButton, "Copied");
+
+ await Task.Delay(TimeSpan.FromSeconds(1));
+
+ if (version != _copyPreviewFeedbackVersion)
+ {
+ return;
+ }
+
+ _copyPreviewButton.Content = "Copy";
+ AutomationProperties.SetName(_copyPreviewButton, "Copy TOML preview");
+ }
+
+ private void SetInstallerDialogMessage(string message)
+ {
+ if (_installerDialogMessageText is not null)
+ {
+ _installerDialogMessageText.Text = message;
+ }
}
private async Task ShowNoticeAsync(string title, string message)
@@ -760,20 +924,39 @@ internal sealed class MainWindow : Window
private void RefreshPackageControls()
{
- if (_generateInstallerButton is null)
+ var controlsAvailable = !_isPackaging;
+ if (_covenantSetupPathBox is not null)
{
- return;
+ _covenantSetupPathBox.IsEnabled = controlsAvailable;
+ }
+ if (_browseCovenantSetupButton is not null)
+ {
+ _browseCovenantSetupButton.IsEnabled = controlsAvailable;
+ }
+ if (_refreshToolButton is not null)
+ {
+ _refreshToolButton.IsEnabled = controlsAvailable;
+ }
+ if (_outputDirectoryBox is not null)
+ {
+ _outputDirectoryBox.IsEnabled = controlsAvailable;
+ }
+ if (_chooseOutputButton is not null)
+ {
+ _chooseOutputButton.IsEnabled = controlsAvailable;
+ }
+ if (_generateInstallerButton is not null)
+ {
+ _generateInstallerButton.IsEnabled = _viewModel.HasCovenantSetupTool && !_isPackaging;
+ _generateInstallerButton.Content = _isPackaging ? "Building..." : "Save and Build";
}
-
- var toolAvailable = _viewModel.HasCovenantSetupTool && !_isPackaging;
- _outputDirectoryBox.IsEnabled = toolAvailable;
- _chooseOutputButton.IsEnabled = toolAvailable;
- _generateInstallerButton.IsEnabled = _viewModel.CanPackage && !_isPackaging;
- _generateInstallerButton.Content = _isPackaging ? "Generating..." : "Generate Installer EXE";
var brushes = CreateThemeBrushes();
- _toolStatusText.Foreground = _viewModel.HasCovenantSetupTool
- ? brushes.SuccessText
- : brushes.ErrorText;
+ if (_toolStatusText is not null)
+ {
+ _toolStatusText.Foreground = _viewModel.HasCovenantSetupTool
+ ? brushes.SuccessText
+ : brushes.ErrorText;
+ }
}
private void ApplyThemeBrushes()
@@ -925,7 +1108,11 @@ internal sealed class MainWindow : Window
private static FrameworkElement Labeled(string label, FrameworkElement control)
{
- var stack = new StackPanel { Spacing = 2 };
+ var stack = new StackPanel
+ {
+ Spacing = 2,
+ HorizontalAlignment = HorizontalAlignment.Stretch
+ };
stack.Children.Add(new TextBlock
{
Text = label,
@@ -936,6 +1123,47 @@ internal sealed class MainWindow : Window
return stack;
}
+ private static Grid DialogFieldGrid(params (string Label, TextBox TextBox, Button Button)[] fields)
+ {
+ var grid = new Grid
+ {
+ ColumnSpacing = 6,
+ RowSpacing = 2,
+ HorizontalAlignment = HorizontalAlignment.Stretch
+ };
+ grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
+ grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
+
+ for (var index = 0; index < fields.Length; index++)
+ {
+ grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
+ grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
+
+ var label = new TextBlock
+ {
+ Text = fields[index].Label,
+ FontWeight = FontWeights.SemiBold,
+ FontSize = 12
+ };
+ Grid.SetRow(label, index * 2);
+ Grid.SetColumn(label, 0);
+ grid.Children.Add(label);
+
+ fields[index].TextBox.HorizontalAlignment = HorizontalAlignment.Stretch;
+ Grid.SetRow(fields[index].TextBox, (index * 2) + 1);
+ Grid.SetColumn(fields[index].TextBox, 0);
+ grid.Children.Add(fields[index].TextBox);
+
+ fields[index].Button.HorizontalAlignment = HorizontalAlignment.Left;
+ fields[index].Button.VerticalAlignment = VerticalAlignment.Bottom;
+ Grid.SetRow(fields[index].Button, (index * 2) + 1);
+ Grid.SetColumn(fields[index].Button, 1);
+ grid.Children.Add(fields[index].Button);
+ }
+
+ return grid;
+ }
+
private static Grid TwoColumn(FrameworkElement left, FrameworkElement right)
{
var grid = new Grid { ColumnSpacing = 6 };
@@ -951,8 +1179,11 @@ internal sealed class MainWindow : Window
private static Grid InputRow(TextBox textBox, Button button)
{
var grid = new Grid { ColumnSpacing = 6 };
- grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
- grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
+ grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(9, GridUnitType.Star) });
+ grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(7, GridUnitType.Star) });
+ grid.HorizontalAlignment = HorizontalAlignment.Stretch;
+ textBox.HorizontalAlignment = HorizontalAlignment.Stretch;
+ button.HorizontalAlignment = HorizontalAlignment.Right;
Grid.SetColumn(textBox, 0);
Grid.SetColumn(button, 1);
grid.Children.Add(textBox);
diff --git a/authoring-ui/README.md b/authoring-ui/README.md
index b5d2389..a9fadeb 100644
--- a/authoring-ui/README.md
+++ b/authoring-ui/README.md
@@ -51,17 +51,18 @@ The app edits the current manifest schema:
- `purge`
It keeps a live TOML preview, validates required fields locally, warns when a manifest appears to require elevation, and saves a TOML file through the Windows file picker.
+Shortcut path, target, and working directory values are generated from the Files entries; only the shortcut description is directly edited. Purge paths are generated from file destinations and path-like Registry values, and purge registry branches are generated from the Registry entries.
## Installer EXE Generation
-The Installer EXE section is enabled only when the app finds `covenant-setup.exe`. It checks:
+The **Installer Config** button opens installer generation settings. Automatic tool detection checks:
- next to the authoring app
- the current working directory
- `target\release` and `target\debug` under nearby repo roots
- directories on `PATH`
-When enabled, **Generate Installer EXE** writes the current TOML to the selected `${AppName}-install.toml` location and runs:
+If the tool is not found automatically, enter or browse to `covenant-setup.exe`; the app runs its `--help` command before accepting a manually selected path. The top-level **Save and Build** button is enabled when an installer engine is detected, writes the current TOML to the selected `${AppName}-install.toml` location, and runs:
```powershell
covenant-setup.exe --json package -install.toml --output
diff --git a/authoring-ui/codex-build/App.xbf b/authoring-ui/codex-build/App.xbf
new file mode 100644
index 0000000..5f0d76b
Binary files /dev/null and b/authoring-ui/codex-build/App.xbf differ
diff --git a/authoring-ui/codex-build/CoreMessagingXP.dll b/authoring-ui/codex-build/CoreMessagingXP.dll
new file mode 100644
index 0000000..2cdd0e6
Binary files /dev/null and b/authoring-ui/codex-build/CoreMessagingXP.dll differ
diff --git a/authoring-ui/codex-build/Covenant.Setup.Authoring.deps.json b/authoring-ui/codex-build/Covenant.Setup.Authoring.deps.json
new file mode 100644
index 0000000..dffbfd5
--- /dev/null
+++ b/authoring-ui/codex-build/Covenant.Setup.Authoring.deps.json
@@ -0,0 +1,337 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v10.0/win-x64",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v10.0": {},
+ ".NETCoreApp,Version=v10.0/win-x64": {
+ "Covenant.Setup.Authoring/1.0.0": {
+ "dependencies": {
+ "Microsoft.WindowsAppSDK": "2.0.1",
+ "Microsoft.Web.WebView2.Core.Projection": "1.0.3719.77",
+ "runtimepack.Microsoft.Windows.SDK.NET.Ref": "10.0.19041.57"
+ },
+ "runtime": {
+ "Covenant.Setup.Authoring.dll": {}
+ }
+ },
+ "runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.57": {
+ "runtime": {
+ "Microsoft.Windows.SDK.NET.dll": {
+ "assemblyVersion": "10.0.19041.38",
+ "fileVersion": "10.0.19041.55"
+ },
+ "WinRT.Runtime.dll": {
+ "assemblyVersion": "2.2.0.0",
+ "fileVersion": "2.2.0.48161"
+ }
+ }
+ },
+ "Microsoft.Web.WebView2/1.0.3719.77": {
+ "native": {
+ "runtimes/win-x64/native/WebView2Loader.dll": {
+ "fileVersion": "1.0.3719.77"
+ }
+ }
+ },
+ "Microsoft.Windows.AI.MachineLearning/2.0.300": {
+ "dependencies": {
+ "System.Numerics.Tensors": "9.0.0"
+ },
+ "runtime": {
+ "lib/net8.0-windows10.0.17763.0/Microsoft.ML.OnnxRuntime.dll": {
+ "assemblyVersion": "0.0.0.0",
+ "fileVersion": "0.0.0.0"
+ },
+ "lib/net8.0-windows10.0.17763.0/Microsoft.Windows.AI.MachineLearning.Projection.dll": {
+ "assemblyVersion": "2.0.300.41724",
+ "fileVersion": "2.0.300.41724"
+ }
+ },
+ "native": {
+ "runtimes/win-x64/native/DirectML.dll": {
+ "fileVersion": "1.15.4.0"
+ },
+ "runtimes/win-x64/native/Microsoft.Windows.AI.MachineLearning.dll": {
+ "fileVersion": "2.0.300.41724"
+ },
+ "runtimes/win-x64/native/onnxruntime.dll": {
+ "fileVersion": "1.24.26.417"
+ }
+ }
+ },
+ "Microsoft.WindowsAppSDK/2.0.1": {
+ "dependencies": {
+ "Microsoft.WindowsAppSDK.AI": "2.0.185",
+ "Microsoft.WindowsAppSDK.Foundation": "2.0.20",
+ "Microsoft.WindowsAppSDK.InteractiveExperiences": "2.0.12",
+ "Microsoft.WindowsAppSDK.ML": "2.0.300",
+ "Microsoft.WindowsAppSDK.Widgets": "2.0.4",
+ "Microsoft.WindowsAppSDK.WinUI": "2.0.12"
+ }
+ },
+ "Microsoft.WindowsAppSDK.AI/2.0.185": {
+ "dependencies": {
+ "Microsoft.WindowsAppSDK.Foundation": "2.0.20"
+ },
+ "runtime": {
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Graphics.Imaging.Projection.dll": {
+ "assemblyVersion": "2.0.184.54419",
+ "fileVersion": "2.0.184.54419"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AI.ContentSafety.Projection.dll": {
+ "assemblyVersion": "2.0.184.54419",
+ "fileVersion": "2.0.184.54419"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AI.Foundation.Projection.dll": {
+ "assemblyVersion": "2.0.184.54419",
+ "fileVersion": "2.0.184.54419"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AI.Imaging.Projection.dll": {
+ "assemblyVersion": "2.0.184.54419",
+ "fileVersion": "2.0.184.54419"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AI.Projection.dll": {
+ "assemblyVersion": "2.0.184.54419",
+ "fileVersion": "2.0.184.54419"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AI.Text.Projection.dll": {
+ "assemblyVersion": "2.0.184.54419",
+ "fileVersion": "2.0.184.54419"
+ }
+ }
+ },
+ "Microsoft.WindowsAppSDK.Foundation/2.0.20": {
+ "dependencies": {
+ "Microsoft.WindowsAppSDK.InteractiveExperiences": "2.0.12"
+ },
+ "runtime": {
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Security.Authentication.OAuth.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AppLifecycle.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AppNotifications.Builder.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.AppNotifications.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.ApplicationModel.Background.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.ApplicationModel.Resources.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.BadgeNotifications.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.Foundation.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.Management.Deployment.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.Media.Capture.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.PushNotifications.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.Security.AccessControl.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.Storage.Pickers.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.Storage.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.System.Power.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.System.Projection.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ },
+ "lib/net6.0-windows10.0.17763.0/Microsoft.WindowsAppRuntime.Bootstrap.Net.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ }
+ },
+ "native": {
+ "runtimes/win-x64/native/Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.dll": {
+ "fileVersion": "2.0.0.0"
+ },
+ "runtimes/win-x64/native/Microsoft.WindowsAppRuntime.Bootstrap.dll": {
+ "fileVersion": "2.0.0.0"
+ }
+ }
+ },
+ "Microsoft.WindowsAppSDK.InteractiveExperiences/2.0.12": {
+ "runtime": {
+ "lib/net6.0-windows10.0.18362.0/Microsoft.InteractiveExperiences.Projection.dll": {
+ "assemblyVersion": "10.0.0.0",
+ "fileVersion": "10.0.27200.1014"
+ }
+ }
+ },
+ "Microsoft.WindowsAppSDK.ML/2.0.300": {
+ "dependencies": {
+ "Microsoft.Windows.AI.MachineLearning": "2.0.300",
+ "Microsoft.WindowsAppSDK.Foundation": "2.0.20"
+ }
+ },
+ "Microsoft.WindowsAppSDK.Widgets/2.0.4": {
+ "runtime": {
+ "lib/net6.0-windows10.0.17763.0/Microsoft.Windows.Widgets.Projection.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "Microsoft.WindowsAppSDK.WinUI/2.0.12": {
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.3719.77",
+ "Microsoft.WindowsAppSDK.Foundation": "2.0.20",
+ "Microsoft.WindowsAppSDK.InteractiveExperiences": "2.0.12"
+ },
+ "runtime": {
+ "lib/net6.0-windows10.0.17763.0/Microsoft.WinUI.dll": {
+ "assemblyVersion": "3.0.0.0",
+ "fileVersion": "3.0.0.2604"
+ }
+ }
+ },
+ "System.Numerics.Tensors/9.0.0": {
+ "runtime": {
+ "lib/net9.0/System.Numerics.Tensors.dll": {
+ "assemblyVersion": "9.0.0.0",
+ "fileVersion": "9.0.24.52809"
+ }
+ }
+ },
+ "Microsoft.Web.WebView2.Core.Projection/1.0.3719.77": {
+ "runtime": {
+ "Microsoft.Web.WebView2.Core.Projection.dll": {
+ "assemblyVersion": "1.0.3719.77",
+ "fileVersion": "1.0.3719.77"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Covenant.Setup.Authoring/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.57": {
+ "type": "runtimepack",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Microsoft.Web.WebView2/1.0.3719.77": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-t+ucyKw5NTwMjsUrDF6R9Lk40lpcKQD1/HgyGFxl49tdA4h9dKlsj6FYGEmDRpFNfnTpENuTypMcdbrlkqBdDA==",
+ "path": "microsoft.web.webview2/1.0.3719.77",
+ "hashPath": "microsoft.web.webview2.1.0.3719.77.nupkg.sha512"
+ },
+ "Microsoft.Windows.AI.MachineLearning/2.0.300": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-OiJX15N198kG30Lop7LH8WjmBfk2/9iU9it9eLPnkNZ49Yi/vAa4ntONGiGOgv5mb8/fvFHV5trCWSPM+OQhSw==",
+ "path": "microsoft.windows.ai.machinelearning/2.0.300",
+ "hashPath": "microsoft.windows.ai.machinelearning.2.0.300.nupkg.sha512"
+ },
+ "Microsoft.WindowsAppSDK/2.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-R+iN0mqIUUppbzpHU178R5malnttTTVBOBIGi1NQVVZAs34bAANM/iLJhjj6uUBgYiPfpvjcLbHT5IZ8kKKaqg==",
+ "path": "microsoft.windowsappsdk/2.0.1",
+ "hashPath": "microsoft.windowsappsdk.2.0.1.nupkg.sha512"
+ },
+ "Microsoft.WindowsAppSDK.AI/2.0.185": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-KkWthQS+QuiTQJ8HgSpobUgfJDRUAwps0/1MjYM3wZ/hQzSKr1UoyiYLgk/I8Z2I+/NNphbZ9NsY7DwHKrZJlg==",
+ "path": "microsoft.windowsappsdk.ai/2.0.185",
+ "hashPath": "microsoft.windowsappsdk.ai.2.0.185.nupkg.sha512"
+ },
+ "Microsoft.WindowsAppSDK.Foundation/2.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-PwoRG/eddoi9SOSVPyanei5WAHMyAeVFAeqcovd0V0Ebx6dw7S+ksVVGThAoMjrRI6f93Fa6mTmwXqFHExOtlw==",
+ "path": "microsoft.windowsappsdk.foundation/2.0.20",
+ "hashPath": "microsoft.windowsappsdk.foundation.2.0.20.nupkg.sha512"
+ },
+ "Microsoft.WindowsAppSDK.InteractiveExperiences/2.0.12": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-uGNDuIhBHTO1azsa0SCO6/h/0JBVKqoKiJA0K8JSgrlGeC5Lx7g0xppS8aOF/aTnOPSR9BIEHWRvH9JldWTbBg==",
+ "path": "microsoft.windowsappsdk.interactiveexperiences/2.0.12",
+ "hashPath": "microsoft.windowsappsdk.interactiveexperiences.2.0.12.nupkg.sha512"
+ },
+ "Microsoft.WindowsAppSDK.ML/2.0.300": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3/PInpjZozhI+KryPO2b3gZVNyFVOd5qSBhiGW/qFo2VzKQCMc0+cyaCPVm8uhfm3jqgYjQ4g/EqHFA5gJIaoQ==",
+ "path": "microsoft.windowsappsdk.ml/2.0.300",
+ "hashPath": "microsoft.windowsappsdk.ml.2.0.300.nupkg.sha512"
+ },
+ "Microsoft.WindowsAppSDK.Widgets/2.0.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-gvfIHLmQKBQ+KQKrWb+Oc+eQEZtpKx2zHQDBzFF7Tio+SDkXtaONU4nvHgaqcnkbqNpDPPT/pYIr7UaI51vNEQ==",
+ "path": "microsoft.windowsappsdk.widgets/2.0.4",
+ "hashPath": "microsoft.windowsappsdk.widgets.2.0.4.nupkg.sha512"
+ },
+ "Microsoft.WindowsAppSDK.WinUI/2.0.12": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-qNyajFTgO9xuxKtcs7vLqg7NLSuZK5+EUKeRh6fHQ9Da8hhmymoKci/srxyQwyLkFOXRL7nnuoxovUpzNjlsCg==",
+ "path": "microsoft.windowsappsdk.winui/2.0.12",
+ "hashPath": "microsoft.windowsappsdk.winui.2.0.12.nupkg.sha512"
+ },
+ "System.Numerics.Tensors/9.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-hyJB4UlpAi19Xr9AXzu2NuagKC4lPfHObNMEAA0HmqFz2rX7wKgzeYzO/jM/eBHDhnUGFFEjk5cOoJaxqg5J4A==",
+ "path": "system.numerics.tensors/9.0.0",
+ "hashPath": "system.numerics.tensors.9.0.0.nupkg.sha512"
+ },
+ "Microsoft.Web.WebView2.Core.Projection/1.0.3719.77": {
+ "type": "reference",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/authoring-ui/codex-build/Covenant.Setup.Authoring.dll b/authoring-ui/codex-build/Covenant.Setup.Authoring.dll
new file mode 100644
index 0000000..589a106
Binary files /dev/null and b/authoring-ui/codex-build/Covenant.Setup.Authoring.dll differ
diff --git a/authoring-ui/codex-build/Covenant.Setup.Authoring.exe b/authoring-ui/codex-build/Covenant.Setup.Authoring.exe
new file mode 100644
index 0000000..8c23d89
Binary files /dev/null and b/authoring-ui/codex-build/Covenant.Setup.Authoring.exe differ
diff --git a/authoring-ui/codex-build/Covenant.Setup.Authoring.pdb b/authoring-ui/codex-build/Covenant.Setup.Authoring.pdb
new file mode 100644
index 0000000..0a442d8
Binary files /dev/null and b/authoring-ui/codex-build/Covenant.Setup.Authoring.pdb differ
diff --git a/authoring-ui/codex-build/Covenant.Setup.Authoring.pri b/authoring-ui/codex-build/Covenant.Setup.Authoring.pri
new file mode 100644
index 0000000..bbe6287
Binary files /dev/null and b/authoring-ui/codex-build/Covenant.Setup.Authoring.pri differ
diff --git a/authoring-ui/codex-build/Covenant.Setup.Authoring.runtimeconfig.json b/authoring-ui/codex-build/Covenant.Setup.Authoring.runtimeconfig.json
new file mode 100644
index 0000000..fb1edc7
--- /dev/null
+++ b/authoring-ui/codex-build/Covenant.Setup.Authoring.runtimeconfig.json
@@ -0,0 +1,13 @@
+{
+ "runtimeOptions": {
+ "tfm": "net10.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "10.0.0"
+ },
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
+ "CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/authoring-ui/codex-build/DWriteCore.dll b/authoring-ui/codex-build/DWriteCore.dll
new file mode 100644
index 0000000..50e2020
Binary files /dev/null and b/authoring-ui/codex-build/DWriteCore.dll differ
diff --git a/authoring-ui/codex-build/DirectML.dll b/authoring-ui/codex-build/DirectML.dll
new file mode 100644
index 0000000..2dfe07f
Binary files /dev/null and b/authoring-ui/codex-build/DirectML.dll differ
diff --git a/authoring-ui/codex-build/DwmSceneI.dll b/authoring-ui/codex-build/DwmSceneI.dll
new file mode 100644
index 0000000..37c2d86
Binary files /dev/null and b/authoring-ui/codex-build/DwmSceneI.dll differ
diff --git a/authoring-ui/codex-build/MRM.dll b/authoring-ui/codex-build/MRM.dll
new file mode 100644
index 0000000..d0f3f04
Binary files /dev/null and b/authoring-ui/codex-build/MRM.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.DirectManipulation.dll b/authoring-ui/codex-build/Microsoft.DirectManipulation.dll
new file mode 100644
index 0000000..46d6a46
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.DirectManipulation.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Foundation.winmd b/authoring-ui/codex-build/Microsoft.Foundation.winmd
new file mode 100644
index 0000000..6bfe0b7
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Foundation.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.Display.dll b/authoring-ui/codex-build/Microsoft.Graphics.Display.dll
new file mode 100644
index 0000000..1590f30
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.Display.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.Imaging.Projection.dll b/authoring-ui/codex-build/Microsoft.Graphics.Imaging.Projection.dll
new file mode 100644
index 0000000..53180c7
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.Imaging.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.Imaging.dll b/authoring-ui/codex-build/Microsoft.Graphics.Imaging.dll
new file mode 100644
index 0000000..f2e257f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.Imaging.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.Imaging.winmd b/authoring-ui/codex-build/Microsoft.Graphics.Imaging.winmd
new file mode 100644
index 0000000..1c86868
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.Imaging.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.ImagingInternal.ImageObjectRemover.winmd b/authoring-ui/codex-build/Microsoft.Graphics.ImagingInternal.ImageObjectRemover.winmd
new file mode 100644
index 0000000..c063b8e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.ImagingInternal.ImageObjectRemover.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.ImagingInternal.winmd b/authoring-ui/codex-build/Microsoft.Graphics.ImagingInternal.winmd
new file mode 100644
index 0000000..03a965e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.ImagingInternal.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.Internal.Imaging.winmd b/authoring-ui/codex-build/Microsoft.Graphics.Internal.Imaging.winmd
new file mode 100644
index 0000000..d06ba27
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.Internal.Imaging.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Graphics.winmd b/authoring-ui/codex-build/Microsoft.Graphics.winmd
new file mode 100644
index 0000000..0e72896
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Graphics.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.InputStateManager.dll b/authoring-ui/codex-build/Microsoft.InputStateManager.dll
new file mode 100644
index 0000000..59d8085
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.InputStateManager.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.InteractiveExperiences.Projection.dll b/authoring-ui/codex-build/Microsoft.InteractiveExperiences.Projection.dll
new file mode 100644
index 0000000..77c7eb4
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.InteractiveExperiences.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Internal.FrameworkUdk.dll b/authoring-ui/codex-build/Microsoft.Internal.FrameworkUdk.dll
new file mode 100644
index 0000000..bd78ffb
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Internal.FrameworkUdk.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.ML.OnnxRuntime.dll b/authoring-ui/codex-build/Microsoft.ML.OnnxRuntime.dll
new file mode 100644
index 0000000..510628f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.ML.OnnxRuntime.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Security.Authentication.OAuth.Projection.dll b/authoring-ui/codex-build/Microsoft.Security.Authentication.OAuth.Projection.dll
new file mode 100644
index 0000000..884e9a8
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Security.Authentication.OAuth.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Security.Authentication.OAuth.winmd b/authoring-ui/codex-build/Microsoft.Security.Authentication.OAuth.winmd
new file mode 100644
index 0000000..521cc33
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Security.Authentication.OAuth.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Composition.OSSupport.dll b/authoring-ui/codex-build/Microsoft.UI.Composition.OSSupport.dll
new file mode 100644
index 0000000..d275c2f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Composition.OSSupport.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Designer.dll b/authoring-ui/codex-build/Microsoft.UI.Designer.dll
new file mode 100644
index 0000000..7356c4b
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Designer.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Input.dll b/authoring-ui/codex-build/Microsoft.UI.Input.dll
new file mode 100644
index 0000000..6fe23dc
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Input.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Text.winmd b/authoring-ui/codex-build/Microsoft.UI.Text.winmd
new file mode 100644
index 0000000..41968ea
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Text.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Windowing.Core.dll b/authoring-ui/codex-build/Microsoft.UI.Windowing.Core.dll
new file mode 100644
index 0000000..2db66c8
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Windowing.Core.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Windowing.dll b/authoring-ui/codex-build/Microsoft.UI.Windowing.dll
new file mode 100644
index 0000000..42b15a8
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Windowing.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Xaml.Controls.dll b/authoring-ui/codex-build/Microsoft.UI.Xaml.Controls.dll
new file mode 100644
index 0000000..5f23e02
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Xaml.Controls.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Xaml.Controls.pri b/authoring-ui/codex-build/Microsoft.UI.Xaml.Controls.pri
new file mode 100644
index 0000000..b98b5f8
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Xaml.Controls.pri differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Xaml.Internal.dll b/authoring-ui/codex-build/Microsoft.UI.Xaml.Internal.dll
new file mode 100644
index 0000000..9d24a36
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Xaml.Internal.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Xaml.Phone.dll b/authoring-ui/codex-build/Microsoft.UI.Xaml.Phone.dll
new file mode 100644
index 0000000..3371f5d
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Xaml.Phone.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Xaml.winmd b/authoring-ui/codex-build/Microsoft.UI.Xaml.winmd
new file mode 100644
index 0000000..327af7e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Xaml.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Xaml/Assets/NoiseAsset_256x256_PNG.png b/authoring-ui/codex-build/Microsoft.UI.Xaml/Assets/NoiseAsset_256x256_PNG.png
new file mode 100644
index 0000000..41de173
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.Xaml/Assets/NoiseAsset_256x256_PNG.png differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.Xaml/Assets/map.html b/authoring-ui/codex-build/Microsoft.UI.Xaml/Assets/map.html
new file mode 100644
index 0000000..f009f32
--- /dev/null
+++ b/authoring-ui/codex-build/Microsoft.UI.Xaml/Assets/map.html
@@ -0,0 +1,844 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/authoring-ui/codex-build/Microsoft.UI.dll b/authoring-ui/codex-build/Microsoft.UI.dll
new file mode 100644
index 0000000..9d8c02a
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.pri b/authoring-ui/codex-build/Microsoft.UI.pri
new file mode 100644
index 0000000..88e92af
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.pri differ
diff --git a/authoring-ui/codex-build/Microsoft.UI.winmd b/authoring-ui/codex-build/Microsoft.UI.winmd
new file mode 100644
index 0000000..a1faf4f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.UI.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Web.WebView2.Core.Projection.dll b/authoring-ui/codex-build/Microsoft.Web.WebView2.Core.Projection.dll
new file mode 100644
index 0000000..815485e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Web.WebView2.Core.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Web.WebView2.Core.dll b/authoring-ui/codex-build/Microsoft.Web.WebView2.Core.dll
new file mode 100644
index 0000000..44607a2
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Web.WebView2.Core.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.WinUI.dll b/authoring-ui/codex-build/Microsoft.WinUI.dll
new file mode 100644
index 0000000..ecdb8d8
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.WinUI.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.ContentModerationInternal.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentModerationInternal.winmd
new file mode 100644
index 0000000..ff7c628
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentModerationInternal.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.Projection.dll
new file mode 100644
index 0000000..dbe7c21
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.dll
new file mode 100644
index 0000000..4a733ac
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.winmd
new file mode 100644
index 0000000..632db8b
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.ContentSafety.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Foundation.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.Foundation.Projection.dll
new file mode 100644
index 0000000..0734058
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Foundation.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Foundation.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.Foundation.winmd
new file mode 100644
index 0000000..3e6b3ce
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Foundation.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.FoundationInternal.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.FoundationInternal.winmd
new file mode 100644
index 0000000..f9d1533
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.FoundationInternal.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.GenerativeInternal.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.GenerativeInternal.winmd
new file mode 100644
index 0000000..2b58eae
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.GenerativeInternal.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.Projection.dll
new file mode 100644
index 0000000..e2eb2ee
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.dll
new file mode 100644
index 0000000..eadc2f0
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.winmd
new file mode 100644
index 0000000..2740017
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Imaging.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.MachineLearning.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.MachineLearning.Projection.dll
new file mode 100644
index 0000000..00efeab
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.MachineLearning.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.MachineLearning.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.MachineLearning.dll
new file mode 100644
index 0000000..de3478e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.MachineLearning.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.Projection.dll
new file mode 100644
index 0000000..e91ff06
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Text.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.Text.Projection.dll
new file mode 100644
index 0000000..7314748
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Text.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Text.dll b/authoring-ui/codex-build/Microsoft.Windows.AI.Text.dll
new file mode 100644
index 0000000..7236389
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Text.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.Text.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.Text.winmd
new file mode 100644
index 0000000..00e375f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.Text.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AI.winmd b/authoring-ui/codex-build/Microsoft.Windows.AI.winmd
new file mode 100644
index 0000000..bd6888b
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AI.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AppLifecycle.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AppLifecycle.Projection.dll
new file mode 100644
index 0000000..a8e166f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AppLifecycle.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AppLifecycle.winmd b/authoring-ui/codex-build/Microsoft.Windows.AppLifecycle.winmd
new file mode 100644
index 0000000..52cfe3f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AppLifecycle.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Builder.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Builder.Projection.dll
new file mode 100644
index 0000000..41d209f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Builder.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Builder.winmd b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Builder.winmd
new file mode 100644
index 0000000..5374744
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Builder.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Projection.dll
new file mode 100644
index 0000000..941b0f2
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.winmd b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.winmd
new file mode 100644
index 0000000..7d39ba5
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.AppNotifications.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.Projection.dll
new file mode 100644
index 0000000..df0e1cb
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.dll b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.dll
new file mode 100644
index 0000000..4a1235a
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.winmd b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.winmd
new file mode 100644
index 0000000..4265fe8
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.winmd b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.winmd
new file mode 100644
index 0000000..1f8ea41
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Background.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll
new file mode 100644
index 0000000..ccb8ab3
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.DynamicDependency.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.DynamicDependency.winmd b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.DynamicDependency.winmd
new file mode 100644
index 0000000..964f4ea
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.DynamicDependency.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.Projection.dll
new file mode 100644
index 0000000..6e72bad
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.dll b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.dll
new file mode 100644
index 0000000..e4877b9
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.winmd b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.winmd
new file mode 100644
index 0000000..f738b1e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.Resources.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll
new file mode 100644
index 0000000..2eba1c0
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.WindowsAppRuntime.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.WindowsAppRuntime.winmd b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.WindowsAppRuntime.winmd
new file mode 100644
index 0000000..b968e22
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ApplicationModel.WindowsAppRuntime.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.BadgeNotifications.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.BadgeNotifications.Projection.dll
new file mode 100644
index 0000000..c919002
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.BadgeNotifications.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.BadgeNotifications.winmd b/authoring-ui/codex-build/Microsoft.Windows.BadgeNotifications.winmd
new file mode 100644
index 0000000..624b548
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.BadgeNotifications.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Foundation.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.Foundation.Projection.dll
new file mode 100644
index 0000000..0fcca98
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Foundation.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Foundation.winmd b/authoring-ui/codex-build/Microsoft.Windows.Foundation.winmd
new file mode 100644
index 0000000..4306247
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Foundation.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Globalization.winmd b/authoring-ui/codex-build/Microsoft.Windows.Globalization.winmd
new file mode 100644
index 0000000..db2c52c
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Globalization.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.ImageCreationInternal.winmd b/authoring-ui/codex-build/Microsoft.Windows.ImageCreationInternal.winmd
new file mode 100644
index 0000000..8683190
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.ImageCreationInternal.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Internal.AI.ContentModeration.winmd b/authoring-ui/codex-build/Microsoft.Windows.Internal.AI.ContentModeration.winmd
new file mode 100644
index 0000000..a9d07dd
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Internal.AI.ContentModeration.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Internal.AI.Generative.winmd b/authoring-ui/codex-build/Microsoft.Windows.Internal.AI.Generative.winmd
new file mode 100644
index 0000000..e16e5fd
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Internal.AI.Generative.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Internal.ImageCreation.winmd b/authoring-ui/codex-build/Microsoft.Windows.Internal.ImageCreation.winmd
new file mode 100644
index 0000000..e03f348
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Internal.ImageCreation.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Internal.SemanticSearch.winmd b/authoring-ui/codex-build/Microsoft.Windows.Internal.SemanticSearch.winmd
new file mode 100644
index 0000000..8b1de9c
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Internal.SemanticSearch.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Internal.Vision.winmd b/authoring-ui/codex-build/Microsoft.Windows.Internal.Vision.winmd
new file mode 100644
index 0000000..85093a5
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Internal.Vision.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Management.Deployment.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.Management.Deployment.Projection.dll
new file mode 100644
index 0000000..9e153ba
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Management.Deployment.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Management.Deployment.winmd b/authoring-ui/codex-build/Microsoft.Windows.Management.Deployment.winmd
new file mode 100644
index 0000000..8b224c3
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Management.Deployment.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Media.Capture.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.Media.Capture.Projection.dll
new file mode 100644
index 0000000..0a3ac4e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Media.Capture.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Media.Capture.winmd b/authoring-ui/codex-build/Microsoft.Windows.Media.Capture.winmd
new file mode 100644
index 0000000..a4c6155
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Media.Capture.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Private.Workloads.SessionManager.winmd b/authoring-ui/codex-build/Microsoft.Windows.Private.Workloads.SessionManager.winmd
new file mode 100644
index 0000000..244972e
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Private.Workloads.SessionManager.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.PrivateCommon.winmd b/authoring-ui/codex-build/Microsoft.Windows.PrivateCommon.winmd
new file mode 100644
index 0000000..20219b8
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.PrivateCommon.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.PushNotifications.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.PushNotifications.Projection.dll
new file mode 100644
index 0000000..95cac35
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.PushNotifications.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.PushNotifications.winmd b/authoring-ui/codex-build/Microsoft.Windows.PushNotifications.winmd
new file mode 100644
index 0000000..8400383
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.PushNotifications.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.SDK.NET.dll b/authoring-ui/codex-build/Microsoft.Windows.SDK.NET.dll
new file mode 100644
index 0000000..0f6c80a
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.SDK.NET.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Security.AccessControl.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.Security.AccessControl.Projection.dll
new file mode 100644
index 0000000..5f32ecc
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Security.AccessControl.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Security.AccessControl.winmd b/authoring-ui/codex-build/Microsoft.Windows.Security.AccessControl.winmd
new file mode 100644
index 0000000..b821f0b
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Security.AccessControl.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.SemanticSearch.winmd b/authoring-ui/codex-build/Microsoft.Windows.SemanticSearch.winmd
new file mode 100644
index 0000000..326084a
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.SemanticSearch.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.SemanticSearchInternal.winmd b/authoring-ui/codex-build/Microsoft.Windows.SemanticSearchInternal.winmd
new file mode 100644
index 0000000..89e3347
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.SemanticSearchInternal.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Storage.Pickers.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.Storage.Pickers.Projection.dll
new file mode 100644
index 0000000..5bf01e2
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Storage.Pickers.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Storage.Pickers.winmd b/authoring-ui/codex-build/Microsoft.Windows.Storage.Pickers.winmd
new file mode 100644
index 0000000..388dc18
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Storage.Pickers.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Storage.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.Storage.Projection.dll
new file mode 100644
index 0000000..9d7b022
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Storage.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Storage.winmd b/authoring-ui/codex-build/Microsoft.Windows.Storage.winmd
new file mode 100644
index 0000000..98dff20
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Storage.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.System.Power.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.System.Power.Projection.dll
new file mode 100644
index 0000000..107d2c4
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.System.Power.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.System.Power.winmd b/authoring-ui/codex-build/Microsoft.Windows.System.Power.winmd
new file mode 100644
index 0000000..359b588
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.System.Power.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.System.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.System.Projection.dll
new file mode 100644
index 0000000..23c692a
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.System.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.System.winmd b/authoring-ui/codex-build/Microsoft.Windows.System.winmd
new file mode 100644
index 0000000..1b42d8a
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.System.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Vision.winmd b/authoring-ui/codex-build/Microsoft.Windows.Vision.winmd
new file mode 100644
index 0000000..206f9d3
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Vision.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.VisionInternal.winmd b/authoring-ui/codex-build/Microsoft.Windows.VisionInternal.winmd
new file mode 100644
index 0000000..576fbdb
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.VisionInternal.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Widgets.Projection.dll b/authoring-ui/codex-build/Microsoft.Windows.Widgets.Projection.dll
new file mode 100644
index 0000000..135bdf9
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Widgets.Projection.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Widgets.dll b/authoring-ui/codex-build/Microsoft.Windows.Widgets.dll
new file mode 100644
index 0000000..d2a2f97
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Widgets.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Widgets.winmd b/authoring-ui/codex-build/Microsoft.Windows.Widgets.winmd
new file mode 100644
index 0000000..6c026c7
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Widgets.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Workloads.Resources.dll b/authoring-ui/codex-build/Microsoft.Windows.Workloads.Resources.dll
new file mode 100644
index 0000000..4398a30
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Workloads.Resources.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Workloads.Resources_ec.dll b/authoring-ui/codex-build/Microsoft.Windows.Workloads.Resources_ec.dll
new file mode 100644
index 0000000..d847a59
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Workloads.Resources_ec.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Workloads.dll b/authoring-ui/codex-build/Microsoft.Windows.Workloads.dll
new file mode 100644
index 0000000..c5e7e9d
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Workloads.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Workloads.pri b/authoring-ui/codex-build/Microsoft.Windows.Workloads.pri
new file mode 100644
index 0000000..c0fdd88
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Workloads.pri differ
diff --git a/authoring-ui/codex-build/Microsoft.Windows.Workloads.winmd b/authoring-ui/codex-build/Microsoft.Windows.Workloads.winmd
new file mode 100644
index 0000000..eb10ec1
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.Windows.Workloads.winmd differ
diff --git a/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.Bootstrap.Net.dll b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.Bootstrap.Net.dll
new file mode 100644
index 0000000..5db169f
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.Bootstrap.Net.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.Bootstrap.dll b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.Bootstrap.dll
new file mode 100644
index 0000000..280c1bf
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.Bootstrap.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.dll b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.dll
new file mode 100644
index 0000000..68bfcb0
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.pri b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.pri
new file mode 100644
index 0000000..f80768b
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.WindowsAppRuntime.pri differ
diff --git a/authoring-ui/codex-build/Microsoft.ui.xaml.dll b/authoring-ui/codex-build/Microsoft.ui.xaml.dll
new file mode 100644
index 0000000..b79456b
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.ui.xaml.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.ui.xaml.resources.19h1.dll b/authoring-ui/codex-build/Microsoft.ui.xaml.resources.19h1.dll
new file mode 100644
index 0000000..abdd4f5
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.ui.xaml.resources.19h1.dll differ
diff --git a/authoring-ui/codex-build/Microsoft.ui.xaml.resources.common.dll b/authoring-ui/codex-build/Microsoft.ui.xaml.resources.common.dll
new file mode 100644
index 0000000..d754b28
Binary files /dev/null and b/authoring-ui/codex-build/Microsoft.ui.xaml.resources.common.dll differ
diff --git a/authoring-ui/codex-build/NPUDetect.dll b/authoring-ui/codex-build/NPUDetect.dll
new file mode 100644
index 0000000..05e33c1
Binary files /dev/null and b/authoring-ui/codex-build/NPUDetect.dll differ
diff --git a/authoring-ui/codex-build/PushNotificationsLongRunningTask.ProxyStub.dll b/authoring-ui/codex-build/PushNotificationsLongRunningTask.ProxyStub.dll
new file mode 100644
index 0000000..e928089
Binary files /dev/null and b/authoring-ui/codex-build/PushNotificationsLongRunningTask.ProxyStub.dll differ
diff --git a/authoring-ui/codex-build/RestartAgent.exe b/authoring-ui/codex-build/RestartAgent.exe
new file mode 100644
index 0000000..7704a05
Binary files /dev/null and b/authoring-ui/codex-build/RestartAgent.exe differ
diff --git a/authoring-ui/codex-build/SessionHandleIPCProxyStub.dll b/authoring-ui/codex-build/SessionHandleIPCProxyStub.dll
new file mode 100644
index 0000000..0f742bf
Binary files /dev/null and b/authoring-ui/codex-build/SessionHandleIPCProxyStub.dll differ
diff --git a/authoring-ui/codex-build/System.Numerics.Tensors.dll b/authoring-ui/codex-build/System.Numerics.Tensors.dll
new file mode 100644
index 0000000..f1aeb3d
Binary files /dev/null and b/authoring-ui/codex-build/System.Numerics.Tensors.dll differ
diff --git a/authoring-ui/codex-build/WebView2Loader.dll b/authoring-ui/codex-build/WebView2Loader.dll
new file mode 100644
index 0000000..ea25db8
Binary files /dev/null and b/authoring-ui/codex-build/WebView2Loader.dll differ
diff --git a/authoring-ui/codex-build/WinRT.Runtime.dll b/authoring-ui/codex-build/WinRT.Runtime.dll
new file mode 100644
index 0000000..20931b9
Binary files /dev/null and b/authoring-ui/codex-build/WinRT.Runtime.dll differ
diff --git a/authoring-ui/codex-build/WinUIEdit.dll b/authoring-ui/codex-build/WinUIEdit.dll
new file mode 100644
index 0000000..8b5cb35
Binary files /dev/null and b/authoring-ui/codex-build/WinUIEdit.dll differ
diff --git a/authoring-ui/codex-build/af-ZA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/af-ZA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..4034500
Binary files /dev/null and b/authoring-ui/codex-build/af-ZA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/af-ZA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/af-ZA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..922441b
Binary files /dev/null and b/authoring-ui/codex-build/af-ZA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/am-ET/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/am-ET/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..3eba4b9
Binary files /dev/null and b/authoring-ui/codex-build/am-ET/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/am-ET/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/am-ET/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..0424c0a
Binary files /dev/null and b/authoring-ui/codex-build/am-ET/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ar-SA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ar-SA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..3049bce
Binary files /dev/null and b/authoring-ui/codex-build/ar-SA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ar-SA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ar-SA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..cf3748f
Binary files /dev/null and b/authoring-ui/codex-build/ar-SA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/as-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/as-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..a87913f
Binary files /dev/null and b/authoring-ui/codex-build/as-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/as-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/as-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..155a600
Binary files /dev/null and b/authoring-ui/codex-build/as-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/az-Latn-AZ/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/az-Latn-AZ/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..9af9be4
Binary files /dev/null and b/authoring-ui/codex-build/az-Latn-AZ/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/az-Latn-AZ/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/az-Latn-AZ/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..eda5979
Binary files /dev/null and b/authoring-ui/codex-build/az-Latn-AZ/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/bg-BG/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/bg-BG/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..59e4931
Binary files /dev/null and b/authoring-ui/codex-build/bg-BG/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/bg-BG/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/bg-BG/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..2ccc9bf
Binary files /dev/null and b/authoring-ui/codex-build/bg-BG/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/bn-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/bn-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..869197c
Binary files /dev/null and b/authoring-ui/codex-build/bn-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/bn-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/bn-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..c08d908
Binary files /dev/null and b/authoring-ui/codex-build/bn-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/bs-Latn-BA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/bs-Latn-BA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..1561abe
Binary files /dev/null and b/authoring-ui/codex-build/bs-Latn-BA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/bs-Latn-BA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/bs-Latn-BA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..88d9bd3
Binary files /dev/null and b/authoring-ui/codex-build/bs-Latn-BA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ca-ES/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ca-ES/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..d6c04b8
Binary files /dev/null and b/authoring-ui/codex-build/ca-ES/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ca-ES/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ca-ES/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..7b2d104
Binary files /dev/null and b/authoring-ui/codex-build/ca-ES/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ca-Es-VALENCIA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ca-Es-VALENCIA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..0f1cd20
Binary files /dev/null and b/authoring-ui/codex-build/ca-Es-VALENCIA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ca-Es-VALENCIA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ca-Es-VALENCIA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..2710e9a
Binary files /dev/null and b/authoring-ui/codex-build/ca-Es-VALENCIA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/cs-CZ/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/cs-CZ/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..0a247ba
Binary files /dev/null and b/authoring-ui/codex-build/cs-CZ/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/cs-CZ/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/cs-CZ/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..be40a22
Binary files /dev/null and b/authoring-ui/codex-build/cs-CZ/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/cy-GB/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/cy-GB/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..3c61017
Binary files /dev/null and b/authoring-ui/codex-build/cy-GB/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/cy-GB/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/cy-GB/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..50bbecd
Binary files /dev/null and b/authoring-ui/codex-build/cy-GB/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/da-DK/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/da-DK/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..41cf9d9
Binary files /dev/null and b/authoring-ui/codex-build/da-DK/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/da-DK/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/da-DK/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..8294bec
Binary files /dev/null and b/authoring-ui/codex-build/da-DK/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/dcompi.dll b/authoring-ui/codex-build/dcompi.dll
new file mode 100644
index 0000000..6c0bb5f
Binary files /dev/null and b/authoring-ui/codex-build/dcompi.dll differ
diff --git a/authoring-ui/codex-build/de-DE/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/de-DE/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..c41fd7e
Binary files /dev/null and b/authoring-ui/codex-build/de-DE/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/de-DE/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/de-DE/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..dfda084
Binary files /dev/null and b/authoring-ui/codex-build/de-DE/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/dwmcorei.dll b/authoring-ui/codex-build/dwmcorei.dll
new file mode 100644
index 0000000..fea0259
Binary files /dev/null and b/authoring-ui/codex-build/dwmcorei.dll differ
diff --git a/authoring-ui/codex-build/el-GR/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/el-GR/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..69e9cfb
Binary files /dev/null and b/authoring-ui/codex-build/el-GR/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/el-GR/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/el-GR/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..9f21aa8
Binary files /dev/null and b/authoring-ui/codex-build/el-GR/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/en-GB/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/en-GB/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..31ed7d3
Binary files /dev/null and b/authoring-ui/codex-build/en-GB/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/en-GB/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/en-GB/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..8099032
Binary files /dev/null and b/authoring-ui/codex-build/en-GB/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/en-us/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/en-us/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..7b70b95
Binary files /dev/null and b/authoring-ui/codex-build/en-us/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/en-us/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/en-us/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ddd9ad3
Binary files /dev/null and b/authoring-ui/codex-build/en-us/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/es-ES/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/es-ES/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..c96c830
Binary files /dev/null and b/authoring-ui/codex-build/es-ES/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/es-ES/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/es-ES/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ac2a7d7
Binary files /dev/null and b/authoring-ui/codex-build/es-ES/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/es-MX/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/es-MX/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..6372bd0
Binary files /dev/null and b/authoring-ui/codex-build/es-MX/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/es-MX/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/es-MX/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..8078ac9
Binary files /dev/null and b/authoring-ui/codex-build/es-MX/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/et-EE/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/et-EE/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..bbe4b0d
Binary files /dev/null and b/authoring-ui/codex-build/et-EE/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/et-EE/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/et-EE/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..7a4bb11
Binary files /dev/null and b/authoring-ui/codex-build/et-EE/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/eu-ES/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/eu-ES/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..7fc6449
Binary files /dev/null and b/authoring-ui/codex-build/eu-ES/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/eu-ES/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/eu-ES/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..20063af
Binary files /dev/null and b/authoring-ui/codex-build/eu-ES/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/fa-IR/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/fa-IR/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..9005475
Binary files /dev/null and b/authoring-ui/codex-build/fa-IR/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/fa-IR/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/fa-IR/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..9def9e9
Binary files /dev/null and b/authoring-ui/codex-build/fa-IR/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/fi-FI/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/fi-FI/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..515c6c4
Binary files /dev/null and b/authoring-ui/codex-build/fi-FI/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/fi-FI/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/fi-FI/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..6d5fcc3
Binary files /dev/null and b/authoring-ui/codex-build/fi-FI/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/fil-PH/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/fil-PH/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..a9a0a0f
Binary files /dev/null and b/authoring-ui/codex-build/fil-PH/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/fil-PH/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/fil-PH/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..9984665
Binary files /dev/null and b/authoring-ui/codex-build/fil-PH/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/fr-CA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/fr-CA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..995d7c8
Binary files /dev/null and b/authoring-ui/codex-build/fr-CA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/fr-CA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/fr-CA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..2429953
Binary files /dev/null and b/authoring-ui/codex-build/fr-CA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/fr-FR/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/fr-FR/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..1769373
Binary files /dev/null and b/authoring-ui/codex-build/fr-FR/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/fr-FR/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/fr-FR/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..49dd60b
Binary files /dev/null and b/authoring-ui/codex-build/fr-FR/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ga-IE/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ga-IE/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..aa71ea1
Binary files /dev/null and b/authoring-ui/codex-build/ga-IE/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ga-IE/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ga-IE/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..3312e52
Binary files /dev/null and b/authoring-ui/codex-build/ga-IE/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/gd-gb/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/gd-gb/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..b6a58fd
Binary files /dev/null and b/authoring-ui/codex-build/gd-gb/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/gd-gb/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/gd-gb/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..6320eeb
Binary files /dev/null and b/authoring-ui/codex-build/gd-gb/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/gl-ES/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/gl-ES/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..4d8aede
Binary files /dev/null and b/authoring-ui/codex-build/gl-ES/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/gl-ES/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/gl-ES/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..fefe7f5
Binary files /dev/null and b/authoring-ui/codex-build/gl-ES/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/gu-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/gu-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..356e0ab
Binary files /dev/null and b/authoring-ui/codex-build/gu-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/gu-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/gu-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..f0149ed
Binary files /dev/null and b/authoring-ui/codex-build/gu-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/he-IL/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/he-IL/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..c1441c3
Binary files /dev/null and b/authoring-ui/codex-build/he-IL/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/he-IL/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/he-IL/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..64b7b06
Binary files /dev/null and b/authoring-ui/codex-build/he-IL/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/hi-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/hi-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..600d57b
Binary files /dev/null and b/authoring-ui/codex-build/hi-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/hi-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/hi-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..cc37ae9
Binary files /dev/null and b/authoring-ui/codex-build/hi-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/hr-HR/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/hr-HR/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..f816c31
Binary files /dev/null and b/authoring-ui/codex-build/hr-HR/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/hr-HR/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/hr-HR/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..b2c8b58
Binary files /dev/null and b/authoring-ui/codex-build/hr-HR/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/hu-HU/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/hu-HU/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..6eed344
Binary files /dev/null and b/authoring-ui/codex-build/hu-HU/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/hu-HU/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/hu-HU/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..0902406
Binary files /dev/null and b/authoring-ui/codex-build/hu-HU/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/hy-AM/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/hy-AM/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..50485c1
Binary files /dev/null and b/authoring-ui/codex-build/hy-AM/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/hy-AM/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/hy-AM/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..5a693c8
Binary files /dev/null and b/authoring-ui/codex-build/hy-AM/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/id-ID/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/id-ID/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..2d8bb52
Binary files /dev/null and b/authoring-ui/codex-build/id-ID/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/id-ID/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/id-ID/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..a75606b
Binary files /dev/null and b/authoring-ui/codex-build/id-ID/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/is-IS/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/is-IS/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..ad98060
Binary files /dev/null and b/authoring-ui/codex-build/is-IS/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/is-IS/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/is-IS/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..61c8858
Binary files /dev/null and b/authoring-ui/codex-build/is-IS/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/it-IT/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/it-IT/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..6e0cdcd
Binary files /dev/null and b/authoring-ui/codex-build/it-IT/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/it-IT/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/it-IT/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..5f86eb3
Binary files /dev/null and b/authoring-ui/codex-build/it-IT/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ja-JP/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ja-JP/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..a4c38f2
Binary files /dev/null and b/authoring-ui/codex-build/ja-JP/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ja-JP/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ja-JP/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..5165da7
Binary files /dev/null and b/authoring-ui/codex-build/ja-JP/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ka-GE/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ka-GE/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..6786e2c
Binary files /dev/null and b/authoring-ui/codex-build/ka-GE/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ka-GE/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ka-GE/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..410db2e
Binary files /dev/null and b/authoring-ui/codex-build/ka-GE/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/kk-KZ/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/kk-KZ/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..a602fe0
Binary files /dev/null and b/authoring-ui/codex-build/kk-KZ/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/kk-KZ/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/kk-KZ/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..a229c35
Binary files /dev/null and b/authoring-ui/codex-build/kk-KZ/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/km-KH/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/km-KH/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..e849581
Binary files /dev/null and b/authoring-ui/codex-build/km-KH/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/km-KH/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/km-KH/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..390bd9c
Binary files /dev/null and b/authoring-ui/codex-build/km-KH/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/kn-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/kn-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..89e6e4e
Binary files /dev/null and b/authoring-ui/codex-build/kn-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/kn-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/kn-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..2e05adf
Binary files /dev/null and b/authoring-ui/codex-build/kn-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ko-KR/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ko-KR/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..5873105
Binary files /dev/null and b/authoring-ui/codex-build/ko-KR/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ko-KR/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ko-KR/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ef580f4
Binary files /dev/null and b/authoring-ui/codex-build/ko-KR/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/kok-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/kok-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..f9ea574
Binary files /dev/null and b/authoring-ui/codex-build/kok-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/kok-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/kok-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..fee08a1
Binary files /dev/null and b/authoring-ui/codex-build/kok-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/lb-LU/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/lb-LU/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..fe7b520
Binary files /dev/null and b/authoring-ui/codex-build/lb-LU/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/lb-LU/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/lb-LU/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..08b3c51
Binary files /dev/null and b/authoring-ui/codex-build/lb-LU/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/lo-LA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/lo-LA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..dd5d330
Binary files /dev/null and b/authoring-ui/codex-build/lo-LA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/lo-LA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/lo-LA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..5577d2f
Binary files /dev/null and b/authoring-ui/codex-build/lo-LA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/lt-LT/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/lt-LT/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..174c8b7
Binary files /dev/null and b/authoring-ui/codex-build/lt-LT/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/lt-LT/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/lt-LT/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..e0c02b4
Binary files /dev/null and b/authoring-ui/codex-build/lt-LT/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/lv-LV/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/lv-LV/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..f471dde
Binary files /dev/null and b/authoring-ui/codex-build/lv-LV/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/lv-LV/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/lv-LV/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ccaef26
Binary files /dev/null and b/authoring-ui/codex-build/lv-LV/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/marshal.dll b/authoring-ui/codex-build/marshal.dll
new file mode 100644
index 0000000..2555608
Binary files /dev/null and b/authoring-ui/codex-build/marshal.dll differ
diff --git a/authoring-ui/codex-build/mi-NZ/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/mi-NZ/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..efbdb49
Binary files /dev/null and b/authoring-ui/codex-build/mi-NZ/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/mi-NZ/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/mi-NZ/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..746a3bc
Binary files /dev/null and b/authoring-ui/codex-build/mi-NZ/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/mk-MK/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/mk-MK/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..3680b4f
Binary files /dev/null and b/authoring-ui/codex-build/mk-MK/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/mk-MK/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/mk-MK/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..69e9a9e
Binary files /dev/null and b/authoring-ui/codex-build/mk-MK/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ml-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ml-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..ccb96ab
Binary files /dev/null and b/authoring-ui/codex-build/ml-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ml-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ml-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..57a8dd2
Binary files /dev/null and b/authoring-ui/codex-build/ml-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/mr-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/mr-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..415064a
Binary files /dev/null and b/authoring-ui/codex-build/mr-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/mr-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/mr-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..96d1ea7
Binary files /dev/null and b/authoring-ui/codex-build/mr-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ms-MY/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ms-MY/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..d20246c
Binary files /dev/null and b/authoring-ui/codex-build/ms-MY/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ms-MY/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ms-MY/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..16f59c8
Binary files /dev/null and b/authoring-ui/codex-build/ms-MY/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/mt-MT/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/mt-MT/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..5379962
Binary files /dev/null and b/authoring-ui/codex-build/mt-MT/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/mt-MT/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/mt-MT/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ae7596d
Binary files /dev/null and b/authoring-ui/codex-build/mt-MT/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/nb-NO/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/nb-NO/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..08fce43
Binary files /dev/null and b/authoring-ui/codex-build/nb-NO/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/nb-NO/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/nb-NO/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ada8f37
Binary files /dev/null and b/authoring-ui/codex-build/nb-NO/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ne-NP/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ne-NP/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..aab0975
Binary files /dev/null and b/authoring-ui/codex-build/ne-NP/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ne-NP/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ne-NP/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..977e1e7
Binary files /dev/null and b/authoring-ui/codex-build/ne-NP/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/nl-NL/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/nl-NL/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..ea51d44
Binary files /dev/null and b/authoring-ui/codex-build/nl-NL/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/nl-NL/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/nl-NL/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..f38c8c0
Binary files /dev/null and b/authoring-ui/codex-build/nl-NL/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/nn-NO/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/nn-NO/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..cbe6b6b
Binary files /dev/null and b/authoring-ui/codex-build/nn-NO/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/nn-NO/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/nn-NO/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..e9c85b1
Binary files /dev/null and b/authoring-ui/codex-build/nn-NO/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/onnxruntime.dll b/authoring-ui/codex-build/onnxruntime.dll
new file mode 100644
index 0000000..d038818
Binary files /dev/null and b/authoring-ui/codex-build/onnxruntime.dll differ
diff --git a/authoring-ui/codex-build/or-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/or-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..382266e
Binary files /dev/null and b/authoring-ui/codex-build/or-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/or-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/or-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..c5bc44b
Binary files /dev/null and b/authoring-ui/codex-build/or-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/pa-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/pa-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..771a230
Binary files /dev/null and b/authoring-ui/codex-build/pa-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/pa-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/pa-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..99f9bd6
Binary files /dev/null and b/authoring-ui/codex-build/pa-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/pl-PL/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/pl-PL/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..ca1b6ac
Binary files /dev/null and b/authoring-ui/codex-build/pl-PL/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/pl-PL/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/pl-PL/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..b280fda
Binary files /dev/null and b/authoring-ui/codex-build/pl-PL/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/pt-BR/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/pt-BR/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..b83c20e
Binary files /dev/null and b/authoring-ui/codex-build/pt-BR/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/pt-BR/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/pt-BR/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..c784c76
Binary files /dev/null and b/authoring-ui/codex-build/pt-BR/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/pt-PT/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/pt-PT/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..12f1a34
Binary files /dev/null and b/authoring-ui/codex-build/pt-PT/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/pt-PT/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/pt-PT/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..f9d7cc0
Binary files /dev/null and b/authoring-ui/codex-build/pt-PT/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/quz-PE/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/quz-PE/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..2098087
Binary files /dev/null and b/authoring-ui/codex-build/quz-PE/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/quz-PE/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/quz-PE/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ffd098b
Binary files /dev/null and b/authoring-ui/codex-build/quz-PE/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ro-RO/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ro-RO/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..140e618
Binary files /dev/null and b/authoring-ui/codex-build/ro-RO/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ro-RO/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ro-RO/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..81826a2
Binary files /dev/null and b/authoring-ui/codex-build/ro-RO/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ru-RU/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ru-RU/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..b7763af
Binary files /dev/null and b/authoring-ui/codex-build/ru-RU/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ru-RU/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ru-RU/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ae96602
Binary files /dev/null and b/authoring-ui/codex-build/ru-RU/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/sk-SK/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/sk-SK/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..cf9fedd
Binary files /dev/null and b/authoring-ui/codex-build/sk-SK/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/sk-SK/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/sk-SK/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..4b376dc
Binary files /dev/null and b/authoring-ui/codex-build/sk-SK/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/sl-SI/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/sl-SI/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..ac2decb
Binary files /dev/null and b/authoring-ui/codex-build/sl-SI/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/sl-SI/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/sl-SI/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..e85652e
Binary files /dev/null and b/authoring-ui/codex-build/sl-SI/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/sq-AL/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/sq-AL/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..64675f9
Binary files /dev/null and b/authoring-ui/codex-build/sq-AL/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/sq-AL/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/sq-AL/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..3388de2
Binary files /dev/null and b/authoring-ui/codex-build/sq-AL/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/sr-Cyrl-BA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/sr-Cyrl-BA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..79e34db
Binary files /dev/null and b/authoring-ui/codex-build/sr-Cyrl-BA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/sr-Cyrl-BA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/sr-Cyrl-BA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..7752fb1
Binary files /dev/null and b/authoring-ui/codex-build/sr-Cyrl-BA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/sr-Cyrl-RS/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/sr-Cyrl-RS/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..338a5c8
Binary files /dev/null and b/authoring-ui/codex-build/sr-Cyrl-RS/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/sr-Cyrl-RS/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/sr-Cyrl-RS/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..fe98db7
Binary files /dev/null and b/authoring-ui/codex-build/sr-Cyrl-RS/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/sr-Latn-RS/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/sr-Latn-RS/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..a3417ed
Binary files /dev/null and b/authoring-ui/codex-build/sr-Latn-RS/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/sr-Latn-RS/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/sr-Latn-RS/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..648617a
Binary files /dev/null and b/authoring-ui/codex-build/sr-Latn-RS/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/sv-SE/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/sv-SE/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..464678f
Binary files /dev/null and b/authoring-ui/codex-build/sv-SE/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/sv-SE/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/sv-SE/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..a8eb585
Binary files /dev/null and b/authoring-ui/codex-build/sv-SE/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ta-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ta-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..944ea1f
Binary files /dev/null and b/authoring-ui/codex-build/ta-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ta-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ta-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..64a8124
Binary files /dev/null and b/authoring-ui/codex-build/ta-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/te-IN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/te-IN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..dbe9f6a
Binary files /dev/null and b/authoring-ui/codex-build/te-IN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/te-IN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/te-IN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..52a8436
Binary files /dev/null and b/authoring-ui/codex-build/te-IN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/th-TH/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/th-TH/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..15c2970
Binary files /dev/null and b/authoring-ui/codex-build/th-TH/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/th-TH/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/th-TH/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..f8bcd84
Binary files /dev/null and b/authoring-ui/codex-build/th-TH/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/tr-TR/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/tr-TR/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..d98a2c6
Binary files /dev/null and b/authoring-ui/codex-build/tr-TR/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/tr-TR/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/tr-TR/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ee8027d
Binary files /dev/null and b/authoring-ui/codex-build/tr-TR/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/tt-RU/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/tt-RU/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..3602399
Binary files /dev/null and b/authoring-ui/codex-build/tt-RU/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/tt-RU/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/tt-RU/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..4478f49
Binary files /dev/null and b/authoring-ui/codex-build/tt-RU/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ug-CN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ug-CN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..8704f22
Binary files /dev/null and b/authoring-ui/codex-build/ug-CN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ug-CN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ug-CN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..d142f54
Binary files /dev/null and b/authoring-ui/codex-build/ug-CN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/uk-UA/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/uk-UA/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..4bf2d18
Binary files /dev/null and b/authoring-ui/codex-build/uk-UA/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/uk-UA/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/uk-UA/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..3b192e8
Binary files /dev/null and b/authoring-ui/codex-build/uk-UA/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/ur-PK/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/ur-PK/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..5977413
Binary files /dev/null and b/authoring-ui/codex-build/ur-PK/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/ur-PK/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/ur-PK/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..2440f10
Binary files /dev/null and b/authoring-ui/codex-build/ur-PK/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/uz-Latn-UZ/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/uz-Latn-UZ/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..4ba1532
Binary files /dev/null and b/authoring-ui/codex-build/uz-Latn-UZ/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/uz-Latn-UZ/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/uz-Latn-UZ/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..ee8e22c
Binary files /dev/null and b/authoring-ui/codex-build/uz-Latn-UZ/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/vi-VN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/vi-VN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..5c6c40e
Binary files /dev/null and b/authoring-ui/codex-build/vi-VN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/vi-VN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/vi-VN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..9a961a0
Binary files /dev/null and b/authoring-ui/codex-build/vi-VN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/workloads.365.json b/authoring-ui/codex-build/workloads.365.json
new file mode 100644
index 0000000..7ef91fb
--- /dev/null
+++ b/authoring-ui/codex-build/workloads.365.json
@@ -0,0 +1,328 @@
+{
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.365.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.365.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.365.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.365.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.365.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.365.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.365.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.365.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ }
+ ],
+ "Workloads": [
+ {
+ "Id": "Windows.Workload.ContentExtraction.365",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.365.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.365.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.365.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.365.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageProcessing",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageSearch.365",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.365.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.365.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.365.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.365.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.365.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageTransform",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ }
+ ],
+ "ApiInfos": [
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageForegroundExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageSegmenterSession",
+ "Workload": "Windows.Workload.ImageProcessing",
+ "SessionPackage": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectExtractorSession",
+ "Workload": "Windows.Workload.ImageProcessing",
+ "SessionPackage": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageScaler",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageScalerSession",
+ "Workload": "Windows.Workload.ImageProcessing",
+ "SessionPackage": "WindowsWorkload.ImageScaler.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectRemover",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectRemoverSession",
+ "Workload": "Windows.Workload.ImageTransform",
+ "SessionPackage": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Search.Experimental.ImageSearchEmbeddingsCreator+Image",
+ "SessionClassName": "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Workload": "Windows.Workload.ImageSearch.365",
+ "SessionPackage": "WindowsWorkload.ImageSearch.365.3_8wekyb3d8bbwe",
+ "VectorSpaceId": "7DF9C12E-2031-4DC9-99AB-CEF774D84EB2"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.TextRecognizer",
+ "SessionClassName": "Microsoft.Windows.Internal.Vision.TextRecognizerSession",
+ "Workload": "Windows.Workload.ContentExtraction.365",
+ "SessionPackage": "WindowsWorkload.TextRecognition.365.1_8wekyb3d8bbwe",
+ "Public": true
+ }
+ ]
+}
diff --git a/authoring-ui/codex-build/workloads.j32.json b/authoring-ui/codex-build/workloads.j32.json
new file mode 100644
index 0000000..db62abe
--- /dev/null
+++ b/authoring-ui/codex-build/workloads.j32.json
@@ -0,0 +1,506 @@
+{
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Qnn.2.7_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.J32.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.J32.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.J32.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.J32.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.J32.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.J32.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ }
+ ],
+ "Workloads": [
+ {
+ "Id": "Windows.Workload.ContentExtraction.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Qnn.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageCreation.J32",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.J32.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.J32.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Qnn.2.7_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Qnn.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageProcessing.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageSearch.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageTransform",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.PhiSilica.J32",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.J32.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.J32.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.J32.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.J32.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Qnn.1_8wekyb3d8bbwe"
+ }
+ ]
+ }
+ ],
+ "ApiInfos": [
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageForegroundExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageSegmenterSession",
+ "Workload": "Windows.Workload.ImageProcessing.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectExtractorSession",
+ "Workload": "Windows.Workload.ImageProcessing.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageScaler",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageScalerSession",
+ "Workload": "Windows.Workload.ImageProcessing.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageScaler.Qnn.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectRemover",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectRemoverSession",
+ "Workload": "Windows.Workload.ImageTransform",
+ "SessionPackage": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Search.Experimental.ImageSearchEmbeddingsCreator+Image",
+ "SessionClassName": "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Workload": "Windows.Workload.ImageSearch.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageSearch.Qnn.3_8wekyb3d8bbwe",
+ "VectorSpaceId": "7DF9C12E-2031-4DC9-99AB-CEF774D84EB2"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.TextRecognizer",
+ "SessionClassName": "Microsoft.Windows.Internal.Vision.TextRecognizerSession",
+ "Workload": "Windows.Workload.ContentExtraction.Qnn",
+ "SessionPackage": "WindowsWorkload.TextRecognition.Qnn.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.Experimental.ImageLLMAdapterCreator",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Workload": "Windows.Workload.PhiSilica.J32",
+ "SessionPackage": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionPipeline",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Workload": "Windows.Workload.PhiSilica.J32",
+ "SessionPackage": "WindowsWorkload.ImageDescription.J32.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Text.LanguageModel",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Workload": "Windows.Workload.PhiSilica.J32",
+ "SessionPackage": "WindowsWorkload.LanguageModel.J32.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageGenerator",
+ "SessionClassName": "Microsoft.Windows.Internal.ImageCreation.ImageGeneratorSession",
+ "Workload": "Windows.Workload.ImageCreation.J32",
+ "SessionPackage": "WindowsWorkload.ImageGenerator.J32.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionGenerator",
+ "RequiredSessions": [
+ "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Microsoft.Windows.Internal.Vision.TextRecognizerSession"
+ ],
+ "Public": true
+ }
+ ]
+}
diff --git a/authoring-ui/codex-build/workloads.json b/authoring-ui/codex-build/workloads.json
new file mode 100644
index 0000000..fa66299
--- /dev/null
+++ b/authoring-ui/codex-build/workloads.json
@@ -0,0 +1,324 @@
+{
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ }
+ ],
+ "Workloads": [
+ {
+ "Id": "Windows.Workload.ContentExtraction",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageProcessing",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageSearch",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageTransform",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ }
+ ],
+ "ApiInfos": [
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageForegroundExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageSegmenterSession",
+ "Workload": "Windows.Workload.ImageProcessing",
+ "SessionPackage": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectExtractorSession",
+ "Workload": "Windows.Workload.ImageProcessing",
+ "SessionPackage": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageScaler",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageScalerSession",
+ "Workload": "Windows.Workload.ImageProcessing",
+ "SessionPackage": "WindowsWorkload.ImageScaler.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectRemover",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectRemoverSession",
+ "Workload": "Windows.Workload.ImageTransform",
+ "SessionPackage": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Search.Experimental.ImageSearchEmbeddingsCreator+Image",
+ "SessionClassName": "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Workload": "Windows.Workload.ImageSearch",
+ "SessionPackage": "WindowsWorkload.ImageSearch.3_8wekyb3d8bbwe",
+ "VectorSpaceId": "7DF9C12E-2031-4DC9-99AB-CEF774D84EB2"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.TextRecognizer",
+ "SessionClassName": "Microsoft.Windows.Internal.Vision.TextRecognizerSession",
+ "Workload": "Windows.Workload.ContentExtraction",
+ "SessionPackage": "WindowsWorkload.TextRecognition.1_8wekyb3d8bbwe",
+ "Public": true
+ }
+ ]
+}
diff --git a/authoring-ui/codex-build/workloads.lnl.json b/authoring-ui/codex-build/workloads.lnl.json
new file mode 100644
index 0000000..a04a585
--- /dev/null
+++ b/authoring-ui/codex-build/workloads.lnl.json
@@ -0,0 +1,506 @@
+{
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Lnl.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Lnl.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Lnl.2.7_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Lnl.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Lnl.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Lnl.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Lnl.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.Lnl.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ }
+ ],
+ "Workloads": [
+ {
+ "Id": "Windows.Workload.ContentExtraction.Lnl",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Lnl.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Lnl.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageCreation.Lnl",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.Lnl.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Lnl.2.7_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Lnl.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageProcessing.Lnl",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Lnl.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageSearch.Lnl",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Lnl.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Lnl.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Lnl.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Lnl.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Lnl.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageTransform",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.PhiSilica.Lnl",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.Lnl.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Lnl.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Lnl.1_8wekyb3d8bbwe"
+ }
+ ]
+ }
+ ],
+ "ApiInfos": [
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageForegroundExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageSegmenterSession",
+ "Workload": "Windows.Workload.ImageProcessing.Lnl",
+ "SessionPackage": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectExtractorSession",
+ "Workload": "Windows.Workload.ImageProcessing.Lnl",
+ "SessionPackage": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageScaler",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageScalerSession",
+ "Workload": "Windows.Workload.ImageProcessing.Lnl",
+ "SessionPackage": "WindowsWorkload.ImageScaler.Lnl.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectRemover",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectRemoverSession",
+ "Workload": "Windows.Workload.ImageTransform",
+ "SessionPackage": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Search.Experimental.ImageSearchEmbeddingsCreator+Image",
+ "SessionClassName": "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Workload": "Windows.Workload.ImageSearch.Lnl",
+ "SessionPackage": "WindowsWorkload.ImageSearch.Lnl.3_8wekyb3d8bbwe",
+ "VectorSpaceId": "7DF9C12E-2031-4DC9-99AB-CEF774D84EB2"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.TextRecognizer",
+ "SessionClassName": "Microsoft.Windows.Internal.Vision.TextRecognizerSession",
+ "Workload": "Windows.Workload.ContentExtraction.Lnl",
+ "SessionPackage": "WindowsWorkload.TextRecognition.Lnl.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.Experimental.ImageLLMAdapterCreator",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Workload": "Windows.Workload.PhiSilica.Lnl",
+ "SessionPackage": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionPipeline",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Workload": "Windows.Workload.PhiSilica.Lnl",
+ "SessionPackage": "WindowsWorkload.ImageDescription.Lnl.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Text.LanguageModel",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Workload": "Windows.Workload.PhiSilica.Lnl",
+ "SessionPackage": "WindowsWorkload.LanguageModel.Lnl.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageGenerator",
+ "SessionClassName": "Microsoft.Windows.Internal.ImageCreation.ImageGeneratorSession",
+ "Workload": "Windows.Workload.ImageCreation.Lnl",
+ "SessionPackage": "WindowsWorkload.ImageGenerator.Lnl.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionGenerator",
+ "RequiredSessions": [
+ "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Microsoft.Windows.Internal.Vision.TextRecognizerSession"
+ ],
+ "Public": true
+ }
+ ]
+}
diff --git a/authoring-ui/codex-build/workloads.qnn.json b/authoring-ui/codex-build/workloads.qnn.json
new file mode 100644
index 0000000..0ceaa4e
--- /dev/null
+++ b/authoring-ui/codex-build/workloads.qnn.json
@@ -0,0 +1,506 @@
+{
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Qnn.2.7_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.Qnn.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ }
+ ],
+ "Workloads": [
+ {
+ "Id": "Windows.Workload.ContentExtraction.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Qnn.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageCreation.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Qnn.2.7_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Qnn.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageProcessing.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageSearch.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Qnn.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Qnn.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageTransform",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.PhiSilica.Qnn",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.Qnn.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Qnn.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Qnn.1_8wekyb3d8bbwe"
+ }
+ ]
+ }
+ ],
+ "ApiInfos": [
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageForegroundExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageSegmenterSession",
+ "Workload": "Windows.Workload.ImageProcessing.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectExtractorSession",
+ "Workload": "Windows.Workload.ImageProcessing.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageScaler",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageScalerSession",
+ "Workload": "Windows.Workload.ImageProcessing.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageScaler.Qnn.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectRemover",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectRemoverSession",
+ "Workload": "Windows.Workload.ImageTransform",
+ "SessionPackage": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Search.Experimental.ImageSearchEmbeddingsCreator+Image",
+ "SessionClassName": "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Workload": "Windows.Workload.ImageSearch.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageSearch.Qnn.3_8wekyb3d8bbwe",
+ "VectorSpaceId": "7DF9C12E-2031-4DC9-99AB-CEF774D84EB2"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.TextRecognizer",
+ "SessionClassName": "Microsoft.Windows.Internal.Vision.TextRecognizerSession",
+ "Workload": "Windows.Workload.ContentExtraction.Qnn",
+ "SessionPackage": "WindowsWorkload.TextRecognition.Qnn.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.Experimental.ImageLLMAdapterCreator",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Workload": "Windows.Workload.PhiSilica.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionPipeline",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Workload": "Windows.Workload.PhiSilica.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageDescription.Qnn.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Text.LanguageModel",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Workload": "Windows.Workload.PhiSilica.Qnn",
+ "SessionPackage": "WindowsWorkload.LanguageModel.Qnn.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageGenerator",
+ "SessionClassName": "Microsoft.Windows.Internal.ImageCreation.ImageGeneratorSession",
+ "Workload": "Windows.Workload.ImageCreation.Qnn",
+ "SessionPackage": "WindowsWorkload.ImageGenerator.Qnn.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionGenerator",
+ "RequiredSessions": [
+ "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Microsoft.Windows.Internal.Vision.TextRecognizerSession"
+ ],
+ "Public": true
+ }
+ ]
+}
diff --git a/authoring-ui/codex-build/workloads.stx.json b/authoring-ui/codex-build/workloads.stx.json
new file mode 100644
index 0000000..d01b795
--- /dev/null
+++ b/authoring-ui/codex-build/workloads.stx.json
@@ -0,0 +1,506 @@
+{
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Stx.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Stx.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Stx.2.7_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Stx.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Stx.2_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Stx.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Stx.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1203.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.Stx.1_8wekyb3d8bbwe",
+ "Version": "1.2511.1196.0"
+ }
+ ],
+ "Workloads": [
+ {
+ "Id": "Windows.Workload.ContentExtraction.Stx",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ContentExtraction.Stx.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ScrRegDetection.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextRecognition.Stx.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageCreation.Stx",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageCreation.Stx.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Data.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageGenerator.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizer.Stx.2.7_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Stx.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageProcessing.Stx",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageProcessing.Stx.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.FaceAnalysis.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectExtractor.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageScaler.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSegmentation.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Parallax.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageSearch.Stx",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageSearch.Stx.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Stx.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageSearch.Stx.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Data.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Stx.2_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageTextSearch.Stx.3_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.ImageTransform",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.ImageTransform.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageObjectRemover.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ }
+ ]
+ },
+ {
+ "Id": "Windows.Workload.PhiSilica.Stx",
+ "Packages": [
+ {
+ "FamilyName": "WindowsWorkload.Data.PhiSilica.Stx.1_8wekyb3d8bbwe",
+ "ManifestPackage": true
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageDescription.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.ImageLLMAdapter.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Data.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.LanguageModel.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.Manager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSOnnxRuntime.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Data.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.PSTokenizerShared.Stx.4.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.SessionManager.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Data.1_8wekyb3d8bbwe"
+ },
+ {
+ "FamilyName": "WindowsWorkload.TextContentModeration.Stx.1_8wekyb3d8bbwe"
+ }
+ ]
+ }
+ ],
+ "ApiInfos": [
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageForegroundExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageSegmenterSession",
+ "Workload": "Windows.Workload.ImageProcessing.Stx",
+ "SessionPackage": "WindowsWorkload.ImageSegmentation.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectExtractor",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectExtractorSession",
+ "Workload": "Windows.Workload.ImageProcessing.Stx",
+ "SessionPackage": "WindowsWorkload.ImageObjectExtractor.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageScaler",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageScalerSession",
+ "Workload": "Windows.Workload.ImageProcessing.Stx",
+ "SessionPackage": "WindowsWorkload.ImageScaler.Stx.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageObjectRemover",
+ "SessionClassName": "Microsoft.Graphics.Internal.Imaging.ImageObjectRemoverSession",
+ "Workload": "Windows.Workload.ImageTransform",
+ "SessionPackage": "WindowsWorkload.ImageObjectRemover.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Search.Experimental.ImageSearchEmbeddingsCreator+Image",
+ "SessionClassName": "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Workload": "Windows.Workload.ImageSearch.Stx",
+ "SessionPackage": "WindowsWorkload.ImageSearch.Stx.3_8wekyb3d8bbwe",
+ "VectorSpaceId": "7DF9C12E-2031-4DC9-99AB-CEF774D84EB2"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.TextRecognizer",
+ "SessionClassName": "Microsoft.Windows.Internal.Vision.TextRecognizerSession",
+ "Workload": "Windows.Workload.ContentExtraction.Stx",
+ "SessionPackage": "WindowsWorkload.TextRecognition.Stx.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.Experimental.ImageLLMAdapterCreator",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Workload": "Windows.Workload.PhiSilica.Stx",
+ "SessionPackage": "WindowsWorkload.ImageLLMAdapter.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionPipeline",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Workload": "Windows.Workload.PhiSilica.Stx",
+ "SessionPackage": "WindowsWorkload.ImageDescription.Stx.1_8wekyb3d8bbwe"
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Text.LanguageModel",
+ "SessionClassName": "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Workload": "Windows.Workload.PhiSilica.Stx",
+ "SessionPackage": "WindowsWorkload.LanguageModel.Stx.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageGenerator",
+ "SessionClassName": "Microsoft.Windows.Internal.ImageCreation.ImageGeneratorSession",
+ "Workload": "Windows.Workload.ImageCreation.Stx",
+ "SessionPackage": "WindowsWorkload.ImageGenerator.Stx.1_8wekyb3d8bbwe",
+ "Public": true
+ },
+ {
+ "ApiClassName": "Microsoft.Windows.AI.Imaging.ImageDescriptionGenerator",
+ "RequiredSessions": [
+ "Microsoft.Windows.Internal.AI.Generative.ImageDescriptionSession",
+ "Microsoft.Windows.Internal.AI.Generative.LanguageModelSession",
+ "Microsoft.Windows.Internal.SemanticSearch.ImageSearchImageEmbeddingsSession",
+ "Microsoft.Windows.Internal.AI.Generative.ImageLLMAdapterSession",
+ "Microsoft.Windows.Internal.Vision.TextRecognizerSession"
+ ],
+ "Public": true
+ }
+ ]
+}
diff --git a/authoring-ui/codex-build/wuceffectsi.dll b/authoring-ui/codex-build/wuceffectsi.dll
new file mode 100644
index 0000000..f87e2f7
Binary files /dev/null and b/authoring-ui/codex-build/wuceffectsi.dll differ
diff --git a/authoring-ui/codex-build/zh-CN/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/zh-CN/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..17a8e39
Binary files /dev/null and b/authoring-ui/codex-build/zh-CN/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/zh-CN/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/zh-CN/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..85a3afa
Binary files /dev/null and b/authoring-ui/codex-build/zh-CN/Microsoft.ui.xaml.dll.mui differ
diff --git a/authoring-ui/codex-build/zh-TW/Microsoft.UI.Xaml.Phone.dll.mui b/authoring-ui/codex-build/zh-TW/Microsoft.UI.Xaml.Phone.dll.mui
new file mode 100644
index 0000000..e394dc7
Binary files /dev/null and b/authoring-ui/codex-build/zh-TW/Microsoft.UI.Xaml.Phone.dll.mui differ
diff --git a/authoring-ui/codex-build/zh-TW/Microsoft.ui.xaml.dll.mui b/authoring-ui/codex-build/zh-TW/Microsoft.ui.xaml.dll.mui
new file mode 100644
index 0000000..a79bdf2
Binary files /dev/null and b/authoring-ui/codex-build/zh-TW/Microsoft.ui.xaml.dll.mui differ