from __future__ import annotations from test_hermes_register_tools import load_plugin_module def test_tool_schemas_exist_for_all_tools(): module = load_plugin_module() schemas = module.schemas.TOOL_SCHEMAS assert set(schemas) == { "memory_search", "memory_append_episode", "memory_commit_session", "memory_upsert", "memory_feedback", } def test_tool_schemas_have_required_fields(): module = load_plugin_module() schemas = module.schemas.TOOL_SCHEMAS assert schemas["memory_search"]["parameters"]["required"] == ["query", "user_id", "agent_id"] assert schemas["memory_append_episode"]["parameters"]["required"] == ["content", "user_id", "agent_id", "session_id"] assert schemas["memory_commit_session"]["parameters"]["required"] == ["user_id", "agent_id", "session_id"] assert schemas["memory_upsert"]["parameters"]["required"] == ["user_id", "agent_id", "content", "memory_type"] assert schemas["memory_feedback"]["parameters"]["required"] == ["memory_id", "user_id", "agent_id", "feedback"] def test_upsert_schema_warns_high_risk(): module = load_plugin_module() description = module.schemas.TOOL_SCHEMAS["memory_upsert"]["description"].lower() assert "high-risk" in description assert "do not call automatically" in description