agentgui 1.0.95 → 1.0.97
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 +1 -1
- package/static/index.html +422 -977
- package/static/js/client.js +13 -2
- package/static/js/features.js +43 -25
package/static/js/client.js
CHANGED
|
@@ -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
|
-
|
|
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)
|
|
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) {
|
package/static/js/features.js
CHANGED
|
@@ -10,36 +10,39 @@
|
|
|
10
10
|
let dragCounter = 0;
|
|
11
11
|
|
|
12
12
|
function init() {
|
|
13
|
-
|
|
13
|
+
setupSidebarToggle();
|
|
14
14
|
setupDragAndDrop();
|
|
15
15
|
setupViewToggle();
|
|
16
16
|
setupConversationListener();
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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 (!
|
|
24
|
+
if (!sidebar) return;
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
72
|
+
window.addEventListener('conversation-selected', function() {
|
|
73
|
+
if (isMobile()) closeSidebar();
|
|
74
|
+
});
|
|
75
|
+
|
|
59
76
|
window.addEventListener('resize', function() {
|
|
60
|
-
if (
|
|
61
|
-
|
|
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('.
|
|
196
|
+
var execPanel = document.querySelector('.input-section');
|
|
179
197
|
var fileBrowser = document.getElementById('fileBrowserContainer');
|
|
180
198
|
var iframe = document.getElementById('fileBrowserIframe');
|
|
181
199
|
|