from __future__ import annotations from types import SimpleNamespace from yuxi.agents.toolkits import service as tool_service def test_get_tool_metadata_includes_config_guide(monkeypatch): tool_service._metadata_cache.clear() fake_tool = SimpleNamespace( name="demo_tool", description="demo description", metadata={}, args_schema=None, ) fake_extra = SimpleNamespace( category="buildin", tags=["demo"], display_name="演示工具", config_guide="请先配置 DEMO_API_KEY", ) monkeypatch.setattr( "yuxi.agents.toolkits.registry.get_all_tool_instances", lambda: [fake_tool], ) monkeypatch.setattr( "yuxi.agents.toolkits.registry.get_all_extra_metadata", lambda: {"demo_tool": fake_extra}, ) result = tool_service.get_tool_metadata() assert result == [ { "slug": "demo_tool", "name": "演示工具", "description": "demo description", "metadata": {}, "args": [], "category": "buildin", "tags": ["demo"], "config_guide": "请先配置 DEMO_API_KEY", } ] tool_service._metadata_cache.clear()