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
def get_all_builtin_tools() -> list[tiphys.tools.base.ToolDefinition]:
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.