byCategory

open fun byCategory(name: String, description: String, toolsByCategory: Map<String, List<Tool>>, categoryParameter: String = "category", removeOnInvoke: Boolean = true, childToolUsageNotes: String? = null): UnfoldingTool

Create an UnfoldingTool with category-based selection.

Parameters

name

Unique name for the tool

description

Description explaining when to use this tool category

toolsByCategory

Map of category names to their tools

categoryParameter

Name of the category parameter (default "category")

removeOnInvoke

Whether to remove this tool after invocation

childToolUsageNotes

Optional notes to guide LLM on using the child tools