using System.Text.Json.Serialization; using AnthropicClient.Utils; namespace AnthropicClient.Models; /// /// Represents the specific tool choice mode. /// public class SpecificToolChoice : ToolChoice { /// /// Gets the name of the tool. /// public string Name { get; init; } = string.Empty; [JsonConstructor] internal SpecificToolChoice() : base(ToolChoiceType.Tool) { } /// /// Initializes a new instance of the class. /// /// The name of the tool. /// Thrown when the name is null. /// A new instance of the class. public SpecificToolChoice(string name) : base(ToolChoiceType.Tool) { ArgumentValidator.ThrowIfNull(name, nameof(name)); Name = name; } }