agentgui 1.0.95 → 1.0.96

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.
@@ -160,6 +160,12 @@ class AgentGUIClient {
160
160
  this.startExecution();
161
161
  }
162
162
  });
163
+
164
+ this.ui.messageInput.addEventListener('input', () => {
165
+ const el = this.ui.messageInput;
166
+ el.style.height = 'auto';
167
+ el.style.height = Math.min(el.scrollHeight, 150) + 'px';
168
+ });
163
169
  }
164
170
 
165
171
  // Setup theme toggle
@@ -344,7 +350,9 @@ class AgentGUIClient {
344
350
  scrollToBottom() {
345
351
  const scrollContainer = document.getElementById('output-scroll');
346
352
  if (scrollContainer) {
347
- scrollContainer.scrollTop = scrollContainer.scrollHeight;
353
+ requestAnimationFrame(() => {
354
+ scrollContainer.scrollTop = scrollContainer.scrollHeight;
355
+ });
348
356
  }
349
357
  }
350
358
 
@@ -567,7 +575,10 @@ class AgentGUIClient {
567
575
  return;
568
576
  }
569
577
 
570
- if (this.ui.messageInput) this.ui.messageInput.value = '';
578
+ if (this.ui.messageInput) {
579
+ this.ui.messageInput.value = '';
580
+ this.ui.messageInput.style.height = 'auto';
581
+ }
571
582
 
572
583
  try {
573
584
  if (this.state.currentConversation?.id) {
@@ -10,36 +10,39 @@
10
10
  let dragCounter = 0;
11
11
 
12
12
  function init() {
13
- setupHamburgerMenu();
13
+ setupSidebarToggle();
14
14
  setupDragAndDrop();
15
15
  setupViewToggle();
16
16
  setupConversationListener();
17
17
  }
18
18
 
19
- // --- Hamburger Menu & Mobile Sidebar ---
20
- function setupHamburgerMenu() {
21
- const hamburger = document.querySelector('[data-hamburger]');
22
- const sidebar = document.querySelector('[data-sidebar]');
23
- const overlay = document.querySelector('[data-sidebar-overlay]');
19
+ function setupSidebarToggle() {
20
+ var toggleBtn = document.querySelector('[data-sidebar-toggle]');
21
+ var sidebar = document.querySelector('[data-sidebar]');
22
+ var overlay = document.querySelector('[data-sidebar-overlay]');
24
23
 
25
- if (!hamburger || !sidebar) return;
24
+ if (!sidebar) return;
26
25
 
27
- hamburger.addEventListener('click', function(e) {
28
- e.stopPropagation();
29
- const isOpen = sidebar.classList.contains('mobile-visible');
30
- if (isOpen) {
31
- closeSidebar();
26
+ var savedState = localStorage.getItem('sidebar-collapsed');
27
+ if (savedState === 'true' && window.innerWidth > 768) {
28
+ sidebar.classList.add('collapsed');
29
+ }
30
+
31
+ function isMobile() { return window.innerWidth <= 768; }
32
+
33
+ function toggleSidebar() {
34
+ if (isMobile()) {
35
+ var isOpen = sidebar.classList.contains('mobile-visible');
36
+ if (isOpen) { closeSidebar(); } else { openSidebar(); }
32
37
  } else {
33
- openSidebar();
38
+ sidebar.classList.toggle('collapsed');
39
+ localStorage.setItem('sidebar-collapsed', sidebar.classList.contains('collapsed'));
34
40
  }
35
- });
36
-
37
- if (overlay) {
38
- overlay.addEventListener('click', closeSidebar);
39
41
  }
40
42
 
41
43
  function openSidebar() {
42
44
  sidebar.classList.add('mobile-visible');
45
+ sidebar.classList.remove('collapsed');
43
46
  if (overlay) overlay.classList.add('visible');
44
47
  }
45
48
 
@@ -48,17 +51,32 @@
48
51
  if (overlay) overlay.classList.remove('visible');
49
52
  }
50
53
 
51
- // Close sidebar when conversation is selected (mobile)
52
- window.addEventListener('conversation-selected', function() {
53
- if (window.innerWidth <= 768) {
54
- closeSidebar();
54
+ if (toggleBtn) {
55
+ toggleBtn.addEventListener('click', function(e) {
56
+ e.stopPropagation();
57
+ toggleSidebar();
58
+ });
59
+ }
60
+
61
+ if (overlay) {
62
+ overlay.addEventListener('click', closeSidebar);
63
+ }
64
+
65
+ document.addEventListener('keydown', function(e) {
66
+ if ((e.ctrlKey || e.metaKey) && e.key === 'b') {
67
+ e.preventDefault();
68
+ toggleSidebar();
55
69
  }
56
70
  });
57
71
 
58
- // Close sidebar on window resize to desktop
72
+ window.addEventListener('conversation-selected', function() {
73
+ if (isMobile()) closeSidebar();
74
+ });
75
+
59
76
  window.addEventListener('resize', function() {
60
- if (window.innerWidth > 768) {
61
- closeSidebar();
77
+ if (!isMobile()) {
78
+ sidebar.classList.remove('mobile-visible');
79
+ if (overlay) overlay.classList.remove('visible');
62
80
  }
63
81
  });
64
82
  }
@@ -175,7 +193,7 @@
175
193
  currentView = view;
176
194
  var bar = document.getElementById('viewToggleBar');
177
195
  var chatArea = document.getElementById('output-scroll');
178
- var execPanel = document.querySelector('.execution-panel');
196
+ var execPanel = document.querySelector('.input-section');
179
197
  var fileBrowser = document.getElementById('fileBrowserContainer');
180
198
  var iframe = document.getElementById('fileBrowserIframe');
181
199