- Add README documentation for all 11 sprites packages - Fix blocks.yml to be compatible with blocks CLI validator - Add project wrapper and type fields to blocks.yml - Bump sprites packages to v0.1.2 |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
@tpmjs/sprites-exec
Execute a command inside a sprite and return the output.
Installation
npm install @tpmjs/sprites-exec
Requirements
SPRITES_TOKENenvironment variable - Get your token from https://sprites.dev
Usage
import { spritesExecTool } from '@tpmjs/sprites-exec';
// Run a simple command
const result = await spritesExecTool.execute({
name: 'my-sandbox',
cmd: 'ls -la /home'
});
console.log(result);
// {
// exitCode: 0,
// stdout: 'total 4\ndrwxr-xr-x 2 root root 4096 Jan 15 10:30 .\n...',
// stderr: '',
// duration: 45
// }
// Run with stdin input
const pythonResult = await spritesExecTool.execute({
name: 'my-sandbox',
cmd: 'python3',
stdin: 'print("Hello from stdin!")'
});
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | Name of the sprite to execute command in |
cmd |
string |
Yes | Command to execute (e.g., 'ls -la', 'python script.py') |
stdin |
string |
No | Optional stdin input to pass to the command |
timeoutMs |
number |
No | Execution timeout in milliseconds (default: 60000) |
Output
| Field | Type | Description |
|---|---|---|
exitCode |
number |
Command exit code (0 = success) |
stdout |
string |
Standard output from the command |
stderr |
string |
Standard error from the command |
duration |
number |
Execution duration in milliseconds |
Error Handling
The tool throws errors in these cases:
SPRITES_TOKENenvironment variable is not set- Sprite not found (HTTP 404)
- Command execution timeout
- Invalid or expired API token (HTTP 401)
- Network errors with descriptive messages
License
MIT