10 types derived from MessagePart
Aspire.Dashboard (10)
Model\GenAI\GenAIMessages.cs (10)
33
public class TextPart :
MessagePart
46
public class ToolCallRequestPart :
MessagePart
61
public class ToolCallResponsePart :
MessagePart
75
public class BlobPart :
MessagePart
90
public class FilePart :
MessagePart
105
public class UriPart :
MessagePart
120
public class ReasoningPart :
MessagePart
133
public class ServerToolCallPart :
MessagePart
148
public class ServerToolCallResponsePart :
MessagePart
162
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)
186
public List<
MessagePart
> Parts { get; set; } = new();
204
/// Handles polymorphic serialization and deserialization of <see cref="
MessagePart
"/> types.
206
internal sealed class MessagePartConverter : JsonConverter<
MessagePart
>
208
public override
MessagePart
? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
223
MessagePart
.TextType => doc.RootElement.Deserialize<TextPart>(options),
224
MessagePart
.ToolCallType => TryParseStringArguments(doc.RootElement.Deserialize<ToolCallRequestPart>(options)),
225
MessagePart
.ToolCallResponseType => doc.RootElement.Deserialize<ToolCallResponsePart>(options),
226
MessagePart
.BlobType => doc.RootElement.Deserialize<BlobPart>(options),
227
MessagePart
.FileType => doc.RootElement.Deserialize<FilePart>(options),
228
MessagePart
.UriType => doc.RootElement.Deserialize<UriPart>(options),
229
MessagePart
.ReasoningType => doc.RootElement.Deserialize<ReasoningPart>(options),
230
MessagePart
.ServerToolCallType => TryParseServerToolCallArguments(doc.RootElement.Deserialize<ServerToolCallPart>(options)),
231
MessagePart
.ServerToolCallResponseType => doc.RootElement.Deserialize<ServerToolCallResponsePart>(options),
259
public override void Write(Utf8JsonWriter writer,
MessagePart
value, JsonSerializerOptions options)
293
[JsonSerializable(typeof(
MessagePart
))]
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
293
var (instructionParts, truncated) = GenAIMessageParsingHelper.DeserializeArrayIncrementally<
MessagePart
>(systemInstructions, GenAIMessageParsingHelper.ReadMessagePart);
Aspire.Dashboard.Components.Tests (1)
Controls\GenAIVisualizerDialogTests.cs (1)
65
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
Aspire.Dashboard.Tests (4)
Model\GenAIVisualizerDialogViewModelTests.cs (4)
496
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
620
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
694
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>
2255
var systemInstruction = JsonSerializer.Serialize(new List<
MessagePart
>