From a45f7e85ff73ede1a610db794006859dfa96d220 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Thu, 7 May 2026 10:06:55 -0700 Subject: [PATCH] feat(v2 managed agents): add adapters package init --- litellm/managed_agents/adapters/__init__.py | 44 +++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 litellm/managed_agents/adapters/__init__.py diff --git a/litellm/managed_agents/adapters/__init__.py b/litellm/managed_agents/adapters/__init__.py new file mode 100644 index 00000000000..01828537a04 --- /dev/null +++ b/litellm/managed_agents/adapters/__init__.py @@ -0,0 +1,44 @@ +"""Sandbox adapters for managed agents v2. + +Each adapter translates the sandbox-agnostic public API +(`/v2/sessions/:id/messages`, `/v2/sessions/:id/events`, etc.) into the +provider-specific HTTP calls described in contract §7. Today only +`opencode` ships — additional providers register here without touching +the public API surface. + +Public exports: + - `SandboxAdapter` — Protocol all adapters implement. + - `SandboxUnreachableError` — raised on connect/timeout failures + (handler maps to 504). + - `SandboxBadGatewayError` — raised on malformed sandbox responses + (handler maps to 502). + - `OpencodeAdapter` — the shipped adapter for `sandbox.type="opencode"`. + - `get_adapter` — registry lookup; raises `ValueError` for unknown + sandbox types. + - `normalize_opencode_message` / `normalize_opencode_event` — pure + helpers, exported for unit tests. +""" + +from litellm.managed_agents.adapters.base import ( + SandboxAdapter, + SandboxBadGatewayError, + SandboxUnreachableError, +) +from litellm.managed_agents.adapters.normalization import ( + event_matches_session, + normalize_opencode_event, + normalize_opencode_message, +) +from litellm.managed_agents.adapters.opencode import OpencodeAdapter +from litellm.managed_agents.adapters.registry import get_adapter + +__all__ = [ + "SandboxAdapter", + "SandboxUnreachableError", + "SandboxBadGatewayError", + "OpencodeAdapter", + "get_adapter", + "normalize_opencode_message", + "normalize_opencode_event", + "event_matches_session", +]