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
24 changes: 12 additions & 12 deletions Cargo.lock

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

19 changes: 19 additions & 0 deletions release-plz.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Release-plz configuration for symposium-acp workspace
# See: https://release-plz.dev/docs/config

[workspace]
# Safer release strategy - only release when merging the release PR
# (avoids race conditions with squash-merge)
release_always = false

# Keep dependencies updated in Cargo.lock
dependencies_update = true

# Tag release PRs for visibility
pr_labels = ["release"]

# Package-specific configurations
[[package]]
name = "sacp-doc-test"
# Don't publish documentation test package to crates.io
publish = false
4 changes: 2 additions & 2 deletions src/elizacp/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "elizacp"
version = "0.1.0"
version = "1.0.0-alpha"
edition = "2024"
description = "Classic Eliza chatbot as an ACP agent for testing"
license = "MIT OR Apache-2.0"
Expand All @@ -15,7 +15,7 @@ name = "elizacp"
path = "src/main.rs"

[dependencies]
sacp = { version = "0.2.0", path = "../sacp" }
sacp = { version = "1.0.0-alpha", path = "../sacp" }
agent-client-protocol-schema.workspace = true
anyhow.workspace = true
clap.workspace = true
Expand Down
8 changes: 4 additions & 4 deletions src/elizacp/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ mod eliza;
use anyhow::Result;
use clap::Parser;
use eliza::Eliza;
use sacp::{
use sacp::JrConnection;
use sacp::schema::{
AgentCapabilities, ContentBlock, ContentChunk, InitializeRequest, InitializeResponse,
JrConnection, LoadSessionRequest, LoadSessionResponse, NewSessionRequest, NewSessionResponse,
PromptRequest, PromptResponse, SessionId, SessionNotification, SessionUpdate, StopReason,
TextContent,
LoadSessionRequest, LoadSessionResponse, NewSessionRequest, NewSessionResponse, PromptRequest,
PromptResponse, SessionId, SessionNotification, SessionUpdate, StopReason, TextContent,
};
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
Expand Down
6 changes: 3 additions & 3 deletions src/sacp-conductor/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sacp-conductor"
version = "0.2.0"
version = "1.0.0-alpha"
edition = "2024"
description = "Conductor for orchestrating SACP proxy chains"
license = "MIT OR Apache-2.0"
Expand All @@ -12,8 +12,8 @@ categories = ["development-tools"]
test-support = []

[dependencies]
sacp = { version = "0.2.0", path = "../sacp" }
sacp-proxy = { version = "0.1.2", path = "../sacp-proxy" }
sacp = { version = "1.0.0-alpha", path = "../sacp" }
sacp-proxy = { version = "1.0.0-alpha", path = "../sacp-proxy" }
agent-client-protocol-schema.workspace = true
anyhow.workspace = true
clap.workspace = true
Expand Down
4 changes: 2 additions & 2 deletions src/sacp-conductor/src/component.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ use sacp::JrConnectionCx;
use tokio::process::Child;
use tracing::debug;

/// "Provider" used to spawn components. The [`CommandProvider`] is used from the CLI, but for testing
/// or internal purposes, other comment providers may be created.
/// "Provider" used to spawn components. The `CommandProvider` is used from the CLI, but for testing
/// or internal purposes, other component providers may be created.
pub trait ComponentProvider: Send {
/// Create a component that will read/write ACP messages from the given streams.
/// The `cx` can be used to spawn tasks running in the JSON RPC connection.
Expand Down
7 changes: 4 additions & 3 deletions src/sacp-conductor/src/conductor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,16 @@
use std::{collections::HashMap, pin::Pin};

use futures::{AsyncRead, AsyncWrite, SinkExt, StreamExt, channel::mpsc};
use sacp::{InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse};
use sacp::schema::{InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse};
use sacp_proxy::{
McpConnectRequest, McpConnectResponse, McpDisconnectNotification, McpOverAcpNotification,
McpOverAcpRequest, SuccessorNotification, SuccessorRequest,
};

use sacp::handler::NullHandler;
use sacp::{
JrConnection, JrConnectionCx, JrNotification, JrRequest, JrRequestCx, JrResponse, MessageAndCx,
MetaCapabilityExt, NullHandler, Proxy, UntypedMessage,
MetaCapabilityExt, Proxy, UntypedMessage,
util::{TypeNotification, TypeRequest},
};
use tokio_util::compat::{TokioAsyncReadCompatExt, TokioAsyncWriteCompatExt};
Expand Down Expand Up @@ -732,7 +733,7 @@ impl Conductor {
async fn forward_session_new_request(
&mut self,
target_component_index: usize,
mut request: sacp::NewSessionRequest,
mut request: NewSessionRequest,
conductor_tx: &mpsc::Sender<ConductorMessage>,
request_cx: JrRequestCx<NewSessionResponse>,
) -> Result<(), sacp::Error> {
Expand Down
4 changes: 2 additions & 2 deletions src/sacp-conductor/src/conductor/mcp_bridge.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::{collections::HashMap, net::SocketAddr};

use futures::{SinkExt, StreamExt as _, channel::mpsc};
use sacp;
use sacp::McpServer;
use sacp::schema::McpServer;
use sacp::{JrConnection, JrConnectionCx, MessageAndCx};
use sacp_proxy::McpDisconnectNotification;
use tokio::net::TcpStream;
Expand Down Expand Up @@ -51,7 +51,7 @@ impl McpBridgeListeners {
conductor_tx: &mpsc::Sender<ConductorMessage>,
conductor_command: &[String],
) -> Result<(), sacp::Error> {
use sacp::McpServer;
use sacp::schema::McpServer;

let McpServer::Http { name, url, headers } = mcp_server else {
return Ok(());
Expand Down
3 changes: 1 addition & 2 deletions src/sacp-conductor/tests/initialization_sequence.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
//! 4. Last component (agent) never receives proxy capability offer

use futures::{AsyncRead, AsyncWrite};
use sacp::AgentCapabilities;
use sacp::{InitializeRequest, InitializeResponse};
use sacp::schema::{AgentCapabilities, InitializeRequest, InitializeResponse};
use sacp::{JrConnection, JrConnectionCx, MetaCapabilityExt, Proxy};
use sacp_conductor::component::{Cleanup, ComponentProvider};
use sacp_conductor::conductor::Conductor;
Expand Down
2 changes: 1 addition & 1 deletion src/sacp-conductor/tests/mcp-integration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ mod mcp_integration;
use expect_test::expect;
use futures::{SinkExt, StreamExt, channel::mpsc};
use sacp::JrConnection;
use sacp::{
use sacp::schema::{
ContentBlock, InitializeRequest, NewSessionRequest, PromptRequest, SessionNotification,
TextContent,
};
Expand Down
2 changes: 1 addition & 1 deletion src/sacp-conductor/tests/mcp_integration/agent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use futures::{AsyncRead, AsyncWrite};
use rmcp::ServiceExt;
use sacp::{
use sacp::schema::{
AgentCapabilities, ContentBlock, ContentChunk, InitializeRequest, InitializeResponse,
McpServer, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse,
SessionNotification, SessionUpdate, StopReason, TextContent,
Expand Down
2 changes: 1 addition & 1 deletion src/sacp-doc-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sacp-doc-test"
version = "0.1.0"
version = "1.0.0-alpha"
edition = "2024"

[dependencies]
Expand Down
1 change: 1 addition & 0 deletions src/sacp-doc-test/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use sacp::handler::*;
use sacp::*;
use serde::{Deserialize, Serialize};
use std::pin::Pin;
Expand Down
4 changes: 2 additions & 2 deletions src/sacp-proxy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sacp-proxy"
version = "0.1.2"
version = "1.0.0-alpha"
edition = "2024"
description = "Framework for building SACP proxy components"
license = "MIT OR Apache-2.0"
Expand All @@ -14,7 +14,7 @@ futures.workspace = true
fxhash.workspace = true
jsonrpcmsg.workspace = true
rmcp.workspace = true
sacp = { version = "0.2.0", path = "../sacp" }
sacp = { version = "1.0.0-alpha", path = "../sacp" }
serde.workspace = true
serde_json.workspace = true
tokio.workspace = true
Expand Down
6 changes: 3 additions & 3 deletions src/sacp-proxy/src/mcp_server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use futures::{FutureExt, future::BoxFuture};
use futures::{SinkExt, StreamExt};
use fxhash::FxHashMap;
use rmcp::ServiceExt;
use sacp::NewSessionRequest;
use sacp::schema::NewSessionRequest;
use sacp::{
Handled, JrConnection, JrConnectionCx, JrHandler, JrMessage, JrRequestCx, MessageAndCx,
UntypedMessage,
Expand Down Expand Up @@ -487,8 +487,8 @@ struct RegisteredMcpServer {
}

impl RegisteredMcpServer {
fn acp_mcp_server(&self) -> sacp::McpServer {
sacp::McpServer::Http {
fn acp_mcp_server(&self) -> sacp::schema::McpServer {
sacp::schema::McpServer::Http {
name: self.name.clone(),
url: self.url.clone(),
headers: vec![],
Expand Down
11 changes: 6 additions & 5 deletions src/sacp-proxy/src/to_from_successor.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
use futures::{AsyncRead, AsyncWrite};
use sacp::handler::ChainHandler;
use sacp::schema::{InitializeRequest, InitializeResponse};
use sacp::{
ChainHandler, Handled, InitializeRequest, InitializeResponse, JrConnection, JrConnectionCx,
JrHandler, JrMessage, JrNotification, JrRequest, JrRequestCx, MessageAndCx, MetaCapabilityExt,
Proxy, UntypedMessage,
Handled, JrConnection, JrConnectionCx, JrHandler, JrMessage, JrNotification, JrRequest,
JrRequestCx, MessageAndCx, MetaCapabilityExt, Proxy, UntypedMessage,
};
use serde::{Deserialize, Serialize};
use std::marker::PhantomData;
Expand Down Expand Up @@ -472,7 +473,7 @@ impl ProxyHandler {
}
}

/// Extension trait for [`JsonRpcCx`] that adds methods for sending to successor.
/// Extension trait for [`JrConnectionCx`](sacp::JrConnectionCx) that adds methods for sending to successor.
///
/// This trait provides convenient methods for proxies to forward messages downstream
/// to their successor component (next proxy or agent). Messages are automatically
Expand All @@ -499,7 +500,7 @@ pub trait JrCxExt {
///
/// # Returns
///
/// Returns a [`JrResponse`] that can be awaited to get the successor's
/// Returns a [`JrResponse`](sacp::JrResponse) that can be awaited to get the successor's
/// response.
///
/// # Example
Expand Down
4 changes: 2 additions & 2 deletions src/sacp-tokio/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sacp-tokio"
version = "0.1.1"
version = "1.0.0-alpha"
edition = "2024"
description = "Tokio-based utilities for SACP (Symposium's extensions to ACP)"
license = "MIT OR Apache-2.0"
Expand All @@ -9,7 +9,7 @@ keywords = ["acp", "agent", "protocol", "ai", "tokio"]
categories = ["development-tools"]

[dependencies]
sacp = { version = "0.2.0", path = "../sacp" }
sacp = { version = "1.0.0-alpha", path = "../sacp" }
futures.workspace = true
serde.workspace = true
serde_json.workspace = true
Expand Down
Loading