namespace AIStudio.Tools.ToolCallingSystem.ToolCallingImplementations.WebSearch; /// /// One hit of a search service, in the form every backend can express. /// /// /// This is the smallest common denominator of the search APIs: everything else they report /// about a hit is about presenting it, and this tool loads the page itself. Hits arrive in the /// order the service ranked them; turning them into candidates is the candidate collector's /// job. What a service does not report stays empty rather than null, because the tool reports /// these fields either way. /// /// Where the hit points. /// The title the service reports, which is not necessarily the page's own. /// The excerpt the service reports. /// When the page was published, as the service spells it, or empty when it does not say. internal sealed record SearchHit(string Url, string Title, string Snippet, string PublishedDate = "");