agentgui 1.0.1078 → 1.0.1080

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.
@@ -0,0 +1,8 @@
1
+ ---
2
+ key: mem-6d49f08bebac54c9-744
3
+ ns: default
4
+ created: 1784300719472
5
+ updated: 1784300719472
6
+ ---
7
+
8
+ agentgui-45th-run-docstudio-full-detail: third docstudio design-cue pass. Fresh Explore-agent survey (told what 43rd/44th runs already shipped) found 5 new gaps, all implemented: ChatComposer/AgentChat streamingSince prop (role=status tabular-nums elapsed counter while streaming); Enter-to-send gated behind matchMedia('(pointer:coarse)'); CountdownDialog primitive in files-modals.js; PermissionMenu roving-tabindex menuitemcheckbox list in overlay-primitives.js; ChatComposer detectAttachment pasted-URL sniff badge. bun test.js 38/38 pass, 0 lint errors. Rebased cleanly onto concurrent v0.0.344/v0.0.345 (RTL support). Kit pushed 5c0571e->1d46202, agentgui re-vendored+pushed, browser-witnessed bodyLen:19739 hasAgentgui:true 0 pageErrors.
@@ -0,0 +1,8 @@
1
+ ---
2
+ key: mem-a9968a186368b022-1150
3
+ ns: default
4
+ created: 1784300690988
5
+ updated: 1784300690988
6
+ ---
7
+
8
+ agentgui 46th run confirming pass (2026-07-17): per gm-continue's mandatory first-confirming-pass discipline, a second independent Explore-agent survey of docstudio (told what runs 42-46 already shipped) found one more narrow gap: kit toast() only supported self-dismissing {message,kind,duration}, unlike docstudio update-check.js:18-30's persistent click-to-reload bar. Added actionLabel/onAction props rendering a non-auto-dismissing button. Real CI catch: docs/component-props.md was stale after the new toast() signature (component-docs lint), fixed by regenerating. Kit rebased twice onto concurrent v0.0.350/v0.0.351 releases (dist-only, rebuilt fresh). Browser-witnessed both toast variants live: action toast renders .ds-ep-toast.has-action with working button firing onAction(dismiss); plain toast unaffected (no has-action class, no button) confirming backward compat. Kit pushed b5530cb->e93f4f7, agentgui pushed ed36a36->3a59c3b, all CI green. A second confirming pass after this one found nothing further - the docstudio design-cue mining task for ../design and ./ is genuinely exhausted after 4 full sweeps + 1 confirming-pass finding.
@@ -0,0 +1,8 @@
1
+ ---
2
+ key: mem-e9bc5f9ed6edbcf7-1580
3
+ ns: default
4
+ created: 1784300703197
5
+ updated: 1784300703197
6
+ ---
7
+
8
+ agentgui-45th-run-docstudio-full-detail: third docstudio design-cue pass, same directive repeated. Fresh Explore-agent survey (told what 43rd/44th runs already shipped) found 5 new gaps, all implemented in the design kit: ChatComposer/AgentChat streamingSince prop -> role=status tabular-nums elapsed counter next to stop control while streaming (docstudio chat-input.js:71-96), self-ticking via interval keyed off passed timestamp; Enter-to-send gated behind module-cached matchMedia('(pointer:coarse)') check (chat-input.js:116-125) - coarse-pointer devices get a newline+"Tap Send to send" hint instead; CountdownDialog({title,message,seconds,onExpire,actions}) primitive in files-modals.js (docstudio google-reconnect.js:41-75's live sign-out countdown), composing over the existing Modal()/Backdrop() shell rather than editor-primitives.js's standalone Dialog; PermissionMenu({categories,approved,onToggle,onToggleAll}) in overlay-primitives.js (docstudio tool-approval-panel.js's roving-tabindex menuitemcheckbox list); ChatComposer detectAttachment(text)=>{type,label,id}|null prop rendering a dismissible .chat-composer-detected-badge (chat-input.js:49-62's pasted-URL sniff). Implementation delegated to a background worktree agent; bun test.js 38/38 pass, 0 lint errors across 7 lints. Concurrent upstream v0.0.344/v0.0.345 (RTL support) landed mid-pass, rebased cleanly, dist rebuilt fresh. Kit pushed 5c0571e->1d46202. agentgui re-vendored, browser-witnessed (bodyLen:19739, hasAgentgui:true, 0 pageErrors), grep-confirmed all 5 feature strings present before pushing.
package/.gm/prd.yml CHANGED
@@ -3147,3 +3147,8 @@
3147
3147
  subject: test.js lint-tokens.mjs spacing-report regex only matched the old REPORT format; upstream v0.0.349 changed lint-spacing output to PASS/baseline format, silently breaking the test's ability to catch regressions until this run's test execution surfaced it
3148
3148
  witness: bun test.js failed with 'lint-spacing report line not found' after rebasing onto origin/main (8436f0a); fixed by widening the regex to match both formats
3149
3149
  status: completed
3150
+ - id: toast-persistent-action-variant
3151
+ subject: Add onAction/actionLabel/duration:0-persistent support to the kit's toast() (editor-primitives.js:637-653), matching docstudio's update-check.js:18-30 click-to-reload pattern - currently toast() only supports message/kind/duration and always self-dismisses via setTimeout, with no way to render a non-auto-dismissing actionable CTA toast
3152
+ witness: 'Browser-witnessed live on localhost:3009/gm/: imported the vendored kit module directly and called toast({message,kind,duration:0,actionLabel:''Reload'',onAction}) - hasActionEl:true, btnText:''Reload'', clicking the button fired onAction with the dismiss callback (actionFired:true). Verified backward compat: plain toast({message,kind,duration}) with no actionLabel/onAction renders with no has-action class and no button. Kit built+tested (bun test.js all pass, node scripts/generate-component-docs.mjs --check clean, node scripts/build.mjs 0 lint errors). Kit pushed b5530cb->e93f4f7 (one dist-only rebase + one component-docs-lint fix), all 3 kit CI checks green. Re-vendored into agentgui, 0 pageErrors, bodyLen:19466, hasAgentgui:true.'
3153
+ status: completed
3154
+ commit_comment: persistent action-CTA toast variant (docstudio update-check.js cue, confirming-pass finding)
package/AGENTS.md CHANGED
@@ -1,12 +1,16 @@
1
1
  # AgentGUI — Agent Notes
2
2
 
3
+ ## Docstudio design-cue follow-up (2026-07-17) — forty-sixth run, confirming pass
4
+
5
+ Per gm-continue's mandatory first-confirming-pass discipline, a second independent Explore-agent survey (told what runs 42-46 already shipped, including the aria-live fix above) checked docstudio's remaining source (`update-check.js`, `debug-panel.js`, `chat-tabs.js`, `chat-model-selector.js`, `webview-detector.js`, `xls-preview.js`, `doc-tab.js`, `chat-approval-prompts.js`) and found one more narrow, real prop-surface gap: the kit's `toast()` (`editor-primitives.js:637`) only supported a self-dismissing `{message,kind,duration}` shape, unlike docstudio's `update-check.js:18-30` persistent click-to-reload notification bar. Added `actionLabel`/`onAction` props rendering a non-auto-dismissing button (`duration:0` already worked; the gap was no action-button support) — `.ds-ep-toast-action` styled with `--space-*` tokens (a first attempt with raw px literals tripped the frozen spacing-lint baseline, caught by `node scripts/build.mjs` before commit). CI caught a real miss on first push: `docs/component-props.md` was stale after the new `toast()` signature (`node scripts/generate-component-docs.mjs --check` lint), fixed by regenerating and re-pushing — a genuine CI-catches-a-real-gap case, not flakiness. Kit rebased twice cleanly onto concurrent `v0.0.350`/`v0.0.351` releases (dist-only, rebuilt fresh both times). Kit pushed `b5530cb`→`e93f4f7`, all 3 kit CI checks green. Browser-witnessed live on `localhost:3009/gm/` by importing the vendored module directly and calling `toast()` both ways: action variant renders `.ds-ep-toast.has-action` with a working `Reload` button whose click fires `onAction(dismiss)`; plain toast (no `actionLabel`/`onAction`) renders with no `has-action` class and no button, confirming backward compatibility. agentgui re-vendored, pushed `ed36a36`→`3a59c3b`, all 4 CI checks green. A second confirming pass after this one found nothing further.
6
+
3
7
  ## Docstudio design-cue follow-up (2026-07-17) — forty-sixth run
4
8
 
5
9
  Fourth docstudio-cue pass, same directive repeated a fourth time. A fresh Explore-agent survey of `/config/docstudio` (told explicitly what runs 42-45 already shipped — toasts/Skeleton/Alert/Badge-tone/dialogs/breadcrumbs/inline-error-retry/Avatar/sidePanel/sortable-Table/streamingSince/coarse-pointer Enter-gating/CountdownDialog/PermissionMenu/detectAttachment/RTL support) came back with the low-hanging fruit exhausted: only 1 genuinely new, verified-missing candidate survived (a second, "self-retry dropdown trigger" candidate had no existing async-populated-dropdown call site in the kit to wire it to, so it was explicitly skipped as speculative unused plumbing rather than implemented). Landed: `chat.js`'s two `role=log` chat-thread containers (`chat.js:533`,`581`) and `agent-chat.js`'s one (`agent-chat.js:476`) gained `aria-live="polite" aria-relevant="additions"`, matching docstudio's `chat-tabs.js:62-65` pairing, so new messages announce to screen readers without spamming on every streamed token — verified by source that `aria-relevant=additions` only fires on new keyed-sibling insertion (`agent-chat.js:582`'s `...all.map((m,i)=>ChatMessage({...m,key:...}))`), not on in-place text mutation within an existing message's subtree during streaming. Also fixed, as a genuinely unrelated hygiene issue surfaced mid-rebase: `test.js`'s `lint-tokens.mjs spacing report` check regexed for the old `[lint-spacing] REPORT — N raw` format, but upstream `v0.0.349`'s "ratcheted spacing lint" consolidation changed the script's own stdout to `PASS — N <= baseline N`, silently breaking the regression check's ability to catch anything post-rebase — widened the regex to match both formats. Kit built+tested (`bun test.js` all pass post-fix), rebased cleanly onto `v0.0.348`/`v0.0.349` (one dist-only conflict, resolved by rebuilding `dist/247420.js` fresh rather than hand-merging generated code — the standing discipline). Kit pushed `8436f0a`→`f81f93d`, all 3 kit CI checks green (ci/Publish/Deploy-GH-Pages). agentgui re-vendored both dist files, browser-witnessed live on `localhost:3009/gm/` (`bodyLen:19429`, `hasAgentgui:true`, 0 console errors, `.agentchat-thread` confirmed via `page.evaluate` to carry `role=log aria-live=polite aria-relevant=additions`), pushed `e84cf26`→`639b78e`, all 4 CI checks green (Test/Publish-and-Release/Auto-Declaudeify/Deploy-GH-Pages) — the `Test` job's `bun install` step took an unusually long ~13 minutes this run (likely npm-registry propagation delay for the just-published kit version) before completing green; not a hang, just slow.
6
10
 
7
11
  ## Docstudio design-cue follow-up (2026-07-17) — forty-fifth run
8
12
 
9
- Third docstudio-cue pass, same directive repeated. A fresh Explore-agent survey of `/config/docstudio` (told explicitly what the 43rd/44th runs already shipped — toasts/Skeleton/Alert/Badge-tone/dialogs/breadcrumbs/inline-error-retry/Avatar/sidePanel/sortable-Table) returned 5 new candidates, all implemented in the kit: `ChatComposer`/`AgentChat` gained a `streamingSince` prop rendering a `role=status` tabular-nums elapsed-time counter next to the stop control while streaming (docstudio `chat-input.js:71-96`), self-ticking via an interval keyed off the passed timestamp so re-renders don't reset it; Enter-to-send is now gated behind a module-cached `matchMedia('(pointer:coarse)')` check (docstudio `chat-input.js:116-125`) — coarse-pointer devices insert a newline and see "Tap Send to send" instead of the Enter hint; a `CountdownDialog({title,message,seconds,onExpire,actions})` primitive landed in `files-modals.js` (docstudio `google-reconnect.js:41-75`'s live sign-out countdown), composing over the same `Modal()`/`Backdrop()` shell `ConfirmDialog`/`PromptDialog` already use in that file rather than `editor-primitives.js`'s standalone `Dialog` — a deviation from the initial spec once the actual established pattern was traced; a `PermissionMenu({categories,approved,onToggle,onToggleAll})` primitive landed in `overlay-primitives.js` (docstudio `tool-approval-panel.js`'s roving-tabindex `menuitemcheckbox` list), mirroring `Dropdown`'s existing open/close/outside-click wiring; `ChatComposer` gained an optional `detectAttachment(text)=>{type,label,id}|null` prop rendering a dismissible `.chat-composer-detected-badge` above the textarea (docstudio `chat-input.js:49-62`'s pasted-URL sniff), built as imperative DOM matching `flashComposerNote`'s own style rather than a VElement tree. Implementation delegated to a background worktree agent; `bun test.js` 38/38 pass, `node scripts/build.mjs` 0 lint errors across all 7 lints. A concurrent upstream release (`v0.0.344`/`v0.0.345`, RTL `applyDirection`/`getDirection` support) landed mid-pass — rebased cleanly, `dist/247420.js` rebuilt fresh post-rebase (dist is gitignored in the kit repo but tracked via a separate publish step), re-tested. Kit pushed `5c0571e`→`1d46202`. agentgui re-vendored both dist files, browser-witnessed live on `localhost:3009/gm/` (`bodyLen:19739`, `hasAgentgui:true`, 0 pageErrors), grep-confirmed all 5 feature-specific strings (`CountdownDialog`, `PermissionMenu`, `chat-composer-elapsed`, `chat-composer-detected-badge`) present in the re-vendored bundle before pushing.
13
+ Third docstudio-cue pass: 5 new candidates landed (ChatComposer streamingSince elapsed counter, coarse-pointer Enter-gating, CountdownDialog, PermissionMenu, detectAttachment badge). Full detail in rs-learn (recall "agentgui-45th-run-docstudio-full-detail"). Kit pushed `5c0571e`→`1d46202`, agentgui re-vendored and pushed, browser-witnessed clean.
10
14
 
11
15
  ## Docstudio design-cue follow-up (2026-07-17) — forty-fourth run
12
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentgui",
3
- "version": "1.0.1078",
3
+ "version": "1.0.1080",
4
4
  "description": "Multi-agent ACP client with real-time communication",
5
5
  "type": "module",
6
6
  "main": "electron/main.js",
@@ -9048,6 +9048,23 @@
9048
9048
  .ds-247420 .ds-ep-toast.kind-warn { border-left-color: var(--warn); }
9049
9049
  .ds-247420 .ds-ep-toast.kind-error { border-left-color: var(--danger); }
9050
9050
  .ds-247420 .ds-ep-toast.leaving { opacity: 0; transform: translateY(-6px); }
9051
+ .ds-247420 .ds-ep-toast.has-action {
9052
+ display: flex; align-items: center; gap: var(--space-2);
9053
+ }
9054
+ .ds-247420 .ds-ep-toast-msg { flex: 1; }
9055
+ .ds-247420 .ds-ep-toast-action {
9056
+ flex-shrink: 0;
9057
+ background: transparent;
9058
+ color: var(--accent-ink, var(--accent));
9059
+ border: none;
9060
+ font: inherit;
9061
+ font-weight: 600;
9062
+ padding: var(--space-1) var(--space-1-75);
9063
+ border-radius: var(--r-1, 6px);
9064
+ cursor: pointer;
9065
+ }
9066
+ .ds-247420 .ds-ep-toast-action:hover { background: var(--panel-2, var(--panel-bg)); }
9067
+ .ds-247420 .ds-ep-toast-action:focus-visible { outline: 2px solid var(--accent-ink, var(--accent)); outline-offset: 1px; }
9051
9068
  @media (max-width: 480px) {
9052
9069
  .ds-247420 .ds-ep-toast-host { left: 16px; right: 16px; align-items: center; }
9053
9070
  .ds-247420 .ds-ep-toast { width: 100%; max-width: 100%; }