Skip to content

feat: Daytona remote workspace implemented #1772

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

brunogrbavac
Copy link

TLDR

Added Daytona implementation support as a new remote workspace type.
Daytona provides a secure and elastic infrastructure for running AI-generated code.

What changed?

  • Added Daytona workspace implementation: New workspace type using Daytona's sandbox environments
  • Created workspace infrastructure: New DaytonaWorkspace class with setup/teardown lifecycle
  • Sandbox configuration options: api_key, api_url, target, language, snapshot, env_vars, labels, public, timeout, auto_stop_interval, auto_archive_interval, auto_delete_interval, and os_user parameters
  • Workspace setup: Sandbox creation from snapshots, preview token extraction, background Composio server startup, and async session management
  • Updated documentation: Added Daytona workspace section with examples
  • Added CI/CD integration: DAYTONA_API_KEY_STAGING to GitHub Actions and tox
  • Added dependencies: daytona>=0.22.1 to setup.py and tox.ini

How to test?

from composio import ComposioToolSet, WorkspaceType

# Simple usage
toolset = ComposioToolSet(workspace_config=WorkspaceType.Daytona())

# With custom configuration
toolset = ComposioToolSet(workspace_config=WorkspaceType.Daytona(
    snapshot="daytona-composio",
    api_key="your_daytona_api_key", 
    api_url="https://app.daytona.io/api",
    target="eu"
))
# Run tests
export DAYTONA_API_KEY="your_api_key"
tox -e test -- -m 'not e2e and not swe'

Why make this change?

This adds Daytona as a fifth workspace option alongside existing Host, Docker, E2B, and FlyIO environments. The snapshot-based approach provides:

  • Consistent environments using predefined snapshots
  • Faster startup times compared to other remote options
  • Better error handling and resource management
  • Integration with existing Composio toolset architecture

fabjanvucina and others added 3 commits July 13, 2025 14:02
Copy link

LGTM 👍

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.

2 participants