ToolFromCallable

class ToolFromCallable(callable: KCallable<*>, thisRef: Any? = null, descriptor: ToolDescriptor, json: Json = ToolJson, resultSerializer: KSerializer<Any?>) : Tool<ToolFromCallable.VarArgs, Any?> (source)

A tool implementation that wraps a Kotlin callable (function, method, etc.).

See also

Constructors

Link copied to clipboard
constructor(callable: KCallable<*>, thisRef: Any? = null, descriptor: ToolDescriptor, json: Json = ToolJson, resultSerializer: KSerializer<Any?>)

Types

Link copied to clipboard
data class VarArgs(val args: Map<KParameter, Any?>)

Represents a data structure to hold arguments conforming to the Args interface.

Link copied to clipboard

A serializer for the VarArgs class, enabling Kotlin serialization for arguments provided dynamically to a callable function (KCallable). This serializer facilitates encoding and decoding of arguments via their corresponding KParameter mappings.

Properties

Link copied to clipboard

A KSerializer responsible for encoding and decoding the arguments required for the tool execution.

Link copied to clipboard

A ToolDescriptor representing the tool's schema, including its name, description, and parameters.

Link copied to clipboard

The name of the tool from the descriptor

Link copied to clipboard

A KSerializer responsible for encoding and decoding the result returned by the tool execution.

Functions

Link copied to clipboard

Decodes the provided raw JSON arguments into an instance of the specified arguments type.

Link copied to clipboard
fun decodeResult(rawResult: JsonElement): Any?

Decodes the provided raw JSON element into an instance of the specified result type.

Link copied to clipboard

Encodes the given arguments into a JSON representation.

Link copied to clipboard

Encodes the provided arguments into a JSON string representation using the configured serializer.

Link copied to clipboard

Encodes the provided arguments into a JSON string representation without type safety checks.

Link copied to clipboard

Encodes the given arguments into a JSON representation without type safety checks.

Link copied to clipboard

Encodes the given result into a JSON representation using the configured result serializer.

Link copied to clipboard
open fun encodeResultToString(result: Any?): String

Encodes the given result of type TResult to its string representation for the LLM.s

Link copied to clipboard

Encodes the provided result object into a JSON string representation without type safety checks.

Link copied to clipboard

Encodes the given result object into a JSON representation without type safety checks. This method casts the provided result to the expected TResult type and leverages the encodeResult method to produce the JSON output.

Link copied to clipboard
open suspend override fun execute(args: ToolFromCallable.VarArgs): Any?

Executes the tool's logic with the provided arguments.