feat(core): add stale permission entries sub-section to K3PT ST4T3
Adds a "stale permission entries" sub-section within the K3PT ST4T3 pane
on /core.html showing agents with explicit capability/tool-group JSON
entries but no live container — typically renamed or manually-deleted agents
whose entries persisted (e.g. the old "root" manager name after rename to
"ruth").
Each ghost agent gets a "✕ clear perms" button that calls
DELETE /api/permissions/{agent} (added in the prior commit). Lazy-loaded
on first K3PT ST4T3 tab activation; auto-refreshes on capabilities_changed
and tool_groups_changed SSE events.
core.js: track liveContainerNames from /api/state.containers; add
renderStalePerms + fetchAndRenderStalePerms; hook tab onShow + SSE handlers.
system-sections.css: new .tombstones-stale-* selectors for the ghost list
rows and error message.
core.html: add #tombstones-stale-perms div inside the K3PT ST4T3 pane;
expand comment to describe both sub-sections.
This commit is contained in:
parent
24cf69f72c
commit
6ab0757cc6
3 changed files with 133 additions and 1 deletions
|
|
@ -221,3 +221,42 @@
|
|||
.cload-meter .fill.hot {
|
||||
background: var(--red);
|
||||
}
|
||||
|
||||
/* ─── K3PT ST4T3 › stale permission entries sub-section ────────────────────
|
||||
Agents with explicit capability / tool-group entries in the JSON but no
|
||||
live container (renamed or manually-deleted agents). Lazy-loaded on tab
|
||||
activation, refreshed on capabilities_changed / tool_groups_changed. */
|
||||
.tombstones-stale-heading {
|
||||
margin: 1.2em 0 0.3em;
|
||||
color: var(--muted);
|
||||
font-size: 0.8em;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
border-top: 1px solid var(--border);
|
||||
padding-top: 0.8em;
|
||||
}
|
||||
.tombstones-stale-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
gap: 0.3em;
|
||||
}
|
||||
.tombstones-stale-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5em;
|
||||
padding: 0.35em 0.6em;
|
||||
border: 1px dashed var(--border);
|
||||
background: color-mix(in srgb, var(--bg-elev) 35%, transparent);
|
||||
}
|
||||
.tombstones-stale-name {
|
||||
color: var(--muted);
|
||||
font-weight: bold;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.tombstones-stale-err {
|
||||
margin-top: 0.4em;
|
||||
color: var(--red);
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue