{"_id":"@douglas-agent/sandbank-cloud","name":"@douglas-agent/sandbank-cloud","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@douglas-agent/sandbank-cloud","version":"0.2.0","description":"Sandbank Cloud adapter with x402 payment support","license":"MIT","type":"module","homepage":"https://sandbank.dev/cloud","repository":{"type":"git","url":"git+https://github.com/Xeonice/sandbank-douglas-agent.git","directory":"packages/cloud"},"keywords":["sandbox","ai-agent","sandbank-cloud","bare-metal","kvm","x402","usdc"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"dependencies":{"@douglas-agent/sandbank-core":"^0.3.6","@x402/core":"^2.6.0","@x402/evm":"^2.6.0","viem":"^2.0.0"},"devDependencies":{"@types/node":"^25.3.0","typescript":"^5.7.3"},"gitHead":"0589f4137bb7d4e3bafb0f4dd1ef45e50253cd45","_id":"@douglas-agent/sandbank-cloud@0.2.0","bugs":{"url":"https://github.com/Xeonice/sandbank-douglas-agent/issues"},"_nodeVersion":"24.15.0","_npmVersion":"11.14.1","dist":{"integrity":"sha512-PW7q7egkPScA16orzizbE3tvLd3/79yWa3aPUbITQEr/HeIsoJCAxoMbrkOj/QU1RLLQK7yYmSFSI7R49a16Iw==","shasum":"384c4a362cb65bf0c1c621f7d2e22a6d598e7d18","tarball":"https://registry.npmjs.org/@douglas-agent/sandbank-cloud/-/sandbank-cloud-0.2.0.tgz","fileCount":14,"unpackedSize":19405,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@douglas-agent%2fsandbank-cloud@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDpv2UskmgAAJdMdAHio4xmbo6fta9zA+7oGoJK4VSN5gIhALvuTV939L2SIuFu0EVT+RWoOdyDfBM9IuIOFqoNbMM+"}]},"_npmUser":{"name":"douglasdong","email":"ad546971975@gmail.com"},"directories":{},"maintainers":[{"name":"douglasdong","email":"ad546971975@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sandbank-cloud_0.2.0_1779268711822_0.2753549352328981"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T09:18:31.649Z","0.2.0":"2026-05-20T09:18:31.970Z","modified":"2026-05-20T09:18:32.401Z"},"maintainers":[{"name":"douglasdong","email":"ad546971975@gmail.com"}],"description":"Sandbank Cloud adapter with x402 payment support","homepage":"https://sandbank.dev/cloud","keywords":["sandbox","ai-agent","sandbank-cloud","bare-metal","kvm","x402","usdc"],"repository":{"type":"git","url":"git+https://github.com/Xeonice/sandbank-douglas-agent.git","directory":"packages/cloud"},"bugs":{"url":"https://github.com/Xeonice/sandbank-douglas-agent/issues"},"license":"MIT","readme":"# @douglas-agent/sandbank-cloud\n\n> Sandbank Cloud adapter for [Sandbank](../../README.md) with built-in x402 payment support.\n\nConnect to [Sandbank Cloud](https://sandbank.dev/cloud) — managed bare-metal KVM sandboxes with sub-second start times. Pay per sandbox with USDC via the x402 payment protocol, or use an API token for authenticated access.\n\n## Install\n\n```bash\npnpm add @douglas-agent/sandbank-core @douglas-agent/sandbank-cloud\n```\n\n## Usage\n\n### x402 Payment (pay-per-use)\n\n```typescript\nimport { createProvider } from '@douglas-agent/sandbank-core'\nimport { SandbankCloudAdapter } from '@douglas-agent/sandbank-cloud'\n\nconst provider = createProvider(\n  new SandbankCloudAdapter({\n    walletPrivateKey: process.env.WALLET_PRIVATE_KEY,\n  })\n)\n\nconst sandbox = await provider.create({\n  image: 'codebox',\n  resources: { cpu: 2, memory: 1024 },\n  ports: [[0, 7681], [0, 8080]],\n})\n\nconst { stdout } = await sandbox.exec('node -e \"console.log(42)\"')\nconsole.log(stdout) // 42\n\nawait provider.destroy(sandbox.id)\n```\n\n### API Token (authenticated access)\n\n```typescript\nconst provider = createProvider(\n  new SandbankCloudAdapter({\n    apiToken: process.env.SANDBANK_API_TOKEN,\n  })\n)\n```\n\n## Configuration\n\n| Option | Description |\n|--------|-------------|\n| `url` | Sandbank Cloud API URL (default: `https://cloud.sandbank.dev`) |\n| `walletPrivateKey` | EVM wallet private key (hex, `0x` prefix) for x402 USDC payments |\n| `apiToken` | Bearer token for authenticated (internal) access — bypasses x402 |\n\n## Capabilities\n\n| Capability | Supported |\n|------------|:---------:|\n| `exec.stream` | ✅ |\n| `port.expose` | ✅ |\n\n## How x402 Payment Works\n\n1. `POST /v1/boxes` returns HTTP 402 with payment requirements\n2. The adapter signs a USDC payment on Base (eip155:8453) using your wallet\n3. The request is retried with the payment signature header\n4. The sandbox is created — $0.02 per sandbox (includes 10 min)\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-85de95eb52d1af19d18a4ad6f24b4112"}