withToolChainingFrom

abstract fun <T : Any> withToolChainingFrom(type: Class<T>, predicate: DomainToolPredicate<T>): THIS

Register a domain class with a predicate to control when its @LlmTool methods become available as tools.

When a single artifact of the specified type is returned, any @LlmTool annotated methods on that instance become available as tools, provided the predicate is satisfied.

When multiple artifacts of the same type are returned, "last wins" - only the most recent artifact that passes the predicate will have its tools exposed.

Parameters

type

The domain class that may contribute @LlmTool methods

predicate

Predicate to filter which instances contribute tools


open fun <T : Any> withToolChainingFrom(type: Class<T>): THIS

Register a class whose @LlmTool methods become available as tools when a single instance of that type is returned as an artifact.

This is a convenience method that accepts all instances (no filtering).

Parameters

type

The class that may contribute @LlmTool methods