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