File size: 1,423 Bytes
296a506
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""
Frox AI — Tools

Importing this package registers every built-in tool into
`tools.registry.registry`. Individual tool modules can still be
imported directly (e.g. `from tools.calculator import evaluate`) for
unit testing without pulling in the others' dependencies (httpx,
pdfplumber, etc.) — this __init__ is the only place that imports all
of them together, and only the inference engine / API layer needs it.

Usage:
    import tools   # registers everything
    from tools.registry import registry, ToolContext

    ctx = ToolContext(engine=my_engine, plan="pro")
    result = await registry.execute("calculator", {"expression": "2+2"}, ctx)
"""
from __future__ import annotations

from tools.registry import registry, tool, ToolContext, ToolResult

# Import every tool module so its @tool-decorated functions register.
# (imports intentionally unused beyond their registration side effect)
from tools import calculator          # noqa: F401
from tools import memory              # noqa: F401
from tools import knowledge_base      # noqa: F401
from tools import web_search          # noqa: F401
from tools import web_browser         # noqa: F401
from tools import file_analysis       # noqa: F401
from tools import image_analysis      # noqa: F401
from tools import youtube_tools       # noqa: F401
from tools import code_interpreter    # noqa: F401

__all__ = ["registry", "tool", "ToolContext", "ToolResult"]