Add ACP WebSocket proxy backed by acpremote - #372
Open
rgarcia wants to merge 1 commit into
Open
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/agent/v1/acp?harness=...WebSocket route backed by unmodifiedacpremote expose, plus configured-harness discovery.AGENT_CONFIG_PATH. Keep internal listeners on loopback with per-connection bearer tokens and explicitly selected environment inheritance.Validation
Scope / remaining milestones
Disabled by default. The image does not yet install the bridge or harness binaries. The trusted bootstrap catalog is not the planned public declarative configuration/installer API; that API, real-harness capability/MCP/media verification, and enabled-image/platform-auth integration tests remain separate milestones. No real-provider calls or local Docker image e2e tests were run for this change.
Additional CLI interoperability checks
Tested released, unmodified Toad 0.6.20 and acpx 0.13.2 through acpremote 1.7.0 mirror against the deterministic peer (no model/provider calls).
session/resumewith -32601 before it reached the WebSocket endpoint; acpx then created a replacement session while returning success. An idle TTL of one second forced fresh connections for this test.mirror --unstable-protocoldid not fix restoration. In acpremote 1.7.0 this flag configures the upstream connection, but_handle_mirrorinvokes the localrun_agent(agent)without enabling unstable protocol routes. Python ACP SDK 0.11.0 rejects resume on that local router.run_agent(connect_acp(url), use_unstable_protocol=True)made unmodified acpx resume the identical native session ID across fresh agent processes. No production code or installed client was changed.The existing-client gate is therefore partial, not complete. Fix and pin the mirror's local-router protocol flag wiring before expanding harness support. These manual CLI checks are not yet in CI.