using System.Text.Json.Serialization;
using AIStudio.Tools.ToolCallingSystem.ToolCallingImplementations.WebSearch.Staan;
using AIStudio.Tools.ToolCallingSystem.ToolCallingImplementations.WebSearch.Tavily;
namespace AIStudio.Tools.ToolCallingSystem.ToolCallingImplementations.WebSearch;
///
/// The contracts with which System.Text.Json reads and writes the calls to the search services, built at
/// compile time.
///
///
/// SearXNG is missing on purpose: its answers differ between instances, so its client reads them as a tree
/// of JSON nodes instead.
///
[JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Metadata)]
[JsonSerializable(typeof(StaanSearchRequest))]
[JsonSerializable(typeof(StaanSearchResponse))]
[JsonSerializable(typeof(TavilySearchRequest))]
[JsonSerializable(typeof(TavilySearchResponse))]
internal sealed partial class WebSearchJsonContext : JsonSerializerContext;