diff --git a/crates/acp_thread/src/acp_thread.rs b/crates/acp_thread/src/acp_thread.rs index 2f3973fbcc94e2d06bdc08a91d61c53809a951ed..60054a0c52869889aa02ffebd8d7c8c5f46f553f 100644 --- a/crates/acp_thread/src/acp_thread.rs +++ b/crates/acp_thread/src/acp_thread.rs @@ -2162,17 +2162,13 @@ impl AcpThread { let request = acp::PromptRequest::new(self.session_id.clone(), message.clone()); let git_store = self.project.read(cx).git_store().clone(); - let message_id = if self.connection.truncate(&self.session_id, cx).is_some() { - Some(UserMessageId::new()) - } else { - None - }; + let message_id = UserMessageId::new(); self.run_turn(cx, async move |this, cx| { this.update(cx, |this, cx| { this.push_entry( AgentThreadEntry::UserMessage(UserMessage { - id: message_id.clone(), + id: Some(message_id.clone()), content: block, chunks: message, checkpoint: None, @@ -4469,7 +4465,7 @@ mod tests { fn prompt( &self, - _id: Option, + _id: UserMessageId, params: acp::PromptRequest, cx: &mut App, ) -> Task> { diff --git a/crates/acp_thread/src/connection.rs b/crates/acp_thread/src/connection.rs index fbccdd1b93ae4cf5f632fe48abf3115562293a5c..58e66a7685d524a20a284cdc227df2c5b5b4e59b 100644 --- a/crates/acp_thread/src/connection.rs +++ b/crates/acp_thread/src/connection.rs @@ -125,7 +125,7 @@ pub trait AgentConnection { fn prompt( &self, - user_message_id: Option, + user_message_id: UserMessageId, params: acp::PromptRequest, cx: &mut App, ) -> Task>; @@ -875,7 +875,7 @@ mod test_support { fn prompt( &self, - _id: Option, + _id: UserMessageId, params: acp::PromptRequest, cx: &mut App, ) -> Task> { diff --git a/crates/agent/src/agent.rs b/crates/agent/src/agent.rs index fe62d851ef1ba71c787aa6ec516b0b6b67449d67..33098cca24fb2a12ad78904b9adade884123209a 100644 --- a/crates/agent/src/agent.rs +++ b/crates/agent/src/agent.rs @@ -1489,11 +1489,10 @@ impl acp_thread::AgentConnection for NativeAgentConnection { fn prompt( &self, - id: Option, + id: acp_thread::UserMessageId, params: acp::PromptRequest, cx: &mut App, ) -> Task> { - let id = id.expect("UserMessageId is required"); let session_id = params.session_id.clone(); log::info!("Received prompt request for session: {}", session_id); log::debug!("Prompt blocks count: {}", params.prompt.len()); diff --git a/crates/agent/src/tests/mod.rs b/crates/agent/src/tests/mod.rs index ff53136a0ded4bbc283fea30598d8d30e6e29709..2f4267b35616fafbf0a9b4cd2f4eecb2cfc1aec4 100644 --- a/crates/agent/src/tests/mod.rs +++ b/crates/agent/src/tests/mod.rs @@ -3350,7 +3350,7 @@ async fn test_agent_connection(cx: &mut TestAppContext) { let result = cx .update(|cx| { connection.prompt( - Some(acp_thread::UserMessageId::new()), + acp_thread::UserMessageId::new(), acp::PromptRequest::new(session_id.clone(), vec!["ghi".into()]), cx, ) diff --git a/crates/agent_servers/src/acp.rs b/crates/agent_servers/src/acp.rs index dbcaabed1cf1971a6e281d8d31f8dad25dfb7434..54c24c91c89cde8faa4ab351aa8990b92b578050 100644 --- a/crates/agent_servers/src/acp.rs +++ b/crates/agent_servers/src/acp.rs @@ -955,7 +955,7 @@ impl AgentConnection for AcpConnection { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, params: acp::PromptRequest, cx: &mut App, ) -> Task> { diff --git a/crates/agent_ui/src/conversation_view.rs b/crates/agent_ui/src/conversation_view.rs index 7a4b8b02e20c6b7757ad1e7048c9c739d339f734..ff5e6292f80c436dc9eec1e6883010604d6732dd 100644 --- a/crates/agent_ui/src/conversation_view.rs +++ b/crates/agent_ui/src/conversation_view.rs @@ -3252,7 +3252,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> { @@ -4314,7 +4314,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> { @@ -4387,7 +4387,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> { @@ -4486,7 +4486,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> { @@ -4555,7 +4555,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> { @@ -4625,7 +4625,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> { @@ -4741,7 +4741,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> { @@ -7343,7 +7343,7 @@ pub(crate) mod tests { fn prompt( &self, - _id: Option, + _id: acp_thread::UserMessageId, _params: acp::PromptRequest, _cx: &mut App, ) -> Task> {