Ejecutar un comando en el espacio de trabajo
Un comando de bash en la raíz del proyecto, sobre una copia de trabajo del borrador dentro del propio contenedor del sitio: rg, grep, sed, find, cat, node. Se rechaza la compilación del proyecto (400): workspace:commit somete los archivos a las mismas comprobaciones que cualquier cambio e inicia la compilación real, cuyos errores comunica getSiteBuild. Sin acceso a la red, máximo 300 s. Los archivos que modifica quedan sin confirmar (se muestran en uncommitted) hasta ejecutar workspace:commit. El espacio de trabajo sigue el borrador: cualquier otro cambio conserva tus ediciones sin confirmar.
POST/v1/sites/{site_id}/workspace:run
Requiere sites:write. No consume créditos. La ruta termina en /workspace:run.
El espacio de trabajo es un shell en una copia de trabajo del borrador del sitio, dentro del contenedor propio del sitio y sin conexión. Úsalo para las tareas en las que un shell funciona bien: rg, grep, find, cat, sed -i, node y npx astro build para probar una compilación en segundos. El comando se ejecuta en la raíz del proyecto como usuario sin privilegios, y no hay conexión de red.
Los cambios que realiza el comando quedan sin confirmar. La respuesta enumera esos cambios en uncommitted, uno por línea, con el formato de git status (M src/pages/index.astro). No se incorporan al historial hasta que confirmes los cambios del espacio de trabajo, y los visitantes no verán nada hasta que publiques.
command puede tener un máximo de 8000 caracteres. timeout_ms debe estar entre 1000 y 300000, y su valor predeterminado es 60000: si el comando sigue ejecutándose al llegar a ese límite, se detiene y timed_out es true. Si un comando falla, no se considera un error de API: la llamada se completa correctamente y exit_code no es 0. output contiene stdout y stderr juntos; si supera los 8 KB, conserva el principio y el final, y truncated es true.
El espacio de trabajo sigue al borrador. Si otro cambio ha modificado el borrador desde tu último comando, se conservan tus cambios sin confirmar y note lo indica. Ocurre lo mismo si ha sido necesario reconstruir el espacio de trabajo.
Un sitio que todavía se está creando responde con result_not_ready; un sitio suspendido o en proceso de eliminación responde con conflict.
Autorizaciones
Authorizationbearerin headerrequiredParámetros de ruta
site_idstringrequiredEl ID del sitio o su slug (la dirección antes de .atelier201.page).
Cuerpo
application/jsonrequiredcommandstringrequiredlength: 1–8000 charsUn comando de bash, ejecutado en la raíz del proyecto sobre una copia de trabajo del borrador: rg, grep, sed, find, cat, node... Sin acceso a la red. Los archivos que modifica quedan sin confirmar hasta ejecutar workspace:commit, que los compila y comunica cualquier error de compilación. Aquí se rechaza la compilación del proyecto: tardaba 30 s y duplicaba esa compilación.
timeout_msintegerrange: 1000–300000Valor predeterminado: 60000. El comando se detiene al superar este límite.
Respuesta
Ejecuta un comando de shell en el espacio de trabajo del sitio
dataobjectrequiredrequest_idstringrequiredCódigos posibles: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCódigos posibles: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCódigos posibles: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCódigos posibles: insufficient_scope, feature_not_available, admin_required
errorobjectrequiredrequest_idstringrequiredCódigos posibles: resource_not_found
errorobjectrequiredrequest_idstringrequiredCódigos posibles: conflict, result_not_ready, idempotency_key_reused
errorobjectrequiredrequest_idstringrequiredCódigos posibles: result_expired
errorobjectrequiredrequest_idstringrequiredCódigos posibles: request_too_large
errorobjectrequiredrequest_idstringrequiredCódigos posibles: request_too_large_for_plan
errorobjectrequiredrequest_idstringrequiredCódigos posibles: rate_limited
errorobjectrequiredrequest_idstringrequiredCódigos posibles: internal_error
errorobjectrequiredrequest_idstringrequiredCódigos posibles: service_unavailable
errorobjectrequiredrequest_idstringrequired