agentgui 1.0.1086 → 1.0.1087

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 @@
1
+ {"headless": true, "chrome_ready_deadline_ms": 60000}
package/.gm/prd.yml CHANGED
@@ -3139,13 +3139,18 @@
3139
3139
  status: completed
3140
3140
  - id: kit-withbusy-double-fire-guard
3141
3141
  subject: Port docstudio's withButtonBusy async-button double-fire guard as withBusy() (48th run, direct-implementation due to gm-plugkit outage)
3142
- notes: 'docstudio utils/dom-busy.js:5-20 withButtonBusy disables the triggering button + aria-busy + label swap + guaranteed restore via try/finally, dropping re-entry while busy. agentgui had zero button.disabled guards anywhere in app.js. Ported as withBusy() in overlay-primitives.js (raw-DOM utility alongside trapTab/useLongPress), wired onto ACP restart, agent re-check, and both agent-list retry buttons.'
3142
+ notes: docstudio utils/dom-busy.js:5-20 withButtonBusy disables the triggering button + aria-busy + label swap + guaranteed restore via try/finally, dropping re-entry while busy. agentgui had zero button.disabled guards anywhere in app.js. Ported as withBusy() in overlay-primitives.js (raw-DOM utility alongside trapTab/useLongPress), wired onto ACP restart, agent re-check, and both agent-list retry buttons.
3143
3143
  status: completed
3144
3144
  witness: 'Kit built+tested (bun test.js all pass, all lints pass, docs regenerated 0 drift), rebased onto v0.0.354/v0.0.355 cleanly, pushed c7da8c0->bee6ab7, kit CI (Publish/Deploy-GH-Pages/ci) all green. agentgui: browser-witnessed via agent-browser CLI (independent of the broken gm-plugkit spool) - withBusy() live-executed against a real button showed calls:1 for two concurrent invocations (second correctly dropped), disabled:true/aria-busy:true/label swap mid-flight, full restore after; all 4 call-site wirings confirmed present via regex against the live-served /gm/js/app.js source. agentgui pushed 6c8c6bc->ea402c1, all 4 CI checks green.'
3145
- - id: gm-plugkit-wasm-bootstrap-broken
3146
- subject: gm-plugkit spool watcher cannot boot - upstream npm packaging defect
3147
- notes: 'Verified via `npm pack gm-plugkit@2.0.1990` (clean tarball inspection): the published npm package genuinely does not contain a wrapper/ subdirectory (wasi-shim.js, fs-atomic.js, kv-store.js, task-manager.js) that plugkit-wasm-wrapper.js imports from at module load. Reproduced identically across @latest (2.0.1990) and pinned versions 2.0.1988/2.0.1985/2.0.1980/2.0.1975, with fully cleared bun pm cache and rm -rf of /config/.gmweb/cache/plugkit and /config/.gm-tools between attempts - not a local cache/stale-install issue. A separate, distinct failure also seen on retry: plugkit.wasm itself throws a WASI LinkError (`import function env:host_cwd must be callable`) on instantiation even when the wrapper JS modules are manually patched in from a bunx-cached copy. This session worked around the outage entirely: docstudio-cue research via Explore agent (no spool dependency), implementation via direct Read/Edit, live witnessing via the independent agent-browser CLI instead of the gm browser verb, git operations via git_push/git_finalize equivalents run directly through the git CLI (git_status before any push, per the raw-Bash-git-fallback discipline) since git_finalize itself is a spool verb.'
3145
+ - id: kit-spreadsheet-preview-component
3146
+ subject: Add SpreadsheetPreview kit component (tabbed spreadsheet/CSV inline preview, ported from docstudio xls-preview.js)
3147
+ notes: '49th docstudio-mining run: exhaustive fresh survey of all 33 remaining unexamined docstudio files found no new component-worthy gaps except this long-deferred one. Implement design/src/components/spreadsheet-preview.js: workbook/activeSheet/onSheetChange/maxRows/maxCols/truncated/loading/error props, tablist of sheet tabs, sticky-header numeric-aligned table, reuses existing Skeleton/Alert primitives, persistent non-blocking truncation banner, generic error-fallback action. Barrel-export through src/components.js per standing rule.'
3148
+ status: pending
3149
+ - id: kit-spreadsheet-preview-docs-lint-build
3150
+ subject: Build+lint+regenerate docs for SpreadsheetPreview and rebuild dist
3151
+ notes: 'After implementing spreadsheet-preview.js: run bun test.js (must all pass), node scripts/build.mjs (0 lint errors, glyph lint, spacing lint), node scripts/generate-component-docs.mjs to keep docs/component-props.md in sync (a prior run''s CI caught exactly this drift), rebuild dist/247420.{js,css}.'
3152
+ status: pending
3153
+ - id: kit-spreadsheet-preview-push-vendor
3154
+ subject: Push kit change, re-vendor into agentgui, browser-witness live
3155
+ notes: 'git_finalize the design kit repo, then re-vendor dist/247420.{js,css} into agentgui site/app/vendor/anentrypoint-design/, push agentgui, browser-witness the new component live (or via a targeted node/browser eval since no live call site exists yet - at minimum import+render a smoke instance and confirm 4 states render without error: loading, loaded-with-tabs, truncated banner, error fallback).'
3148
3156
  status: pending
3149
- blockedBy:
3150
- - external
3151
- witness: 'npm pack gm-plugkit@2.0.1990 && tar tzf gm-plugkit-2.0.1990.tgz confirms no wrapper/ entries in the published tarball at all, despite plugkit-wasm-wrapper.js:20,31-33 importing 4 files from that path. Not fixable from this repo - the fix belongs in the gm-plugkit npm package itself.'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentgui",
3
- "version": "1.0.1086",
3
+ "version": "1.0.1087",
4
4
  "description": "Multi-agent ACP client with real-time communication",
5
5
  "type": "module",
6
6
  "main": "electron/main.js",
@@ -5423,6 +5423,49 @@
5423
5423
  .ds-247420 .ds-avatar-md { width: 36px; height: 36px; font-size: 12px; }
5424
5424
  .ds-247420 .ds-avatar-lg { width: 48px; height: 48px; font-size: 15px; }
5425
5425
 
5426
+ /* SpreadsheetPreview — tabbed inline spreadsheet/CSV viewer (docstudio
5427
+ xls-preview.js port). Tabs reuse the same neutral-at-rest pattern as
5428
+ Table's sortable headers; the truncation banner is persistent and never
5429
+ hides the table underneath. */
5430
+ .ds-247420 .ds-sheet-preview { display: flex; flex-direction: column; gap: var(--space-2, 8px); min-width: 0; }
5431
+ .ds-247420 .ds-sheet-preview-tabbar {
5432
+ display: flex; gap: var(--space-1, 4px); overflow-x: auto; -webkit-overflow-scrolling: touch;
5433
+ border-bottom: 1px solid var(--border, var(--bg-3));
5434
+ }
5435
+ .ds-247420 .ds-sheet-preview-tab {
5436
+ flex-shrink: 0; background: none; border: none; cursor: pointer;
5437
+ padding: var(--space-1-5, 5px) var(--space-2-5, 10px);
5438
+ font: inherit; color: var(--fg-3); border-bottom: 2px solid transparent;
5439
+ }
5440
+ .ds-247420 .ds-sheet-preview-tab:hover { color: var(--fg); }
5441
+ .ds-247420 .ds-sheet-preview-tab:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: -2px; }
5442
+ .ds-247420 .ds-sheet-preview-tab.is-active { color: var(--fg); border-bottom-color: var(--accent-ink, var(--accent)); }
5443
+ .ds-247420 .ds-sheet-preview-truncated {
5444
+ font-size: var(--fs-tiny, 12px); color: var(--fg-3);
5445
+ padding: var(--space-1, 4px) var(--space-2, 8px);
5446
+ background: var(--bg-2); border-radius: var(--r-1, 6px);
5447
+ }
5448
+ .ds-247420 .ds-sheet-preview-body { overflow: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
5449
+ .ds-247420 .ds-sheet-preview-table { min-width: 100%; border-collapse: collapse; font-size: var(--fs-sm, 13px); }
5450
+ .ds-247420 .ds-sheet-preview-table th, .ds-247420 .ds-sheet-preview-table td {
5451
+ padding: var(--space-1-5, 5px) var(--space-2, 8px);
5452
+ border-bottom: 1px solid var(--border, var(--bg-3));
5453
+ text-align: left; white-space: nowrap;
5454
+ }
5455
+ .ds-247420 .ds-sheet-preview-table thead th {
5456
+ position: sticky; top: 0; background: var(--bg-2); color: var(--fg-3);
5457
+ font-weight: 600; z-index: 1;
5458
+ }
5459
+ .ds-247420 .ds-sheet-preview-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
5460
+ .ds-247420 .ds-sheet-preview-empty { padding: var(--space-3, 16px); color: var(--fg-3); }
5461
+ .ds-247420 .ds-sheet-preview-error-action {
5462
+ align-self: flex-start; background: none; border: 1px solid var(--border, var(--bg-3));
5463
+ border-radius: var(--r-1, 6px); padding: var(--space-1, 4px) var(--space-2-5, 10px);
5464
+ font: inherit; color: var(--fg); cursor: pointer;
5465
+ }
5466
+ .ds-247420 .ds-sheet-preview-error-action:hover { background: var(--bg-2); }
5467
+ .ds-247420 .ds-sheet-preview-error-action:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: 2px; }
5468
+
5426
5469
  /* community.css */
5427
5470
  /* ============================================================
5428
5471
  247420 design system — community surface (Discord-style chat)