Skip to content

Releases: sanjay3290/agentic-framework-acp

v0.2.0 — session-scoped backends, live streaming, 14 ACP backends

Choose a tag to compare

@sanjay3290 sanjay3290 released this 14 Jul 02:50

Highlights

The stdio ACP server works end-to-end now. Session updates are delivered through the connection's session_update API, and serve() awaits acp.run_agent (a coroutine since SDK 0.11). Verified with a full round-trip: external ACP client → framework server → real backend CLI → response streamed back.

Session-scoped backends. Backend processes spawn once per session and stay warm across turns — no more cold start per prompt. The backend's own session carries conversation continuity, so multi-turn no longer replays history as text. Context.close(), the ACP close_session method, and HTTP session deletion release resources; a crashed backend is detected and respawned transparently.

Real streaming. prompt_stream() yields chunks live while the backend is generating. Response text is now typed: only agent message chunks count, so model reasoning (thought chunks) no longer leaks into user-visible output.

14 pre-registered backends (up from 3): claude, gemini, codex, copilot, opencode, goose, qwen, cursor, grok, cline, auggie, kilo, devin, kimi — launch commands mirror the official ACP Registry manifests. Anything else in the registry can be added with BackendRegistry().register(...).

Hardening. Spawn failures clean up whatever was started; runs of the same agent on one session are serialized so concurrent prompts can't double-spawn or interleave; a missing backend CLI fails preflight with a clear message; guardrail-transformed final text reaches streaming clients; Context.close() closes every resource even when one fails.

Breaking changes

  • Requires agent-client-protocol >= 0.11.
  • The openai and ollama placeholder backends were removed (no such binaries exist). The gemini backend now launches with --acp.
  • Backends are no longer stopped after each prompt. Long-lived scripts embedding agents directly should call await ctx.close() when done with a session; the servers handle it automatically.

Upgrade

pip install -U acp-agent-framework

Claude and Codex adapter installs moved orgs: npm i -g @agentclientprotocol/claude-agent-acp / @agentclientprotocol/codex-acp.

Full details in CHANGELOG.md. 184 tests, CI green on Python 3.10–3.12.

v0.1.1

Choose a tag to compare

@sanjay3290 sanjay3290 released this 06 Mar 05:07

Fix README images on PyPI (use absolute URLs).

v0.1.0

Choose a tag to compare

@sanjay3290 sanjay3290 released this 06 Mar 05:05

ACP Agent Framework v0.1.0

Initial release of the first open-source Python framework for building agents that speak the Agent Client Protocol (ACP).

Features

  • Agents: Agent, SequentialAgent, RouterAgent, ToolAgent
  • Backends: Claude, Gemini, Codex — swap with a single parameter
  • Tools: Wrap any Python function as an MCP tool for LLM calling
  • Streaming: Real-time token-by-token output
  • Multi-turn: Conversation history across prompts
  • Guardrails: Input/output validation hooks
  • Agent-to-agent: Delegate tasks between agents via AgentTool
  • Skills: Load reusable capabilities per agentskills.io spec
  • Serving: ACP stdio, HTTP/SSE, CLI

Install

pip install acp-agent-framework