agentgui 1.0.955 → 1.0.956
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 +2 -12
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -14,19 +14,9 @@ A polish sweep on top of the shipped Claude-Desktop redesign (workflow `wf_98034
|
|
|
14
14
|
|
|
15
15
|
## Claude-Desktop redesign + embedding fix (2026-06-05) — fourth maximum-effort run
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Shipped the three-column **WorkspaceShell** + **WorkspaceRail** (kit `shell.js`, `.ws-*` in `app-shell.css`, collapse persisted `localStorage ds.ws.{rail,pane}`), the shared **ConversationList** rail (`sessions.js`), the **Files** view (server `/api/list` allowlist-confined + `backend.js listDir()` + `app.js filesMain()` with kit `BreadcrumbPath`/`FileGrid`, mirrors `c:\dev\fsbrowse`), and the **Live dashboard** (`SessionDashboard`/`SessionCard`). Also a no-compromises gm-plugkit WASM embedding fix (incremental re-embed, `rs-plugkit ab09ed0`). The 5th run (above) polished all of these. Full detail in rs-learn (recall "agentgui Claude-Desktop redesign").
|
|
18
18
|
|
|
19
|
-
**
|
|
20
|
-
|
|
21
|
-
**New surfaces.** (1) **Conversation rail** — kit `ConversationList` (`sessions.js`, `.ds-session*`): the chat+history tabs share a session list (title/project/time/running dot/rail tone, inline search, New chat). `app.js sessionsColumn()` feeds it; chat-tab select -> `resumeInChat`, history-tab -> `loadSession`. Sessions load on chat-tab entry + boot (not just History). (2) **Files view** — server `/api/list` (`lib/http-handler.js`, allowlist-confined like `/api/image`: STARTUP_CWD/CLAUDE_PROJECTS_DIR/FS_ROOTS, normalize+resolved-prefix, 403 outside) + `backend.js listDir()` + `app.js filesMain()` rendering kit `BreadcrumbPath`+`FileGrid`; "use as chat cwd" sets the working dir by browsing. Mirrors the existing `c:\dev\fsbrowse` (same kit) but is a thin in-process endpoint, not the fsbrowse server. (3) **Live dashboard** — kit `SessionDashboard`/`SessionCard` (`sessions.js`, `.ds-dash*`): `app.js liveMain()` maps `state.active` (the existing 3s `chat.active` poll) to cards with per-session Stop/Open/Resume/events acting on each sid independently; empty + offline states.
|
|
22
|
-
|
|
23
|
-
**webjsx keying class-bug (load-bearing).** Mixing keyed VElements with `null`/strings in any children array crashes `applyDiff` ("reading 'key'"). Fixed in `ConversationList` (stable keyed body wrapper so loading/empty/populated diff children not container; `[...].filter(Boolean)` on conditional row children) AND `app.js runningPanel` (all three row children keyed). Also `refreshHistory` `render()` moved OUT of the try so a render exception no longer masquerades as a history fetch error. See the existing webjsx note below.
|
|
24
|
-
|
|
25
|
-
**Embedding fix (no-compromises, user-demanded).** The gm-plugkit WASM (`c:\dev\rs-plugkit`, the SINGLE owner of `code_index.rs`+`embed.rs`; built `cargo build --release --target wasm32-wasip1 --no-default-features --features wasm --lib` via wasi-sdk 24, deployed to `~/.gm-tools/plugkit.wasm`) froze its heartbeat 5+ min on every git-digest change because `code_index::index()` cleared all embeddings and re-embedded every chunk synchronously. Fixed with **incremental re-embed**: per-file `crc32` content hash in a new `codeinsight-manifest` namespace; unchanged files reuse persisted chunk embeddings, only changed/new files re-embed, deleted files reaped; removed the pre-emptive `clear_codeinsight()` on digest-mismatch (kept it for explicit `rebuild:true`). One-time manifest-seeding pass on first index after deploy, then incremental. **Witnessed**: after seeding, a 2nd digest change rebuilt in ~4s with 134ms max heartbeat gap (was 5+ min), real cosine hits. Commit `rs-plugkit` `ab09ed0` (push pending network). The `host_vec_embed` delegate contract in `embed.rs` is preserved for a future host-side fast path.
|
|
26
|
-
|
|
27
|
-
**Workflow deliverable.** `.claude/workflows/gui-overhaul.js` — a redesign-driver (8 per-surface designers -> feasibility+policy review with override/glyph/token guards -> dependency-ordered build plan), distinct from the jank-hunting `gui-audit.js`.
|
|
28
|
-
|
|
29
|
-
**Witness.** All surfaces browser-witnessed at `http://localhost:3000/gm/`: WorkspaceShell renders, rail nav [Chat,History,Files,Live,Settings], sessions rows, files 60 rows + breadcrumb, live dashboard, rail collapse persists, 0 console errors, `decorativeGlyphs=[]` (kept middot intact), a11y roles/aria/skip-link, responsive 420px no h-scroll. Kit `lint-glyphs`+`lint-tokens` pass on every build. Detail in rs-learn (recall "agentgui Claude-Desktop redesign"). Update/publish flow unchanged: edit kit -> `node scripts/build.mjs` -> copy `dist/247420.{js,css}` into `site/app/vendor/anentrypoint-design/` -> browser-witness -> push kit.
|
|
19
|
+
**webjsx keying class-bug (load-bearing, still true).** Mixing keyed VElements with `null`/strings in any children array crashes `applyDiff` ("reading 'key'"). `ConversationList` uses a stable keyed body wrapper (loading/empty/populated diff children not container) + `[...].filter(Boolean)` on conditional row children; `app.js runningPanel` keys all three row children. `refreshHistory` keeps `render()` OUT of the try so a render exception doesn't masquerade as a history fetch error. See the webjsx note below.
|
|
30
20
|
|
|
31
21
|
## GUI-predictability sweep closure (2026-06-05) — third maximum-effort run
|
|
32
22
|
|