task(acp): upgrade SDK and use new HTTP/WS crate - #10082
Conversation
| @@ -1,4 +1,4 @@ | |||
| use agent_client_protocol::schema::SessionInfo; | |||
| use agent_client_protocol::schema::v1::SessionInfo; | |||
There was a problem hiding this comment.
nice that they have done this, makes sense 👍
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1103eab312
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| acp_routes = acp_routes.layer(axum::middleware::from_fn_with_state( | ||
| secret_key.clone(), | ||
| auth::check_acp_token, | ||
| )); |
There was a problem hiding this comment.
Preserve CORS preflights for header auth
When GOOSE_SERVER__SECRET_KEY is set and a browser ACP client authenticates with the documented X-Secret-Key header, the browser sends an unauthenticated OPTIONS preflight before the real /acp request. This auth layer is applied after create_acp_router, so it wraps the ACP router's CORS layer and check_acp_token rejects that preflight before CORS can answer it; the result is that header-authenticated HTTP/SSE clients fail before their actual request reaches the agent. Put CORS outside the auth middleware or bypass token checks for preflight requests while allowing the auth header.
Useful? React with 👍 / 👎.
* main: task(acp): upgrade SDK and use new HTTP/WS crate (#10082) fix(providers): reject non-object tool-call arguments instead of panicking (#9832) docs: name the message field in the hooks payload guide (#9913) fix(cli): save /edit prompts to history (#10011) feat(i18n): add fr, de, it, pt, id, ms, vi, zh-TW desktop locales (#10072) feat (acp+): Use ACP permission manager for tool permissions (#10066)
* main: chore: Remove legacy MCP-UI proxy support (#10086) Remove session_id from provider streaming trait methods (#9984) fix(cli): update help text for --session-id (#10077) task(acp): upgrade SDK and use new HTTP/WS crate (#10082) fix(providers): reject non-object tool-call arguments instead of panicking (#9832) docs: name the message field in the hooks payload guide (#9913) fix(cli): save /edit prompts to history (#10011) feat(i18n): add fr, de, it, pt, id, ms, vi, zh-TW desktop locales (#10072) feat (acp+): Use ACP permission manager for tool permissions (#10066) feat (ui): Remove ACP chat feature flag and turn on chat using ACP (#10062) fix(schedule): use session.message_count for schedule sessions listing (#10026) feat(acp): migrate getDictationConfig and transcribeDictation to ACP (#10048) fix: sync the sesion store after session provider and model update and also update thinking effort (#10060)


Summary
Does two things re: ACP over HTTP/WS
Testing
Manual testing with a fresh client
Related Issues
#6642
Screenshots/Demos (for UX changes)
(Single file test client made with the TS SDK support for HTTP/WS agentclientprotocol/typescript-sdk#155)