From 056e0d1934919079cfa6de3571372c11aa00f19b Mon Sep 17 00:00:00 2001 From: jif-oai Date: Sun, 28 Jun 2026 09:49:47 +0100 Subject: [PATCH] Omit unavailable task messages from list_agents --- codex-rs/core/src/agent/control.rs | 3 --- codex-rs/core/src/tools/handlers/multi_agents_spec.rs | 6 +----- codex-rs/core/src/tools/handlers/multi_agents_spec_tests.rs | 2 +- codex-rs/core/src/tools/handlers/multi_agents_tests.rs | 2 -- 4 files changed, 2 insertions(+), 11 deletions(-) diff --git a/codex-rs/core/src/agent/control.rs b/codex-rs/core/src/agent/control.rs index f3d6fb9192..a3ceec9285 100644 --- a/codex-rs/core/src/agent/control.rs +++ b/codex-rs/core/src/agent/control.rs @@ -78,7 +78,6 @@ pub(crate) struct LiveAgent { pub(crate) struct ListedAgent { pub(crate) agent_name: String, pub(crate) agent_status: AgentStatus, - pub(crate) last_task_message: Option, } /// Control-plane handle for multi-agent operations. @@ -345,7 +344,6 @@ impl AgentControl { agents.push(ListedAgent { agent_name: root_path.to_string(), agent_status: root_thread.agent_status().await, - last_task_message: None, }); } @@ -371,7 +369,6 @@ impl AgentControl { agents.push(ListedAgent { agent_name, agent_status: thread.agent_status().await, - last_task_message: None, }); } diff --git a/codex-rs/core/src/tools/handlers/multi_agents_spec.rs b/codex-rs/core/src/tools/handlers/multi_agents_spec.rs index 08f8ca071f..a5bd4d030b 100644 --- a/codex-rs/core/src/tools/handlers/multi_agents_spec.rs +++ b/codex-rs/core/src/tools/handlers/multi_agents_spec.rs @@ -435,13 +435,9 @@ fn list_agents_output_schema() -> Value { "agent_status": { "description": "Last known status of the agent.", "allOf": [agent_status_output_schema()] - }, - "last_task_message": { - "type": ["string", "null"], - "description": "Most recent user or inter-agent instruction received by the agent, when available." } }, - "required": ["agent_name", "agent_status", "last_task_message"], + "required": ["agent_name", "agent_status"], "additionalProperties": false }, "description": "Live agents visible in the current root thread tree." diff --git a/codex-rs/core/src/tools/handlers/multi_agents_spec_tests.rs b/codex-rs/core/src/tools/handlers/multi_agents_spec_tests.rs index 0228f7acb9..d3757677ab 100644 --- a/codex-rs/core/src/tools/handlers/multi_agents_spec_tests.rs +++ b/codex-rs/core/src/tools/handlers/multi_agents_spec_tests.rs @@ -393,7 +393,7 @@ fn list_agents_tool_includes_path_prefix_and_agent_fields() { ); assert_eq!( output_schema.expect("list_agents output schema")["properties"]["agents"]["items"]["required"], - json!(["agent_name", "agent_status", "last_task_message"]) + json!(["agent_name", "agent_status"]) ); } diff --git a/codex-rs/core/src/tools/handlers/multi_agents_tests.rs b/codex-rs/core/src/tools/handlers/multi_agents_tests.rs index 19a431a594..8c8642505c 100644 --- a/codex-rs/core/src/tools/handlers/multi_agents_tests.rs +++ b/codex-rs/core/src/tools/handlers/multi_agents_tests.rs @@ -179,7 +179,6 @@ struct ListAgentsResult { struct ListedAgentResult { agent_name: String, agent_status: serde_json::Value, - last_task_message: serde_json::Value, } #[derive(Debug, Deserialize)] @@ -1592,7 +1591,6 @@ async fn multi_agent_v2_list_agents_returns_completed_status() { .find(|agent| agent.agent_name == "/root/worker") .expect("worker agent should be listed"); assert_eq!(worker.agent_status, json!({"completed": "done"})); - assert_eq!(worker.last_task_message, serde_json::Value::Null); assert_eq!(success, Some(true)); }