Easybits Team
4 min de lectura
eve
If you updated eve this week and your project stopped compiling with something like Module '"eve/sandbox"' has no exported member 'SandboxBackend', it isn't your code: eve 0.64 (September 22) changed how sandboxes are declared. A sandbox used to be an object with a backend; now it's a provider that exposes an environment, and every session opens it with environment.open().
@easybits.cloud/eve-sandbox speaks the new contract as of version 0.2. The migration is one file.
The export const environment isn't optional: eve build looks for it to prepare the template before any session exists. Without it there is nothing to prepare.
| eve ≤ 0.63 | eve ≥ 0.64 | On EasyBits |
|---|---|---|
bootstrap({ use }) | prepare(sandbox) in environment() | Runs once in a temporary box and is saved as a template |
prewarm on the first eve start | preparation in eve build (in eve dev, on first access) | 9.7 s the first time, 0.3 s reused |
the backend's create() | environment.open() → start() | The box is born from the template in ~5 s |
| reattach by metadata | resume() | Wakes the same box in ~1 s. If it no longer exists, it fails and eve opens a new session |
setNetworkPolicy after creating | open({ networkPolicy }), or live with setNetworkPolicy | Same shape as Vercel: allow-all, deny-all or a domain list |
The change in resume() is about behavior, not syntax: the new contract asks to reconnect what exists, not to silently rebuild it. If a box was lost, eve reruns your defineSandbox() and the session starts clean from the template instead of pretending nothing happened. If you prefer the old behavior, EasybitsSandbox.environment({ recreateOnLoss: true }).
spacexai/grok-4.7 through Vercel's AI Gateway, which outside Vercel needs AI_GATEWAY_API_KEY. eve ships direct helpers with nothing to install: import { anthropic } from "eve/models/anthropic" and model: anthropic(), which reads ANTHROPIC_API_KEY.eve start answers 401 locally, even from localhost. To try it on your machine, use eve dev --no-ui.eve-nitro box: it now ships the eve 0.65 CLI and pnpm, so eve init uses pnpm; install with pnpm add … --allow-build=cbor-extract. For durable state, @easybits.cloud/eve-world 0.1.2 matches the Workflow SDK version eve 0.65 ships.Pin the three versions together and everything stays as it was:
With a brand-new free account we followed the whole path: eve init on 0.65, the agent/sandbox.ts above, eve build and eve dev. On the first message the agent ran cowsay, installed in prepare, inside its own microVM.
With the server hosted on eve-nitro and eve-world, we destroyed the server box mid-conversation and brought up another one with the same database: it was ready in 21 seconds, and the same session continued with its memory and went back to its same box.
The full tutorial, with the free route and the hosted one, is at Run your eve agents in microVMs. The product page is at /eve, the reference at /docs/eve.md, and your coding agent can do the migration for you with npx skills add https://www.easybits.cloud --skill easybits-eve.