agentgui 1.0.1069 → 1.0.1070

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentgui",
3
- "version": "1.0.1069",
3
+ "version": "1.0.1070",
4
4
  "description": "Multi-agent ACP client with real-time communication",
5
5
  "type": "module",
6
6
  "main": "electron/main.js",
@@ -2326,14 +2326,11 @@ function chatMain() {
2326
2326
  Btn({ key: 'ceyes', danger: true, onClick: confirmEditAndResend, children: isRetry ? 'retry' : 'continue' })] }));
2327
2327
  }
2328
2328
  const lastMsg = state.chat.messages.length ? state.chat.messages[state.chat.messages.length - 1] : null;
2329
- const lastErr = lastMsg ? lastMsg.error : null;
2330
- if (lastErr && !state.chat.busy) {
2331
- banners.push(Alert({ key: 'chaterr', kind: 'error', title: 'Message failed',
2332
- children: [
2333
- h('span', { key: 'cetxt', title: lastMsg.errorRaw || lastErr }, lastErr + ' '),
2334
- Btn({ key: 'ceretry', onClick: () => { delete lastMsg.error; delete lastMsg.errorRaw; retryLastTurn(); }, children: 'retry' }),
2335
- Btn({ key: 'cedismiss', onClick: () => { if (lastMsg) { delete lastMsg.error; delete lastMsg.errorRaw; persistChat(); render(); } }, children: 'dismiss' })] }));
2336
- }
2329
+ // A failed dangling message now surfaces its error inline on that specific
2330
+ // turn (ChatMessage's error/onRetry, wired through AgentChat's message
2331
+ // mapper) instead of a separate top-of-thread banner duplicating the same
2332
+ // failure - kept as one signal, not two, matching the docstudio per-turn
2333
+ // error pattern.
2337
2334
 
2338
2335
  const placeholder = !state.selectedAgent
2339
2336
  ? 'choose an agent first'
@@ -5410,6 +5410,19 @@
5410
5410
  .ds-247420 .ds-chat-detail { display: block; position: sticky; top: 0; }
5411
5411
  }
5412
5412
 
5413
+ /* Avatar — generic identity disc primitive (content.js Avatar). Sized
5414
+ variants mirror the existing chat-avatar/community-avatar footprints so
5415
+ any consumer gets a consistent disc without duplicating the CSS. */
5416
+ .ds-247420 .ds-avatar {
5417
+ display: inline-flex; align-items: center; justify-content: center;
5418
+ border-radius: 50%; background: var(--bg-3); color: var(--fg);
5419
+ font-family: var(--ff-mono); font-weight: 600; text-transform: lowercase;
5420
+ letter-spacing: 0.02em; user-select: none; flex-shrink: 0; object-fit: cover;
5421
+ }
5422
+ .ds-247420 .ds-avatar-sm { width: 24px; height: 24px; font-size: 10px; }
5423
+ .ds-247420 .ds-avatar-md { width: 36px; height: 36px; font-size: 12px; }
5424
+ .ds-247420 .ds-avatar-lg { width: 48px; height: 48px; font-size: 15px; }
5425
+
5413
5426
  /* community.css */
5414
5427
  /* ============================================================
5415
5428
  247420 design system — community surface (Discord-style chat)
@@ -7886,6 +7899,20 @@
7886
7899
  background: var(--bg-2); color: var(--fg-2); font-size: var(--fs-tiny);
7887
7900
  }
7888
7901
  .ds-247420 .chat-msg-notice.is-incomplete { border-style: dashed; }
7902
+ /* Error is the one genuine failure state among these notices — reserving
7903
+ the destructive tone for it (unlike stopped/incomplete, which are neutral
7904
+ "not a finished answer" states, not failures). */
7905
+ .ds-247420 .chat-msg-notice.is-error {
7906
+ border-color: var(--danger); color: var(--danger-ink, var(--danger));
7907
+ display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap;
7908
+ }
7909
+ .ds-247420 .chat-msg-retry-btn {
7910
+ border: var(--bw-hair) solid var(--danger); border-radius: var(--r-1);
7911
+ background: transparent; color: var(--danger-ink, var(--danger));
7912
+ font: inherit; font-size: var(--fs-tiny); padding: 2px 10px; cursor: pointer;
7913
+ }
7914
+ .ds-247420 .chat-msg-retry-btn:hover { background: var(--danger); color: var(--bg); }
7915
+ .ds-247420 .chat-msg-retry-btn:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
7889
7916
 
7890
7917
  /* Tail-window streaming head ('streaming · N KB so far'). */
7891
7918
  .ds-247420 .chat-stream-head {