Skip to main content

Commands

Module for starting and interacting with commands in the sandbox.

Constructors

Parameters
Returns
Commands

Methods

connect()

Connect to a running command. You can use CommandHandle.wait to wait for the command to finish and get execution results.
Parameters
Returns
Promise<CommandHandle> CommandHandle handle to interact with the running command.

kill()

Kill a running command specified by its process ID. It uses SIGKILL signal to kill the command.
Parameters
Returns
Promise<boolean> true if the command was killed, false if the command was not found.

list()

List all running commands and PTY sessions.
Parameters
Returns
Promise<ProcessInfo[]> list of running commands and PTY sessions.

run()

run(cmd, opts)
Start a new command and wait until it finishes executing.
Parameters
Returns
Promise<CommandResult> CommandResult result of the command execution.
run(cmd, opts)
Start a new command in the background. You can use CommandHandle.wait to wait for the command to finish and get its result.
Parameters
Returns
Promise<CommandHandle> CommandHandle handle to interact with the running command.
run(cmd, opts)
Start a new command.
Parameters
Returns
Promise<CommandResult | CommandHandle> Either a CommandHandle or a CommandResult (depending on opts.background).

sendStdin()

Send data to command stdin.
Parameters
Returns
Promise<void>

Pty

Module for interacting with PTYs (pseudo-terminals) in the sandbox.

Constructors

Parameters
Returns
Pty

Methods

create()

Create a new PTY (pseudo-terminal).
Parameters
Returns
Promise<CommandHandle> handle to interact with the PTY.

kill()

Kill a running PTY specified by process ID. It uses SIGKILL signal to kill the PTY.
Parameters
Returns
Promise<boolean> true if the PTY was killed, false if the PTY was not found.

resize()

Resize PTY. Call this when the terminal window is resized and the number of columns and rows has changed.
Parameters
Returns
Promise<void>

sendInput()

Send input to a PTY.
Parameters
Returns
Promise<void>

Interfaces

CommandRequestOpts

Options for sending a command request.

Extended by

  • CommandStartOpts

Properties

requestTimeoutMs?

Timeout for requests to the API in milliseconds.
Default

CommandStartOpts

Options for starting a new command.

Properties

background?

If true, starts command in the background and the method returns immediately. You can use CommandHandle.wait to wait for the command to finish.

cwd?

Working directory for the command.
Default

envs?

Environment variables used for the command. This overrides the default environment variables from Sandbox constructor.
Default
{}

onStderr()?

Callback for command stderr output.
Parameters
Returns
void | Promise<void>

onStdout()?

Callback for command stdout output.
Parameters
Returns
void | Promise<void>

requestTimeoutMs?

Timeout for requests to the API in milliseconds.
Default

stdin?

If true, command stdin is kept open and you can send data to it using Commands.sendStdin or CommandHandle.sendStdin.
Default

timeoutMs?

Timeout for the command in milliseconds.
Default

user?

User to run the command as.
Default
user

ProcessInfo

Information about a command, PTY session or start command running in the sandbox as process.

Properties

args

Command arguments.

cmd

Command that was executed.

cwd?

Executed command working directory.

envs

Environment variables used for the command.

pid

Process ID.

tag?

Custom tag used for identifying special commands like start command in the custom template.

Type Aliases

CommandConnectOpts

Options for connecting to a command.