10 types derived from MessagePart
Aspire.Dashboard (10)
Model\GenAI\GenAIMessages.cs (10)
34
public class TextPart :
MessagePart
47
public class ToolCallRequestPart :
MessagePart
62
public class ToolCallResponsePart :
MessagePart
76
public class BlobPart :
MessagePart
91
public class FilePart :
MessagePart
106
public class UriPart :
MessagePart
121
public class ReasoningPart :
MessagePart
134
public class ServerToolCallPart :
MessagePart
149
public class ServerToolCallResponsePart :
MessagePart
163
public class GenericPart :
MessagePart
34 references to MessagePart
Aspire.Dashboard (29)
Model\GenAI\GenAIItemPartViewModel.cs (3)
29
public
MessagePart
? MessagePart { get; init; }
53
public static GenAIItemPartViewModel CreateMessagePart(
MessagePart
part)
66
private static TextVisualizerViewModel CreateMessagePartVisualizer(
MessagePart
p)
Model\GenAI\GenAIItemViewModel.cs (6)
40
if (ItemParts.Any(p => p.MessagePart?.Type is
MessagePart
.ToolCallType or
MessagePart
.ServerToolCallType))
49
if (ItemParts.Any(p => p.MessagePart?.Type is
MessagePart
.ToolCallType or
MessagePart
.ServerToolCallType))
53
if (ItemParts.Any(p => p.MessagePart?.Type is
MessagePart
.ToolCallResponseType or
MessagePart
.ServerToolCallResponseType))
Model\GenAI\GenAIMessageParsingHelper.cs (4)
82
internal static
MessagePart
? ReadMessagePart(ref Utf8JsonReader reader)
87
internal static (string role, List<
MessagePart
> parts, bool partsTruncated) ReadChatMessage(ref Utf8JsonReader reader)
95
List<
MessagePart
>? parts = null;
123
(parts, partsTruncated) = DeserializeArrayIncrementally<
MessagePart
>(ref reader, ReadMessagePart);
Model\GenAI\GenAIMessages.cs (15)
187
public List<
MessagePart
> Parts { get; set; } = new();
205
/// Handles polymorphic serialization and deserialization of <see cref="
MessagePart
"/> types.
207
internal sealed class MessagePartConverter : JsonConverter<
MessagePart
>
209
public override
MessagePart
? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
224
MessagePart
.TextType => doc.RootElement.Deserialize<TextPart>(options),
225
MessagePart
.ToolCallType => TryParseStringArguments(doc.RootElement.Deserialize<ToolCallRequestPart>(options)),
226
MessagePart
.ToolCallResponseType => doc.RootElement.Deserialize<ToolCallResponsePart>(options),
227
MessagePart
.BlobType => doc.RootElement.Deserialize<BlobPart>(options),
228
MessagePart
.FileType => doc.RootElement.Deserialize<FilePart>(options),
229
MessagePart
.UriType => doc.RootElement.Deserialize<UriPart>(options),
230
MessagePart
.ReasoningType => doc.RootElement.Deserialize<ReasoningPart>(options),
231
MessagePart
.ServerToolCallType => TryParseServerToolCallArguments(doc.RootElement.Deserialize<ServerToolCallPart>(options)),
232
MessagePart
.ServerToolCallResponseType => doc.RootElement.Deserialize<ServerToolCallResponsePart>(options),
260
public override void Write(Utf8JsonWriter writer,
MessagePart
value, JsonSerializerOptions options)
294
[JsonSerializable(typeof(
MessagePart
))]
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
291
var (instructionParts, truncated) = GenAIMessageParsingHelper.DeserializeArrayIncrementally<
MessagePart
>(systemInstructions, GenAIMessageParsingHelper.ReadMessagePart);
Aspire.Dashboard.Components.Tests (1)
Controls\GenAIVisualizerDialogTests.cs (1)
61
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
Aspire.Dashboard.Tests (4)
Model\GenAIVisualizerDialogViewModelTests.cs (4)
488
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
611
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
684
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
2224
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>