fix: parliament UX, prompt alignment, execution nudges (0.9.14)
Inject shared parliament context into the agent environment, switch prompts away from in-process workers when parliament is active, clear login tickets on chair sync/new-project, and surface realm/chair/service in /status. Tighten empty-reply handling and prefer-tool principles. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "cst_ext.h"
|
||||
#include "cst_mcp.h"
|
||||
#include "cst_models.h"
|
||||
#include "cst_parliament.h"
|
||||
#include "cst_plugins.h"
|
||||
#include "cst_provider_switch.h"
|
||||
#include "cst_skills.h"
|
||||
@@ -4682,6 +4683,26 @@ static void cmd_status(tui_t *t, char *arg, int *quit) {
|
||||
notes && notes[0] ? "AGENTS.md loaded" : "(no AGENTS.md)");
|
||||
push_system_line(t, " undo %d turn(s) can be undone",
|
||||
cst_agent_undo_available(t->agent));
|
||||
{
|
||||
char *pst = cst_parliament_status_text();
|
||||
if (pst && pst[0]) {
|
||||
push_system_line(t, "Parliament / Realm:");
|
||||
char *p = pst;
|
||||
while (*p) {
|
||||
char *nl = strchr(p, '\n');
|
||||
if (nl)
|
||||
*nl = 0;
|
||||
if (p[0])
|
||||
push_system_line(t, " %s", p);
|
||||
if (!nl)
|
||||
break;
|
||||
p = nl + 1;
|
||||
}
|
||||
}
|
||||
free(pst);
|
||||
if (cst_parliament_is_active() && !cst_parliament_session_ok(NULL, 0))
|
||||
push_system_line(t, " tip cst-agent --login (CST_REALM_PASSWORD)");
|
||||
}
|
||||
cst_usage_t u;
|
||||
cst_agent_usage(t->agent, &u, NULL);
|
||||
if (u.requests > 0 && u.prompt > 0)
|
||||
|
||||
Reference in New Issue
Block a user