namespace AIStudio.Tools.ToolCallingSystem.ToolCallingImplementations.WebSearch;
///
/// The outcome of one search, after however many services were asked for it.
///
///
/// The same thing a single backend returns, once the tool no longer knows how many of them
/// were involved. A search where no service answered at all is not this: it is thrown, because
/// there is nothing to report about it besides the reasons.
///
/// Which services answered, in the order they were asked.
/// The hits of all of them, merged by URL and renumbered.
/// How many hits the services returned in total, before equivalent URLs were merged.
/// What the tool should report about this search besides its hits, such as a service that could not be asked or a part of the query one of them could not honour.
internal sealed record WebSearchDispatchResult(IReadOnlyList Backends, IReadOnlyList Candidates, int CandidateCount, IReadOnlyList Notes);