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.
- open_swarm-0.1.1743364176.dist-info/METADATA +286 -0
- open_swarm-0.1.1743364176.dist-info/RECORD +260 -0
- {open_swarm-0.1.1743070217.dist-info → open_swarm-0.1.1743364176.dist-info}/WHEEL +1 -2
- open_swarm-0.1.1743364176.dist-info/entry_points.txt +2 -0
- swarm/__init__.py +0 -2
- swarm/auth.py +53 -49
- swarm/blueprints/README.md +67 -0
- swarm/blueprints/burnt_noodles/blueprint_burnt_noodles.py +412 -0
- swarm/blueprints/chatbot/blueprint_chatbot.py +98 -0
- swarm/blueprints/chatbot/templates/chatbot/chatbot.html +33 -0
- swarm/blueprints/digitalbutlers/blueprint_digitalbutlers.py +183 -0
- swarm/blueprints/dilbot_universe/blueprint_dilbot_universe.py +285 -0
- swarm/blueprints/divine_code/__init__.py +0 -0
- swarm/blueprints/divine_code/apps.py +11 -0
- swarm/blueprints/divine_code/blueprint_divine_code.py +219 -0
- swarm/blueprints/django_chat/apps.py +6 -0
- swarm/blueprints/django_chat/blueprint_django_chat.py +84 -0
- swarm/blueprints/django_chat/templates/django_chat/django_chat_webpage.html +37 -0
- swarm/blueprints/django_chat/urls.py +8 -0
- swarm/blueprints/django_chat/views.py +32 -0
- swarm/blueprints/echocraft/blueprint_echocraft.py +44 -0
- swarm/blueprints/family_ties/apps.py +11 -0
- swarm/blueprints/family_ties/blueprint_family_ties.py +152 -0
- swarm/blueprints/family_ties/models.py +19 -0
- swarm/blueprints/family_ties/serializers.py +7 -0
- swarm/blueprints/family_ties/settings.py +16 -0
- swarm/blueprints/family_ties/urls.py +10 -0
- swarm/blueprints/family_ties/views.py +26 -0
- swarm/blueprints/flock/__init__.py +0 -0
- swarm/blueprints/gaggle/blueprint_gaggle.py +184 -0
- swarm/blueprints/gotchaman/blueprint_gotchaman.py +232 -0
- swarm/blueprints/mcp_demo/blueprint_mcp_demo.py +133 -0
- swarm/blueprints/messenger/templates/messenger/messenger.html +46 -0
- swarm/blueprints/mission_improbable/blueprint_mission_improbable.py +234 -0
- swarm/blueprints/monkai_magic/blueprint_monkai_magic.py +248 -0
- swarm/blueprints/nebula_shellz/blueprint_nebula_shellz.py +156 -0
- swarm/blueprints/omniplex/blueprint_omniplex.py +221 -0
- swarm/blueprints/rue_code/__init__.py +0 -0
- swarm/blueprints/rue_code/blueprint_rue_code.py +291 -0
- swarm/blueprints/suggestion/blueprint_suggestion.py +110 -0
- swarm/blueprints/unapologetic_press/blueprint_unapologetic_press.py +298 -0
- swarm/blueprints/whiskeytango_foxtrot/__init__.py +0 -0
- swarm/blueprints/whiskeytango_foxtrot/apps.py +11 -0
- swarm/blueprints/whiskeytango_foxtrot/blueprint_whiskeytango_foxtrot.py +256 -0
- swarm/extensions/blueprint/__init__.py +30 -15
- swarm/extensions/blueprint/agent_utils.py +16 -40
- swarm/extensions/blueprint/blueprint_base.py +141 -543
- swarm/extensions/blueprint/blueprint_discovery.py +112 -98
- swarm/extensions/blueprint/cli_handler.py +185 -0
- swarm/extensions/blueprint/config_loader.py +122 -0
- swarm/extensions/blueprint/django_utils.py +181 -79
- swarm/extensions/blueprint/interactive_mode.py +1 -1
- swarm/extensions/config/config_loader.py +83 -200
- swarm/extensions/launchers/build_swarm_wrapper.py +0 -0
- swarm/extensions/launchers/swarm_cli.py +199 -287
- swarm/llm/chat_completion.py +26 -55
- swarm/management/__init__.py +0 -0
- swarm/management/commands/__init__.py +0 -0
- swarm/management/commands/runserver.py +58 -0
- swarm/permissions.py +38 -0
- swarm/serializers.py +96 -5
- swarm/settings.py +95 -110
- swarm/static/contrib/fonts/fontawesome-webfont.ttf +7 -0
- swarm/static/contrib/fonts/fontawesome-webfont.woff +7 -0
- swarm/static/contrib/fonts/fontawesome-webfont.woff2 +7 -0
- swarm/static/contrib/markedjs/marked.min.js +6 -0
- swarm/static/contrib/tabler-icons/adjustments-horizontal.svg +27 -0
- swarm/static/contrib/tabler-icons/alert-triangle.svg +21 -0
- swarm/static/contrib/tabler-icons/archive.svg +21 -0
- swarm/static/contrib/tabler-icons/artboard.svg +27 -0
- swarm/static/contrib/tabler-icons/automatic-gearbox.svg +23 -0
- swarm/static/contrib/tabler-icons/box-multiple.svg +19 -0
- swarm/static/contrib/tabler-icons/carambola.svg +19 -0
- swarm/static/contrib/tabler-icons/copy.svg +20 -0
- swarm/static/contrib/tabler-icons/download.svg +21 -0
- swarm/static/contrib/tabler-icons/edit.svg +21 -0
- swarm/static/contrib/tabler-icons/filled/carambola.svg +13 -0
- swarm/static/contrib/tabler-icons/filled/paint.svg +13 -0
- swarm/static/contrib/tabler-icons/headset.svg +22 -0
- swarm/static/contrib/tabler-icons/layout-sidebar-left-collapse.svg +21 -0
- swarm/static/contrib/tabler-icons/layout-sidebar-left-expand.svg +21 -0
- swarm/static/contrib/tabler-icons/layout-sidebar-right-collapse.svg +21 -0
- swarm/static/contrib/tabler-icons/layout-sidebar-right-expand.svg +21 -0
- swarm/static/contrib/tabler-icons/message-chatbot.svg +22 -0
- swarm/static/contrib/tabler-icons/message-star.svg +22 -0
- swarm/static/contrib/tabler-icons/message-x.svg +23 -0
- swarm/static/contrib/tabler-icons/message.svg +21 -0
- swarm/static/contrib/tabler-icons/paperclip.svg +18 -0
- swarm/static/contrib/tabler-icons/playlist-add.svg +22 -0
- swarm/static/contrib/tabler-icons/robot.svg +26 -0
- swarm/static/contrib/tabler-icons/search.svg +19 -0
- swarm/static/contrib/tabler-icons/settings.svg +20 -0
- swarm/static/contrib/tabler-icons/thumb-down.svg +19 -0
- swarm/static/contrib/tabler-icons/thumb-up.svg +19 -0
- swarm/static/css/dropdown.css +22 -0
- swarm/static/htmx/htmx.min.js +0 -0
- swarm/static/js/dropdown.js +23 -0
- swarm/static/rest_mode/css/base.css +470 -0
- swarm/static/rest_mode/css/chat-history.css +286 -0
- swarm/static/rest_mode/css/chat.css +251 -0
- swarm/static/rest_mode/css/chatbot.css +74 -0
- swarm/static/rest_mode/css/chatgpt.css +62 -0
- swarm/static/rest_mode/css/colors/corporate.css +74 -0
- swarm/static/rest_mode/css/colors/pastel.css +81 -0
- swarm/static/rest_mode/css/colors/tropical.css +82 -0
- swarm/static/rest_mode/css/general.css +142 -0
- swarm/static/rest_mode/css/layout.css +167 -0
- swarm/static/rest_mode/css/layouts/messenger-layout.css +17 -0
- swarm/static/rest_mode/css/layouts/minimalist-layout.css +57 -0
- swarm/static/rest_mode/css/layouts/mobile-layout.css +8 -0
- swarm/static/rest_mode/css/messages.css +84 -0
- swarm/static/rest_mode/css/messenger.css +135 -0
- swarm/static/rest_mode/css/settings.css +91 -0
- swarm/static/rest_mode/css/simple.css +44 -0
- swarm/static/rest_mode/css/slack.css +58 -0
- swarm/static/rest_mode/css/style.css +156 -0
- swarm/static/rest_mode/css/theme.css +30 -0
- swarm/static/rest_mode/css/toast.css +40 -0
- swarm/static/rest_mode/js/auth.js +9 -0
- swarm/static/rest_mode/js/blueprint.js +41 -0
- swarm/static/rest_mode/js/blueprintUtils.js +12 -0
- swarm/static/rest_mode/js/chatLogic.js +79 -0
- swarm/static/rest_mode/js/debug.js +63 -0
- swarm/static/rest_mode/js/events.js +98 -0
- swarm/static/rest_mode/js/main.js +19 -0
- swarm/static/rest_mode/js/messages.js +264 -0
- swarm/static/rest_mode/js/messengerLogic.js +355 -0
- swarm/static/rest_mode/js/modules/apiService.js +84 -0
- swarm/static/rest_mode/js/modules/blueprintManager.js +162 -0
- swarm/static/rest_mode/js/modules/chatHistory.js +110 -0
- swarm/static/rest_mode/js/modules/debugLogger.js +14 -0
- swarm/static/rest_mode/js/modules/eventHandlers.js +107 -0
- swarm/static/rest_mode/js/modules/messageProcessor.js +120 -0
- swarm/static/rest_mode/js/modules/state.js +7 -0
- swarm/static/rest_mode/js/modules/userInteractions.js +29 -0
- swarm/static/rest_mode/js/modules/validation.js +23 -0
- swarm/static/rest_mode/js/rendering.js +119 -0
- swarm/static/rest_mode/js/settings.js +130 -0
- swarm/static/rest_mode/js/sidebar.js +94 -0
- swarm/static/rest_mode/js/simpleLogic.js +37 -0
- swarm/static/rest_mode/js/slackLogic.js +66 -0
- swarm/static/rest_mode/js/splash.js +76 -0
- swarm/static/rest_mode/js/theme.js +111 -0
- swarm/static/rest_mode/js/toast.js +36 -0
- swarm/static/rest_mode/js/ui.js +265 -0
- swarm/static/rest_mode/js/validation.js +57 -0
- swarm/static/rest_mode/svg/animated_spinner.svg +12 -0
- swarm/static/rest_mode/svg/arrow_down.svg +5 -0
- swarm/static/rest_mode/svg/arrow_left.svg +5 -0
- swarm/static/rest_mode/svg/arrow_right.svg +5 -0
- swarm/static/rest_mode/svg/arrow_up.svg +5 -0
- swarm/static/rest_mode/svg/attach.svg +8 -0
- swarm/static/rest_mode/svg/avatar.svg +7 -0
- swarm/static/rest_mode/svg/canvas.svg +6 -0
- swarm/static/rest_mode/svg/chat_history.svg +4 -0
- swarm/static/rest_mode/svg/close.svg +5 -0
- swarm/static/rest_mode/svg/copy.svg +4 -0
- swarm/static/rest_mode/svg/dark_mode.svg +3 -0
- swarm/static/rest_mode/svg/edit.svg +5 -0
- swarm/static/rest_mode/svg/layout.svg +9 -0
- swarm/static/rest_mode/svg/logo.svg +29 -0
- swarm/static/rest_mode/svg/logout.svg +5 -0
- swarm/static/rest_mode/svg/mobile.svg +5 -0
- swarm/static/rest_mode/svg/new_chat.svg +4 -0
- swarm/static/rest_mode/svg/not_visible.svg +5 -0
- swarm/static/rest_mode/svg/plus.svg +7 -0
- swarm/static/rest_mode/svg/run_code.svg +6 -0
- swarm/static/rest_mode/svg/save.svg +4 -0
- swarm/static/rest_mode/svg/search.svg +6 -0
- swarm/static/rest_mode/svg/settings.svg +4 -0
- swarm/static/rest_mode/svg/speaker.svg +5 -0
- swarm/static/rest_mode/svg/stop.svg +6 -0
- swarm/static/rest_mode/svg/thumbs_down.svg +3 -0
- swarm/static/rest_mode/svg/thumbs_up.svg +3 -0
- swarm/static/rest_mode/svg/toggle_off.svg +6 -0
- swarm/static/rest_mode/svg/toggle_on.svg +6 -0
- swarm/static/rest_mode/svg/trash.svg +10 -0
- swarm/static/rest_mode/svg/undo.svg +3 -0
- swarm/static/rest_mode/svg/visible.svg +8 -0
- swarm/static/rest_mode/svg/voice.svg +10 -0
- swarm/templates/account/login.html +22 -0
- swarm/templates/account/signup.html +32 -0
- swarm/templates/base.html +30 -0
- swarm/templates/chat.html +43 -0
- swarm/templates/index.html +35 -0
- swarm/templates/rest_mode/components/chat_sidebar.html +55 -0
- swarm/templates/rest_mode/components/header.html +45 -0
- swarm/templates/rest_mode/components/main_chat_pane.html +41 -0
- swarm/templates/rest_mode/components/settings_dialog.html +97 -0
- swarm/templates/rest_mode/components/splash_screen.html +7 -0
- swarm/templates/rest_mode/components/top_bar.html +28 -0
- swarm/templates/rest_mode/message_ui.html +50 -0
- swarm/templates/rest_mode/slackbot.html +30 -0
- swarm/templates/simple_blueprint_page.html +24 -0
- swarm/templates/websocket_partials/final_system_message.html +3 -0
- swarm/templates/websocket_partials/system_message.html +4 -0
- swarm/templates/websocket_partials/user_message.html +5 -0
- swarm/urls.py +57 -74
- swarm/utils/log_utils.py +63 -0
- swarm/views/api_views.py +48 -39
- swarm/views/chat_views.py +156 -70
- swarm/views/core_views.py +85 -90
- swarm/views/model_views.py +64 -121
- swarm/views/utils.py +65 -441
- open_swarm-0.1.1743070217.dist-info/METADATA +0 -258
- open_swarm-0.1.1743070217.dist-info/RECORD +0 -89
- open_swarm-0.1.1743070217.dist-info/entry_points.txt +0 -3
- open_swarm-0.1.1743070217.dist-info/top_level.txt +0 -1
- swarm/agent/agent.py +0 -49
- swarm/core.py +0 -326
- swarm/extensions/mcp/__init__.py +0 -1
- swarm/extensions/mcp/cache_utils.py +0 -36
- swarm/extensions/mcp/mcp_client.py +0 -341
- swarm/extensions/mcp/mcp_constants.py +0 -7
- swarm/extensions/mcp/mcp_tool_provider.py +0 -110
- swarm/types.py +0 -126
- {open_swarm-0.1.1743070217.dist-info → open_swarm-0.1.1743364176.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,286 @@
|
|
1
|
+
/* Chat History Component Styles */
|
2
|
+
.chat-history-pane {
|
3
|
+
background-color: var(--bg-chat-history-pane);
|
4
|
+
padding: 0;
|
5
|
+
margin: 0;
|
6
|
+
display: flex;
|
7
|
+
flex-direction: column;
|
8
|
+
height: 100%;
|
9
|
+
overflow: hidden;
|
10
|
+
flex: 0 1 auto;
|
11
|
+
border-top-left-radius: 0 !important;
|
12
|
+
}
|
13
|
+
|
14
|
+
/* Chat History Header */
|
15
|
+
.chat-history-header {
|
16
|
+
display: block;
|
17
|
+
align-items: center;
|
18
|
+
justify-content: space-between;
|
19
|
+
padding: 10px 15px;
|
20
|
+
background-color: var(--bg-chat-history-header);
|
21
|
+
border-bottom: 1px solid var(--border-color);
|
22
|
+
position: sticky;
|
23
|
+
top: 0;
|
24
|
+
z-index: 10;
|
25
|
+
}
|
26
|
+
|
27
|
+
.chat-history-header > div {
|
28
|
+
display: flex;
|
29
|
+
align-items: center;
|
30
|
+
justify-content: flex-start; /* Align buttons to the left */
|
31
|
+
gap: 10px; /* Space between buttons */
|
32
|
+
flex-wrap: nowrap; /* Prevent wrapping */
|
33
|
+
width: 100%; /* Ensure full width for horizontal layout */
|
34
|
+
}
|
35
|
+
|
36
|
+
.new-chat-button {
|
37
|
+
margin-left: auto;
|
38
|
+
font-size: 1rem;
|
39
|
+
}
|
40
|
+
|
41
|
+
/* Style for Header Buttons */
|
42
|
+
.chat-history-header .input-button {
|
43
|
+
background: none;
|
44
|
+
border: none;
|
45
|
+
cursor: pointer;
|
46
|
+
padding: 8px;
|
47
|
+
display: flex;
|
48
|
+
align-items: center;
|
49
|
+
justify-content: center;
|
50
|
+
transition: background-color 0.3s, transform 0.2s;
|
51
|
+
}
|
52
|
+
|
53
|
+
.chat-history-header .input-button:hover {
|
54
|
+
background-color: rgba(0, 0, 0, 0.2);
|
55
|
+
transform: scale(1.05);
|
56
|
+
}
|
57
|
+
|
58
|
+
.chat-history-header .input-button .icon {
|
59
|
+
width: 20px;
|
60
|
+
height: 20px;
|
61
|
+
filter: var(--icon-filter);
|
62
|
+
transition: filter 0.3s ease;
|
63
|
+
}
|
64
|
+
|
65
|
+
/* Chat History List */
|
66
|
+
.chat-history-list {
|
67
|
+
list-style: none;
|
68
|
+
padding: 10px 15px;
|
69
|
+
margin: 0;
|
70
|
+
overflow-y: auto;
|
71
|
+
flex: 1;
|
72
|
+
}
|
73
|
+
|
74
|
+
/* Chat History Items */
|
75
|
+
.chat-history-item {
|
76
|
+
position: relative;
|
77
|
+
padding: 5px 8px;
|
78
|
+
margin-bottom: 5px;
|
79
|
+
border: none;
|
80
|
+
font-size: 0.9rem;
|
81
|
+
font-weight: normal;
|
82
|
+
transition: background-color var(--transition-duration);
|
83
|
+
}
|
84
|
+
|
85
|
+
.chat-history-item:hover {
|
86
|
+
background-color: rgba(255, 255, 255, 0.1);
|
87
|
+
cursor: pointer;
|
88
|
+
}
|
89
|
+
|
90
|
+
/* Details and Summaries */
|
91
|
+
.chat-history-pane details {
|
92
|
+
padding: 5px 8px;
|
93
|
+
cursor: pointer;
|
94
|
+
transition: background-color var(--transition-duration);
|
95
|
+
background-color: var(--bg-chat-history-pane);
|
96
|
+
}
|
97
|
+
|
98
|
+
.chat-history-pane details[open] {
|
99
|
+
background-color: var(--bg-message-other);
|
100
|
+
}
|
101
|
+
|
102
|
+
.chat-history-pane summary {
|
103
|
+
font-weight: normal;
|
104
|
+
font-size: 0.95rem;
|
105
|
+
cursor: pointer;
|
106
|
+
list-style: none;
|
107
|
+
display: block;
|
108
|
+
position: relative;
|
109
|
+
}
|
110
|
+
|
111
|
+
/* Hide Default Disclosure Triangle */
|
112
|
+
.chat-history-pane summary::-webkit-details-marker {
|
113
|
+
display: none;
|
114
|
+
}
|
115
|
+
|
116
|
+
.chat-history-pane summary::marker {
|
117
|
+
display: none;
|
118
|
+
}
|
119
|
+
|
120
|
+
/* Custom Indicator (Down/Up Arrow) */
|
121
|
+
.chat-history-pane summary::after {
|
122
|
+
content: '▼';
|
123
|
+
position: absolute;
|
124
|
+
right: 0;
|
125
|
+
top: 50%;
|
126
|
+
transform: translateY(-50%);
|
127
|
+
transition: transform 0.3s ease;
|
128
|
+
font-size: 0.8rem;
|
129
|
+
color: var(--text-secondary);
|
130
|
+
}
|
131
|
+
|
132
|
+
.chat-history-pane details[open] summary::after {
|
133
|
+
content: '▲';
|
134
|
+
}
|
135
|
+
|
136
|
+
/* Default State: Hide Details Content */
|
137
|
+
.chat-history-pane details:not([open]) > *:not(summary) {
|
138
|
+
display: none;
|
139
|
+
}
|
140
|
+
|
141
|
+
/* Open State: Show Details Content */
|
142
|
+
.chat-history-pane details[open] > *:not(summary) {
|
143
|
+
display: block;
|
144
|
+
}
|
145
|
+
|
146
|
+
.chat-history-pane details {
|
147
|
+
overflow: hidden;
|
148
|
+
transition: max-height 0.3s ease;
|
149
|
+
}
|
150
|
+
|
151
|
+
/* Chat History Text */
|
152
|
+
.chat-history-pane p {
|
153
|
+
margin: 10px 0 0;
|
154
|
+
color: var(--text-secondary);
|
155
|
+
font-size: 0.85rem;
|
156
|
+
}
|
157
|
+
|
158
|
+
/* Chat Item Time and Tools */
|
159
|
+
.chat-item-time {
|
160
|
+
font-size: 12px;
|
161
|
+
color: #888;
|
162
|
+
}
|
163
|
+
|
164
|
+
/* Updated: Chat Item Tools */
|
165
|
+
.chat-item-tools {
|
166
|
+
display: flex;
|
167
|
+
align-items: center;
|
168
|
+
gap: 10px;
|
169
|
+
margin-top: 5px;
|
170
|
+
}
|
171
|
+
|
172
|
+
/* Updated: Container for Tag Buttons and Delete Button */
|
173
|
+
.chat-item-tags {
|
174
|
+
display: flex;
|
175
|
+
gap: 8px;
|
176
|
+
width: 100%;
|
177
|
+
align-items: center;
|
178
|
+
}
|
179
|
+
|
180
|
+
/* New Addition: Push Delete Button to the Right */
|
181
|
+
.chat-item-tags .delete-chat-btn {
|
182
|
+
margin-left: auto;
|
183
|
+
}
|
184
|
+
|
185
|
+
/* Style for Each Tag Button */
|
186
|
+
.tag-button {
|
187
|
+
background-color: #e0e0e0;
|
188
|
+
border: none;
|
189
|
+
border-radius: 999px;
|
190
|
+
padding: 4px 12px;
|
191
|
+
font-size: 0.85rem;
|
192
|
+
cursor: pointer;
|
193
|
+
transition: background-color 0.3s, transform 0.2s;
|
194
|
+
color: #333;
|
195
|
+
}
|
196
|
+
|
197
|
+
.tag-button:hover {
|
198
|
+
background-color: #c0c0c0;
|
199
|
+
transform: translateY(-2px);
|
200
|
+
}
|
201
|
+
|
202
|
+
/* Style for Add Tag Button */
|
203
|
+
.add-tag-btn {
|
204
|
+
background-color: #d0d0d0;
|
205
|
+
}
|
206
|
+
|
207
|
+
/* Ensure the delete button remains on the right */
|
208
|
+
.toolbar-btn.delete-chat-btn {
|
209
|
+
background: none;
|
210
|
+
border: none;
|
211
|
+
cursor: pointer;
|
212
|
+
padding: 5px;
|
213
|
+
display: flex;
|
214
|
+
align-items: center;
|
215
|
+
justify-content: center;
|
216
|
+
transition: opacity 0.3s ease, transform 0.3s ease;
|
217
|
+
}
|
218
|
+
|
219
|
+
.toolbar-btn.delete-chat-btn .trash-icon {
|
220
|
+
filter: var(--icon-filter);
|
221
|
+
transition: filter 0.3s ease;
|
222
|
+
}
|
223
|
+
|
224
|
+
.toolbar-btn.delete-chat-btn:hover {
|
225
|
+
opacity: 1;
|
226
|
+
transform: scale(1.1);
|
227
|
+
}
|
228
|
+
|
229
|
+
/* Read More Link */
|
230
|
+
.read-more {
|
231
|
+
color: var(--button-primary);
|
232
|
+
text-decoration: underline;
|
233
|
+
cursor: pointer;
|
234
|
+
}
|
235
|
+
|
236
|
+
/* Responsive Design for Small Screens */
|
237
|
+
@media (max-width: 600px) {
|
238
|
+
.chat-history-pane {
|
239
|
+
flex: 1;
|
240
|
+
width: 100%;
|
241
|
+
}
|
242
|
+
|
243
|
+
.side-panes {
|
244
|
+
flex-direction: column;
|
245
|
+
max-width: 100%;
|
246
|
+
gap: 10px;
|
247
|
+
}
|
248
|
+
|
249
|
+
.chat-item-tags {
|
250
|
+
flex-wrap: wrap;
|
251
|
+
}
|
252
|
+
|
253
|
+
.chat-item-tools {
|
254
|
+
flex-direction: column;
|
255
|
+
align-items: flex-start;
|
256
|
+
}
|
257
|
+
|
258
|
+
.toolbar-btn.delete-chat-btn {
|
259
|
+
margin-top: 5px;
|
260
|
+
}
|
261
|
+
|
262
|
+
.chat-history-pane summary::after {
|
263
|
+
font-size: 0.7rem;
|
264
|
+
}
|
265
|
+
|
266
|
+
.chat-history-header .input-button {
|
267
|
+
padding: 6px;
|
268
|
+
}
|
269
|
+
|
270
|
+
.chat-history-header .input-button .icon {
|
271
|
+
width: 18px;
|
272
|
+
height: 18px;
|
273
|
+
}
|
274
|
+
}
|
275
|
+
|
276
|
+
/* CSS Variables for Theming */
|
277
|
+
:root {
|
278
|
+
--bg-chat-history-pane: #050505;
|
279
|
+
--border-color: #888888;
|
280
|
+
--text-secondary: #555555;
|
281
|
+
--bg-message-other: #999999;
|
282
|
+
--icon-color: #007bff;
|
283
|
+
--button-primary: #007bff;
|
284
|
+
--transition-duration: 0.3s;
|
285
|
+
--icon-filter: none;
|
286
|
+
}
|
@@ -0,0 +1,251 @@
|
|
1
|
+
/* General Form Container Styling */
|
2
|
+
.form-container {
|
3
|
+
display: flex;
|
4
|
+
flex-direction: column; /* Stack rows vertically */
|
5
|
+
align-items: stretch; /* Full-width rows */
|
6
|
+
gap: 5px; /* Space between rows */
|
7
|
+
width: 100%; /* Full width of parent */
|
8
|
+
padding: 10px;
|
9
|
+
border-radius: 8px;
|
10
|
+
box-sizing: border-box;
|
11
|
+
}
|
12
|
+
|
13
|
+
/* Input and Submit Button Row */
|
14
|
+
.send-container {
|
15
|
+
display: flex;
|
16
|
+
align-items: stretch; /* Ensure button matches input height */
|
17
|
+
width: 100%;
|
18
|
+
margin-bottom: 5px; /* Space below this row */
|
19
|
+
position: relative; /* Allow absolute positioning for dropdown */
|
20
|
+
border-radius: 20px; /* Match rounded corners */
|
21
|
+
overflow: hidden; /* Ensure elements visually align with rounded corners */
|
22
|
+
}
|
23
|
+
|
24
|
+
/* Input Field Styling */
|
25
|
+
.rounded-input {
|
26
|
+
flex-grow: 1; /* Take available space */
|
27
|
+
/* padding: 10px 15px; */
|
28
|
+
border: none; /* Remove internal border */
|
29
|
+
border-radius: 0; /* Reset radius to align with container */
|
30
|
+
outline: none;
|
31
|
+
box-sizing: border-box;
|
32
|
+
font-size: 18px;
|
33
|
+
margin: 0;
|
34
|
+
width: 100%;
|
35
|
+
color: var(--text-primary); /* Match app theme */
|
36
|
+
background-color: var(--bg-secondary); /* Match app theme */
|
37
|
+
}
|
38
|
+
|
39
|
+
/* Submit Button Styling */
|
40
|
+
.half-cut-button {
|
41
|
+
padding: 0 20px;
|
42
|
+
background-color: #707070;
|
43
|
+
color: white;
|
44
|
+
border: none;
|
45
|
+
border-radius: 0; /* Reset radius */
|
46
|
+
cursor: pointer;
|
47
|
+
font-size: 16px;
|
48
|
+
font-weight: bold;
|
49
|
+
white-space: nowrap;
|
50
|
+
display: flex;
|
51
|
+
align-items: center;
|
52
|
+
justify-content: center;
|
53
|
+
height: auto;
|
54
|
+
transition: background-color 0.3s ease;
|
55
|
+
margin: 0;
|
56
|
+
}
|
57
|
+
|
58
|
+
/* Adjusted Rounded Corners */
|
59
|
+
.send-container .rounded-input {
|
60
|
+
border-radius: 20px 0 0 20px; /* Rounded corners only on the left */
|
61
|
+
}
|
62
|
+
|
63
|
+
.send-container .half-cut-button {
|
64
|
+
border-radius: 0 20px 20px 0; /* Rounded corners only on the right */
|
65
|
+
}
|
66
|
+
|
67
|
+
.half-cut-button:hover {
|
68
|
+
background-color: #505050;
|
69
|
+
}
|
70
|
+
|
71
|
+
/* Dropdown and Buttons Group */
|
72
|
+
.dropdown-buttons-container {
|
73
|
+
display: flex;
|
74
|
+
align-items: stretch; /* Ensure items are vertically aligned */
|
75
|
+
gap: 10px; /* Space between dropdown and buttons */
|
76
|
+
border: 2px solid var(--border-color);
|
77
|
+
border-radius: 20px; /* Rounded corners for entire group */
|
78
|
+
padding: 5px; /* Internal spacing */
|
79
|
+
box-sizing: border-box;
|
80
|
+
width: 99%;
|
81
|
+
margin-left: 10px; /* Adjust value to control the shift */
|
82
|
+
}
|
83
|
+
|
84
|
+
/* Dropdown Styling */
|
85
|
+
.blueprint-dropdown {
|
86
|
+
flex-grow: 1; /* Take available space */
|
87
|
+
border: none; /* Remove internal border */
|
88
|
+
background-color: var(--border-color);
|
89
|
+
border-radius: 20px; /* Match group corners */
|
90
|
+
outline: none;
|
91
|
+
padding: 10px;
|
92
|
+
font-size: 14px;
|
93
|
+
color: var(--text-primary);
|
94
|
+
background-color: transparent; /* Match container background */
|
95
|
+
appearance: none; /* Remove default dropdown arrow styling */
|
96
|
+
}
|
97
|
+
|
98
|
+
/* Buttons in Dropdown Group */
|
99
|
+
.input-button {
|
100
|
+
background-color: var(--button-primary);
|
101
|
+
border: none;
|
102
|
+
padding: 10px;
|
103
|
+
border-radius: 4px;
|
104
|
+
cursor: pointer;
|
105
|
+
display: flex;
|
106
|
+
align-items: center;
|
107
|
+
justify-content: center;
|
108
|
+
transition: background-color 0.3s ease;
|
109
|
+
margin-top: 2px;
|
110
|
+
margin-right: 6px;
|
111
|
+
}
|
112
|
+
|
113
|
+
.button-row {
|
114
|
+
display: flex; /* Use flexbox layout */
|
115
|
+
gap: 3px; /* Add space between buttons */
|
116
|
+
border-radius: 2;
|
117
|
+
align-items: center; /* Center vertically */
|
118
|
+
justify-content: start; /* Align buttons to the left (or use center/end as needed) */
|
119
|
+
flex-wrap: wrap; /* Allow buttons to wrap if the container width is too small */
|
120
|
+
}
|
121
|
+
|
122
|
+
.input-button-subtle {
|
123
|
+
padding: 8px 12px; /* Add padding */
|
124
|
+
font-size: 1rem; /* Ensure consistent size */
|
125
|
+
cursor: pointer; /* Pointer on hover */
|
126
|
+
transition: background-color 0.3s ease; /* Smooth hover effect */
|
127
|
+
background-color: #6c757d; /* Grey background */
|
128
|
+
border: none;
|
129
|
+
/* border-radius: 4px; */
|
130
|
+
cursor: pointer;
|
131
|
+
display: flex;
|
132
|
+
align-items: center;
|
133
|
+
justify-content: center;
|
134
|
+
transition: background-color 0.3s ease;
|
135
|
+
/* margin-top: 2px; */
|
136
|
+
/* margin-right: 6px; */
|
137
|
+
}
|
138
|
+
|
139
|
+
.input-button-subtle:hover {
|
140
|
+
background-color: #007bff; /* Blue on hover */
|
141
|
+
}
|
142
|
+
|
143
|
+
.input-button-subtle img {
|
144
|
+
width: 1.3em;
|
145
|
+
height: 1.3em;
|
146
|
+
}
|
147
|
+
|
148
|
+
.input-button img {
|
149
|
+
width: 1.5em;
|
150
|
+
height: 1.5em;
|
151
|
+
}
|
152
|
+
|
153
|
+
.input-button:hover {
|
154
|
+
background-color: var(--button-hover-bg);
|
155
|
+
}
|
156
|
+
|
157
|
+
/* Hover Effects */
|
158
|
+
.half-cut-button:hover,
|
159
|
+
.input-button:hover {
|
160
|
+
background-color: #505050;
|
161
|
+
color: #fff;
|
162
|
+
}
|
163
|
+
|
164
|
+
/* Quick Prompts Styling */
|
165
|
+
.quick-prompts-container {
|
166
|
+
display: flex;
|
167
|
+
flex-wrap: wrap; /* Allow wrapping */
|
168
|
+
gap: 10px; /* Space between quick prompts */
|
169
|
+
margin: 10px 0; /* Vertical spacing */
|
170
|
+
justify-content: start; /* Align prompts to the left */
|
171
|
+
}
|
172
|
+
|
173
|
+
.quick-prompt-button {
|
174
|
+
background-color: var(--button-primary);
|
175
|
+
color: white;
|
176
|
+
border: none;
|
177
|
+
border-radius: 5px;
|
178
|
+
padding: 5px 10px;
|
179
|
+
font-size: 0.85rem;
|
180
|
+
cursor: pointer;
|
181
|
+
transition: background-color 0.2s ease;
|
182
|
+
}
|
183
|
+
|
184
|
+
.quick-prompt-button:hover {
|
185
|
+
background-color: var(--button-hover-bg);
|
186
|
+
}
|
187
|
+
|
188
|
+
.message {
|
189
|
+
position: relative;
|
190
|
+
padding: 10px;
|
191
|
+
margin: 5px 0;
|
192
|
+
background-color: #f9f9f9;
|
193
|
+
border-radius: 5px;
|
194
|
+
transition: background-color 0.2s, height 0.3s ease;
|
195
|
+
overflow: hidden; /* Ensure toolbar doesn’t overflow the container */
|
196
|
+
}
|
197
|
+
|
198
|
+
.message-toolbar {
|
199
|
+
position: relative; /* Allow the toolbar to expand the container */
|
200
|
+
height: 0; /* Hidden initially */
|
201
|
+
overflow: hidden; /* Hide contents when collapsed */
|
202
|
+
display: flex;
|
203
|
+
gap: 5px;
|
204
|
+
opacity: 0;
|
205
|
+
transition: height 0.3s ease, opacity 0.3s ease;
|
206
|
+
}
|
207
|
+
|
208
|
+
.message:hover .message-toolbar {
|
209
|
+
height: 50px; /* Adjust to the desired toolbar height */
|
210
|
+
opacity: 1;
|
211
|
+
}
|
212
|
+
|
213
|
+
.message-toolbar .toolbar-btn {
|
214
|
+
flex: 1;
|
215
|
+
opacity: 0.3; /* Slightly visible by default */
|
216
|
+
visibility: visible; /* Ensure buttons remain interactable */
|
217
|
+
background: none;
|
218
|
+
border: none;
|
219
|
+
padding: 5px;
|
220
|
+
cursor: pointer;
|
221
|
+
display: flex;
|
222
|
+
align-items: center;
|
223
|
+
justify-content: center;
|
224
|
+
transition: opacity 0.3s ease, transform 0.3s ease;
|
225
|
+
}
|
226
|
+
.toggle-chat-button {
|
227
|
+
background-color: #6c757d; /* Grey */
|
228
|
+
color: #fff;
|
229
|
+
border: none;
|
230
|
+
border-radius: 4px;
|
231
|
+
cursor: pointer;
|
232
|
+
display: flex;
|
233
|
+
align-items: center;
|
234
|
+
justify-content: center;
|
235
|
+
transition: background-color 0.3s ease;
|
236
|
+
margin-top: 2px;
|
237
|
+
margin-right: 6px;
|
238
|
+
}
|
239
|
+
|
240
|
+
.toggle-chat-button:hover {
|
241
|
+
background-color: #007bff; /* Blue on hover */
|
242
|
+
}
|
243
|
+
|
244
|
+
.message-toolbar .toolbar-btn:hover {
|
245
|
+
opacity: 1; /* Fully visible on hover */
|
246
|
+
transform: scale(1.1); /* Slight zoom-in effect */
|
247
|
+
}
|
248
|
+
|
249
|
+
.message-toolbar .toolbar-gap {
|
250
|
+
width: 14px; /* Gap size between button groups */
|
251
|
+
}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
.chatbot-input-container {
|
2
|
+
display: flex;
|
3
|
+
flex-direction: column;
|
4
|
+
padding: 10px;
|
5
|
+
background: #2F2F2F;
|
6
|
+
border-radius: 10px;
|
7
|
+
margin: 10px;
|
8
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
9
|
+
}
|
10
|
+
.chatbot-input {
|
11
|
+
width: 100%;
|
12
|
+
padding: 12px 15px;
|
13
|
+
font-size: 16px;
|
14
|
+
border: none;
|
15
|
+
border-radius: 5px;
|
16
|
+
background: #3F3F3F;
|
17
|
+
color: #D3D3D3;
|
18
|
+
margin-bottom: 8px;
|
19
|
+
outline: none;
|
20
|
+
}
|
21
|
+
.chatbot-input::placeholder {
|
22
|
+
color: #A0A0A0;
|
23
|
+
}
|
24
|
+
.input-actions {
|
25
|
+
display: flex;
|
26
|
+
justify-content: space-between;
|
27
|
+
align-items: center;
|
28
|
+
flex-wrap: wrap;
|
29
|
+
gap: 5px;
|
30
|
+
}
|
31
|
+
.blueprint-dropdown {
|
32
|
+
padding: 8px;
|
33
|
+
border-radius: 5px;
|
34
|
+
background: #3F3F3F;
|
35
|
+
color: #D3D3D3;
|
36
|
+
border: none;
|
37
|
+
margin-right: 5px;
|
38
|
+
max-width: 150px;
|
39
|
+
}
|
40
|
+
.mode-button {
|
41
|
+
background: none;
|
42
|
+
border: none;
|
43
|
+
padding: 8px;
|
44
|
+
cursor: pointer;
|
45
|
+
color: #A0A0A0;
|
46
|
+
transition: color 0.2s;
|
47
|
+
}
|
48
|
+
.mode-button img {
|
49
|
+
width: 20px;
|
50
|
+
height: 20px;
|
51
|
+
filter: invert(70%) sepia(10%) hue-rotate(180deg);
|
52
|
+
}
|
53
|
+
.mode-button:hover {
|
54
|
+
color: #D3D3D3;
|
55
|
+
}
|
56
|
+
.mode-button:hover img {
|
57
|
+
filter: invert(90%) sepia(20%) hue-rotate(180deg);
|
58
|
+
}
|
59
|
+
@media (max-width: 600px) {
|
60
|
+
.input-actions {
|
61
|
+
flex-direction: column;
|
62
|
+
align-items: flex-start;
|
63
|
+
}
|
64
|
+
.blueprint-dropdown {
|
65
|
+
width: 100%;
|
66
|
+
margin-bottom: 5px;
|
67
|
+
}
|
68
|
+
.mode-button {
|
69
|
+
padding: 5px;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
.chat-history-pane {
|
73
|
+
border-top-left-radius: 0 !important;
|
74
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
.container[data-theme-layout="chatgpt-layout"] {
|
2
|
+
display: flex;
|
3
|
+
height: 100vh;
|
4
|
+
}
|
5
|
+
.blueprint-sidebar {
|
6
|
+
width: 250px;
|
7
|
+
background: #f4f4f4;
|
8
|
+
padding: 10px;
|
9
|
+
border-right: 1px solid #ddd;
|
10
|
+
}
|
11
|
+
.sidebar-header {
|
12
|
+
display: flex;
|
13
|
+
justify-content: space-between;
|
14
|
+
}
|
15
|
+
.blueprint-list {
|
16
|
+
list-style: none;
|
17
|
+
padding: 0;
|
18
|
+
}
|
19
|
+
.blueprint-list li {
|
20
|
+
padding: 10px;
|
21
|
+
cursor: pointer;
|
22
|
+
}
|
23
|
+
.blueprint-list li:hover {
|
24
|
+
background: #e0e0e0;
|
25
|
+
}
|
26
|
+
.main-pane {
|
27
|
+
flex-grow: 1;
|
28
|
+
display: flex;
|
29
|
+
flex-direction: column;
|
30
|
+
}
|
31
|
+
.message-container {
|
32
|
+
flex-grow: 1;
|
33
|
+
overflow-y: auto;
|
34
|
+
padding: 20px;
|
35
|
+
}
|
36
|
+
.user-message {
|
37
|
+
background: #DCF8C6;
|
38
|
+
padding: 10px;
|
39
|
+
margin: 5px 0;
|
40
|
+
border-radius: 5px;
|
41
|
+
align-self: flex-end;
|
42
|
+
max-width: 70%;
|
43
|
+
}
|
44
|
+
.assistant-message {
|
45
|
+
background: #E6E6E6;
|
46
|
+
padding: 10px;
|
47
|
+
margin: 5px 0;
|
48
|
+
border-radius: 5px;
|
49
|
+
align-self: flex-start;
|
50
|
+
max-width: 70%;
|
51
|
+
}
|
52
|
+
.error-message {
|
53
|
+
background: #F8D7DA;
|
54
|
+
color: #721C24;
|
55
|
+
padding: 10px;
|
56
|
+
margin: 5px 0;
|
57
|
+
border-radius: 5px;
|
58
|
+
}
|
59
|
+
.send-container {
|
60
|
+
padding: 10px;
|
61
|
+
border-top: 1px solid #ddd;
|
62
|
+
}
|