tiphys.tools
Tiphys tool definitions.
Provides the foundation for defining and registering agent tools.
1""" 2Tiphys tool definitions. 3 4Provides the foundation for defining and registering agent tools. 5""" 6 7from typing import Any 8 9from tiphys.tools.base import ToolDefinition as ToolDefinition 10from tiphys.tools.base import ToolRegistry as ToolRegistry 11from tiphys.tools.base import tool as tool 12from tiphys.tools.fs import list_directory as list_directory 13from tiphys.tools.fs import read_file as read_file 14from tiphys.tools.fs import write_file as write_file 15from tiphys.tools.memory import forget_memory, search_memory, store_memory 16from tiphys.tools.scheduler import ( 17 delete_task, 18 list_tasks, 19 pause_task, 20 resume_task, 21 schedule_task, 22) 23from tiphys.tools.security import ( 24 generate_pairing_code, 25 verify_pairing_code, 26) 27from tiphys.tools.shell import run_command as run_command 28from tiphys.tools.skills import list_skills, read_skill 29from tiphys.tools.spawn import get_agent_result, spawn_agent 30 31 32def _get_def(func: Any) -> ToolDefinition: 33 """Helper to get tool definition from a function.""" 34 tool_def = getattr(func, "_tool_definition", None) 35 if not tool_def: 36 raise ValueError(f"Function {func} has no _tool_definition. Is it decorated with @tool?") 37 from typing import cast 38 39 return cast(ToolDefinition, tool_def) 40 41 42def get_all_builtin_tools() -> list[ToolDefinition]: 43 """Get all registered built-in tools.""" 44 return [ 45 _get_def(read_file), 46 _get_def(write_file), 47 _get_def(list_directory), 48 _get_def(run_command), 49 _get_def(list_skills), 50 _get_def(read_skill), 51 _get_def(spawn_agent), 52 _get_def(get_agent_result), 53 _get_def(store_memory), 54 _get_def(search_memory), 55 _get_def(forget_memory), 56 _get_def(schedule_task), 57 _get_def(list_tasks), 58 _get_def(delete_task), 59 _get_def(pause_task), 60 _get_def(resume_task), 61 _get_def(generate_pairing_code), 62 _get_def(verify_pairing_code), 63 ] 64 65 66def register_builtin_tools(registry: ToolRegistry) -> ToolRegistry: 67 """Register all built-in tools.""" 68 for tool_def in get_all_builtin_tools(): 69 registry.register(tool_def) 70 return registry
43def get_all_builtin_tools() -> list[ToolDefinition]: 44 """Get all registered built-in tools.""" 45 return [ 46 _get_def(read_file), 47 _get_def(write_file), 48 _get_def(list_directory), 49 _get_def(run_command), 50 _get_def(list_skills), 51 _get_def(read_skill), 52 _get_def(spawn_agent), 53 _get_def(get_agent_result), 54 _get_def(store_memory), 55 _get_def(search_memory), 56 _get_def(forget_memory), 57 _get_def(schedule_task), 58 _get_def(list_tasks), 59 _get_def(delete_task), 60 _get_def(pause_task), 61 _get_def(resume_task), 62 _get_def(generate_pairing_code), 63 _get_def(verify_pairing_code), 64 ]
Get all registered built-in tools.
def
register_builtin_tools(registry: tiphys.tools.base.ToolRegistry) -> tiphys.tools.base.ToolRegistry:
67def register_builtin_tools(registry: ToolRegistry) -> ToolRegistry: 68 """Register all built-in tools.""" 69 for tool_def in get_all_builtin_tools(): 70 registry.register(tool_def) 71 return registry
Register all built-in tools.