From 6a0214a97b0fb4b26651fe5e6f9fa6340e804c32 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Wed, 6 May 2026 17:59:03 -0700 Subject: [PATCH] feat(managed_agents): expose Agent/Session/Run/runtimes/sandboxes from package root MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The package __init__ now re-exports the public surface so SDK callers can do a single 'from litellm.managed_agents import Agent, Session, ...' instead of digging into submodules. Also pins what's public — anything not in __all__ is implementation detail and may move. --- litellm/managed_agents/__init__.py | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 litellm/managed_agents/__init__.py diff --git a/litellm/managed_agents/__init__.py b/litellm/managed_agents/__init__.py new file mode 100644 index 00000000000..32fbc4ade73 --- /dev/null +++ b/litellm/managed_agents/__init__.py @@ -0,0 +1,69 @@ +""" +``litellm.managed_agents`` — Python SDK for spawning and driving managed agents. + +Public surface: + + * ``Agent`` — handle for one ``LiteLLM_Agent`` row; + spawns sessions. + * ``Session`` — one running session; ``send(prompt)`` + drives the runtime and yields events. + * ``Run`` — read-only view of one ``LiteLLM_AgentRun`` + row; ``stream(starting_seq=N)`` replays + persisted events. + * ``Event`` — the dataclass yielded by both runtimes + and ``Run.stream``. + * ``AgentRuntime`` (+ subclasses ``ClaudeSDKAgentRuntime``, + ``LiteLLMAgentRuntime``) — the LLM tool-loop driver. Subclass to + add ``before_tool_call`` / ``after_tool_call`` hooks. + * ``Sandbox`` (+ subclasses ``LocalSandbox``, ``EC2SandboxViaSSM``) + — where tool calls actually execute. + +Typical use:: + + from litellm.managed_agents import ( + Agent, LiteLLMAgentRuntime, LocalSandbox, + ) + + agent = await Agent.from_db_row( + row, db=prisma_client.db, + runtime=LiteLLMAgentRuntime(), + sandbox=LocalSandbox(), + ) + session = await agent.create_session() + async for event in session.send("hello"): + print(event.type, event.data) +""" + +from litellm.managed_agents.agent import Agent +from litellm.managed_agents.agent_runtime import ( + AgentConfig, + AgentRuntime, + ClaudeSDKAgentRuntime, + LiteLLMAgentRuntime, + SessionState, +) +from litellm.managed_agents.events import Event +from litellm.managed_agents.run import Run +from litellm.managed_agents.sandbox import ( + EC2SandboxViaSSM, + LocalSandbox, + Sandbox, + ToolResult, +) +from litellm.managed_agents.session import Session + +__all__ = [ + "Agent", + "Session", + "Run", + "Event", + "AgentRuntime", + "AgentConfig", + "SessionState", + "ClaudeSDKAgentRuntime", + "LiteLLMAgentRuntime", + "Sandbox", + "ToolResult", + "LocalSandbox", + "EC2SandboxViaSSM", +]