SafeParameterExtractor

org.llm4s.toolapi.SafeParameterExtractor
See theSafeParameterExtractor companion object
case class SafeParameterExtractor(params: Value)

Safe parameter extraction with type checking and path navigation.

This extractor provides two modes of operation:

  1. Simple mode: Returns Either[String, T] for backward compatibility
  2. Enhanced mode: Returns Either[ToolParameterError, T] for structured error reporting

Value parameters

params

The JSON parameters to extract from

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def getArray(path: String): Either[String, Arr]
def getArrayEnhanced(path: String): Either[ToolParameterError, Arr]
def getBoolean(path: String): Either[String, Boolean]
def getBooleanEnhanced(path: String): Either[ToolParameterError, Boolean]
def getDouble(path: String): Either[String, Double]
def getDoubleEnhanced(path: String): Either[ToolParameterError, Double]
def getInt(path: String): Either[String, Int]
def getIntEnhanced(path: String): Either[ToolParameterError, Int]
def getObject(path: String): Either[String, Obj]
def getObjectEnhanced(path: String): Either[ToolParameterError, Obj]
def getOptionalBoolean(path: String): Either[ToolParameterError, Option[Boolean]]
def getOptionalDouble(path: String): Either[ToolParameterError, Option[Double]]
def getOptionalInt(path: String): Either[ToolParameterError, Option[Int]]
def getOptionalString(path: String): Either[ToolParameterError, Option[String]]
def getString(path: String): Either[String, String]
def getStringEnhanced(path: String): Either[ToolParameterError, String]
def validateRequired(requirements: (String, String)*): Either[List[ToolParameterError], Unit]

Validate all required parameters at once and collect errors

Validate all required parameters at once and collect errors

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product