Skip to content

refactor the crate names, 1.0-alpha#9

Merged
nikomatsakis merged 5 commits intoagentclientprotocol:mainfrom
nikomatsakis:main
Nov 4, 2025
Merged

refactor the crate names, 1.0-alpha#9
nikomatsakis merged 5 commits intoagentclientprotocol:mainfrom
nikomatsakis:main

Conversation

@nikomatsakis
Copy link
Contributor

This reworks our release series as 1.0.0-alpha. We refactor the names exported by each crate to be better organized.

nikomatsakis and others added 5 commits November 4, 2025 07:46
BREAKING CHANGE: Module reorganization changes import paths

Replace `acp` module with new structure:
- `sacp::schema` - Flat module with all ACP protocol types
  - All concrete message types (InitializeRequest, PromptRequest, etc.)
  - All supporting types (ContentBlock, AgentCapabilities, etc.)
  - Internally organized but publicly flat
- `sacp::` root - Six primary message enums + common infrastructure
  - AgentRequest, AgentNotification, AgentResponse
  - ClientRequest, ClientNotification, ClientResponse
  - Error, ErrorCode (for convenience)

Migration:
- Old: `use sacp::{InitializeRequest, ...}`
- New: `use sacp::schema::{InitializeRequest, ...}`
- Six message enums still at root: `use sacp::ClientRequest`

Benefits:
- Clearer separation between protocol types and SDK infrastructure
- Flat schema namespace - no need to know message direction
- Simpler mental model: six enums for routing, schema for types
- Removed blanket re-export of agent_client_protocol_schema

Updated:
- All dependent crates (sacp-tokio, sacp-proxy, elizacp, sacp-conductor)
- All examples and tests
- All doctests with proper import separation
- Fixed broken intra-doc links

Co-authored-by: Claude <claude@anthropic.com>
Move handler types (NullHandler, RequestHandler, NotificationHandler,
MessageHandler, ChainHandler) from the root sacp namespace to a new
`sacp::handler` module. This change reduces API surface area as most
users won't need to explicitly name these types.

Changes:
- Created src/sacp/src/handler.rs module with re-exports from jsonrpc::handlers
- Made jsonrpc::handlers module pub(crate) instead of public
- Updated lib.rs to explicitly list infrastructure type exports
- Updated imports in sacp-proxy, sacp-tokio, sacp-conductor, and sacp-doc-test
Add minimal release-plz.toml configuration with:
- release_always=false for safer release workflow
- dependencies_update=true to keep Cargo.lock current
- pr_labels for easy identification of release PRs
- Disable publishing for sacp-doc-test package
Fix failing doctest by using correct fully-qualified path
`sacp::schema::SessionNotification` instead of the non-existent
`sacp::SessionNotification`.
Update all workspace packages from mixed 0.1.x versions to unified
1.0.0-alpha version. This establishes a consistent pre-release version
across the entire workspace as we prepare for the 1.0 release.
@nikomatsakis nikomatsakis merged commit 014d0b9 into agentclientprotocol:main Nov 4, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant