구성된 워크스페이스 서비스에 연결하기

구성된 워크스페이스 서비스에 연결하고 실험과 보관된 파일을 확인한 다음, 충돌 복구 절차를 따라 검토한 파일 하나에 바꾸기를 적용하세요.

기존 Digital Design Studio 워크스페이스 서비스를 사용하려면 Linux에서 Altifigence CLI 0.1.9를 사용하세요. 운영자가 서비스 origin, 워크스페이스 접근 권한, 활성화된 기능을 제공해요. 요청은 해당 서비스의 워크스페이스 파일과 실험을 대상으로 해요.

종료 상태가 0인지 확인한 뒤 저장된 결과를 읽으세요. 표준 오류를 별도로 보관하고 아래에 설명한 결과 필드를 확인하세요.

연결 구성하기

ALTI_STUDIO_ENDPOINT를 운영자가 제공한 origin으로 설정하세요. 원격 서비스는 HTTPS를 사용하며, IP 루프백 서비스는 HTTP를 사용할 수 있어요. 경로가 비어 있는 origin을 제공하고, 인증이 활성화되어 있으면 운영자가 제공한 ALTI_STUDIO_SERVICE_SECRET을 구성하세요. CLI는 이 값을 x-service-secret으로 보내요. 각 명령에서 --endpoint로 origin을 선택할 수도 있어요.

실험과 보관된 파일 확인하기

연결을 구성한 뒤 실험을 최대 5개 나열하세요. 빈 워크스페이스는 아래 예시 응답 기록을 반환해요. HTTP 200이면 종료 코드가 0이에요.

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

보관된 결과에는 정확한 서비스 워크스페이스 경로를 사용하세요. 이 예제 경로를 접근 권한이 있는 워크스페이스에 존재하는 파일로 바꾸세요. 응답 본문은 content를 포함한 소유자의 파일 필드를 유지해요.

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

검토한 파일 하나에서 검색하고 바꾸기

워크스페이스 텍스트 검색에는 Linux 서비스가 필요해요. 바꾸기에 사용할 동일한 서비스에서 검색한 다음, 일치하는 파일, 위치, 검색 범위 메타데이터를 검토하세요. 각 일치 항목에는 contentHash가 있어요. CLI는 truncated와 replaceScopeComplete를 유지하므로 반환된 범위를 평가할 수 있어요.

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

다음 내용을 replace.json으로 저장하되, 예시의 64자 해시를 선택한 rtl/top.sv 일치 항목의 실제 contentHash로 바꾸세요. 쿼리와 옵션은 검토한 내용과 일치하게 유지하세요. 요청은 파일 하나를 대상으로 해요. match를 생략하면 해당 파일에서 일치하는 항목들에 바꾸기를 적용해요. 예상 해시는 업데이트를 검토한 파일 버전에 연결해요.

{
  "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

충돌과 구성 오류 복구하기

파일이 변경된 경우의 충돌 응답 예시가 아래에 있어요. HTTP 409이면 종료 코드가 1이에요. 동일한 서비스에서 다시 검색하고 현재 일치 항목과 파일 버전을 검토한 다음, 새 contentHash로 expectedHashes를 업데이트한 뒤 새 바꾸기 요청을 제출하세요.

{"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":[]}}

httpStatus: null과 함께 STUDIO_ENDPOINT_REQUIRED가 반환되면 종료 코드가 2예요. 운영자의 origin을 구성한 뒤 다시 실행하세요. HTTP 401이면 운영자에게 일치하는 서비스 시크릿을 받으세요. 바꾸기 후 시간 초과가 발생하면 현재 파일을 확인하고 다시 검색한 뒤 추가 업데이트 여부를 결정하세요.