CLI sukurtas taip, kad jį skaitytų scenarijai ir agentai. JSON yra numatytoji išvestis; lentelės ir eilutėmis atskirtas JSON pasirenkami papildomai.
Vokas
Kiekviena sėkminga komanda į stdout spausdina vieną JSON objektą:
{
"ok": true,
"schema_version": "1",
"workspace": "yourworkspace",
"domain": "yourworkspace.hansa.chat",
"changed": false,
"data": { }
}
changed pasako, ar komanda iš tikrųjų ką nors pakeitė — false reiškia, kad pageidaujama būsena jau egzistavo. data laiko rezultatą: kanalų arba žinučių sąrašus, žinutę su jos turiniu kaip tikru įdėtiniu JSON, komandų patvirtinimus.
Klaidos patenka į stderr kaip JSON ir niekada nepalieka stdout:
{
"ok": false,
"schema_version": "1",
"error": { "code": "unauthenticated", "message": "…", "retryable": false }
}
Išėjimo kodai
| Kodas | Reikšmė |
|---|---|
| 0 | Sėkmė, įskaitant nieko nekeičiantį veiksmą (changed: false) |
| 1 | Vidinė klaida |
| 2 | Naudojimo arba konfigūracijos klaida |
| 3 | Reikalinga autentifikacija arba ji nepavyko |
| 4 | Prieiga uždrausta arba nepavyko išankstinė sąlyga |
| 5 | Nerasta arba konfliktas |
| 6 | Laiko limitas, neprieinama arba ribotas užklausų dažnis |
Patikimas scenarijaus šablonas:
if hansa chat channels ensure --name Deploy --type public >/dev/null 2>&1; then
echo "channel ready"
fi
Išvesties formatai
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
Naudingos globalios vėliavėlės
--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
Aplinkos kintamasis HANSA_CONFIG perkelia visą konteksto failą, todėl lygiagrečios užduotys gali naudoti izoliuotus kontekstus. Tokenų pateikimas be raktų grandinėlės ir raktų grandinėlės elgsena aprašyti skyriuje autentifikavimas.
Saugumo pastabos
- Prieigos duomenys gyvena tik operacinės sistemos raktų grandinėlėje arba proceso aplinkoje — niekada išvestyje, žurnaluose ar konteksto faile.
--verbosediagnostika filtruoja autorizacijos antraštes, prieigos duomenų įvestį ir atnaujinimo atsakymus.- Visi identifikatoriai išvedami kaip JSON eilutės, laiko žymos — kaip UTC RFC3339; žinučių turinys rodomas kaip tikras įdėtinis JSON, o ne kaip cituota eilutė.