CLI je izgrađen da ga čitaju skripte i agenti. JSON je zadani izlaz; tablice i JSON odvojen redovima dostupni su po izboru.
Omot
Svaka uspješna naredba ispisuje jedan JSON objekt na stdout:
{
"ok": true,
"schema_version": "1",
"workspace": "yourworkspace",
"domain": "yourworkspace.hansa.chat",
"changed": false,
"data": { }
}
changed govori vam je li naredba stvarno nešto promijenila — false znači da je željeno stanje već postojalo. data sadrži rezultat: popise kanala ili poruka, poruku sa svojim sadržajem kao pravi ugniježđeni JSON, potvrde naredbi.
Pogreške odlaze na stderr kao JSON i nikada ne diraju stdout:
{
"ok": false,
"schema_version": "1",
"error": { "code": "unauthenticated", "message": "…", "retryable": false }
}
Izlazni kôdovi
| Kôd | Značenje |
|---|---|
| 0 | Uspjeh, uključujući no-op (changed: false) |
| 1 | Interna pogreška |
| 2 | Pogreška uporabe ili konfiguracije |
| 3 | Potrebna autentikacija ili autentikacija nije uspjela |
| 4 | Odbijeno dopuštenje ili preduvjet nije ispunjen |
| 5 | Nije pronađeno ili sukob |
| 6 | Istek vremena, nedostupno ili ograničena učestalost |
Robustan obrazac skripte:
if hansa chat channels ensure --name Deploy --type public >/dev/null 2>&1; then
echo "channel ready"
fi
Izlazni formati
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
Korisne globalne zastavice
--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
Varijabla okruženja HANSA_CONFIG premješta cijelu datoteku konteksta, što paralelnim poslovima omogućuje korištenje izoliranih konteksta. Dostava tokena u okruženjima bez sučelja i ponašanje privjeska opisani su u članku Autentikacija i radni prostori.
Sigurnosne napomene
- Vjerodajnice žive samo u privjesku ključeva operativnog sustava ili u okruženju procesa — nikada u izlazu, zapisnicima ni datoteci konteksta.
--verbosedijagnostika filtrira zaglavlja autorizacije, unos vjerodajnica i odgovore osvježavanja.- Svi identifikatori ispisuju se kao JSON nizovi, a vremenske oznake kao UTC RFC3339; sadržaj poruka prikazuje se kao pravi ugniježđeni JSON, a ne kao niz u navodnicima.