fix(schema): follow the upstream schema-v* release tag - #52
Open
lx-wnk wants to merge 1 commit into
Open
Conversation
The protocol repository publishes its schema artifacts under `schema-vX.Y.Z` tags. The Makefile still requested them from `vX.Y.Z`, so every schema target resolved to a 404 and the generator could not be pointed at any release cut under the new scheme. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 14, 2026
lx-wnk
added a commit
to lx-wnk/Agent-Dashboard
that referenced
this pull request
Aug 17, 2026
## Summary Adds `server/internal/acp`, a client for the [Agent Client Protocol](https://agentclientprotocol.com). An ACP agent runs as a separate process and calls into this code; the package translates those callbacks into two function fields the caller supplies — one for streamed session updates, one for permission decisions — and refuses filesystem and terminal capabilities. Nothing is wired into the pipeline, the HTTP API or the UI yet. That is deliberate: this is step 1 of `docs/local/spec-acp-client.md`, and it ships no user-visible surface. ## Type of change - [x] `feat` — new feature ## Breaking changes - [x] No breaking changes ## Testing 19 tests, 79.1% statement coverage of the new package. Covered: the six session-update kinds, the permission gate in both directions including the option-fallback rules, all seven refused capabilities, and one end-to-end exchange over a real JSON-RPC connection against an in-memory agent double wired with `io.Pipe`. No test spawns a process or touches the network. - [x] `task test` passes locally - [x] `task lint` passes locally - [x] Relevant tests added or updated ## Checklist - [x] PR title follows Conventional Commits - [x] Self-review done - [x] No unrelated changes in this PR ## Notes for the reviewer **The permission gate is fail-closed, and one asymmetry in it is load-bearing.** No callback denies, a callback returning an error denies, and only an explicit allow with a nil error may select an allow option. When the required option kind is missing, the deny path falls back to `reject_always`, but the allow path deliberately does **not** fall back to `allow_always` — that would turn a single approval into a session-wide grant. The code carries a comment saying so, because the obvious "consistency" edit is the dangerous one. **The dependency is a fork.** `github.com/coder/acp-go-sdk` is `replace`d onto `github.com/lx-wnk/acp-go-sdk v1.20.0-lxwnk.alpha.1`. Upstream has been stalled since 2026-06-02 with four unmerged PRs; its schema download URLs 404 because the protocol repo renamed its release tags. Fixes are filed upstream as coder/acp-go-sdk#52, #53 and #54. The `replace` is in `server/go.mod` only — never in the published `sdk/` module — so external consumers are unaffected. **Known gaps, recorded rather than hidden.** `PermissionRequest` currently carries only `SessionID`, `ToolCallID` and `Title`; the SDK also offers `Kind` and `RawInput`, and a gate that sees only a free-text title invites prose heuristics. Adding those fields is the first item of the wiring work. Four smaller deferred items (untested update branches, a redundant interface assertion, JSON-RPC error code choice for refusals) are noted in the final review and none affect behaviour. --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.
The protocol repository publishes its schema artifacts under
schema-vX.Y.Ztags, but the Makefile still requests them fromvX.Y.Z:The last release cut under the old scheme is
v0.14.0(2026-06-18). Elevenschema-v*releases have shipped since, up toschema-v1.20.0. Every schema target in the Makefile therefore resolves to a 404, somake versioncannot be pointed at any current release.This changes the four download URLs and nothing else. Verified locally by pointing
schema/versionat1.20.0and running the download targets, which now fetch all four artifacts.