16 lines
433 B
Python
16 lines
433 B
Python
from app.domain.schemas import ToolDefinition
|
|
|
|
|
|
class ToolRegistry:
|
|
def __init__(self, tools: list[ToolDefinition]) -> None:
|
|
self._tools = {tool.name: tool for tool in tools}
|
|
|
|
def list(self) -> list[ToolDefinition]:
|
|
return list(self._tools.values())
|
|
|
|
def get(self, name: str) -> ToolDefinition | None:
|
|
return self._tools.get(name)
|
|
|
|
def names(self) -> set[str]:
|
|
return set(self._tools)
|