Skip to content

Conversation

@codefromthecrypt
Copy link
Collaborator

Summary

Updates the ACP to latest and fixes syntax

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

AI Assistance

  • This PR was created or reviewed with AI assistance

Testing

Ran in Zed
Screenshot 2025-12-14 at 9 14 13 AM

$ cat ~/Library/Logs/Zed/Zed.log                                                                                                                                        
--snip--
2025-12-14T09:10:11+08:00 WARN  [agent_servers::acp] agent stderr: Goose ACP agent started. Listening on stdio...
2025-12-14T09:10:15+08:00 WARN  [agent_servers::acp] agent stderr: Goose ACP agent started. Listening on stdio...
$  cut -c-120  ~/.local/state/goose/logs/cli/2025-12-14/20251214_091015.log                                                                                                  
{"timestamp":"2025-12-14T01:10:15.955487Z","level":"INFO","fields":{"message":"CLI command executed","counter.goose.cli_
{"timestamp":"2025-12-14T01:10:15.955534Z","level":"INFO","fields":{"message":"Starting Goose ACP agent server on stdio"
{"timestamp":"2025-12-14T01:10:16.225511Z","level":"INFO","fields":{"message":"Loaded extension: Extension Manager"},"ta
{"timestamp":"2025-12-14T01:10:16.225530Z","level":"INFO","fields":{"message":"Loaded extension: skills"},"target":"goos
{"timestamp":"2025-12-14T01:10:16.231151Z","level":"INFO","fields":{"message":"Loaded extension: developer"},"target":"g
{"timestamp":"2025-12-14T01:10:17.425654Z","level":"INFO","fields":{"message":"Loaded extension: GitHub"},"target":"goos
{"timestamp":"2025-12-14T01:10:17.508246Z","level":"INFO","fields":{"message":"Loaded extension: kiwi"},"target":"goose_
{"timestamp":"2025-12-14T01:10:17.508534Z","level":"INFO","fields":{"message":"ACP: Received initialize request Initiali
{"timestamp":"2025-12-14T01:10:17.510750Z","level":"INFO","fields":{"message":"ACP: Received new session request NewSess
{"timestamp":"2025-12-14T01:10:17.512444Z","level":"INFO","fields":{"message":"Created new ACP/goose session 20251214_10
{"timestamp":"2025-12-14T01:10:19.613676Z","level":"DEBUG","fields":{"message":"Compaction check: 8 / 272000 tokens (0.0
{"timestamp":"2025-12-14T01:10:20.695135Z","level":"DEBUG","fields":{"message":"WAITING_LLM_STREAM_START"},"target":"goo
{"timestamp":"2025-12-14T01:10:20.695843Z","level":"DEBUG","fields":{"message":"LLM_REQUEST: {\"messages\":[{\"content\"
{"timestamp":"2025-12-14T01:10:20.696739Z","level":"DEBUG","fields":{"message":"LLM_REQUEST: {\"messages\":[{\"content\"
{"timestamp":"2025-12-14T01:10:26.942701Z","level":"DEBUG","fields":{"message":"WAITING_LLM_STREAM_END"},"target":"goose

Related Issues

Prep before doing more ACP work

Copilot AI review requested due to automatic review settings December 14, 2025 01:24
@codefromthecrypt
Copy link
Collaborator Author

@alexhancock I tried to match exactly what was before so that the diff is just about API updates. Lemme know if we need anything else on this.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the agent-client-protocol dependency from version 0.4.0 to 0.9.0 and updates all API usage throughout the codebase to align with the new library's builder pattern API. The upgrade introduces a cleaner, more idiomatic Rust API that uses builder patterns instead of direct struct construction with explicit field initialization.

  • Updates agent-client-protocol from 0.4.0 to 0.9.0 in Cargo.toml
  • Migrates all ACP API usage to new builder pattern style (.new() methods with chained setters)
  • Fixes a minor syntax issue in computercontroller changing unwrap_or_else to unwrap_or for efficiency

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
crates/goose-cli/Cargo.toml Bumps agent-client-protocol dependency version to 0.9.0
Cargo.lock Updates lockfile with new ACP version and transitive dependencies (agent-client-protocol-schema, derive_more, strum, etc.)
crates/goose-cli/src/commands/acp.rs Converts all ACP struct instantiations to builder patterns, adds new imports (Content, ContentChunk, ExtResponse, ProtocolVersion), and adds wildcard match arm for forward compatibility
crates/goose-mcp/src/computercontroller/mod.rs Changes unwrap_or_else to unwrap_or for more efficient constant fallback value

Copilot AI review requested due to automatic review settings December 14, 2025 03:33
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 4 changed files in this pull request and generated no new comments.

@codefromthecrypt
Copy link
Collaborator Author

@alexhancock fyi I'm gonna drop all your historical comments per instructions so we can move forward.

embedded_context: true, // Goose can handle embedded context resources
meta: None,
},
mcp_capabilities: acp::McpCapabilities {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fyi when removing the toehold which says to implement this, the result is a complete no-op, so I removed the McpCapabilities from this change.

@codefromthecrypt
Copy link
Collaborator Author

@angiejones any idea how we can get a fast track process for dependency upgrades like this? I want to help with ACP but compared to most projects and despite a contributor, I have zero access, so I have to do a lot of nagging. It puts at risk of drift before merge then restart again.

@DOsinga
Copy link
Collaborator

DOsinga commented Dec 16, 2025

can you not merge this yourself, or how can we make the process better here?

@codefromthecrypt
Copy link
Collaborator Author

@DOsinga sorry part of my comment wasn't clear enough. I am labeled as a maintainer, but I don't think that actually means maintainer. I have no ability to merge this PR, no merge button. So far, I think that just "maintainer" means I can post to discord.

Screenshot 2025-12-17 at 8 32 48 AM

On process...

Some...

  • use bots like renovate/dependabot etc so that no one has to chase up old version (at the cost of a lot of static)
  • only require a single approval to merge a dependency update
  • encourage maintainers to keep the queue clear and get rid of stuff like this
  • have an automated merge q, which might have boundaries like approved in the past
  • allowance to do follow-ups later (this was not an issue here, just saying that's often done)
  • have the opposite issue.. a pile on to merge low risk change due to foundation stats increment (not the change here as aaif doesn't yet gamify stats)

Right now, I had to nag mic, then a couple other times. I have to meta track a dependency update with similar effort to an actual spec change. This is the part I think we can tune.

@DOsinga
Copy link
Collaborator

DOsinga commented Dec 17, 2025

ah, I think that was an oversight that we didn't actually make you maintainer, just recognized you as one. you should be now. agree on all the things you say - now that you have write access, let's make it so!

sorry about that!

@codefromthecrypt codefromthecrypt merged commit 062fc07 into block:main Dec 17, 2025
17 checks passed
@codefromthecrypt codefromthecrypt deleted the deps/upgrade-acp-0.9.0 branch December 17, 2025 00:50
@codefromthecrypt
Copy link
Collaborator Author

Thanks for sorting this out @DOsinga. Glad I can help approve now also, or merge other people's low risk change.

aharvard added a commit that referenced this pull request Dec 17, 2025
* main:
  fix: we don't need to warn about tool count when in code mode (#6149)
  deps: upgrade agent-client-protocol to 0.9.0 (#6109)
  fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966)
  More slash commands (#5858)
  fix: MCP UI not rendering due to CallToolResult structure change (#6143)
  fix: display shell output as static text instead of spinner (#6041)
  fix : Custom providers with empty API keys show as configured in desktop (#6105)
  Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139)
  fix: use instructions for system prompt and prompt for user message in subagents (#6121)
  Fix compaction loop for small models or large input (#5803)
  feat: Centralize theme management with ThemeContext (#6137)
  OpenRouter & Xai streaming (#5873)
  fix: resolve mcp-hermit cleanup path expansion issue (#5953)
  feat: add goose PR reviewer workflow (#6124)
  perf: Avoid repeated MCP queries during streaming responses (#6138)
  Fix YAML serialization for recipes with special characters (#5796)
  Add more posthog analytics (privacy aware) (#6122)
  docs: add Sugar MCP server to extensions registry (#6077)
dianed-square added a commit that referenced this pull request Dec 17, 2025
* origin/main: (57 commits)
  docs: create/edit recipe button (#6145)
  fix(google): Fix 400 Bad Request error with Gemini 3 thought signatures (#6035)
  fix: we don't need to warn about tool count when in code mode (#6149)
  deps: upgrade agent-client-protocol to 0.9.0 (#6109)
  fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966)
  More slash commands (#5858)
  fix: MCP UI not rendering due to CallToolResult structure change (#6143)
  fix: display shell output as static text instead of spinner (#6041)
  fix : Custom providers with empty API keys show as configured in desktop (#6105)
  Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139)
  fix: use instructions for system prompt and prompt for user message in subagents (#6121)
  Fix compaction loop for small models or large input (#5803)
  feat: Centralize theme management with ThemeContext (#6137)
  OpenRouter & Xai streaming (#5873)
  fix: resolve mcp-hermit cleanup path expansion issue (#5953)
  feat: add goose PR reviewer workflow (#6124)
  perf: Avoid repeated MCP queries during streaming responses (#6138)
  Fix YAML serialization for recipes with special characters (#5796)
  Add more posthog analytics (privacy aware) (#6122)
  docs: add Sugar MCP server to extensions registry (#6077)
  ...
katzdave added a commit that referenced this pull request Dec 17, 2025
…icing

* 'main' of github.com:block/goose: (35 commits)
  docs: skills (#6062)
  fix: add conditional configuration for GOOSE_BIN_DIR in PATH (#5940)
  Update dependencies to help in Fedora packaging (#5835)
  fix: make goose reviewer less bad (#6154)
  docs: create/edit recipe button (#6145)
  fix(google): Fix 400 Bad Request error with Gemini 3 thought signatures (#6035)
  fix: we don't need to warn about tool count when in code mode (#6149)
  deps: upgrade agent-client-protocol to 0.9.0 (#6109)
  fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966)
  More slash commands (#5858)
  fix: MCP UI not rendering due to CallToolResult structure change (#6143)
  fix: display shell output as static text instead of spinner (#6041)
  fix : Custom providers with empty API keys show as configured in desktop (#6105)
  Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139)
  fix: use instructions for system prompt and prompt for user message in subagents (#6121)
  Fix compaction loop for small models or large input (#5803)
  feat: Centralize theme management with ThemeContext (#6137)
  OpenRouter & Xai streaming (#5873)
  fix: resolve mcp-hermit cleanup path expansion issue (#5953)
  feat: add goose PR reviewer workflow (#6124)
  ...
zanesq added a commit that referenced this pull request Dec 18, 2025
* 'main' of github.com:block/goose: (28 commits)
  Clean PR preview sites from gh-pages branch history (#6161)
  fix: make goose reviewer less sycophantic (#6171)
  revert /reply to previous behavior (replacing session history) when full conversation provided (#6058)
  chore: manually update version (#6166)
  Integrate pricing with canonical model (#6130)
  Regenerate canonical models when release branch is created. (#6127)
  fix: use correct parameter name in read_module handler (#6148)
  docs: blog for code mode MCP (#6126)
  test: add ACP integration test (#6150)
  docs: auto download updates (#6163)
  fix: respect default_enabled value of platform extensions (#6159)
  docs: skills (#6062)
  fix: add conditional configuration for GOOSE_BIN_DIR in PATH (#5940)
  Update dependencies to help in Fedora packaging (#5835)
  fix: make goose reviewer less bad (#6154)
  docs: create/edit recipe button (#6145)
  fix(google): Fix 400 Bad Request error with Gemini 3 thought signatures (#6035)
  fix: we don't need to warn about tool count when in code mode (#6149)
  deps: upgrade agent-client-protocol to 0.9.0 (#6109)
  fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966)
  ...

# Conflicts:
#	ui/desktop/src/api/sdk.gen.ts
#	ui/desktop/src/hooks/useAgent.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants