Skip to main content

Códigos de error

StatusCondiciónBody
400Validación de input falló{ "error": "Validation failed", "details": [...] }
401Auth requerido, token faltante o incorrecto{ "error": "Unauthorized" } + header WWW-Authenticate: Bearer
404Ruta no encontrada{ "error": "Not found", "availableRoutes": [...] }. En modo app(), availableRoutes lista las rutas de todos los tools.
405Método no permitido{ "error": "Method not allowed" }
500El handler lanzó un error{ "error": "Internal function error" }
504El handler excedió el timeout{ "error": "Function timed out" }
Los errores del handler se registran en los logs pero el mensaje real nunca se expone al cliente.

Formato de error de validación

Cuando un input no pasa la validación Zod, el response 400 incluye un array details con cada campo que falló:
{
  "error": "Validation failed",
  "details": [
    {
      "path": ["email"],
      "message": "Invalid email",
      "code": "invalid_string"
    },
    {
      "path": ["nombre"],
      "message": "String must contain at least 1 character(s)",
      "code": "too_small"
    }
  ]
}
CampoTipoDescripción
pathstring[]Ruta al campo con error, ej: ["direccion", "ciudad"]
messagestringMensaje legible del error
codestringCódigo de error de Zod (ej: invalid_string, too_small, invalid_enum_value)

Headers de seguridad

Tus respuestas incluyen automáticamente estos headers. No los puedes configurar por función.
HeaderValor
X-Content-Type-Optionsnosniff
X-Frame-OptionsDENY
Referrer-Policystrict-origin-when-cross-origin
Strict-Transport-Securitymax-age=63072000; includeSubDomains; preload
Permissions-Policycamera=(), microphone=(), geolocation=(), payment=()
Content-Security-Policydefault-src 'none'; frame-ancestors 'none'

Verificación de cron

Los triggers cron incluyen una firma criptográfica que el runtime verifica automáticamente. Esto previene invocaciones no autorizadas de tus handlers cron.

Límites de despliegue

LímiteValor
Archivos por despliegue20
Tamaño por archivo256 KB
Tamaño total del despliegue1 MB
Tipos de archivo permitidos.ts, .js, .json, .md, .txt
Entrypoint requeridoindex.ts

Límites de runtime

LímiteValor
Timeout por defecto30 segundos
Timeout máximo configurableSegún plan
Schedules cron por función10 (agregado entre todos los tools en modo app())

Extensiones permitidas

Solo se pueden desplegar archivos con estas extensiones:
ExtensiónUso típico
.tsCódigo TypeScript (handler, helpers)
.jsCódigo JavaScript
.jsonConfiguración (jelou.json, deno.json, datos)
.mdDocumentación
.txtArchivos de texto
Se excluyen automáticamente: node_modules/, .git/, .env, dist/, .jelou/ y archivos ocultos.