symfonic.core.tools.registration¶
registration ¶
Tool classification vocabulary and the per-tool registration record.
Split out of :mod:symfonic.core.tools.registry, which was 308 lines against
the 300-line budget. The types here are the data a registry stores;
ToolRegistry is the behaviour that stores it. Nothing here imports the
registry, so the dependency runs one way.
SafetyLevel ¶
Bases: str, Enum
Safety classification for tools.
ToolCategory ¶
Bases: str, Enum
Categories for tool classification.
ToolRegistration
dataclass
¶
ToolRegistration(tool: BaseTool, category: ToolCategory = ToolCategory.CUSTOM, safety_level: SafetyLevel = SafetyLevel.RESTRICTED, max_calls_per_invocation: int | None = None, visible_to_agents: bool = True, cost_usd: float | None = None, requires: type | None = None)
Metadata for a registered tool.