24 instantiations of RealtimeServerMessageType
Microsoft.Extensions.AI.Abstractions (18)
Realtime\RealtimeServerMessageType.cs (18)
46public static RealtimeServerMessageType RawContentOnly { get; } = new("RawContentOnly"); 49public static RealtimeServerMessageType InputAudioTranscriptionCompleted { get; } = new("InputAudioTranscriptionCompleted"); 52public static RealtimeServerMessageType InputAudioTranscriptionDelta { get; } = new("InputAudioTranscriptionDelta"); 55public static RealtimeServerMessageType InputAudioTranscriptionFailed { get; } = new("InputAudioTranscriptionFailed"); 58public static RealtimeServerMessageType OutputTextDelta { get; } = new("OutputTextDelta"); 61public static RealtimeServerMessageType OutputTextDone { get; } = new("OutputTextDone"); 64public static RealtimeServerMessageType OutputAudioTranscriptionDelta { get; } = new("OutputAudioTranscriptionDelta"); 67public static RealtimeServerMessageType OutputAudioTranscriptionDone { get; } = new("OutputAudioTranscriptionDone"); 70public static RealtimeServerMessageType OutputAudioDelta { get; } = new("OutputAudioDelta"); 73public static RealtimeServerMessageType OutputAudioDone { get; } = new("OutputAudioDone"); 76public static RealtimeServerMessageType ResponseDone { get; } = new("ResponseDone"); 79public static RealtimeServerMessageType ResponseCreated { get; } = new("ResponseCreated"); 82public static RealtimeServerMessageType ResponseOutputItemDone { get; } = new("ResponseOutputItemDone"); 85public static RealtimeServerMessageType ResponseOutputItemAdded { get; } = new("ResponseOutputItemAdded"); 88public static RealtimeServerMessageType ConversationItemAdded { get; } = new("ConversationItemAdded"); 91public static RealtimeServerMessageType ConversationItemDone { get; } = new("ConversationItemDone"); 94public static RealtimeServerMessageType Error { get; } = new("Error"); 157new(reader.GetString()!);
Microsoft.Extensions.AI.OpenAI (6)
OpenAIRealtimeClientSession.cs (6)
803Sdk.RealtimeServerUpdateResponseMcpCallInProgress e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new RealtimeServerMessageType("McpCallInProgress"), e), 804Sdk.RealtimeServerUpdateResponseMcpCallCompleted e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new RealtimeServerMessageType("McpCallCompleted"), e), 805Sdk.RealtimeServerUpdateResponseMcpCallFailed e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new RealtimeServerMessageType("McpCallFailed"), e), 806Sdk.RealtimeServerUpdateMcpListToolsInProgress e => MapMcpListToolsEvent(e.EventId, e.ItemId, new RealtimeServerMessageType("McpListToolsInProgress"), e), 807Sdk.RealtimeServerUpdateMcpListToolsCompleted e => MapMcpListToolsEvent(e.EventId, e.ItemId, new RealtimeServerMessageType("McpListToolsCompleted"), e), 808Sdk.RealtimeServerUpdateMcpListToolsFailed e => MapMcpListToolsEvent(e.EventId, e.ItemId, new RealtimeServerMessageType("McpListToolsFailed"), e),
147 references to RealtimeServerMessageType
Microsoft.Extensions.AI (13)
Realtime\FunctionInvokingRealtimeClientSession.cs (1)
163if (message is ResponseOutputItemRealtimeServerMessage responseOutputItemMessage && responseOutputItemMessage.Type == RealtimeServerMessageType.ResponseOutputItemDone)
Realtime\OpenTelemetryRealtimeClientSession.cs (12)
276responseDoneMsg.Type == RealtimeServerMessageType.ResponseDone) 327if (textAudio.Type == RealtimeServerMessageType.OutputTextDelta || textAudio.Type == RealtimeServerMessageType.OutputTextDone) 332if (textAudio.Type == RealtimeServerMessageType.OutputAudioDelta || textAudio.Type == RealtimeServerMessageType.OutputAudioDone) 337if (textAudio.Type == RealtimeServerMessageType.OutputAudioTranscriptionDelta || textAudio.Type == RealtimeServerMessageType.OutputAudioTranscriptionDone) 425if (textAudioMsg.Type == RealtimeServerMessageType.OutputAudioDelta || textAudioMsg.Type == RealtimeServerMessageType.OutputAudioDone) 430else if (textAudioMsg.Type == RealtimeServerMessageType.OutputAudioTranscriptionDelta || textAudioMsg.Type == RealtimeServerMessageType.OutputAudioTranscriptionDone) 475if (responseCreatedMsg.Type == RealtimeServerMessageType.ResponseCreated)
Microsoft.Extensions.AI.Abstractions (68)
Realtime\ErrorRealtimeServerMessage.cs (2)
13/// Used with the <see cref="RealtimeServerMessageType.Error"/>. 23Type = RealtimeServerMessageType.Error;
Realtime\InputAudioTranscriptionRealtimeServerMessage.cs (1)
25public InputAudioTranscriptionRealtimeServerMessage(RealtimeServerMessageType type)
Realtime\OutputTextAudioRealtimeServerMessage.cs (15)
20/// The <paramref name="type"/> should be <see cref="RealtimeServerMessageType.OutputTextDelta"/>, <see cref="RealtimeServerMessageType.OutputTextDone"/>, 21/// <see cref="RealtimeServerMessageType.OutputAudioTranscriptionDelta"/>, <see cref="RealtimeServerMessageType.OutputAudioTranscriptionDone"/>, 22/// <see cref="RealtimeServerMessageType.OutputAudioDelta"/>, or <see cref="RealtimeServerMessageType.OutputAudioDone"/>. 24public OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType type) 38/// Populated for <see cref="RealtimeServerMessageType.OutputTextDelta"/>, <see cref="RealtimeServerMessageType.OutputTextDone"/>, 39/// <see cref="RealtimeServerMessageType.OutputAudioTranscriptionDelta"/>, and <see cref="RealtimeServerMessageType.OutputAudioTranscriptionDone"/> messages. 40/// For audio messages (<see cref="RealtimeServerMessageType.OutputAudioDelta"/> and <see cref="RealtimeServerMessageType.OutputAudioDone"/>), 49/// Populated for <see cref="RealtimeServerMessageType.OutputAudioDelta"/> messages. 50/// For <see cref="RealtimeServerMessageType.OutputAudioDone"/>, this is typically <see langword="null"/>
Realtime\RealtimeResponseStatus.cs (1)
15/// (i.e., on <see cref="RealtimeServerMessageType.ResponseDone"/>).
Realtime\RealtimeServerMessage.cs (1)
18public RealtimeServerMessageType Type { get; set; }
Realtime\RealtimeServerMessageType.cs (33)
40public readonly struct RealtimeServerMessageType : IEquatable<RealtimeServerMessageType> 46public static RealtimeServerMessageType RawContentOnly { get; } = new("RawContentOnly"); 49public static RealtimeServerMessageType InputAudioTranscriptionCompleted { get; } = new("InputAudioTranscriptionCompleted"); 52public static RealtimeServerMessageType InputAudioTranscriptionDelta { get; } = new("InputAudioTranscriptionDelta"); 55public static RealtimeServerMessageType InputAudioTranscriptionFailed { get; } = new("InputAudioTranscriptionFailed"); 58public static RealtimeServerMessageType OutputTextDelta { get; } = new("OutputTextDelta"); 61public static RealtimeServerMessageType OutputTextDone { get; } = new("OutputTextDone"); 64public static RealtimeServerMessageType OutputAudioTranscriptionDelta { get; } = new("OutputAudioTranscriptionDelta"); 67public static RealtimeServerMessageType OutputAudioTranscriptionDone { get; } = new("OutputAudioTranscriptionDone"); 70public static RealtimeServerMessageType OutputAudioDelta { get; } = new("OutputAudioDelta"); 73public static RealtimeServerMessageType OutputAudioDone { get; } = new("OutputAudioDone"); 76public static RealtimeServerMessageType ResponseDone { get; } = new("ResponseDone"); 79public static RealtimeServerMessageType ResponseCreated { get; } = new("ResponseCreated"); 82public static RealtimeServerMessageType ResponseOutputItemDone { get; } = new("ResponseOutputItemDone"); 85public static RealtimeServerMessageType ResponseOutputItemAdded { get; } = new("ResponseOutputItemAdded"); 88public static RealtimeServerMessageType ConversationItemAdded { get; } = new("ConversationItemAdded"); 91public static RealtimeServerMessageType ConversationItemDone { get; } = new("ConversationItemDone"); 94public static RealtimeServerMessageType Error { get; } = new("Error"); 97/// Gets the value associated with this <see cref="RealtimeServerMessageType"/>. 102/// Initializes a new instance of the <see cref="RealtimeServerMessageType"/> struct with the provided value. 104/// <param name="value">The value to associate with this <see cref="RealtimeServerMessageType"/>.</param> 113/// Returns a value indicating whether two <see cref="RealtimeServerMessageType"/> instances are equivalent, as determined by a 119public static bool operator ==(RealtimeServerMessageType left, RealtimeServerMessageType right) 125/// Returns a value indicating whether two <see cref="RealtimeServerMessageType"/> instances are not equivalent, as determined by a 131public static bool operator !=(RealtimeServerMessageType left, RealtimeServerMessageType right) 138=> obj is RealtimeServerMessageType other && Equals(other); 141public bool Equals(RealtimeServerMessageType other) 151/// <summary>Provides a <see cref="JsonConverter{RealtimeServerMessageType}"/> for serializing <see cref="RealtimeServerMessageType"/> instances.</summary> 153public sealed class Converter : JsonConverter<RealtimeServerMessageType> 156public override RealtimeServerMessageType Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => 160public override void Write(Utf8JsonWriter writer, RealtimeServerMessageType value, JsonSerializerOptions options) =>
Realtime\ResponseCreatedRealtimeServerMessage.cs (9)
15/// Used with the <see cref="RealtimeServerMessageType.ResponseDone"/> and <see cref="RealtimeServerMessageType.ResponseCreated"/> messages. 18/// Provider implementations should emit this message with <see cref="RealtimeServerMessageType.ResponseCreated"/> 19/// when the model begins generating a new response, and with <see cref="RealtimeServerMessageType.ResponseDone"/> 36/// The <paramref name="type"/> should be <see cref="RealtimeServerMessageType.ResponseDone"/> or <see cref="RealtimeServerMessageType.ResponseCreated"/>. 38public ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType type) 103/// Typically set on <see cref="RealtimeServerMessageType.ResponseDone"/> messages to indicate 120/// Populated when the response is complete (i.e., on <see cref="RealtimeServerMessageType.ResponseDone"/>).
Realtime\ResponseOutputItemRealtimeServerMessage.cs (6)
14/// Used with the <see cref="RealtimeServerMessageType.ResponseOutputItemDone"/> and <see cref="RealtimeServerMessageType.ResponseOutputItemAdded"/> messages. 17/// Provider implementations should emit this message with <see cref="RealtimeServerMessageType.ResponseOutputItemDone"/> 30/// The <paramref name="type"/> should be <see cref="RealtimeServerMessageType.ResponseOutputItemDone"/> or <see cref="RealtimeServerMessageType.ResponseOutputItemAdded"/>. 32public ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType type)
Microsoft.Extensions.AI.Abstractions.Tests (20)
Realtime\RealtimeServerMessageTests.cs (20)
29Type = RealtimeServerMessageType.ResponseDone, 34Assert.Equal(RealtimeServerMessageType.ResponseDone, message.Type); 44Assert.Equal(RealtimeServerMessageType.Error, message.Type); 78RealtimeServerMessageType.InputAudioTranscriptionCompleted); 80Assert.Equal(RealtimeServerMessageType.InputAudioTranscriptionCompleted, message.Type); 87RealtimeServerMessageType.InputAudioTranscriptionDelta); 103RealtimeServerMessageType.InputAudioTranscriptionCompleted) 123var message = new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputTextDelta); 125Assert.Equal(RealtimeServerMessageType.OutputTextDelta, message.Type); 131var message = new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputTextDelta); 144var message = new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputTextDone) 153Assert.Equal(RealtimeServerMessageType.OutputTextDone, message.Type); 165var message = new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseCreated); 167Assert.Equal(RealtimeServerMessageType.ResponseCreated, message.Type); 173var message = new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone); 200var message = new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone) 230var message = new ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType.ResponseOutputItemDone); 232Assert.Equal(RealtimeServerMessageType.ResponseOutputItemDone, message.Type); 238var message = new ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType.ResponseOutputItemAdded); 250var message = new ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType.ResponseOutputItemDone)
Microsoft.Extensions.AI.OpenAI (21)
OpenAIRealtimeClientSession.cs (21)
755Sdk.RealtimeServerUpdateResponseCreated e => MapResponseCreatedOrDone(e.EventId, e.Response, RealtimeServerMessageType.ResponseCreated, e), 756Sdk.RealtimeServerUpdateResponseDone e => MapResponseCreatedOrDone(e.EventId, e.Response, RealtimeServerMessageType.ResponseDone, e), 757Sdk.RealtimeServerUpdateResponseOutputItemAdded e => MapResponseOutputItem(e.EventId, e.ResponseId, e.OutputIndex, e.Item, RealtimeServerMessageType.ResponseOutputItemAdded, e), 758Sdk.RealtimeServerUpdateResponseOutputItemDone e => MapResponseOutputItem(e.EventId, e.ResponseId, e.OutputIndex, e.Item, RealtimeServerMessageType.ResponseOutputItemDone, e), 759Sdk.RealtimeServerUpdateResponseOutputAudioDelta e => new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputAudioDelta) 769Sdk.RealtimeServerUpdateResponseOutputAudioDone e => new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputAudioDone) 778Sdk.RealtimeServerUpdateResponseOutputAudioTranscriptDelta e => new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputAudioTranscriptionDelta) 788Sdk.RealtimeServerUpdateResponseOutputAudioTranscriptDone e => new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputAudioTranscriptionDone) 801Sdk.RealtimeServerUpdateConversationItemAdded e => MapConversationItem(e.EventId, e.Item, RealtimeServerMessageType.ConversationItemAdded, e), 802Sdk.RealtimeServerUpdateConversationItemDone e => MapConversationItem(e.EventId, e.Item, RealtimeServerMessageType.ConversationItemDone, e), 811Type = RealtimeServerMessageType.RawContentOnly, 847Type = RealtimeServerMessageType.RawContentOnly, 918string? eventId, Sdk.RealtimeResponse? response, RealtimeServerMessageType type, Sdk.RealtimeServerUpdate update) 996RealtimeServerMessageType type, Sdk.RealtimeServerUpdate update) 1009string? eventId, Sdk.RealtimeItem? item, RealtimeServerMessageType type, Sdk.RealtimeServerUpdate update) 1014return new ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType.RawContentOnly) 1031return new InputAudioTranscriptionRealtimeServerMessage(RealtimeServerMessageType.InputAudioTranscriptionDelta) 1043return new InputAudioTranscriptionRealtimeServerMessage(RealtimeServerMessageType.InputAudioTranscriptionCompleted) 1055var msg = new InputAudioTranscriptionRealtimeServerMessage(RealtimeServerMessageType.InputAudioTranscriptionFailed) 1076string? eventId, string? itemId, int outputIndex, RealtimeServerMessageType type, Sdk.RealtimeServerUpdate update) 1088string? eventId, string? itemId, RealtimeServerMessageType type, Sdk.RealtimeServerUpdate update)
Microsoft.Extensions.AI.Tests (25)
Realtime\FunctionInvokingRealtimeClientTests.cs (6)
66new() { Type = RealtimeServerMessageType.ResponseCreated, MessageId = "evt_001" }, 67new() { Type = RealtimeServerMessageType.ResponseDone, MessageId = "evt_002" }, 379new RealtimeServerMessage { Type = RealtimeServerMessageType.ResponseDone, MessageId = "should_not_reach" }, 485var combinedMessage = new ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType.ResponseOutputItemDone) 603new RealtimeServerMessage { Type = RealtimeServerMessageType.ResponseDone, MessageId = "should_not_reach" }, 644return new ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType.ResponseOutputItemDone)
Realtime\LoggingRealtimeClientTests.cs (2)
166yield return new RealtimeServerMessage { Type = RealtimeServerMessageType.OutputTextDelta, MessageId = "event-1" }; 167yield return new RealtimeServerMessage { Type = RealtimeServerMessageType.OutputAudioDelta, MessageId = "event-2" };
Realtime\OpenTelemetryRealtimeClientTests.cs (17)
56yield return new RealtimeServerMessage { Type = RealtimeServerMessageType.ResponseCreated, MessageId = "evt_001" }; 57yield return new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputTextDelta) { OutputIndex = 0, Text = "Hello" }; 58yield return new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputTextDelta) { OutputIndex = 0, Text = " there!" }; 59yield return new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputTextDone) { OutputIndex = 0, Text = "Hello there!" }; 61yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone) 218yield return new RealtimeServerMessage { Type = RealtimeServerMessageType.ResponseCreated }; 271yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone) 413yield return new InputAudioTranscriptionRealtimeServerMessage(RealtimeServerMessageType.InputAudioTranscriptionCompleted) 417yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone); 572yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone); 604yield return new ResponseOutputItemRealtimeServerMessage(RealtimeServerMessageType.ResponseOutputItemDone) 609yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone); 1031yield return new OutputTextAudioRealtimeServerMessage(RealtimeServerMessageType.OutputTextDone) 1035yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone); 1043yield return new InputAudioTranscriptionRealtimeServerMessage(RealtimeServerMessageType.InputAudioTranscriptionCompleted) 1047yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone); 1059yield return new ResponseCreatedRealtimeServerMessage(RealtimeServerMessageType.ResponseDone);