namespace OpenAI.Assistants;
internal static class StreamingUpdateReasonExtensions
{
internal static string ToSseEventLabel(this StreamingUpdateReason value) => value switch
{
StreamingUpdateReason.ThreadCreated => "thread.created",
StreamingUpdateReason.RunCreated => "thread.run.created",
StreamingUpdateReason.RunQueued => "thread.run.queued",
StreamingUpdateReason.RunInProgress => "thread.run.in_progress",
StreamingUpdateReason.RunRequiresAction => "thread.run.requires_action",
StreamingUpdateReason.RunCompleted => "thread.run.completed",
StreamingUpdateReason.RunFailed => "thread.run.failed",
StreamingUpdateReason.RunCancelling => "thread.run.cancelling",
StreamingUpdateReason.RunCancelled => "thread.run.cancelled",
StreamingUpdateReason.RunExpired => "thread.run.expired",
StreamingUpdateReason.RunStepCreated => "thread.run.step.created",
StreamingUpdateReason.RunStepInProgress => "thread.run.step.in_progress",
StreamingUpdateReason.RunStepUpdated => "thread.run.step.delta",
StreamingUpdateReason.RunStepCompleted => "thread.run.step.completed",
StreamingUpdateReason.RunStepFailed => "thread.run.step.failed",
StreamingUpdateReason.RunStepCancelled => "thread.run.step.cancelled",
StreamingUpdateReason.RunStepExpired => "thread.run.step.expired",
StreamingUpdateReason.MessageCreated => "thread.message.created",
StreamingUpdateReason.MessageInProgress => "thread.message.in_progress",
StreamingUpdateReason.MessageUpdated => "thread.message.delta",
StreamingUpdateReason.MessageCompleted => "thread.message.completed",
StreamingUpdateReason.MessageFailed => "thread.message.incomplete",
StreamingUpdateReason.Error => "error",
StreamingUpdateReason.Done => "done",
_ => string.Empty
};
internal static StreamingUpdateReason FromSseEventLabel(string label) => label switch
{
"thread.created" => StreamingUpdateReason.ThreadCreated,
"thread.run.created" => StreamingUpdateReason.RunCreated,
"thread.run.queued" => StreamingUpdateReason.RunQueued,
"thread.run.in_progress" => StreamingUpdateReason.RunInProgress,
"thread.run.requires_action" => StreamingUpdateReason.RunRequiresAction,
"thread.run.completed" => StreamingUpdateReason.RunCompleted,
"thread.run.incomplete" => StreamingUpdateReason.RunIncomplete,
"thread.run.failed" => StreamingUpdateReason.RunFailed,
"thread.run.cancelling" => StreamingUpdateReason.RunCancelling,
"thread.run.cancelled" => StreamingUpdateReason.RunCancelled,
"thread.run.expired" => StreamingUpdateReason.RunExpired,
"thread.run.step.created" => StreamingUpdateReason.RunStepCreated,
"thread.run.step.in_progress" => StreamingUpdateReason.RunStepInProgress,
"thread.run.step.delta" => StreamingUpdateReason.RunStepUpdated,
"thread.run.step.completed" => StreamingUpdateReason.RunStepCompleted,
"thread.run.step.failed" => StreamingUpdateReason.RunStepFailed,
"thread.run.step.cancelled" => StreamingUpdateReason.RunStepCancelled,
"thread.run.step.expired" => StreamingUpdateReason.RunStepExpired,
"thread.message.created" => StreamingUpdateReason.MessageCreated,
"thread.message.in_progress" => StreamingUpdateReason.MessageInProgress,
"thread.message.delta" => StreamingUpdateReason.MessageUpdated,
"thread.message.completed" => StreamingUpdateReason.MessageCompleted,
"thread.message.incomplete" => StreamingUpdateReason.MessageFailed,
"error" => StreamingUpdateReason.Error,
"done" => StreamingUpdateReason.Done,
_ => StreamingUpdateReason.Unknown,
};
}openai/openai-dotnet
Publicmirrored from https://github.com/openai/openai-dotnetAvailable
src/Custom/Assistants/Streaming/StreamingUpdateReason.Serialization.cs
63lines · modepreview