Verificare il runtime Tcl e valutare uno script limitato
Leggi i descrittori del runtime Tcl e il record di prontezza firmato, quindi valuta uno script limitato da stdin e controlla la sua ricevuta.
Utilizza Altifigence CLI 0.1.9 su Linux per leggere i descrittori del runtime Tcl installato, confermare il record di prontezza firmato del runtime e valutare uno script Tcl limitato tramite il runner installato.
Leggere i descrittori del runtime
Esegui i comandi con il tuo normale account utente. Ogni query risponde dai descrittori alti-tcl inclusi nel pacchetto e stampa JSON.
alti tcl capabilities
alti tcl environment
alti tcl commandsalti tcl commands elenca i comandi di prodotto registrati e la disponibilità di ciascun comando. Conserva l’output insieme ai tuoi script.
Verificare il runtime firmato
Leggi il record di prontezza firmato del runtime. Questa query non esegue Tcl.
set -euo pipefail
WORK="$(mktemp -d)"
alti tcl readiness > "$WORK/readiness.json"
jq '{schemaVersion, installedQualified, cryptographicVerifierLinked, blocker}' \
"$WORK/readiness.json"Prima di valutare uno script, verifica che il codice di uscita sia 0 e che i valori siano questi:
{
"schemaVersion": "altifigence.eda-tcl-runtime-component-readiness.v1",
"installedQualified": true,
"cryptographicVerifierLinked": true,
"blocker": null
}Valutare uno script
Passa lo script da stdin e salva la ricevuta:
printf '%s' 'expr {6 * 7}' | alti --json tcl evaluate > "$WORK/tcl-evaluate.json"
jq '{schema, status, inputBytes, result, resultBytes, resultArtifactId, failure}' \
"$WORK/tcl-evaluate.json"Verifica che il codice di uscita sia 0. I campi selezionati della ricevuta sono:
{
"schema": "altifigence.cli.tcl-evaluation.v1",
"status": "succeeded",
"inputBytes": 12,
"result": "42",
"resultBytes": 2,
"resultArtifactId": "tcl-evaluation",
"failure": null
}La ricevuta contiene anche inputSha256, jobSha256, resultArtifactSha256 e provenance. In provenance, resolved_placement è local, resolved_device_class è cpu e backend_id è embedded-tcl.
Senza --json, il comando scrive il risultato su stdout e una riga di riepilogo su stderr:
printf '%s' 'expr {6 * 7}' | alti tcl evaluate42
[succeeded] tcl.evaluate input=12 sha256=e96de7a3a920d7cd5aafa8c86630028d97a0fb0dc260da2f089de12ea4214a6f artifact=tcl-evaluationOgni esecuzione legge uno script di al massimo 4194304 byte. La CLI lo scrive in un workspace privato sotto /tmp, lo esegue come job CPU locale con 1 slot CPU, 536870912 byte di memoria e un limite di 5000 ms di tempo reale, rilegge il risultato dal runner e rimuove il workspace.
Riprendere dopo una valutazione non riuscita
Con --json, leggi failure.code e failure.message nella ricevuta. Senza di esso, stderr mostra Tcl evaluation failed: seguito dal codice.
TCL_INPUT_EMPTY con Tcl input must not be empty. termina con codice di uscita 2. Passa tramite pipe uno script non vuoto ed esegui di nuovo il comando.
TCL_INPUT_TOO_LARGE con Tcl input exceeds the 4194304-byte limit. termina con codice di uscita 2. Mantieni lo script entro 4194304 byte.
status failed con failure.code eda-tcl.local-runner.unsupported-command e il messaggio local Tcl evaluation failed within the requested boundary termina con codice di uscita 1. Per i comandi di prodotto, scegli una voce con availability available da alti tcl commands, ad esempio ::alti::echo o ::alti::capabilities.
TCL_INSTALLED_RUNNER_UNAVAILABLE con The installed qualified Tcl runner is unavailable. termina con codice di uscita 127. Esegui l’alti installato dal bootstrap 0.1.9, quindi controlla di nuovo alti tcl readiness.