agentgui 1.0.1013 → 1.0.1015
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
|
+
## Negative-space + attention sweep (2026-07-03) — twenty-seventh run
|
|
4
|
+
|
|
5
|
+
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`.
|
|
6
|
+
|
|
3
7
|
## Per-row file move + lint tooling fix (2026-07-02) — twenty-sixth run
|
|
4
8
|
|
|
5
9
|
Landed gui-completion #0: single-file move previously required checkbox-select + BulkBar. Kit `FileRow` gains a `move` action (between rename/delete, `arrow-right` icon); app `onAction('move', file)` seeds `state.files.marked` with just that one path and opens the existing bulk-move dialog, reusing `runBulkMove`/`/api/move` as-is — no new dialog kind, no new server surface. **Also fixed a real bug in `../design`'s `scripts/lint-null-children.mjs`**: its bracket-matcher did not understand `//` line comments, so an apostrophe inside ANY comment anywhere in a scanned file (e.g. "the kit's own") was read as opening a string literal, silently corrupting bracket-depth tracking for the rest of that file — a false positive here, but potentially a false NEGATIVE elsewhere (hiding a real missing `.filter(Boolean)` behind an unrelated apostrophe earlier in the file). Added `stripLineComments()` (string-literal-aware) run before the scan; verified by reintroducing the apostrophe and confirming it now lints clean.
|
|
@@ -20,11 +24,7 @@ Small, targeted run landing the 22nd-run's deferred perceived-perf findings. `in
|
|
|
20
24
|
|
|
21
25
|
## GUI ux-craft sweep (2026-07-02) — twenty-second run
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
App (`site/app/js/app.js`): 5 copy-tone fixes (clear-history confirm button now says "yes, clear history" not "yes, clear chat"; "conversation" → "chat" in the cross-tab-update banner; "runs via npx" → "installs automatically when used"; raw ACP provider error string now prefixed + capped at 80 chars; disabled "export chat" button keeps its action label instead of swapping to "no saved chat"). Search-result rows with no title/snippet fall back to `session <8-char-sid>…` instead of a raw UUID. `index.html` gained a synchronous (non-module) inline script that reads the kit's `247420:theme` localStorage key and sets `data-theme` before first paint — the hardcoded `data-theme="dark"` previously flashed for users with a saved light/'paper' theme while the kit's ES module graph loaded.
|
|
26
|
-
|
|
27
|
-
Deferred (recorded as PRD rows, explicitly re-scoped, not silently dropped): kit README/`ui_kits` examples missing the flagship components (AgentChat/WorkspaceShell/SessionDashboard/ConversationList/ContextPane) and undocumented `stableFrame`/`mainFlush` props — a docs-only pass, not this visual/UX-craft run's scope. Perceived-performance work (first-render network-gating, CDN modulepreload, settings loading-affordance) — a dedicated perf pass, larger than a one-line fix. Kit pushed `anentrypoint-design` `3f50e7a` (rebased onto concurrent `0826e40`, also picked up an inherited uncommitted emoji-picker search feature). agentgui pushed `06f108d`. Both repos: build/lints/28 tests pass, browser-witnessed 0 console errors, CI green.
|
|
27
|
+
35-agent audit, 20 confirmed. Accent-on-paper contrast fix (`--accent`->`--accent-ink` for text/fills), typography-rhythm parity fixes, theme-flash-prevention script in index.html. Full detail in rs-learn (recall "agentgui 22nd run ux-craft sweep").
|
|
28
28
|
|
|
29
29
|
## GUI cohesion sweep (2026-07-02) — twenty-first run
|
|
30
30
|
|
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;
|