Skip to content
Open
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
108 changes: 94 additions & 14 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion strands-py/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ sagemaker = [
"openai>=1.68.0,<3.0.0", # SageMaker uses OpenAI-compatible interface
]
otel = ["opentelemetry-exporter-otlp-proto-http>=1.30.0,<2.0.0"]
shell = ["strands-shell>=0.1.0,<0.2.0"]
docs = [
"sphinx>=5.0.0,<10.0.0",
"sphinx-rtd-theme>=1.0.0,<4.0.0",
Expand Down Expand Up @@ -86,7 +87,7 @@ bidi-openai = ["websockets>=15.0.0,<17.0.0"]

cedar = ["cedarpy==4.8.0", "cedar-policy-mcp-schema-generator==0.6.0"]

all = ["strands-agents[a2a,anthropic,cedar,docs,gemini,litellm,llamaapi,mistral,ollama,openai,writer,sagemaker,otel]"]
all = ["strands-agents[a2a,anthropic,cedar,docs,gemini,litellm,llamaapi,mistral,ollama,openai,shell,writer,sagemaker,otel]"]
bidi-all = ["strands-agents[a2a,bidi,bidi-io,bidi-gemini,bidi-openai,docs,otel]"]

dev = [
Expand Down
4 changes: 2 additions & 2 deletions strands-py/src/strands/experimental/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This module implements experimental features that are subject to change in future revisions without notice.
"""

from . import checkpoint, steering, tools
from . import checkpoint, sandbox, steering, tools
from .agent_config import config_to_agent

__all__ = ["checkpoint", "config_to_agent", "tools", "steering"]
__all__ = ["checkpoint", "config_to_agent", "sandbox", "tools", "steering"]
19 changes: 19 additions & 0 deletions strands-py/src/strands/experimental/sandbox/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
"""Experimental sandbox implementations.

This module ships sandbox backends that depend on optional, separately-installed
packages and whose APIs may change without notice.

- :class:`StrandsShellSandbox` — a :class:`~strands.sandbox.base.Sandbox` backed
by `Strands Shell <https://github.com/strands-agents/shell>`_, an in-process
Bourne-compatible shell with declarative filesystem, network, and credential
mediation. Requires ``pip install strands-agents[shell]``.

The sandbox vends ``sandbox_bash`` and ``sandbox_file_editor`` tools (built from
the :func:`~strands.vended_tools.make_bash` / :func:`~strands.vended_tools.make_file_editor`
factories) via :meth:`StrandsShellSandbox.get_tools`; an agent constructed with
the sandbox registers them automatically.
"""

from .strands_shell import StrandsShellSandbox

__all__ = ["StrandsShellSandbox"]
Loading
Loading