feat: password Realm, single-chair login, shared parliament context (0.9.12)
Derive Realm keys from a user password (Argon2id, no private key on disk). Login claims the sole chair with handover; peers share parliament context; --new-project clears it. CLI peer/discover helpers and Docker alpine recipe included; headless empty-answer retries raised for unattended runs. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -51,6 +51,8 @@ int cst_settings_load(cst_settings_t *s) {
|
||||
cJSON_GetObjectItemCaseSensitive(root, "mode"));
|
||||
copy_str(s->approval, sizeof(s->approval),
|
||||
cJSON_GetObjectItemCaseSensitive(root, "approval"));
|
||||
copy_str(s->collaboration, sizeof(s->collaboration),
|
||||
cJSON_GetObjectItemCaseSensitive(root, "collaboration"));
|
||||
s->show_thinking =
|
||||
cJSON_IsTrue(cJSON_GetObjectItemCaseSensitive(root, "show_thinking"));
|
||||
const cJSON *tr = cJSON_GetObjectItemCaseSensitive(root, "trusted_workspaces");
|
||||
@@ -111,6 +113,8 @@ int cst_settings_save(const cst_settings_t *s) {
|
||||
cJSON_AddStringToObject(root, "mode", s->mode);
|
||||
if (s->approval[0])
|
||||
cJSON_AddStringToObject(root, "approval", s->approval);
|
||||
if (s->collaboration[0])
|
||||
cJSON_AddStringToObject(root, "collaboration", s->collaboration);
|
||||
if (s->show_thinking)
|
||||
cJSON_AddTrueToObject(root, "show_thinking");
|
||||
if (s->ntrusted) {
|
||||
|
||||
Reference in New Issue
Block a user