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"]
|