HansaChat

Documentation

JSON-väljund ja automatiseerimine

Väljundi ümbrik, väljumiskoodid, vormingud ja ohutud skriptimustrid.

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 --verbose diagnostika 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.