Interface ToolChaining

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract <T extends Any> THIS withToolChainingFrom(Class<T> type, DomainToolPredicate<T> predicate) Register a domain class with a predicate to control when its @LlmTool methods become available as tools.
      <T extends Any> THIS withToolChainingFrom(Class<T> type) Register a class whose @LlmTool methods become available as tools when a single instance of that type is returned as an artifact.
      abstract THIS withToolChainingFromAny() Enable auto-discovery of chained tools from any returned artifact.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • withToolChainingFrom

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

        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
      • withToolChainingFrom

         <T extends Any> THIS withToolChainingFrom(Class<T> type)

        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
      • withToolChainingFromAny

         abstract THIS withToolChainingFromAny()

        Enable auto-discovery of chained tools from any returned artifact.

        When enabled, any artifact with @LlmTool methods will automatically have its tools exposed, replacing ALL previous bindings.