Referensi perintah CLI
Parse keluaran perintah CLI, tanda terima, kesalahan terstruktur, dan status keluar dengan benar.
Gambaran umum
Gunakan biner yang terpasang setelah verifikasi dan pemasangan. Referensi ini membedakan penelusuran perintah, hasil eksekusi, tanda terima preflight, dan respons layanan.
Manifes tindakan
Keberhasilan menulis satu array JSON. Setiap entri memiliki name, description, inputSchema, executes, dan class. Manifes pelanggan bawaan memiliki 25 tindakan, 22 di antaranya memiliki executes: true. altifigence.analyze.run, altifigence.evolve.launch, dan altifigence.verify.run hanya berupa rencana. Subperintah CLI native memiliki bantuan tingkat paling spesifik di luar manifes pelanggan ini. Respons server menentukan apakah operasi layanan diotorisasi dan siap.
Gunakan bantuan tingkat paling spesifik untuk argumen native:
alti commands
alti xls upstream run --help
alti compute rtl-evolve --help
alti ide workspace hierarchy-plan --help
alti ide cloud search --help
alti ide service workspace replace --help
Preflight job luring
Siapkan sumber dan envelope dalam Keberhasilan Pertama dengan CLI, lalu jalankan:
Skema keberhasilannya adalah altifigence.cli.engine-job-preflight.v1. submitted: false dan server_authority_verified: false diperlukan: hash sumber dan bentuk job diperiksa secara lokal, tetapi tidak ada job yang dikirim atau dieksekusi. Nilai execution_placement yang diminta envelope tidak mengubah hal ini.
alti --json job validate \
--job "$ALTI_WORKSPACE/job.json" \
--workspace-root "$ALTI_WORKSPACE" \
--source rtl/top.sv
Kontrak kesalahan JSON
Kegagalan --json job validate tidak menulis tanda terima keberhasilan ke stdout dan mengeluarkan objek altifigence.cli.error.v1 ke stderr:
Gunakan error.code jika tersedia. Kelompok perintah lain memiliki skema kesalahan masing-masing; jangan menganggap envelope ini berlaku untuk setiap perintah CLI.
{
"schema": "altifigence.cli.error.v1",
"error": {
"code": "ENGINE_JOB_JSON_INVALID",
"message": "The engine job JSON is invalid.",
"retryable": false
}
}
Status keluar
Status | Interpretasi |
|---|---|
| Perintah yang dipilih selesai; baca hasilnya untuk menentukan apakah yang dilaporkan adalah kesiapan, preflight, rencana, atau eksekusi |
| Kegagalan runtime CLI, validasi, transport, atau pemasangan; kegagalan layanan dapat menyertakan respons HTTP |
| Argumen tidak valid atau permintaan ditolak sebelum peluncuran transport/engine; engine juga dapat mengembalikan status ini |
| Penolakan kelas yang dicadangkan pada jalur manifes pelanggan; engine dapat menggunakan angka yang sama dengan arti berbeda |
| Penolakan manifes pelanggan, termasuk login/identitas tingkat atas yang tidak tersedia atau tidak adanya persetujuan unggah sumber |
| Kegagalan peluncuran engine atau autentikasi pemasangan |
| Executable engine yang diperlukan tidak tersedia |
Nilai bukan nol lainnya | Dapat merupakan status milik engine anak yang diteruskan |
Selalu periksa status keluar sebelum mem-parse stdout, dan simpan stderr secara terpisah. Berkas keluaran kosong atau parsial bukan hasil yang berhasil. Rencana tersimpan bukan transaksi yang diterapkan, dan penerimaan server bukan penyelesaian job.
Perintah engine: yang benar-benar dijalankan
Adapter XLS, compute, dan DDS native menggunakan executable pendamping tetap yang disertakan dalam paket. Eksekusi terpasang mengautentikasi runner terkait terhadap catatan rilis bertanda tangannya; menambahkan executable lain ke PATH tidak dapat memperbaiki executable pendamping wajib yang hilang. Beberapa perintah kompatibilitas lama mempertahankan perilaku resolver yang didokumentasikan. Lihat Cakupan Perintah.
Tanpa --json, stdout engine diteruskan agar rencana native yang opak dapat langsung disimpan. Dengan --json, pemanggilan engine biasanya menghasilkan altifigence.local-engine-execution.v1; field stdout dan stderr memuat stream anak sebagai string. Parse hasil di dalamnya secara terpisah.
Untuk rencana berkas dan hierarki, berikan seluruh hasil rencana native ke perintah apply yang cocok. Jangan memberikan envelope CLI luar atau hanya digest rencana. Backend native memvalidasi hash berkas terkini dan kondisi transaksinya.
Keluaran layanan dan streaming
ide service mengembalikan altifigence.dds.service-receipt.v1 dengan operation, ok, httpStatus, dan respons terbatas body. HTTP 409 dari penggantian tetap merupakan konflik dan tidak dicoba ulang. Respons DELETE berhasil yang kosong tetap dibiarkan kosong; respons ini tidak direkayasa menjadi objek JSON server.
Pencarian DDS native dan pencarian Cloud menyediakan bukti kecocokan/isi masing-masing. Gunakan identitas yang diberikan backend tujuan penulisan Anda; hash yang dihitung untuk backend pencarian lain tidak otomatis menjadi token CAS yang valid.
ide cloud terminal melakukan streaming byte terminal di stdout dan status koneksi di stderr. Keluaran ini bukan satu tanda terima JSON, bahkan dengan --json global. Batasi durasi koneksi dan pertahankan cursor jika ingin menghubungkan kembali.
--json release install dan --json release uninstall mengeluarkan altifigence.cli.release-bootstrap.v1 dengan operation, ok, dan exitCode. Diagnostik pemasang masuk ke stderr. Kegagalan verifikasi atau hak akses dapat terjadi sebelum envelope keberhasilan ada.
Rekam hasil untuk otomatisasi
Pilih direktori keluaran baru untuk setiap pemanggilan. Simpan stdout dan stderr secara terpisah, rekam status keluar segera, dan parse skema keberhasilan hanya setelah status keluar nol. Dengan envelope engine, parse string stdout sebagai dokumen native hanya jika kontrak perintah menyatakan bahwa isinya JSON.
Untuk alur kerja plan/apply, pertahankan seluruh rencana native mentah dan gunakan proyek yang sama. Tinjau berkas yang terdampak serta hash terkini sebelum apply. Konflik memerlukan pembacaan baru dan rencana yang ditinjau; konflik bukan alasan untuk membuang pemeriksaan hash. Lihat Otomatisasi dan CI untuk pemeriksaan lokal yang dapat direproduksi.