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)
803
Sdk.RealtimeServerUpdateResponseMcpCallInProgress e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new
RealtimeServerMessageType
("McpCallInProgress"), e),
804
Sdk.RealtimeServerUpdateResponseMcpCallCompleted e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new
RealtimeServerMessageType
("McpCallCompleted"), e),
805
Sdk.RealtimeServerUpdateResponseMcpCallFailed e => MapMcpCallEvent(e.EventId, e.ItemId, e.OutputIndex, new
RealtimeServerMessageType
("McpCallFailed"), e),
806
Sdk.RealtimeServerUpdateMcpListToolsInProgress e => MapMcpListToolsEvent(e.EventId, e.ItemId, new
RealtimeServerMessageType
("McpListToolsInProgress"), e),
807
Sdk.RealtimeServerUpdateMcpListToolsCompleted e => MapMcpListToolsEvent(e.EventId, e.ItemId, new
RealtimeServerMessageType
("McpListToolsCompleted"), e),
808
Sdk.RealtimeServerUpdateMcpListToolsFailed e => MapMcpListToolsEvent(e.EventId, e.ItemId, new
RealtimeServerMessageType
("McpListToolsFailed"), e),
147 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)
755
Sdk.RealtimeServerUpdateResponseCreated e => MapResponseCreatedOrDone(e.EventId, e.Response,
RealtimeServerMessageType
.ResponseCreated, e),
756
Sdk.RealtimeServerUpdateResponseDone e => MapResponseCreatedOrDone(e.EventId, e.Response,
RealtimeServerMessageType
.ResponseDone, e),
757
Sdk.RealtimeServerUpdateResponseOutputItemAdded e => MapResponseOutputItem(e.EventId, e.ResponseId, e.OutputIndex, e.Item,
RealtimeServerMessageType
.ResponseOutputItemAdded, e),
758
Sdk.RealtimeServerUpdateResponseOutputItemDone e => MapResponseOutputItem(e.EventId, e.ResponseId, e.OutputIndex, e.Item,
RealtimeServerMessageType
.ResponseOutputItemDone, e),
759
Sdk.RealtimeServerUpdateResponseOutputAudioDelta e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioDelta)
769
Sdk.RealtimeServerUpdateResponseOutputAudioDone e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioDone)
778
Sdk.RealtimeServerUpdateResponseOutputAudioTranscriptDelta e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioTranscriptionDelta)
788
Sdk.RealtimeServerUpdateResponseOutputAudioTranscriptDone e => new OutputTextAudioRealtimeServerMessage(
RealtimeServerMessageType
.OutputAudioTranscriptionDone)
801
Sdk.RealtimeServerUpdateConversationItemAdded e => MapConversationItem(e.EventId, e.Item,
RealtimeServerMessageType
.ConversationItemAdded, e),
802
Sdk.RealtimeServerUpdateConversationItemDone e => MapConversationItem(e.EventId, e.Item,
RealtimeServerMessageType
.ConversationItemDone, e),
811
Type =
RealtimeServerMessageType
.RawContentOnly,
847
Type =
RealtimeServerMessageType
.RawContentOnly,
918
string? eventId, Sdk.RealtimeResponse? response,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
996
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
1009
string? eventId, Sdk.RealtimeItem? item,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
1014
return new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.RawContentOnly)
1031
return new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionDelta)
1043
return new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionCompleted)
1055
var msg = new InputAudioTranscriptionRealtimeServerMessage(
RealtimeServerMessageType
.InputAudioTranscriptionFailed)
1076
string? eventId, string? itemId, int outputIndex,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
1088
string? eventId, string? itemId,
RealtimeServerMessageType
type, Sdk.RealtimeServerUpdate update)
Microsoft.Extensions.AI.Tests (25)
Realtime\FunctionInvokingRealtimeClientTests.cs (6)
66
new() { Type =
RealtimeServerMessageType
.ResponseCreated, MessageId = "evt_001" },
67
new() { Type =
RealtimeServerMessageType
.ResponseDone, MessageId = "evt_002" },
379
new RealtimeServerMessage { Type =
RealtimeServerMessageType
.ResponseDone, MessageId = "should_not_reach" },
485
var combinedMessage = new ResponseOutputItemRealtimeServerMessage(
RealtimeServerMessageType
.ResponseOutputItemDone)
603
new RealtimeServerMessage { Type =
RealtimeServerMessageType
.ResponseDone, MessageId = "should_not_reach" },
644
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);