using System.ClientModel.Primitives;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Text.Json;
namespace OpenAI.Assistants;
///
/// The update type presented when the status of a message changes.
///
[Experimental("OPENAI001")]
public class MessageStatusUpdate : StreamingUpdate
{
internal MessageStatusUpdate(ThreadMessage message, StreamingUpdateReason updateKind)
: base(message, updateKind)
{ }
internal static IEnumerable DeserializeMessageStatusUpdates(
JsonElement element,
StreamingUpdateReason updateKind,
ModelReaderWriterOptions options = null)
{
ThreadMessage message = ThreadMessage.DeserializeThreadMessage(element, options);
return updateKind switch
{
_ => [new MessageStatusUpdate(message, updateKind)],
};
}
}