Equipo Easybits
4 min de lectura
eve
Si actualizaste eve esta semana y tu proyecto dejó de compilar con algo como Module '"eve/sandbox"' has no exported member 'SandboxBackend', no es tu código: eve 0.64 (22 de septiembre) cambió la forma de declarar sandboxes. Antes un sandbox era un objeto con un backend; ahora es un provider que expone un environment y cada sesión lo abre con environment.open().
@easybits.cloud/eve-sandbox ya habla el contrato nuevo desde la versión 0.2. La migración es un archivo.
El export const environment no es opcional: eve build lo busca para preparar la plantilla antes de que exista cualquier sesión. Sin él, no hay nada que preparar.
| eve ≤ 0.63 | eve ≥ 0.64 | En EasyBits |
|---|---|---|
bootstrap({ use }) | prepare(sandbox) en environment() | Corre una vez en una caja temporal y se guarda como plantilla |
prewarm en el primer eve start | preparación en eve build (en eve dev, al primer acceso) | 9.7 s la primera vez, 0.3 s reusada |
create() del backend | environment.open() → start() | La caja nace de la plantilla en ~5 s |
| reattach por metadata | resume() | Despierta la misma caja en ~1 s. Si ya no existe, falla y eve abre una sesión nueva |
setNetworkPolicy después de crear | open({ networkPolicy }), o en caliente con setNetworkPolicy | Mismo shape que Vercel: allow-all, deny-all o lista de dominios |
El cambio en resume() es de fondo, no de sintaxis: el contrato nuevo pide reconectar lo que existe, no reconstruirlo en silencio. Si una caja se perdió, eve vuelve a correr tu defineSandbox() y la sesión arranca limpia desde la plantilla, en vez de fingir que nada pasó. Si prefieres el comportamiento anterior, EasybitsSandbox.environment({ recreateOnLoss: true }).
spacexai/grok-4.7 vía AI Gateway de Vercel, que fuera de Vercel pide AI_GATEWAY_API_KEY. eve ya trae helpers directos sin instalar nada: import { anthropic } from "eve/models/anthropic" y model: anthropic(), que lee ANTHROPIC_API_KEY.eve start en local responde 401, incluso desde localhost. Para probar en tu máquina, eve dev --no-ui.eve-nitro: ya trae el CLI de eve 0.65 y pnpm, así que eve init usa pnpm; instala con pnpm add … --allow-build=cbor-extract. Para el estado durable, @easybits.cloud/eve-world 0.1.2 va con la versión del Workflow SDK que trae eve 0.65.Fija las tres versiones juntas y todo sigue como estaba:
Con una cuenta gratuita recién creada seguimos el camino completo: eve init con 0.65, el agent/sandbox.ts de arriba, eve build y eve dev. En el primer mensaje el agente corrió cowsay, instalado en el prepare, dentro de su propia microVM.
Con el servidor hospedado en eve-nitro y eve-world, destruimos la caja del servidor a media conversación y levantamos otra con la misma base: quedó lista en 21 segundos, y la misma sesión siguió con su memoria y volvió a su misma caja.
El tutorial completo, con la ruta gratis y la hospedada, está en Corre tus agentes eve en microVMs. La página del producto está en /eve, la referencia en /docs/eve.md, y tu agente de código puede hacer la migración por ti con npx skills add https://www.easybits.cloud --skill easybits-eve.