agentgui 1.0.117 → 1.0.119

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.117",
3
+ "version": "1.0.119",
4
4
  "description": "Multi-agent ACP client with real-time communication",
5
5
  "type": "module",
6
6
  "main": "server.js",
package/static/app.js CHANGED
@@ -203,9 +203,14 @@ class GMGUIApp {
203
203
  throw new Error('Not a claude_execution message');
204
204
  }
205
205
  } catch (e) {
206
- // Fallback: render as plain text
207
- const text = typeof message.content === 'string' ? message.content : JSON.stringify(message.content);
208
- contentHtml = `<div class="message-content">${this.escapeHtml(text)}</div>`;
206
+ // Fallback: try to parse and beautify, or render as plain text
207
+ try {
208
+ const parsed = typeof message.content === 'string' ? JSON.parse(message.content) : message.content;
209
+ contentHtml = `<div class="message-content">${this.renderParameters(parsed)}</div>`;
210
+ } catch (parseErr) {
211
+ const text = typeof message.content === 'string' ? message.content : JSON.stringify(message.content);
212
+ contentHtml = `<div class="message-content"><pre>${this.escapeHtml(text)}</pre></div>`;
213
+ }
209
214
  }
210
215
 
211
216
  msgEl.innerHTML = contentHtml;
@@ -241,7 +246,12 @@ class GMGUIApp {
241
246
  html += `<strong>Result:</strong>`;
242
247
  let resultHtml;
243
248
  if (typeof block.result === 'string') {
244
- resultHtml = `<pre>${this.escapeHtml(block.result)}</pre>`;
249
+ try {
250
+ const parsed = JSON.parse(block.result);
251
+ resultHtml = this.renderParameters(parsed);
252
+ } catch (e) {
253
+ resultHtml = `<pre>${this.escapeHtml(block.result)}</pre>`;
254
+ }
245
255
  } else {
246
256
  resultHtml = this.renderParameters(block.result);
247
257
  }
@@ -358,9 +368,14 @@ class GMGUIApp {
358
368
  throw new Error('Not a claude_execution message');
359
369
  }
360
370
  } catch (e) {
361
- // Fallback: render as plain text
362
- const text = typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content);
363
- contentHtml = `<div class="message-content">${this.escapeHtml(text)}</div>`;
371
+ // Fallback: try to parse and beautify, or render as plain text
372
+ try {
373
+ const parsed = typeof msg.content === 'string' ? JSON.parse(msg.content) : msg.content;
374
+ contentHtml = `<div class="message-content">${this.renderParameters(parsed)}</div>`;
375
+ } catch (parseErr) {
376
+ const text = typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content);
377
+ contentHtml = `<div class="message-content"><pre>${this.escapeHtml(text)}</pre></div>`;
378
+ }
364
379
  }
365
380
 
366
381
  msgEl.innerHTML = contentHtml;
package/static/styles.css CHANGED
@@ -86,7 +86,6 @@ html, body {
86
86
  .sidebar {
87
87
  width: 280px;
88
88
  background: var(--bg-primary);
89
- border-right: 1px solid var(--border-color);
90
89
  display: flex;
91
90
  flex-direction: column;
92
91
  flex-shrink: 0;
@@ -96,7 +95,6 @@ html, body {
96
95
 
97
96
  .sidebar-header {
98
97
  padding: 1.5rem 1.25rem;
99
- border-bottom: 1px solid var(--border-color);
100
98
  display: flex;
101
99
  align-items: center;
102
100
  justify-content: space-between;
@@ -133,7 +131,6 @@ html, body {
133
131
  margin: 1rem 1.25rem;
134
132
  padding: 0.625rem 1rem;
135
133
  background: var(--bg-tertiary);
136
- border: 1px solid var(--border-color);
137
134
  border-radius: 0.5rem;
138
135
  font-size: 0.875rem;
139
136
  font-weight: 500;
@@ -175,7 +172,6 @@ html, body {
175
172
  .chat-item {
176
173
  padding: 0.75rem;
177
174
  background: var(--bg-secondary);
178
- border: 1px solid transparent;
179
175
  border-radius: 0.5rem;
180
176
  cursor: pointer;
181
177
  transition: var(--transition-smooth);
@@ -220,13 +216,11 @@ html, body {
220
216
 
221
217
  .chat-item:hover {
222
218
  background: var(--bg-tertiary);
223
- border-color: var(--border-color);
224
219
  }
225
220
 
226
221
  .chat-item.active {
227
222
  background: var(--color-primary-lighter);
228
223
  color: var(--color-primary);
229
- border-color: var(--color-primary);
230
224
  font-weight: 500;
231
225
  }
232
226
 
@@ -242,7 +236,6 @@ html, body {
242
236
 
243
237
  .sidebar-footer {
244
238
  padding: 0 1.25rem 1.5rem;
245
- border-top: 1px solid var(--border-color);
246
239
  margin-top: 1rem;
247
240
  }
248
241
 
@@ -250,7 +243,6 @@ html, body {
250
243
  width: 100%;
251
244
  padding: 0.625rem 1rem;
252
245
  background: var(--bg-tertiary);
253
- border: 1px solid var(--border-color);
254
246
  border-radius: 0.5rem;
255
247
  font-size: 0.875rem;
256
248
  font-weight: 500;
@@ -301,7 +293,6 @@ html, body {
301
293
  gap: 0.75rem;
302
294
  padding: 1rem;
303
295
  background: var(--bg-secondary);
304
- border: 1px solid var(--border-color);
305
296
  border-radius: 0.5rem;
306
297
  font-size: 0.875rem;
307
298
  color: var(--text-secondary);
@@ -361,7 +352,6 @@ html, body {
361
352
  .agent-card {
362
353
  padding: 1rem 1.5rem;
363
354
  background: var(--bg-secondary);
364
- border: 1px solid var(--border-color);
365
355
  border-radius: 0.5rem;
366
356
  cursor: pointer;
367
357
  transition: var(--transition-smooth);
@@ -378,14 +368,12 @@ html, body {
378
368
 
379
369
  .agent-card:hover {
380
370
  background: var(--bg-tertiary);
381
- border-color: var(--color-primary);
382
371
  color: var(--color-primary);
383
372
  }
384
373
 
385
374
  .agent-card.active {
386
375
  background: var(--color-primary-lighter);
387
376
  color: var(--color-primary);
388
- border-color: var(--color-primary);
389
377
  font-weight: 500;
390
378
  }
391
379
 
@@ -405,7 +393,6 @@ html, body {
405
393
  .chat-input-section {
406
394
  padding: 1.5rem 2rem;
407
395
  background: var(--bg-primary);
408
- border-top: 1px solid var(--border-color);
409
396
  flex-shrink: 0;
410
397
  min-height: 60px; /* Ensure input area never becomes too small */
411
398
  }
@@ -419,7 +406,6 @@ html, body {
419
406
  .chat-input {
420
407
  flex: 1;
421
408
  padding: 0.75rem 1rem;
422
- border: 1px solid var(--border-color);
423
409
  border-radius: 0.75rem;
424
410
  font-family: inherit;
425
411
  font-size: 1rem;
@@ -447,7 +433,6 @@ html, body {
447
433
  .action-btn {
448
434
  padding: 0.625rem;
449
435
  background: var(--bg-secondary);
450
- border: 1px solid var(--border-color);
451
436
  border-radius: 0.5rem;
452
437
  cursor: pointer;
453
438
  color: var(--text-tertiary);
@@ -461,14 +446,12 @@ html, body {
461
446
 
462
447
  .action-btn:hover {
463
448
  background: var(--bg-tertiary);
464
- border-color: var(--color-primary);
465
449
  color: var(--color-primary);
466
450
  }
467
451
 
468
452
  .action-btn.send-btn {
469
453
  background: var(--color-primary);
470
454
  color: white;
471
- border-color: var(--color-primary);
472
455
  }
473
456
 
474
457
  .action-btn.send-btn:hover {
@@ -478,7 +461,6 @@ html, body {
478
461
  .action-btn.send-btn:disabled {
479
462
  background: var(--bg-tertiary);
480
463
  color: var(--text-tertiary);
481
- border-color: var(--border-color);
482
464
  cursor: not-allowed;
483
465
  }
484
466
 
@@ -486,7 +468,6 @@ html, body {
486
468
  .chat-footer {
487
469
  padding: 1rem 2rem;
488
470
  background: var(--bg-secondary);
489
- border-top: 1px solid var(--border-color);
490
471
  flex-shrink: 0;
491
472
  font-size: 0.8rem;
492
473
  }
@@ -535,7 +516,6 @@ html, body {
535
516
 
536
517
  .settings-header {
537
518
  padding: 1.5rem;
538
- border-bottom: 1px solid var(--border-color);
539
519
  display: flex;
540
520
  justify-content: space-between;
541
521
  align-items: center;
@@ -568,7 +548,6 @@ html, body {
568
548
 
569
549
  .setting-group {
570
550
  padding: 1.5rem;
571
- border-bottom: 1px solid var(--border-color);
572
551
  }
573
552
 
574
553
  .setting-group:last-child {
@@ -595,7 +574,6 @@ html, body {
595
574
  .gm-input {
596
575
  width: 100%;
597
576
  padding: 0.75rem;
598
- border: 1px solid var(--border-color);
599
577
  border-radius: 0.5rem;
600
578
  font-size: 0.875rem;
601
579
  font-family: inherit;
@@ -638,7 +616,6 @@ html, body {
638
616
  .message.assistant .message-bubble {
639
617
  background: var(--bg-secondary);
640
618
  color: var(--text-primary);
641
- border: 1px solid var(--border-color);
642
619
  }
643
620
 
644
621
  .message.system .message-bubble {
@@ -660,7 +637,6 @@ html, body {
660
637
  .stream-text-block {
661
638
  padding: 0.75rem 1rem;
662
639
  background: var(--bg-secondary);
663
- border: 1px solid var(--border-color);
664
640
  border-radius: 0.5rem;
665
641
  color: var(--text-primary);
666
642
  word-wrap: break-word;
@@ -680,14 +656,12 @@ html, body {
680
656
  .stream-error {
681
657
  padding: 0.5rem 0.75rem;
682
658
  background: rgba(239, 68, 68, 0.1);
683
- border: 1px solid var(--color-danger);
684
659
  border-radius: 0.5rem;
685
660
  color: var(--color-danger);
686
661
  font-size: 0.875rem;
687
662
  }
688
663
 
689
664
  .thought-block {
690
- border: 1px solid var(--border-color);
691
665
  border-radius: 0.5rem;
692
666
  overflow: hidden;
693
667
  }
@@ -716,7 +690,6 @@ html, body {
716
690
  }
717
691
 
718
692
  .tool-block {
719
- border: 1px solid var(--border-color);
720
693
  border-radius: 0.5rem;
721
694
  overflow: hidden;
722
695
  font-size: 0.875rem;
@@ -793,7 +766,6 @@ html, body {
793
766
  }
794
767
 
795
768
  .plan-block {
796
- border: 1px solid var(--border-color);
797
769
  border-radius: 0.5rem;
798
770
  overflow: hidden;
799
771
  }
@@ -813,7 +785,6 @@ html, body {
813
785
  }
814
786
 
815
787
  .html-block {
816
- border: 1px solid var(--border-color);
817
788
  border-radius: 0.5rem;
818
789
  overflow: visible;
819
790
  background: var(--bg-secondary);
@@ -826,7 +797,6 @@ html, body {
826
797
  font-weight: 500;
827
798
  font-size: 0.75rem;
828
799
  color: white;
829
- border-bottom: 1px solid var(--border-color);
830
800
  text-transform: uppercase;
831
801
  letter-spacing: 0.5px;
832
802
  }
@@ -837,7 +807,6 @@ html, body {
837
807
  }
838
808
 
839
809
  .code-block {
840
- border: 1px solid var(--border-color);
841
810
  border-radius: 0.5rem;
842
811
  overflow-x: auto;
843
812
  background: var(--bg-tertiary);
@@ -860,7 +829,6 @@ html, body {
860
829
 
861
830
  .image-block {
862
831
  flex: 0 1 100%;
863
- border: 1px solid var(--border-color);
864
832
  border-radius: 0.5rem;
865
833
  overflow: hidden;
866
834
  background: var(--bg-secondary);
@@ -873,7 +841,6 @@ html, body {
873
841
  font-weight: 500;
874
842
  font-size: 0.875rem;
875
843
  color: var(--text-primary);
876
- border-bottom: 1px solid var(--border-color);
877
844
  }
878
845
 
879
846
  .image-content {
@@ -891,7 +858,6 @@ html, body {
891
858
  padding: 0.5rem 1rem;
892
859
  font-size: 0.875rem;
893
860
  color: var(--text-secondary);
894
- border-bottom: 1px solid var(--border-color);
895
861
  background: var(--bg-secondary);
896
862
  transition: var(--transition-smooth);
897
863
  }
@@ -996,7 +962,6 @@ html, body {
996
962
 
997
963
  .gm-modal-header {
998
964
  padding: 1.5rem;
999
- border-bottom: 1px solid var(--border-color);
1000
965
  display: flex;
1001
966
  justify-content: space-between;
1002
967
  align-items: center;
@@ -1018,7 +983,6 @@ html, body {
1018
983
 
1019
984
  .gm-modal-footer {
1020
985
  padding: 1rem 1.5rem;
1021
- border-top: 1px solid var(--border-color);
1022
986
  display: flex;
1023
987
  gap: 0.75rem;
1024
988
  justify-content: flex-end;
@@ -1030,7 +994,6 @@ html, body {
1030
994
  gap: 1rem;
1031
995
  padding: 1rem 1.25rem;
1032
996
  background: var(--bg-secondary);
1033
- border: 1px solid var(--border-color);
1034
997
  border-radius: 0.5rem;
1035
998
  cursor: pointer;
1036
999
  transition: var(--transition-smooth);
@@ -1040,7 +1003,6 @@ html, body {
1040
1003
 
1041
1004
  .chat-option-btn:hover {
1042
1005
  background: var(--bg-tertiary);
1043
- border-color: var(--color-primary);
1044
1006
  }
1045
1007
 
1046
1008
  .chat-option-btn:active {
@@ -1112,7 +1074,6 @@ html, body {
1112
1074
  .gm-btn-secondary {
1113
1075
  background: var(--bg-tertiary);
1114
1076
  color: var(--text-primary);
1115
- border: 1px solid var(--border-color);
1116
1077
  }
1117
1078
 
1118
1079
  .gm-btn-secondary:hover {
@@ -1502,7 +1463,6 @@ p code {
1502
1463
  /* Metadata display */
1503
1464
  .response-metadata {
1504
1465
  background: #f9f9f9;
1505
- border: 1px solid #e0e0e0;
1506
1466
  border-radius: 8px;
1507
1467
  padding: 1rem;
1508
1468
  margin: 1rem 0 0 0;
@@ -1551,7 +1511,6 @@ p code {
1551
1511
 
1552
1512
  .metadata-section.thinking {
1553
1513
  background: #fff9e6;
1554
- border: 1px solid #f5e6cc;
1555
1514
  }
1556
1515
 
1557
1516
  .metadata-section.thinking summary {
@@ -1707,7 +1666,6 @@ p code {
1707
1666
  padding: 0.75rem 1rem;
1708
1667
  border-radius: 0.5rem;
1709
1668
  background: var(--bg-secondary);
1710
- border: 1px solid var(--border-color);
1711
1669
  word-wrap: break-word;
1712
1670
  }
1713
1671
 
@@ -1765,18 +1723,15 @@ p code {
1765
1723
  .block-text a {
1766
1724
  color: var(--color-primary);
1767
1725
  text-decoration: none;
1768
- border-bottom: 1px solid transparent;
1769
1726
  transition: var(--transition-fast);
1770
1727
  }
1771
1728
 
1772
1729
  .block-text a:hover {
1773
- border-bottom-color: var(--color-primary);
1774
1730
  text-decoration: underline;
1775
1731
  }
1776
1732
 
1777
1733
  .block-tool-use {
1778
1734
  background: rgba(59, 130, 246, 0.05);
1779
- border: 1px solid rgba(59, 130, 246, 0.2);
1780
1735
  border-radius: 0.5rem;
1781
1736
  padding: 0.75rem;
1782
1737
  }
@@ -1816,7 +1771,6 @@ p code {
1816
1771
 
1817
1772
  .block-tool-result {
1818
1773
  background: rgba(16, 185, 129, 0.05);
1819
- border: 1px solid rgba(16, 185, 129, 0.2);
1820
1774
  border-radius: 0.5rem;
1821
1775
  padding: 0.75rem;
1822
1776
  }
@@ -1853,7 +1807,6 @@ p code {
1853
1807
 
1854
1808
  .block-file-op {
1855
1809
  background: rgba(245, 158, 11, 0.05);
1856
- border: 1px solid rgba(245, 158, 11, 0.2);
1857
1810
  border-radius: 0.5rem;
1858
1811
  padding: 0.75rem;
1859
1812
  }