24 lines
743 B
Python
24 lines
743 B
Python
"""Immutable registry composed before member work starts to prevent merge conflicts."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from types import MappingProxyType
|
|
from typing import Any
|
|
|
|
from .foundation import ToolTemplate
|
|
from .tools.change_context import TOOL as CHANGE_CONTEXT_TOOL
|
|
from .tools.issue_context import TOOL as ISSUE_CONTEXT_TOOL
|
|
from .tools.knowledge_search import TOOL as KNOWLEDGE_SEARCH_TOOL
|
|
|
|
TOOLS: tuple[ToolTemplate, ...] = (
|
|
ISSUE_CONTEXT_TOOL,
|
|
KNOWLEDGE_SEARCH_TOOL,
|
|
CHANGE_CONTEXT_TOOL,
|
|
)
|
|
TOOLS_BY_NAME = MappingProxyType({tool.name: tool for tool in TOOLS})
|
|
TOOL_NAMES = tuple(tool.name for tool in TOOLS)
|
|
|
|
|
|
def tool_declarations() -> list[dict[str, Any]]:
|
|
return [tool.declaration() for tool in TOOLS]
|