Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ agent-client-protocol-trace-viewer = { path = "src/agent-client-protocol-trace-v
yopo = { package = "agent-client-protocol-yopo", path = "src/yopo" }

# Protocol
agent-client-protocol-schema = { version = "=0.13.8", features = ["tracing"] }
agent-client-protocol-schema = { version = "=0.14.0", features = ["tracing"] }

# Core async runtime
tokio = { version = "1.52", default-features = false }
Expand Down
2 changes: 1 addition & 1 deletion src/agent-client-protocol-conductor/src/conductor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ use agent_client_protocol::{
};
use agent_client_protocol::{
HandleDispatchFrom,
schema::{InitializeProxyRequest, InitializeRequest},
schema::{InitializeProxyRequest, v1::InitializeRequest},
util::MatchDispatchFrom,
};
use agent_client_protocol::{Handled, schema::SuccessorMessage};
Expand Down
2 changes: 1 addition & 1 deletion src/agent-client-protocol-conductor/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ pub use self::conductor::*;
use clap::{Parser, Subcommand};

use agent_client_protocol::{AcpAgent, Stdio};
use agent_client_protocol::{Client, Conductor, DynConnectTo, schema::InitializeRequest};
use agent_client_protocol::{Client, Conductor, DynConnectTo, schema::v1::InitializeRequest};
use tracing::Instrument;
use tracing_subscriber::{EnvFilter, layer::SubscriberExt, util::SubscriberInitExt};

Expand Down
11 changes: 5 additions & 6 deletions src/agent-client-protocol-conductor/src/trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ use std::io::{BufWriter, Write};
use std::path::Path;
use std::time::Instant;

use agent_client_protocol::schema::{
McpOverAcpMessage, RequestId, Response as RpcResponse, SuccessorMessage,
use agent_client_protocol::schema::v1::{
Notification as RpcNotification, Request as RpcRequest, RequestId, Response as RpcResponse,
};
use agent_client_protocol::schema::{McpOverAcpMessage, SuccessorMessage};
use agent_client_protocol::{
DynConnectTo, JsonRpcMessage, RawJsonRpcMessage, RawJsonRpcParams, Role, UntypedMessage,
};
Expand Down Expand Up @@ -559,16 +560,14 @@ impl MessageInfo {
/// - `_mcp/message` messages are detected and marked as MCP protocol
///
/// Returns (protocol, method, params).
fn from_request(req: agent_client_protocol::schema::Request<RawJsonRpcParams>) -> Self {
fn from_request(req: RpcRequest<RawJsonRpcParams>) -> Self {
let untyped =
UntypedMessage::parse_message(&req.method, &params_from_transport(req.params))
.expect("untyped message is infallible");
Self::from_untyped(Successor(false), Some(req.id), Protocol::Acp, untyped)
}

fn from_notification(
notification: agent_client_protocol::schema::Notification<RawJsonRpcParams>,
) -> Self {
fn from_notification(notification: RpcNotification<RawJsonRpcParams>) -> Self {
let untyped = UntypedMessage::parse_message(
&notification.method,
&params_from_transport(notification.params),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
//! 2. Multi-component chains: proxies receive `InitializeProxyRequest`
//! 3. Last component (agent) receives `InitializeRequest`

use agent_client_protocol::schema::{
AgentCapabilities, InitializeProxyRequest, InitializeRequest, InitializeResponse,
ProtocolVersion,
};
use agent_client_protocol::schema::v1::{AgentCapabilities, InitializeRequest, InitializeResponse};
use agent_client_protocol::schema::{InitializeProxyRequest, ProtocolVersion};
use agent_client_protocol::{Agent, Client, Conductor, ConnectTo, DynConnectTo, Proxy};
use agent_client_protocol_conductor::{ConductorImpl, ProxiesAndAgent};
use agent_client_protocol_test::testy::Testy;
Expand Down
7 changes: 4 additions & 3 deletions src/agent-client-protocol-conductor/tests/mcp-integration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@
mod mcp_integration;

use agent_client_protocol::Agent;
use agent_client_protocol::schema::{
ContentBlock, InitializeRequest, NewSessionRequest, PromptRequest, ProtocolVersion,
SessionNotification, TextContent,
use agent_client_protocol::schema::ProtocolVersion;
use agent_client_protocol::schema::v1::{
ContentBlock, InitializeRequest, NewSessionRequest, PromptRequest, SessionNotification,
TextContent,
};
use agent_client_protocol_conductor::{ConductorImpl, ProxiesAndAgent};
use agent_client_protocol_polyfill::mcp_over_acp::McpOverAcpPolyfill;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
//! from being invoked.

use agent_client_protocol::mcp_server::McpServer;
use agent_client_protocol::schema::{
use agent_client_protocol::schema::ProtocolVersion;
use agent_client_protocol::schema::v1::{
AgentCapabilities, InitializeRequest, InitializeResponse, NewSessionRequest,
NewSessionResponse, ProtocolVersion, SessionId,
NewSessionResponse, SessionId,
};
use agent_client_protocol::{Agent, Client, Conductor, ConnectTo, DynConnectTo, Proxy};
use agent_client_protocol_conductor::{ConductorImpl, ProxiesAndAgent};
Expand Down
9 changes: 5 additions & 4 deletions src/agent-client-protocol-conductor/tests/meta_propagation.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
use std::sync::{Arc, Mutex};

use agent_client_protocol::schema::{
AgentCapabilities, ContentBlock, InitializeProxyRequest, InitializeRequest, InitializeResponse,
Meta, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ProtocolVersion,
SessionId, StopReason, TextContent,
use agent_client_protocol::schema::v1::{
AgentCapabilities, ContentBlock, InitializeRequest, InitializeResponse, Meta,
NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, SessionId, StopReason,
TextContent,
};
use agent_client_protocol::schema::{InitializeProxyRequest, ProtocolVersion};
use agent_client_protocol::util::MatchDispatchFrom;
use agent_client_protocol::{
Agent, Client, Conductor, ConnectTo, ConnectionTo, Dispatch, HandleDispatchFrom, Handled,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ use std::sync::{Arc, Mutex};
use std::time::Duration;

use agent_client_protocol::DynConnectTo;
use agent_client_protocol::schema::{
use agent_client_protocol::schema::v1::{
CancelRequestNotification, ContentBlock, ContentChunk, InitializeRequest, InitializeResponse,
McpConnectRequest, McpServer as SchemaMcpServer, NewSessionRequest, NewSessionResponse,
PermissionOption, PermissionOptionKind, PromptRequest, PromptResponse, ProtocolVersion,
RequestPermissionOutcome, RequestPermissionRequest, RequestPermissionResponse,
SelectedPermissionOutcome, SessionId, SessionNotification, SessionUpdate, StopReason,
ToolCallUpdate, ToolCallUpdateFields,
McpServer as SchemaMcpServer, NewSessionRequest, NewSessionResponse, PermissionOption,
PermissionOptionKind, PromptRequest, PromptResponse, RequestPermissionOutcome,
RequestPermissionRequest, RequestPermissionResponse, SelectedPermissionOutcome, SessionId,
SessionNotification, SessionUpdate, StopReason, ToolCallUpdate, ToolCallUpdateFields,
};
use agent_client_protocol::schema::{McpConnectRequest, ProtocolVersion};
use agent_client_protocol::{
Agent, ByteStreams, Client, Conductor, ConnectTo, ConnectionTo, Error, JsonRpcRequest,
JsonRpcResponse, NullRun, Proxy, Responder, Role, SentRequest,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ async fn test_scoped_mcp_server_through_session() -> Result<(), agent_client_pro
),
async |cx| {
// Initialize first
cx.send_request(agent_client_protocol::schema::InitializeRequest::new(
cx.send_request(agent_client_protocol::schema::v1::InitializeRequest::new(
agent_client_protocol::schema::ProtocolVersion::LATEST,
))
.block_task()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
//! verifies that MCP requests travel all the way back to the client.

use agent_client_protocol::mcp_server::McpServer;
use agent_client_protocol::schema::{InitializeRequest, ProtocolVersion};
use agent_client_protocol::schema::{ProtocolVersion, v1::InitializeRequest};
use agent_client_protocol::{Client, Role, RunWithConnectionTo};
use agent_client_protocol_conductor::trace::TraceEvent;
use agent_client_protocol_conductor::{ConductorImpl, ProxiesAndAgent};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@

mod mcp_integration;

use agent_client_protocol::schema::{
ContentBlock, InitializeRequest, NewSessionRequest, PromptRequest, ProtocolVersion,
SessionNotification, TextContent,
use agent_client_protocol::schema::ProtocolVersion;
use agent_client_protocol::schema::v1::{
ContentBlock, InitializeRequest, NewSessionRequest, PromptRequest, SessionNotification,
TextContent,
};
use agent_client_protocol_conductor::trace::TraceEvent;
use agent_client_protocol_conductor::{ConductorImpl, ProxiesAndAgent};
Expand Down
30 changes: 15 additions & 15 deletions src/agent-client-protocol-cookbook/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ pub mod one_shot_prompt {
//!
//! ```
//! use agent_client_protocol::{Client, Agent, ConnectTo};
//! use agent_client_protocol::schema::{InitializeRequest, ProtocolVersion};
//! use agent_client_protocol::schema::{ProtocolVersion, v1::InitializeRequest};
//!
//! async fn ask_agent(
//! transport: impl ConnectTo<Client> + 'static,
Expand Down Expand Up @@ -114,7 +114,7 @@ pub mod one_shot_prompt {
//! [`send_prompt`]: agent_client_protocol::ActiveSession::send_prompt
//! [`read_to_string`]: agent_client_protocol::ActiveSession::read_to_string
//! [`connecting_as_client`]: super::connecting_as_client
//! [`RequestPermissionRequest`]: agent_client_protocol::schema::RequestPermissionRequest
//! [`RequestPermissionRequest`]: agent_client_protocol::schema::v1::RequestPermissionRequest
}

pub mod connecting_as_client {
Expand All @@ -128,7 +128,7 @@ pub mod connecting_as_client {
//!
//! ```
//! use agent_client_protocol::{Client, Agent, ConnectTo};
//! use agent_client_protocol::schema::{InitializeRequest, ProtocolVersion};
//! use agent_client_protocol::schema::{ProtocolVersion, v1::InitializeRequest};
//!
//! async fn connect_to_agent(transport: impl ConnectTo<Client>) -> Result<(), agent_client_protocol::Error> {
//! Client.builder()
Expand Down Expand Up @@ -201,7 +201,7 @@ pub mod connecting_as_client {
//! [`read_update`]: agent_client_protocol::ActiveSession::read_update
//! [`read_to_string`]: agent_client_protocol::ActiveSession::read_to_string
//! [`with_mcp_server`]: agent_client_protocol::SessionBuilder::with_mcp_server
//! [`RequestPermissionRequest`]: agent_client_protocol::schema::RequestPermissionRequest
//! [`RequestPermissionRequest`]: agent_client_protocol::schema::v1::RequestPermissionRequest
//! [`on_receive_request`]: agent_client_protocol::Builder::on_receive_request
}

Expand All @@ -220,7 +220,7 @@ pub mod building_an_agent {
//!
//! ```
//! use agent_client_protocol::{Agent, Client, ConnectTo, Dispatch, ConnectionTo};
//! use agent_client_protocol::schema::{
//! use agent_client_protocol::schema::v1::{
//! InitializeRequest, InitializeResponse, AgentCapabilities,
//! NewSessionRequest, NewSessionResponse, SessionId,
//! PromptRequest, PromptResponse, StopReason,
Expand Down Expand Up @@ -321,11 +321,11 @@ pub mod building_an_agent {
//! For agents that will be composed with proxies, implement [`ConnectTo`].
//! See [`reusable_components`] for the pattern.
//!
//! [`InitializeRequest`]: agent_client_protocol::schema::InitializeRequest
//! [`NewSessionRequest`]: agent_client_protocol::schema::NewSessionRequest
//! [`PromptRequest`]: agent_client_protocol::schema::PromptRequest
//! [`SessionNotification`]: agent_client_protocol::schema::SessionNotification
//! [`RequestPermissionRequest`]: agent_client_protocol::schema::RequestPermissionRequest
//! [`InitializeRequest`]: agent_client_protocol::schema::v1::InitializeRequest
//! [`NewSessionRequest`]: agent_client_protocol::schema::v1::NewSessionRequest
//! [`PromptRequest`]: agent_client_protocol::schema::v1::PromptRequest
//! [`SessionNotification`]: agent_client_protocol::schema::v1::SessionNotification
//! [`RequestPermissionRequest`]: agent_client_protocol::schema::v1::RequestPermissionRequest
//! [`Agent`]: agent_client_protocol::Agent
//! [`ConnectTo`]: agent_client_protocol::ConnectTo
//! [`reusable_components`]: super::reusable_components
Expand All @@ -342,7 +342,7 @@ pub mod reusable_components {
//!
//! ```
//! use agent_client_protocol::{ConnectTo, Agent, Client};
//! use agent_client_protocol::schema::{
//! use agent_client_protocol::schema::v1::{
//! InitializeRequest, InitializeResponse, AgentCapabilities,
//! };
//!
Expand Down Expand Up @@ -397,7 +397,7 @@ pub mod custom_message_handlers {
//!
//! ```
//! use agent_client_protocol::{HandleDispatchFrom, Dispatch, Handled, ConnectionTo, UntypedRole};
//! use agent_client_protocol::schema::{InitializeRequest, InitializeResponse, AgentCapabilities};
//! use agent_client_protocol::schema::v1::{AgentCapabilities, InitializeRequest, InitializeResponse};
//! use agent_client_protocol::util::MatchDispatch;
//!
//! struct MyHandler;
Expand Down Expand Up @@ -583,7 +583,7 @@ pub mod per_session_mcp_server {
//! ```
//! use agent_client_protocol::mcp_server::McpServer;
//! use agent_client_protocol_rmcp::McpServerExt;
//! use agent_client_protocol::schema::NewSessionRequest;
//! use agent_client_protocol::schema::v1::NewSessionRequest;
//! use agent_client_protocol::{Client, Proxy, Conductor, ConnectTo};
//!
//! async fn run_proxy(transport: impl ConnectTo<Proxy>) -> Result<(), agent_client_protocol::Error> {
Expand Down Expand Up @@ -642,7 +642,7 @@ pub mod per_session_mcp_server {
//! ```
//! # use agent_client_protocol::mcp_server::McpServer;
//! # use agent_client_protocol_rmcp::McpServerExt;
//! # use agent_client_protocol::schema::NewSessionRequest;
//! # use agent_client_protocol::schema::v1::NewSessionRequest;
//! # use agent_client_protocol::{Client, Proxy, Conductor, ConnectTo};
//! # async fn run_proxy(transport: impl ConnectTo<Proxy>) -> Result<(), agent_client_protocol::Error> {
//! Proxy.builder()
Expand Down Expand Up @@ -674,7 +674,7 @@ pub mod per_session_mcp_server {
//! [`start_session`]: agent_client_protocol::SessionBuilder::start_session
//! [`proxy_remaining_messages`]: agent_client_protocol::ActiveSession::proxy_remaining_messages
//!
//! [`NewSessionRequest`]: agent_client_protocol::schema::NewSessionRequest
//! [`NewSessionRequest`]: agent_client_protocol::schema::v1::NewSessionRequest
//! [`on_proxy_session_start`]: agent_client_protocol::SessionBuilder::on_proxy_session_start
//! [`block_task`]: agent_client_protocol::SessionBuilder::block_task
//! [`start_session_proxy`]: agent_client_protocol::SessionBuilder::start_session_proxy
Expand Down
4 changes: 2 additions & 2 deletions src/agent-client-protocol-http/src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use std::{

use agent_client_protocol::{
Agent, Channel, Client, ConnectTo, Error as AcpError, RawJsonRpcMessage,
schema::{RequestId, Response as RpcResponse},
schema::v1::{RequestId, Response as RpcResponse},
};
use async_tungstenite::tungstenite::Message as WsMessage;
use futures::{
Expand Down Expand Up @@ -793,7 +793,7 @@ mod tests {
time::Duration,
};

use agent_client_protocol::schema::RequestId;
use agent_client_protocol::schema::v1::RequestId;
use axum::{
Json, Router,
extract::{WebSocketUpgrade, ws::Message as AxumWsMessage},
Expand Down
4 changes: 2 additions & 2 deletions src/agent-client-protocol-http/src/connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::{
sync::{Arc, Weak},
};

use agent_client_protocol::{Channel, RawJsonRpcMessage, schema::RequestId};
use agent_client_protocol::{Channel, RawJsonRpcMessage, schema::v1::RequestId};
use futures::{SinkExt, StreamExt};
use tokio::sync::{Mutex, RwLock, mpsc, watch};
use tracing::{debug, error, trace};
Expand Down Expand Up @@ -681,7 +681,7 @@ mod tests {

assert!(matches!(
message,
RawJsonRpcMessage::Response(agent_client_protocol::schema::Response::Result {
RawJsonRpcMessage::Response(agent_client_protocol::schema::v1::Response::Result {
id: RequestId::Number(1),
..
})
Expand Down
4 changes: 2 additions & 2 deletions src/agent-client-protocol-http/src/http_server.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::{convert::Infallible, error::Error as _, sync::Arc, time::Duration};

use agent_client_protocol::{RawJsonRpcMessage, schema::Response as RpcResponse};
use agent_client_protocol::{RawJsonRpcMessage, schema::v1::Response as RpcResponse};
use axum::{
body::Body,
extract::State,
Expand Down Expand Up @@ -336,7 +336,7 @@ fn post_body_too_large_response() -> Response {
mod tests {
use std::sync::Arc;

use agent_client_protocol::{Channel, RawJsonRpcMessage, schema::RequestId};
use agent_client_protocol::{Channel, RawJsonRpcMessage, schema::v1::RequestId};
use futures::{StreamExt, future::BoxFuture};
use serde_json::json;
use tokio::{
Expand Down
2 changes: 1 addition & 1 deletion src/agent-client-protocol-http/src/protocol.rs
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ fn apply_session_header_to_params(
#[cfg(test)]
mod tests {
#[cfg(feature = "server")]
use agent_client_protocol::schema::RequestId;
use agent_client_protocol::schema::v1::RequestId;
use axum::http::{HeaderMap, HeaderValue};
#[cfg(feature = "server")]
use serde_json::json;
Expand Down
4 changes: 2 additions & 2 deletions src/agent-client-protocol-http/src/websocket_server.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::sync::Arc;

use agent_client_protocol::{Error as AcpError, RawJsonRpcMessage, schema::RequestId};
use agent_client_protocol::{Error as AcpError, RawJsonRpcMessage, schema::v1::RequestId};
use axum::{
extract::ws::{Message as WsMessage, WebSocket, WebSocketUpgrade},
http::HeaderValue,
Expand Down Expand Up @@ -154,7 +154,7 @@ async fn run_ws(
mod tests {
use agent_client_protocol::{
Channel,
schema::{RequestId, Response as RpcResponse},
schema::v1::{RequestId, Response as RpcResponse},
};
use async_tungstenite::{tokio::connect_async, tungstenite::Message as ClientWsMessage};
use axum::{Router, extract::WebSocketUpgrade, routing::get};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
use agent_client_protocol::{
BoxFuture, Channel, ConnectTo, RawJsonRpcMessage, RawJsonRpcParams,
role::mcp,
schema::{
schema::v1::{
Notification as RpcNotification, Request as RpcRequest, RequestId, Response as RpcResponse,
},
};
Expand Down
5 changes: 4 additions & 1 deletion src/agent-client-protocol-polyfill/src/mcp_over_acp/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,12 @@ pub(crate) mod stdio;
use std::collections::HashMap;
use std::path::PathBuf;

use agent_client_protocol::schema::v1::{
McpServer, McpServerHttp, McpServerStdio, NewSessionRequest,
};
use agent_client_protocol::schema::{
InitializeProxyRequest, McpConnectRequest, McpConnectResponse, McpDisconnectNotification,
McpOverAcpMessage, McpServer, McpServerHttp, McpServerStdio, NewSessionRequest,
McpOverAcpMessage,
};
use agent_client_protocol::{
Agent, Client, Conductor, ConnectTo, ConnectionTo, Dispatch, Proxy, Role,
Expand Down
2 changes: 1 addition & 1 deletion src/agent-client-protocol-test/src/arrow_proxy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! This proxy demonstrates basic proxy functionality by intercepting
//! `session/update` notifications and prepending `>` to the content.

use agent_client_protocol::schema::{
use agent_client_protocol::schema::v1::{
ContentBlock, ContentChunk, SessionNotification, SessionUpdate,
};
use agent_client_protocol::{Agent, Client, ConnectTo, Proxy};
Expand Down
Loading