using System.Text.Json.Serialization;
namespace ModelContextProtocol.Protocol;
///
/// Controls tool selection behavior for sampling requests.
///
public sealed class ToolChoice
{
///
/// Gets or sets the mode that controls which tools the model can call.
///
///
///
/// - "auto"Model decides whether to call tools (default)
/// - "required"Model must call at least one tool
/// - "none"Model must not call any tools
///
///
[JsonPropertyName("mode")]
public string? Mode { get; set; }
/// The mode value "auto".
internal const string ModeAuto = "auto";
/// The mode value "required".
internal const string ModeRequired = "required";
/// The mode value "none".
internal const string ModeNone = "none";
}