Annotation MatryoshkaTools

  • All Implemented Interfaces:

    @Target(allowedTargets = {AnnotationTarget.CLASS}) 
    public @interface MatryoshkaTools
    
                        

    Marks a class as a MatryoshkaTool container.

    When applied to a class containing @LlmTool methods, creates a facade tool that exposes those methods when invoked. This enables progressive tool disclosure.

    Example - Simple facade:

    @MatryoshkaTools(
        name = "database_operations",
        description = "Database operations. Invoke to see specific tools."
    )
    public class DatabaseTools {
    
        @LlmTool(description = "Execute a SQL query")
        public QueryResult query(String sql) { ... }
    
        @LlmTool(description = "Insert a record")
        public InsertResult insert(String table, Map<String, Object> data) { ... }
    }
    
    // Create the MatryoshkaTool
    MatryoshkaTool tool = MatryoshkaTool.fromInstance(new DatabaseTools());

    Example - Category-based selection:

    @MatryoshkaTools(
        name = "file_operations",
        description = "File operations. Pass category to select tools."
    )
    public class FileTools {
    
        @LlmTool(description = "Read file contents", category = "read")
        public String readFile(String path) { ... }
    
        @LlmTool(description = "List directory", category = "read")
        public List<String> listDir(String path) { ... }
    
        @LlmTool(description = "Write file", category = "write")
        public void writeFile(String path, String content) { ... }
    
        @LlmTool(description = "Delete file", category = "write")
        public void deleteFile(String path) { ... }
    }
    
    // Creates a category-based MatryoshkaTool automatically
    MatryoshkaTool tool = MatryoshkaTool.fromInstance(new FileTools());
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      • Methods inherited from class java.lang.Object

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

    • Method Detail