FabricFabricHarness
EcosystemSandboxes

Daytona

Run Fabric sessions in a Daytona-managed development sandbox.

pnpm add @fabric-harness/connectors @daytona/sdk
fh add daytona
import { Daytona } from '@daytona/sdk';
import { daytonaSandbox } from '@fabric-harness/connectors';

const client = new Daytona({ apiKey: process.env.DAYTONA_API_KEY });
const remote = await client.create({ image: 'node:22' });

const job = await init({
  sandbox: daytonaSandbox(remote, { cleanup: true }),
});

The adapter maps Daytona files, commands, suspend/resume, and optional cleanup to SandboxEnv. Credentials remain on the Daytona client and are not serialized into session history. Use an encodeRef only when another process has a registered decoder capable of reconnecting to the remote sandbox.

See examples/with-daytona for the runnable adapter shape.