"""5 chat tool -- LangChain @tool dekorátorral, build_tools(context) factory-vel. A tool-ok egy ChatToolContext-en keresztül érik el a HybridStore-t és a ProcessedDocument snapshot-ot. A `bind_tools()` ezeket a chat agent-hez köti. """ from __future__ import annotations from langchain_core.tools import BaseTool from tools.compare_documents import build_compare_documents_tool from tools.context import ChatToolContext from tools.get_extraction import build_get_extraction_tool from tools.list_documents import build_list_documents_tool from tools.search_documents import build_search_documents_tool from tools.validate_document import build_validate_document_tool def build_tools(context: ChatToolContext) -> list[BaseTool]: """A chat 5 tool-ját építi a context-re. Sorrend kötött (a dummy provider router ezt feltételezi a stratégia-választásnál). """ return [ build_list_documents_tool(context), build_get_extraction_tool(context), build_search_documents_tool(context), build_compare_documents_tool(context), build_validate_document_tool(context), ] __all__ = ["ChatToolContext", "build_tools"]