Awaitable Typed Tool
constructor(name: String, description: String, inputType: Class<I>, outputType: Class<O>, metadata: Tool.Metadata = Tool.Metadata.DEFAULT, objectMapper: <Error class: unknown class> = jacksonObjectMapper())
Parameters
I
Input type - will be deserialized from JSON
O
Output type - will be serialized to JSON
P
Payload type for the awaitable (often same as I)
name
Tool name for LLM consumption
description
Tool description for LLM consumption
input Type
Class of the input type for JSON deserialization
output Type
Class of the output type
metadata
Optional tool metadata
object Mapper
ObjectMapper for JSON serialization/deserialization