Annotation Interface ToolsSupplier


@Retention(RUNTIME) @Target(METHOD) public @interface ToolsSupplier
Marks a method as a supplier of tools that an agent can utilize during its operation. The annotated method must be static, with no arguments, and return a single Object or an array of Objects.

Example:


    public interface BankAgent {
        @Agent("A banker agent")
        String credit(@V("user") String user, @V("amountInUSD") Double amount);

        @ToolsSupplier
        static Object[] tools() {
            return new Object[] { bankTool, currencyConverterTool };
        }
    }