novita-sandbox-pre
v0.0.1-b4
Published
Novita Sandbox SDK for JavaScript/TypeScript - A comprehensive SDK for code execution, desktop automation, and cloud computing environments
Maintainers
Readme
Novita Agent Sandbox JS SDK
A TypeScript/JavaScript SDK for Novita Agent Sandbox environments that provides code execution, desktop automation, and cloud computing capabilities. Compatible with e2b.
Table of Contents
Installation
npm install novita-sandboxFeatures
- Code Interpreter: Execute Python, JavaScript, and other languages in isolated environments
- Desktop Automation: Control desktop applications and GUI interactions
- Cloud Computing: Scalable sandbox environments for various computing tasks
- Data Visualization: Built-in charting and visualization capabilities
- File System Operations: Complete file system management and monitoring
Authentication
Get your Novita API key from here.
Usage
Core Sandbox
The basic package provides core functionality for interacting with sandbox environments.
import { Sandbox } from 'novita-sandbox';
// Using the official template `base` by default.
const sandbox = await Sandbox.create(
"base",
{
apiKey: process.env.NOVITA_API_KEY || '',
},
);
// File operations
await sandbox.files.write('/tmp/test.txt', 'Hello, World!');
const content = await sandbox.files.read('/tmp/test.txt');
// Command execution
const result = await sandbox.commands.run('ls -la /tmp');
console.log(result.stdout);
// Real-time monitoring
sandbox.files.watchDir('/tmp', (event) => {
console.log(`File ${event.name} was ${event.type}`);
});Code Interpreter
The Code Interpreter sandbox provides a Jupyter-like environment for executing code using the official code-interpreter-v1 template.
import { Sandbox } from 'novita-sandbox/code-interpreter';
const sandbox = await Sandbox.create({
apiKey: process.env.NOVITA_API_KEY || '',
});
// Execute Python code
const result = await sandbox.runCode('print("Hello, World!")');
console.log(result.logs);Desktop Automation
The Desktop sandbox allows you to control desktop environments programmatically using the official desktop template.
import { Sandbox } from 'novita-sandbox/desktop';
const desktop = await Sandbox.create({
apiKey: process.env.NOVITA_API_KEY || ''
});
// Take a screenshot
const screenshot = await desktop.screenshot();
// Automate mouse and keyboard
await desktop.leftClick(100, 200);
await desktop.press('Enter');
await desktop.write('Hello, World!');Documentation
For comprehensive guides and API reference, visit the official documentation.
