diff --git a/codex-rs/core/src/agent/inter_agent_instruction.rs b/codex-rs/core/src/agent/inter_agent_instruction.rs index 0eff40beb4..4c1aeddc5b 100644 --- a/codex-rs/core/src/agent/inter_agent_instruction.rs +++ b/codex-rs/core/src/agent/inter_agent_instruction.rs @@ -38,6 +38,7 @@ impl InterAgentInstruction { content: vec![ContentItem::OutputText { text: self.as_text(), }], + metadata: None, end_turn: None, phase: None, } diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index 345b4d04e3..cc82d61094 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -5689,7 +5689,10 @@ pub(crate) async fn run_turn( } let mut initial_input_for_turn: ResponseInputItem = ResponseInputItem::from(input.clone()); if sess.enabled(Feature::ItemMetadata) { - stamp_user_message_type_on_input_item(&mut initial_input_for_turn, UserMessageType::Prompt); + stamp_user_message_type_on_input_item( + &mut initial_input_for_turn, + UserMessageType::Prompt, + ); } let response_item: ResponseItem = initial_input_for_turn.clone().into(); sess.record_user_prompt_and_emit_turn_item(turn_context.as_ref(), &input, response_item) diff --git a/codex-rs/core/src/codex_thread.rs b/codex-rs/core/src/codex_thread.rs index 04a4361ac1..a0a816f910 100644 --- a/codex-rs/core/src/codex_thread.rs +++ b/codex-rs/core/src/codex_thread.rs @@ -265,9 +265,15 @@ impl CodexThread { fn pending_message_input_item(message: &ResponseItem) -> CodexResult { match message { - ResponseItem::Message { role, content, .. } => Ok(ResponseInputItem::Message { + ResponseItem::Message { + role, + content, + metadata, + .. + } => Ok(ResponseInputItem::Message { role: role.clone(), content: content.clone(), + metadata: metadata.clone(), }), _ => Err(CodexErr::InvalidRequest( "append_message only supports ResponseItem::Message".to_string(),