#ifndef TINY_CONVMEM_MCP_TOOLS_CONTEXT_H #define TINY_CONVMEM_MCP_TOOLS_CONTEXT_H #include "domain/search.h" #include "mcp/tools/common/history.h" #include "mcp/tools/common/memory_index.h" #include "storage/store.h" typedef struct tiny_mcp_tools_context { tiny_store_t *store; tiny_search_index_t *search_index; tiny_history_index_t *history_index; tiny_memory_index_t *memory_index; } tiny_mcp_tools_context_t; tiny_mcp_tools_context_t *tiny_mcp_tools_context_new(tiny_store_t *store); void tiny_mcp_tools_context_free(tiny_mcp_tools_context_t *context); bool tiny_mcp_tools_context_activate(tiny_mcp_tools_context_t *context); void tiny_mcp_tools_context_deactivate(tiny_mcp_tools_context_t *context); tiny_mcp_tools_context_t *tiny_mcp_tools_context_current(void); tiny_search_index_t *tiny_mcp_tools_build_search_index(const tiny_store_t *store); bool tiny_mcp_tools_ensure_history_index(tiny_mcp_tools_context_t *context); bool tiny_mcp_tools_ensure_memory_index(tiny_mcp_tools_context_t *context); void tiny_mcp_tools_invalidate_indexes(tiny_mcp_tools_context_t *context); #endif