from __future__ import annotations from lyra import tools from lyra.poker_contract import OPERATIONS def test_llm_tool_required_args_match_contract(): for op, decl in OPERATIONS.items(): name = decl["llm_tool"] if not name: continue spec = tools.TOOLS[name]["spec"] required = set(spec["function"]["parameters"]["required"]) assert required == set(decl["required"]), ( f"{op}: tools spec required {required} != contract {set(decl['required'])}" )