septiembre de 2026 (hace 1 día)

eve 0.64 cambió los sandboxes: cómo migrar tu agente (y seguir en EasyBits)

E

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.

Antes y después

ts
ts
bash

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.

Qué pasó con cada pieza

eve ≤ 0.63eve ≥ 0.64En EasyBits
bootstrap({ use })prepare(sandbox) en environment()Corre una vez en una caja temporal y se guarda como plantilla
prewarm en el primer eve startpreparación en eve build (en eve dev, al primer acceso)9.7 s la primera vez, 0.3 s reusada
create() del backendenvironment.open()start()La caja nace de la plantilla en ~5 s
reattach por metadataresume()Despierta la misma caja en ~1 s. Si ya no existe, falla y eve abre una sesión nueva
setNetworkPolicy después de crearopen({ networkPolicy }), o en caliente con setNetworkPolicyMismo 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 }).

Tres detalles más que vas a notar con eve 0.65

  • El modelo por default del scaffold es 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.
  • Si hospedas el servidor en una caja 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.

Si no quieres migrar hoy

Fija las tres versiones juntas y todo sigue como estaba:

bash

Lo probamos antes de publicarlo

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.

Siguiente paso

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.

Suscríbete a nuestro newsletter creando una cuenta

Recibe un resumen mensual de las mejores consejos de marketing y business para creadores, o de las actualizaciones de EasyBits.

Suscríbete  para recibir consejos  de marketing   y negocios   para creadores

Síguenos