24 instantiations of RealtimeServerMessageType
Microsoft.Extensions.AI.Abstractions (18)
Realtime\RealtimeServerMessageType.cs (18)
46
public static RealtimeServerMessageType RawContentOnly { get; } =
new
("RawContentOnly");
49
public static RealtimeServerMessageType InputAudioTranscriptionCompleted { get; } =
new
("InputAudioTranscriptionCompleted");
52
public static RealtimeServerMessageType InputAudioTranscriptionDelta { get; } =
new
("InputAudioTranscriptionDelta");
55
public static RealtimeServerMessageType InputAudioTranscriptionFailed { get; } =
new
("InputAudioTranscriptionFailed");
58
public static RealtimeServerMessageType OutputTextDelta { get; } =
new
("OutputTextDelta");
61
public static RealtimeServerMessageType OutputTextDone { get; } =
new
("OutputTextDone");
64
public static RealtimeServerMessageType OutputAudioTranscriptionDelta { get; } =
new
("OutputAudioTranscriptionDelta");
67
public static RealtimeServerMessageType OutputAudioTranscriptionDone { get; } =
new
("OutputAudioTranscriptionDone");
70
public static RealtimeServerMessageType OutputAudioDelta { get; } =
new
("OutputAudioDelta");
73
public static RealtimeServerMessageType OutputAudioDone { get; } =
new
("OutputAudioDone");
76
public static RealtimeServerMessageType ResponseDone { get; } =
new
("ResponseDone");
79
public static RealtimeServerMessageType ResponseCreated { get; } =
new
("ResponseCreated");
82
public static RealtimeServerMessageType ResponseOutputItemDone { get; } =
new
("ResponseOutputItemDone");
85
public static RealtimeServerMessageType ResponseOutputItemAdded { get; } =
new
("ResponseOutputItemAdded");
88
public static RealtimeServerMessageType ConversationItemAdded { get; } =
new
("ConversationItemAdded");
91
public static RealtimeServerMessageType ConversationItemDone { get; } =
new
("ConversationItemDone");
94
public static RealtimeServerMessageType Error { get; } =
new
("Error");
157
new
(reader.GetString()!);
Microsoft.Extensions.AI.OpenAI (6)
OpenAIRealtimeClientSession.cs (6)
807
Sdk.RealtimeServerUpdateResponseMcpCallInProgress e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new
RealtimeServerMessageType
("McpCallInProgress"), e),
808
Sdk.RealtimeServerUpdateResponseMcpCallCompleted e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new
RealtimeServerMessageType
("McpCallCompleted"), e),
809
Sdk.RealtimeServerUpdateResponseMcpCallFailed e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new
RealtimeServerMessageType
("McpCallFailed"), e),
810
Sdk.RealtimeServerUpdateMcpListToolsInProgress e => MapMcpListToolsEvent(e.EventId, e.ItemId, new
RealtimeServerMessageType
("McpListToolsInProgress"), e),
811
Sdk.RealtimeServerUpdateMcpListToolsCompleted e => MapMcpListToolsEvent(e.EventId, e.ItemId, new
RealtimeServerMessageType
("McpListToolsCompleted"), e),
812
Sdk.RealtimeServerUpdateMcpListToolsFailed e => MapMcpListToolsEvent(e.EventId, e.ItemId, new
RealtimeServerMessageType
("McpListToolsFailed"), e),
148 references to RealtimeServerMessageType
Microsoft.Extensions.AI (13)
Realtime\FunctionInvokingRealtimeClientSession.cs (1)
163
if (message is ResponseOutputItemRealtimeServerMessage responseOutputItemMessage && responseOutputItemMessage.Type ==
RealtimeServerMessageType
.ResponseOutputItemDone)
Realtime\OpenTelemetryRealtimeClientSession.cs (12)
276
responseDoneMsg.Type ==
RealtimeServerMessageType
.ResponseDone)
327
if (textAudio.Type ==
RealtimeServerMessageType
.OutputTextDelta || textAudio.Type ==
RealtimeServerMessageType
.OutputTextDone)
332
if (textAudio.Type ==
RealtimeServerMessageType
.OutputAudioDelta || textAudio.Type ==
RealtimeServerMessageType
.OutputAudioDone)
337
if (textAudio.Type ==
RealtimeServerMessageType
.OutputAudioTranscriptionDelta || textAudio.Type ==
RealtimeServerMessageType
.OutputAudioTranscriptionDone)
425
if (textAudioMsg.Type ==
RealtimeServerMessageType
.OutputAudioDelta || textAudioMsg.Type ==
RealtimeServerMessageType
.OutputAudioDone)
430
else if (textAudioMsg.Type ==
RealtimeServerMessageType
.OutputAudioTranscriptionDelta || textAudioMsg.Type ==
RealtimeServerMessageType
.OutputAudioTranscriptionDone)
475
if (responseCreatedMsg.Type ==
RealtimeServerMessageType
.ResponseCreated)
Microsoft.Extensions.AI.Abstractions (68)
Realtime\ErrorRealtimeServerMessage.cs (2)
13
/// Used with the <see cref="
RealtimeServerMessageType
.Error"/>.
23
Type =
RealtimeServerMessageType
.Error;
Realtime\InputAudioTranscriptionRealtimeServerMessage.cs (1)
25
public 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"/>.
24
public 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)
18
public
RealtimeServerMessageType
Type { get; set; }
Realtime\RealtimeServerMessageType.cs (33)
40
public readonly struct RealtimeServerMessageType : IEquatable<
RealtimeServerMessageType
>
46
public static
RealtimeServerMessageType
RawContentOnly { get; } = new("RawContentOnly");
49
public static
RealtimeServerMessageType
InputAudioTranscriptionCompleted { get; } = new("InputAudioTranscriptionCompleted");
52
public static
RealtimeServerMessageType
InputAudioTranscriptionDelta { get; } = new("InputAudioTranscriptionDelta");
55
public static
RealtimeServerMessageType
InputAudioTranscriptionFailed { get; } = new("InputAudioTranscriptionFailed");
58
public static
RealtimeServerMessageType
OutputTextDelta { get; } = new("OutputTextDelta");
61
public static
RealtimeServerMessageType
OutputTextDone { get; } = new("OutputTextDone");
64
public static
RealtimeServerMessageType
OutputAudioTranscriptionDelta { get; } = new("OutputAudioTranscriptionDelta");
67
public static
RealtimeServerMessageType
OutputAudioTranscriptionDone { get; } = new("OutputAudioTranscriptionDone");
70
public static
RealtimeServerMessageType
OutputAudioDelta { get; } = new("OutputAudioDelta");
73
public static
RealtimeServerMessageType
OutputAudioDone { get; } = new("OutputAudioDone");
76
public static
RealtimeServerMessageType
ResponseDone { get; } = new("ResponseDone");
79
public static
RealtimeServerMessageType
ResponseCreated { get; } = new("ResponseCreated");
82
public static
RealtimeServerMessageType
ResponseOutputItemDone { get; } = new("ResponseOutputItemDone");
85
public static
RealtimeServerMessageType
ResponseOutputItemAdded { get; } = new("ResponseOutputItemAdded");
88
public static
RealtimeServerMessageType
ConversationItemAdded { get; } = new("ConversationItemAdded");
91
public static
RealtimeServerMessageType
ConversationItemDone { get; } = new("ConversationItemDone");
94
public 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
119
public 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
131
public static bool operator !=(
RealtimeServerMessageType
left,
RealtimeServerMessageType
right)
138
=> obj is
RealtimeServerMessageType
other && Equals(other);
141
public bool Equals(
RealtimeServerMessageType
other)
151
/// <summary>Provides a <see cref="JsonConverter{RealtimeServerMessageType}"/> for serializing <see cref="
RealtimeServerMessageType
"/> instances.</summary>
153
public sealed class Converter : JsonConverter<
RealtimeServerMessageType
>
156
public override
RealtimeServerMessageType
Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) =>
160
public 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"/>.
38
public 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"/>.
32
public ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
type)
Microsoft.Extensions.AI.Abstractions.Tests (20)
Realtime\RealtimeServerMessageTests.cs (20)
29
Type =
RealtimeServerMessageType
.ResponseDone,
34
Assert.Equal(
RealtimeServerMessageType
.ResponseDone, message.Type);
44
Assert.Equal(
RealtimeServerMessageType
.Error, message.Type);
78
RealtimeServerMessageType
.InputAudioTranscriptionCompleted);
80
Assert.Equal(
RealtimeServerMessageType
.InputAudioTranscriptionCompleted, message.Type);
87
RealtimeServerMessageType
.InputAudioTranscriptionDelta);
103
RealtimeServerMessageType
.InputAudioTranscriptionCompleted)
123
var message = new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputTextDelta);
125
Assert.Equal(
RealtimeServerMessageType
.OutputTextDelta, message.Type);
131
var message = new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputTextDelta);
144
var message = new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputTextDone)
153
Assert.Equal(
RealtimeServerMessageType
.OutputTextDone, message.Type);
165
var message = new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseCreated);
167
Assert.Equal(
RealtimeServerMessageType
.ResponseCreated, message.Type);
173
var message = new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone);
200
var message = new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone)
230
var message = new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.ResponseOutputItemDone);
232
Assert.Equal(
RealtimeServerMessageType
.ResponseOutputItemDone, message.Type);
238
var message = new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.ResponseOutputItemAdded);
250
var message = new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.ResponseOutputItemDone)
Microsoft.Extensions.AI.OpenAI (21)
OpenAIRealtimeClientSession.cs (21)
759
Sdk.RealtimeServerUpdateResponseCreated e => MapResponseCreatedOrDone(e.EventId, e.Response,
RealtimeServerMessageType
.ResponseCreated, e),
760
Sdk.RealtimeServerUpdateResponseDone e => MapResponseCreatedOrDone(e.EventId, e.Response,
RealtimeServerMessageType
.ResponseDone, e),
761
Sdk.RealtimeServerUpdateResponseOutputItemAdded e => MapResponseOutputItem(e.EventId, e.ResponseId, e.OutputIndex, e.Item,
RealtimeServerMessageType
.ResponseOutputItemAdded, e),
762
Sdk.RealtimeServerUpdateResponseOutputItemDone e => MapResponseOutputItem(e.EventId, e.ResponseId, e.OutputIndex, e.Item,
RealtimeServerMessageType
.ResponseOutputItemDone, e),
763
Sdk.RealtimeServerUpdateResponseOutputAudioDelta e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioDelta)
773
Sdk.RealtimeServerUpdateResponseOutputAudioDone e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioDone)
782
Sdk.RealtimeServerUpdateResponseOutputAudioTranscriptDelta e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioTranscriptionDelta)
792
Sdk.RealtimeServerUpdateResponseOutputAudioTranscriptDone e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioTranscriptionDone)
805
Sdk.RealtimeServerUpdateConversationItemAdded e => MapConversationItem(e.EventId, e.Item,
RealtimeServerMessageType
.ConversationItemAdded, e),
806
Sdk.RealtimeServerUpdateConversationItemDone e => MapConversationItem(e.EventId, e.Item,
RealtimeServerMessageType
.ConversationItemDone, e),
815
Type =
RealtimeServerMessageType
.RawContentOnly,
851
Type =
RealtimeServerMessageType
.RawContentOnly,
922
string? eventId, Sdk.RealtimeResponse? response,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
1000
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
1013
string? eventId, Sdk.RealtimeItem? item,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
1018
return new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.RawContentOnly)
1035
return new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionDelta)
1047
return new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionCompleted)
1059
var msg = new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionFailed)
1080
string? eventId, string? itemId, int outputIndex,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
1092
string? eventId, string? itemId,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
Microsoft.Extensions.AI.Tests (26)
Realtime\FunctionInvokingRealtimeClientTests.cs (7)
66
new() { Type =
RealtimeServerMessageType
.ResponseCreated, MessageId = "evt_001" },
67
new() { Type =
RealtimeServerMessageType
.ResponseDone, MessageId = "evt_002" },
301
new RealtimeServerMessage { Type =
RealtimeServerMessageType
.ResponseDone, MessageId = "should_not_reach" },
423
new RealtimeServerMessage { Type =
RealtimeServerMessageType
.ResponseDone, MessageId = "should_not_reach" },
529
var combinedMessage = new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.ResponseOutputItemDone)
647
new RealtimeServerMessage { Type =
RealtimeServerMessageType
.ResponseDone, MessageId = "should_not_reach" },
688
return new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.ResponseOutputItemDone)
Realtime\LoggingRealtimeClientTests.cs (2)
166
yield return new RealtimeServerMessage { Type =
RealtimeServerMessageType
.OutputTextDelta, MessageId = "event-1" };
167
yield return new RealtimeServerMessage { Type =
RealtimeServerMessageType
.OutputAudioDelta, MessageId = "event-2" };
Realtime\OpenTelemetryRealtimeClientTests.cs (17)
56
yield return new RealtimeServerMessage { Type =
RealtimeServerMessageType
.ResponseCreated, MessageId = "evt_001" };
57
yield return new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputTextDelta) { OutputIndex = 0, Text = "Hello" };
58
yield return new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputTextDelta) { OutputIndex = 0, Text = " there!" };
59
yield return new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputTextDone) { OutputIndex = 0, Text = "Hello there!" };
61
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone)
218
yield return new RealtimeServerMessage { Type =
RealtimeServerMessageType
.ResponseCreated };
271
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone)
413
yield return new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionCompleted)
417
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone);
572
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone);
604
yield return new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.ResponseOutputItemDone)
609
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone);
1031
yield return new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputTextDone)
1035
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone);
1043
yield return new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionCompleted)
1047
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone);
1059
yield return new ResponseCreatedRealtimeServerMessage(
RealtimeServerMessageType
.ResponseDone);