diff --git a/src/cli/Gamma.CLI/CliRuntime.cs b/src/cli/Gamma.CLI/CliRuntime.cs index 4339648..1779bd3 100644 --- a/src/cli/Gamma.CLI/CliRuntime.cs +++ b/src/cli/Gamma.CLI/CliRuntime.cs @@ -17,7 +17,7 @@ internal static class CliRuntime private static readonly string[] ApiKeyEnvironmentVariables = [@"GAMMA_API_KEY"]; private const string CredentialFileDirectoryName = ".gamma"; - public static async Task CreateClientAsync(ParseResult parseResult, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task CreateClientAsync(ParseResult parseResult, CancellationToken cancellationToken = default) { var apiKey = await TryResolveApiKeyAsync(parseResult, cancellationToken).ConfigureAwait(false); var authorizations = string.IsNullOrWhiteSpace(apiKey) @@ -46,7 +46,7 @@ internal static class CliRuntime "Design", "CA1031:Do not catch general exception types", Justification = "Generated CLI commands map unexpected failures to a stable exit code.")] - public static async Task RunAsync(Func action, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task RunAsync(Func action, CancellationToken cancellationToken = default) { try { @@ -75,13 +75,13 @@ public static async Task RunAsync(Func action, CancellationToken canc } } - public static async Task TryResolveApiKeyAsync(ParseResult parseResult, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task TryResolveApiKeyAsync(ParseResult parseResult, CancellationToken cancellationToken = default) { var probe = await ProbeAuthAsync(parseResult, cancellationToken).ConfigureAwait(false); return probe.Active?.RawValue; } - public static async Task GetAuthStatusAsync(ParseResult parseResult, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task GetAuthStatusAsync(ParseResult parseResult, CancellationToken cancellationToken = default) { var probe = await ProbeAuthAsync(parseResult, cancellationToken).ConfigureAwait(false); return new AuthStatusInfo( @@ -98,7 +98,7 @@ public static async Task GetAuthStatusAsync(ParseResult parseRes .ToArray()); } - public static async Task WriteUserSecretAsync(string name, string value, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task WriteUserSecretAsync(string name, string value, CancellationToken cancellationToken = default) { var path = GetUserSecretsPath(); var directory = Path.GetDirectoryName(path); @@ -113,7 +113,7 @@ public static async Task WriteUserSecretAsync(string name, string value, Cancell await File.WriteAllTextAsync(path, json, cancellationToken).ConfigureAwait(false); } - public static async Task ClearUserSecretAsync(string name, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task ClearUserSecretAsync(string name, CancellationToken cancellationToken = default) { var path = GetUserSecretsPath(); if (!File.Exists(path)) @@ -241,7 +241,7 @@ public static TimeSpan ParseDuration(string value, string optionName) - public static async Task ReadInputAsync( + public static async global::System.Threading.Tasks.Task ReadInputAsync( ParseResult parseResult, Option inputOption, Option requestJsonOption, @@ -284,7 +284,7 @@ public static TimeSpan ParseDuration(string value, string optionName) return await ReadFlexibleInputAsync(parseResult.GetValue(inputOption)!, cancellationToken).ConfigureAwait(false); } - public static async Task ReadRequestAsync( + public static async global::System.Threading.Tasks.Task ReadRequestAsync( ParseResult parseResult, Option inputOption, Option requestJsonOption, @@ -306,7 +306,7 @@ public static async Task ReadRequestAsync( : throw new CliException($"Unable to deserialize request JSON as {typeof(T).Name}."); } - public static async Task ReadRequestOrDefaultAsync( + public static async global::System.Threading.Tasks.Task ReadRequestOrDefaultAsync( ParseResult parseResult, Option inputOption, Option requestJsonOption, @@ -367,19 +367,19 @@ public static string SerializeStringArray(IEnumerable values) return JsonSerializer.Serialize(values.ToArray()); } - public static async Task WriteJsonAsync(ParseResult parseResult, T value, JsonSerializerContext context, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task WriteJsonAsync(ParseResult parseResult, T value, JsonSerializerContext context, CancellationToken cancellationToken = default) { var json = JsonSerializer.Serialize(value, typeof(T), context); await WriteTextAsync(parseResult, PrettyJson(json), cancellationToken: cancellationToken).ConfigureAwait(false); } - public static async Task WriteJsonLineAsync(ParseResult parseResult, T value, JsonSerializerContext context, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task WriteJsonLineAsync(ParseResult parseResult, T value, JsonSerializerContext context, CancellationToken cancellationToken = default) { var json = JsonSerializer.Serialize(value, typeof(T), context); await WriteTextAsync(parseResult, json + Environment.NewLine, append: true, cancellationToken: cancellationToken).ConfigureAwait(false); } - public static async Task WriteResponseAsync( + public static async global::System.Threading.Tasks.Task WriteResponseAsync( ParseResult parseResult, T value, JsonSerializerContext context, @@ -399,7 +399,7 @@ public static async Task WriteResponseAsync( await WriteTextAsync(parseResult, text, cancellationToken: cancellationToken).ConfigureAwait(false); } - public static async Task WriteResponseLineAsync( + public static async global::System.Threading.Tasks.Task WriteResponseLineAsync( ParseResult parseResult, T value, JsonSerializerContext context, @@ -419,7 +419,7 @@ public static async Task WriteResponseLineAsync( await WriteTextAsync(parseResult, text + Environment.NewLine, append: true, cancellationToken: cancellationToken).ConfigureAwait(false); } - public static async Task TryWriteOutputDirectoryAsync( + public static async global::System.Threading.Tasks.Task TryWriteOutputDirectoryAsync( ParseResult parseResult, T value, JsonSerializerContext context, @@ -445,7 +445,7 @@ public static async Task TryWriteOutputDirectoryAsync( return true; } - public static async Task WriteSuccessAsync(ParseResult parseResult, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task WriteSuccessAsync(ParseResult parseResult, CancellationToken cancellationToken = default) { if (parseResult.GetValue(CliOptions.Json)) { @@ -456,7 +456,7 @@ public static async Task WriteSuccessAsync(ParseResult parseResult, Cancellation await WriteTextAsync(parseResult, "success: true", cancellationToken: cancellationToken).ConfigureAwait(false); } - public static async Task WriteBinaryAsync(ParseResult parseResult, byte[] bytes, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task WriteBinaryAsync(ParseResult parseResult, byte[] bytes, CancellationToken cancellationToken = default) { var outputPath = parseResult.GetValue(CliOptions.Output); if (string.IsNullOrWhiteSpace(outputPath)) @@ -467,7 +467,7 @@ public static async Task WriteBinaryAsync(ParseResult parseResult, byte[] bytes, await WriteBytesAsync(outputPath, bytes, cancellationToken).ConfigureAwait(false); } - public static async Task WriteStreamAsync(ParseResult parseResult, Stream stream, CancellationToken cancellationToken = default) + public static async global::System.Threading.Tasks.Task WriteStreamAsync(ParseResult parseResult, Stream stream, CancellationToken cancellationToken = default) { var outputPath = parseResult.GetValue(CliOptions.Output); if (string.IsNullOrWhiteSpace(outputPath)) @@ -504,13 +504,13 @@ public static string MaskSecret(string secret) return string.IsNullOrWhiteSpace(baseUrl) ? null : new Uri(baseUrl, UriKind.Absolute); } - private static async Task ReadUserSecretAsync(string name, CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task ReadUserSecretAsync(string name, CancellationToken cancellationToken = default) { var values = await ReadUserSecretsAsync(cancellationToken).ConfigureAwait(false); return values.TryGetValue(name, out var value) && !string.IsNullOrWhiteSpace(value) ? value : null; } - private static async Task ReadCredentialFileAsync(CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task ReadCredentialFileAsync(CancellationToken cancellationToken = default) { var path = GetCredentialFilePath(); if (string.IsNullOrWhiteSpace(path) || !File.Exists(path)) @@ -522,7 +522,7 @@ public static string MaskSecret(string secret) return string.IsNullOrWhiteSpace(value) ? null : value.Trim(); } - private static async Task> ReadUserSecretsAsync(CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task> ReadUserSecretsAsync(CancellationToken cancellationToken = default) { var path = GetUserSecretsPath(); if (!File.Exists(path)) @@ -540,7 +540,7 @@ private static async Task> ReadUserSecretsAsync(Cance new Dictionary(StringComparer.Ordinal); } - private static async Task WriteTextAsync(ParseResult parseResult, string text, bool append = false, CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task WriteTextAsync(ParseResult parseResult, string text, bool append = false, CancellationToken cancellationToken = default) { var outputPath = parseResult.GetValue(CliOptions.Output); if (string.IsNullOrWhiteSpace(outputPath)) @@ -570,7 +570,7 @@ private static async Task WriteTextAsync(ParseResult parseResult, string text, b } } - private static async Task WriteBytesAsync(string outputPath, byte[] bytes, CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task WriteBytesAsync(string outputPath, byte[] bytes, CancellationToken cancellationToken = default) { var directory = Path.GetDirectoryName(outputPath); if (!string.IsNullOrWhiteSpace(directory)) @@ -586,12 +586,12 @@ private static bool EndsWithUnit(string value, char unit) return value.Length > 1 && value[^1] == unit; } - private static async Task WriteDeprecatedOptionWarningAsync(string oldOption, string replacement) + private static async global::System.Threading.Tasks.Task WriteDeprecatedOptionWarningAsync(string oldOption, string replacement) { await Console.Error.WriteLineAsync($"Warning: {oldOption} is deprecated; use {replacement}.").ConfigureAwait(false); } - private static async Task ReadFlexibleInputAsync(string input, CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task ReadFlexibleInputAsync(string input, CancellationToken cancellationToken = default) { if (string.IsNullOrWhiteSpace(input)) { @@ -612,7 +612,7 @@ private static async Task ReadFlexibleInputAsync(string input, Cancellat return await ReadFileOrStdinAsync(input, cancellationToken).ConfigureAwait(false); } - private static async Task ReadFileOrStdinAsync(string pathOrDash, CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task ReadFileOrStdinAsync(string pathOrDash, CancellationToken cancellationToken = default) { if (pathOrDash == "-") { @@ -830,7 +830,7 @@ private static void AppendLine(StringBuilder builder, int indent, string value) builder.AppendLine(value); } - private static async Task WriteItemFilesAsync(string outputDirectory, JsonArray items, CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task WriteItemFilesAsync(string outputDirectory, JsonArray items, CancellationToken cancellationToken = default) { Directory.CreateDirectory(outputDirectory); @@ -880,7 +880,7 @@ await File.WriteAllTextAsync( } } - private static async Task TryWriteTextPropertyAsync( + private static async global::System.Threading.Tasks.Task TryWriteTextPropertyAsync( JsonObject item, string outputDirectory, string baseName, @@ -946,7 +946,7 @@ private static string SanitizeFileName(string value) return normalized; } - private static async Task WriteApiExceptionAsync(global::Gamma.ApiException exception) + private static async global::System.Threading.Tasks.Task WriteApiExceptionAsync(global::Gamma.ApiException exception) { var builder = new StringBuilder(); builder.Append("API error "); @@ -974,7 +974,7 @@ private static string PrettyJson(string json) return Encoding.UTF8.GetString(stream.ToArray()); } - private static async Task ProbeAuthAsync(ParseResult parseResult, CancellationToken cancellationToken = default) + private static async global::System.Threading.Tasks.Task ProbeAuthAsync(ParseResult parseResult, CancellationToken cancellationToken = default) { var optionSource = new AuthSourceProbe( Source: "option", diff --git a/src/cli/Gamma.CLI/Commands/PublicApiCreateFromTemplateGenerationCommandApiCommand.g.cs b/src/cli/Gamma.CLI/Commands/PublicApiCreateFromTemplateGenerationCommandApiCommand.g.cs index 3c2d096..f7369fa 100644 --- a/src/cli/Gamma.CLI/Commands/PublicApiCreateFromTemplateGenerationCommandApiCommand.g.cs +++ b/src/cli/Gamma.CLI/Commands/PublicApiCreateFromTemplateGenerationCommandApiCommand.g.cs @@ -118,15 +118,15 @@ await CliRuntime.RunAsync(async () => RequestFile, global::Gamma.SourceGenerationContext.Default, cancellationToken).ConfigureAwait(false); - var exportAs = CliRuntime.WasSpecified(parseResult, ExportAs) ? parseResult.GetValue(ExportAs) : __requestBase is not null ? __requestBase.ExportAs : default; + var exportAs = CliRuntime.WasSpecified(parseResult, ExportAs) ? parseResult.GetValue(ExportAs) : (__requestBase is { } __ExportAsBaseValue ? __ExportAsBaseValue.ExportAs : default); var prompt = parseResult.GetRequiredValue(Prompt); var gammaId = parseResult.GetRequiredValue(GammaId); - var themeId = CliRuntime.WasSpecified(parseResult, ThemeId) ? parseResult.GetValue(ThemeId) : __requestBase is not null ? __requestBase.ThemeId : default; - var imageOptions = CliRuntime.WasSpecified(parseResult, ImageOptions) ? parseResult.GetValue(ImageOptions) : __requestBase is not null ? __requestBase.ImageOptions : default; - var folderIds = CliRuntime.WasSpecified(parseResult, FolderIds) ? parseResult.GetValue(FolderIds) : __requestBase is not null ? __requestBase.FolderIds : default; + var themeId = CliRuntime.WasSpecified(parseResult, ThemeId) ? parseResult.GetValue(ThemeId) : (__requestBase is { } __ThemeIdBaseValue ? __ThemeIdBaseValue.ThemeId : default); + var imageOptions = CliRuntime.WasSpecified(parseResult, ImageOptions) ? parseResult.GetValue(ImageOptions) : (__requestBase is { } __ImageOptionsBaseValue ? __ImageOptionsBaseValue.ImageOptions : default); + var folderIds = CliRuntime.WasSpecified(parseResult, FolderIds) ? parseResult.GetValue(FolderIds) : (__requestBase is { } __FolderIdsBaseValue ? __FolderIdsBaseValue.FolderIds : default); - var __sharingOptionsBase = __requestBase?.SharingOptions; var sharingOptionsWorkspaceAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.WorkspaceAccess) ? parseResult.GetValue(SharingOptionsOptions.WorkspaceAccess) : __sharingOptionsBase is not null ? __sharingOptionsBase.WorkspaceAccess : default; - var sharingOptionsExternalAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.ExternalAccess) ? parseResult.GetValue(SharingOptionsOptions.ExternalAccess) : __sharingOptionsBase is not null ? __sharingOptionsBase.ExternalAccess : default; + var __sharingOptionsBase = __requestBase is { } __SharingOptionsBaseValue ? __SharingOptionsBaseValue.SharingOptions : default; var sharingOptionsWorkspaceAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.WorkspaceAccess) ? parseResult.GetValue(SharingOptionsOptions.WorkspaceAccess) : (__sharingOptionsBase is { } __SharingOptionsworkspaceAccessBaseValue ? __SharingOptionsworkspaceAccessBaseValue.WorkspaceAccess : default); + var sharingOptionsExternalAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.ExternalAccess) ? parseResult.GetValue(SharingOptionsOptions.ExternalAccess) : (__sharingOptionsBase is { } __SharingOptionsexternalAccessBaseValue ? __SharingOptionsexternalAccessBaseValue.ExternalAccess : default); var __sharingOptionsSpecified = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.WorkspaceAccess) || CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.ExternalAccess); var sharingOptions = __sharingOptionsSpecified || __sharingOptionsBase is not null diff --git a/src/cli/Gamma.CLI/Commands/PublicApiCreateGenerationCommandApiCommand.g.cs b/src/cli/Gamma.CLI/Commands/PublicApiCreateGenerationCommandApiCommand.g.cs index 8dcb9e8..f44ca3d 100644 --- a/src/cli/Gamma.CLI/Commands/PublicApiCreateGenerationCommandApiCommand.g.cs +++ b/src/cli/Gamma.CLI/Commands/PublicApiCreateGenerationCommandApiCommand.g.cs @@ -159,21 +159,21 @@ await CliRuntime.RunAsync(async () => RequestFile, global::Gamma.SourceGenerationContext.Default, cancellationToken).ConfigureAwait(false); - var textMode = CliRuntime.WasSpecified(parseResult, TextMode) ? parseResult.GetValue(TextMode) : __requestBase is not null ? __requestBase.TextMode : default; - var format = CliRuntime.WasSpecified(parseResult, Format) ? parseResult.GetValue(Format) : __requestBase is not null ? __requestBase.Format : default; - var cardSplit = CliRuntime.WasSpecified(parseResult, CardSplit) ? parseResult.GetValue(CardSplit) : __requestBase is not null ? __requestBase.CardSplit : default; - var exportAs = CliRuntime.WasSpecified(parseResult, ExportAs) ? parseResult.GetValue(ExportAs) : __requestBase is not null ? __requestBase.ExportAs : default; + var textMode = CliRuntime.WasSpecified(parseResult, TextMode) ? parseResult.GetValue(TextMode) : (__requestBase is { } __TextModeBaseValue ? __TextModeBaseValue.TextMode : default); + var format = CliRuntime.WasSpecified(parseResult, Format) ? parseResult.GetValue(Format) : (__requestBase is { } __FormatBaseValue ? __FormatBaseValue.Format : default); + var cardSplit = CliRuntime.WasSpecified(parseResult, CardSplit) ? parseResult.GetValue(CardSplit) : (__requestBase is { } __CardSplitBaseValue ? __CardSplitBaseValue.CardSplit : default); + var exportAs = CliRuntime.WasSpecified(parseResult, ExportAs) ? parseResult.GetValue(ExportAs) : (__requestBase is { } __ExportAsBaseValue ? __ExportAsBaseValue.ExportAs : default); var inputText = parseResult.GetRequiredValue(InputText); - var additionalInstructions = CliRuntime.WasSpecified(parseResult, AdditionalInstructions) ? parseResult.GetValue(AdditionalInstructions) : __requestBase is not null ? __requestBase.AdditionalInstructions : default; - var numCards = CliRuntime.WasSpecified(parseResult, NumCards) ? parseResult.GetValue(NumCards) : __requestBase is not null ? __requestBase.NumCards : default; - var themeId = CliRuntime.WasSpecified(parseResult, ThemeId) ? parseResult.GetValue(ThemeId) : __requestBase is not null ? __requestBase.ThemeId : default; - var textOptions = CliRuntime.WasSpecified(parseResult, TextOptions) ? parseResult.GetValue(TextOptions) : __requestBase is not null ? __requestBase.TextOptions : default; - var imageOptions = CliRuntime.WasSpecified(parseResult, ImageOptions) ? parseResult.GetValue(ImageOptions) : __requestBase is not null ? __requestBase.ImageOptions : default; - var cardOptions = CliRuntime.WasSpecified(parseResult, CardOptions) ? parseResult.GetValue(CardOptions) : __requestBase is not null ? __requestBase.CardOptions : default; - var folderIds = CliRuntime.WasSpecified(parseResult, FolderIds) ? parseResult.GetValue(FolderIds) : __requestBase is not null ? __requestBase.FolderIds : default; - - var __sharingOptionsBase = __requestBase?.SharingOptions; var sharingOptionsWorkspaceAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.WorkspaceAccess) ? parseResult.GetValue(SharingOptionsOptions.WorkspaceAccess) : __sharingOptionsBase is not null ? __sharingOptionsBase.WorkspaceAccess : default; - var sharingOptionsExternalAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.ExternalAccess) ? parseResult.GetValue(SharingOptionsOptions.ExternalAccess) : __sharingOptionsBase is not null ? __sharingOptionsBase.ExternalAccess : default; + var additionalInstructions = CliRuntime.WasSpecified(parseResult, AdditionalInstructions) ? parseResult.GetValue(AdditionalInstructions) : (__requestBase is { } __AdditionalInstructionsBaseValue ? __AdditionalInstructionsBaseValue.AdditionalInstructions : default); + var numCards = CliRuntime.WasSpecified(parseResult, NumCards) ? parseResult.GetValue(NumCards) : (__requestBase is { } __NumCardsBaseValue ? __NumCardsBaseValue.NumCards : default); + var themeId = CliRuntime.WasSpecified(parseResult, ThemeId) ? parseResult.GetValue(ThemeId) : (__requestBase is { } __ThemeIdBaseValue ? __ThemeIdBaseValue.ThemeId : default); + var textOptions = CliRuntime.WasSpecified(parseResult, TextOptions) ? parseResult.GetValue(TextOptions) : (__requestBase is { } __TextOptionsBaseValue ? __TextOptionsBaseValue.TextOptions : default); + var imageOptions = CliRuntime.WasSpecified(parseResult, ImageOptions) ? parseResult.GetValue(ImageOptions) : (__requestBase is { } __ImageOptionsBaseValue ? __ImageOptionsBaseValue.ImageOptions : default); + var cardOptions = CliRuntime.WasSpecified(parseResult, CardOptions) ? parseResult.GetValue(CardOptions) : (__requestBase is { } __CardOptionsBaseValue ? __CardOptionsBaseValue.CardOptions : default); + var folderIds = CliRuntime.WasSpecified(parseResult, FolderIds) ? parseResult.GetValue(FolderIds) : (__requestBase is { } __FolderIdsBaseValue ? __FolderIdsBaseValue.FolderIds : default); + + var __sharingOptionsBase = __requestBase is { } __SharingOptionsBaseValue ? __SharingOptionsBaseValue.SharingOptions : default; var sharingOptionsWorkspaceAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.WorkspaceAccess) ? parseResult.GetValue(SharingOptionsOptions.WorkspaceAccess) : (__sharingOptionsBase is { } __SharingOptionsworkspaceAccessBaseValue ? __SharingOptionsworkspaceAccessBaseValue.WorkspaceAccess : default); + var sharingOptionsExternalAccess = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.ExternalAccess) ? parseResult.GetValue(SharingOptionsOptions.ExternalAccess) : (__sharingOptionsBase is { } __SharingOptionsexternalAccessBaseValue ? __SharingOptionsexternalAccessBaseValue.ExternalAccess : default); var __sharingOptionsSpecified = CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.WorkspaceAccess) || CliRuntime.WasSpecified(parseResult, SharingOptionsOptions.ExternalAccess); var sharingOptions = __sharingOptionsSpecified || __sharingOptionsBase is not null