FinishTool

A pass-through tool used with subgraphWithTask to signal task completion and return a structured result. Wraps outputs in FinishResult to support primitive outputTypes, which base Tool cannot handle directly.

Parameters

outputType

Type of the Output

customSerializer

Optional serializer override to use instead of the one that is passed to encode/decode tool methods. This is useful for certain internal implementations, such as some built-in subgraphs and subtasks, when the output is our own class and we don't want to rely on user-configured JSONSerializer.

Constructors

Link copied to clipboard
constructor(outputType: TypeToken)

A pass-through tool used with subgraphWithTask to signal task completion and return a structured result. Wraps outputs in FinishResult to support primitive outputTypes, which base Tool cannot handle directly.

Properties

Link copied to clipboard
val argsType: TypeToken
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resultType: TypeToken

Functions

Link copied to clipboard
open override fun decodeArgs(rawArgs: JSONObject, serializer: JSONSerializer): Output
Link copied to clipboard
open override fun decodeResult(rawResult: JSONElement, serializer: JSONSerializer): Output
Link copied to clipboard
open override fun encodeArgs(args: Output, serializer: JSONSerializer): JSONObject
Link copied to clipboard
fun encodeArgsToString(args: Output, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeArgsToStringUnsafe(args: Any?, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeArgsUnsafe(args: Any?, serializer: JSONSerializer): JSONObject
Link copied to clipboard
open override fun encodeResult(result: Output, serializer: JSONSerializer): JSONElement
Link copied to clipboard
open fun encodeResultToString(result: Output, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeResultToStringUnsafe(result: Any?, serializer: JSONSerializer): String
Link copied to clipboard
fun encodeResultUnsafe(result: Any?, serializer: JSONSerializer): JSONElement
Link copied to clipboard
open suspend override fun execute(args: Output): Output
Link copied to clipboard
suspend fun executeUnsafe(args: Any?): Output