Arthur/acp client provider v2 20260701#15
Open
arthrod wants to merge 37 commits into
Open
Conversation
🔧 CodeRabbit Recipe: Add custom TDD red-green finishing touch
🔧 CodeRabbit Recipe: Add custom finishing touch type-mania
…ai/recipe1/fbfe64c
🔧 CodeRabbit Recipe: Deduplicate custom finishing touches
…ai/recipe3/fbfe64c
🔧 CodeRabbit Recipe: Add custom finishing touch tdd-red-green
…_init__ with __slots__
- Add type cast for prompt rendering to satisfy type checker - Fix _default_render_prompt_blocks to return empty list for empty messages - Fix test to call model_profile as instance method instead of static - Fix host bridge test assertions to avoid object comparison issues - Fix langchain adapter test monkeypatch for importlib - Remove unused AcpUpdateRecord import - Add type ignore comments for test mocks that don't implement full ACP Agent protocol - Update .gitignore to exclude temporary test scripts
…atic - Change AcpProvider.model_profile back to @staticmethod - Add _history_mode field to AcpProvider - Change AcpModel._provider type from AcpProvider to Provider[AcpAgent] with cast - Add type annotation for delegate.on_connect in test to fix type checker
…ssignment - Remove unused Callable import from typing - Replace direct attribute assignment with setattr for on_connect handler to avoid type checker issues
…e casts - Add missing trailing comma in session_update call - Change cast type arguments to string literals to avoid import-time issues - Add missing ACP protocol methods to test agent stubs - Remove unnecessary type ignore comments where stubs now satisfy protocol - Add trailing commas in test assertions for consistency
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.
Description
This PR introduces the ACP client provider bridge for Pydantic AI v2, a major step toward making ACP Kit a first-class backend for Pydantic AI agents.
With this change, ACP agents can be consumed directly as Pydantic AI models via the new AcpProvider / AcpModel surface, backed by AcpHostBridge for session lifecycle and projection support. The bridge handles model profiles, streaming prompt rendering, tool-call mapping, approvals, and session state, and the public API is now exported from
pydantic_acp.The
pydantic-acpadapter has been aligned to require Pydantic AI v2, and the synchronized workspace version has been bumped to1.1.0with a matching changelog entry.I also fixed a small type-safety issue where
cast()was being called with string literals instead of the actualSequence[AgentPromptBlock]and AcpProvider types.Kudos to the project maintainers — ACP Kit's clean adapter/provider split, exhaustive test matrix, and strict pre-commit / release tooling make large surface additions like this straightforward to land safely.
Fixes # (issue)
Type of change
Checklist