Codex Handbook
core/src/context/subagent_notification.rs 42 lines
use codex_protocol::protocol::AgentStatus;use super::ContextualUserFragment;#[derive(Debug, Clone, PartialEq)]pub(crate) struct SubagentNotification {    pub(crate) agent_reference: String,    pub(crate) status: AgentStatus,}impl SubagentNotification {    pub(crate) fn new(agent_reference: impl Into<String>, status: AgentStatus) -> Self {        Self {            agent_reference: agent_reference.into(),            status,        }    }}impl ContextualUserFragment for SubagentNotification {    fn role(&self) -> &'static str {        "user"    }    fn markers(&self) -> (&'static str, &'static str) {        Self::type_markers()    }    fn type_markers() -> (&'static str, &'static str) {        ("<subagent_notification>", "</subagent_notification>")    }    fn body(&self) -> String {        format!(            "\n{}\n",            serde_json::json!({                "agent_path": &self.agent_reference,                "status": &self.status,            })        )    }}