"""Execution / agent benchmarks. Recipes exist now; scorers raise LayerNotReady until the sandbox & agent layers land (interfaces are stable).""" from ..recipe import EvalRecipe, register_eval @register_eval('humaneval') def humaneval(): return EvalRecipe( name='humaneval', extract='code_block', scorers={'pass@1': 'execution'}, aggregators={'pass@1': 'pass_at_k'}, description='HumanEval; sandbox test execution, pass@k.', ) @register_eval('bigcodebench') def bigcodebench(): return EvalRecipe( name='bigcodebench', extract='code_block', scorers={'pass@1': 'execution'}, aggregators={'pass@1': 'pass_at_k'}, description='BigCodeBench; sandbox test execution with libs, pass@k.', ) @register_eval('live_code_bench') def live_code_bench(): return EvalRecipe( name='live_code_bench', extract='code_block', scorers={'pass@1': 'execution'}, aggregators={'pass@1': 'pass_at_k'}, description='LiveCodeBench; hidden tests, pass@k.', ) @register_eval('swe_bench_verified') def swe_bench_verified(): return EvalRecipe( name='swe_bench_verified', extract='identity', # a patch, not an answer scorers={'resolved': 'env_reward'}, description='SWE-bench Verified; docker env, FAIL_TO_PASS/PASS_TO_PASS.', ) @register_eval('tau2_bench') def tau2_bench(): return EvalRecipe( name='tau2_bench', extract='identity', scorers={'acc': 'env_reward'}, description='tau2-bench; user-simulated dialog, environment reward.', ) @register_eval('bfcl_v3') def bfcl_v3(): return EvalRecipe( name='bfcl_v3', extract='identity', scorers={'acc': 'execution'}, # AST check for most categories; exec for executable ones aggregators={'acc': 'weighted_group_avg'}, # group_key = test_category description='BFCL v3; AST/exec per category, weighted category average.', ) @register_eval('general_fc') def general_fc(): return EvalRecipe( name='general_fc', extract='identity', scorers={'acc': 'execution'}, description='General function calling; tool-call comparison.', )