Executar um comando no workspace
Um comando bash na raiz do projeto, em uma cópia de trabalho do rascunho no próprio contêiner do site: rg, grep, sed, find, cat, node. Uma compilação do projeto é recusada (400): workspace:commit envia os arquivos pelas mesmas verificações de qualquer alteração e inicia a compilação real, cujos erros são informados por getSiteBuild. Sem rede, por no máximo 300 s. Os arquivos alterados permanecem sem commit (listados em uncommitted) até workspace:commit. O workspace acompanha o rascunho: outra alteração mantém as suas edições sem commit.
POST/v1/sites/{site_id}/workspace:run
Requer sites:write. Não custa créditos. O caminho termina em /workspace:run.
O workspace é um shell em uma cópia de trabalho do rascunho do site, dentro do próprio contêiner do site e sem conexão com a internet. Use-o para tarefas que um shell executa bem: rg, grep, find, cat, sed -i, node e npx astro build para testar uma compilação em segundos. O comando é executado na raiz do projeto como um usuário sem privilégios, e não há acesso à rede.
As alterações feitas pelo comando permanecem sem commit. A resposta lista essas alterações em uncommitted, uma por linha, no estilo de git status (M src/pages/index.astro). Nada é adicionado ao histórico até você fazer commit do workspace, e os visitantes não veem nada até você publicar.
command pode ter no máximo 8000 caracteres. timeout_ms deve estar entre 1000 e 300000 e, por padrão, é 60000: se o comando ainda estiver em execução nesse momento, ele será interrompido e timed_out será true. Uma falha no comando não é um erro da API: a chamada é bem-sucedida e exit_code não é 0. output reúne stdout e stderr; acima de 8 KB, mantém o início e o fim, e truncated será true.
O workspace acompanha o rascunho. Se outra alteração tiver modificado o rascunho desde seu último comando, suas edições sem commit serão preservadas e note informará isso. O mesmo vale quando o workspace precisa ser recriado.
Um site que ainda está sendo criado responde com result_not_ready; um site suspenso ou em processo de exclusão responde com conflict.
Autorizações
Authorizationbearerin headerrequiredParâmetros de caminho
site_idstringrequiredO id do site ou seu slug (o endereço antes de .atelier201.page).
Corpo
application/jsonrequiredcommandstringrequiredlength: 1–8000 charsUm comando bash executado na raiz do projeto, em uma cópia de trabalho do rascunho: rg, grep, sed, find, cat, node... Sem rede. Os arquivos alterados permanecem sem commit até workspace:commit, que os compila e informa qualquer erro de compilação. A compilação do projeto é recusada aqui: levou 30 s e duplicou essa compilação.
timeout_msintegerrange: 1000–300000Padrão: 60000. O comando é interrompido ao ultrapassar esse limite.
Resposta
Execute um comando shell no workspace do site
dataobjectrequiredrequest_idstringrequiredCódigos possíveis: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: insufficient_scope, feature_not_available, admin_required
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: resource_not_found
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: conflict, result_not_ready, idempotency_key_reused
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: result_expired
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: request_too_large
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: request_too_large_for_plan
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: rate_limited
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: internal_error
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: service_unavailable
errorobjectrequiredrequest_idstringrequired