Compute

Learn how to create and manage compute instances for executing code securely.

The Compute class is the core of ComputeSDK, providing a secure environment for code execution and process management.

Creating a Compute Instance

Use the ComputeClient to create a new compute instance:

import { ComputeClient } from 'computesdk';

const computeClient = new ComputeClient();
const compute = await computeClient.create();

Event Handling

The compute instance emits various events that you can listen to:

// Connection events
compute.onConnected((port, status, url) => {
  console.log(`Connected to compute instance at ${url}`);
});

// Error handling
compute.onError((error) => {
  console.error('Compute error:', error);
});

// Port events
compute.onPortOpened((port, url) => {
  console.log(`Port ${port} opened at ${url}`);
});

// Server events
compute.onServerReady((port, url) => {
  console.log(`Server ready on port ${port} at ${url}`);
});

Cleanup

Always clean up compute instances when they’re no longer needed:

await compute.teardown();

This will:

  • Close any open WebSocket connections
  • Delete the compute instance
  • Remove event listeners