| 123456789101112131415161718192021222324252627282930313233 |
- from agent.core.runner import AgentRunner, RunConfig
- from agent.orchestration.models import CompletionPolicy
- from agent.trace.models import Trace
- def test_run_config_defaults_to_legacy_auto():
- assert RunConfig().completion_policy == CompletionPolicy.LEGACY_AUTO
- def test_old_trace_without_agent_role_reads_as_legacy():
- original = Trace(trace_id="old", mode="agent").to_dict()
- original.pop("agent_role")
- trace = Trace.from_dict(original)
- assert trace.agent_role == "legacy"
- def test_legacy_schema_keeps_agent_evaluate_goal_but_hides_explicit_tools():
- runner = AgentRunner(llm_call=lambda **_: None)
- schemas = runner._get_run_tool_schemas(RunConfig(tool_groups=["core"]))
- names = {schema["function"]["name"] for schema in schemas}
- assert {"agent", "evaluate", "goal"}.issubset(names)
- assert names.isdisjoint({
- "task_plan", "dispatch_tasks", "task_decide", "validate_attempt",
- "submit_attempt", "submit_validation",
- })
- def test_legacy_tools_and_groups_keep_union_semantics():
- runner = AgentRunner(llm_call=lambda **_: None)
- schemas = runner._get_tool_schemas(tools=["read_file"], tool_groups=["core"])
- names = {schema["function"]["name"] for schema in schemas}
- assert "read_file" in names
- assert "agent" in names
|