symfonic.core.tool_interface¶
tool_interface ¶
Phase 2 tool interface and registry — framework-agnostic tool contracts.
Defines the async Tool protocol and a ToolRegistry that supports registration, lookup by name, and capability-based filtering. Separate from Phase 1's LangChain-based tools/registry.py.
ConflictError ¶
Bases: StorageError
Write conflict (e.g. optimistic-lock failure, duplicate key).
Tool ¶
Bases: Protocol
Tool interface. All tools are async-only.
ToolRegistry ¶
Register tools, filter by capability, retrieve by name.
Raises ConflictError on duplicate name registration.
Source code in src/symfonic/core/tool_interface.py
all_tools ¶
get ¶
get_active_tools ¶
Return tools whose requires are all satisfied by deps.
Source code in src/symfonic/core/tool_interface.py
register ¶
Register a tool. Raises ConflictError if name already taken.