Skip to content

fix: feat: Support pluggable agent runtimes (Claude SDK, Strands, Hermes, and others) (#1848) - #2609

Open
AnnasMazhar wants to merge 3 commits into
caipe-io:mainfrom
AnnasMazhar:feat/issue-1848-runtime-abstraction-design
Open

fix: feat: Support pluggable agent runtimes (Claude SDK, Strands, Hermes, and others) (#1848)#2609
AnnasMazhar wants to merge 3 commits into
caipe-io:mainfrom
AnnasMazhar:feat/issue-1848-runtime-abstraction-design

Conversation

@AnnasMazhar

Copy link
Copy Markdown

No description provided.

…ble runtimes (caipe-io#1848)

Defines the AgentRuntime Protocol (runtime_base.py) and supporting value
objects (Message, RuntimeConfig, ToolDefinition, AgentState, StreamEvent)
that all runtimes must conform to. Adds 10 unit tests pinning the contract
and a design spec at docs/docs/specs/2026-08-26-1848-pluggable-runtimes/.

This is the foundation slice only — no changes to the existing
deepagents/LangGraph AgentRuntime. Follow-up PRs will:

  * wrap the existing class as LangGraphAgentRuntime (Phase 2)
  * add Claude SDK / Strands / Hermes adapters (Phase 4)
  * surface the runtime choice in the agent editor UI (Phase 4)
  * normalize streaming events to A2A at the SSE boundary (Phase 4)
  * ensure conversation portability across runtimes (Phase 5)

Refs: caipe-io#1848
Signed-off-by: Syed Annas <annas.mazhar10@gmail.com>
…pytest-asyncio

The previous commit advertised '10/10 tests pass in sandbox' but the async
tests used @pytest.mark.asyncio which requires the pytest-asyncio plugin —
not installed in the default test environment, so 5/10 actually failed.

This converts the 5 async test bodies to plain def functions wrapping
asyncio.run() so they execute with the stdlib test runner only. No new
dependencies, no project config changes. Verified:

  PYTHONPATH=.../src python3 -m pytest .../tests/test_runtime_base.py
  -> 10 passed in 0.06s

Refs caipe-io#1848

Signed-off-by: Syed Annas <annas.mazhar10@gmail.com>
@AnnasMazhar
AnnasMazhar force-pushed the feat/issue-1848-runtime-abstraction-design branch 2 times, most recently from fcdcb7f to a3a50c8 Compare August 29, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant