diff --git a/src/libs/V0/Generated/V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatus.g.cs b/src/libs/V0/Generated/V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatus.g.cs new file mode 100644 index 0000000..ac1419c --- /dev/null +++ b/src/libs/V0/Generated/V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatus.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace V0.JsonConverters +{ + /// + public sealed class ReportsGetUsageResponseDataItemCostBreakdownStatusJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatusExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatusExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/V0/Generated/V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatusNullable.g.cs b/src/libs/V0/Generated/V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatusNullable.g.cs new file mode 100644 index 0000000..a7172d5 --- /dev/null +++ b/src/libs/V0/Generated/V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatusNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace V0.JsonConverters +{ + /// + public sealed class ReportsGetUsageResponseDataItemCostBreakdownStatusNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatusExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatusExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/V0/Generated/V0.JsonSerializerContext.g.cs b/src/libs/V0/Generated/V0.JsonSerializerContext.g.cs index e97e972..8c0f229 100644 --- a/src/libs/V0/Generated/V0.JsonSerializerContext.g.cs +++ b/src/libs/V0/Generated/V0.JsonSerializerContext.g.cs @@ -353,6 +353,10 @@ namespace V0 typeof(global::V0.JsonConverters.ReportsGetUsageResponseDataItemTypeNullableJsonConverter), + typeof(global::V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatusJsonConverter), + + typeof(global::V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatusNullableJsonConverter), + typeof(global::V0.JsonConverters.ReportsGetUserActivityResponseDataItemUserTeamV0RoleJsonConverter), typeof(global::V0.JsonConverters.ReportsGetUserActivityResponseDataItemUserTeamV0RoleNullableJsonConverter), @@ -752,6 +756,7 @@ namespace V0 [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::V0.ReportsGetUsageResponseDataItem))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::V0.ReportsGetUsageResponseDataItemType), TypeInfoPropertyName = "ReportsGetUsageResponseDataItemType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus), TypeInfoPropertyName = "ReportsGetUsageResponseDataItemCostBreakdownStatus2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::V0.ReportsGetUsageResponsePagination))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::V0.ReportsGetUsageResponseMeta))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::V0.ReportsGetAIUsageResponse))] diff --git a/src/libs/V0/Generated/V0.JsonSerializerContextTypes.g.cs b/src/libs/V0/Generated/V0.JsonSerializerContextTypes.g.cs index 8f7a990..0538e77 100644 --- a/src/libs/V0/Generated/V0.JsonSerializerContextTypes.g.cs +++ b/src/libs/V0/Generated/V0.JsonSerializerContextTypes.g.cs @@ -1369,139 +1369,143 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::V0.ReportsGetUsageResponsePagination? Type334 { get; set; } + public global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus? Type334 { get; set; } /// /// /// - public global::V0.ReportsGetUsageResponseMeta? Type335 { get; set; } + public global::V0.ReportsGetUsageResponsePagination? Type335 { get; set; } /// /// /// - public global::V0.ReportsGetAIUsageResponse? Type336 { get; set; } + public global::V0.ReportsGetUsageResponseMeta? Type336 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type337 { get; set; } + public global::V0.ReportsGetAIUsageResponse? Type337 { get; set; } /// /// /// - public global::V0.ReportsGetAIUsageResponseDataItem? Type338 { get; set; } + public global::System.Collections.Generic.IList? Type338 { get; set; } /// /// /// - public global::V0.ReportsGetAIUsageResponsePagination? Type339 { get; set; } + public global::V0.ReportsGetAIUsageResponseDataItem? Type339 { get; set; } /// /// /// - public global::V0.ReportsGetAIUsageResponseDateRange? Type340 { get; set; } + public global::V0.ReportsGetAIUsageResponsePagination? Type340 { get; set; } /// /// /// - public global::V0.ReportsGetUserActivityResponse? Type341 { get; set; } + public global::V0.ReportsGetAIUsageResponseDateRange? Type341 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type342 { get; set; } + public global::V0.ReportsGetUserActivityResponse? Type342 { get; set; } /// /// /// - public global::V0.ReportsGetUserActivityResponseDataItem? Type343 { get; set; } + public global::System.Collections.Generic.IList? Type343 { get; set; } /// /// /// - public global::V0.ReportsGetUserActivityResponseDataItemUser? Type344 { get; set; } + public global::V0.ReportsGetUserActivityResponseDataItem? Type344 { get; set; } /// /// /// - public global::V0.ReportsGetUserActivityResponseDataItemUserTeamV0Role? Type345 { get; set; } + public global::V0.ReportsGetUserActivityResponseDataItemUser? Type345 { get; set; } /// /// /// - public global::V0.ReportsGetUserActivityResponseMeta? Type346 { get; set; } + public global::V0.ReportsGetUserActivityResponseDataItemUserTeamV0Role? Type346 { get; set; } /// /// /// - public global::V0.ReportsGetUserActivityResponseMetaDateRange? Type347 { get; set; } + public global::V0.ReportsGetUserActivityResponseMeta? Type347 { get; set; } /// /// /// - public global::V0.McpServersFindResponse? Type348 { get; set; } + public global::V0.ReportsGetUserActivityResponseMetaDateRange? Type348 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type349 { get; set; } + public global::V0.McpServersFindResponse? Type349 { get; set; } /// /// /// - public global::V0.McpServersFindResponseDataItem? Type350 { get; set; } + public global::System.Collections.Generic.IList? Type350 { get; set; } /// /// /// - public global::V0.McpServersFindResponseDataItemAuth? Type351 { get; set; } + public global::V0.McpServersFindResponseDataItem? Type351 { get; set; } /// /// /// - public global::V0.McpServersFindResponseDataItemAuthType? Type352 { get; set; } + public global::V0.McpServersFindResponseDataItemAuth? Type352 { get; set; } /// /// /// - public global::V0.McpServersFindResponseDataItemScope? Type353 { get; set; } + public global::V0.McpServersFindResponseDataItemAuthType? Type353 { get; set; } /// /// /// - public global::V0.McpServersCreateResponse? Type354 { get; set; } + public global::V0.McpServersFindResponseDataItemScope? Type354 { get; set; } /// /// /// - public global::V0.McpServersCreateResponseAuth? Type355 { get; set; } + public global::V0.McpServersCreateResponse? Type355 { get; set; } /// /// /// - public global::V0.McpServersCreateResponseAuthType? Type356 { get; set; } + public global::V0.McpServersCreateResponseAuth? Type356 { get; set; } /// /// /// - public global::V0.McpServersCreateResponseScope? Type357 { get; set; } + public global::V0.McpServersCreateResponseAuthType? Type357 { get; set; } /// /// /// - public global::V0.McpServersGetByIdResponse? Type358 { get; set; } + public global::V0.McpServersCreateResponseScope? Type358 { get; set; } /// /// /// - public global::V0.McpServersGetByIdResponseAuth? Type359 { get; set; } + public global::V0.McpServersGetByIdResponse? Type359 { get; set; } /// /// /// - public global::V0.McpServersGetByIdResponseAuthType? Type360 { get; set; } + public global::V0.McpServersGetByIdResponseAuth? Type360 { get; set; } /// /// /// - public global::V0.McpServersGetByIdResponseScope? Type361 { get; set; } + public global::V0.McpServersGetByIdResponseAuthType? Type361 { get; set; } /// /// /// - public global::V0.McpServersUpdateResponse? Type362 { get; set; } + public global::V0.McpServersGetByIdResponseScope? Type362 { get; set; } /// /// /// - public global::V0.McpServersUpdateResponseAuth? Type363 { get; set; } + public global::V0.McpServersUpdateResponse? Type363 { get; set; } /// /// /// - public global::V0.McpServersUpdateResponseAuthType? Type364 { get; set; } + public global::V0.McpServersUpdateResponseAuth? Type364 { get; set; } /// /// /// - public global::V0.McpServersUpdateResponseScope? Type365 { get; set; } + public global::V0.McpServersUpdateResponseAuthType? Type365 { get; set; } /// /// /// - public global::V0.McpServersDeleteResponse? Type366 { get; set; } + public global::V0.McpServersUpdateResponseScope? Type366 { get; set; } /// /// /// - public global::V0.McpServersCreateOAuthAuthorizationUrlResponse? Type367 { get; set; } + public global::V0.McpServersDeleteResponse? Type367 { get; set; } + /// + /// + /// + public global::V0.McpServersCreateOAuthAuthorizationUrlResponse? Type368 { get; set; } /// /// diff --git a/src/libs/V0/Generated/V0.Models.ReportsGetUsageResponseDataItem.g.cs b/src/libs/V0/Generated/V0.Models.ReportsGetUsageResponseDataItem.g.cs index 324fc17..47115f3 100644 --- a/src/libs/V0/Generated/V0.Models.ReportsGetUsageResponseDataItem.g.cs +++ b/src/libs/V0/Generated/V0.Models.ReportsGetUsageResponseDataItem.g.cs @@ -41,6 +41,13 @@ public sealed partial class ReportsGetUsageResponseDataItem [global::System.Text.Json.Serialization.JsonPropertyName("completionCost")] public string? CompletionCost { get; set; } + /// + /// Whether the cost components are estimated or unavailable. Unavailable components are omitted; totalCost remains authoritative. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("costBreakdownStatus")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::V0.JsonConverters.ReportsGetUsageResponseDataItemCostBreakdownStatusJsonConverter))] + public global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus? CostBreakdownStatus { get; set; } + /// /// /// @@ -96,6 +103,9 @@ public sealed partial class ReportsGetUsageResponseDataItem /// /// /// + /// + /// Whether the cost components are estimated or unavailable. Unavailable components are omitted; totalCost remains authoritative. + /// /// /// /// @@ -115,6 +125,7 @@ public ReportsGetUsageResponseDataItem( global::V0.ReportsGetUsageResponseDataItemType? type, string? promptCost, string? completionCost, + global::V0.ReportsGetUsageResponseDataItemCostBreakdownStatus? costBreakdownStatus, string? chatId, string? messageId, string? userId, @@ -126,6 +137,7 @@ public ReportsGetUsageResponseDataItem( this.Type = type; this.PromptCost = promptCost; this.CompletionCost = completionCost; + this.CostBreakdownStatus = costBreakdownStatus; this.TotalCost = totalCost ?? throw new global::System.ArgumentNullException(nameof(totalCost)); this.ChatId = chatId; this.MessageId = messageId; diff --git a/src/libs/V0/Generated/V0.Models.ReportsGetUsageResponseDataItemCostBreakdownStatus.g.cs b/src/libs/V0/Generated/V0.Models.ReportsGetUsageResponseDataItemCostBreakdownStatus.g.cs new file mode 100644 index 0000000..44c1998 --- /dev/null +++ b/src/libs/V0/Generated/V0.Models.ReportsGetUsageResponseDataItemCostBreakdownStatus.g.cs @@ -0,0 +1,51 @@ + +#nullable enable + +namespace V0 +{ + /// + /// Whether the cost components are estimated or unavailable. Unavailable components are omitted; totalCost remains authoritative. + /// + public enum ReportsGetUsageResponseDataItemCostBreakdownStatus + { + /// + /// + /// + Estimated, + /// + /// + /// + Unavailable, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ReportsGetUsageResponseDataItemCostBreakdownStatusExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ReportsGetUsageResponseDataItemCostBreakdownStatus value) + { + return value switch + { + ReportsGetUsageResponseDataItemCostBreakdownStatus.Estimated => "estimated", + ReportsGetUsageResponseDataItemCostBreakdownStatus.Unavailable => "unavailable", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ReportsGetUsageResponseDataItemCostBreakdownStatus? ToEnum(string value) + { + return value switch + { + "estimated" => ReportsGetUsageResponseDataItemCostBreakdownStatus.Estimated, + "unavailable" => ReportsGetUsageResponseDataItemCostBreakdownStatus.Unavailable, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/V0/openapi.yaml b/src/libs/V0/openapi.yaml index 910028e..eb3c068 100644 --- a/src/libs/V0/openapi.yaml +++ b/src/libs/V0/openapi.yaml @@ -5516,6 +5516,12 @@ paths: type: string completionCost: type: string + costBreakdownStatus: + description: Whether the cost components are estimated or unavailable. Unavailable components are omitted; totalCost remains authoritative. + type: string + enum: + - estimated + - unavailable totalCost: type: string chatId: