tools
Tool registration and execution for agentic workflows.
Tool registration and execution for agentic workflows.
- class ToolDefinition(name, description, parameters=<factory>, implementation='', enabled=True)[source]
Bases:
objectDeclarative tool definition.
- Parameters:
- class ToolRegistry[source]
Bases:
objectRegistry of tools available for agentic execution.
- Usage:
registry = ToolRegistry() registry.register(ToolDefinition(
name=’calculate’, description=’Perform a calculation’, parameters={…},
)) registry.register_executor(‘calculate’, my_calc_fn)
schema = registry.get_tools_schema([‘calculate’]) result = registry.execute_tool(‘calculate’, {‘expr’: ‘2+2’})
- register(definition)[source]
Register a tool definition.
- Parameters:
definition (ToolDefinition) – The tool definition to register.
- Raises:
ValueError – If a tool with the same name is already registered.
- Return type:
None
- register_executor(name, executor)[source]
Register a callable executor for a tool.
- Parameters:
- Raises:
ValueError – If the tool is not registered.
- Return type:
None
- get_tool(name)[source]
Get a tool definition by name.
Classes
- class ToolDefinition(name, description, parameters=<factory>, implementation='', enabled=True)[source]
Bases:
objectDeclarative tool definition.
- Parameters:
- class ToolRegistry[source]
Bases:
objectRegistry of tools available for agentic execution.
- Usage:
registry = ToolRegistry() registry.register(ToolDefinition(
name=’calculate’, description=’Perform a calculation’, parameters={…},
)) registry.register_executor(‘calculate’, my_calc_fn)
schema = registry.get_tools_schema([‘calculate’]) result = registry.execute_tool(‘calculate’, {‘expr’: ‘2+2’})
- register(definition)[source]
Register a tool definition.
- Parameters:
definition (ToolDefinition) – The tool definition to register.
- Raises:
ValueError – If a tool with the same name is already registered.
- Return type:
None
- register_executor(name, executor)[source]
Register a callable executor for a tool.
- Parameters:
- Raises:
ValueError – If the tool is not registered.
- Return type:
None
- get_tool(name)[source]
Get a tool definition by name.