with Tool Chaining From
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
The domain class that may contribute @LlmTool methods
Predicate to filter which instances contribute tools
Register a domain class with a predicate. Kotlin-friendly version using reified type parameter.
Register a class that can contribute @LlmTool methods when a single instance is retrieved. Kotlin-friendly version using reified type parameter.