using System.Text.Json.Nodes;
using AIStudio.Tools.RAG;
namespace AIStudio.Tools.ToolCallingSystem.ToolCallingImplementations.Mailboxes;
///
/// What a search tells the model about one mailbox.
///
/// The mailbox, as it was searched.
/// Its mails which reached the model, as the model reads them.
/// Whether a further page of this mailbox holds mails.
/// What kept the search from covering the whole mailbox.
/// How many of its mails a search of several mailboxes found, but had no room for.
/// The folders of the mailbox, filtered, when it has none of those the model named; otherwise null.
internal sealed record MailboxSearchOutcome(MailboxSearch Search, IReadOnlyList Mails, bool HasMore, IReadOnlyList Gaps, int LeftOutCount, IReadOnlyList? ListedFolders);