Annotation Interface ToolProviderSupplier


@Retention(RUNTIME) @Target(METHOD) public @interface ToolProviderSupplier
Marks a method as a supplier of a tool provider that an agent can utilize during its operation. The annotated method must be static, with no arguments, and return an instance of ToolProvider.

Example:


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

        @ToolProviderSupplier
        static ToolProvider toolProvider() {
            return ToolProviders.from(bankTool, currencyConverterTool);
        }
    }