refactor(acp): migrate ACP integration to @agentclientprotocol/sdk#2063
Merged
refactor(acp): migrate ACP integration to @agentclientprotocol/sdk#2063
Conversation
Contributor
📋 Review SummaryThis PR successfully migrates the ACP (Agent Client Protocol) integration from a custom implementation to use the official 🔍 General Feedback
🎯 Specific Feedback🟡 High
🟢 Medium
🔵 Low
✅ Highlights
|
Contributor
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
This was referenced Mar 4, 2026
bbfbaef to
c155f1b
Compare
- Remove acp.ts and schema.ts in favor of SDK types - Refactor acpAgent.ts to leverage SDK client - Update session management types and implementations - Adjust all test cases for new SDK-based architecture - Update integration tests and export utilities Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Replace deprecated ACP session manager with new SDK integration - Add acpFileHandler test coverage - Remove obsolete acpMessageHandler and acpSessionManager - Update type definitions and connection handlers - Apply code formatting fixes Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
…selines - Fix permission handling to map between kind (e.g. "allow_once") and optionId (e.g. "proceed_once") - Add baseline state tracking for mode/model to handle partial session/load responses - Introduce extractSessionModeState utility for mode state extraction - Ensure UI consistency when session load omits optional fields Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
c155f1b to
f1c88e9
Compare
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.
TLDR
This PR migrates the ACP (Agent Client Protocol) integration from a custom implementation to use the official
@agentclientprotocol/sdkpackage. It removes the legacyacp.tsandschema.tsfiles in favor of SDK-provided types and connection handling. Additionally, it includes various UX improvements to the auth dialog, tool scheduler refactoring, modality defaults for file handling, and keyboard shortcut enhancements.Dive Deeper
ACP Integration Migration
The primary change is replacing the custom ACP protocol implementation with the official SDK:
@agentclientprotocol/sdk@^0.14.1acp.tsandschema.ts(492 and 655 lines respectively)acpAgent.ts:GeminiAgenttoQwenAgentfor clarityAgentinterface from the SDKAgentSideConnectionandndJsonStreamfrom SDK for transport@agentclientprotocol/sdkReviewer Test Plan
ACP Integration Testing
Start the agent in ACP mode:
Test session lifecycle:
Testing Matrix
Todo Actions
Linked issues / bugs
Fixes #2112