CLI on ehitatud nii, et skriptid ja agendid saaksid seda lugeda. JSON on vaikeväljund; tabelid ja reakaupa eraldatud JSON on lisavalikud.
Ümbrik
Iga edukas käsk prindib stdout-i ühe JSON-objekti:
{
"ok": true,
"schema_version": "1",
"workspace": "yourworkspace",
"domain": "yourworkspace.hansa.chat",
"changed": false,
"data": { }
}
changed ütleb, kas käsk muutis tegelikult midagi — false tähendab, et soovitud olek oli juba olemas. data hoiab tulemust: kanalite või sõnumite loendeid, sõnumit koos sisuga päris pesastatud JSON-ina, käskude kinnitusi.
Vead lähevad stderr-i JSON-ina ega puuduta kunagi stdout-i:
{
"ok": false,
"schema_version": "1",
"error": { "code": "unauthenticated", "message": "…", "retryable": false }
}
Väljumiskoodid
| Kood | Tähendus |
|---|---|
| 0 | Edu, sealhulgas toimetu käsk (changed: false) |
| 1 | Sisemine viga |
| 2 | Kasutus- või konfiguratsiooniviga |
| 3 | Autentimine nõutud või ebaõnnestus |
| 4 | Juurdepääs keelatud või eeltingimus ei täitunud |
| 5 | Ei leitud või konflikt |
| 6 | Ajalõpp, pole saadaval või päringud piiratud |
Robustne skriptimuster:
if hansa chat channels ensure --name Deploy --type public >/dev/null 2>&1; then
echo "channel ready"
fi
Väljundvormingud
hansa chat channels list -o json # default, one envelope
hansa chat channels list -o jsonl # one JSON object per line
hansa chat channels list -o table # aligned text columns for humans
Kasulikud globaalsed lipud
--workspace <alias-or-domain> # override the workspace for one command
--timeout 30s # network timeout
--config /path/config.json # custom context file (default: OS config dir)
--verbose # diagnostics to stderr, secrets filtered
Keskkonnamuutuja HANSA_CONFIG teisaldab kogu kontekstifaili, mis võimaldab paralleelsetel töödel kasutada isoleeritud kontekste. Tokenite andmine peata keskkonnas ja võtmerõnga käitumine on kirjeldatud juhendis autentimine.
Turvamärkmed
- Mandaadid asuvad ainult operatsioonisüsteemi võtmerõngas või protsessi keskkonnas — mitte kunagi väljundis, logides ega kontekstifailis.
- Lipu
--verbosediagnostika filtreerib autoriseerimispäised, mandaatide sisendi ja värskendusvastused. - Kõik identifikaatorid väljastatakse JSON-stringidena ja ajatemplid kujul UTC RFC3339; sõnumi sisu ilmub päris pesastatud JSON-ina, mitte jutumärkides stringina.