diff --git a/src/content/docs/docs/providers/blaxel.md b/src/content/docs/docs/providers/blaxel.md index 40b49ae..e046b99 100644 --- a/src/content/docs/docs/providers/blaxel.md +++ b/src/content/docs/docs/providers/blaxel.md @@ -53,8 +53,6 @@ interface BlaxelConfig { region?: string; /** Default memory allocation in MB (default: 4096) */ memory?: number; - /** Default ports for sandbox (default: [3000]) */ - ports?: number[]; } ``` diff --git a/src/content/docs/docs/providers/codesandbox.md b/src/content/docs/docs/providers/codesandbox.md new file mode 100644 index 0000000..863106f --- /dev/null +++ b/src/content/docs/docs/providers/codesandbox.md @@ -0,0 +1,81 @@ +--- +title: "Codesandbox" +description: "" +sidebar: + order: 2 +--- + +Codesandbox provider for ComputeSDK - Execute code in Codesandbox development environments. + +## Installation & Setup + +```bash +npm install computesdk + +# add to .env file +COMPUTESDK_API_KEY=your_computesdk_api_key + +CSB_API_KEY=your_codesandbox_api_key +``` + + +## Usage + +### With ComputeSDK + +```typescript +import { compute } from 'computesdk'; +// auto-detects provider from environment variables + +// Create sandbox +const sandbox = await compute.sandbox.create(); + +// Execute code +const result = await sandbox.runCode('print("Hello from Codesandbox!")'); +console.log(result.stdout); // "Hello from Codesandbox!" + +// Clean up +await compute.sandbox.destroy(sandbox.sandboxId); +``` + +### Configuration Options + +```typescript +interface CodesandboxConfig { + /** CodeSandbox API key - if not provided, will fallback to CSB_API_KEY environment variable */ + apiKey?: string; + /** Template to use for new sandboxes */ + templateId?: string; + /** Execution timeout in milliseconds */ + timeout?: number; +} +``` + + +## Explicit Provider Configuration +If you prefer to set the provider explicitly, you can do so as follows: +```typescript +import { compute } from 'computesdk'; + +compute.setConfig({ + computesdkApiKey: process.env.COMPUTESDK_API_KEY, + provider: 'codesandbox', + codesandbox: { + apiKey: process.env.CSB_API_KEY + } +}); + +const sandbox = await compute.sandbox.create(); +``` + +## Runtime Detection + +The provider automatically detects the runtime based on code patterns: + +**Python indicators:** +- `print` statements +- `import` statements +- `def` function definitions +- Python-specific syntax (`f"`, `__`, etc.) + +**Default:** Node.js for all other cases \ No newline at end of file diff --git a/src/content/docs/docs/providers/daytona.md b/src/content/docs/docs/providers/daytona.md index 48b4e33..0e0c5d0 100644 --- a/src/content/docs/docs/providers/daytona.md +++ b/src/content/docs/docs/providers/daytona.md @@ -2,7 +2,7 @@ title: "Daytona" description: "" sidebar: - order: 2 + order: 3 --- Daytona provider for ComputeSDK - Execute code in Daytona development workspaces. diff --git a/src/content/docs/docs/providers/e2b.md b/src/content/docs/docs/providers/e2b.md index 3b71952..4307592 100644 --- a/src/content/docs/docs/providers/e2b.md +++ b/src/content/docs/docs/providers/e2b.md @@ -2,7 +2,7 @@ title: "E2B" description: "" sidebar: - order: 3 + order: 4 --- E2B provider for ComputeSDK diff --git a/src/content/docs/docs/providers/modal.md b/src/content/docs/docs/providers/modal.md index 5715d66..750242b 100644 --- a/src/content/docs/docs/providers/modal.md +++ b/src/content/docs/docs/providers/modal.md @@ -2,7 +2,7 @@ title: "Modal" description: "" sidebar: - order: 4 + order: 5 --- Modal provider for ComputeSDK - Execute code with GPU support for machine learning workloads. diff --git a/src/content/docs/docs/providers/namespace.md b/src/content/docs/docs/providers/namespace.md index 3b518c0..d8b9a44 100644 --- a/src/content/docs/docs/providers/namespace.md +++ b/src/content/docs/docs/providers/namespace.md @@ -2,7 +2,7 @@ title: "Namespace" description: "" sidebar: - order: 5 + order: 6 --- ## Deploy sandboxes on Namespace with ComputeSDK diff --git a/src/content/docs/docs/providers/railway.md b/src/content/docs/docs/providers/railway.md index 4ccfe1d..befc39e 100644 --- a/src/content/docs/docs/providers/railway.md +++ b/src/content/docs/docs/providers/railway.md @@ -2,7 +2,7 @@ title: "Railway" description: "" sidebar: - order: 6 + order: 7 --- ## Deploy sandboxes on Railway with ComputeSDK diff --git a/src/content/docs/docs/providers/render.md b/src/content/docs/docs/providers/render.md index 1d04791..5e170fa 100644 --- a/src/content/docs/docs/providers/render.md +++ b/src/content/docs/docs/providers/render.md @@ -2,7 +2,7 @@ title: "Render" description: "" sidebar: - order: 7 + order: 8 --- ## Deploy sandboxes on Render with ComputeSDK diff --git a/src/content/docs/docs/providers/vercel.md b/src/content/docs/docs/providers/vercel.md index b48baf8..683d247 100644 --- a/src/content/docs/docs/providers/vercel.md +++ b/src/content/docs/docs/providers/vercel.md @@ -2,7 +2,7 @@ title: "Vercel" description: "" sidebar: - order: 8 + order: 9 --- Vercel provider for ComputeSDK - Execute code in globally distributed serverless environments.