fix(acp): include agentInfo in initialize response (#9765)
Signed-off-by: Roman Ponomarev <maksugr@gmail.com>
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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(());
|
||||
|
||||
Reference in New Issue
Block a user