Skip to content

feature: add git_clone, list_sandboxes, and manage_sandbox tools#7

Open
hjpinheiro wants to merge 1 commit into
daytona:mainfrom
hjpinheiro:feature/git-and-management
Open

feature: add git_clone, list_sandboxes, and manage_sandbox tools#7
hjpinheiro wants to merge 1 commit into
daytona:mainfrom
hjpinheiro:feature/git-and-management

Conversation

@hjpinheiro

Copy link
Copy Markdown

Summary

Three new tools for development workflow and resource management:

Tool Purpose SDK API
git_clone Clone a Git repository into a sandbox sandbox.git.clone(url, path, branch, commit_id, username, password)
list_sandboxes List all sandboxes with IDs and states daytona.list(query=ListSandboxesQuery(limit=N))
manage_sandbox Lifecycle: start, stop, archive sandbox.start() / sandbox.stop() / sandbox.archive()

Design

  • git_clone: Supports branch selection, specific commit checkout, and username/password authentication for private repos
  • list_sandboxes: Returns structured list with ID, name, and state for each sandbox
  • manage_sandbox: Single tool with action select parameter (start/stop/archive) — avoids adding 3 separate tools for related operations
    • start: resumes a stopped/archived sandbox (calls start() + wait_for_sandbox_start())
    • stop: pauses a running sandbox (filesystem preserved, costs reduced)
    • archive: compresses for long-term storage (minimal cost, slower resume)
    • Uses daytona.get() directly instead of get_sandbox() to avoid unintended auto-start when stopping/archiving

These complement the existing create_sandbox/destroy_sandbox tools to provide full lifecycle management:

create → [manage: start/stop/archive] → destroy

Testing

  • All 3 .py files pass py_compile
  • All 3 .yaml files pass yaml.safe_load
  • provider/daytona.yaml validates with 10 total tools (7 original + 3 new)

Three new tools for development workflow and resource management:

- git_clone: clone a Git repository into a sandbox (supports branch,
  commit checkout, and private repo authentication)
- list_sandboxes: list all sandboxes with their IDs and states
- manage_sandbox: lifecycle management (start, stop, archive) with a
  single action parameter

These complement the existing create_sandbox/destroy_sandbox tools to
provide full sandbox lifecycle management.
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