test_legacy_compatibility.py 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. from agent.core.runner import AgentRunner, RunConfig
  2. from agent.orchestration.models import CompletionPolicy
  3. from agent.trace.models import Trace
  4. def test_run_config_defaults_to_legacy_auto():
  5. assert RunConfig().completion_policy == CompletionPolicy.LEGACY_AUTO
  6. def test_old_trace_without_agent_role_reads_as_legacy():
  7. original = Trace(trace_id="old", mode="agent").to_dict()
  8. original.pop("agent_role")
  9. trace = Trace.from_dict(original)
  10. assert trace.agent_role == "legacy"
  11. def test_legacy_schema_keeps_agent_evaluate_goal_but_hides_explicit_tools():
  12. runner = AgentRunner(llm_call=lambda **_: None)
  13. schemas = runner._get_run_tool_schemas(RunConfig(tool_groups=["core"]))
  14. names = {schema["function"]["name"] for schema in schemas}
  15. assert {"agent", "evaluate", "goal"}.issubset(names)
  16. assert names.isdisjoint({
  17. "task_plan", "dispatch_tasks", "task_decide", "validate_attempt",
  18. "submit_attempt", "submit_validation",
  19. })
  20. def test_legacy_tools_and_groups_keep_union_semantics():
  21. runner = AgentRunner(llm_call=lambda **_: None)
  22. schemas = runner._get_tool_schemas(tools=["read_file"], tool_groups=["core"])
  23. names = {schema["function"]["name"] for schema in schemas}
  24. assert "read_file" in names
  25. assert "agent" in names