Conectar a um serviço de workspace configurado

Conecte-se ao serviço de workspace configurado, inspecione experimentos e arquivos retidos e aplique uma substituição revisada em um único arquivo, com recuperação de conflitos.

Use o Altifigence CLI 0.1.9 no Linux para trabalhar com um serviço de workspace existente do Digital Design Studio. Seu operador fornece a origem do serviço, o acesso ao workspace e os recursos habilitados. As solicitações são direcionadas aos arquivos e experimentos do workspace desse serviço.

Exija o status de saída 0 antes de ler um resultado salvo. Mantenha a saída de erro padrão separada e inspecione os campos do resultado descritos abaixo.

Configurar a conexão

Defina ALTI_STUDIO_ENDPOINT como a origem fornecida pelo operador. Serviços remotos usam HTTPS; serviços em IP de loopback podem usar HTTP. Forneça uma origem com caminho vazio e configure o ALTI_STUDIO_SERVICE_SECRET fornecido pelo operador quando a autenticação estiver habilitada. A CLI envia esse valor como x-service-secret. Cada comando também pode selecionar sua origem com --endpoint.

Inspecionar experimentos e arquivos retidos

Com a conexão configurada, liste até cinco experimentos. Um workspace vazio retorna o comprovante ilustrativo abaixo; HTTP 200 termina com código 0.

alti --json ide service evolve list --limit 5
{"schema":"altifigence.dds.service-receipt.v1","operation":"evolve.list","ok":true,"httpStatus":200,"body":{"runs":[]}}

Para um resultado retido, use o caminho exato dele no workspace do serviço. Substitua o caminho deste exemplo por um arquivo existente no workspace ao qual você tem acesso autorizado. O corpo da resposta preserva os campos do arquivo do proprietário, incluindo content.

alti --json ide service evolve read-file evolve/adder/results/report.md

Pesquisar e substituir em um arquivo revisado

A pesquisa de texto no workspace exige um serviço Linux. Pesquise no mesmo serviço que será usado para a substituição e revise o arquivo correspondente, as localizações e os metadados de cobertura. Cada correspondência contém um contentHash. A CLI preserva truncated e replaceScopeComplete para que você possa avaliar o escopo retornado.

alti --json ide service workspace search --query old_signal --match-case --whole-word

Salve o conteúdo a seguir como replace.json, substituindo o hash ilustrativo de 64 caracteres pelo contentHash real da correspondência selecionada em rtl/top.sv. Mantenha a consulta e as opções consistentes com sua revisão. A solicitação tem como alvo um único arquivo; omitir match aplica a substituição às ocorrências correspondentes nele. O hash esperado vincula a atualização à versão do arquivo que você revisou.

{
  "query": "old_signal",
  "replacement": "new_signal",
  "options": {
    "matchCase": true,
    "wholeWord": true
  },
  "paths": [
    "rtl/top.sv"
  ],
  "expectedHashes": {
    "rtl/top.sv": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  }
}
alti --json ide service workspace replace --request replace.json

Recuperar de conflitos e erros de configuração

Se o arquivo tiver sido alterado, o comprovante de conflito ilustrativo abaixo exemplifica o retorno. HTTP 409 termina com código 1. Execute a pesquisa novamente no mesmo serviço, revise as correspondências atuais e a versão do arquivo e atualize expectedHashes com o novo contentHash antes de enviar outra substituição.

{"schema":"altifigence.dds.service-receipt.v1","operation":"workspace.replace","ok":false,"httpStatus":409,"body":{"ok":false,"code":"search_replace_conflict","conflicts":[{"path":"rtl/top.sv","expectedHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","actualHash":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"}],"replacements":0,"files":[]}}

STUDIO_ENDPOINT_REQUIRED com httpStatus: null termina com código 2: configure a origem do operador e execute novamente. Para HTTP 401, obtenha do operador o segredo de serviço correspondente. Um tempo limite após a substituição exige inspecionar o arquivo atual e pesquisar novamente antes de decidir por outra atualização.