.do
Sdk

Sandbox SDK

SDK reference for Sandbox

Sandbox SDK

A secure, isolated execution environment for running code with full VM capabilities, git integration, and agent-optimized APIs.

Import

import { $ } from 'sdk.do'

Operations

create

Create a new sandbox environment.

const result = await $.Sandbox.create({
  // parameters
})

delete

Permanently remove the sandbox.

const result = await $.Sandbox.delete({
  // parameters
})

execute

Run code within the sandbox.

const result = await $.Sandbox.execute({
  // parameters
})

terminate

Force stop any running sandbox execution.

const result = await $.Sandbox.terminate({
  // parameters
})

clone

Clone a git repository into the sandbox.

const result = await $.Sandbox.clone({
  // parameters
})

checkout

Switch to different branch or commit.

const result = await $.Sandbox.checkout({
  // parameters
})

pull

Pull latest changes from remote repository.

const result = await $.Sandbox.pull({
  // parameters
})

commit

Commit changes in sandbox to git.

const result = await $.Sandbox.commit({
  // parameters
})

push

Push committed changes to remote repository.

const result = await $.Sandbox.push({
  // parameters
})

install

Install dependencies (npm, pip, cargo, etc.).

const result = await $.Sandbox.install({
  // parameters
})

run

Execute shell command in sandbox.

const result = await $.Sandbox.run({
  // parameters
})

read

Read file contents from sandbox filesystem.

const result = await $.Sandbox.read({
  // parameters
})

write

Write content to file in sandbox.

const result = await $.Sandbox.write({
  // parameters
})

logs

Retrieve execution logs from sandbox.

const result = await $.Sandbox.logs({
  // parameters
})

reset

Clear sandbox state and return to initial configuration.

const result = await $.Sandbox.reset({
  // parameters
})

Events

created

Triggered when a new sandbox is created.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.created(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.created({ /* data */ })

deleted

Triggered when sandbox is removed.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.deleted(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.deleted({ /* data */ })

executed

Triggered when code runs in sandbox.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.executed(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.executed({ /* data */ })

terminated

Triggered when sandbox execution is force stopped.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.terminated(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.terminated({ /* data */ })

Repository.cloned

Triggered when git repository is cloned into sandbox.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Repository.cloned(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Repository.cloned({ /* data */ })

Branch.checkedOut

Triggered when branch or commit is checked out.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Branch.checkedOut(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Branch.checkedOut({ /* data */ })

Changes.pulled

Triggered when changes are pulled from remote.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Changes.pulled(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Changes.pulled({ /* data */ })

Changes.committed

Triggered when changes are committed to git.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Changes.committed(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Changes.committed({ /* data */ })

Commits.pushed

Triggered when commits are pushed to remote.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Commits.pushed(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Commits.pushed({ /* data */ })

Packages.installed

Triggered when dependencies are installed.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Packages.installed(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Packages.installed({ /* data */ })

Command.executed

Triggered when shell command runs.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Command.executed(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Command.executed({ /* data */ })

File.read

Triggered when file is read from filesystem.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.File.read(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.File.read({ /* data */ })

File.written

Triggered when file is written to filesystem.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.File.written(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.File.written({ /* data */ })

reset

Triggered when sandbox state is cleared.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.reset(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.reset({ /* data */ })

Permission.violated

Triggered when code attempts unauthorized action.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Permission.violated(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Permission.violated({ /* data */ })

Limit.exceeded

Triggered when resource limit is reached.

import { on, send } from 'sdk.do'

// Subscribe to event
on.Sandbox.Limit.exceeded(async (data) => {
  console.log('Event received:', data)
})

// Emit event
await send.Sandbox.Limit.exceeded({ /* data */ })