You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 75e00be
Browse filesBrowse the repository at this point in the historyBrowse files
refactor(acp)!: reach each protocol version's schema only through v1::schema / v2::schema (#481)
Each protocol version's message types were reachable twice: as
`agent_client_protocol::schema::v1::X` and as `agent_client_protocol::v1::schema::X`
(and the same for v2). Make the version modules the only path.
- `v1::schema` and `v2::schema` now re-export `agent_client_protocol_schema::v1`
and `::v2` directly.
- `schema::v1` and `schema::v2` are removed. The root `schema` module keeps
only the version-neutral items: `ProtocolVersion`, `MaybeUndefined`,
`IntoOption`, `IntoMaybeUndefined` and `SuccessorMessage`.
- All internal code, tests, examples, the cookbook, doctests and the book use
the new paths. Public doc examples import `vN::schema` and write
`schema::X`; internal code uses a local `vN::schema as vN` alias where
that keeps the diff readable.
- The migration guide gains a rename row and drops the text that presented
both paths. The stability guidance in lib.rs, the README and the book, and
the "Adding a protocol version" checklist, point at `vN::schema`.
BREAKING CHANGE: `agent_client_protocol::schema::v1` and
`agent_client_protocol::schema::v2` are removed. Use
`agent_client_protocol::v1::schema` and `agent_client_protocol::v2::schema`
instead. `schema::ProtocolVersion`, `schema::MaybeUndefined`,
`schema::IntoOption`, `schema::IntoMaybeUndefined` and
`schema::SuccessorMessage` are unchanged.
Co-authored-by: Claude <noreply@anthropic.com>
-**Per-version modules** (`agent_client_protocol::v1`, and `agent_client_protocol::v2` with `unstable_protocol_v2`) - the same names (`ConnectionTo`, `Builder`, `Responder`, `SessionBuilder`, ...) for each protocol version
-**Protocol types** (`agent_client_protocol::schema::*`) - all ACP message types
17
+
-**Protocol types** (`agent_client_protocol::v1::schema`, and `agent_client_protocol::v2::schema` with `unstable_protocol_v2`) - each protocol version's ACP message types, with the version-neutral items such as `ProtocolVersion` in `agent_client_protocol::schema`
18
18
-**Transports and process launching** (`Channel`, `Lines`, `ByteStreams`, `Stdio`, `AcpAgent`)
19
19
-**MCP server attachment** - runtime-agnostic interfaces for wiring MCP servers into ACP sessions through the opt-in `unstable_mcp_over_acp` transport
0 commit comments