Deployment
Daytona
Reproducible dev environments as agent sandboxes.
Use a Daytona workspace as a remote SandboxEnv while the Fabric Harness runtime runs in your Node deployment.
Install
npm install @fabric-harness/connectors @daytona/sdkConnect a sandbox
import { Daytona } from '@daytona/sdk';
import { daytonaSandbox } from '@fabric-harness/connectors';
import { init } from '@fabric-harness/sdk';
const daytona = new Daytona({ apiKey: process.env.DAYTONA_API_KEY });
const remote = await daytona.create({ image: 'ubuntu:latest' });
const fabric = await init({
sandbox: daytonaSandbox(remote, { cleanup: true }),
});
const session = await fabric.session();
const result = await session.prompt('Inspect the repository and run its test suite.');Use daytonaSandboxFactory() when each session should create and own a separate workspace.
The adapter supports @daytona/sdk >=0.195.0 <1. It converts Fabric's millisecond timeout to Daytona's seconds-based process timeout and exposes remote.id as a portable workspace reference.
registerStandardSandboxRefDecoders({
daytona: { connect: ({ workspaceId }) => daytona.get(workspaceId) },
});Use assertSandboxCertification() to verify binary files, cwd/env, output callbacks, timeout, abort, reconnect, and deletion with the target account.
Environment variables
DAYTONA_API_KEY— Daytona API key (read lazily at runtime)