Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
package com.github.frtu.kotlin.tool
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.node.NullNode
import com.github.frtu.kotlin.action.execution.TypedAction
import com.github.frtu.kotlin.action.management.ActionId
import com.github.frtu.kotlin.serdes.json.ext.objToJsonNode
import com.github.frtu.kotlin.serdes.json.ext.toJsonObj
import com.github.frtu.kotlin.serdes.json.schema.SchemaGen
import java.lang.reflect.Method
/**
* StructuredToolExecuter is a `ToolExecuter` for a strongly typed Input & Output class
*
* @author Frédéric TU
* @since 2.0.8
*/
abstract class StructuredToolExecuter(
/** Id of the tool */
id: ActionId,
/** Description that can be used by agent to decide which tool to use */
description: String,
/** Input parameter schema */
val parameterClass: Class,
/** Return schema. `null` schema when returning `void` */
val returnClass: Class