useserde::{Deserialize, Serialize};/// A schema for a numeric value (integer or floating-point).
////// # Example
////// ```
/// use llmprism::schema::NumberSchema;
////// let quantity = NumberSchema::new("quantity").with_description("How many items to order");
/// ```
#[derive(Debug, Clone, Serialize, Deserialize)]pubstructNumberSchema{/// The field/parameter name this schema describes.
pubname: String,
/// A plain-language explanation of what this value represents, shown to the
/// model so it can fill it in correctly.
pubdescription:Option<String>,
}implNumberSchema{/// Creates a schema for a number named `name`, with no description yet.
pubfnnew(name: impl Into<String>)->Self{Self{
name: name.into(),
description:None,}}/// Attaches a plain-language description, shown to the model.
pubfnwith_description(mutself, description: impl Into<String>)->Self{self.description =Some(description.into());self}}