Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .agents/skills/langchain-acp/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ It does not own:

The package metadata and compatibility gate use these minimum versions:

- `langchain>=1.3.11`
- `langgraph>=1.2.7`
- `deepagents>=0.6.12` through `langchain-acp[deepagents]`
- `langchain>=1.4.7`
- `langgraph>=1.2.18`
- `deepagents>=0.7.32` through `langchain-acp[deepagents]`

Treat the three packages as one resolved stack. Validate changes with `make check-langchain-stack`;
that gate runs both runtime tests and `ty` against the exact baseline versions.
Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/pydantic-acp/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,10 @@ When working on this surface, remember:
- keep the direct async-iterable fallback only for tests and compatibility fakes
- `OpenAICompactionBridge` must not pass deprecated `instructions=` into upstream `OpenAICompaction`
- Harness workspace, filesystem, shell, and CodeMode bridges are regression-tested against
`pydantic-ai-harness[code-mode]==0.52.0` through its public imports; include
`pydantic-ai-harness[code-mode]==0.63.0` through its public imports; include
`HarnessLocalWorkspaceBridge` when filesystem or shell capabilities need a workspace, and do not
duplicate unrelated Harness capabilities such as Memory or Guardrails in ACP Kit.
- Harness 0.52.0 requires Pydantic AI 2.52.0; keep Harness
- Harness 0.63.0 requires Pydantic AI 2.63.0; keep Harness
capability tests on the locked development version and use the core adapter
matrix for the full supported range.

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
pydantic-ai-version: ["2.9.0", "2.9.1", "2.10.0", "2.11.0", "2.12.0", "2.13.0", "2.14.0", "2.14.1", "2.15.0", "2.16.0", "2.17.0", "2.18.0", "2.19.0", "2.20.0", "2.21.0", "2.22.0", "2.23.0", "2.24.0", "2.25.0", "2.26.0", "2.27.0", "2.27.1", "2.28.0", "2.29.0", "2.30.0", "2.31.0", "2.31.1", "2.32.0", "2.33.0", "2.34.0", "2.35.0", "2.36.0", "2.37.0", "2.38.0", "2.39.0", "2.40.0", "2.41.0", "2.42.0", "2.43.0", "2.44.0", "2.45.0", "2.46.0", "2.47.0", "2.48.0", "2.49.0", "2.50.0", "2.51.0", "2.52.0"]
pydantic-ai-version: ["2.9.0", "2.9.1", "2.10.0", "2.11.0", "2.12.0", "2.13.0", "2.14.0", "2.14.1", "2.15.0", "2.16.0", "2.17.0", "2.18.0", "2.19.0", "2.20.0", "2.21.0", "2.22.0", "2.23.0", "2.24.0", "2.25.0", "2.26.0", "2.27.0", "2.27.1", "2.28.0", "2.29.0", "2.30.0", "2.31.0", "2.31.1", "2.32.0", "2.33.0", "2.34.0", "2.35.0", "2.36.0", "2.37.0", "2.38.0", "2.39.0", "2.40.0", "2.41.0", "2.42.0", "2.43.0", "2.44.0", "2.45.0", "2.46.0", "2.47.0", "2.48.0", "2.49.0", "2.50.0", "2.51.0", "2.52.0", "2.53.0", "2.54.0", "2.55.0", "2.56.0", "2.57.0", "2.58.0", "2.59.0", "2.60.0", "2.61.0", "2.62.0", "2.63.0"]

steps:
- uses: actions/checkout@v7
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,17 @@ ACP Kit uses synchronized versions for `acpkit`, `pydantic-acp`, `langchain-acp`

## [Unreleased]

### Changed

- Pydantic AI compatibility now covers `>=2.9.0,<=2.63.0`; the maintained
Harness integration targets `pydantic-ai-harness[code-mode]==0.63.0`.
- LangChain baseline is now LangChain 1.4.7, LangGraph 1.2.18, and
DeepAgents 0.7.32.
- Pydantic AI 2.53 through 2.63 are covered by the CI compatibility matrix.
`RetryPromptPart` is deprecated upstream; the adapter keeps its legacy
handling for older releases and reports `ToolReturnPart(outcome='retried')`
as a failed tool call.

## [1.10.0] - 2026-09-30

### Added
Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ BLUE := \033[1;34m
GREEN := \033[1;32m
RESET := \033[0m
PYTHON_VERSIONS := 3.11.13 3.12.10 3.13.9
PYDANTIC_AI_VERSIONS := 2.9.0 2.9.1 2.10.0 2.11.0 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.16.0 2.17.0 2.18.0 2.19.0 2.20.0 2.21.0 2.22.0 2.23.0 2.24.0 2.25.0 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.34.0 2.35.0 2.36.0 2.37.0 2.38.0 2.39.0 2.40.0 2.41.0 2.42.0 2.43.0 2.44.0 2.45.0 2.46.0 2.47.0 2.48.0 2.49.0 2.50.0 2.51.0 2.52.0
LANGCHAIN_VERSION := 1.3.11
LANGGRAPH_VERSION := 1.2.7
DEEPAGENTS_VERSION := 0.6.12
PYDANTIC_AI_VERSIONS := 2.9.0 2.9.1 2.10.0 2.11.0 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.16.0 2.17.0 2.18.0 2.19.0 2.20.0 2.21.0 2.22.0 2.23.0 2.24.0 2.25.0 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.34.0 2.35.0 2.36.0 2.37.0 2.38.0 2.39.0 2.40.0 2.41.0 2.42.0 2.43.0 2.44.0 2.45.0 2.46.0 2.47.0 2.48.0 2.49.0 2.50.0 2.51.0 2.52.0 2.53.0 2.54.0 2.55.0 2.56.0 2.57.0 2.58.0 2.59.0 2.60.0 2.61.0 2.62.0 2.63.0
LANGCHAIN_VERSION := 1.4.7
LANGGRAPH_VERSION := 1.2.18
DEEPAGENTS_VERSION := 0.7.32
RELEASE_TAG ?=
DIST_DIR ?= dist

Expand Down
6 changes: 3 additions & 3 deletions docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ uv add pydantic-acp
pip install pydantic-acp
```

`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.52.0` and pins the ACP
`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.63.0` and pins the ACP
protocol version it integrates against. Pydantic AI V1 and releases before
2.9.0 are not supported.

Expand Down Expand Up @@ -105,8 +105,8 @@ Use `langchain-acp[web]` for the LangChain adapter or `acpkit[web]` with the roo
pip install "langchain-acp[deepagents]"
```

The current minimum versions are `langchain>=1.3.11`, `langgraph>=1.2.7`, and, when the optional
extra is installed, `deepagents>=0.6.12`. ACP Kit's CI resolves and tests these three versions
The current minimum versions are `langchain>=1.4.7`, `langgraph>=1.2.18`, and, when the optional
extra is installed, `deepagents>=0.7.32`. ACP Kit's CI resolves and tests these three versions
together rather than validating them in isolation.

`langchain-acp` is the direct dependency when your app already owns a compiled LangGraph graph or a LangChain `create_agent(...)` graph and you want ACP Kit's adapter seams without the root CLI.
Expand Down
6 changes: 3 additions & 3 deletions docs/langchain-acp.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ It is not a separate agent framework. The adapter takes a runtime that is alread

| Framework | Supported baseline | Adapter contract |
| --- | --- | --- |
| LangChain | `>=1.3.11` | `create_agent(...)`, middleware, messages, and streaming |
| LangGraph | `>=1.2.7` | compiled graph invocation, state, interrupts, and stream events |
| DeepAgents | `>=0.6.12` | optional `deepagents` extra, built-in tool projection, and plan compatibility |
| LangChain | `>=1.4.7` | `create_agent(...)`, middleware, messages, and streaming |
| LangGraph | `>=1.2.18` | compiled graph invocation, state, interrupts, and stream events |
| DeepAgents | `>=0.7.32` | optional `deepagents` extra, built-in tool projection, and plan compatibility |

The baseline is tested as one resolved stack in CI. The adapter does not cap future compatible
minor releases, but the lockfile records the exact versions used by the repository.
Expand Down
40 changes: 20 additions & 20 deletions docs/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ uv add pydantic-acp
pip install pydantic-acp
```

`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.52.0` and pins the ACP
`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.63.0` and pins the ACP
protocol version it integrates against. Pydantic AI V1 and releases before
2.9.0 are not supported.

Expand Down Expand Up @@ -322,8 +322,8 @@ Use `langchain-acp[web]` for the LangChain adapter or `acpkit[web]` with the roo
pip install "langchain-acp[deepagents]"
```

The current minimum versions are `langchain>=1.3.11`, `langgraph>=1.2.7`, and, when the optional
extra is installed, `deepagents>=0.6.12`. ACP Kit's CI resolves and tests these three versions
The current minimum versions are `langchain>=1.4.7`, `langgraph>=1.2.18`, and, when the optional
extra is installed, `deepagents>=0.7.32`. ACP Kit's CI resolves and tests these three versions
together rather than validating them in isolation.

`langchain-acp` is the direct dependency when your app already owns a compiled LangGraph graph or a LangChain `create_agent(...)` graph and you want ACP Kit's adapter seams without the root CLI.
Expand Down Expand Up @@ -1544,7 +1544,7 @@ If you are integrating `pydantic-acp` in a real product:

## Version Compatibility And Private Upstream APIs

`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.52.0`. Pydantic AI V1 and
`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.63.0`. Pydantic AI V1 and
Pydantic AI 2.x releases before 2.9.0 are outside the supported range.

Each supported minor is checked against the same adapter runtime suite and
Expand Down Expand Up @@ -1585,7 +1585,7 @@ aliases and wrapped as `ProcessHistory` capabilities inside
What this means in practice:

- the adapter is less exposed to private upstream type-module churn
- Pydantic AI 2.9.0 through 2.52.0 share one public adapter contract
- Pydantic AI 2.9.0 through 2.63.0 share one public adapter contract
- future Pydantic AI upgrades remain explicit compatibility work
- integration points stay isolated behind ACP Kit bridge and runtime seams

Expand All @@ -1609,9 +1609,9 @@ It is not a separate agent framework. The adapter takes a runtime that is alread

| Framework | Supported baseline | Adapter contract |
| --- | --- | --- |
| LangChain | `>=1.3.11` | `create_agent(...)`, middleware, messages, and streaming |
| LangGraph | `>=1.2.7` | compiled graph invocation, state, interrupts, and stream events |
| DeepAgents | `>=0.6.12` | optional `deepagents` extra, built-in tool projection, and plan compatibility |
| LangChain | `>=1.4.7` | `create_agent(...)`, middleware, messages, and streaming |
| LangGraph | `>=1.2.18` | compiled graph invocation, state, interrupts, and stream events |
| DeepAgents | `>=0.7.32` | optional `deepagents` extra, built-in tool projection, and plan compatibility |

The baseline is tested as one resolved stack in CI. The adapter does not cap future compatible
minor releases, but the lockfile records the exact versions used by the repository.
Expand Down Expand Up @@ -7847,7 +7847,7 @@ make check-pydantic-ai-matrix
```

This runs the Pydantic adapter runtime tests and type checks independently
against Pydantic AI 2.9.0 through 2.52.0. The same matrix runs
against Pydantic AI 2.9.0 through 2.63.0. The same matrix runs
in CI. Add a version only after both parts pass.

LangChain stack compatibility checks:
Expand All @@ -7856,8 +7856,8 @@ LangChain stack compatibility checks:
make check-langchain-stack
```

This runs the LangChain adapter tests and type checks with LangChain 1.3.11, LangGraph 1.2.7, and
DeepAgents 0.6.12 in one resolver environment. The suite constructs a real DeepAgents graph and
This runs the LangChain adapter tests and type checks with LangChain 1.4.7, LangGraph 1.2.18, and
DeepAgents 0.7.32 in one resolver environment. The suite constructs a real DeepAgents graph and
checks its ACP lifecycle and built-in tool projections.

Branch coverage for the adapter packages:
Expand Down Expand Up @@ -8016,9 +8016,9 @@ async def confirm(session: AcpSessionContext) -> None:

- Python 3.11 through 3.13
- Pydantic AI 2.0.0 through 2.9.1
- LangChain 1.3.11 or newer
- LangGraph 1.2.7 or newer
- DeepAgents 0.6.12 or newer through the optional extra
- LangChain 1.4.7 or newer
- LangGraph 1.2.18 or newer
- DeepAgents 0.7.32 or newer through the optional extra
- ACP Python SDK 0.11.0

The release validation suite covers all repository tests with 100% line
Expand Down Expand Up @@ -8054,9 +8054,9 @@ The release gate covers:

- Python 3.11 through 3.13
- Pydantic AI 2.0 through 2.4
- LangChain 1.3.11
- LangGraph 1.2.7
- DeepAgents 0.6.12
- LangChain 1.4.7
- LangGraph 1.2.18
- DeepAgents 0.7.32
- ACP Python SDK 0.9.0

## Migration Notes
Expand Down Expand Up @@ -8105,9 +8105,9 @@ The release gate covers:

- Python 3.11 through 3.13
- Pydantic AI 2.0 through 2.4
- LangChain 1.3.11
- LangGraph 1.2.7
- DeepAgents 0.6.12
- LangChain 1.4.7
- LangGraph 1.2.18
- DeepAgents 0.7.32
- ACP Python SDK 0.9.0

## Stable Surface
Expand Down
4 changes: 2 additions & 2 deletions docs/pydantic-acp.md
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ If you are integrating `pydantic-acp` in a real product:

## Version Compatibility And Private Upstream APIs

`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.52.0`. Pydantic AI V1 and
`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.63.0`. Pydantic AI V1 and
Pydantic AI 2.x releases before 2.9.0 are outside the supported range.

Each supported minor is checked against the same adapter runtime suite and
Expand Down Expand Up @@ -429,6 +429,6 @@ aliases and wrapped as `ProcessHistory` capabilities inside
What this means in practice:

- the adapter is less exposed to private upstream type-module churn
- Pydantic AI 2.9.0 through 2.52.0 share one public adapter contract
- Pydantic AI 2.9.0 through 2.63.0 share one public adapter contract
- future Pydantic AI upgrades remain explicit compatibility work
- integration points stay isolated behind ACP Kit bridge and runtime seams
6 changes: 3 additions & 3 deletions docs/pydantic-acp/harness-capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ This is the supported path when you want a Pydantic agent to use:
- optional CodeMode execution tools

ACP Kit validates its maintained harness bridge surface against
`pydantic-ai-harness[code-mode]==0.52.0`. The bridges intentionally use the
`pydantic-ai-harness[code-mode]==0.63.0`. The bridges intentionally use the
public `LocalWorkspace`, `FileSystem`, `Shell`, and `CodeMode` imports; newer Harness capabilities
such as Memory and Guardrails remain available to the underlying agent without
being reimplemented as ACP Kit-specific tool bridges.

Harness 0.52.0 itself requires `pydantic-ai-slim==2.52.0`. The core
`pydantic-acp` adapter remains compatible with Pydantic AI 2.9.0 through 2.52.0;
Harness 0.63.0 itself requires `pydantic-ai-slim==2.63.0`. The core
`pydantic-acp` adapter remains compatible with Pydantic AI 2.9.0 through 2.63.0;
install the `harness` extra only when the resolved Pydantic AI version is in the
Harness-supported part of that range.

Expand Down
6 changes: 3 additions & 3 deletions docs/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ make check-pydantic-ai-matrix
```

This runs the Pydantic adapter runtime tests and type checks independently
against Pydantic AI 2.9.0 through 2.52.0. The same matrix runs
against Pydantic AI 2.9.0 through 2.63.0. The same matrix runs
in CI. Add a version only after both parts pass.

LangChain stack compatibility checks:
Expand All @@ -58,8 +58,8 @@ LangChain stack compatibility checks:
make check-langchain-stack
```

This runs the LangChain adapter tests and type checks with LangChain 1.3.11, LangGraph 1.2.7, and
DeepAgents 0.6.12 in one resolver environment. The suite constructs a real DeepAgents graph and
This runs the LangChain adapter tests and type checks with LangChain 1.4.7, LangGraph 1.2.18, and
DeepAgents 0.7.32 in one resolver environment. The suite constructs a real DeepAgents graph and
checks its ACP lifecycle and built-in tool projections.

Branch coverage for the adapter packages:
Expand Down
8 changes: 4 additions & 4 deletions docs/versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ The v1 baseline is:
| Integration | Supported baseline |
|---|---|
| Python | 3.11, 3.12, 3.13 |
| Pydantic AI | 2.9.0 through 2.52.0 |
| LangChain | 1.3.11 |
| LangGraph | 1.2.7 |
| DeepAgents | 0.6.12 |
| Pydantic AI | 2.9.0 through 2.63.0 |
| LangChain | 1.4.7 |
| LangGraph | 1.2.18 |
| DeepAgents | 0.7.32 |
| ACP Python SDK | 0.12.1 (schema v1.19) |

## Deprecation Policy
Expand Down
4 changes: 2 additions & 2 deletions examples/langchain/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ These examples expose real LangChain, LangGraph, and DeepAgents graphs through
ACP. Model and mode choices belong to the ACP session and rebuild the graph
through `graph_factory`.

They are tested against LangChain 1.3.11, LangGraph 1.2.7, and DeepAgents
0.6.12.
They are tested against LangChain 1.4.7, LangGraph 1.2.18, and DeepAgents
0.7.32.

## Setup

Expand Down
6 changes: 3 additions & 3 deletions packages/adapters/langchain-acp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ Public API and deprecation guarantees are documented in the

The current compatibility baseline is:

- `langchain>=1.3.11`
- `langgraph>=1.2.7`
- `deepagents>=0.6.12` through the optional `deepagents` extra
- `langchain>=1.4.7`
- `langgraph>=1.2.18`
- `deepagents>=0.7.32` through the optional `deepagents` extra

These are minimum versions rather than upper pins. The lockfile and CI validate the exact baseline
together, including a real `create_deep_agent(...)` graph adapted through ACP. DeepAgents 0.6 tool
Expand Down
6 changes: 3 additions & 3 deletions packages/adapters/langchain-acp/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ classifiers = [
keywords = ["acp", "langchain", "langgraph", "agents", "protocol"]
dependencies = [
"agent-client-protocol==0.12.1",
"langchain>=1.3.11",
"langgraph>=1.2.7",
"langchain>=1.4.7",
"langgraph>=1.2.18",
"pydantic>=2.7",
"typing-extensions>=4.12.0",
]

[project.optional-dependencies]
deepagents = ["deepagents>=0.6.12"]
deepagents = ["deepagents>=0.7.32"]
web = ["agent-client-protocol[http]==0.12.1"]

[project.urls]
Expand Down
10 changes: 5 additions & 5 deletions packages/adapters/pydantic-acp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,7 @@ Focused docs recipes:

## Compatibility Policy

`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.52.0`. Pydantic AI V1 and
`pydantic-acp` supports `pydantic-ai-slim>=2.9.0,<=2.63.0`. Pydantic AI V1 and
Pydantic AI 2.x releases before 2.9.0 are outside the supported range.

The ACP client provider bridge depends on the Pydantic AI v2 `Provider` and `Model` contracts. Upgrades across major Pydantic AI versions should be deliberate because the adapter exposes both server-side ACP translation and client-side ACP provider integration.
Expand All @@ -596,9 +596,9 @@ agent: Agent[None, str] = Agent(

The supported surface includes tool and output-tool preparation, output
validation and processing hooks, deferred tool-call hooks, run metadata,
conversation IDs, and the `run_stream_events()` lifecycle used through 2.52.0.
conversation IDs, and the `run_stream_events()` lifecycle used through 2.63.0.

Harness-backed filesystem, shell, and CodeMode bridges are validated against
`pydantic-ai-harness[code-mode]==0.52.0` using its public capability imports.
Harness 0.52.0 requires `pydantic-ai-slim==2.52.0`; the core adapter itself
remains compatible with Pydantic AI 2.9.0 through 2.52.0.
`pydantic-ai-harness[code-mode]==0.63.0` using its public capability imports.
Harness 0.63.0 requires `pydantic-ai-slim==2.63.0`; the core adapter itself
remains compatible with Pydantic AI 2.9.0 through 2.63.0.
4 changes: 2 additions & 2 deletions packages/adapters/pydantic-acp/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ dependencies = [
# Fixed for compliance with the ACP 0.12 public SDK.
"agent-client-protocol==0.12.1",
"anyio>=4.0.0",
"pydantic-ai-slim>=2.9.0,<=2.52.0",
"pydantic-ai-slim>=2.9.0,<=2.63.0",
"pydantic>=2.7",
"typing-extensions>=4.12.0",
]

[project.optional-dependencies]
harness = ["pydantic-ai-harness[code-mode]==0.52.0"]
harness = ["pydantic-ai-harness[code-mode]==0.63.0"]
web = ["agent-client-protocol[http]==0.12.1"]

[project.urls]
Expand Down
2 changes: 1 addition & 1 deletion packages/helpers/codex-auth-helper/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ classifiers = [
dependencies = [
"httpx>=0.28.1",
"openai>=1.109.1",
"pydantic-ai-slim>=2.9.0,<=2.52.0",
"pydantic-ai-slim>=2.9.0,<=2.63.0",
"typing-extensions>=4.12.0",
]

Expand Down
Loading
Loading