Riferimento dei comandi CLI

Interpreta correttamente output dei comandi CLI, ricevute, errori strutturati e stati di uscita.

Panoramica

Usa il binario installato dopo verifica e installazione. Questo riferimento distingue rilevamento dei comandi, risultati di esecuzione, ricevute delle verifiche preliminari e risposte dei servizi.

Manifest delle azioni

Un'esecuzione riuscita scrive un array JSON. Ogni voce ha name, description, inputSchema, executes, e class. Il manifest cliente incorporato ha 25 azioni, di cui 22 hanno executes: true. altifigence.analyze.run, altifigence.evolve.launch, e altifigence.verify.run sono solo piani. I sottocomandi CLI nativi hanno il proprio help delle operazioni foglia oltre al manifest cliente. La risposta del server determina se un'operazione di servizio è autorizzata e pronta.

Usa l'help dell'operazione foglia per gli argomenti nativi:

Bash
alti commands
Bash
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

Verifica preliminare offline del job

Prepara sorgente ed envelope in Primo successo con la CLI, quindi esegui:

Lo schema di successo è altifigence.cli.engine-job-preflight.v1. submitted: false e server_authority_verified: false sono obbligatori: hash sorgente e struttura del job sono stati verificati localmente, ma nessun job è stato inviato o eseguito. Il valore richiesto di execution_placement nell'envelope non cambia questo fatto.

Bash
alti --json job validate \
  --job "$ALTI_WORKSPACE/job.json" \
  --workspace-root "$ALTI_WORKSPACE" \
  --source rtl/top.sv

Contratto degli errori JSON

Un --json job validate fallito non scrive ricevute di successo su stdout ed emette un oggetto altifigence.cli.error.v1 su stderr:

Usa error.code quando disponibile. Altre famiglie di comandi hanno propri schemi di errore; non presumere che questo envelope si applichi a ogni comando CLI.

JSON
{
  "schema": "altifigence.cli.error.v1",
  "error": {
    "code": "ENGINE_JOB_JSON_INVALID",
    "message": "The engine job JSON is invalid.",
    "retryable": false
  }
}

Stato di uscita

Stato

Interpretazione

0

Il comando selezionato è terminato; leggi il risultato per determinare se segnala disponibilità, verifica preliminare, piano o esecuzione

1

Errore di runtime, validazione, trasporto o installazione della CLI; gli errori del servizio possono includere una risposta HTTP

2

Argomenti non validi o richiesta rifiutata prima del trasporto/avvio dell'engine; anche un engine può restituire questo stato

3

Rifiuto di classe riservato nel percorso del manifest cliente; un engine può usare lo stesso numero diversamente

4

Rifiuto del manifest cliente, compresi login/identità di primo livello indisponibili o consenso al caricamento dei sorgenti assente

126

Errore di avvio dell'engine o autenticazione dell'installazione

127

Eseguibile dell'engine richiesto indisponibile

Altro valore non nullo

Può essere lo stato proprio dell'engine figlio, propagato

Verifica sempre lo stato di uscita prima di analizzare stdout e mantieni stderr separato. Un file di output vuoto o parziale non è un risultato riuscito. Un piano salvato non è una transazione applicata e l'accettazione del server non è completamento del job.

Comandi Engine: cosa viene eseguito realmente

Gli adattatori XLS, compute e DDS nativo usano eseguibili fratelli fissi inclusi nel pacchetto. L'esecuzione installata autentica il runner pertinente contro il record firmato del rilascio; aggiungere un altro eseguibile a PATH non può ripristinare un eseguibile fratello richiesto ma assente. Alcuni vecchi comandi di compatibilità mantengono il comportamento documentato del resolver. Consulta Comandi disponibili.

Senza --json, stdout dell'engine viene inoltrato così un piano nativo opaco può essere salvato direttamente. Con --json, un'invocazione dell'engine produce normalmente altifigence.local-engine-execution.v1; i suoi campi stdout e stderr contengono i flussi del figlio come stringhe. Analizza il risultato interno separatamente.

Per piani di file e gerarchie, passa l'intero risultato del piano nativo al comando apply corrispondente. Non passare l'envelope CLI esterno o solo un digest del piano. Il backend nativo valida gli hash correnti dei file e le condizioni della transazione.

Output dei servizi e streaming

ide service restituisce altifigence.dds.service-receipt.v1 con operation, ok, httpStatus, e la risposta con limiti definiti body. HTTP 409 dalla sostituzione resta un conflitto e non viene ritentato. Una risposta DELETE vuota riuscita resta vuota; non viene inventato un oggetto JSON del server.

La ricerca DDS nativa e la ricerca Cloud espongono proprie prove di corrispondenze/contenuto. Usa l'identità fornita dal backend su cui scriverai; un hash calcolato per un altro backend di ricerca non è automaticamente un token CAS valido.

ide cloud terminal trasmette byte del terminale su stdout e stato della connessione su stderr. Non è una singola ricevuta JSON, neppure con --json globale. Limita la durata del collegamento e conserva il cursore se intendi riconnetterti.

--json release install e --json release uninstall emettono altifigence.cli.release-bootstrap.v1 con operation, ok, e exitCode. La diagnostica dell'installer va su stderr. Errori di verifica o privilegi possono verificarsi prima che esista un envelope di successo.

Acquisire un risultato per l'automazione

Seleziona una nuova directory di output per ogni invocazione. Salva stdout e stderr separatamente, acquisisci immediatamente lo stato di uscita e analizza uno schema di successo solo dopo un'uscita zero. Con un envelope dell'engine, analizza la stringa stdout come documento nativo solo quando il contratto del comando indica che contiene JSON.

Per un flusso piano/apply, conserva il piano nativo grezzo completo e usa lo stesso progetto. Rivedi file interessati e hash correnti prima di apply. Un conflitto richiede una nuova lettura e un piano revisionato; non giustifica l'abbandono delle verifiche degli hash. Consulta Automazione e CI per una verifica locale riproducibile.