HansaChat

Documentation

Έξοδος JSON και αυτοματισμοί

Περίβλημα εξόδου, κωδικοί εξόδου, μορφές και ασφαλή μοτίβα για δέσμες ενεργειών.

Το CLI είναι σχεδιασμένο ώστε να το διαβάζουν δέσμες ενεργειών και πράκτορες. Το JSON είναι η προεπιλεγμένη έξοδος· πίνακες και JSON ανά γραμμή είναι προαιρετικά.

Το περίβλημα εξόδου

Κάθε επιτυχημένη εντολή εκτυπώνει ένα αντικείμενο JSON στο stdout:

{
  "ok": true,
  "schema_version": "1",
  "workspace": "yourworkspace",
  "domain": "yourworkspace.hansa.chat",
  "changed": false,
  "data": { }
}

Το changed σας λέει αν η εντολή τροποποίησε πραγματικά κάτι — ένα false σημαίνει ότι η επιθυμητή κατάσταση υπήρχε ήδη. Το data περιέχει το αποτέλεσμα: λίστες καναλιών ή μηνυμάτων, ένα μήνυμα με το περιεχόμενό του ως πραγματικό εμφωλευμένο JSON, επιβεβαιώσεις εντολών.

Τα σφάλματα πηγαίνουν στο stderr ως JSON και δεν αγγίζουν ποτέ το stdout:

{
  "ok": false,
  "schema_version": "1",
  "error": { "code": "unauthenticated", "message": "…", "retryable": false }
}

Κωδικοί εξόδου

Κωδικός Σημασία
0 Επιτυχία, συμπεριλαμβανομένου no-op (changed: false)
1 Εσωτερικό σφάλμα
2 Σφάλμα χρήσης ή ρύθμισης
3 Απαιτείται έλεγχος ταυτότητας ή απέτυχε
4 Άρνηση πρόσβασης ή αποτυχία προϋπόθεσης
5 Δεν βρέθηκε ή διένεξη
6 Λήξη χρόνου, μη διαθέσιμο ή όριο ρυθμού

Ένα ανθεκτικό μοτίβο για δέσμη ενεργειών:

if hansa chat channels ensure --name Deploy --type public >/dev/null 2>&1; then
  echo "channel ready"
fi

Μορφές εξόδου

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

Χρήσιμες καθολικές επιλογές

--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

Η μεταβλητή περιβάλλοντος HANSA_CONFIG μεταφέρει ολόκληρο το αρχείο context αλλού, ώστε παράλληλες εργασίες να χρησιμοποιούν απομονωμένα contexts. Η παροχή tokens χωρίς κλειδοθήκη και η συμπεριφορά της κλειδοθήκης περιγράφονται στον έλεγχο ταυτότητας.

Σημειώσεις ασφαλείας

  • Τα διαπιστευτήρια βρίσκονται μόνο στην κλειδοθήκη του λειτουργικού συστήματος ή στο περιβάλλον της διεργασίας — ποτέ στην έξοδο, στα αρχεία καταγραφής ή στο αρχείο context.
  • Τα διαγνωστικά του --verbose φιλτράρουν τις κεφαλίδες εξουσιοδότησης, τα διαπιστευτήρια εισόδου και τις απαντήσεις ανανέωσης.
  • Όλα τα αναγνωριστικά εκδίδονται ως συμβολοσειρές JSON και οι χρονοσημάνσεις ως UTC RFC3339· το περιεχόμενο των μηνυμάτων εμφανίζεται ως πραγματικό εμφωλευμένο JSON και όχι ως συμβολοσειρά σε εισαγωγικά.