NumberSchema

org.llm4s.toolapi.NumberSchema
case class NumberSchema(description: String, isInteger: Boolean, minimum: Option[Double], maximum: Option[Double], exclusiveMinimum: Option[Double], exclusiveMaximum: Option[Double], multipleOf: Option[Double]) extends SchemaDefinition[Double]

Number schema (floating-point) with range and divisibility constraints.

Value parameters

description

Human-readable description shown to the LLM

exclusiveMaximum

Exclusive upper bound

exclusiveMinimum

Exclusive lower bound

isInteger

When true the JSON type is "integer" instead of "number"

maximum

Inclusive upper bound

minimum

Inclusive lower bound

multipleOf

Value must be a multiple of this number

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait SchemaDefinition[Double]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def toJsonSchema(strict: Boolean): Value

Serialise this schema to a JSON Schema ujson.Value.

Serialise this schema to a JSON Schema ujson.Value.

Value parameters

strict

When true, all object properties are treated as required, matching OpenAI strict-mode tool definitions.

Attributes

def withExclusiveRange(min: Option[Double], max: Option[Double]): NumberSchema

Add exclusive minimum and/or maximum range constraints.

Add exclusive minimum and/or maximum range constraints.

Value parameters

max

Optional exclusive upper bound

min

Optional exclusive lower bound

Attributes

def withMultipleOf(multiple: Double): NumberSchema

Require the value to be an integer multiple of multiple.

Require the value to be an integer multiple of multiple.

Value parameters

multiple

The divisor

Attributes

def withRange(min: Option[Double], max: Option[Double]): NumberSchema

Add inclusive minimum and/or maximum range constraints.

Add inclusive minimum and/or maximum range constraints.

Value parameters

max

Optional inclusive upper bound

min

Optional inclusive lower bound

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product