feat: Move to the renamed claude-agent-acp#131
Conversation
📝 WalkthroughWalkthroughThis pull request consolidates ACP provider naming and expands the provider ecosystem. The Claude Code ACP provider is renamed to Claude Agent ACP across configuration, adapter modules, and CLI commands. Three new ACP providers are introduced: Cursor Agent, Augment Code (Auggie), and Mistral Vibe, each with their own adapter modules and configuration entries. User message chunk filtering is centralized in the base ACPClient class, and a new ClaudeAgentACPAdapter is added to handle Claude-specific tool call updates with support for multiple tool kinds including read, edit, fetch, think, SubAgent, SlashCommand, and Skill operations. Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- This was motivated by #131 - Claude is not sending the events anymore - This also reduces the Agentic responsibilities, leaving it to the agents
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@AGENTS.md`:
- Line 735: Update the AGENTS.md examples to reflect the new adapter/name:
locate the `claude_acp_adapter.lua` example and the sample key
`["claude-agent-acp"]` and replace the old display name `"Claude ACP"` with the
current adapter display name used in codebase (use the new canonical name), and
update any other occurrences around lines referenced (also check the block at
~752-755) so examples and keys match the actual adapter naming. Ensure the
sample entry and any descriptive text consistently use the new adapter
identifier and display name.
In `@lua/agentic/acp/adapters/claude_agent_acp_adapter.lua`:
- Around line 30-115: Add focused unit tests for
ClaudeAgentACPAdapter:__build_tool_call_update that cover every parsing branch
(read -> file_path and edit -> diff with new_string/old_string/replace_all,
fetch -> query path, fetch -> url with prompt, think with subagent_type ->
SubAgent kind, explicit "SubAgent" kind -> argument formatting and prompt ->
body, other -> SlashCommand and Skill title/args, and the default command/table
conversion fallback). For each test, construct minimal update payloads
exercising FileSystem.to_smart_path, safe_split, extract_content_body and the
command table-to-string conversion, then assert the returned message fields
(tool_call_id, status, kind, argument, body, diff/all) match the expected
normalized shapes to lock behavior and prevent regressions.
In `@lua/agentic/config_default.lua`:
- Line 54: The default provider in config_default.lua is set to
"claude-agent-acp" but upstream parity blockers remain; change the default back
to the stable provider (restore the previous default value for the global
"provider" setting) while keeping "claude-agent-acp" available in the provider
options list; update the single assignment of provider in this file (the line
setting provider = "claude-agent-acp") to the stable provider name instead and
leave the new provider entry intact elsewhere so it can be selected but not used
by default.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 2a39243a-37b4-425c-a2e9-9c7da0c45217
📒 Files selected for processing (6)
AGENTS.mdREADME.mdlua/agentic/acp/adapters/claude_agent_acp_adapter.lualua/agentic/acp/agent_instance.lualua/agentic/config_default.luaopenspec/project.md
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
lua/agentic/config_default.lua (1)
54-54:⚠️ Potential issue | 🟠 MajorKeep
claude-agent-acpopt-in until the upstream blocker is actually cleared.The PR description from February 21, 2026 still says this path is blocked upstream. Making it the shipped default now turns that upstream gap into first-run breakage for anyone relying on the default configuration; keep the new provider entry, but leave the default on the existing stable Claude provider until that blocker is resolved.
🔧 Suggested temporary adjustment
- provider = "claude-agent-acp", + provider = "claude-acp",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@lua/agentic/config_default.lua` at line 54, The default provider was changed to "claude-agent-acp" but upstream is still blocked; revert the shipped default back to the existing stable Claude provider while keeping the new "claude-agent-acp" entry present for opt-in. Update the provider assignment in config_default.lua (the provider key) to the previous stable Claude string (restore the original value used for the stable Claude provider) and leave "claude-agent-acp" available in the list/config for users to opt into once the blocker is resolved.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@lua/agentic/acp/adapters/claude_agent_acp_adapter.lua`:
- Around line 34-40: The function ClaudeAgentACPAdapter:__build_tool_call_update
incorrectly types its local/return value as
agentic.ui.MessageWriter.ToolCallBase even though updates are partial (may only
include rawInput and not status); change the function return annotation and the
local 'message' annotation to a new partial-update alias (e.g.,
agentic.ui.MessageWriter.ToolCallUpdate or ToolCallPartial) that marks fields
optional to match the runtime contract, and update any other builder in this
file that currently uses ToolCallBase for updates (the second update builder
mentioned in the review) to use the same partial alias so MessageWriter merging
via tbl_deep_extend handles missing fields correctly.
---
Duplicate comments:
In `@lua/agentic/config_default.lua`:
- Line 54: The default provider was changed to "claude-agent-acp" but upstream
is still blocked; revert the shipped default back to the existing stable Claude
provider while keeping the new "claude-agent-acp" entry present for opt-in.
Update the provider assignment in config_default.lua (the provider key) to the
previous stable Claude string (restore the original value used for the stable
Claude provider) and leave "claude-agent-acp" available in the list/config for
users to opt into once the blocker is resolved.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: f6adc783-43a3-4de3-95d7-895a2f6f5a43
📒 Files selected for processing (9)
AGENTS.mdREADME.mdlua/agentic/acp/acp_client.lualua/agentic/acp/adapters/claude_agent_acp_adapter.lualua/agentic/acp/adapters/cursor_acp_adapter.lualua/agentic/acp/adapters/mistral_vibe_acp_adapter.lualua/agentic/acp/agent_instance.lualua/agentic/config_default.luaopenspec/project.md
💤 Files with no reviewable changes (1)
- lua/agentic/acp/adapters/mistral_vibe_acp_adapter.lua
claude-agent-acpsince v0.17.0 to follow brand guidelinesIssues before merge:
fs/read_text_fileandfs/write_text_filestatus