fix(acp): include agentInfo in initialize response (#9765)

Signed-off-by: Roman Ponomarev <maksugr@gmail.com>
This commit is contained in:
Roman Ponomarev
2026-06-17 11:49:52 +02:00
committed by GitHub
parent 739d9cb276
commit 86846ec325
2 changed files with 11 additions and 5 deletions
+5 -4
View File
@@ -43,10 +43,10 @@ use agent_client_protocol::schema::{
AuthenticateResponse, BlobResourceContents, CancelNotification, CloseSessionRequest,
CloseSessionResponse, ConfigOptionUpdate, Content, ContentBlock, ContentChunk,
CurrentModeUpdate, EmbeddedResource, EmbeddedResourceResource, FileSystemCapabilities,
ForkSessionRequest, ForkSessionResponse, ImageContent, InitializeRequest, InitializeResponse,
ListSessionsRequest, ListSessionsResponse, LoadSessionRequest, LoadSessionResponse,
McpCapabilities, McpServer, Meta, NewSessionRequest, NewSessionResponse, PermissionOption,
PermissionOptionKind, PromptCapabilities, PromptRequest, PromptResponse,
ForkSessionRequest, ForkSessionResponse, ImageContent, Implementation, InitializeRequest,
InitializeResponse, ListSessionsRequest, ListSessionsResponse, LoadSessionRequest,
LoadSessionResponse, McpCapabilities, McpServer, Meta, NewSessionRequest, NewSessionResponse,
PermissionOption, PermissionOptionKind, PromptCapabilities, PromptRequest, PromptResponse,
RequestPermissionOutcome, RequestPermissionRequest, ResourceLink, SessionCapabilities,
SessionCloseCapabilities, SessionConfigOption, SessionId, SessionInfoUpdate,
SessionListCapabilities, SessionNotification, SessionUpdate, SetSessionConfigOptionRequest,
@@ -2113,6 +2113,7 @@ impl GooseAcpAgent {
)
.mcp_capabilities(McpCapabilities::new().http(true));
Ok(InitializeResponse::new(args.protocol_version)
.agent_info(Implementation::new("goose", env!("CARGO_PKG_VERSION")))
.agent_capabilities(capabilities)
.auth_methods(vec![AuthMethod::Agent(
AuthMethodAgent::new("goose-provider", "Configure Provider")
+6 -1
View File
@@ -273,7 +273,7 @@ impl Connection for AcpServerConnection {
.connect_with(transport, {
let cx_holder = cx_holder_clone;
async move |cx: ConnectionTo<Agent>| {
let _resp = cx
let resp = cx
.send_request(
InitializeRequest::new(ProtocolVersion::LATEST)
.client_capabilities(
@@ -285,6 +285,11 @@ impl Connection for AcpServerConnection {
.block_task()
.await
.unwrap();
assert_eq!(
resp.agent_info.as_ref().map(|info| info.name.as_str()),
Some("goose"),
"initialize response must identify the agent"
);
*cx_holder.lock().unwrap() = Some(cx.clone());
let _ = ready_tx.send(());