open-swarm 0.1.1743070217__py3-none-any.whl → 0.1.1743364176__py3-none-any.whl

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.
Files changed (217) hide show
  1. open_swarm-0.1.1743364176.dist-info/METADATA +286 -0
  2. open_swarm-0.1.1743364176.dist-info/RECORD +260 -0
  3. {open_swarm-0.1.1743070217.dist-info → open_swarm-0.1.1743364176.dist-info}/WHEEL +1 -2
  4. open_swarm-0.1.1743364176.dist-info/entry_points.txt +2 -0
  5. swarm/__init__.py +0 -2
  6. swarm/auth.py +53 -49
  7. swarm/blueprints/README.md +67 -0
  8. swarm/blueprints/burnt_noodles/blueprint_burnt_noodles.py +412 -0
  9. swarm/blueprints/chatbot/blueprint_chatbot.py +98 -0
  10. swarm/blueprints/chatbot/templates/chatbot/chatbot.html +33 -0
  11. swarm/blueprints/digitalbutlers/blueprint_digitalbutlers.py +183 -0
  12. swarm/blueprints/dilbot_universe/blueprint_dilbot_universe.py +285 -0
  13. swarm/blueprints/divine_code/__init__.py +0 -0
  14. swarm/blueprints/divine_code/apps.py +11 -0
  15. swarm/blueprints/divine_code/blueprint_divine_code.py +219 -0
  16. swarm/blueprints/django_chat/apps.py +6 -0
  17. swarm/blueprints/django_chat/blueprint_django_chat.py +84 -0
  18. swarm/blueprints/django_chat/templates/django_chat/django_chat_webpage.html +37 -0
  19. swarm/blueprints/django_chat/urls.py +8 -0
  20. swarm/blueprints/django_chat/views.py +32 -0
  21. swarm/blueprints/echocraft/blueprint_echocraft.py +44 -0
  22. swarm/blueprints/family_ties/apps.py +11 -0
  23. swarm/blueprints/family_ties/blueprint_family_ties.py +152 -0
  24. swarm/blueprints/family_ties/models.py +19 -0
  25. swarm/blueprints/family_ties/serializers.py +7 -0
  26. swarm/blueprints/family_ties/settings.py +16 -0
  27. swarm/blueprints/family_ties/urls.py +10 -0
  28. swarm/blueprints/family_ties/views.py +26 -0
  29. swarm/blueprints/flock/__init__.py +0 -0
  30. swarm/blueprints/gaggle/blueprint_gaggle.py +184 -0
  31. swarm/blueprints/gotchaman/blueprint_gotchaman.py +232 -0
  32. swarm/blueprints/mcp_demo/blueprint_mcp_demo.py +133 -0
  33. swarm/blueprints/messenger/templates/messenger/messenger.html +46 -0
  34. swarm/blueprints/mission_improbable/blueprint_mission_improbable.py +234 -0
  35. swarm/blueprints/monkai_magic/blueprint_monkai_magic.py +248 -0
  36. swarm/blueprints/nebula_shellz/blueprint_nebula_shellz.py +156 -0
  37. swarm/blueprints/omniplex/blueprint_omniplex.py +221 -0
  38. swarm/blueprints/rue_code/__init__.py +0 -0
  39. swarm/blueprints/rue_code/blueprint_rue_code.py +291 -0
  40. swarm/blueprints/suggestion/blueprint_suggestion.py +110 -0
  41. swarm/blueprints/unapologetic_press/blueprint_unapologetic_press.py +298 -0
  42. swarm/blueprints/whiskeytango_foxtrot/__init__.py +0 -0
  43. swarm/blueprints/whiskeytango_foxtrot/apps.py +11 -0
  44. swarm/blueprints/whiskeytango_foxtrot/blueprint_whiskeytango_foxtrot.py +256 -0
  45. swarm/extensions/blueprint/__init__.py +30 -15
  46. swarm/extensions/blueprint/agent_utils.py +16 -40
  47. swarm/extensions/blueprint/blueprint_base.py +141 -543
  48. swarm/extensions/blueprint/blueprint_discovery.py +112 -98
  49. swarm/extensions/blueprint/cli_handler.py +185 -0
  50. swarm/extensions/blueprint/config_loader.py +122 -0
  51. swarm/extensions/blueprint/django_utils.py +181 -79
  52. swarm/extensions/blueprint/interactive_mode.py +1 -1
  53. swarm/extensions/config/config_loader.py +83 -200
  54. swarm/extensions/launchers/build_swarm_wrapper.py +0 -0
  55. swarm/extensions/launchers/swarm_cli.py +199 -287
  56. swarm/llm/chat_completion.py +26 -55
  57. swarm/management/__init__.py +0 -0
  58. swarm/management/commands/__init__.py +0 -0
  59. swarm/management/commands/runserver.py +58 -0
  60. swarm/permissions.py +38 -0
  61. swarm/serializers.py +96 -5
  62. swarm/settings.py +95 -110
  63. swarm/static/contrib/fonts/fontawesome-webfont.ttf +7 -0
  64. swarm/static/contrib/fonts/fontawesome-webfont.woff +7 -0
  65. swarm/static/contrib/fonts/fontawesome-webfont.woff2 +7 -0
  66. swarm/static/contrib/markedjs/marked.min.js +6 -0
  67. swarm/static/contrib/tabler-icons/adjustments-horizontal.svg +27 -0
  68. swarm/static/contrib/tabler-icons/alert-triangle.svg +21 -0
  69. swarm/static/contrib/tabler-icons/archive.svg +21 -0
  70. swarm/static/contrib/tabler-icons/artboard.svg +27 -0
  71. swarm/static/contrib/tabler-icons/automatic-gearbox.svg +23 -0
  72. swarm/static/contrib/tabler-icons/box-multiple.svg +19 -0
  73. swarm/static/contrib/tabler-icons/carambola.svg +19 -0
  74. swarm/static/contrib/tabler-icons/copy.svg +20 -0
  75. swarm/static/contrib/tabler-icons/download.svg +21 -0
  76. swarm/static/contrib/tabler-icons/edit.svg +21 -0
  77. swarm/static/contrib/tabler-icons/filled/carambola.svg +13 -0
  78. swarm/static/contrib/tabler-icons/filled/paint.svg +13 -0
  79. swarm/static/contrib/tabler-icons/headset.svg +22 -0
  80. swarm/static/contrib/tabler-icons/layout-sidebar-left-collapse.svg +21 -0
  81. swarm/static/contrib/tabler-icons/layout-sidebar-left-expand.svg +21 -0
  82. swarm/static/contrib/tabler-icons/layout-sidebar-right-collapse.svg +21 -0
  83. swarm/static/contrib/tabler-icons/layout-sidebar-right-expand.svg +21 -0
  84. swarm/static/contrib/tabler-icons/message-chatbot.svg +22 -0
  85. swarm/static/contrib/tabler-icons/message-star.svg +22 -0
  86. swarm/static/contrib/tabler-icons/message-x.svg +23 -0
  87. swarm/static/contrib/tabler-icons/message.svg +21 -0
  88. swarm/static/contrib/tabler-icons/paperclip.svg +18 -0
  89. swarm/static/contrib/tabler-icons/playlist-add.svg +22 -0
  90. swarm/static/contrib/tabler-icons/robot.svg +26 -0
  91. swarm/static/contrib/tabler-icons/search.svg +19 -0
  92. swarm/static/contrib/tabler-icons/settings.svg +20 -0
  93. swarm/static/contrib/tabler-icons/thumb-down.svg +19 -0
  94. swarm/static/contrib/tabler-icons/thumb-up.svg +19 -0
  95. swarm/static/css/dropdown.css +22 -0
  96. swarm/static/htmx/htmx.min.js +0 -0
  97. swarm/static/js/dropdown.js +23 -0
  98. swarm/static/rest_mode/css/base.css +470 -0
  99. swarm/static/rest_mode/css/chat-history.css +286 -0
  100. swarm/static/rest_mode/css/chat.css +251 -0
  101. swarm/static/rest_mode/css/chatbot.css +74 -0
  102. swarm/static/rest_mode/css/chatgpt.css +62 -0
  103. swarm/static/rest_mode/css/colors/corporate.css +74 -0
  104. swarm/static/rest_mode/css/colors/pastel.css +81 -0
  105. swarm/static/rest_mode/css/colors/tropical.css +82 -0
  106. swarm/static/rest_mode/css/general.css +142 -0
  107. swarm/static/rest_mode/css/layout.css +167 -0
  108. swarm/static/rest_mode/css/layouts/messenger-layout.css +17 -0
  109. swarm/static/rest_mode/css/layouts/minimalist-layout.css +57 -0
  110. swarm/static/rest_mode/css/layouts/mobile-layout.css +8 -0
  111. swarm/static/rest_mode/css/messages.css +84 -0
  112. swarm/static/rest_mode/css/messenger.css +135 -0
  113. swarm/static/rest_mode/css/settings.css +91 -0
  114. swarm/static/rest_mode/css/simple.css +44 -0
  115. swarm/static/rest_mode/css/slack.css +58 -0
  116. swarm/static/rest_mode/css/style.css +156 -0
  117. swarm/static/rest_mode/css/theme.css +30 -0
  118. swarm/static/rest_mode/css/toast.css +40 -0
  119. swarm/static/rest_mode/js/auth.js +9 -0
  120. swarm/static/rest_mode/js/blueprint.js +41 -0
  121. swarm/static/rest_mode/js/blueprintUtils.js +12 -0
  122. swarm/static/rest_mode/js/chatLogic.js +79 -0
  123. swarm/static/rest_mode/js/debug.js +63 -0
  124. swarm/static/rest_mode/js/events.js +98 -0
  125. swarm/static/rest_mode/js/main.js +19 -0
  126. swarm/static/rest_mode/js/messages.js +264 -0
  127. swarm/static/rest_mode/js/messengerLogic.js +355 -0
  128. swarm/static/rest_mode/js/modules/apiService.js +84 -0
  129. swarm/static/rest_mode/js/modules/blueprintManager.js +162 -0
  130. swarm/static/rest_mode/js/modules/chatHistory.js +110 -0
  131. swarm/static/rest_mode/js/modules/debugLogger.js +14 -0
  132. swarm/static/rest_mode/js/modules/eventHandlers.js +107 -0
  133. swarm/static/rest_mode/js/modules/messageProcessor.js +120 -0
  134. swarm/static/rest_mode/js/modules/state.js +7 -0
  135. swarm/static/rest_mode/js/modules/userInteractions.js +29 -0
  136. swarm/static/rest_mode/js/modules/validation.js +23 -0
  137. swarm/static/rest_mode/js/rendering.js +119 -0
  138. swarm/static/rest_mode/js/settings.js +130 -0
  139. swarm/static/rest_mode/js/sidebar.js +94 -0
  140. swarm/static/rest_mode/js/simpleLogic.js +37 -0
  141. swarm/static/rest_mode/js/slackLogic.js +66 -0
  142. swarm/static/rest_mode/js/splash.js +76 -0
  143. swarm/static/rest_mode/js/theme.js +111 -0
  144. swarm/static/rest_mode/js/toast.js +36 -0
  145. swarm/static/rest_mode/js/ui.js +265 -0
  146. swarm/static/rest_mode/js/validation.js +57 -0
  147. swarm/static/rest_mode/svg/animated_spinner.svg +12 -0
  148. swarm/static/rest_mode/svg/arrow_down.svg +5 -0
  149. swarm/static/rest_mode/svg/arrow_left.svg +5 -0
  150. swarm/static/rest_mode/svg/arrow_right.svg +5 -0
  151. swarm/static/rest_mode/svg/arrow_up.svg +5 -0
  152. swarm/static/rest_mode/svg/attach.svg +8 -0
  153. swarm/static/rest_mode/svg/avatar.svg +7 -0
  154. swarm/static/rest_mode/svg/canvas.svg +6 -0
  155. swarm/static/rest_mode/svg/chat_history.svg +4 -0
  156. swarm/static/rest_mode/svg/close.svg +5 -0
  157. swarm/static/rest_mode/svg/copy.svg +4 -0
  158. swarm/static/rest_mode/svg/dark_mode.svg +3 -0
  159. swarm/static/rest_mode/svg/edit.svg +5 -0
  160. swarm/static/rest_mode/svg/layout.svg +9 -0
  161. swarm/static/rest_mode/svg/logo.svg +29 -0
  162. swarm/static/rest_mode/svg/logout.svg +5 -0
  163. swarm/static/rest_mode/svg/mobile.svg +5 -0
  164. swarm/static/rest_mode/svg/new_chat.svg +4 -0
  165. swarm/static/rest_mode/svg/not_visible.svg +5 -0
  166. swarm/static/rest_mode/svg/plus.svg +7 -0
  167. swarm/static/rest_mode/svg/run_code.svg +6 -0
  168. swarm/static/rest_mode/svg/save.svg +4 -0
  169. swarm/static/rest_mode/svg/search.svg +6 -0
  170. swarm/static/rest_mode/svg/settings.svg +4 -0
  171. swarm/static/rest_mode/svg/speaker.svg +5 -0
  172. swarm/static/rest_mode/svg/stop.svg +6 -0
  173. swarm/static/rest_mode/svg/thumbs_down.svg +3 -0
  174. swarm/static/rest_mode/svg/thumbs_up.svg +3 -0
  175. swarm/static/rest_mode/svg/toggle_off.svg +6 -0
  176. swarm/static/rest_mode/svg/toggle_on.svg +6 -0
  177. swarm/static/rest_mode/svg/trash.svg +10 -0
  178. swarm/static/rest_mode/svg/undo.svg +3 -0
  179. swarm/static/rest_mode/svg/visible.svg +8 -0
  180. swarm/static/rest_mode/svg/voice.svg +10 -0
  181. swarm/templates/account/login.html +22 -0
  182. swarm/templates/account/signup.html +32 -0
  183. swarm/templates/base.html +30 -0
  184. swarm/templates/chat.html +43 -0
  185. swarm/templates/index.html +35 -0
  186. swarm/templates/rest_mode/components/chat_sidebar.html +55 -0
  187. swarm/templates/rest_mode/components/header.html +45 -0
  188. swarm/templates/rest_mode/components/main_chat_pane.html +41 -0
  189. swarm/templates/rest_mode/components/settings_dialog.html +97 -0
  190. swarm/templates/rest_mode/components/splash_screen.html +7 -0
  191. swarm/templates/rest_mode/components/top_bar.html +28 -0
  192. swarm/templates/rest_mode/message_ui.html +50 -0
  193. swarm/templates/rest_mode/slackbot.html +30 -0
  194. swarm/templates/simple_blueprint_page.html +24 -0
  195. swarm/templates/websocket_partials/final_system_message.html +3 -0
  196. swarm/templates/websocket_partials/system_message.html +4 -0
  197. swarm/templates/websocket_partials/user_message.html +5 -0
  198. swarm/urls.py +57 -74
  199. swarm/utils/log_utils.py +63 -0
  200. swarm/views/api_views.py +48 -39
  201. swarm/views/chat_views.py +156 -70
  202. swarm/views/core_views.py +85 -90
  203. swarm/views/model_views.py +64 -121
  204. swarm/views/utils.py +65 -441
  205. open_swarm-0.1.1743070217.dist-info/METADATA +0 -258
  206. open_swarm-0.1.1743070217.dist-info/RECORD +0 -89
  207. open_swarm-0.1.1743070217.dist-info/entry_points.txt +0 -3
  208. open_swarm-0.1.1743070217.dist-info/top_level.txt +0 -1
  209. swarm/agent/agent.py +0 -49
  210. swarm/core.py +0 -326
  211. swarm/extensions/mcp/__init__.py +0 -1
  212. swarm/extensions/mcp/cache_utils.py +0 -36
  213. swarm/extensions/mcp/mcp_client.py +0 -341
  214. swarm/extensions/mcp/mcp_constants.py +0 -7
  215. swarm/extensions/mcp/mcp_tool_provider.py +0 -110
  216. swarm/types.py +0 -126
  217. {open_swarm-0.1.1743070217.dist-info → open_swarm-0.1.1743364176.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,470 @@
1
+ /* base.css - Base Styles and Variables */
2
+
3
+ /* Root Variables */
4
+ :root {
5
+ /* Light theme variables */
6
+ --bg-primary: #ffffff;
7
+ --bg-container: #f0f8ff; /* Updated to Alice Blue for pastel theme */
8
+ --bg-message-user: #add8e6; /* Light Blue */
9
+ --bg-message-assistant: #e6ffe6; /* Light Green */
10
+ --bg-message-tool: #ffe6e6; /* Light Red */
11
+ --bg-message-other: #f4f4f4;
12
+ --bg-blueprint: #fffaf0;
13
+ --bg-debug: #f5f5f5;
14
+ --text-primary: #333333; /* Dark Gray */
15
+ --text-secondary: #666666; /* Medium Gray */
16
+ --border-color: #d3d3d3; /* Light Gray */
17
+ --button-primary: #87cefa; /* Light Sky Blue */
18
+ --button-hover: #00bfff; /* Deep Sky Blue */
19
+ --logout-button-bg: #87cefa; /* Light Sky Blue */
20
+ --logout-button-hover: #00bfff; /* Deep Sky Blue */
21
+ --logo-color: #87cefa; /* Light Sky Blue */
22
+ --transition-duration: 0.3s;
23
+ }
24
+
25
+ /* Dark theme variables */
26
+ [data-theme-dark="true"] {
27
+ --bg-primary: #1a1a1a;
28
+ --bg-container: #2a2a2a;
29
+ --bg-message-user: #333333;
30
+ --bg-message-assistant: #3a3a3a;
31
+ --bg-message-tool: #2f2f2f;
32
+ --bg-message-other: #3a3a3a;
33
+ --bg-blueprint: #2a2a2a;
34
+ --bg-debug: #2a2a2a;
35
+ --text-primary: #e4e4e4;
36
+ --text-secondary: #bbbbbb;
37
+ --border-color: #444444;
38
+ --button-primary: #88c0d0;
39
+ --button-hover: #81a1c1;
40
+ --logout-button-bg: #88c0d0;
41
+ --logout-button-hover: #81a1c1;
42
+ --logo-color: #88c0d0;
43
+ }
44
+
45
+ /* Corporate theme variables */
46
+ [data-theme-color="corporate"] {
47
+ --bg-primary: #2e2e2e;
48
+ --bg-container: #3a3a3a;
49
+ --bg-message-user: #4a4a4a;
50
+ --bg-message-assistant: #555555;
51
+ --bg-message-tool: #3a3a3a;
52
+ --bg-message-other: #4a4a4a;
53
+ --bg-blueprint: #3a3a3a;
54
+ --bg-debug: #2e2e2e;
55
+ --text-primary: #f0f0f0;
56
+ --text-secondary: #cccccc;
57
+ --border-color: #555555;
58
+ --button-primary: #6c757d;
59
+ --button-hover: #5a6268;
60
+ --logout-button-bg: #6c757d;
61
+ --logout-button-hover: #5a6268;
62
+ --logo-color: #6c757d;
63
+ }
64
+
65
+ /* Reset and base styles */
66
+ * {
67
+ box-sizing: border-box;
68
+ margin: 0;
69
+ padding: 0;
70
+ }
71
+
72
+ body {
73
+ margin: 0;
74
+ padding: 0;
75
+ overflow: hidden;
76
+ }
77
+
78
+ .container {
79
+ position: relative;
80
+ display: flex;
81
+ flex-direction: row;
82
+ width: 100%;
83
+ height: 100%;
84
+ background-color: var(--bg-container);
85
+ border-radius: 8px;
86
+ overflow: hidden;
87
+ transition: all var(--transition-duration) ease;
88
+ }
89
+
90
+ /* Sidebar Reveal Buttons */
91
+ .sidebar-reveal-btn {
92
+ position: absolute;
93
+ top: 20px;
94
+ z-index: 1000;
95
+ background-color: var(--button-primary);
96
+ color: #fff;
97
+ border: none;
98
+ border-radius: 50%;
99
+ width: 40px; /* Adjusted size */
100
+ height: 40px; /* Adjusted size */
101
+ cursor: pointer;
102
+ transition: background-color var(--transition-duration) ease;
103
+ font-size: 1em; /* Adjusted font size */
104
+ display: flex;
105
+ align-items: center;
106
+ justify-content: center;
107
+ }
108
+
109
+ .sidebar-hide-btn {
110
+ position: absolute;
111
+ top: 10px;
112
+ right: 10px;
113
+ background-color: var(--button-primary);
114
+ color: #fff;
115
+ border: none;
116
+ border-radius: 50%;
117
+ width: 30px; /* Adjusted size */
118
+ height: 30px; /* Adjusted size */
119
+ cursor: pointer;
120
+ transition: background-color var(--transition-duration) ease;
121
+ font-size: 0.75em; /* Adjusted font size */
122
+ display: flex;
123
+ align-items: center;
124
+ justify-content: center;
125
+ }
126
+
127
+
128
+ /* Settings Sidebar (Right) */
129
+ .options-pane {
130
+ background-color: var(--bg-debug);
131
+ border: 2px solid var(--border-color); /* Thicker border */
132
+ border-radius: 8px;
133
+ padding: 15px;
134
+ overflow-y: auto;
135
+ flex: 1;
136
+ position: relative;
137
+ }
138
+
139
+ /* Resizable Divider */
140
+ .resizable-divider {
141
+ width: 5px;
142
+ cursor: col-resize;
143
+ background-color: transparent;
144
+ position: absolute;
145
+ top: 0;
146
+ bottom: 0;
147
+ z-index: 1001;
148
+ }
149
+
150
+ /* Ensure that the arrows inside the sidebar toggle buttons are centered */
151
+ .sidebar-reveal-btn::before,
152
+ .sidebar-hide-btn::before {
153
+ content: attr(aria-label);
154
+ display: flex;
155
+ align-items: center;
156
+ justify-content: center;
157
+ }
158
+
159
+ /* New Chat Button Styles (if applicable) */
160
+ /*.new-chat-button {
161
+ background-color: var(--button-primary);
162
+ color: #fff;
163
+ border: none;
164
+ border-radius: 50%;
165
+ width: 40px;
166
+ height: 40px;
167
+ cursor: pointer;
168
+ transition: background-color var(--transition-duration) ease;
169
+ font-size: 1.2em;
170
+ display: flex;
171
+ align-items: center;
172
+ justify-content: center;
173
+ }
174
+
175
+ .new-chat-button:hover {
176
+ background-color: var(--button-hover);
177
+ }*/
178
+
179
+ /* Ensure the splash screen doesn't persist */
180
+ .splash-screen {
181
+ position: fixed;
182
+ top: 0;
183
+ left: 0;
184
+ right: 0;
185
+ bottom: 0;
186
+ background-color: var(--bg-primary);
187
+ display: flex;
188
+ justify-content: center;
189
+ align-items: center;
190
+ z-index: 10000;
191
+ transition: opacity var(--transition-duration) ease, visibility var(--transition-duration) ease;
192
+ }
193
+
194
+ .splash-screen.fade-out {
195
+ opacity: 0;
196
+ visibility: hidden;
197
+ }
198
+
199
+ /* Additional Styles for Buttons and Inputs */
200
+ .form-container {
201
+ display: flex;
202
+ align-items: center;
203
+ padding: 10px;
204
+ border-top: 2px solid var(--border-color); /* Thicker border */
205
+ position: relative;
206
+ }
207
+
208
+ .input-button.upload-button {
209
+ background-color: var(--button-primary);
210
+ color: #fff;
211
+ border: none;
212
+ border-radius: 50%;
213
+ width: 30px;
214
+ height: 30px;
215
+ cursor: pointer;
216
+ transition: background-color var(--transition-duration) ease;
217
+ font-size: 1em;
218
+ display: flex;
219
+ align-items: center;
220
+ justify-content: center;
221
+ }
222
+
223
+ .input-button.upload-button:hover {
224
+ background-color: var(--button-hover);
225
+ }
226
+
227
+ /* Adjust input field and buttons */
228
+ #userInput {
229
+ flex: 1;
230
+ padding: 10px;
231
+ border: 2px solid var(--border-color);
232
+ border-radius: 4px;
233
+ font-size: 1em;
234
+ margin: 0 10px;
235
+ }
236
+
237
+ #voiceRecordButton {
238
+ background-color: var(--button-primary);
239
+ color: #fff;
240
+ border: none;
241
+ border-radius: 50%;
242
+ width: 30px;
243
+ height: 30px;
244
+ cursor: pointer;
245
+ transition: background-color var(--transition-duration) ease;
246
+ font-size: 1em;
247
+ display: flex;
248
+ align-items: center;
249
+ justify-content: center;
250
+ }
251
+
252
+ #voiceRecordButton:hover {
253
+ background-color: var(--button-hover);
254
+ }
255
+
256
+ #submitButton {
257
+ padding: 10px 20px;
258
+ background-color: var(--button-primary);
259
+ color: #fff;
260
+ border: none;
261
+ border-radius: 6px;
262
+ cursor: pointer;
263
+ transition: background-color var(--transition-duration) ease;
264
+ font-size: 1em;
265
+ }
266
+
267
+ #submitButton:hover {
268
+ background-color: var(--button-hover);
269
+ }
270
+
271
+ /* Debug Pane Styles */
272
+ .debug-pane {
273
+ flex: 1;
274
+ background-color: var(--bg-debug);
275
+ border: 2px solid var(--border-color);
276
+ border-radius: 8px;
277
+ padding: 15px;
278
+ overflow-y: auto;
279
+ display: none; /* Hidden by default */
280
+ position: relative;
281
+ }
282
+
283
+ .debug-active-agent {
284
+ margin-top: 10px;
285
+ padding: 10px;
286
+ background-color: var(--bg-container);
287
+ border: 2px solid var(--border-color);
288
+ border-radius: 6px;
289
+ font-weight: bold;
290
+ }
291
+
292
+ /* Toggle Container */
293
+ .toggle-container {
294
+ margin-bottom: 15px;
295
+ display: flex;
296
+ flex-direction: column;
297
+ gap: 15px;
298
+ }
299
+
300
+ /* Toggle Section */
301
+ .toggle-section {
302
+ background-color: var(--bg-container);
303
+ border: 2px solid var(--border-color);
304
+ border-radius: 8px;
305
+ padding: 10px;
306
+ cursor: pointer;
307
+ user-select: none;
308
+ transition: background-color var(--transition-duration) ease;
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: space-between;
312
+ }
313
+
314
+ .toggle-section:hover {
315
+ background-color: var(--bg-message-other);
316
+ }
317
+
318
+ .toggle-section .toggle-title {
319
+ font-size: 1.1em;
320
+ font-weight: bold;
321
+ display: flex;
322
+ align-items: center;
323
+ gap: 8px;
324
+ }
325
+
326
+ .toggle-section .toggle-content {
327
+ display: none;
328
+ flex-direction: column;
329
+ gap: 10px;
330
+ }
331
+
332
+ .toggle-section.active .toggle-content {
333
+ display: flex;
334
+ }
335
+
336
+ /* Theme Dropdown */
337
+ .theme-dropdown {
338
+ background-color: var(--bg-container);
339
+ border: 2px solid var(--border-color);
340
+ border-radius: 8px;
341
+ padding: 10px;
342
+ display: flex;
343
+ align-items: center;
344
+ gap: 8px;
345
+ }
346
+
347
+ .theme-dropdown label {
348
+ font-size: 1.1em;
349
+ font-weight: bold;
350
+ display: flex;
351
+ align-items: center;
352
+ gap: 5px;
353
+ }
354
+
355
+ .theme-dropdown select {
356
+ width: 100%;
357
+ padding: 8px;
358
+ border: 2px solid var(--border-color);
359
+ border-radius: 4px;
360
+ background-color: var(--bg-primary);
361
+ color: var(--text-primary);
362
+ font-size: 1em;
363
+ cursor: pointer;
364
+ }
365
+
366
+ /* Advanced Section */
367
+ .advanced-section {
368
+ background-color: var(--bg-container);
369
+ border: 2px solid var(--border-color);
370
+ border-radius: 8px;
371
+ padding: 10px;
372
+ display: flex;
373
+ flex-direction: column;
374
+ gap: 8px;
375
+ }
376
+
377
+ .advanced-section h3 {
378
+ font-size: 1em;
379
+ font-weight: bold;
380
+ display: flex;
381
+ align-items: center;
382
+ gap: 5px;
383
+ }
384
+
385
+ /* Logout Container */
386
+ .logout-container {
387
+ padding-top: 10px;
388
+ border-top: 2px solid var(--border-color);
389
+ text-align: center;
390
+ position: absolute;
391
+ bottom: 20px;
392
+ width: 90%;
393
+ }
394
+
395
+ /* Responsive Design for Very Small Screens */
396
+ @media (max-width: 600px) {
397
+ .container {
398
+ flex-direction: column;
399
+ height: auto;
400
+ }
401
+
402
+ .chat-pane {
403
+ /* margin: 0 0 20px 0; */
404
+ flex: 2;
405
+ }
406
+
407
+ .side-panes {
408
+ flex-direction: row;
409
+ max-width: 100%;
410
+ /* gap: 10px; */
411
+ }
412
+
413
+ /* Adjust toggle buttons position */
414
+ .sidebar-reveal-btn {
415
+ /* top: 20px;
416
+ left: 20px; */
417
+ right: auto;
418
+ }
419
+
420
+ /* Adjust theme toggle button for small screens */
421
+ .theme-toggle {
422
+ margin-bottom: 15px;
423
+ }
424
+
425
+ /* Adjust input buttons for small screens */
426
+ .input-button.upload-button {
427
+ width: 30px;
428
+ height: 30px;
429
+ position: absolute;
430
+ left: 5px;
431
+ }
432
+
433
+ #voiceRecordButton {
434
+ margin-left: 5px;
435
+ }
436
+
437
+ #submitButton {
438
+ margin-left: 5px;
439
+ }
440
+
441
+ /* Hide pulsating loader and show text in mobile */
442
+ #loadingIndicator .loader {
443
+ display: none;
444
+ }
445
+
446
+ #loadingIndicator p {
447
+ display: block;
448
+ font-size: 1em;
449
+ color: var(--text-primary);
450
+ }
451
+
452
+ /* Adjust Logout Container */
453
+ .logout-container {
454
+ bottom: 10px;
455
+ width: 80%;
456
+ }
457
+ }
458
+
459
+ /* Icon Styles */
460
+ .icon {
461
+ font-size: 1.2em;
462
+ }
463
+
464
+ .message.tool {
465
+ display: none !important;
466
+ }
467
+
468
+ .message.assistant:has(.message-text p:contains("No content")) {
469
+ display: none !important;
470
+ }