Skip to content

shelv-dev/shelv-adapters

@shelv/adapters

Provider-native adapters for hydrating Shelv shelves into sandbox runtimes and creating snapshots.

Links

Install

pnpm add @shelv/adapters
bun add @shelv/adapters
npm install @shelv/adapters

Runtime support

  • Official runtime support: Node.js 18+
  • ESM package
  • Bun is supported as a package manager for installation; Bun runtime compatibility is best-effort in v1

Optional peer dependencies

Install only the provider SDKs you use:

pnpm add @vercel/sandbox
pnpm add @daytonaio/sdk
pnpm add e2b
pnpm add @codesandbox/sdk
pnpm add @deno/sandbox

Quickstart

import { createShelvClient, createVercelAdapter } from "@shelv/adapters";

const client = createShelvClient({
  apiKey: process.env.SHELV_API_KEY!,
});

const adapter = createVercelAdapter();
await adapter.hydrate({
  client,
  sandbox,
  shelfPublicId,
  mode: "archive-first",
});

const snapshot = await adapter.snapshot({
  sandbox,
  name: `shelf-${shelfPublicId}`,
});

console.log(snapshot.snapshotId);

API surface

  • createShelvClient(config)
  • resolveShelfSource(input)
  • createVercelAdapter()
  • createDaytonaAdapter()
  • createE2BAdapter()
  • createCodeSandboxAdapter()
  • createDenoAdapter()

createShelvClient defaults to https://api.shelv.dev. Set apiBaseUrl only for staging/self-hosted overrides.

License

Apache-2.0.

About

Provider-native adapters for hydrating Shelv shelves into sandbox runtimes.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors