using System.Text.Json.Serialization;
namespace AnthropicClient.Models;
///
/// Represents a response to a batch of messages.
///
public class MessageBatchResponse
{
///
/// Gets the identifier of the batch.
///
public string Id { get; init; } = string.Empty;
///
/// Gets the type of the batch.
///
public string Type { get; init; } = string.Empty;
///
/// Gets the processing status of the batch.
///
[JsonPropertyName("processing_status")]
public string ProcessingStatus { get; init; } = string.Empty;
///
/// Gets the counts of requests in the batch.
///
[JsonPropertyName("request_counts")]
public MessageBatchRequestCounts RequestCounts { get; init; } = new MessageBatchRequestCounts();
///
/// Gets the date and time when the batch ended.
///
[JsonPropertyName("ended_at")]
public DateTimeOffset EndedAt { get; init; }
///
/// Gets the date and time when the batch was created.
///
[JsonPropertyName("created_at")]
public DateTimeOffset CreatedAt { get; init; }
///
/// Gets the date and time when the batch expires.
///
[JsonPropertyName("expires_at")]
public DateTimeOffset ExpiresAt { get; init; }
///
/// Gets the date and time when the batch was archived.
///
[JsonPropertyName("archived_at")]
public DateTimeOffset ArchivedAt { get; init; }
///
/// Gets the date and time when the batch cancellation was initiated.
///
[JsonPropertyName("cancel_initiated_at")]
public DateTimeOffset CancelInitiatedAt { get; init; }
///
/// Gets the URL to the results of the batch.
///
[JsonPropertyName("results_url")]
public string ResultsUrl { get; init; } = string.Empty;
}
///
/// Represents the counts of requests in a batch of messages.
///
public class MessageBatchRequestCounts
{
///
/// Gets the number of requests in the batch that are processing.
///
public int Processing { get; init; }
///
/// Gets the number of requests in the batch that succeeded.
///
public int Succeeded { get; init; }
///
/// Gets the number of requests in the batch that errored.
///
public int Errored { get; init; }
///
/// Gets the number of requests in the batch that were cancelled.
///
public int Canceled { get; init; }
///
/// Gets the number of requests in the batch that expired.
///
public int Expired { get; init; }
}