agentgui 1.0.1014 → 1.0.1016
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# AgentGUI — Agent Notes
|
|
2
2
|
|
|
3
|
+
## Visual-polish pass — shell depth, composer weight, chat gutter (2026-07-03) — twenty-eighth run
|
|
4
|
+
|
|
5
|
+
User feedback: the shipped GUI "looks very diy". A live-browser screenshot audit (not a full agent fan-out) named 3 concrete, high-leverage causes and fixed all 3 in the kit. (1) `.ws-sessions` used flat `--bg`, identical to the main content column — `.ws-rail` and `.ws-pane` both already use `--bg-2` (a recessed plane framing the elevated content column) for exactly this reason; sessions was the one column breaking that pattern, so the conversation list and chat thread read as ONE continuous surface with only a 1px hairline between them — the single flattest tell in the shell. Now consistent. (2) `.chat-composer` — the box the user types into every turn — had zero elevation at rest, a flat hairline box on a flat background; added the kit's own already-defined-but-unused `--shadow-1` token (the existing focus-within ring still overrides it on focus). (3) The chat tab opts out of `.ws-main`'s padding via `mainFlush` (so the thread can center at `--measure`), but that left the controls row, heading, empty-state, and composer all flush against the column edge on both sides with zero gutter — the crumb bar above kept its own padding, so everything below visibly touched the edge the crumb text did not. Added a uniform inline gutter to `.agentchat` itself; `--measure` centering is unaffected (it centers within the now-padded box). **Standing rule: `.ws-rail`/`.ws-sessions`/`.ws-pane` must all three use `--bg-2` for consistent shell depth — a future column added flat `--bg` would repeat this exact regression.** Also landed inherited uncommitted community-app reply/delete-message work sitting dirty in the kit tree. Browser-witnessed at 1280px and 420px before/after: visible depth/weight/gutter improvement, no wrap/overlap regression, 0 console errors. Kit pushed `anentrypoint-design` `53c8464`, agentgui pushed `42708ea`. `agentgui`'s Deploy GH Pages flaked once (the known "Deployment cancelled" pattern — see the 26th-run note) and succeeded on rerun after patient wait.
|
|
6
|
+
|
|
3
7
|
## Negative-space + attention sweep (2026-07-03) — twenty-seventh run
|
|
4
8
|
|
|
5
9
|
Scoped to the specific ask (negative space / attention), not a full agent fan-out: a live-browser review (screenshots + DOM measurement at 1280px and 420px) across chat/files/settings. Chat/settings visual balance was already reasonable from the prior 26 runs; found and fixed 2 real issues. (1) Files filter placeholder "Filter files in this directory" clipped against its intentionally-compact 220px input (no ellipsis, last character cut off at the box edge) — shortened to "Filter files", which fits without widening the control (the kit's own comment already states the compact width is deliberate: a full-width filter "reads as a search page and costs fold height"). (2) Settings SERVER panel rendered 4 short facts (version/uptime/connected clients/projects folder) each as its own `.lede` div — `.lede` is the `fs-xl`/tall-line-height INTRO-PARAGRAPH style, not a metadata style, so 4 short facts read as 4 oversized paragraphs with real dead vertical space between them, and inconsistent density vs the "allowed roots" rows directly below (already using the compact `SessionMeta` strip). Folded all 4 facts into one `SessionMeta` call alongside the roots — same information, denser, one consistent style for every fact in the panel. Browser-witnessed at both viewport widths, no wrap/overlap regression. No kit changes needed (both fixes are app-only copy/wiring). Pushed `b0b38fb`.
|
|
@@ -28,13 +32,7 @@ Small, targeted run landing the 22nd-run's deferred perceived-perf findings. `in
|
|
|
28
32
|
|
|
29
33
|
## GUI cohesion sweep (2026-07-02) — twenty-first run
|
|
30
34
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
App (`site/app/js/app.js`): new `computeLiveSessions()` is the single source of truth for the live session set (owned `chat.active` rows + external SSE-observed sessions) — shared by the `WorkspaceRail` Live badge count/error-flame tone AND `liveMain()`'s dashboard, closing a prior gap where the nav badge undercounted external sessions the dashboard showed. Sessions rail now renders on the Live tab too (previously only chat/history), so the "jump between conversations" rail and "all sessions at once" oversight view coexist. Follow-up chip "Open X in files" relabeled "Explain X" — it only ever called `sendChat`, never navigated, so the label lied about its behavior. `recentSessionFiles()` scans Edit/Write/MultiEdit/Read/NotebookEdit tool-call args for `file_path`/`path`/`notebook_path`, deduped, most-recent-first, feeding `ContextPane`. "disconnected" -> "offline" in two remaining spots (live-stream reconnect banner, ACP agent status) to match the connected/connecting/offline vocabulary used everywhere else. `refreshActive()` now skips its network poll while `document.hidden` (resumes immediately on `visibilitychange`) instead of polling every ~3.3s from backgrounded tabs.
|
|
34
|
-
|
|
35
|
-
Server (`lib/http-handler.js`): `/health` now reports `corsWildcardOpen` (true when `CORS_ORIGIN=*` and no `PASSWORD`); the settings panel renders a persistent error `Alert` from it instead of relying on the console-only boot warning an operator not tailing logs would never see.
|
|
36
|
-
|
|
37
|
-
Witnessed: kit build (`node scripts/build.mjs`) — lint-tokens/lint-glyphs/lint-null-children/lint-classes all OK; `test.js` 28/28; browser localhost:3010/gm/ chat/live/settings tabs, 0 console errors, sessions column confirmed present on Live tab post-fix. Kit pushed `anentrypoint-design` `6cfd115` (rebased onto concurrent-writer `fe50db5`, dist regenerated rather than hand-merging the conflicting minified bundle). agentgui pushed `3410178`. Both repos' CI (Test/Publish/Deploy GH Pages) green.
|
|
35
|
+
25-agent audit, 12 confirmed. WorkspaceRail attention-dot tone, WorkspaceShell keepSessionsTrack (stable column count across tabs), mobile drawer focus-trap, ConversationList richer status, ContextPane recentFiles panel. **Standing rule: commit and push any inherited uncommitted work found dirty in the tree BEFORE starting new work at PLAN entry — never leave it stranded under a fresh, disjoint cover.** Full detail in rs-learn (recall "agentgui 21st run cohesion sweep").
|
|
38
36
|
|
|
39
37
|
## CRITICAL — ACP is managed ONLY by `lib/acp-sdk-manager.js`
|
|
40
38
|
|
package/package.json
CHANGED
|
@@ -2797,6 +2797,12 @@
|
|
|
2797
2797
|
leaving the primary input near-invisible at rest - use the strong rule. */
|
|
2798
2798
|
border: var(--bw-hair) solid var(--rule-strong);
|
|
2799
2799
|
border-radius: var(--r-2);
|
|
2800
|
+
/* A flat hairline box on a flat background is the single most-repeated
|
|
2801
|
+
"looks unfinished" tell in the chat surface - the one control the user
|
|
2802
|
+
types into every turn had no more visual weight than a settings card.
|
|
2803
|
+
--shadow-1 (already defined kit-wide, just unused here) lifts it a hair
|
|
2804
|
+
off the page at rest; the existing focus-within box-shadow overrides it. */
|
|
2805
|
+
box-shadow: var(--shadow-1);
|
|
2800
2806
|
flex-shrink: 0;
|
|
2801
2807
|
transition: border-color var(--dur-snap) var(--ease), box-shadow var(--dur-snap) var(--ease);
|
|
2802
2808
|
}
|
|
@@ -3839,7 +3845,14 @@
|
|
|
3839
3845
|
.ds-247420 .ws-sessions {
|
|
3840
3846
|
grid-area: sessions;
|
|
3841
3847
|
min-height: 0; display: flex; flex-direction: column;
|
|
3842
|
-
|
|
3848
|
+
/* Rail and pane both sit on --bg-2 (a recessed plane framing the elevated
|
|
3849
|
+
--bg content column); sessions used flat --bg instead, so the
|
|
3850
|
+
conversation list and the chat thread read as the SAME surface with only
|
|
3851
|
+
a 1px hairline between them - the flattest, most "one big beige box"
|
|
3852
|
+
tell in the shell. --bg-2 restores the three-plane depth (rail/sessions
|
|
3853
|
+
recessed either side, content elevated in the middle) the design
|
|
3854
|
+
already establishes everywhere else. */
|
|
3855
|
+
background: var(--bg-2); border-right: var(--bw-hair) solid var(--bg-3);
|
|
3843
3856
|
overflow: hidden;
|
|
3844
3857
|
}
|
|
3845
3858
|
.ds-247420 .ws-no-sessions .ws-sessions { display: none; }
|
|
@@ -5615,6 +5628,14 @@
|
|
|
5615
5628
|
min-height: 0;
|
|
5616
5629
|
flex: 1;
|
|
5617
5630
|
gap: var(--space-2, 8px);
|
|
5631
|
+
/* The chat tab opts out of .ws-main's padding (mainFlush) so the thread can
|
|
5632
|
+
manage its own --measure centering, but that left every direct child -
|
|
5633
|
+
controls row, heading, empty-state, composer - flush against the column
|
|
5634
|
+
edge with zero gutter (the crumb bar above keeps its own padding, so the
|
|
5635
|
+
content below visibly touched the edge the crumb text did not). A
|
|
5636
|
+
uniform inline gutter here restores breathing room for every row without
|
|
5637
|
+
disturbing --measure centering (it centers within this padded box). */
|
|
5638
|
+
padding-inline: var(--space-5);
|
|
5618
5639
|
}
|
|
5619
5640
|
|
|
5620
5641
|
/* agent + model picker, new/stop, status — wraps on narrow widths */
|
|
@@ -6108,6 +6129,23 @@
|
|
|
6108
6129
|
padding: var(--space-3); background: color-mix(in oklab, var(--fg) 4%, transparent);
|
|
6109
6130
|
}
|
|
6110
6131
|
|
|
6132
|
+
/* --- reply-preview banner shown above the composer while replying to a message. --- */
|
|
6133
|
+
.ds-247420 .cm-composer-wrap { display: flex; flex-direction: column; width: 100%; }
|
|
6134
|
+
.ds-247420 .cm-reply-preview {
|
|
6135
|
+
display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
|
|
6136
|
+
padding: var(--space-1) var(--space-3); border-bottom: var(--bw-hair) solid var(--rule);
|
|
6137
|
+
background: color-mix(in oklab, var(--accent) 6%, transparent);
|
|
6138
|
+
font-family: var(--ff-mono); font-size: var(--fs-tiny); color: var(--fg-2);
|
|
6139
|
+
}
|
|
6140
|
+
.ds-247420 .cm-reply-preview-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
6141
|
+
.ds-247420 .cm-reply-preview-close {
|
|
6142
|
+
display: inline-flex; align-items: center; justify-content: center;
|
|
6143
|
+
background: none; border: none; color: var(--fg-3); cursor: pointer; padding: var(--space-1);
|
|
6144
|
+
border-radius: var(--r-1); flex: 0 0 auto;
|
|
6145
|
+
}
|
|
6146
|
+
.ds-247420 .cm-reply-preview-close:hover { color: var(--fg); background: color-mix(in oklab, var(--fg) 8%, transparent); }
|
|
6147
|
+
.ds-247420 .cm-reply-preview-close:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
6148
|
+
|
|
6111
6149
|
/* --- A5: composer context line (agent / model / cwd at point of typing). --- */
|
|
6112
6150
|
.ds-247420 .chat-composer-context {
|
|
6113
6151
|
display: block; width: 100%; text-align: left; padding: 4px var(--space-3) 0;
|