ToolCategory
Categorize tools by their primary function.
Usage
ToolCategoryEvery tool registered with the @tool decorator belongs to exactly one category. Categories drive filtering in ToolRegistry.get_tools_by_category() and appear in debugging dashboards, so choosing the right category helps users discover and organize their tools.
Values
WEB: tools that make HTTP requests or interact with web APIsFILE: tools that read, write, or transform files on diskDATA: tools that query databases, transform datasets, or compute metricsCOMMUNICATION: tools that send emails, messages, or notificationsSYSTEM: tools that interact with the operating system or shellCUSTOM: catch-all for tools that do not fit another category (the default)ANALYSIS: tools that perform analysis, summarization, or inferenceSEARCH: tools that search indexes, documents, or knowledge bases
Examples
Pass a category when registering a tool:
import talk_box as tb
@tb.tool(category=tb.ToolCategory.WEB)
def fetch_page(url: str) -> str:
...Filter registered tools by category:
registry = tb.get_global_registry()
web_tools = registry.get_tools_by_category(tb.ToolCategory.WEB)