agent_servers: Move the legacy ACP adapter into v1 (#65607)
Some checks are pending
Congratsbot / check-author (push) Waiting to run
Congratsbot / congrats (push) Blocked by required conditions
deploy_nightly_docs / deploy_docs (push) Waiting to run
run_tests / orchestrate (push) Waiting to run
run_tests / check_style (push) Waiting to run
run_tests / clippy_windows (push) Blocked by required conditions
run_tests / clippy_linux (push) Blocked by required conditions
run_tests / clippy_mac (push) Blocked by required conditions
run_tests / clippy_mac_x86_64 (push) Blocked by required conditions
run_tests / run_tests_windows (push) Blocked by required conditions
run_tests / run_tests_linux (push) Blocked by required conditions
run_tests / run_tests_mac (push) Blocked by required conditions
run_tests / miri_scheduler (push) Blocked by required conditions
run_tests / doctests (push) Blocked by required conditions
run_tests / check_workspace_binaries (push) Blocked by required conditions
run_tests / check_wasm (push) Blocked by required conditions
run_tests / check_dependencies (push) Blocked by required conditions
run_tests / check_docs (push) Blocked by required conditions
run_tests / check_licenses (push) Blocked by required conditions
run_tests / check_scripts (push) Blocked by required conditions
run_tests / check_remote_server_linux_x86_64 (push) Blocked by required conditions
run_tests / check_remote_server_mac_aarch64 (push) Blocked by required conditions
run_tests / check_remote_server_windows_x86_64 (push) Blocked by required conditions
run_tests / check_postgres_and_protobuf_migrations (push) Blocked by required conditions
run_tests / extension_tests (push) Blocked by required conditions
run_tests / tests_pass (push) Blocked by required conditions

- Move `AcpConnection`, its defaults, the v1 builder/capabilities/wire
handlers, legacy session/config/MCP operations and session-list
implementation into `acp/v1.rs` alongside `acp/v2.rs`.
- Keep foreground routing/context, shared session/config data, v2 client
ingress, canonical permission/elicitation application, shared
terminal-auth construction and error/lifecycle helpers in the
root/shared modules.
- Keep only the v1 config-setting wire method on the shared config data
in `v1.rs`; the shared constructor/state stays in the root. The existing
mixed session record is not redesigned in this extraction.
- Preserve public paths through root reexports (`AcpConnection`,
`AcpSessionList`, `connect`, the Gemini terminal-auth constant and
conditional `test_support`). Consumer call sites are unchanged. The
shared-runtime test imports the moved private v1 driver directly.
- Keep compatibility/ingress tests alongside the legacy harness they
exercise; v2 connection/auth tests stay in `v2.rs`. Test names gain the
v1 module prefix but their bodies and scheduler behavior are unchanged.

## Review

This is a large source relocation, not thousands of new implementation
lines. For copy-aware review:

```sh
git diff -B -M origin/main...HEAD -- crates/agent_servers/src/acp.rs crates/agent_servers/src/acp/v1.rs crates/agent_servers/src/acp/runtime.rs
```

Git recognizes `v1.rs` as a 93%-similar copy of the old adapter. Review
the retained root boundary and the small import/visibility changes
rather than re-reviewing unchanged test bodies.

Release Notes:

- N/A
This commit is contained in:
Ben Brandt 2026-10-14 19:54:27 +00:00 • committed by GitHub
parent d67bbfda3c
commit 3e145061d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9611 additions and 9577 deletions

File diff suppressed because it is too large Load diff

View file

@ -191,7 +191,7 @@ pub(super) fn watch_process(
#[cfg(test)]
mod tests {
use super::*;
use crate::acp::connect_client_future;
use crate::acp::v1::connect_client_future;
use acp_thread::{ElicitationStatus, ElicitationStore};
use agent_client_protocol::schema::v2 as acp;
use collections::HashMap;

File diff suppressed because it is too large Load diff