chore: upgrade sacp to 11.0.0 stable and agent-client-protocol-schema to 0.11

- Upgrade sacp/sacp-tokio from 11.0.0-alpha.1 to 11.0.0 stable
- Upgrade agent-client-protocol-schema from 0.10 to 0.11
- Rebase vendor/sacp-tokio patches (kill_tree, CREATE_NO_WINDOW, stderr
  truncation) onto official 11.0.0 baseline
- Adapt renamed types: FileSystemCapability → FileSystemCapabilities,
  KillTerminalCommandRequest/Response → KillTerminalRequest/Response

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
xintaofei
2026-04-03 22:10:15 +08:00
parent 56d6db7866
commit ac0d849a7b
7 changed files with 52 additions and 40 deletions

View File

@@ -6,8 +6,8 @@ use sacp::schema::McpServerStdio;
use sacp::schema::{
BlobResourceContents, CancelNotification, ClientCapabilities, ContentBlock, ContentChunk,
CreateTerminalRequest, CreateTerminalResponse, EmbeddedResource, EmbeddedResourceResource,
FileSystemCapability, ImageContent, InitializeRequest, KillTerminalCommandRequest,
KillTerminalCommandResponse, LoadSessionRequest, NewSessionRequest, NewSessionResponse,
FileSystemCapabilities, ImageContent, InitializeRequest, KillTerminalRequest,
KillTerminalResponse, LoadSessionRequest, NewSessionRequest, NewSessionResponse,
PermissionOptionKind, Plan, PlanEntryPriority, PlanEntryStatus, PromptRequest, ProtocolVersion,
ReadTextFileRequest, ReadTextFileResponse, ReleaseTerminalRequest, ReleaseTerminalResponse,
RequestPermissionOutcome, RequestPermissionRequest, RequestPermissionResponse, ResourceLink,
@@ -656,8 +656,8 @@ async fn run_connection(
.on_receive_request(
{
let runtime = terminal_runtime.clone();
async move |req: KillTerminalCommandRequest,
responder: Responder<KillTerminalCommandResponse>,
async move |req: KillTerminalRequest,
responder: Responder<KillTerminalResponse>,
_cx: ConnectionTo<Agent>| {
respond_terminal_request(responder, runtime.kill_terminal(req).await)?;
Ok(())
@@ -677,12 +677,12 @@ async fn run_connection(
},
on_receive_request!(),
)
.connect_with(agent, async move |cx| {
.connect_with(agent, async move |cx| -> Result<(), sacp::Error> {
// Advertise filesystem + terminal capabilities for ACP tool execution.
let init_request = InitializeRequest::new(ProtocolVersion::LATEST).client_capabilities(
ClientCapabilities::new()
.terminal(true)
.fs(FileSystemCapability::new()
.fs(FileSystemCapabilities::new()
.read_text_file(true)
.write_text_file(true)),
);