Update to acp 0.0.18 (#35595)

Release Notes:

- N/A
This commit is contained in:
Agus Zubiaga 2025-08-04 15:45:17 -03:00 committed by GitHub
parent f3f2dba606
commit 1325bf1420
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 30 additions and 24 deletions

View file

@ -127,7 +127,7 @@ impl acp_old::Client for OldAcpClientDelegate {
outcomes.push(outcome);
acp_options.push(acp::PermissionOption {
id: acp::PermissionOptionId(index.to_string().into()),
label,
name: label,
kind,
})
}
@ -266,7 +266,7 @@ impl acp_old::Client for OldAcpClientDelegate {
fn into_new_tool_call(id: acp::ToolCallId, request: acp_old::PushToolCallParams) -> acp::ToolCall {
acp::ToolCall {
id: id,
label: request.label,
title: request.label,
kind: acp_kind_from_old_icon(request.icon),
status: acp::ToolCallStatus::InProgress,
content: request

View file

@ -1,4 +1,5 @@
use agent_client_protocol::{self as acp, Agent as _};
use anyhow::anyhow;
use collections::HashMap;
use futures::channel::oneshot;
use project::Project;
@ -105,11 +106,16 @@ impl AgentConnection for AcpConnection {
mcp_servers: vec![],
cwd,
})
.await?;
.await
.map_err(|err| {
if err.code == acp::ErrorCode::AUTH_REQUIRED.code {
anyhow!(AuthRequired)
} else {
anyhow!(err)
}
})?;
let Some(session_id) = response.session_id else {
anyhow::bail!(AuthRequired);
};
let session_id = response.session_id;
let thread = cx.new(|cx| {
AcpThread::new(
@ -155,11 +161,11 @@ impl AgentConnection for AcpConnection {
fn cancel(&self, session_id: &acp::SessionId, cx: &mut App) {
let conn = self.connection.clone();
let params = acp::CancelledNotification {
let params = acp::CancelNotification {
session_id: session_id.clone(),
};
cx.foreground_executor()
.spawn(async move { conn.cancelled(params).await })
.spawn(async move { conn.cancel(params).await })
.detach();
}
}

View file

@ -158,12 +158,12 @@ impl McpServerTool for PermissionTool {
vec![
acp::PermissionOption {
id: allow_option_id.clone(),
label: "Allow".into(),
name: "Allow".into(),
kind: acp::PermissionOptionKind::AllowOnce,
},
acp::PermissionOption {
id: reject_option_id.clone(),
label: "Reject".into(),
name: "Reject".into(),
kind: acp::PermissionOptionKind::RejectOnce,
},
],

View file

@ -308,7 +308,7 @@ impl ClaudeTool {
id,
kind: self.kind(),
status: acp::ToolCallStatus::InProgress,
label: self.label(),
title: self.label(),
content: self.content(),
locations: self.locations(),
raw_input: None,