74 lines
2.0 KiB
Python
74 lines
2.0 KiB
Python
"""Public facade for the AI tool layer.
|
|
|
|
Importing this module registers all built-in tools (via
|
|
``backend.tools.service``) and re-exports the public API. Consumers (agent
|
|
loop, MCP server, tests) should import from here rather than from individual
|
|
submodules.
|
|
|
|
Note: ObsiGate uses implicit namespace packages (no tracked ``__init__.py``,
|
|
which ``.gitignore`` excludes via ``_*.py``), hence this explicit facade.
|
|
"""
|
|
|
|
from backend.tools import connected as _connected # noqa: F401 (registers connected-source tools)
|
|
from backend.tools import crawler as _crawler # noqa: F401 (registers the site crawler)
|
|
from backend.tools import documents as _documents # noqa: F401 (registers document tools)
|
|
from backend.tools import service as _service # noqa: F401 (registers tools)
|
|
from backend.tools import web as _web # noqa: F401 (registers web tools)
|
|
from backend.tools.context import (
|
|
ToolConfirmationRequired,
|
|
ToolContext,
|
|
ToolError,
|
|
ToolMode,
|
|
ToolNotFoundError,
|
|
ToolPermissionError,
|
|
ToolRateLimitError,
|
|
ToolRisk,
|
|
ToolScope,
|
|
ToolValidationError,
|
|
resolve_safe_path,
|
|
)
|
|
from backend.tools.ratelimit import (
|
|
check_and_record as check_tool_rate_limit,
|
|
)
|
|
from backend.tools.ratelimit import (
|
|
get_status as get_tool_rate_limit_status,
|
|
)
|
|
from backend.tools.ratelimit import (
|
|
reset as reset_tool_rate_limit,
|
|
)
|
|
from backend.tools.redaction import redact_payload
|
|
from backend.tools.registry import (
|
|
ToolSpec,
|
|
call_tool,
|
|
get_tool,
|
|
get_tool_schemas,
|
|
list_tools,
|
|
tool,
|
|
)
|
|
from backend.tools.schemas import ToolResult
|
|
|
|
__all__ = [
|
|
"ToolConfirmationRequired",
|
|
"ToolContext",
|
|
"ToolError",
|
|
"ToolMode",
|
|
"ToolNotFoundError",
|
|
"ToolPermissionError",
|
|
"ToolRateLimitError",
|
|
"ToolResult",
|
|
"ToolRisk",
|
|
"ToolScope",
|
|
"ToolSpec",
|
|
"ToolValidationError",
|
|
"call_tool",
|
|
"check_tool_rate_limit",
|
|
"get_tool",
|
|
"get_tool_rate_limit_status",
|
|
"get_tool_schemas",
|
|
"list_tools",
|
|
"redact_payload",
|
|
"reset_tool_rate_limit",
|
|
"resolve_safe_path",
|
|
"tool",
|
|
]
|