CLI:n är byggd för att läsas av skript och agenter. JSON är standardutdata; tabeller och radavgränsad JSON är tillval.
Utdatakuvertet
Varje lyckat kommando skriver ut ett JSON-objekt till stdout:
{
"ok": true,
"schema_version": "1",
"workspace": "yourworkspace",
"domain": "yourworkspace.hansa.chat",
"changed": false,
"data": { }
}
changed talar om huruvida kommandot faktiskt ändrade något — false betyder
att önskat tillstånd redan fanns. data innehåller resultatet: listor av
kanaler eller meddelanden, ett meddelande med sitt innehåll som riktigt nästlad
JSON, kvittenser från kommandon.
Fel går till stderr som JSON och rör aldrig stdout:
{
"ok": false,
"schema_version": "1",
"error": { "code": "unauthenticated", "message": "…", "retryable": false }
}
Avslutskoder
| Kod | Betydelse |
|---|---|
| 0 | Lyckat, inklusive en no-op (changed: false) |
| 1 | Internt fel |
| 2 | Användnings- eller konfigurationsfel |
| 3 | Autentisering krävs eller misslyckades |
| 4 | Åtkomst nekad eller förutsättning misslyckades |
| 5 | Hittades inte eller konflikt |
| 6 | Tidsgräns, otillgängligt eller hastighetsbegränsat |
Ett robust skriptmönster:
if hansa chat channels ensure --name Deploy --type public >/dev/null 2>&1; then
echo "channel ready"
fi
Utdataformat
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
Praktiska globala flaggor
--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
Miljövariabeln HANSA_CONFIG flyttar hela kontextfilen, vilket låter
parallella jobb använda isolerade kontexter. Headless-tillförsel av tokens och
beteendet hos nyckelringen beskrivs i
autentisering.
Säkerhetsnoteringar
- Autentiseringsuppgifterna finns bara i operativsystemets nyckelring eller i processens miljö — aldrig i utdata, loggar eller kontextfilen.
--verbose-diagnostiken filtrerar auktoriseringsheaders, inmatade autentiseringsuppgifter och refresh-svar.- Alla identifierare skrivs ut som JSON-strängar, tidsstämplar som UTC RFC3339; meddelandeinnehåll visas som riktigt nästlad JSON, inte som en citerad sträng.