@dreb/coding-agent 2.73.0 → 2.74.0

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/README.md CHANGED
@@ -83,6 +83,8 @@ Then just talk to dreb. All 13 standard built-in tools are enabled by default (u
83
83
 
84
84
  **Also available:** [`@dreb/telegram`](https://www.npmjs.com/package/@dreb/telegram) — run dreb as a Telegram bot with live tool status and visible results for user-facing tools (`npm install -g @dreb/telegram`). [`@dreb/dashboard`](https://www.npmjs.com/package/@dreb/dashboard) — run `dreb dashboard` for a browser UI with fleet overview, full chat steering, dismissible session banners confined to the transcript column without shifting the fleet sidebar, a grouped header with back navigation on the left, model/thinking controls in a separate row, and the fleet sidebar toggle in the bottom usage/context-stats row (also available with details collapsed), explicit navigation that preserves viewed closed transcripts as read-only snapshots, a TUI-parity rolling TPS indicator with long-term delta, generic fail-closed built-in slash-command discovery and execution, inline provider/API failures with partial output preserved, sanitized raster tool images plus sent user uploads retained as bounded transcript previews by default, a bounded all-agent subagent panel with drill-in, a fleet sidebar on session/subagent views with the fleet cards' project/status/reasons, activity/latest-assistant preview, subagents, tasks, model/context/cost, and message/activity metadata (deterministic order, persisted desktop collapse and pointer/keyboard-resizable width, highest-priority status border while hidden, safe-area-aware mobile drawer with managed focus and Escape-to-close without aborting the agent), host file browser, dreb memory editor with exact-revision saves and automatic index cleanup on delete, curated appearance themes with per-browser light/dark mode and a font picker (36 explicit choices plus Theme default: the existing Google-hosted IBM Plex Mono and bundled JetBrains Mono, Fira Code, Iosevka, OpenDyslexic, and Atkinson Hyperlegible, plus 15 sans-serif and 15 serif families; visible open-listbox options preview their regular faces, restricted derivatives have neutral primary names with secondary source attribution, and alternate self-hosted fonts remain lazy when closed), and resilient Tailscale/rotating-code pairing with a configurable 180-day default and advance expiry warnings (`npm install -g @dreb/dashboard`; see [docs/dashboard.md](docs/dashboard.md)). Tool images cross browser-facing transport as content-addressed references; in dashboard mode each unique image crosses the RPC stdout pipe at most once per child process (later occurrences become references), and browser-local Settings offers placeholders, bounded previews, or informed-opt-in originals, with size disclosure and confirmation above 1 MiB. Full-resolution HTML export remains self-contained. The Memories screen is dreb-only (`~/.dreb/memory` and populated active/on-disk-session project `.dreb/memory`; empty projects are omitted), shows complete indexes with a >200-line warning, opens local index links within the selected scope, replaces stale editor content with visible loading feedback, surfaces malformed entry frontmatter for repair, preserves drafts on conflicts, and does not create/rename entries or expose Claude paths. Live-first startup fetches runtime cards and opens SSE before the historical inventory scan finishes; unchanged session metadata is reused on later inventory and recovery reads. Compact SSE snapshots then update live fleet cards without repeatedly fetching the cross-project inventory, and session drill-in hydrates state, messages, and background agents through one ordered snapshot request. Direct sidebar switching, including leaving a closed session, loads the destination with its own screen state and per-session text draft; abandoned hydration cannot overwrite the new view. While drill-in remains mounted, authoritative detail refreshes keep its header current, confirmed model/thinking changes are reconciled without stale snapshot rollback, and post-compaction context uses a conservative estimate until fresh provider usage arrives. Terminal provider failures show their reason on fleet cards, while transient failures clear terminal state when automatic retry begins and remain recorded inline on the failed attempt. Its top bar and persistent session header indicators report connecting, connected, retrying, resyncing, disconnected, or auth failed; bounded SSE replay plus an explicit snapshot barrier restores session state, tasks, and image references after a reload, restart, gap, backpressure disconnect, or stalled stream, while authenticated image routes recover bytes separately from authoritative transcripts. Persisted sessions whose recorded working directory is missing remain visible and resumable: Dashboard asks for an existing runtime directory, validates it before starting the child, shows both historical and effective paths, and leaves the original session header unchanged.
85
85
 
86
+ Dashboard user-message bubbles have a background fill that follows its theme and light/dark mode. Assistant and tool backgrounds stay unchanged; there is no extra preference or link to terminal-theme colors.
87
+
86
88
  Dashboard theme cards keep IBM Plex Mono for Theme default previews, while the font picker's Theme default previews the active theme's built-in family. All 30 additions have real regular, italic, bold, and bold-italic styles, with previews loaded as rows approach the visible scroll window. The 30 added families are source-attributed Latin subsets with neutral internal names (all OFL-licensed); existing IBM Google hosting is unchanged. No font uploads or new multilingual bundles are added; missing scripts use browser fallback. See [expanded font provenance](../dashboard/src/client/assets/fonts/expanded/PROVENANCE.md), [keyboard controls and lazy loading](docs/dashboard.md#appearance-system), and [manual custom fonts in a private source build](docs/dashboard.md#custom-fonts-in-a-source-build). There is no runtime font-upload or install-directory mechanism.
87
89
 
88
90
  **Platform notes:** [Windows](docs/windows.md) | [Termux (Android)](docs/termux.md) | [tmux](docs/tmux.md) | [Terminal setup](docs/terminal-setup.md) | [Shell aliases](docs/shell-aliases.md)
package/docs/dashboard.md CHANGED
@@ -655,6 +655,15 @@ TUI theme system** — dashboard themes intentionally do not map to TUI themes.
655
655
  color vision. A separate mode toggle (system / light / dark) picks which
656
656
  variant renders; forced light/dark works for every theme, including
657
657
  entropist.ca. `system` follows the OS via `prefers-color-scheme`.
658
+ - **User-message backgrounds.** User-message bubbles use the dashboard's
659
+ `--user-message-bg` color, with a distinct opaque fill for each theme's light
660
+ and dark palettes. The fill follows the selected theme and mode: forced
661
+ light/dark overrides the OS, while system mode responds to OS changes without
662
+ reloading. Normal user-message text meets WCAG AA contrast (at least 4.5:1)
663
+ on these fills. Only the text bubble is filled; attached images remain outside
664
+ it, and assistant and tool backgrounds are unchanged. There is no additional
665
+ preference or custom-color editor, and the terminal theme's `userMessageBg`
666
+ token does not control this dashboard color.
658
667
  - **Theme gallery and font selection.** The settings appearance section shows
659
668
  mode and font selectors plus a grid of live preview cards (one per theme).
660
669
  Each card previews its palette locally without touching the page until you
@@ -685,8 +694,8 @@ TUI theme system** — dashboard themes intentionally do not map to TUI themes.
685
694
  - **Per-browser persistence.** Selections are stored in per-browser
686
695
  `localStorage` (`dreb.dashboard.theme`, `dreb.dashboard.colorMode`, and
687
696
  `dreb.dashboard.font`), with a cross-tab sync listener; a pristine install
688
- (entropist.ca + system + Theme default font) leaves no keys behind and renders
689
- byte-for-byte identically to the `tokens.css` baseline. No server/RPC
697
+ (entropist.ca + system + Theme default font) leaves no keys behind and matches
698
+ the current `tokens.css` baseline, including user-message fills. No server/RPC
690
699
  involvement, no runtime dependencies.
691
700
  - **No wrong-appearance flash.** A synchronous bootstrap in `index.html` paints
692
701
  the correct theme, mode, and explicit font before any CSS loads, and keeps a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreb/coding-agent",
3
- "version": "2.73.0",
3
+ "version": "2.74.0",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "drebConfig": {