def test_cost_guard(tmp_path):
with reagent_flow.session("expensive-agent", trace_dir=str(tmp_path)) as s:
s.log_llm_call(
tool_calls=[{"name": "search", "arguments": {}}],
model="gpt-4o-2024-08-06",
token_usage={"prompt_tokens": 1000, "completion_tokens": 500},
)
s.log_tool_result("search", result={"found": True})
s.log_llm_call(
response_text="Here are your results.",
tool_calls=[],
model="gpt-4o-2024-08-06",
token_usage={"prompt_tokens": 1500, "completion_tokens": 200},
)
s.assert_total_tokens_under(10_000)
s.assert_cost_under(
usd=0.05,
model_costs={"gpt-4o": {"input": 2.50, "output": 10.00}},
)