From 03533594acb57618258db1393d8d25899681855c Mon Sep 17 00:00:00 2001 From: Daniel Cazzulino Date: Wed, 11 Mar 2026 18:10:36 -0300 Subject: [PATCH] Improve debug rendering of Chat messages --- src/Extensions/Chat.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Extensions/Chat.cs b/src/Extensions/Chat.cs index 4a78df1..ca2e3fd 100644 --- a/src/Extensions/Chat.cs +++ b/src/Extensions/Chat.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Diagnostics; using Microsoft.Extensions.AI; namespace Devlooped.Extensions.AI; @@ -7,6 +8,8 @@ namespace Devlooped.Extensions.AI; /// Collection of for more convenient usage /// in fluent construction of chat messages. /// +[DebuggerTypeProxy(typeof(ChatDebugView))] +[DebuggerDisplay("Count = {messages.Count}")] public class Chat : IEnumerable { readonly List messages = []; @@ -60,4 +63,18 @@ public void Add(string role, string message) => Add( IEnumerator IEnumerable.GetEnumerator() => messages.GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() => messages.GetEnumerator(); + + sealed class ChatDebugView(Chat chat) + { + [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)] + public ChatMessage[] Items + { + get + { + var items = new ChatMessage[chat.messages.Count]; + chat.messages.CopyTo(items, 0); + return items; + } + } + } } \ No newline at end of file