Skip to main content

services.runtime_tools

Runtime tools registry and Pydantic AI wiring.

This module maps generated tool specs to concrete Python callables and registers them into a pydantic_ai.Agent instance.

tools_requiring_approval_ids

def tools_requiring_approval_ids(tool_ids: List[str]) -> list[str]

Return enabled tool IDs that require approval.

register_agent_tools

def register_agent_tools(agent: object,
tool_ids: List[str],
agent_id: str | None = None,
pod_name: str | None = None,
disable_tool_approvals: bool = False) -> list[str]

Register runtime tools on a pydantic_ai.Agent instance.

Tool approval is handled at the capability layer via ToolsGuardrailCapability — this function only registers the raw tool implementations.

Arguments:

  • agent - Pydantic AI Agent instance exposing tool_plain.
  • tool_ids - Tool IDs from Agentspec.
  • agent_id - Runtime agent identifier (unused, kept for API compat).
  • pod_name - Optional pod name (unused, kept for API compat).
  • disable_tool_approvals - When true, force all runtime tools to requires_approval=False even if their ToolSpec is marked manual/approval-required.

Returns:

List of registered tool names.